:root{
  --ink:#091620; --paper:#f2eee5; --gold:#b59b68; --ease:cubic-bezier(.16,1,.3,1);
  --serif: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#05090c}body{margin:0;background:#05090c;color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::selection{background:rgba(181,155,104,.35)}
.skip{position:fixed;left:12px;top:-80px;z-index:300;background:#fff;color:#07131d;padding:10px 14px;text-decoration:none;font:700 12px/1 var(--sans);transition:top .2s}.skip:focus{top:12px}
.brand{position:fixed;z-index:90;left:max(16px,env(safe-area-inset-left));top:max(16px,env(safe-area-inset-top));width:clamp(58px,6vw,92px);aspect-ratio:1;display:block;filter:drop-shadow(0 10px 28px rgba(0,0,0,.28));transition:transform .5s var(--ease),opacity .5s var(--ease)}
.brand:hover{transform:scale(1.06)}.brand img{width:100%;height:100%;object-fit:contain;display:block}
.rail{position:fixed;z-index:80;right:max(12px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;padding:8px}
.rail a{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.33);display:block;transition:.35s var(--ease);box-shadow:0 0 0 1px rgba(0,0,0,.08)}.rail a.active{height:22px;border-radius:4px;background:#fff}
.progress{position:fixed;z-index:79;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:#fff;mix-blend-mode:difference;pointer-events:none}
.chapter{--bg:var(--paper);--fg:var(--ink);position:relative;min-height:118svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,46vw);align-items:center;gap:clamp(24px,5vw,90px);padding:12svh clamp(24px,6vw,110px);overflow:hidden;isolation:isolate;background:var(--bg);color:var(--fg)}
.chapter.dark{--bg:#07131d;--fg:#f5f1e8}.chapter.light{--bg:#f2eee5;--fg:#0b1822}
.ambient{position:absolute;z-index:-4;inset:-10%;background-size:cover;background-position:center;filter:blur(38px) saturate(.7);opacity:.16;transform:scale(1.22);transition:transform 1.4s var(--ease),opacity 1.2s var(--ease)}
.chapter.dark .ambient{opacity:.30;filter:blur(40px) saturate(.72) brightness(.55)}
.chapter.is-active .ambient{transform:scale(1.08)}
.chapter::before{content:"";position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 94%,transparent) 42%,color-mix(in srgb,var(--bg) 78%,transparent) 100%)}
.layout-right::before{background:linear-gradient(270deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 94%,transparent) 42%,color-mix(in srgb,var(--bg) 78%,transparent) 100%)}
.window-lines{position:absolute;inset:clamp(22px,3vw,52px);z-index:-1;pointer-events:none;opacity:.15}.window-lines::before{content:"";position:absolute;inset:0;border:1px solid currentColor}.window-lines i,.window-lines b{position:absolute;display:block;background:currentColor}.window-lines i{top:0;bottom:0;width:1px;left:50%}.window-lines b{left:0;right:0;height:1px;top:50%}
.copy{position:relative;z-index:4;max-width:720px;opacity:0;transform:translateY(42px);transition:opacity .8s var(--ease),transform 1s var(--ease)}.chapter.is-visible .copy{opacity:1;transform:none}
.label{font:600 clamp(9px,.72vw,12px)/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;margin-bottom:clamp(18px,2.4vw,34px)}
h1,h2{font:400 clamp(46px,6.5vw,116px)/.94 var(--serif);letter-spacing:-.045em;margin:0;text-wrap:balance}.sub{font:500 clamp(10px,.9vw,14px)/1.6 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin-top:clamp(24px,3vw,46px);max-width:620px}
.echo{position:absolute;z-index:-2;left:-.035em;bottom:-.13em;white-space:nowrap;font:400 clamp(110px,18vw,340px)/.72 var(--serif);letter-spacing:-.07em;opacity:.035;transform:translate3d(-4vw,4vh,0);pointer-events:none;transition:transform 1.5s var(--ease)}.chapter.is-active .echo{transform:translate3d(0,0,0)}
.art{position:relative;z-index:5;border:0;padding:0;background:transparent;color:inherit;width:min(100%,760px);justify-self:end;cursor:zoom-in;perspective:1200px;opacity:0;transform:translate3d(4vw,50px,0) rotateY(-6deg);transition:opacity .85s var(--ease),transform 1.2s var(--ease)}.layout-right .art{grid-column:1;grid-row:1;justify-self:start;transform:translate3d(-4vw,50px,0) rotateY(6deg)}.layout-right .copy{grid-column:2;grid-row:1}.chapter.is-visible .art{opacity:1;transform:none}
.art::after{content:"";position:absolute;inset:6% -5% -7% 6%;z-index:-1;background:rgba(0,0,0,.28);filter:blur(34px);opacity:.55;transition:.55s var(--ease)}.art:hover::after{transform:translateY(12px);filter:blur(44px)}
.art img{display:block;width:100%;height:auto;max-height:82svh;object-fit:contain;box-shadow:0 36px 90px rgba(0,0,0,.22);transition:transform .7s var(--ease),box-shadow .7s var(--ease);transform:translateZ(0)}.art:hover img{transform:scale(1.018);box-shadow:0 46px 110px rgba(0,0,0,.3)}
.layout-hero{min-height:100svh;grid-template-columns:minmax(260px,.72fr) minmax(320px,1.28fr);background:#07131d}.layout-hero .copy h1,.layout-hero .copy h2{font-size:clamp(68px,8.5vw,160px);color:#fff}.layout-hero .art{width:min(92%,800px)}.layout-hero .ambient{opacity:.15}.layout-hero .echo{opacity:.025}
.layout-type{min-height:100svh;grid-template-columns:1fr}.layout-type .copy{max-width:none}.layout-type .copy h1,.layout-type .copy h2{font-size:clamp(86px,14vw,250px);line-height:.81}.layout-type .art{position:absolute;right:clamp(24px,6vw,100px);bottom:clamp(24px,5vw,70px);width:min(27vw,380px);opacity:.32!important;filter:saturate(.3);mix-blend-mode:multiply}.layout-type .window-lines{opacity:.1}
.layout-compact .copy h1,.layout-compact .copy h2{font-size:clamp(48px,5vw,90px)}
.layout-thesis{min-height:128svh;grid-template-columns:1fr}.layout-thesis .copy{max-width:1300px}.layout-thesis .copy h1,.layout-thesis .copy h2{font-size:clamp(60px,9.4vw,170px);line-height:.88}.layout-thesis .art{position:absolute;right:5vw;bottom:5vh;width:min(30vw,450px);opacity:.14!important;mix-blend-mode:multiply}.layout-thesis .echo{opacity:.02}
.layout-epilogue{min-height:125svh}.layout-epilogue .copy h1,.layout-epilogue .copy h2{font-size:clamp(58px,7vw,130px)}.layout-epilogue .sub{font-family:var(--serif);font-size:clamp(30px,4vw,70px);font-weight:400;letter-spacing:-.03em;text-transform:none;line-height:.95;color:#d7c290}
.layout-final{min-height:100svh;grid-template-columns:1fr;text-align:center}.layout-final .copy{justify-self:center;max-width:1100px}.layout-final .copy h1,.layout-final .copy h2{font-size:clamp(92px,15vw,260px);line-height:.78}.layout-final .sub{margin-left:auto;margin-right:auto}.layout-final .art{position:absolute;inset:0;width:100%;height:100%;opacity:.12!important;filter:blur(2px);pointer-events:none}.layout-final .art img{width:100%;height:100%;max-height:none;object-fit:cover;box-shadow:none}.layout-final .window-lines{opacity:.18}
.viewer{position:fixed;inset:0;z-index:200;background:rgba(4,8,11,.96);border:0;padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;overflow:auto;overscroll-behavior:contain}.viewer::backdrop{background:rgba(4,8,11,.96)}.viewer[open]{display:grid;place-items:center}.viewer img{display:block;width:min(96vw,1100px);height:auto;margin:auto;box-shadow:0 30px 120px rgba(0,0,0,.55)}.viewer button{position:fixed;z-index:2;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:52px;height:52px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.25);backdrop-filter:blur(12px);color:#fff;font:300 32px/1 Arial;cursor:pointer}
.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}
@media(max-width:850px){
 .viewer[open]{display:block;padding-top:70px}.viewer img{width:180vw;max-width:none;margin:0 0 30px 0}
 .brand{width:58px}.rail{display:none}.chapter,.layout-hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:100px 18px 64px}.chapter::before,.layout-right::before{background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 96%,transparent) 52%,color-mix(in srgb,var(--bg) 86%,transparent) 100%)}
 .window-lines{inset:14px;opacity:.09}.copy,.layout-right .copy{order:1;max-width:100%;padding:0 4px}.label{font-size:9px;margin-bottom:16px}.copy h1,.copy h2,.layout-hero .copy h1,.layout-hero .copy h2,.layout-epilogue .copy h1,.layout-epilogue .copy h2{font-size:clamp(46px,15vw,82px);line-height:.9}.sub{font-size:10px;letter-spacing:.18em;margin-top:20px}.layout-epilogue .sub{font-size:clamp(30px,10vw,54px);letter-spacing:-.03em}
 .art,.layout-right .art,.layout-type .art,.layout-thesis .art{order:2;position:relative;right:auto;bottom:auto;width:calc(100vw - 20px);margin-left:-8px;grid-column:auto;grid-row:auto;opacity:1!important;filter:none;mix-blend-mode:normal;transform:none!important;align-self:center}.art img{max-height:none;width:100%;box-shadow:0 22px 60px rgba(0,0,0,.22)}
 .echo{font-size:38vw;bottom:4%;opacity:.028;white-space:normal;width:120vw}.ambient{opacity:.12}.chapter.dark .ambient{opacity:.24}
 .layout-type,.layout-thesis,.layout-final{min-height:auto}.layout-type .copy h1,.layout-type .copy h2,.layout-thesis .copy h1,.layout-thesis .copy h2,.layout-final .copy h1,.layout-final .copy h2{font-size:clamp(58px,19vw,100px);line-height:.82}.layout-final{text-align:left}.layout-final .art{position:relative;width:calc(100vw - 20px);height:auto;pointer-events:auto;opacity:1!important;filter:none}.layout-final .art img{height:auto;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ambient,.copy,.art,.echo,.art img{transition:none!important;transform:none!important}.copy,.art{opacity:1!important}}
