:root{--ivory:#eee6db;--ink:#100e0d;--serif:"Iowan Old Style","Baskerville","Times New Roman",serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity}
body{margin:0;background:#17110e;color:var(--ink);font-family:var(--sans);overflow-x:hidden}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.back-home{position:fixed;z-index:30;top:23px;right:3vw;padding:.65rem .9rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(19,15,13,.72);color:#fff;backdrop-filter:blur(9px);text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font:600 9px var(--sans)}
.page{position:relative;width:100%;height:100svh;min-height:100svh;display:block;scroll-snap-align:start;overflow:hidden;background:#eee6db}
.page.dark{background:#30221c}.page img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center top}
.page-link{position:absolute;inset:0;z-index:2;cursor:s-resize}
.page-nav{position:fixed;z-index:20;right:30px;bottom:25px;display:flex;align-items:center;gap:10px;padding:.42rem .6rem;border-radius:999px;background:rgba(19,15,13,.72);color:#fff;backdrop-filter:blur(9px);font:500 9px var(--sans);letter-spacing:.18em}
.page-nav i{display:block;width:54px;height:1px;background:currentColor;opacity:.7}
.page-nav button{width:30px;height:30px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:14px;line-height:27px;cursor:pointer}.page-nav button:hover{background:#fff;color:#000}
.scroll-cue{position:fixed;z-index:20;left:30px;bottom:27px;margin:0;padding:.6rem .35rem;border-radius:999px;background:rgba(19,15,13,.6);color:#fff;text-transform:uppercase;letter-spacing:.25em;font:500 8px var(--sans);writing-mode:vertical-rl}
.scroll-cue:after{content:"";display:block;width:1px;height:28px;background:currentColor;margin:10px auto 0;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.35);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}
@media(max-width:700px){html{scroll-snap-type:none}.back-home{top:14px;right:14px}.page-nav{right:15px;bottom:14px}.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue:after{animation:none}}
