/* Page-only styles; shared navigation and footer retain their established design. */
.portal-page{background:var(--parchment);color:var(--brown);color-scheme:light}
.portal-page .header{position:sticky;top:0;background:var(--garnet);color:var(--parchment)}
@media(max-width:1380px){:root:not([data-navigation-enhanced]) .portal-page .header{position:relative}}
.portal-page main{overflow:clip}
.portal-skip{position:absolute;left:24px;top:-100px;z-index:10;background:var(--parchment);color:var(--brown);padding:14px}.portal-skip:focus{top:16px}
.portal-hero{text-align:center;padding:52px 20px 0;overflow:hidden}
.portal-eyebrow{font:400 14px/1.4 var(--font-ui);letter-spacing:3px;margin:0 0 12px;color:var(--garnet)}
.portal-formation{position:relative;display:grid;place-items:center;width:min(820px,110vw);aspect-ratio:1;margin:0 auto;left:50%;transform:translateX(-50%);margin-left:0}
.portal-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.portal-ring{fill:none;stroke:var(--garnet);stroke-width:3;stroke-linecap:round;transform-origin:500px 500px;animation:portal-breathe 7.8s ease-in-out infinite}
.ring-1{stroke:var(--oxblood);stroke-width:2.4;animation-duration:7.3s;animation-delay:-1.5s;--breath:1.018}
.ring-2{stroke-width:2.8;animation-duration:8s;animation-delay:-3.1s;--breath:1.028}
.ring-3{stroke:var(--oxblood);stroke-width:2.2;animation-duration:7.6s;animation-delay:-4.4s;--breath:1.022}
@keyframes portal-breathe{0%,100%{transform:scale(.985, .99)}50%{transform:scale(var(--breath,1.035),1.025)}}
.portal-hero h1{position:relative;font:400 clamp(21px,3.25vw,43px)/1.5 var(--font-heading);color:var(--garnet);margin:0;width:45%;text-wrap:balance}
.portal-story{max-width:720px;margin:38px auto 0;padding:0 28px 92px;text-align:center;font:400 20px/1.85 var(--font-body)}
.portal-story p{margin:0 0 34px}.portal-story h2{font:400 clamp(25px,3vw,34px)/1.5 var(--font-heading);color:var(--garnet);margin:62px 0 0}
.portal-waitlist{background:#fffaf3;padding:80px 28px 92px;text-align:center}
.portal-waitlist-inner{max-width:700px;margin:auto}.portal-waitlist h2{font:400 clamp(25px,3vw,36px)/1.5 var(--font-heading);color:var(--garnet);margin:0 0 22px}.portal-waitlist p{font:400 18px/1.7 var(--font-body)}
.portal-waitlist form{margin:40px 0 24px;text-align:left}.portal-waitlist fieldset{border:0;padding:0;margin:0;min-width:0}.portal-fields{display:grid;grid-template-columns:1fr 1fr;gap:28px}.portal-fields>div{min-width:0}
.portal-waitlist label{display:block;font:400 15px/1.6 var(--font-ui)}.portal-fields input{width:100%;min-height:48px;margin-top:8px;border:0;border-bottom:1px solid var(--oxblood);border-radius:0;background:transparent;color:var(--brown);font:18px var(--font-body);padding:10px 0}
.portal-waitlist input:focus-visible{outline:2px solid var(--garnet);outline-offset:4px}.portal-waitlist .portal-consent{display:flex;align-items:flex-start;gap:12px;margin-top:28px;font:16px/1.6 var(--font-body)}.portal-consent input{flex:none;width:20px;height:20px;accent-color:var(--garnet)}
.portal-waitlist #portal-consent{font-size:14px}.portal-waitlist a{text-decoration:underline;text-underline-offset:4px}.portal-waitlist button{display:block;min-height:48px;margin:28px auto 0;padding:14px 22px;border:1px solid var(--garnet);background:var(--garnet);color:var(--parchment);cursor:pointer;font:16px/1.4 var(--font-ui)}.portal-waitlist button:disabled{cursor:not-allowed;background:transparent;color:var(--brown)}
.portal-waitlist #portal-setup{font-size:16px}.portal-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){.portal-hero{padding-top:38px}.portal-formation{width:125vw}.portal-hero h1{font-size:clamp(20px,5.8vw,32px);width:45%}.portal-eyebrow{font-size:12px}.portal-story{margin-top:34px;font-size:18px;padding-bottom:64px}.portal-waitlist{padding:60px 24px}.portal-fields{grid-template-columns:1fr;gap:24px}.portal-ring{stroke-width:3.5}}
@media(prefers-reduced-motion:reduce){.portal-ring{animation:none;transform:none}}
