*{box-sizing:border-box}html{scroll-behavior:smooth;background:#170b07}body{margin:0;color:#f4e9d6;font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #dab280;outline-offset:8px}#stage,.vignette{position:fixed;inset:0}canvas{display:block;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(0deg,rgba(12,5,3,.85),transparent 35%,transparent 75%,rgba(8,4,2,.35)),radial-gradient(ellipse at center,transparent 42%,rgba(7,3,1,.3));z-index:1}header{position:fixed;left:3%;right:3%;top:0;height:88px;border-bottom:0;display:flex;align-items:center;justify-content:space-between;z-index:10}.brand{display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:5px}.seal{width:49px;height:49px;border:1px solid #eee1c9;border-radius:50%;display:inline-grid;place-items:center;font:35px Georgia,serif;letter-spacing:0}nav{display:flex;gap:42px;font-size:10px;letter-spacing:3px}nav a{opacity:.65;transition:opacity .2s}nav a:hover,nav a.active{opacity:1}#menu{border:0;background:none;width:48px;padding:0;display:grid;gap:6px}#menu i{height:1px;width:35px;background:#f4e9d6}#menu span{font-size:8px;letter-spacing:3px;margin-top:3px;text-align:left}main{height:360vh}section{height:120vh}.copy{position:fixed;z-index:3;pointer-events:none}#hero{bottom:12.5%;left:0;right:0;text-align:center}.eyebrow{font-size:9px;letter-spacing:4px;color:#d3b587;margin:0 0 14px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0}h1{font-size:clamp(38px,5.2vw,82px);font-variant:small-caps;line-height:1.05;letter-spacing:3px;text-shadow:0 2px 25px #190700}h1 small{font-size:18px;display:block;text-transform:uppercase;letter-spacing:12px;margin-bottom:4px}.subtitle{font:clamp(14px,1.3vw,19px)/1.4 Georgia,serif;letter-spacing:.5px;margin:15px 0 0;color:#e7d7bf}.chapter{top:33%;left:7%;opacity:0;max-width:350px}h2{font-size:clamp(42px,4.6vw,73px);line-height:1.09;letter-spacing:-1px}.chapter>p:last-of-type{font:15px/1.8 Georgia,serif;color:#c8b8a5;margin-top:22px}.return{pointer-events:auto;border:0;border-bottom:1px solid #d5b38788;background:transparent;padding:14px 0;font-size:10px;letter-spacing:1.4px;margin-top:14px}.return span{margin-left:25px}footer{position:fixed;bottom:28px;left:3%;right:3%;display:flex;justify-content:space-between;align-items:center;z-index:5;font-size:8px;letter-spacing:2px;color:#cdbb9e}.concept b{font-weight:400;margin:0 8px;opacity:.5}#scroll-cue{border:0;background:none;font-size:8px;letter-spacing:3px;color:#f5e8d5}#scroll-cue span{display:block;font-size:20px;margin-top:9px}.progress{position:fixed;right:0;top:0;bottom:0;width:2px;z-index:15;background:#ffffff0a}#progress{height:0;background:#c8a472}#loading{position:fixed;inset:0;background:#160d09;z-index:30;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .8s}#loading p{font-size:9px;letter-spacing:4px;margin-top:30px}.loadtrack{height:1px;width:160px;background:#ffffff22;margin-top:14px}.loadtrack i{display:block;background:#c69a62;height:1px;width:4%;transition:width .3s}#loading.loaded{opacity:0;pointer-events:none}#menu-panel{position:fixed;inset:0;z-index:20;background:#190c08f5;padding:16vh 12%;backdrop-filter:blur(18px)}#menu-panel[hidden]{display:none}#menu-panel>a{display:block;font:clamp(36px,6vw,80px)/1.6 Georgia,serif;border-bottom:1px solid #c6a47733}#menu-panel small{float:right;font:12px Arial;margin-top:35px;color:#a3845e}#close-menu{position:absolute;right:4%;top:35px;border:0;background:none;font-size:12px;letter-spacing:2px}.menu-note{margin-top:30px;color:#ad9479;font-size:12px}@media(max-width:700px){header{height:74px;left:6%;right:6%}.brand{font-size:9px;letter-spacing:2px;gap:12px}.seal{width:39px;height:39px;font-size:29px}nav{display:none}#hero{bottom:17%}h1{font-size:38px;letter-spacing:0}h1 small{font-size:17px;letter-spacing:8px}.eyebrow{font-size:8px;letter-spacing:2.5px}.subtitle{font-size:14px}.chapter{top:auto;bottom:18%;left:7%}h2{font-size:42px}.chapter>p:last-of-type{font-size:14px;margin-top:13px}.concept{display:none}footer{left:7%;right:7%;bottom:22px}#scroll-cue{text-align:left;font-size:8px}.vignette{background:linear-gradient(0deg,#120803e8,transparent 65%)}.return{margin-top:3px}#menu-panel{padding:20vh 8%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Hero refinement: warm ivory highlights and a truly centered scroll cue. */
h1{font-size:clamp(42px,5.9vw,94px);background:linear-gradient(180deg,#fff9ed 12%,#eee0c4 57%,#b99a6d 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
h1 small{font-size:20px;color:#eee2ca}
.subtitle{font-size:clamp(15px,1.5vw,22px);background:linear-gradient(180deg,#fff4df,#c5ae88);-webkit-background-clip:text;background-clip:text;color:transparent}
#scroll-cue{position:fixed;left:50%;transform:translateX(-50%);bottom:5.5%;text-align:center;white-space:nowrap}
@media(max-width:700px){h1{font-size:43px}h1 small{font-size:18px}.subtitle{font-size:16px}#scroll-cue{left:50%;bottom:7%;text-align:center}footer{justify-content:flex-end}}

/* Keep the inscription unobstructed during the close approach. */
#last{top:17%;bottom:auto;left:5%;max-width:240px}#last h2{font-size:clamp(30px,3vw,46px)}#last>p:last-of-type{font-size:13px;margin-top:15px}
@media(max-width:700px){#last{top:15%;left:7%;max-width:220px}#last h2{font-size:28px}#last .return{padding:8px 0}#last .eyebrow{margin-bottom:8px}}

/* Persistent navigation and a gentle invitation to scroll. */
#scroll-cue{bottom:3.5%}
#scroll-cue .cue-content{font-size:8px;margin-top:0}
#scroll-cue .cue-content,#scroll-cue .cue-arrow{animation:cue-breathe 3.6s ease-in-out infinite}
#scroll-cue .cue-arrow{font-size:20px;margin-top:9px}
@keyframes cue-breathe{0%,100%{opacity:.75}50%{opacity:.25}}
@media(max-width:700px){#scroll-cue{bottom:4.5%}}
@media(prefers-reduced-motion:reduce){#scroll-cue .cue-content,#scroll-cue .cue-arrow{animation:none;opacity:.65}}

/* A quiet text index against a darkened edge of the gallery. */
#contents-shade{position:fixed;z-index:5;left:0;top:0;bottom:0;width:min(510px,42vw);background:linear-gradient(90deg,rgba(6,4,4,.96) 0%,rgba(8,4,4,.88) 60%,transparent 100%);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s ease}
#contents-shade.shown{opacity:1;visibility:visible}
#contents{position:fixed;z-index:6;top:106px;bottom:25px;left:3%;width:min(305px,27vw);overflow-y:auto;overscroll-behavior:contain;padding:0 10px 18px 0;background:none;border:0;box-shadow:none;backdrop-filter:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-12px);transition:opacity .45s ease,transform .45s ease,visibility .45s ease;scrollbar-color:#b7aaa055 transparent;scrollbar-width:thin}
#contents.shown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}
.contents-kicker{font:13px/1.4 Arial,sans-serif;color:#d3c7bd;margin:0 0 13px}
.toc-group,.toc-category{position:relative;margin-left:0;border-left:1px solid rgba(225,218,207,.17)}
.toc-heading,.toc-category{display:block;width:100%;padding:7px 7px 7px 15px;background:none;border:0;color:#b9aca2;text-align:left;font:13px/1.3 Arial,sans-serif}
.toc-heading{cursor:pointer;transition:color .25s ease}
.toc-heading:hover,.toc-group.open .toc-heading{color:#f1ece6}
.toc-group.open::before{content:'';position:absolute;left:-1px;top:6px;width:2px;height:21px;background:#f4ece4}
.toc-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .46s cubic-bezier(.22,1,.36,1),opacity .35s ease}
.toc-group.open .toc-body{grid-template-rows:1fr;opacity:1}
.toc-body-inner{overflow:hidden;min-height:0;padding-left:25px}
.toc-item{display:block;width:100%;padding:5px 0;border:0;background:none;color:#a89e96;text-align:left;font:13px/1.35 Arial,sans-serif;cursor:pointer;transition:color .2s ease,transform .2s ease}
.toc-item:hover,.toc-item.selected{color:#f1e8dc;transform:translateX(2px)}
.toc-category{color:#aba19a;padding-top:8px;padding-bottom:8px}
#last{left:auto;right:4.5%;max-width:245px;text-align:right}
#last .return{pointer-events:auto}
@media(max-width:900px){#contents{width:260px;left:3%}#contents-shade{width:335px}#last{right:3%;max-width:190px}#last h2{font-size:32px}}
@media(max-width:700px){#contents{top:86px;bottom:16px;left:4%;width:min(59vw,245px)}#contents-shade{width:70vw}.toc-heading,.toc-category,.toc-item{font-size:11px}#last{top:102px;right:3%;left:auto;max-width:30vw;text-align:right}#last h2{font-size:clamp(20px,5vw,28px)}#last .eyebrow{font-size:7px;letter-spacing:1px}#last>p:last-of-type{font-size:10px;line-height:1.35}#last .return{font-size:8px;letter-spacing:0}#last .return span{margin-left:4px}}
@media(prefers-reduced-motion:reduce){#contents,#contents-shade,.toc-body{transition:none}}

/* Give the final scroll view more breathing room. */
#contents{top:130px}
#last{top:22%;right:7.5%;max-width:300px}
@media(max-width:900px){#contents{top:116px}#last{right:6%;max-width:230px}}
@media(max-width:700px){#contents{top:108px}#last{top:135px;right:5%;max-width:35vw}}

/* Lower the closing line after removing its small labels. */
#last{top:calc(22% + 30px)}
@media(max-width:900px){#last{top:calc(22% + 30px)}}
@media(max-width:700px){#last{top:166px}}
