@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,700&family=Lora:wght@400;500&family=Inter:wght@400;500;600&family=Caveat:wght@400;500&display=swap');
:root{color-scheme:dark;--gold:#d4af37;--cream:#eee6d6;--muted:#a69a86}*{box-sizing:border-box}body{margin:0;background:#080807;color:var(--cream);font:16px/1.6 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a.button{cursor:pointer;border:1px solid #776744;border-radius:3px;padding:12px 22px;background:#19160f;color:var(--cream);display:inline-block}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.preview{padding:9px 24px;border-bottom:1px solid #27231b;color:var(--muted);font-size:11px;letter-spacing:.12em;text-align:center}header{display:flex;justify-content:space-between;align-items:center;padding:28px clamp(24px,6vw,90px)}header img{width:100px;height:100px;object-fit:contain}header small{font-size:11px;letter-spacing:.18em;color:var(--muted)}main{max-width:1200px;padding:20px 28px 90px;margin:auto}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.23em;color:var(--gold)}h1,h2,.passage{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,6vw,80px);line-height:1.05;margin:20px 0 30px}h2{font-size:36px;margin:0 0 12px}.intro{max-width:720px;margin:10px auto 44px;text-align:center}.intro p{color:var(--muted)}.trailer{position:relative;background:#0e0c09;aspect-ratio:16/9;border:1px solid #282219;display:grid;place-items:center;overflow:hidden}.trailer img{width:100%;height:100%;object-fit:cover;opacity:.35;position:absolute}.trailer .notice{position:relative;text-align:center;padding:28px}.notice p{color:var(--muted);max-width:440px}.trailer video{width:100%;height:100%;object-fit:contain}.signup{display:flex;justify-content:space-between;gap:40px;padding:72px 0 40px;border-bottom:1px solid #282219}.signup>div{max-width:470px}.signup p{color:var(--muted);font-size:14px}form{display:flex;flex-direction:column;gap:12px;width:360px}input{width:100%;padding:12px;border:1px solid #514735;background:transparent;color:var(--cream)}footer{max-width:1200px;margin:auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}footer img{width:115px;height:90px;object-fit:contain}.ritual{min-height:75vh;text-align:center;position:relative;padding-top:60px}.ritual:before{content:'';position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 45%,#a74a1426,transparent 55%)}.passage{max-width:800px;margin:40px auto;font-size:clamp(25px,3vw,38px);line-height:1.7}.choices{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:28px}.choices button{background:transparent;border-color:transparent;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px}.choices button[aria-pressed=true]{color:var(--gold);border-bottom-color:var(--gold)}.status{min-height:30px;color:var(--muted);font-size:13px}.quiet{font-size:12px;color:var(--muted);max-width:650px;margin:24px auto}.reveal{position:fixed;inset:0;z-index:30;background:#000;display:flex;align-items:center;justify-content:center;flex-direction:column}.reveal[hidden]{display:none}.reveal video{width:min(1100px,100%);max-height:80vh;object-fit:contain}.reveal p{font-size:10px;color:var(--muted);letter-spacing:.1em}.dissolving .passage,.dissolving .choices{animation:dissolve 1.2s forwards}@keyframes dissolve{to{opacity:0;transform:translateY(-20px);filter:blur(12px)}}.welcome{max-width:800px;text-align:center;padding:60px 24px}.welcome>img{width:min(380px,80%)}.actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.error{padding:90px 24px;text-align:center}@media(max-width:700px){.signup{flex-direction:column}form{width:100%}header{padding:16px 24px}.ritual{padding-top:25px}footer{gap:20px}}@media(prefers-reduced-motion:reduce){.dissolving .passage,.dissolving .choices{animation:none;opacity:0}}

/* Private revision: official artwork, uncropped and unaltered, at top left. */
.green-room-header{align-items:center;padding-top:18px;padding-bottom:18px}.green-room-header .brand{display:inline-flex;align-items:center}.green-room-header img{display:block;width:150px;height:120px;object-fit:contain}.return-link{font-size:12px;color:var(--muted)}.green-room-header+.ritual{padding-top:24px}.welcome{padding-top:44px}@media(max-width:700px){.green-room-header img{width:112px;height:90px}.return-link{font-size:11px}}

/* V3: full paired lockups framing the trailer, with simulated dimensional light. */
.landing{background:radial-gradient(ellipse at 50% 30%,#1a160f 0, #080807 65%)}
.membership-banner{background:#000;border-bottom:1px solid #3b3322;text-align:center;padding:20px 24px;color:#e9e2d2;font:500 clamp(14px,1.3vw,18px)/1.6 Inter,Arial,sans-serif;letter-spacing:.02em}.membership-banner p{margin:0}.membership-banner strong{font-weight:600;color:#d4af37}
.landing main{max-width:1600px;padding:32px 32px 70px}.landing .intro{margin:10px auto 32px}.landing h1{font-weight:600;font-size:clamp(32px,3.6vw,56px)}.landing .eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em}.hero-stage{display:grid;grid-template-columns:minmax(180px,1fr) minmax(360px,2.5fr) minmax(180px,1fr);align-items:center;gap:24px;perspective:1600px}.floating-brand{display:flex;align-items:center;justify-content:center;position:relative;height:330px;min-width:0;isolation:isolate}.floating-brand:before{content:'';position:absolute;inset:18% 2%;z-index:-1;background:radial-gradient(ellipse,#b58d2e1c,transparent 68%);filter:blur(16px)}.floating-brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 1px 0 #5b451e) drop-shadow(2px 3px 1px #322410) drop-shadow(0 20px 16px #000);transform:rotateY(7deg)}.gr-brand img{width:165%;max-width:none;flex-shrink:0;transform:rotateY(-7deg)}.gr-brand>span{position:absolute;bottom:-14px;text-align:center;font:500 13px/1.4 Inter,Arial,sans-serif;letter-spacing:.06em;color:#e9d8ab}.gr-brand:hover>span{text-decoration:underline;text-underline-offset:5px}.landing .trailer{box-shadow:0 24px 70px #0009;border-color:#504126}.landing .notice p{font:500 14px/1.5 Inter,Arial,sans-serif}.landing .signup{max-width:1000px;margin:70px auto 0}.landing .signup h2{font-family:Inter,Arial,sans-serif;font-size:28px;font-weight:500}.landing .signup p{font-size:16px}.landing footer{max-width:1060px}
@media(max-width:900px){.hero-stage{grid-template-columns:1fr 1fr;gap:20px}.floating-brand{height:250px;max-width:280px;width:100%;justify-self:center}.gp-brand{grid-column:1;grid-row:1}.gr-brand{grid-column:2;grid-row:1}.hero-stage .trailer{grid-column:1 / -1;grid-row:2;margin-top:24px}.landing main{padding:26px 24px}.landing .signup{margin-top:24px}}@media(max-width:480px){.floating-brand{height:190px}.gr-brand>span{font-size:10px;bottom:0}.hero-stage{gap:8px}.landing .intro{margin-bottom:12px}.membership-banner{padding:16px}.landing .notice h2{font-size:28px}.landing .notice p{font-size:12px}.landing .notice button{padding:8px 12px;font-size:12px}}

/* Separate licensed fire scenery reveals the unchanged owned logo. */
.brand-reveal{overflow:hidden;background:#000}.flame-scene{position:relative;width:min(900px,100vw);height:min(70vh,600px);display:grid;place-items:center;isolation:isolate}.fire-orbit{position:absolute;width:90%;height:110%;opacity:0;mask-image:radial-gradient(ellipse at center,#000 25%,transparent 67%);-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 67%)}.brand-reveal .fire-orbit video{width:100%;height:100%;max-height:none;object-fit:cover;mix-blend-mode:screen}.revealed-brand{position:relative;width:min(620px,90vw);max-height:65vh;object-fit:contain;opacity:0;z-index:2}.reveal-glow{position:absolute;inset:10%;opacity:0;background:radial-gradient(ellipse,#b6501440,transparent 65%)}.brand-reveal.playing .fire-orbit{animation:fire-sweep 6s ease-in-out both}.brand-reveal.playing .revealed-brand{animation:brand-emerge 6.8s ease-out both}.brand-reveal.playing .reveal-glow{animation:warm-light 6.8s ease-out both}.brand-reveal .concept-label{position:relative;font-size:10px}.brand-reveal #skip{position:relative;font-size:12px;background:transparent;border-color:#393126}.brand-reveal.still .revealed-brand{opacity:1}.brand-reveal.still .reveal-glow{opacity:.5}@keyframes fire-sweep{0%{opacity:0;transform:translateY(32%) rotate(-95deg) scale(.7)}18%{opacity:1}45%{opacity:1;transform:translateY(0) rotate(-15deg) scale(1.05)}70%{opacity:.65;transform:translateY(-6%) rotate(35deg) scale(1.2)}100%{opacity:0;transform:translateY(-15%) rotate(65deg) scale(1.5)}}@keyframes brand-emerge{0%,25%{opacity:0;transform:scale(.92);filter:blur(10px) brightness(1.8)}57%{opacity:1;filter:blur(0) brightness(1.12)}80%,100%{opacity:1;transform:scale(1);filter:none}}@keyframes warm-light{0%{opacity:0}35%{opacity:1}100%{opacity:.2}}@media(prefers-reduced-motion:reduce){.brand-reveal *{animation:none!important}.brand-reveal .revealed-brand{opacity:1}}

/* V5: scale to flame artwork, not PNG canvas or total wordmark height.
GP flame y250..1120 in 1024x1536; GR y40..775 in 1536x1024.
Both tips and bases align; the extra Green Room subtitle hangs below. */
.landing .hero-stage{--flame-h:clamp(70px,15vw,220px);grid-template-columns:minmax(0,1fr) minmax(0,2.5fr) minmax(0,1fr);gap:clamp(8px,2vw,28px);align-items:center}
.landing .floating-brand{height:calc(var(--flame-h)*1.45);width:100%;max-width:none;display:block;grid-row:1;justify-self:stretch}
.landing .gp-brand{grid-column:1}.landing .gr-brand{grid-column:3}.landing .hero-stage .trailer{grid-column:2;grid-row:1;margin:0}
.landing .floating-brand img{position:absolute;left:50%;height:auto;max-width:none;object-fit:contain;transform:translateX(-50%)}
.landing .gp-brand img{width:calc(var(--flame-h)*1.1770115);top:calc(var(--flame-h)*-.2873563)}
.landing .gr-brand img{width:calc(var(--flame-h)*2.0897959);top:calc(var(--flame-h)*-.0544218)}
.landing .gr-brand>span{left:0;right:0;bottom:0;font-size:clamp(9px,1vw,13px)}
@media(max-width:900px){.landing .hero-stage{--flame-h:15vw}.landing .hero-stage .notice{padding:14px}.landing .hero-stage .notice h2{font-size:26px}.landing .hero-stage .notice p:not(.eyebrow){font-size:12px}.landing .hero-stage .notice button{font-size:11px;padding:7px 10px}}
@media(max-width:600px){.landing main{padding-left:12px;padding-right:12px}.landing .hero-stage{--flame-h:15vw;gap:8px}.landing .hero-stage .notice{padding:8px}.landing .hero-stage .notice .eyebrow{font-size:7px;letter-spacing:.07em}.landing .hero-stage .notice h2{font-size:20px;margin-bottom:5px}.landing .hero-stage .notice p:not(.eyebrow){display:none}.landing .hero-stage .notice button{font-size:8px;padding:4px 6px}.landing .gr-brand>span{font-size:8px;bottom:-10px}.landing .signup{margin-top:50px}}

.landing{overflow-x:clip}

.landing .gr-brand{cursor:default}

/* Reconciled private build: video controls only; all v5 layout rules above remain unchanged. */
.screen>video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.film-controls{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:5px;padding:10px 8px 6px;background:linear-gradient(transparent,rgba(0,0,0,.88));z-index:2}
.film-controls button{flex:0 0 auto;width:32px;height:32px;padding:6px;border:0;background:transparent;color:#eee6d6;line-height:1}
.film-controls svg,.start-film svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.film-controls .clip-title{flex:1;min-width:0;font:11px/1.3 Inter,Arial,sans-serif;color:#eee6d6;text-align:center}
.start-film{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;padding:14px;border:1px solid #d4af3766;border-radius:50%;background:#0009;z-index:3}
.start-film svg{fill:currentColor;stroke:none}
.start-film[hidden],.video-error[hidden]{display:none}
.video-error{position:absolute;left:6%;right:6%;top:8%;margin:0;padding:8px;background:#080807e8;font:12px/1.4 Inter,Arial,sans-serif;text-align:center;z-index:4}
@media(max-width:700px){.film-controls{gap:2px;padding:6px 4px 3px;justify-content:space-between}.film-controls button{width:28px;height:28px;padding:5px}.film-controls .clip-title{display:none}.start-film{width:42px;height:42px;padding:11px}.video-error{font-size:10px}}

/* Requested correction: equal symbol heights AND equal original main-letter cap heights.
The unchanged PNGs are displayed through independent SVG viewports, so canvas padding
and the different wordmark proportions cannot inflate the Green Room title. */
.landing .hero-stage{--brand-title-h:calc(var(--flame-h) * 0.060710195);--brand-title-gap:calc(var(--flame-h) * 0.01489118)}
.landing .floating-brand svg{position:absolute;display:block;left:50%;transform:translateX(-50%);overflow:hidden;filter:drop-shadow(1px 1px 0 #5b451e) drop-shadow(2px 3px 1px #322410) drop-shadow(0 20px 16px #000)}
.landing .floating-brand .brand-symbol{top:0;height:var(--flame-h)}
.landing .gp-brand .brand-symbol{width:calc(var(--flame-h) * 0.70561283)}
.landing .gr-brand .brand-symbol{width:calc(var(--flame-h) * 0.81266846)}
.landing .floating-brand .brand-title{top:calc(var(--flame-h) + var(--brand-title-gap));height:var(--brand-title-h)}
.landing .gp-brand .brand-title{width:calc(var(--brand-title-h) * 13.88679245)}
.landing .gr-brand .brand-title{width:calc(var(--brand-title-h) * 11.58536585)}
.landing .gr-brand .brand-subtitle{top:calc(var(--flame-h) + var(--brand-title-gap) + var(--brand-title-h) * 1.35365854);height:calc(var(--brand-title-h) * 0.34146341);width:calc(var(--brand-title-h) * 8)}
.screen:not(.player-ready) .film-controls{display:none}

/* Align opaque cap-height ink, including the GP's one-pixel antialiased top edge. */
.landing .hero-stage{--brand-title-h:calc(var(--flame-h) * 0.0596330275);--brand-title-gap:calc(var(--flame-h) * 0.0160550459)}
.landing .gp-brand .brand-symbol{top:calc(var(--flame-h) * -0.001146789);height:calc(var(--flame-h) * 1.001146789);width:calc(var(--flame-h) * 0.7064220183)}
.landing .gr-brand .brand-symbol{height:calc(var(--flame-h) * 1.001345895);width:calc(var(--flame-h) * 0.8115746972)}
.landing .gp-brand .brand-title{top:calc(var(--flame-h) + var(--brand-title-gap) - var(--brand-title-h) * 0.0192307692);height:calc(var(--brand-title-h) * 1.0192307692);width:calc(var(--brand-title-h) * 14.1538461538)}

/* Quiet flickering fire behind the homepage, using the same licensed local footage. */
.landing{position:relative;isolation:isolate;background:#080807}
.landing-fire{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#080807 url('assets/fire-poster.jpg') center bottom/cover no-repeat}
.landing-fire video{width:100%;height:100%;object-fit:cover;object-position:center bottom;opacity:.55;filter:saturate(.8)}
.landing-fire-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,7,.86) 0%,rgba(8,8,7,.73) 45%,rgba(8,8,7,.67) 100%)}
.landing .membership-banner{background:rgba(0,0,0,.85)}
.landing .intro{ text-shadow:0 2px 14px #000}
.landing .signup{background:rgba(8,8,7,.5);padding-left:18px;padding-right:18px}
#background-motion{font:11px/1.3 Inter,Arial,sans-serif;padding:6px 10px;border-color:#514735;background:#080807bb;color:#c7b99f}
#background-motion[hidden]{display:none}
.landing footer{gap:12px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.landing-fire video:not(.user-started){display:none}}

/* Jason working demo: the passage itself is the selectable word puzzle. */
.passage-puzzle .passage{max-width:980px;font-size:clamp(25px,3vw,38px);line-height:1.85;margin:30px auto}
.passage-puzzle .passage p{margin:0}
.passage-puzzle .passage-word{position:relative;display:inline;font:inherit;line-height:inherit;color:inherit;background:transparent;border:0;border-radius:2px;padding:0 .02em;margin:0;white-space:nowrap;vertical-align:baseline;cursor:pointer;transition:color .15s ease}
.passage-puzzle .passage-word:hover{color:#e9d192}
.passage-puzzle .passage-word:focus-visible{outline:1px solid #d4af37;outline-offset:3px}
.passage-puzzle .passage-word[aria-pressed=true]{color:#f1ce67;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.passage-puzzle .passage-word[data-order]::after{content:attr(data-order);position:absolute;left:50%;top:-.48em;transform:translateX(-50%);font:600 11px/1 Inter,Arial,sans-serif;color:#f1ce67;text-decoration:none}
.passage-puzzle .passage-word.not-next{color:#d5aa91}
.passage-puzzle .passage-word:disabled{opacity:1}
.passage-puzzle .choices[hidden]{display:none}
.passage-puzzle .quiet{max-width:760px;line-height:1.7}
@media(max-width:600px){.passage-puzzle .passage{font-size:26px;line-height:1.95}.passage-puzzle .passage-word[data-order]::after{font-size:9px}}
@media(prefers-reduced-motion:reduce){.passage-puzzle .passage-word{transition:none}}

/* Polished personal invitation: floating quotation, generous rhythm, quiet warm light. */
.personal-invitation{min-height:100vh;background:#070807;color:#f1e9d7}
.personal-invitation:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 74%,rgba(136,65,22,.16),transparent 62%),radial-gradient(ellipse at 50% 28%,rgba(198,160,70,.055),transparent 52%)}
.personal-invitation .green-room-header{max-width:1440px;margin:0 auto}
.personal-invitation .ritual{max-width:1120px;min-height:calc(100svh - 196px);padding:clamp(24px,4vh,56px) clamp(22px,5vw,60px) 58px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.personal-invitation #greeting{margin:0 0 28px;color:#c7ad67;font:500 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase}
.personal-invitation .passage{max-width:980px;margin:0;font:400 clamp(29px,3.35vw,48px)/1.6 'Cormorant Garamond',Georgia,serif;text-wrap:pretty;letter-spacing:-.008em;text-shadow:0 3px 24px #000}
.personal-invitation .passage-word{padding:0 .015em;transition:color .16s ease,text-shadow .16s ease}
.personal-invitation .passage-word:hover{color:#f6dfa4;text-shadow:0 0 18px #bf8f3140}
.personal-invitation .passage-word[aria-pressed=true]{color:#f2cf73;text-shadow:0 0 22px #d39b4248;text-decoration-color:#c5a253;text-decoration-thickness:1px}
.personal-invitation .passage-word[data-order]::after{top:-.42em;color:#c8ae6b;font-weight:500;font-size:10px}
.personal-invitation #status{margin:34px 0 14px;min-height:22px;font:12px/1.6 Inter,Arial,sans-serif;color:#b6ac98;letter-spacing:.03em}
.personal-invitation #reset{font:11px/1.3 Inter,Arial,sans-serif;letter-spacing:.08em;padding:10px 17px;border:1px solid #62533755;border-radius:2px;color:#b7a98b;background:transparent}
.personal-invitation #reset:hover{border-color:#b49a5f;color:#eadbb8}
.personal-invitation #demo-note{max-width:660px;margin:20px auto 0;font:10px/1.7 Inter,Arial,sans-serif;color:#837b6c}
@media(max-width:600px){.personal-invitation .ritual{min-height:calc(100svh - 160px);padding:22px 22px 38px}.personal-invitation #greeting{margin-bottom:24px;font-size:9px}.personal-invitation .passage{font-size:29px;line-height:1.65}.personal-invitation #status{margin-top:26px;font-size:11px}.personal-invitation #demo-note{max-width:290px;font-size:9px}.personal-invitation .passage-word[data-order]::after{font-size:9px}}
@media(prefers-reduced-motion:reduce){.personal-invitation .passage-word{transition:none}}
.personal-invitation{position:relative;isolation:isolate}

/* Drew's ritual note stays readable at narrow widths. */
.personal-invitation #demo-note{font-size:11px;color:#a69b85}

.selector{max-width:650px;text-align:center}.selector form{display:flex;flex-direction:column;gap:18px;align-items:center}.selector input{font:inherit;letter-spacing:.5em;max-width:9em;padding:16px;text-align:center;background:#121711;color:#eee;border:1px solid #857448}.welcome-film{width:100%;max-width:900px;margin-top:30px}#undo{margin:12px}#next-film{display:none!important}

/* Readable instructions and a persistent, quiet flame field for the passage. */
.personal-invitation .instruction-card{width:min(720px,100%);margin:32px auto 0;padding:22px 28px;border:1px solid #6e60454d;border-radius:12px;background:rgba(14,13,10,.88);box-shadow:0 12px 50px #0004;text-align:center}
.personal-invitation .instruction-card #status{margin:0 0 12px;min-height:0;font:500 17px/1.5 Inter,Arial,sans-serif;letter-spacing:0;color:#eee6d5}
.personal-invitation .instruction-card #demo-note{max-width:620px;margin:0 auto 12px;font:400 15px/1.65 Inter,Arial,sans-serif;color:#c9bda4}
.personal-invitation .ritual-help{margin:0 0 18px;font:400 13px/1.6 Inter,Arial,sans-serif;color:#b8ae9c}
.personal-invitation .ritual-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.personal-invitation .instruction-card #reset,.personal-invitation .instruction-card #background-motion{font-size:12px;line-height:1.4;min-height:40px;padding:9px 14px;color:#c7bca5;border-color:#78674666}
.personal-invitation .preview-note{margin:16px 0 0;font:11px/1.6 Inter,Arial,sans-serif;color:#9b927f}
.personal-invitation .passage-fire video{opacity:.6;filter:saturate(.75);object-position:center bottom}
.personal-invitation .passage-fire .landing-fire-shade{background:linear-gradient(180deg,rgba(7,8,7,.86),rgba(7,8,7,.76) 55%,rgba(7,8,7,.62))}
.personal-invitation:before,.personal-invitation .ritual:before{display:none}
@media(max-width:600px){.personal-invitation .instruction-card{margin-top:26px;padding:19px 17px;border-radius:10px}.personal-invitation .instruction-card #status{font-size:16px}.personal-invitation .instruction-card #demo-note{font-size:14px;line-height:1.65}.personal-invitation .ritual-help{font-size:12px}.personal-invitation .preview-note{font-size:10px}}

.personal-invitation .instruction-card #undo{font-size:12px;line-height:1.4;min-height:40px;padding:9px 14px;color:#c7bca5;border:1px solid #78674666;border-radius:2px;background:transparent;margin:0}
/* Keep the three-digit control centered on desktop and within narrow screens. */
.selector form{width:min(360px,100%);margin:0 auto}

/* Optional private audio treatment: explicit user gesture, never sound autoplay. */
.sound-card{width:min(720px,100%);margin:26px auto;padding:20px 24px;border:1px solid #6e60454d;border-radius:12px;background:#100f0deb;text-align:center;font-family:Inter,Arial,sans-serif}.sound-title{margin:0 0 5px;font-size:17px;color:#eee6d6}.sound-description{margin:0 0 16px;color:#b8ae9c;font-size:12px}.sound-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.sound-controls button{font-size:13px;min-height:44px;padding:10px 15px}.sound-volume{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 0;font-size:12px;color:#c7bca5}.sound-volume input{width:140px;padding:0;accent-color:#d4af37}.sound-card #sound-status{font-size:12px;line-height:1.5;color:#b8ae9c;max-width:560px;margin:14px auto 0}.sound-card [hidden],#reveal [hidden]{display:none!important}#reveal-mute{position:relative;z-index:2;min-height:44px;margin:12px;font-size:13px}#reveal-sound-status{max-width:80%;text-align:center}@media(max-width:480px){.sound-card{padding:18px 14px}.sound-controls button{flex:1 1 135px}.sound-volume{flex-wrap:wrap}}

.trailer-sound-invitation{text-align:center;margin:22px auto;max-width:700px}.trailer-sound-invitation button{min-height:44px;font-size:15px}.trailer-sound-invitation p{font-size:12px;color:#b8ae9c;margin:10px 0}

.mobile-film-title{display:none}@media(max-width:700px){.trailer-sound-invitation .mobile-film-title{display:block;font-size:15px;color:#eee6d6;margin:0 0 12px}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sound-off-help{font:12px/1.5 Inter,Arial,sans-serif;color:#b8ae9c;margin:14px auto 0}.welcome-film-heading{font-size:clamp(26px,4vw,36px);margin:36px 0 0}.sound-card #sound-status.has-error{position:static!important;width:auto!important;height:auto!important;margin:14px auto 0!important;clip:auto!important;white-space:normal!important;color:#eee6d6}

.sound-shortcut{font:12px/1.5 Inter,Arial,sans-serif;color:#b8ae9c;margin:12px auto 0;max-width:480px}.sound-shortcut a{text-decoration:underline;text-underline-offset:3px;color:#eee6d6}#audio-controls{scroll-margin-top:24px}

/* Pop-out review players. The media element stays in place with its state intact. */
.video-popout-slot{width:100%;min-width:0;aspect-ratio:16/9}
.landing .hero-stage>.video-popout-slot{grid-column:2;grid-row:1}
.video-popout-slot>.screen{width:100%;height:100%}
.welcome-video-slot{margin-top:30px}
.welcome-video-player{position:relative;width:100%;height:100%;background:#000}
.welcome-video-player .welcome-film{display:block;width:100%;height:100%;margin:0;object-fit:contain}
.video-popout-trigger{min-height:44px;margin:8px 4px;font-size:15px}
.video-popout-trigger[hidden],.video-popout-backdrop[hidden],.video-popout-chrome[hidden]{display:none!important}
body.video-popout-open{overflow:hidden}
body.video-popout-open .hero-stage{perspective:none}
.video-popout-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.88);touch-action:none}
.video-popout-slot>.is-video-popout{position:fixed;z-index:1001;left:50%;top:calc(50% + 20px);transform:translate(-50%,-50%);width:min(1200px,calc(100vw - 32px),calc((100vh - 140px) * 16 / 9));width:min(1200px,calc(100vw - 32px),calc((100dvh - 140px) * 16 / 9));height:auto;aspect-ratio:16/9;margin:0;overflow:visible;background:#000;border:1px solid #776744;box-shadow:0 24px 90px #000}
.video-popout-chrome{position:absolute;bottom:100%;left:-1px;right:-1px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:10px 12px;background:#14110c;border:1px solid #776744;border-bottom:0;border-radius:6px 6px 0 0}
.video-popout-chrome .video-popout-title{margin:0;font:500 clamp(14px,2vw,19px)/1.35 Inter,Arial,sans-serif;color:#eee6d6;text-align:left}
.video-popout-chrome .video-popout-close{flex:none;min-width:88px;min-height:44px;padding:8px 12px;font-size:14px}
.is-video-popout .film-controls button{width:44px;height:44px;padding:10px}
.is-video-popout .film-controls .clip-title{display:block}
@media(max-width:480px){.video-popout-chrome{gap:8px;padding:8px}.video-popout-chrome .video-popout-close{min-width:80px}.is-video-popout .film-controls .clip-title{font-size:10px}}

/* Source-footage reveal: fire → original words → existing flame/logo treatment. */
.brand-reveal.quote-intro .fire-orbit{animation:fire-sweep 2.8s ease-in-out both}
.brand-reveal.quote-intro .revealed-brand{opacity:0;animation:none}
.brand-reveal.quote-intro .reveal-glow{animation:warm-light 2.8s ease-out both}
.brand-reveal.quote-playing .flame-scene{display:none}
.quote-card{width:min(880px,calc(100vw - 32px));text-align:center;animation:quote-arrive .5s ease-out both}
.brand-reveal .quote-card video{display:block;width:100%;height:auto;max-height:calc(100svh - 290px);max-height:calc(100dvh - 290px);object-fit:contain;aspect-ratio:16/9;background:#080807;border:1px solid #79623a77;border-radius:4px;box-shadow:0 20px 90px #000}
.brand-reveal .quote-words{margin:14px 0 10px;color:#ead5a0;font:400 clamp(28px,4vw,44px)/1.2 'Cormorant Garamond',Georgia,serif;letter-spacing:0}
.quote-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.quote-actions button,#reveal-resume{min-height:44px;padding:10px 16px;font-size:13px}
.brand-reveal #quote-status{font:12px/1.5 Inter,Arial,sans-serif;letter-spacing:0;min-height:18px;margin:9px auto;max-width:500px}
.brand-reveal:has(.quote-card:not([hidden])){overflow-y:auto;padding:18px 0}
.brand-reveal:has(.quote-card:not([hidden])) .concept-label{margin:6px 0}
.brand-reveal:has(.quote-card:not([hidden])) #reveal-sound-status{margin:0}
.brand-reveal:has(.quote-card:not([hidden])) #reveal-mute{margin:4px 0}
@keyframes quote-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-height:560px){.brand-reveal .quote-card{width:min(680px,calc(100vw - 24px))}.brand-reveal .quote-card video{max-height:48svh;max-height:48dvh}.brand-reveal .quote-words{font-size:26px;margin:8px 0}.brand-reveal:has(.quote-card:not([hidden])){justify-content:flex-start}.quote-actions button{font-size:12px;min-height:40px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.quote-card{animation:none}.brand-reveal.quote-intro .revealed-brand{opacity:0}}

/* Shared welcome: story first, optional atmosphere beside it. */
.welcome{max-width:1200px;padding-top:24px}
.welcome h1{margin-bottom:16px}
.welcome-promise{font-size:clamp(18px,2.2vw,24px);line-height:1.45;margin:0 auto 36px;color:var(--cream)}
.welcome-promise span{display:block}
.welcome-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,270px);gap:32px;align-items:start;text-align:left;margin:0 0 30px}
.welcome-feature{min-width:0}
.welcome-feature .welcome-film-heading{margin:0;font-size:clamp(26px,3vw,36px)}
.welcome-feature .welcome-video-slot{margin-top:16px}
.welcome-feature>.quiet{margin:16px 0}
.welcome-atmosphere.sound-card{width:100%;margin:0;padding:18px;text-align:left;background:#100f0d88;border-color:#6e60452b;border-radius:6px}
.welcome-atmosphere .sound-title{font-size:14px}
.welcome-atmosphere .sound-controls{justify-content:flex-start}
.welcome-atmosphere .sound-volume{justify-content:flex-start;flex-wrap:wrap}
.welcome-atmosphere .sound-volume input{flex:1;min-width:100px;max-width:180px}
@media(max-width:760px){.welcome-layout{grid-template-columns:minmax(0,1fr);gap:22px}.welcome-atmosphere.sound-card{max-width:100%;padding:16px}.welcome-promise{margin-bottom:26px}.welcome{padding:20px 20px 60px}.welcome-atmosphere .sound-controls button{flex:0 1 auto}}

.welcome h1{font-size:clamp(18px,5.8vw,72px);white-space:nowrap;letter-spacing:-.025em}

/* Drew's invitation welcome refinements, November 8. */
.green-room-header{justify-content:flex-end;min-height:52px}
.welcome-brand{width:min(300px,65vw);margin:22px auto 24px;filter:drop-shadow(0 3px 16px #c4a45c18)}
.welcome-brand-symbol{display:block;width:116px;height:143px;margin:0 auto 10px}
.welcome-brand-name{display:flex;align-items:center;justify-content:center;gap:7px}
.welcome-brand-name svg{display:block;width:calc(100% - 18px);height:auto;overflow:hidden}
.welcome-brand-name span{font:500 29px/.9 Georgia,serif;color:#d8bb75;transform:translateY(-2px)}
.welcome-personal-note{max-width:760px;margin:0 auto 46px;color:#cfc7b6;font:400 clamp(16px,1.5vw,18px)/1.8 Inter,Arial,sans-serif}
.welcome-personal-note p{margin:0 0 18px}
.welcome-promise{margin-bottom:27px}
.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:36px}
.booking-fire-wrap{position:relative;isolation:isolate;width:min(470px,100%);border:1px solid #d8b260;border-radius:8px;overflow:hidden;background:#2b1c0c;box-shadow:0 0 30px #d9983425,0 8px 28px #0008}
.booking-fire{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%;opacity:.6;z-index:-2;pointer-events:none}
.booking-fire-wrap:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100b06a8,#1c1009a0,#100b06a8);pointer-events:none}
.welcome-actions .booking-primary{display:flex;align-items:center;justify-content:center;min-height:72px;width:100%;margin:0;padding:20px 24px;background:transparent;border:0;color:#fff4d5;font:600 clamp(16px,2vw,20px)/1.4 Inter,Arial,sans-serif;text-decoration:none;letter-spacing:.01em}
.booking-primary:hover{background:#cda34b22}.booking-primary:focus-visible{outline:3px solid #fff3c7;outline-offset:-6px}
.welcome-actions .member-login{font:400 13px/1.5 Inter,Arial,sans-serif;color:#a39b8c;text-decoration:underline;text-underline-offset:4px;padding:9px 12px}
.booking-motion-toggle{font:400 11px/1.4 Inter,Arial,sans-serif;color:#a39b8c;padding:5px 9px;min-height:28px;border:0;background:transparent;margin:0}
.booking-motion-toggle[hidden]{display:none}
@media(max-width:480px){.welcome-brand{width:240px;margin:20px auto}.welcome-brand-symbol{width:92px;height:114px}.welcome-brand-name span{font-size:25px}.welcome-personal-note{text-align:left;margin-bottom:32px}.welcome-actions .booking-primary{padding:18px 12px;min-height:68px}}
@media(prefers-reduced-motion:reduce){.booking-fire{display:none}}

/* Personal note and floating atmosphere, November 8 revision. */
.welcome-personal-note{font-family:'Caveat','Segoe Print','Bradley Hand',cursive;font-size:clamp(25px,2.5vw,32px);line-height:1.5;color:#fff;max-width:790px;margin-bottom:54px}
.welcome-personal-note p{margin:0 0 28px}.welcome-personal-note .personal-thanks{margin-top:32px;margin-bottom:12px}.welcome-personal-note .personal-close{max-width:760px;margin-left:auto;margin-right:auto}
.welcome-layout{display:block;max-width:900px;margin:0 auto 30px}.welcome-feature .welcome-film-heading{text-align:center}
.welcome-atmosphere.sound-card{position:fixed;left:14px;top:56px;z-index:20;width:220px;max-width:220px;padding:14px;background:#100f0df5;box-shadow:0 8px 32px #0008}.welcome-atmosphere .sound-description{font-size:11px}.welcome-atmosphere .sound-controls{gap:6px}.welcome-atmosphere .sound-controls button{font-size:11px;padding:8px;min-height:36px}.welcome-atmosphere .sound-volume{margin-top:10px}
@media(max-width:1500px){.welcome-atmosphere.sound-card{width:186px;max-width:186px;top:10px;left:10px;padding:10px}.welcome-atmosphere .sound-description,.welcome-atmosphere .sound-off-help{display:none}.welcome-atmosphere .sound-title{font-size:11px;line-height:1.4;margin-bottom:8px}.welcome-atmosphere .sound-volume{font-size:10px;gap:6px}.welcome-atmosphere .sound-volume input{min-width:70px;max-width:90px}.welcome{padding-top:64px}}
@media(max-width:600px){.welcome-atmosphere.sound-card{width:156px;max-width:156px;top:8px;left:8px;padding:9px}.welcome-atmosphere .sound-controls button{min-height:32px;padding:6px;font-size:10px}.welcome-atmosphere .sound-volume{margin-top:8px}.welcome-personal-note{text-align:left}.welcome{padding-top:82px}.welcome-feature .welcome-film-heading{font-size:27px}}

/* Comfortable gaze/pinch and touch targets; no hover needed to discover a word. */
.personal-invitation .passage-word{display:inline-flex;align-items:center;justify-content:center;min-width:60px;min-height:60px;padding:.12em .2em;margin:6px 3px;border:1px solid #ac925a48;border-radius:8px;line-height:1.3;touch-action:manipulation;background:#17171388;vertical-align:middle}
.personal-invitation .passage-word:hover,.personal-invitation .passage-word:focus-visible{background:#45391c;color:#fff2c9;outline:3px solid #e4c367;outline-offset:2px}
.personal-invitation .passage-word[aria-pressed=true]{background:#4c3c17;border-color:#e5c66b;color:#fff4ca;text-decoration:none}
.personal-invitation .passage-word[data-order]::after{top:-8px;left:auto;right:-5px;transform:none;border-radius:50%;padding:4px;background:#e6c668;color:#17130b;min-width:20px;font:700 12px/1 Arial,sans-serif}
.selection-progress{color:#f0d887;min-height:28px;font-size:16px;letter-spacing:.03em}
.welcome-sound-option{display:flex;align-items:center;justify-content:center;gap:12px;min-height:60px;cursor:pointer;color:#e5dccb}
.welcome-sound-option input{width:24px;height:24px;accent-color:#d4af37}
.personal-invitation .ritual-controls button,.quote-actions button,#reveal-mute,#reveal-resume,#skip{min-height:60px;min-width:60px;touch-action:manipulation}
@media(max-width:600px){.personal-invitation .passage{font-size:26px}.personal-invitation .passage-word{margin:5px 2px;padding:.12em .18em;max-width:100%}.personal-invitation .ritual{padding-left:12px;padding-right:12px}}

/* Alternate personal-copy review, isolated from existing site. */
.intro{max-width:950px}.intro h1{font-size:clamp(2.2rem,4.8vw,4.6rem);line-height:1.12;letter-spacing:-.035em}.intro h1 em{font-style:normal;color:var(--gold,#d2b171)}.intro .purpose{max-width:760px;margin:24px auto 0;line-height:1.65}.intro a{color:var(--gold,#d2b171);text-underline-offset:4px}.youtube-latest{max-width:1100px;margin:50px auto 70px;padding:0 20px;text-align:center}.youtube-latest h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:8px 0 16px}.youtube-latest>p:not(.eyebrow){color:#ddd;line-height:1.6}.youtube-subscribe{display:inline-block;border:1px solid #c5a15d;border-radius:999px;padding:13px 24px;margin:12px 0 32px;color:#f0dca6;text-decoration:none;background:#151511}.youtube-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left}.youtube-grid article{background:#10110f;border:1px solid #393b31;padding:12px;border-radius:14px}.youtube-grid iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:8px}.youtube-grid h3{font-size:1.1rem;margin:18px 8px 12px;line-height:1.4}.youtube-grid a{color:#e1c888;display:inline-block;margin:0 8px 14px;text-underline-offset:4px}@media(max-width:650px){.youtube-grid{grid-template-columns:1fr}.intro h1{font-size:clamp(2rem,7.7vw,3rem)}.youtube-latest{padding:0 10px;margin-top:36px}}

/* Personal typography refinement, private review. */
.intro .landing-description{max-width:720px;margin:28px auto 0;font-family:'Lora',Georgia,serif;font-size:clamp(17px,1.7vw,20px);font-weight:400;line-height:1.8;color:#ded5c4}
.intro .landing-description a{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,2.6vw,33px);font-style:italic;font-weight:700;line-height:1.25;color:#e7c773;display:block;margin:0 auto 13px;max-width:680px}
.youtube-latest>p:not(.eyebrow),.signup>div>p{font-family:'Lora',Georgia,serif;font-size:clamp(17px,1.65vw,20px);line-height:1.75;max-width:740px;margin-left:auto;margin-right:auto;color:#ded5c4}
.contact-drew{margin:22px 0 0;font-family:'Lora',Georgia,serif;font-size:16px;line-height:1.6}
.contact-drew a{color:#e7c773;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
@media(max-width:650px){.intro .landing-description{max-width:100%;line-height:1.7}.intro .landing-description a{max-width:100%;font-size:28px}.youtube-latest>p:not(.eyebrow){font-size:18px}}

/* Launch candidate: no inactive signup, explicitly protected invitation preview. */
.signup.contact-only{display:block;text-align:center}.signup.contact-only>div{max-width:740px;margin:0 auto}.green-room-access-note{max-width:700px;margin:14px auto;padding:0 20px;text-align:center;color:#ded5c4;font-size:14px;line-height:1.6}
