/* Frozen palette; founder-requested badge glints are a finite presentation effect. */
.founding-cta { position:relative; border:1px solid var(--gold); background:var(--ink); color:var(--ivory); box-shadow:none; animation:founding-border 6s ease-in-out infinite; }
.button.founding-cta:hover,.article-cta-button.founding-cta:hover { background:var(--ink); color:var(--ivory); transform:none; }
.article-cta--dark .article-cta-button.founding-cta,.article-cta--dark .article-cta-button.founding-cta:hover { background:var(--ivory); color:var(--ink) !important; }
.founding-twinkle { color:var(--gold); display:inline-block; font-size:18px; line-height:1; animation:founding-twinkle 6s ease-in-out infinite; }
@keyframes founding-border { 0%,72%,100% { border-color:var(--gold); } 82% { border-color:color-mix(in srgb,var(--gold) 55%,var(--ink)); } }
@keyframes founding-twinkle { 0%,70%,100% { opacity:.8; transform:scale(.85); } 80% { opacity:1; transform:scale(1.1); } 90% { opacity:.8; transform:scale(.85); } }
.founding-cta-note { margin:12px 0 20px; font-size:13px; line-height:1.5; color:var(--ivory); }
.header-waitlist.founding-cta { gap:8px; font-size:12px; }
.founding-navigation>nav { gap:24px; }
html.founding-dialog-open,html.founding-dialog-open body { overflow:hidden; overscroll-behavior:none; }
.founding-dialog { position:fixed; inset:0; margin:auto; width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 48px); overflow:hidden; padding:0; border:1px solid var(--gold); border-radius:24px; background:var(--ivory); color:var(--ink); box-shadow:none; }
.founding-dialog:not(.founding-success) { width:min(760px,calc(100% - 40px)); max-height:90dvh; }
.founding-dialog .founding-content { max-height:calc(100dvh - 50px); overflow:auto; overscroll-behavior:contain; padding:0; }
.founding-dialog:not(.founding-success) .founding-content { max-height:calc(90dvh - 2px); }
.founding-dialog::backdrop { background:rgba(11,11,11,.65); }
.founding-close { position:absolute; z-index:1; top:10px; right:10px; width:44px; height:44px; display:grid; place-items:center; border:0; background:transparent; border-radius:var(--romii-radius); color:var(--ink); font-size:28px; cursor:pointer; }
.founding-dialog:not(.founding-success)>.founding-close { background:var(--ink); color:var(--ivory); }
.founding-dialog:not(.founding-success)>.founding-close:focus-visible { outline-color:var(--ivory); }
/* One invitation hero: artwork is recognition context, separate from four perks. */
.founding-invitation-hero { display:grid; grid-template-columns:minmax(0,1fr) 172px; align-items:center; gap:32px; padding:28px 36px 24px; background:var(--ink); color:var(--ivory); }
.founding-invitation-hero .eyebrow { margin:0 0 18px; color:var(--gold); font-size:11px; font-weight:600; line-height:1.3; letter-spacing:.12em; text-transform:uppercase; }
.founding-invitation-hero #founding-title { margin:0 0 16px; color:var(--ivory); font-size:44px; font-weight:500; line-height:1.03; letter-spacing:-.055em; }
.founding-intro { margin:0; color:var(--romii-line); font-size:15px; line-height:1.55; }
.founding-hero-badge { margin:0; padding-top:4px; text-align:center; }
.founding-hero-badge[hidden] { display:none; }
.founding-badge-emblem { position:relative; display:block; width:140px; height:140px; margin:0 auto 8px; isolation:isolate; }
.founding-badge-art { display:block; width:100%; height:100%; object-fit:contain; }
/* Preserve the approved PNG. A masked flat highlight stays inside its silhouette. */
.founding-badge-polish { display:none; position:absolute; inset:0; overflow:hidden; pointer-events:none; -webkit-mask:var(--founding-badge-image) center/contain no-repeat; mask:var(--founding-badge-image) center/contain no-repeat; }
.founding-badge-ready .founding-badge-polish { display:block; }
.founding-badge-polish::after { content:''; position:absolute; left:-35%; top:-15%; width:20%; height:130%; background:var(--ivory); opacity:0; transform:translateX(0) skewX(-18deg); animation:founding-badge-polish 2.4s cubic-bezier(.2,.8,.2,1) 2; }
.founding-badge-glint { position:absolute; z-index:1; pointer-events:none; color:var(--ivory); font-size:21px; line-height:1; opacity:0; transform:scale(.6); animation:founding-badge-glint 2.4s ease-in-out 2; }
.founding-badge-glint--one { top:17%; right:15%; }
.founding-badge-glint--two { top:60%; left:8%; color:var(--gold); font-size:15px; animation-delay:.2s; }
@keyframes founding-badge-polish { 0%,14% { opacity:0; transform:translateX(0) skewX(-18deg); } 18% { opacity:.28; } 42% { opacity:.28; } 48%,100% { opacity:0; transform:translateX(850%) skewX(-18deg); } }
@keyframes founding-badge-glint { 0%,16%,44%,100% { opacity:0; transform:scale(.6); } 25% { opacity:.95; transform:scale(1.05); } 34% { opacity:.4; transform:scale(.75); } }
@supports not ((mask:url('')) or (-webkit-mask:url(''))) { .founding-badge-polish { display:none; } }
.founding-hero-badge figcaption strong { display:block; color:var(--ivory); font-size:12px; line-height:1.4; font-weight:500; }
.founding-hero-badge figcaption span { display:block; max-width:160px; margin:4px auto 0; color:var(--romii-line); font-size:10px; line-height:1.4; }
/* The cross-shaped dividers form four deliberate tiles without nested boxes. */
.founding-perks { padding:4px 36px; }
.founding-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; list-style:none; padding:0; margin:0; }
.founding-benefit { min-width:0; padding:16px 24px 16px 0; border-bottom:1px solid var(--line); }
.founding-benefit:nth-child(even) { padding-right:0; padding-left:24px; border-left:1px solid var(--line); }
.founding-benefit:nth-child(n+3) { border-bottom:0; }
.founding-benefit-heading { display:flex; align-items:center; gap:10px; margin:0 0 8px; }
.founding-benefit-icon { display:flex; flex:none; width:24px; height:24px; color:var(--ink); }
.founding-benefit-icon svg { width:24px; height:24px; }
.founding-benefit-category { color:var(--muted); font-size:10px; font-weight:600; line-height:1.4; letter-spacing:.045em; text-transform:uppercase; }
.founding-benefit strong { display:block; margin:0 0 6px; font-size:16px; line-height:1.25; letter-spacing:-.02em; font-weight:600; }
.founding-benefit-copy { display:block; font-size:14px; line-height:1.45; color:var(--ink); }
/* The final block is a simple invitation to join, with the existing evidence. */
.founding-signup { padding:20px 36px; border-top:1px solid var(--line); background:var(--romii-surface); }
.founding-form { display:grid; gap:8px; }
.founding-form>label:first-child { font-size:12px; font-weight:600; }
.founding-form input[type=email] { width:100%; padding:12px 14px; min-height:48px; border:1px solid var(--muted); border-radius:var(--romii-radius); background:var(--ivory); color:var(--ink); font:inherit; font-size:16px; }
.founding-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.5; }
.founding-consent input { flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:var(--ink); }
.founding-consent small { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.founding-optional { padding:2px 0 4px; }
.founding-submit,.founding-done { min-height:50px; width:100%; border:1px solid var(--gold); border-radius:var(--romii-radius); background:var(--ink); color:var(--ivory); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.founding-submit { display:flex; align-items:center; justify-content:center; gap:12px; }
.founding-submit:hover,.founding-done:hover { background:var(--ink); transform:none; }
.founding-submit:disabled { cursor:default; opacity:.55; }
.founding-feedback { font-size:12px; line-height:1.5; margin:0; }
.founding-feedback:empty { display:none; }
.founding-feedback[data-error=true] { color:var(--romii-danger); }
.founding-submit-terms,.founding-small,.founding-identity { font-size:11px; line-height:1.5; color:var(--muted); }
.founding-submit-terms { margin:0; }
.founding-invitation-footer { padding:4px 36px 12px; }
.founding-details { margin:0; font-size:13px; line-height:1.6; }
.founding-details summary { display:list-item; min-height:36px; width:max-content; max-width:100%; padding-block:10px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; font-size:12px; }
.founding-details p { margin:0 0 12px; color:var(--muted); }
.founding-identity { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 16px; margin:0; overflow-wrap:anywhere; font-size:10px; }
.founding-identity a { display:inline-flex; align-items:center; min-height:36px; text-underline-offset:3px; font-size:11px; }
.founding-privacy-layer { position:absolute; inset:0; z-index:2; display:flex; align-items:flex-end; background:rgba(11,11,11,.3); }
.founding-privacy-layer[hidden] { display:none; }
.founding-fallback .founding-privacy-layer { position:fixed; z-index:100; justify-content:center; }
.founding-fallback .founding-privacy-panel { max-width:620px; }
.founding-privacy-panel { display:flex; flex-direction:column; flex-shrink:0; width:100%; height:50dvh; max-height:100%; overflow:hidden; background:var(--ivory); border-top:1px solid var(--gold); border-radius:24px 24px 0 0; }
.founding-privacy-panel:focus { outline:none; }
.founding-privacy-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; padding:16px 24px 12px; border-bottom:1px solid var(--line); }
.founding-dialog .founding-privacy-header h2 { margin:0; font-size:22px; line-height:1.25; letter-spacing:-.025em; }
.founding-privacy-close { display:grid; place-items:center; width:44px; height:44px; flex:none; border:1px solid var(--line); border-radius:12px; background:var(--ivory); color:var(--ink); font-size:26px; cursor:pointer; }
.founding-privacy-body { min-height:0; overflow:auto; overscroll-behavior:contain; padding:20px 24px 24px; font-size:13px; line-height:1.65; }
.founding-privacy-body:focus-visible { outline-offset:-4px; }
.founding-privacy-body h3 { margin:24px 0 8px; font-size:16px; font-weight:600; line-height:1.4; }
.founding-privacy-body p { margin:0 0 16px; }
.founding-privacy-body .waitlist-identity { margin:0; font-size:12px; color:var(--muted); }
.founding-receipt[hidden],.founding-form[hidden] { display:none; }
.founding-receipt h3 { font-size:26px; letter-spacing:-.03em; margin:0 0 12px; }
.founding-receipt p { font-size:13px; line-height:1.6; }
.founding-receipt:focus { outline-offset:6px; }
.founding-receipt-updates { color:var(--muted); }
.founding-wrap { width:min(760px,calc(100% - 48px)); margin-inline:auto; }
.founding-preferences { padding-block:144px 64px; }
.founding-preferences h1 { font-size:clamp(40px,6vw,56px); line-height:1.1; letter-spacing:-.04em; margin:24px 0; }
.founding-preferences p { line-height:1.65; }
.founding-preference-actions { margin-block:32px; border-block:1px solid var(--line); padding-block:32px; }
.founding-preference-actions h2 { font-size:24px; margin-bottom:12px; }
.founding-preference-actions h2:not(:first-child) { margin-top:40px; }
.founding-preference-actions>p { font-size:15px; color:var(--muted); }
.founding-preference-actions button { background:var(--ink); color:var(--ivory); border:1px solid var(--ink); cursor:pointer; }
.founding-preference-actions button.founding-leave { background:transparent; color:var(--ink); }
.founding-preference-actions button:disabled { opacity:.55; cursor:default; transform:none; }
.founding-preference-status { color:var(--ink); margin:32px 0 0; }
@media(max-width:1150px) { .founding-navigation>nav { gap:16px; font-size:13px; } .founding-navigation { gap:16px; } }
/* Keep the complete join action in view on ordinary laptop heights. */
@media(min-width:601px) and (max-height:900px) {
 .founding-dialog:not(.founding-success) .founding-invitation-hero { padding-block:20px 16px; }
 .founding-dialog:not(.founding-success) .founding-invitation-hero .eyebrow { margin-bottom:12px; }
 .founding-dialog:not(.founding-success) .founding-invitation-hero #founding-title { margin-bottom:12px; font-size:40px; }
 .founding-dialog:not(.founding-success) .founding-badge-emblem { width:120px; height:120px; }
 .founding-dialog:not(.founding-success) .founding-perks { padding-block:0; }
 .founding-dialog:not(.founding-success) .founding-benefit { padding-block:12px; }
 .founding-dialog:not(.founding-success) .founding-benefit-heading { margin-bottom:6px; }
 .founding-dialog:not(.founding-success) .founding-benefit strong { margin-bottom:4px; }
 .founding-dialog:not(.founding-success) .founding-signup { padding-block:16px; }
}
@media(max-width:600px) {
 .founding-dialog:not(.founding-success) { width:calc(100% - 24px); max-height:calc(100dvh - 24px); border-radius:24px; }
 .founding-dialog:not(.founding-success) .founding-content { max-height:calc(100dvh - 26px); }
 .founding-invitation-hero { grid-template-columns:minmax(0,1fr) 120px; gap:12px; padding:28px 20px 24px; }
 .founding-invitation-hero .eyebrow { margin-bottom:14px; font-size:10px; }
 .founding-invitation-hero #founding-title { margin-bottom:14px; font-size:32px; letter-spacing:-.055em; }
 .founding-intro { font-size:13px; line-height:1.5; }
 .founding-badge-emblem { width:120px; height:120px; margin-bottom:6px; }
 .founding-hero-badge { padding-top:8px; }
 .founding-hero-badge figcaption strong { font-size:11px; }
 .founding-hero-badge figcaption span { font-size:10px; }
 .founding-perks { padding:0 20px; }
 .founding-benefit { padding:16px 12px 16px 0; }
 .founding-benefit:nth-child(even) { padding-left:12px; }
 .founding-benefit-heading { gap:6px; align-items:flex-start; margin-bottom:10px; }
 .founding-benefit-category { font-size:9px; line-height:1.4; }
 .founding-benefit strong { font-size:16px; line-height:1.25; }
 .founding-benefit-copy { font-size:14px; line-height:1.4; }
 .founding-signup { padding:20px; }
 .founding-invitation-footer { padding:4px 20px 12px; }
 .founding-identity { gap:0 12px; }
 .header-waitlist.founding-cta { font-size:11px; }
}
@media(max-width:380px) { .founding-invitation-hero { grid-template-columns:minmax(0,1fr) 112px; } .founding-badge-emblem { width:112px; height:112px; } .header-waitlist.founding-cta .full-label { display:none; } .header-waitlist.founding-cta .short-label { display:inline; } }
@media(prefers-reduced-motion:reduce) { .founding-cta,.founding-twinkle,.founding-badge-polish::after,.founding-badge-glint { animation:none; transition:none; } .founding-twinkle { transform:none; opacity:1; } .founding-badge-ready .founding-badge-polish,.founding-badge-glint { display:none; } }

.founding-fallback { max-width:760px; margin-inline:auto; }
.founding-fallback .founding-content { overflow:hidden; border:1px solid var(--line); border-radius:24px; }
