@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--ink:#2b2034;--muted:#685d70;--cream:#faf7fc;--white:#fff;--purple:#5b2e83;--lavender:#d9b9f1;--line:#e7dfed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:16px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Outfit,system-ui,sans-serif;line-height:1.12}h1{letter-spacing:-.045em;font-size:clamp(2.4rem,5vw,4.7rem)}h2{font-size:clamp(1.6rem,3vw,2.5rem)}a{color:inherit}.header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:82px;padding:0 max(24px,50vw - 600px);display:flex}.brand{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand strong{letter-spacing:-.04em;font:700 22px Outfit;display:block}.brand small{letter-spacing:.04em;color:#796c82;font-size:11px;display:block}.mark{background:var(--purple);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;font:800 32px Outfit;display:grid;position:relative}.mark span{color:var(--lavender);font-size:15px;position:absolute;top:2px;right:6px}.header nav{align-items:center;gap:24px;display:flex}.header nav button{color:var(--ink);background:0 0;border:0;padding:10px 0;font-size:14px;font-weight:700}.header nav button:last-child{border:1px solid var(--purple);border-radius:999px;padding:10px 18px}.banner{color:#5c4818;text-align:center;background:#fff6d7;padding:12px 24px}.banner button{color:inherit;background:0 0;border:0;text-decoration:underline}.alert,.notice{z-index:20;border-radius:12px;align-items:center;gap:20px;max-width:400px;padding:15px 18px;display:flex;position:fixed;top:94px;right:20px;box-shadow:0 12px 34px #33204724}.alert{color:#963b2c;background:#fff0ed}.notice{color:#5b2e83;background:#f1e8f8}.alert button,.notice button{color:inherit;background:0 0;border:0}.hero{grid-template-columns:1.05fr .95fr;align-items:stretch;max-width:1300px;min-height:620px;margin:auto;display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:96px 28px 82px max(28px,50vw - 600px);display:flex}.eyebrow{letter-spacing:.14em;color:#73548c;margin-bottom:20px;font-size:12px;font-weight:800}.hero h1{max-width:640px;margin-bottom:24px}.hero h1 em{color:#78489c;font-style:normal;position:relative}.hero-copy>p{color:#61536c;max-width:560px;font-size:20px;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.button{border:1px solid var(--purple);border-radius:9px;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:13px 20px;font-weight:800;transition:transform .2s,background .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.primary{background:var(--purple);color:#fff}.secondary{color:var(--purple);background:0 0}.hero-note{color:#796c82;margin-top:47px;font-size:13px}.hero-note:first-letter{color:#aa70c4}.hero-art{background:#5b2e83;min-height:590px;position:relative;overflow:hidden}.ring{border:1px solid #b489d4;border-radius:50%;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.ring.one{width:330px;height:330px}.ring.two{border-color:#8758a9;width:515px;height:515px}.art-center{background:var(--purple);color:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:188px;height:188px;font:800 126px/.8 Outfit;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 28px 55px #5b2e8333}.art-center span{letter-spacing:.24em;margin-top:16px;font:700 13px Outfit}.orb{border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 14px 28px #5b2e831e}.orb.a{color:#6c3a8c;background:#e9d7f4;width:80px;height:80px;font-size:34px;top:18%;left:18%}.orb.b{color:#9b639e;background:#fff;width:96px;height:96px;font-size:38px;top:20%;right:12%}.orb.c{color:#b890cf;background:#fff;width:95px;height:95px;font-size:37px;bottom:20%;left:10%}.orb.d{color:#6f4690;background:#dec8ed;width:76px;height:76px;font-size:30px;bottom:18%;right:15%}.art-caption{text-align:right;color:#f8efff;font:500 16px/1.35 Outfit;position:absolute;bottom:24px;right:30px}.how{background:#fff;padding:90px max(28px,50vw - 600px) 100px}.how h2{max-width:600px}.how-grid{grid-template-columns:repeat(3,1fr);gap:35px;margin-top:44px;display:grid}.how article{border-top:2px solid #e5d8ed;padding-top:25px}.how article>span{color:#896ba0;font:700 14px Outfit}.how h3{margin:28px 0 10px;font-size:23px}.how p{color:var(--muted);line-height:1.6}.flow,.auth,.results{max-width:1080px;min-height:70vh;margin:0 auto;padding:44px 24px 90px}.back{color:#6b5977;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:35px;padding:0;font-weight:700;display:flex}.flow-head{text-align:center;max-width:720px;margin:auto}.flow-head h1,.auth h1,.results h1{margin-bottom:12px;font-size:clamp(2.2rem,4vw,3.5rem)}.flow-head p,.results-head p,.auth-card>p{color:var(--muted);line-height:1.6}.progress{gap:7px;max-width:460px;margin:30px auto 12px;display:flex}.progress span{background:#e5daeb;border-radius:99px;flex:1;height:7px}.progress span.active{background:var(--purple)}.flow-head small{letter-spacing:.1em;color:#826f8a;font-weight:800}.form-card{border:1px solid var(--line);background:#fff;border-radius:20px;max-width:810px;margin:38px auto 0;padding:clamp(24px,4vw,48px);box-shadow:0 20px 60px #39214a0b}.form-card h3{margin-bottom:7px;font-size:26px}.hint{color:var(--muted);line-height:1.55}.fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{color:var(--ink);margin-bottom:20px;font-size:14px;font-weight:700;display:block}.field input,.field textarea,.filter select{width:100%;color:var(--ink);background:#fdfbff;border:1px solid #d9cbe1;border-radius:9px;outline-color:#8e5aae;min-height:48px;margin-top:9px;padding:13px 14px;display:block}.field textarea{resize:vertical;line-height:1.5}.field small{color:var(--muted);font-weight:400}.chips{flex-wrap:wrap;gap:9px;margin:20px 0;display:flex}.chips button{color:#56356d;background:#fff;border:1px solid #d6c7df;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700}.chips button.selected{color:#563176;background:#efe3f7;border-color:#8050a4}.subhead{margin-top:37px!important}.subhead small{color:var(--muted);font:500 14px DM Sans}.family-group{border-top:1px solid var(--line);margin-top:24px;padding-top:19px}.family-group h4{align-items:center;gap:9px;font-size:18px;display:flex}.family-group i,.family-choices i,.family-badge i{border-radius:50%;flex:none;width:13px;height:13px;display:inline-block}.family-choices{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 30px;display:grid}.family-choices button{text-align:left;color:var(--ink);background:#fff;border:1px solid #dacbe3;border-radius:10px;align-items:center;gap:10px;padding:14px;font-weight:700;display:flex}.family-choices button.chosen{background:#f1e7f8;border-color:#75429b}.family-choices button svg{margin-left:auto}.review{border:1px solid var(--line);background:#faf5fd;border-radius:14px;padding:24px}.review span{letter-spacing:.12em;color:#806096;font-size:12px;font-weight:800}.review h3{margin:10px 0}.review p{margin-bottom:8px;line-height:1.55}.privacy{color:#573873;background:#f2e9f8;border-radius:12px;align-items:flex-start;gap:13px;margin:22px 0;padding:17px;display:flex}.privacy p{margin:0;line-height:1.5}.consent{align-items:flex-start;gap:10px;font-weight:600;line-height:1.5;display:flex}.consent input{width:20px;height:20px;accent-color:var(--purple);flex:none}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:35px;padding-top:25px;display:flex}.auth{max-width:760px}.auth-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;padding:clamp(24px,5vw,60px)}.auth-card .field{text-align:left}.auth-icon{color:#75469a;background:#eee0f7;border-radius:18px;place-items:center;width:60px;height:60px;margin:0 auto 23px;font-size:28px;display:grid}.auth-card .eyebrow{margin-bottom:10px}.auth-card>p{max-width:520px;margin:0 auto 35px}.full{width:100%}.code-entry{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.auth-card>small{color:var(--muted);margin-top:20px;display:block}.results{max-width:1200px}.results-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;display:flex}.results-head h1{margin-bottom:4px}.tabs{background:#ede5f2;border-radius:10px;padding:4px;display:flex}.tabs button{color:#765c85;background:0 0;border:0;border-radius:7px;padding:10px 15px;font-weight:800}.tabs button.active{color:var(--purple);background:#fff;box-shadow:0 2px 8px #39214a14}.filters{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:26px;padding:18px;display:grid}.filter{color:var(--muted);font-size:13px;font-weight:800}.filter select{margin-top:6px;font-size:14px}.cards{grid-template-columns:repeat(3,1fr);gap:19px;display:grid}.match-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-height:380px;padding:25px;display:flex;box-shadow:0 12px 35px #39214a08}.card-top{color:#a99bae;justify-content:space-between;align-items:center;font-weight:800;display:flex}.match-tag{text-transform:uppercase;letter-spacing:.06em;color:#643889;background:#f0e5f8;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:800}.avatar{color:#684088;background:#eadcf3;border-radius:17px;place-items:center;width:56px;height:56px;margin-top:25px;font:700 29px Outfit;display:grid}.match-card h2{margin:16px 0 4px;font-size:24px}.location{color:#84738c;margin-bottom:15px}.family-badge{background:#f7f1fa;border-radius:99px;align-items:center;gap:7px;width:max-content;max-width:100%;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.connect-on{border-top:1px solid var(--line);flex:1;margin-top:23px;padding-top:17px}.connect-on strong{text-transform:uppercase;letter-spacing:.07em;color:#846d91;font-size:12px}.connect-on p{color:var(--muted);margin:8px 0;line-height:1.5}.view-match{border:0;border-top:1px solid var(--line);color:var(--purple);background:0 0;justify-content:space-between;align-items:center;margin-top:12px;padding:15px 0 0;font-weight:800;display:flex}.empty{text-align:center;color:var(--muted);padding:80px 25px}.empty h2{color:var(--ink)}.account{gap:16px;margin-top:40px;display:flex}.account button{color:var(--purple);background:0 0;border:0;font-weight:700;text-decoration:underline}.modal-cover{z-index:30;background:#24152fa8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(100%,550px);max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 80px #0003}.modal-close{color:var(--ink);background:0 0;border:0;position:absolute;top:20px;right:20px}.modal h2{margin:25px 0 5px}.modal h3{margin-top:30px}.statement{color:var(--muted);padding:15px 0;line-height:1.55}.detail-list{flex-wrap:wrap;gap:8px;display:flex}.detail-list span{color:#62407f;background:#f2e9f8;border-radius:99px;align-items:center;gap:5px;padding:8px 10px;font-size:14px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:13px;margin:35px 0;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px}.stats strong{color:var(--purple);font:700 36px Outfit;display:block}.stats span{color:var(--muted)}.admin-families{border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 20px}.admin-families div{border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 0;display:flex}.admin-families div:last-child{border:0}footer{color:#e8d9f1;background:#2e1742;flex-wrap:wrap;align-items:center;gap:25px;padding:35px max(24px,50vw - 600px);display:flex}footer strong{color:#fff;margin-right:auto;font:700 22px Outfit}footer span{font-size:13px}@media (max-width:850px){.hero{grid-template-columns:1fr}.hero-copy{padding:70px 28px}.hero-art{min-height:420px}.cards,.filters{grid-template-columns:repeat(2,1fr)}.how-grid{gap:20px}}@media (max-width:600px){.header{height:70px;padding:0 18px}.brand strong{font-size:19px}.brand small{font-size:9px}.mark{width:40px;height:40px;font-size:28px}.header nav{gap:9px}.header nav button{font-size:12px}.header nav button:not(:last-child){display:none}.hero-copy{padding:63px 22px}.hero h1{font-size:clamp(2.9rem,13vw,4rem)}.hero-copy>p{font-size:18px}.hero-actions{flex-direction:column;display:flex}.hero-art{min-height:350px}.ring.one{width:230px;height:230px}.ring.two{width:370px;height:370px}.art-center{width:135px;height:135px;font-size:90px}.art-center span{margin-top:10px;font-size:10px}.orb.a,.orb.b,.orb.c,.orb.d{transform:scale(.7)}.how{padding:65px 24px}.how-grid,.cards{grid-template-columns:1fr}.flow,.results,.auth{padding:28px 17px 70px}.fields,.family-choices,.filters,.stats{grid-template-columns:1fr}.form-card{margin-top:24px;padding:23px}.results-head{display:block}.tabs{width:max-content;margin-top:22px}.match-card{min-height:0}.account{flex-direction:column}.modal{padding:28px 22px}footer{display:block}footer span{margin-top:10px;display:block}}.admin-panel{margin-top:38px}.admin-panel h2{margin:35px 0 15px;font-size:25px}.admin-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.admin-columns .admin-families{max-height:310px;overflow:auto}.admin-families button{color:var(--purple);background:#f2e9f8;border:1px solid #b998d1;border-radius:7px;padding:7px 10px;font-size:13px;font-weight:700}.admin-families small{color:var(--muted);margin-left:8px}.admin-families details{border-bottom:1px solid var(--line);padding:15px 0}.admin-families details:last-child{border:0}.admin-families summary{cursor:pointer;justify-content:space-between;gap:15px;list-style:none;display:flex}.admin-families details p{color:var(--muted);margin:10px 0 0}.admin-empty{color:var(--muted);padding:15px}.admin-editor{max-width:700px}.admin-editor h2{margin-top:0}.admin-editor .field select{background:#fdfbff;border:1px solid #d9cbe1;border-radius:9px;width:100%;margin-top:9px;padding:13px;display:block}.admin-editor .consent{margin:20px 0}.alert.inline{box-shadow:none;margin:15px 0;position:static}@media (max-width:650px){.admin-columns{grid-template-columns:1fr}.admin-families summary{display:block}.admin-families summary strong{margin-top:7px;display:block}}.brand-logo{border:1px solid var(--line);background:#fff;border-radius:12px;flex:none;width:45px;height:45px;display:block;overflow:hidden}.brand-logo img{object-fit:cover;object-position:center 27%;width:100%;height:100%;display:block}.hero-copy{background:#faf7fc}.hero-art{background:radial-gradient(circle at 55% 42%,#75449c 0%,#5b2e83 54%,#482265 100%);place-items:center;display:grid}.ring{opacity:.65;border-color:#c89ae5}.ring.two{border-color:#a96fc9}.logo-stage{z-index:1;background:#fff;border-radius:22px;width:min(58%,290px);padding:10px;position:relative;transform:rotate(-3deg);box-shadow:0 25px 65px #210e3a66}.logo-stage img{border-radius:14px;width:100%;height:auto;display:block}.art-caption{color:#f6e8ff;z-index:1}.foundation-logo{object-fit:cover;border-radius:8px;flex:none;width:72px;height:72px}footer>div{flex-direction:column;gap:5px;display:flex}footer strong{margin:0}footer>span:last-child{margin-left:auto}@media (max-width:600px){.brand-logo{width:39px;height:39px}.hero-art{min-height:420px}.logo-stage{width:min(52%,205px)}.foundation-logo{width:64px;height:64px}footer>span:last-child{margin-left:0}}
