:root{color-scheme:light;--ink:#062439;--pink:#ff3983;--cream:#fff9ef;--muted:#647078}
*{box-sizing:border-box}
body{margin:0;padding:52px 24px 76px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#abd8ed url('assets/clouds.png') center center/cover no-repeat;min-height:100svh}
.arch{max-width:780px;margin:auto;background:var(--cream);border-radius:390px 390px 210px 210px;padding:88px 62px 76px;text-align:center;box-shadow:0 4px 60px #6f9ab80c}
.brand{font-size:26px;letter-spacing:.34em;font-weight:700;padding-left:.34em;line-height:1.2}
.brand-rule{display:block;width:45px;height:2px;background:var(--ink);margin:22px auto 0;transform:translateX(-.17em)}
h1{font-size:clamp(44px,6.4vw,76px);line-height:1.02;letter-spacing:-.055em;margin:66px -12px 30px;font-weight:800}
h1 span{display:inline-block;margin-top:12px;color:var(--pink);background:linear-gradient(110deg,#ff654b 6%,#ff3188 86%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.intro,.promise{font-size:19px;line-height:1.6;margin:0 auto;max-width:610px;letter-spacing:-.015em}
.promise{margin-top:5px}
form{max-width:490px;margin:34px auto 0;text-align:left}
.field{margin-bottom:16px}
label{display:block;font-size:13px;font-weight:600;margin:0 19px 7px}
label span{color:var(--muted);font-weight:400}
input{display:block;width:100%;min-height:56px;padding:15px 20px;font:16px Arial,Helvetica,sans-serif;border:1.5px solid #cbd0d1;border-radius:30px;color:var(--ink);background:#fffefd;transition:box-shadow .18s,border-color .18s}
input::placeholder{color:#7d8790;opacity:1}
input:focus-visible{outline:3px solid #fe76a660;outline-offset:3px;border-color:var(--pink)}
button{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:60px;border:0;border-radius:32px;background:var(--pink);color:white;font:700 19px Arial,Helvetica,sans-serif;letter-spacing:.03em;cursor:pointer;margin-top:23px;transition:background .18s,transform .18s}
button:hover{background:#e6206b;transform:translateY(-1px)}
button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
button:disabled{cursor:wait;opacity:.7;transform:none}.arrow{font-size:30px;font-weight:400;line-height:1}
.reassurance{font-size:15px;line-height:1.65;margin:22px 0 0}.privacy{font-size:12px;color:var(--muted);margin:10px 0 0}
footer{margin-top:58px}footer .brand{font-size:24px}footer p{font-size:10px;font-weight:600;letter-spacing:.3em;line-height:1.8;margin:23px 0 0}
.honeypot,[hidden]{display:none!important}.form-error{font-size:14px;line-height:1.5;color:#a42042;margin:16px 12px 0}
.success{margin:36px auto 0;padding:28px 16px;border:1px solid #e9cbcf;border-radius:22px;max-width:490px}.success:focus{outline:none}.success-mark{font-size:32px;color:#cf2c6a}.success h2{font-size:24px;margin:12px 0}.success p{font-size:16px;line-height:1.5;margin:0}
@media(min-width:1200px){body{padding-top:64px;padding-bottom:90px;background-size:100% 100%}.arch{max-width:800px}}
@media(max-width:600px){body{padding:24px 15px 38px;background-position:center;background-size:auto 100%}.arch{padding:57px 24px 51px;border-radius:220px 220px 105px 105px}.brand{font-size:21px}.brand-rule{width:34px;margin-top:17px}h1{font-size:clamp(38px,10.7vw,61px);margin:44px -5px 24px;line-height:1.045}.intro,.promise{font-size:15px;line-height:1.6}.wide-only{display:none}form{margin-top:28px}label{margin-left:15px}input{min-height:53px;padding:14px 16px}button{min-height:56px;font-size:17px}.reassurance{font-size:13px}footer{margin-top:40px}footer .brand{font-size:20px}footer p{font-size:8px;letter-spacing:.23em}.privacy{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Compact, centered composition with a soft cloud foreground. */
body{height:100svh;min-height:600px;padding:20px 24px;display:grid;place-items:center;background-size:cover;background-position:center;isolation:isolate}
body::after{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;background:url('assets/clouds.png') center/cover no-repeat;mask-image:linear-gradient(to top,#000 0%,#000 .5%,transparent 18%),linear-gradient(to right,#000 0%,transparent 12%,transparent 88%,#000 100%);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 .5%,transparent 18%),linear-gradient(to right,#000 0%,transparent 12%,transparent 88%,#000 100%)}
.arch{width:min(620px,100%);max-width:620px;padding:30px 56px 26px;border-radius:310px 310px 160px 160px;background:#fff9eff5;position:relative;z-index:1;box-shadow:none}
.brand{font-size:16px;letter-spacing:.34em}.brand-rule{width:28px;height:1.5px;margin-top:10px}
h1{font-size:clamp(34px,4.4vh,47px);line-height:1.02;margin:23px -10px 15px;letter-spacing:-.05em}h1 span{margin-top:6px}
.intro,.promise{font-size:13px;line-height:1.5}.promise{margin-top:3px}
form{margin-top:19px;max-width:420px;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.field{margin:0}.field:has(#email){grid-column:1/-1;grid-row:1}.field:has(#fullname){grid-column:1;grid-row:2}.field:has(#phone){grid-column:2;grid-row:2}
label{font-size:11px;margin:0 10px 5px}input{min-height:40px;padding:10px 13px;font-size:13px;border-width:1px}
button{grid-column:1/-1;min-height:43px;margin-top:2px;font-size:14px;gap:14px}.arrow{font-size:24px}.form-error{grid-column:1/-1;margin:0 8px;font-size:12px}
.reassurance{font-size:11px;line-height:1.5;margin-top:13px}.privacy{font-size:10px;margin-top:5px}
footer{margin-top:22px}footer .brand{font-size:15px}footer .brand-rule{margin-top:8px}footer p{font-size:7px;letter-spacing:.25em;margin-top:10px}
.success{margin-top:20px;padding:20px}.success h2{font-size:20px}.success p{font-size:13px}
@media(min-width:900px){body::after{mask-image:linear-gradient(to top,#000 0%,transparent 24%),linear-gradient(to right,#000 0%,#000 17%,transparent 35%,transparent 65%,#000 83%,#000 100%);-webkit-mask-image:linear-gradient(to top,#000 0%,transparent 24%),linear-gradient(to right,#000 0%,#000 17%,transparent 35%,transparent 65%,#000 83%,#000 100%)}}
@media(max-width:600px){body{padding:12px 20px;min-height:620px}.arch{width:100%;padding:29px 25px 25px;border-radius:190px 190px 105px 105px}h1{font-size:clamp(31px,9.2vw,40px);margin-top:22px;margin-bottom:14px}.intro,.promise{font-size:12px}.brand{font-size:16px}form{margin-top:16px;gap:10px 8px}input{font-size:12px;padding:10px 11px}label{font-size:10px;margin-left:7px;margin-right:0}label span{font-size:9px}button{font-size:14px;min-height:42px}.reassurance{font-size:10px}footer{margin-top:19px}footer .brand{font-size:14px}footer p{font-size:6.5px}.privacy{font-size:9px}}
@media(max-height:700px) and (min-width:601px){body{padding:10px 24px;min-height:560px}.arch{padding-top:21px;padding-bottom:20px}h1{font-size:34px;margin-top:16px;margin-bottom:12px}form{margin-top:14px}footer{margin-top:15px}.reassurance{margin-top:10px}}
@media(max-width:600px) and (max-height:740px){body{min-height:580px;padding:9px 18px}.arch{padding:21px 24px 20px}h1{font-size:32px;margin-top:16px;margin-bottom:11px}.brand-rule{margin-top:8px}.intro,.promise{font-size:11px;line-height:1.4}form{margin-top:13px;gap:8px}input{min-height:37px;padding:9px 11px}button{min-height:39px;margin-top:1px}.reassurance{margin-top:10px}footer{margin-top:15px}footer p{margin-top:8px}}
/* Narrower panel; email and optional name only. */
.arch{width:min(510px,100%);max-width:510px;padding-left:44px;padding-right:44px;border-radius:255px 255px 140px 140px}
form{grid-template-columns:1fr;gap:10px}.field:has(#fullname){grid-column:1/-1;grid-row:2}
@media(max-width:600px){.arch{width:min(320px,100%);padding-left:22px;padding-right:22px;border-radius:170px 170px 100px 100px}h1{font-size:clamp(29px,8.5vw,35px)}.intro,.promise{font-size:11px}}
@media(max-width:600px) and (max-height:740px){.arch{padding-left:21px;padding-right:21px}h1{font-size:30px}}
/* Reference headline and early-members signup card. */
h1{margin-top:19px;margin-bottom:10px;font-size:clamp(34px,5vh,43px);line-height:.98}
h1>span{display:block;margin:0;background:none;-webkit-text-fill-color:currentColor}
h1 .headline-dark{color:#101e26}h1 .headline-blue{color:#278dad}h1 .headline-pink{background:linear-gradient(100deg,#f1655c,#d92a8f);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}h1 .headline-warm{background:linear-gradient(100deg,#ec973f,#eb535f 45%,#b7209f);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.headline-underline{display:block;width:145px;height:14px;margin:4px auto 0;overflow:visible}.headline-underline path{fill:none;stroke:#dcae27;stroke-width:5;stroke-linecap:round}.headline-underline circle{fill:#dcae27}
.signup-card{margin:19px auto 0;padding:17px 20px 14px;background:#fcf8ec;border:1px solid #eae4d3;border-radius:13px;box-shadow:0 2px 7px #55482b0a;max-width:430px}
.signup-card h2{font-size:19px;letter-spacing:-.025em;line-height:1.15;margin:0 0 8px;color:#101e26;font-weight:800}
.founding-copy{font-size:11px;line-height:1.45;margin:0 auto;max-width:325px;color:#292f30}
form{margin-top:12px;gap:8px}.field:has(#fullname){grid-row:1}.field:has(#email){grid-row:2}
label{margin:0 0 4px;font-size:10px}input{min-height:34px;padding:8px 10px;border-radius:5px;background:#f7f3e8;border-color:#dad8cc;font-size:12px}
button{background:#164f4d;min-height:36px;margin-top:3px;font-size:13px;font-weight:600}button:hover{background:#103f3d}.arrow{font-size:20px}
.reassurance{font-size:10px;margin-top:8px;line-height:1.4}footer{margin-top:17px}
@media(max-width:600px){.arch{padding-top:22px;padding-bottom:20px;padding-left:19px;padding-right:19px}h1{font-size:34px;margin-top:16px;margin-bottom:9px}.headline-underline{width:130px}.intro,.promise{font-size:10.5px;line-height:1.4}.signup-card{margin-top:15px;padding:14px 13px 12px}.signup-card h2{font-size:18px}.founding-copy{font-size:10px;line-height:1.4}form{margin-top:11px}label{font-size:10px}input{font-size:12px;min-height:33px}button{min-height:35px;font-size:12px}.reassurance{font-size:9px}footer{margin-top:15px}}
@media(max-height:740px){.arch{padding-top:18px;padding-bottom:17px}h1{font-size:32px;margin-top:13px}.signup-card{margin-top:12px;padding-top:12px;padding-bottom:10px}.brand-rule{margin-top:6px}footer{margin-top:12px}footer p{margin-top:7px}}
/* Give the headline a broader presence without widening the panel. */
h1{font-size:clamp(40px,5.8vh,49px);letter-spacing:-.045em;margin-left:-22px;margin-right:-22px}
@media(max-width:600px){h1{font-size:clamp(34px,10.2vw,39px);margin-left:-12px;margin-right:-12px}}
@media(max-height:740px){h1{font-size:38px}}
@media(max-width:350px){h1{font-size:34px}}
@media(min-width:601px){h1{font-size:clamp(34px,5vh,43px)}h1>span{transform:scaleX(1.16)}}
/* Wider headline through natural type sizing, never distortion. */
h1>span{transform:none}
@media(min-width:601px){h1{font-size:clamp(40px,5.8vh,49px);line-height:.98;margin-top:14px;margin-bottom:8px}.arch{padding-top:23px;padding-bottom:21px}.signup-card{margin-top:15px}footer{margin-top:13px}}
@media(min-width:601px) and (max-height:740px){h1{font-size:40px}.arch{padding-top:15px;padding-bottom:14px}.signup-card{margin-top:10px;padding-top:10px;padding-bottom:9px}footer{margin-top:9px}}
/* Fill the upper corners while preserving the original cloud treatment. */
.arch{border-top-left-radius:70px;border-top-right-radius:70px}
@media(max-width:600px){.arch{border-top-left-radius:46px;border-top-right-radius:46px}}

/* Larger supporting copy, preserving the saved layout. */
.intro { font-size: 18px; }
.founding-copy { font-size: 16px; }
@media (max-width: 600px) {
  .intro { font-size: 15px; }
  .founding-copy { font-size: 14px; }
}
/* Let the larger paragraph use the existing card width. */
.founding-copy { max-width: 100%; }
.intro, .founding-copy { line-height: 1.35; }
@media (min-width: 601px) { .signup-card { margin-top: 11px; } }

/* Signup heading and reassurance readability. */
.signup-card h2 { color: #278dad; }
.reassurance { font-size: 12px; line-height: 1.35; }
@media (max-width: 600px) { .reassurance { font-size: 11px; } }
@media (min-width: 601px) { .signup-card { padding-bottom: 10px; } }
