:root{--paper:#eae5da;--ink:#222622;--red:#a5362d;--progress:0;--mx:0;--my:0;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px}button{border:0;background:none}header{height:80px;padding:0 4vw;position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;background:#101310f5;color:#ede8df;border-bottom:1px solid #ffffff17}.brand{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:3px}.brand img{object-fit:contain}.brand small{display:block;font-size:8px;letter-spacing:5px;margin-top:5px}nav{display:flex;gap:34px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}#motion{font:9px monospace;letter-spacing:1px;color:#bbbdb5}#motion span{color:#e6e0d5}.eyebrow{font:10px/1.6 monospace;letter-spacing:1.8px;text-transform:uppercase}.skip{position:fixed;left:15px;top:-100px;z-index:60;background:var(--paper);padding:15px}.skip:focus{top:90px}.opening{height:160svh}.opening-sticky{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;background:var(--paper)}.top-line{position:absolute;top:110px;left:5vw;right:5vw;display:flex;justify-content:space-between;z-index:4}.hero-portraits{position:absolute;inset:90px 0 0;opacity:calc(1 - var(--progress)*1.1);transform:scale(calc(1 + var(--progress)*.16))}.hero-art{position:absolute;top:0;width:48%;height:85%;overflow:hidden;mix-blend-mode:multiply;mask-image:linear-gradient(black 60%,transparent 100%)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.3);filter:saturate(.5)}.hero-art.left{left:-3%;transform:translate(calc(var(--mx)*-8px),calc(var(--my)*-5px)) rotate(-5deg)}.hero-art.right{right:-3%;transform:translate(calc(var(--mx)*8px),calc(var(--my)*5px)) rotate(5deg)}.hero-type{position:absolute;left:0;right:0;top:36%;text-align:center;z-index:5;transform:translateY(calc(var(--progress)*-80px));opacity:calc(1 - var(--progress)*1.4)}.hero-type p{display:inline-block;background:var(--paper);padding:5px 14px;color:var(--red)}h1{margin:12px 0;font-family:Georgia,serif;font-weight:400;font-size:clamp(62px,9.8vw,160px);letter-spacing:-.065em;line-height:.82;text-shadow:0 1px 30px var(--paper),0 0 12px var(--paper)}h1 span{font-size:.78em;letter-spacing:-.035em}.hero-bottom{position:absolute;bottom:32px;left:5vw;right:5vw;display:flex;align-items:end;justify-content:space-between;z-index:6;opacity:calc(1 - var(--progress)*2)}.hero-bottom p{font:clamp(20px,2.1vw,30px)/1.25 Georgia,serif;margin:0}.round-link{display:grid;place-items:center;width:52px;height:52px;border:1px solid #22262270;border-radius:50%;font-size:24px;transition:.3s}.round-link:hover{background:var(--ink);color:var(--paper)}.cross{position:absolute;font:40px Georgia;opacity:.4}.c1{left:8%;top:31%}.c2{right:8%;bottom:23%}#dissolve{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8}.memory{min-height:90svh;padding:140px 9vw 110px;position:relative;display:flex;flex-direction:column;justify-content:center;background:#ded8cb}h2{font:400 clamp(48px,6.7vw,102px)/1.02 Georgia,serif;letter-spacing:-.05em;margin:22px 0 40px}h2 em{font-weight:400;color:var(--red)}.memory-tail{align-self:end;font:20px/1.4 Georgia,serif}.memory-line{height:1px;width:75%;background:#8f92873d;margin:5px 0 35px;position:relative}.memory-line:after{content:'';position:absolute;right:0;width:5px;height:5px;border-radius:50%;background:var(--red);top:-2px}.reveal{opacity:.1;transform:translateY(25px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}.cast{padding:95px 0 65px;overflow:hidden}.section-head{padding:0 6vw;display:flex;justify-content:space-between;align-items:end;gap:25px}.cast h2{font-size:clamp(40px,5vw,74px);max-width:750px}.gallery-controls{display:flex;gap:12px;padding-bottom:40px}.gallery-controls button{border:1px solid #22262244;border-radius:50%;height:48px;width:48px;font-size:22px}.gallery-controls button:hover{background:var(--ink);color:var(--paper)}.cast-track{display:flex;gap:30px;padding:15px 6vw 35px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a5362d44 transparent}.cast-card{flex:0 0 min(38vw,490px);scroll-snap-align:center;text-align:left;padding:0;position:relative;transition:transform .5s}.cast-card:nth-child(even){padding-top:70px}.cast-card img{display:block;width:100%;height:auto;transition:filter .6s,transform .6s}.cast-card:hover img{filter:saturate(1.2);transform:translateY(-8px)}.cast-caption{display:flex;justify-content:space-between;align-items:center;margin-top:20px;border-top:1px solid #22262233;padding-top:16px;font:23px Georgia,serif}.cast-caption small{font:9px monospace;letter-spacing:1px;text-transform:uppercase}.cast-bottom{padding:20px 6vw 0;display:flex;justify-content:space-between;color:#606458}.choice{background:#141915;color:var(--paper);padding:70px 6vw 100px;text-align:center}.choice .section-head{padding:0}.choice h2{margin:70px 0 20px}.choice h2 em{color:#d37061}.factions{display:flex;justify-content:center;align-items:center;gap:6vw}.faction{display:flex;flex-direction:column;align-items:center;padding:20px 40px 30px;width:35%;max-width:380px;color:#9b9e92;transition:color .5s,background .5s}.faction canvas{width:180px;height:165px;max-width:100%}.faction>span{font:22px Georgia,serif;letter-spacing:4px;margin-top:20px}.faction small{font:9px monospace;letter-spacing:1px;margin-top:18px}.faction[aria-pressed=true],.faction:hover{color:var(--paper);background:#eae5da07}.choice-divider{font:70px Georgia;color:#70766a}.choice-detail{min-height:30px;font:21px Georgia;margin:35px 0}.text-link{font:11px monospace;letter-spacing:1px;display:inline-flex;gap:50px;justify-content:space-between;border-bottom:1px solid currentColor;padding:18px 0}.propagation{height:200svh;background:#0d0f0f;color:var(--paper)}.prop-sticky{position:sticky;top:0;height:100svh;min-height:550px;display:flex;flex-direction:column;justify-content:center;padding:100px 5vw 40px}.prop-sticky>p{margin:0 0 20px}.prop-sticky>canvas{width:100%;height:auto}.prop-foot{display:flex;justify-content:space-between;color:#94988e;margin-top:30px}.book{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;padding:120px 10vw;min-height:95svh;background:#e2ddcf}.book h2{font-size:clamp(80px,11vw,180px);margin:30px 0}.book-volume{font:10px monospace;letter-spacing:2px;margin:0 0 25px}.book-text>.text-link{display:flex;width:250px;max-width:100%;margin-top:8px}.book-stage{position:relative;perspective:1000px}.book-stage>button{padding:0;display:block;width:90%;max-width:370px;margin:auto;transform:rotateY(-10deg) rotateZ(3deg);transition:transform .6s;position:relative;z-index:1;box-shadow:20px 25px 35px #262a243b}.book-stage>button:hover{transform:rotateY(0deg) rotateZ(0deg)}.book-stage img{width:100%;height:auto;display:block}.book-shadow{position:absolute;bottom:-20px;left:15%;right:5%;height:35px;background:#33372c30;filter:blur(20px);border-radius:50%}footer{padding:35px 5vw;display:flex;justify-content:space-between;gap:15px;font:9px monospace;letter-spacing:1px;background:#101310;color:#b4b9aa}dialog{border:0;padding:50px;background:#eae5da;color:var(--ink);max-width:1100px;width:92vw;max-height:92svh}dialog::backdrop{background:#080c09ed;backdrop-filter:blur(8px)}.close{position:sticky;float:right;top:0;font-size:20px;z-index:1}.dialog-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center}.dialog-inner img{width:100%;max-height:77svh;object-fit:contain}.dialog-inner h2{font-size:55px}.dialog-inner>div>p:not(.eyebrow){font:20px Georgia}body:has(dialog[open]){overflow:hidden}body.reduced *,body.reduced *:before{scroll-behavior:auto!important;transition:none!important}.reduced .hero-art,.reduced .hero-type,.reduced .hero-portraits,.reduced .hero-bottom{transform:none;opacity:1}.reduced .opening{height:100svh}.reduced #dissolve{display:none}.reduced .reveal{opacity:1;transform:none}.reduced .propagation{height:auto}.reduced .prop-sticky{position:relative;height:auto;min-height:500px}section{scroll-margin-top:78px}
@media(max-width:700px){header{height:66px;padding:0 5vw}.brand{font-size:9px;gap:7px}.brand img{width:30px;height:30px}.brand small{font-size:7px}nav{gap:15px;font-size:9px}nav a:nth-child(2){display:none}#motion{font-size:0}#motion span{font-size:9px}.opening-sticky{min-height:580px}.top-line{top:86px;font-size:8px}.top-line span:last-child{display:none}.hero-portraits{inset:120px 0 80px}.hero-art{width:69%;height:84%;top:0}.hero-art.left{left:-20%;transform:rotate(-7deg)}.hero-art.right{right:-21%;transform:rotate(6deg)}.hero-art img{transform:scale(1.4)}.hero-type{top:41%}h1{font-size:clamp(52px,12.5vw,86px)}.hero-type p{font-size:8px}.hero-bottom{bottom:30px;align-items:center;flex-wrap:wrap;gap:25px}.hero-bottom p{font-size:22px}.hero-bottom>.eyebrow{width:100%;font-size:8px}.round-link{width:42px;height:42px}.memory{padding:90px 7vw;min-height:75svh}.memory h2{font-size:49px}.memory-tail{font-size:18px}.cast{padding-top:65px}.section-head{padding:0 7vw;align-items:center}.cast h2{font-size:35px}.gallery-controls{gap:6px;padding-bottom:0}.gallery-controls button{height:36px;width:36px;font-size:18px}.cast-track{gap:20px;padding-left:7vw}.cast-card{flex-basis:78vw}.cast-card:nth-child(even){padding-top:30px}.cast-caption{font-size:21px}.cast-caption small{font-size:8px}.cast-bottom{font-size:8px}.choice{padding:55px 6vw 75px}.choice .section-head span{display:none}.choice h2{font-size:45px;margin-top:55px}.factions{gap:0}.faction{padding:12px 5px;width:46%}.faction canvas{width:130px;height:130px}.faction>span{font-size:17px;letter-spacing:2px}.choice-divider{font-size:35px}.choice-detail{font-size:18px}.prop-sticky{padding:90px 2vw 40px;min-height:450px}.prop-sticky>p,.prop-foot{padding:0 5vw}.prop-foot{font-size:8px}.book{grid-template-columns:1fr;padding:70px 8vw;gap:50px}.book h2{font-size:100px}.book-stage{grid-row:1}.book-stage>button{width:65%}.book-text{text-align:center}.book-text>.text-link{margin:10px auto}.book .eyebrow{font-size:8px}footer{flex-direction:column;gap:16px}dialog{padding:20px}.dialog-inner{grid-template-columns:1fr;gap:12px}.dialog-inner img{max-height:58svh}.dialog-inner h2{font-size:35px;margin:10px 0}.dialog-inner>div>p:not(.eyebrow){display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.reveal{opacity:1;transform:none}}

.intro-logo{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#101310;pointer-events:none;animation:intro-away .25s ease .55s forwards}.intro-logo img{object-fit:contain;animation:intro-mark .15s ease both}@keyframes intro-away{to{opacity:0;visibility:hidden}}@keyframes intro-mark{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.intro-logo{display:none}}

.intro-skipped .intro-logo{display:none}

header{display:grid;grid-template-columns:1fr auto 1fr}header>nav{justify-self:center}header>.brand{justify-self:start}.menu-toggle{justify-self:end;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.menu-toggle span{height:2px;width:25px;background:#eae5da}.menu-toggle:hover span{background:#d37061}#site-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);height:100dvh;max-height:none;max-width:none;background:#151a16;color:#eae5da;padding:90px 48px 40px;overflow:auto}#site-menu::backdrop{background:#080c09bb;backdrop-filter:blur(8px)}#site-menu nav{display:flex;flex-direction:column;gap:0;margin-top:35px}#site-menu nav a{display:flex;justify-content:space-between;padding:23px 0;border-bottom:1px solid #eae5da25;font:clamp(23px,3vw,34px)/1.2 Georgia,serif;text-transform:none;letter-spacing:-.5px}#site-menu nav a:hover{color:#d37061}#site-menu nav span{font:10px monospace;letter-spacing:1px;align-self:center}.menu-close{position:absolute;right:27px;top:20px;width:44px;height:44px;font-size:23px}@media(max-width:700px){header{padding:0 3vw;gap:8px}header>nav{display:flex;gap:14px;font-size:8px}header>nav a:nth-child(2){display:block}.brand{letter-spacing:1.5px}.brand small{letter-spacing:3px}.brand img{width:26px;height:26px}.menu-toggle{width:36px}.menu-toggle span{width:23px}#site-menu{padding:85px 28px 35px}#site-menu nav a{display:flex}}
@media(max-width:700px){header>nav a{min-height:44px;display:flex!important;align-items:center}.menu-toggle{height:44px;width:44px}.brand{min-height:44px}.brand small{letter-spacing:2px}.brand{font-size:8px;letter-spacing:1px;gap:5px}header>nav{gap:12px;font-size:8px;letter-spacing:.5px}header{grid-template-columns:minmax(0,1fr) auto 44px;gap:8px}}
/* 5.1.0: approved ensemble artwork, purchase and four-second entrance. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.opening.poster-opening{height:auto;padding-top:80px;background:#eae5da}.poster-opening .opening-sticky{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding:25px 5vw 28px}.poster-top{display:flex;justify-content:space-between;font-size:9px;color:#68685c;gap:20px;margin:0 0 24px}.poster-scene{display:grid;grid-template-columns:1fr minmax(0,540px) 1fr;gap:4vw;align-items:center;max-width:1400px;margin:auto}.poster-frame{margin:0;line-height:0;position:relative;box-shadow:0 20px 45px #342b1714}.poster-frame img{width:100%;height:auto;max-height:calc(100svh - 250px);object-fit:contain;display:block}.poster-side{font:clamp(22px,2.2vw,35px)/1.2 Georgia,serif}.poster-side .eyebrow{color:#a5362d}.poster-side b{font-size:36px;font-weight:400}.poster-side-right{text-align:right}.poster-actions{max-width:1400px;margin:25px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.poster-question{display:none}.purchase-area{text-align:center;grid-column:2}.purchase-cta{min-height:54px;min-width:240px;display:inline-flex;align-items:center;justify-content:center;gap:50px;background:#a5362d;border:1px solid #a5362d;color:#fff7e9;font:12px Arial,sans-serif;letter-spacing:1px;padding:16px 25px;border-radius:3px;transition:background .2s,transform .2s}.purchase-cta:not(:disabled):hover{background:#852920;transform:translateY(-2px)}.purchase-cta:disabled{cursor:default;background:#736b60;border-color:#736b60}.purchase-note{font:9px/1.5 monospace;letter-spacing:1px;color:#716c60;margin:9px 0 0}.poster-down{justify-self:end;display:flex;gap:14px;align-items:center;min-height:44px}.poster-down>span{font-size:30px;font-weight:400;color:#a5362d}.poster-down>small{font:8px monospace;letter-spacing:1.5px}.poster-down:hover>span{transform:translateY(4px)}
.intro-logo{display:block;position:fixed;inset:0;background:#101310;animation:intro-away .5s ease 3.5s forwards;z-index:100;pointer-events:none}.intro-logo #intro-particles{position:absolute;inset:0;width:100%;height:100%}.intro-logo .intro-brand{position:absolute;left:50%;top:43%;width:100px;height:100px;transform:translate(-50%,-50%);animation:brand-into-points 1.7s ease both}.intro-wordmark{position:absolute;top:calc(43% + 70px);left:0;right:0;text-align:center;color:#eae5da;font:12px Arial,sans-serif;letter-spacing:5px;animation:brand-into-points 1.7s ease both}.intro-wordmark small{display:block;margin-top:8px;font-size:8px;letter-spacing:7px}@keyframes brand-into-points{0%{opacity:0}18%,62%{opacity:1}100%{opacity:0}}.intro-skipped .intro-logo{display:none}@media(prefers-reduced-motion:reduce){.intro-logo{display:none}}
@media(max-width:700px){.opening.poster-opening{padding-top:66px}.poster-opening .opening-sticky{padding:13px 0 21px}.poster-top{font-size:7px;padding:0 5vw;margin-bottom:12px;letter-spacing:1px}.poster-top span:last-child{display:none}.poster-scene{display:block}.poster-side{display:none}.poster-frame{width:100%;box-shadow:none}.poster-frame img{width:100%;max-height:none;object-fit:contain;height:auto}.poster-actions{margin:20px 5vw 0;display:flex;flex-direction:column;gap:17px}.poster-question{display:block;text-align:center;font:20px/1.3 Georgia,serif;letter-spacing:-.4px;margin:0}.poster-question em{font-style:normal;color:#a5362d}.purchase-area{width:100%}.purchase-cta{width:100%;max-width:350px;min-height:54px;font-size:13px;justify-content:space-between;padding-inline:24px}.purchase-note{font-size:8px}.poster-down{justify-self:auto;align-self:center;flex-direction:column;gap:6px;min-width:44px;min-height:44px}.poster-down>span{font-size:30px}.poster-down small{font-size:8px}.intro-logo .intro-brand{width:90px;height:90px}}
@media(min-width:701px){.poster-frame img{width:auto;max-width:100%;height:calc(100svh - 250px);margin:auto}}
@media(max-width:700px){.poster-frame img{width:auto;max-width:100%;height:calc(100svh - 325px);margin:auto}.poster-actions{gap:12px;margin-top:15px}.poster-question{font-size:18px}.poster-down{gap:2px}}

/* 5.1.1: identical black across menu/entrance; source black blends away. */
header,.intro-logo{background:#101310}.brand img,.intro-logo .intro-brand{mix-blend-mode:screen}.brand img{width:46px;height:46px}.intro-logo{isolation:isolate;animation:intro-away .37s ease 3.63s forwards}.intro-logo .intro-brand{width:220px;height:220px;animation:logo-only 2.1s ease both}.intro-wordmark{top:calc(43% + 135px);font-size:15px;animation:logo-only 2.1s ease both}.intro-wordmark small{font-size:10px}@keyframes logo-only{0%{opacity:0}12%,84%{opacity:1}100%{opacity:0}}@media(max-width:700px){.brand img{width:32px;height:32px}.intro-logo .intro-brand{width:180px;height:180px}.intro-wordmark{top:calc(43% + 110px);font-size:13px}.intro-wordmark small{font-size:9px}}

/* 5.1.2: erase the mark with black dots, pause in black, reveal the poster. */
.intro-logo{animation:intro-away .8s ease 3.2s forwards}.intro-logo #intro-particles{z-index:3}.intro-logo .intro-brand,.intro-wordmark{animation:logo-blackout 2.85s ease both}@keyframes logo-blackout{0%{opacity:0}10%,98%{opacity:1}100%{opacity:0}}

.memory-intro{max-width:640px;font:400 clamp(18px,1.6vw,23px)/1.65 Arial,sans-serif;letter-spacing:-.3px;color:#4a4d43;margin:0 0 42px;text-wrap:pretty}@media(max-width:700px){.memory-intro{font-size:18px;line-height:1.65;margin-bottom:34px;max-width:100%}.memory{padding-top:75px;padding-bottom:75px}}
/* 5.2.0: a reader's first dilemma, leading to the original five-question test. */
.dilemma{text-align:left;padding-bottom:100px}.dilemma-story{max-width:920px;margin:90px auto 0}.dilemma-kicker{color:#bc8a7d;font-size:9px}.dilemma h2{font-size:clamp(44px,5.8vw,84px);margin:30px 0 38px;line-height:1.08}.dilemma-lead{max-width:650px;font:19px/1.75 Arial,sans-serif;color:#c0c4b8}.dilemma-personal{margin:75px 0 55px;padding-left:32px;position:relative;max-width:750px}.dilemma-personal p{font:clamp(22px,2.4vw,34px)/1.45 Georgia,serif;letter-spacing:-.4px}.dilemma-rule{position:absolute;top:0;bottom:0;left:0;width:1px;background:linear-gradient(#cc6f5e,#cc6f5e00)}.dilemma-personal .dilemma-echo{color:#ba776b;transition:color 1.8s,opacity 1.8s}.dilemma-personal.in .dilemma-echo{color:#a1a79a;opacity:.75}.dilemma-trade{font:18px/1.75 Arial,sans-serif;max-width:620px;color:#c0c4b8}.dilemma-question{font:400 clamp(30px,3.6vw,52px)/1.22 Georgia,serif;letter-spacing:-.7px;margin:55px 0 0}.dilemma-invitation{border-top:1px solid #eae5da23;margin-top:60px;padding-top:30px;text-align:center}.dilemma-emblems{display:flex;justify-content:center;gap:45px;align-items:center}.faction-mark{display:flex;align-items:center;flex-direction:column}.faction-mark canvas{width:90px;height:83px;display:block}.faction-mark>span{font:9px monospace;letter-spacing:2px;color:#bac0b1;margin-top:10px}.dilemma-slash{font:25px Georgia;color:#757e6d}.dilemma-invitation>p{font:20px/1.5 Georgia,serif;margin:30px 0}.dilemma-cta{display:inline-flex;gap:50px;align-items:center;justify-content:space-between;min-height:56px;background:#eae5da;color:#171c16;padding:17px 27px;border:1px solid #eae5da;font-size:13px;letter-spacing:.5px;transition:.2s}.dilemma-cta:hover{background:#fff9ed}.dilemma-invitation .dilemma-meta{font:10px/1.9 monospace;letter-spacing:.4px;color:#a1a99a;margin:16px 0 0}#affinity-test{max-width:780px;width:94vw;max-height:92svh;padding:45px;background:#eae5da}.quiz-close{position:absolute;right:12px;top:12px;width:44px;height:44px;font-size:20px}.quiz-progress{font:10px monospace;letter-spacing:2px;color:#7a5044;margin:0 0 20px}.quiz-progress-bar{display:flex;gap:6px;margin-bottom:30px}.quiz-progress-bar span{height:2px;flex:1;background:#272c2228}.quiz-progress-bar span.done{background:#a5362d}#affinity-test h2{font-size:clamp(30px,4vw,48px);letter-spacing:-1px;margin:20px 0}#test-heading:focus{outline:none}#affinity-test .quiz-body p{font:16px/1.65 Arial,sans-serif;color:#4a4e43}.quiz-prompt{font:22px Georgia,serif;margin:25px 0 16px}.quiz-options{display:grid;gap:12px}.quiz-option{border:1px solid #22262240;padding:18px;text-align:left;display:flex;gap:15px;align-items:start;font:15px/1.55 Arial,sans-serif;min-height:56px}.quiz-option>span:first-child{font:12px monospace;color:#a5362d;margin-top:3px}.quiz-option[aria-pressed=true]{border-color:#a5362d;background:#a5362d0b;box-shadow:inset 3px 0 #a5362d}.quiz-nav{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:30px}.quiz-back{font:12px monospace;min-height:44px}.quiz-back:disabled{opacity:.4;cursor:default}.quiz-next{background:#222622;color:#eae5da;padding:15px 22px;font:12px monospace;min-height:48px}.quiz-next:disabled{opacity:.35;cursor:default}.quiz-privacy{font:10px/1.6 monospace;color:#73776b;margin-top:25px}.quiz-result-note{font:italic 22px/1.4 Georgia,serif;margin:28px 0}.quiz-result-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.quiz-result-actions a{border-bottom:1px solid currentColor;padding:15px 0;font:12px monospace}.quiz-score{font:11px/1.8 monospace;color:#666f5d}.quiz-score b{color:#a5362d}
@media(max-width:700px){.dilemma{padding:50px 7vw 65px}.dilemma-story{margin-top:45px}.dilemma h2{font-size:42px;margin:25px 0 30px}.dilemma-lead,.dilemma-trade{font-size:17px;line-height:1.7}.dilemma-personal{margin:42px 0 32px;padding-left:19px}.dilemma-personal p{font-size:25px;line-height:1.4}.dilemma-question{font-size:32px;margin-top:38px}.dilemma-invitation{margin-top:40px;padding-top:26px}.dilemma-invitation>p{font-size:20px;margin:25px 0}.dilemma-cta{width:100%;max-width:340px;font-size:14px}.dilemma-invitation .dilemma-meta{font-size:9px}#affinity-test{padding:52px 22px 28px;width:96vw;max-height:94svh}#affinity-test h2{font-size:33px}.quiz-option{padding:15px;font-size:15px}.quiz-nav{margin-top:24px}.quiz-back{font-size:11px}.quiz-privacy{font-size:9px}}
#affinity-test{overflow:hidden}#test-content{max-height:calc(92svh - 90px);overflow:auto;padding:2px 4px;scrollbar-width:thin}@media(max-width:700px){#test-content{max-height:calc(94svh - 80px)}}

.faction-context{max-width:590px;margin:28px auto 32px}.faction-context p{font:17px/1.65 Arial,sans-serif;color:#bec4b5;margin:15px 0}.faction-context .faction-context-title{font:28px/1.25 Georgia,serif;color:#eae5da;margin-bottom:22px;letter-spacing:-.4px}.faction-context em{color:#eae5da}@media(max-width:700px){.faction-context{margin:25px auto 28px}.faction-context .faction-context-title{font-size:26px}.faction-context p{font-size:16px;line-height:1.65}}

body.intro-running{overflow:hidden}.intro-logo{pointer-events:auto}

/* 5.2.4: organic erasure, a held blackout, then a restrained poster reveal. */
.intro-logo{animation:intro-away .75s cubic-bezier(.22,.61,.36,1) 3.85s forwards}.intro-logo .intro-brand,.intro-wordmark{animation:sinister-blackout 3.45s ease both}@keyframes sinister-blackout{0%{opacity:0}12%,95%{opacity:1}100%{opacity:0}}

/* 5.3.0: readable first-visit context before the personal dilemma. */
.memory-intro em,.book-summary em{color:inherit}.cast-intro{max-width:620px;font:18px/1.65 Arial,sans-serif;color:#bfc3b7;margin:0 0 35px}.book-summary{max-width:420px;font:18px/1.65 Arial,sans-serif;margin:25px 0 30px;color:#4a4d43}.dilemma-personal .dilemma-echo,.dilemma-personal.in .dilemma-echo{color:#c5b3a6;opacity:1}.memory-tail{max-width:100%}@media(max-width:700px){.cast-intro,.book-summary{font-size:17px}.poster-top{font-size:7px;letter-spacing:.7px}.dilemma-personal{margin:32px 0}.dilemma-story{margin-top:30px}}

/* 5.3.1: opaque ink on paper, without text fading on scroll. */
.memory,.cast,.book{color:#222622}.memory-intro,.cast-intro,.book-summary{color:#363b32}.cast-intro{margin:0 6vw 35px;max-width:620px}.reveal{opacity:1;transform:none;transition:none}.cast-caption small,.cast-bottom{color:#454a40}.quiz-privacy,.quiz-score{color:#4a5044}

/* 5.3.2: seal every light gap before revealing the poster. */
.intro-logo:after{content:'';position:absolute;inset:0;z-index:4;background:#101310;pointer-events:none;animation:seal-blackout 3.3s linear both}@keyframes seal-blackout{0%,83.33%{opacity:0}100%{opacity:1}}

/* 5.3.3: a completed/skipped intro must never intercept the page. */
.intro-logo[hidden]{display:none!important;pointer-events:none!important}.intro-logo{pointer-events:none}body.intro-running .intro-logo:not([hidden]){pointer-events:auto}@keyframes intro-away{to{opacity:0;visibility:hidden;pointer-events:none}}

/* 5.3.4: visible navigation remains beside the enlarged image on mobile. */
.portrait-stage{min-width:0;touch-action:pan-y pinch-zoom}.portrait-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}.portrait-controls[hidden],.portrait-hint[hidden]{display:none!important}.portrait-controls button{width:48px;height:48px;border:1px solid #22262266;border-radius:50%;font-size:25px;display:grid;place-items:center}.portrait-controls button:hover{background:#222622;color:#eae5da}#portrait-count{font:12px monospace;letter-spacing:2px}.portrait-hint{font:12px Arial,sans-serif!important;color:#4a5044}@media(max-width:700px){.dialog-inner img{max-height:54svh}.portrait-controls{margin-top:10px}.dialog-inner>div>.portrait-hint{display:block!important}.dialog-inner>div>.portrait-hint[hidden]{display:none!important}}

.decision-factions{text-transform:none}

/* 5.3.6: full genre line stays legible and wraps on narrow screens. */
.poster-top .poster-genres{color:#363b32;white-space:normal;line-height:1.7;text-wrap:balance}@media(max-width:700px){.poster-top .poster-genres{display:block;max-width:100%;font-size:8px;letter-spacing:.65px}.poster-top{min-height:28px}}

/* 5.4.0: legal information and readable fiction disclosure. */
.legal-nav{display:flex;flex-wrap:wrap;gap:16px;font:12px/1.6 Arial,sans-serif;text-transform:none;letter-spacing:0}.legal-nav a,.fiction-note a,.legal-content a{text-decoration:underline;text-underline-offset:3px}.fiction-note{margin:12px 6vw 25px;max-width:800px;font:14px/1.7 Arial,sans-serif;color:#454a40}.legal-content{max-width:900px;margin:auto;padding:145px 6vw 80px}.legal-content h1{font:400 clamp(36px,6vw,68px)/1.1 Georgia,serif;letter-spacing:-1px;text-shadow:none}.legal-content h2{font:400 29px/1.25 Georgia,serif;letter-spacing:-.5px;margin:38px 0 15px}.legal-content p,.legal-content td,.legal-content th{font:16px/1.75 Arial,sans-serif}.legal-content .legal-date{font-size:13px;color:#454a40}.legal-status{padding:20px;border-left:3px solid #a5362d;background:#ded8cb}.legal-content table{width:100%;border-collapse:collapse}.legal-content td,.legal-content th{padding:12px;text-align:left;border:1px solid #22262244;overflow-wrap:anywhere}.legal-page header>a:last-child{font:12px Arial,sans-serif}.legal-page footer,footer:has(.legal-nav){flex-wrap:wrap;gap:24px}

/* 5.5.0: an explicit gesture enables the optional sonic signature. */
.intro-logo{animation-delay:5.45s}
/* 5.6.0: local author and contact pages. */
.profile-main{max-width:1100px;margin:auto;padding:150px 7vw 90px}.profile-main h1{font:400 clamp(42px,6vw,88px)/1.08 Georgia,serif;letter-spacing:-2px;text-shadow:none;margin:30px 0}.profile-main h1 em{color:#a5362d}.profile-lead{max-width:680px;font:22px/1.6 Georgia,serif}.profile-copy{max-width:680px;border-top:1px solid #22262233;margin-top:50px;padding-top:20px}.profile-copy h2{font-size:36px;letter-spacing:-1px}.profile-copy p,.contact-note{font:18px/1.75 Arial,sans-serif;color:#363b32}.profile-actions,.profile-links{display:flex;flex-wrap:wrap;gap:24px;font:14px/1.7 Arial,sans-serif;text-transform:none;letter-spacing:0}.profile-actions{margin-top:45px}.profile-actions a,.profile-links a,.contact-note a{text-decoration:underline;text-underline-offset:5px}.contact-card{padding:32px;background:#ded8cb;margin:40px 0}.contact-email{display:block;font:clamp(17px,3vw,30px)/1.5 Georgia,serif;overflow-wrap:anywhere;margin:25px 0}.contact-button{display:inline-block;background:#101310;color:#eae5da;padding:16px 24px;font-size:15px}.contact-note{max-width:650px;font-size:15px}#site-menu nav{overflow-y:auto;max-height:73svh}#site-menu nav a{flex-shrink:0}@media(max-width:700px){.profile-main{padding-top:110px}.profile-main h1{letter-spacing:-1.5px}.contact-card{padding:24px 18px}}

/* 5.6.1: an editorial portrait and personal introduction. */
.author-hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.author-hero figure{margin:0}.author-hero img{width:100%;height:530px;object-fit:cover;filter:none;display:block}.author-hero figcaption{font:11px/1.5 Arial,sans-serif;color:#454a40;margin-top:10px}.author-hero h1{font-size:clamp(60px,7vw,105px)}.author-link{display:inline-block;margin-top:25px;border-bottom:1px solid;padding-bottom:10px;font-size:14px}.author-editorial .profile-copy{margin:85px auto 0;max-width:680px}.author-statement{margin:70px 0;background:#101310;color:#eae5da;padding:45px}.author-statement>p:last-child{font:36px/1.35 Georgia,serif;max-width:700px;margin-bottom:0}.author-book{display:grid;grid-template-columns:220px 1fr;gap:65px;align-items:center}.author-book>img{width:100%;height:auto}.author-book h2{font-size:44px}.author-book p:not(.eyebrow){font:18px/1.7 Arial,sans-serif}.author-book h2 em{color:#a5362d}@media(max-width:700px){header nav[aria-label="Accesos rápidos"]{gap:12px;font-size:8px;letter-spacing:.1px}.author-hero{grid-template-columns:1fr;gap:25px}.author-hero img{height:380px}.author-hero h1{font-size:64px}.author-editorial .profile-copy{margin-top:50px}.author-statement{padding:30px 22px;margin:45px 0}.author-statement>p:last-child{font-size:29px}.author-book{grid-template-columns:1fr;gap:25px}.author-book>img{max-width:210px}.author-book h2{font-size:36px}}

/* 5.6.4: author-approved prose, comfortable reading measure. */
.author-narrative p{margin:0 0 25px;line-height:1.85}.author-narrative .eyebrow{font:10px/1.6 monospace;letter-spacing:1.8px}.author-narrative .author-ending{font:24px/1.6 Georgia,serif}.author-narrative .author-ending:last-child{color:#a5362d}.author-editorial>.profile-actions{max-width:680px;margin:50px auto 0}.author-hero .profile-lead{font-size:23px;line-height:1.6}@media(max-width:700px){.author-hero h1{font-size:58px}.author-narrative .author-ending{font-size:23px}}

/* 5.7.0: shared editorial footer, descriptive internal navigation. */
footer.site-footer{display:block;background:#101310;color:#eae5da;padding:64px 6vw 24px;letter-spacing:0;text-transform:none}.footer-main{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:55px;padding-bottom:48px}.footer-wordmark{display:inline-block;font:20px/1.4 Arial,sans-serif;letter-spacing:4px}.footer-wordmark span{display:block;font-size:12px;letter-spacing:7px}.footer-identity p{font:15px/1.75 Arial,sans-serif;color:#b8bdb2;margin:24px 0 0;max-width:350px}.footer-group{display:flex;flex-direction:column;align-items:start;gap:4px;text-transform:none;letter-spacing:0;font:14px/1.5 Arial,sans-serif}.footer-group h2{font:11px/1.6 monospace;text-transform:uppercase;letter-spacing:1.8px;color:#b8bdb2;margin:0 0 15px}.footer-group a{padding:9px 0;min-height:40px}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid #eae5da30;padding-top:24px;display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-bottom p{font:12px/1.8 Arial,sans-serif;margin:0}.footer-bottom p span{color:#b8bdb2;font-size:11px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:8px 20px;font:12px/1.6 Arial,sans-serif;text-transform:none;letter-spacing:0}.footer-bottom nav a{padding:8px 0}.footer-top{font:13px Arial,sans-serif;min-height:44px;display:flex;align-items:center;gap:10px;white-space:nowrap}@media(max-width:700px){footer.site-footer{padding:45px 7vw 24px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 24px;padding-bottom:30px}.footer-identity{grid-column:1/-1}.footer-group{font-size:14px}.footer-bottom{align-items:start;flex-direction:column;gap:17px}.footer-bottom nav{gap:5px 18px}.footer-top{align-self:flex-end}}@media(max-width:360px){.footer-main{grid-template-columns:1fr}.footer-identity{grid-column:auto}}

/* 5.8.0: book discovery and purchase access. */
.book-purchase{margin:30px 0}.book-purchase .purchase-cta{min-height:58px;font-size:15px;letter-spacing:.3px;display:inline-flex;gap:45px;justify-content:space-between;align-items:center;max-width:100%;background:#a5362d;color:#fff7ed}.book-purchase .purchase-cta:disabled{background:#676a61;color:#fff;opacity:1;cursor:default}.book-purchase-note{font:13px/1.6 Arial,sans-serif;color:#454a40;margin:12px 0}.book-detail-hero{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.detail-cover{width:100%;max-width:380px;height:auto;box-shadow:12px 18px 35px #22262225}.detail-author{font:16px Arial,sans-serif}.detail-genres{font:12px/1.7 monospace;color:#454a40}.book-detail .profile-copy{margin:85px auto 0}.book-final-cta{border-top:1px solid #22262233;margin-top:65px;padding-top:45px;text-align:center}.book-final-cta h2{font-size:48px}.book-final-cta .profile-actions{justify-content:center}@media(max-width:700px){.book-detail-hero{grid-template-columns:1fr;gap:35px}.detail-cover{max-width:245px;justify-self:center}.book-purchase .purchase-cta{width:100%}.book-final-cta h2{font-size:38px}.book-detail h1{font-size:64px}}

/* Official author photograph: preserve the full composition and original colour. */
.author-hero figure img{height:auto;object-fit:contain;filter:none}

/* Editorial portrait: original photograph, responsive framing and soft edges. */
.author-hero{grid-template-columns:1.1fr 1fr;gap:45px}
.author-hero figure{aspect-ratio:4/5;width:100%;max-width:520px;justify-self:center}
.author-hero figure img{width:100%;height:100%;object-fit:cover;object-position:51% center;mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 78%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 78%,transparent);-webkit-mask-composite:source-in}
@media(max-width:700px){.author-hero{grid-template-columns:1fr;gap:12px}.author-hero figure{max-width:420px;aspect-ratio:1/1.05}.author-hero figure img{object-position:51% center}}

/* Shared footer: official logo and fluid layout on every page. */
.site-footer .footer-main,.site-footer .footer-bottom{width:100%;max-width:1280px;margin-inline:auto}
.site-footer .footer-main{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px)}
.site-footer .footer-main>*{min-width:0}
.site-footer .footer-wordmark{display:inline-flex;align-items:center;gap:18px;max-width:100%;text-decoration:none}
.site-footer .footer-logo{display:block;flex:0 0 auto;width:80px;height:80px;object-fit:contain;mix-blend-mode:screen}
.site-footer .footer-brand-text{display:block;font:20px/1.4 Arial,sans-serif;letter-spacing:3px}
.site-footer .footer-brand-text>span{font-size:12px;letter-spacing:6px;margin-top:3px}
.site-footer .footer-identity p{margin-top:20px}
.site-footer .footer-group a{overflow-wrap:anywhere;min-height:44px;padding-block:10px}
.site-footer .footer-bottom{flex-wrap:wrap;gap:20px 32px}
.site-footer .footer-bottom nav{min-width:0;gap:4px 22px}
.site-footer .footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1000px){.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.site-footer .footer-identity{grid-column:1/-1}.site-footer .footer-bottom{align-items:flex-start}.site-footer .footer-top{margin-left:auto}}
@media(max-width:600px){footer.site-footer{padding:40px 7vw 22px}.site-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:32px}.site-footer .footer-logo{width:68px;height:68px}.site-footer .footer-brand-text{font-size:18px;letter-spacing:2.5px}.site-footer .footer-brand-text>span{font-size:11px;letter-spacing:5px}.site-footer .footer-wordmark{gap:14px}.site-footer .footer-identity p{font-size:14px}.site-footer .footer-group{width:100%;gap:0}.site-footer .footer-group h2{margin-bottom:8px}.site-footer .footer-bottom{flex-direction:column;gap:14px}.site-footer .footer-bottom nav{width:100%;column-gap:20px}.site-footer .footer-top{align-self:flex-end}}

/* Compact mobile footer: two readable link groups without a long vertical stack. */
@media(max-width:600px){
 footer.site-footer{padding:26px 6vw 16px}
 .site-footer .footer-main{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px 18px;padding-bottom:20px}
 .site-footer .footer-identity{grid-column:1/-1}
 .site-footer .footer-wordmark{gap:12px}
 .site-footer .footer-logo{width:46px;height:46px}
 .site-footer .footer-brand-text{font-size:15px;letter-spacing:2px}
 .site-footer .footer-brand-text>span{font-size:9px;letter-spacing:4px;margin-top:2px}
 .site-footer .footer-identity p{font-size:12px;line-height:1.6;margin-top:10px;max-width:340px}
 .site-footer .footer-group{font-size:12px;line-height:1.5}
 .site-footer .footer-group h2{font-size:9px;letter-spacing:1.2px;margin-bottom:6px}
 .site-footer .footer-group a{display:flex;align-items:center;min-height:44px;padding:7px 0;width:100%}
 .site-footer .footer-bottom{padding-top:16px;gap:8px;position:relative}
 .site-footer .footer-bottom p{font-size:10px;line-height:1.7;padding-right:32px}
 .site-footer .footer-bottom p span{font-size:10px}
 .site-footer .footer-bottom nav{gap:0 15px;font-size:10px;line-height:1.5}
 .site-footer .footer-bottom nav a{min-height:40px;padding:8px 0}
 .site-footer .footer-top{position:absolute;top:9px;right:0;min-width:32px;min-height:44px;justify-content:center;margin:0}
 .site-footer .footer-top span{display:none}
}

/* Match the approved desktop purchase button on small screens; retain section gutters. */
@media(max-width:700px){
 :is(.poster-actions,.book-purchase) .purchase-cta,
 :is(.poster-actions,.book-purchase) .purchase-cta:disabled{background:#a5362d;border:1px solid #a5362d;color:#fff;opacity:1;border-radius:3px;box-shadow:none;font:14px/1.4 Arial,sans-serif;letter-spacing:.3px;min-height:52px;min-width:0;width:100%;max-width:min(100%,350px);padding:15px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box}
 :is(.poster-actions,.book-purchase) .purchase-cta:not(:disabled):hover{background:#852920;border-color:#852920}
 :is(.poster-actions,.book-purchase) .purchase-cta:disabled{cursor:default}
}

/* Mobile and small-tablet intro: a slightly larger mark and clear wordmark spacing. */
@media(max-width:700px){.intro-logo .intro-brand{width:clamp(200px,57vw,230px);height:clamp(200px,57vw,230px)}.intro-wordmark{top:calc(43% + clamp(120px,33vw,135px))}}

/* Keep the mobile scroll cue within the first screen. */
@media(max-width:700px){
 .poster-frame img{height:max(200px,calc(100svh - 325px))}
 .poster-actions{gap:10px;margin-top:12px}
 .poster-down{flex-direction:row;gap:8px;line-height:1;min-height:44px;justify-content:center}
 .poster-down>span{font-size:26px;line-height:1}
 .poster-down small{line-height:1.4}
}

/* Shared compact book navigation, including the mobile two-line Book 1 cell. */
header nav[aria-label="Accesos rápidos"] .nav-book-one{gap:4px}
header nav[aria-label="Accesos rápidos"] .nav-book-one small{font:inherit}
@media(max-width:700px){
 header{padding-left:3vw;padding-right:3vw;gap:10px}
 header .brand{gap:6px;font-size:9px;letter-spacing:1.4px;flex-shrink:0}
 header .brand img{width:30px;height:30px}
 header .brand small{font-size:6px;letter-spacing:2px}
 header nav[aria-label="Accesos rápidos"]{display:flex!important;gap:8px;font-size:8px;letter-spacing:0;justify-content:center;flex:1;min-width:0}
 header nav[aria-label="Accesos rápidos"]>a{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;flex-shrink:0;min-height:44px;padding-top:10px;box-sizing:border-box;line-height:1.15;white-space:nowrap}
 header nav[aria-label="Accesos rápidos"] .nav-book-one{flex-direction:column;gap:3px;line-height:1.15}
 header nav[aria-label="Accesos rápidos"] .nav-book-one small{display:block;font-size:7px;font-weight:400}
 header .menu-toggle{flex-shrink:0;width:26px;padding-left:0;padding-right:0}
}
@media(max-width:360px){header{gap:6px}header .brand{font-size:8px}header .brand img{width:25px;height:25px}header nav[aria-label="Accesos rápidos"]{gap:6px;font-size:7px}}

/* Keep fragment destinations clear of the fixed mobile header. */
@media(max-width:700px){main section[id]{scroll-margin-top:80px}}
