*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#11100e;color:#eee9df;font-family:"DM Sans",sans-serif;font-weight:300;overflow-x:hidden}.hidden{display:none!important}button,a{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{text-decoration:none}.opening{position:fixed;inset:0;background:#11100e;z-index:1000;display:flex;flex-direction:column;justify-content:space-between;padding:30px 5vw;overflow:hidden}.opening:after{content:"";position:absolute;inset:0;opacity:.05;background-image:radial-gradient(#fff .7px,transparent .7px);background-size:4px 4px;pointer-events:none}.opening-meta,.opening-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.22em;color:#777;position:relative;z-index:2}.opening-center{position:relative;z-index:2;text-align:center;transform:translateY(15px);opacity:0;animation:rise 1.3s .4s forwards}.tiny{font-size:9px;letter-spacing:.35em;color:#8f897e;margin-bottom:25px}.opening h1{font:400 clamp(4rem,12vw,10rem)/.8 "Playfair Display",serif;letter-spacing:-.06em}.opening h1 i{color:#c7ad7c}.opening-center p{font-size:12px;color:#777;margin:35px 0}.opening button{border:1px solid #4a4741;padding:14px 22px;letter-spacing:.18em;font-size:9px;transition:.3s}.opening button:hover{border-color:#c7ad7c;color:#c7ad7c}.opening button span{margin-left:10px;color:#c7ad7c}@keyframes rise{to{opacity:1;transform:none}}.topbar{height:75px;position:fixed;top:0;left:0;right:0;z-index:50;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#aaa;mix-blend-mode:difference}.logo{font:italic 25px "Playfair Display",serif;color:#fff}.topbar-right{display:flex;align-items:center;gap:25px;font-size:8px;letter-spacing:.2em}.topbar-right button{font-size:8px;letter-spacing:.2em;color:#aaa}.home{height:100vh;min-height:700px;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#161512}.home-bg{position:absolute;inset:-10%;background:radial-gradient(circle at 50% 45%,#3a3429 0,#1c1a16 27%,#11100e 65%);animation:breathe 10s ease-in-out infinite alternate}.home-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 70%,transparent)}@keyframes breathe{to{transform:scale(1.07)}}.home-content{position:relative;z-index:2}.label{font-size:9px;letter-spacing:.3em;color:#9a9489;margin-bottom:25px}.home h2{font:400 clamp(4rem,9vw,9rem)/.84 "Playfair Display",serif;letter-spacing:-.05em}.home h2 i{color:#c7ad7c}.intro-copy{font-size:12px;line-height:1.8;color:#858078;margin-top:35px}.down{display:inline-flex;gap:18px;margin-top:70px;font-size:8px;letter-spacing:.25em;color:#8e8980}.down span{font-size:16px;color:#c7ad7c}.side-note{position:absolute;right:4vw;bottom:40px;font-size:8px;letter-spacing:.2em;color:#6e6a63;text-align:right}.side-note small{display:block;margin-top:7px;color:#4e4b46}.chapter{min-height:100vh;padding:14vh 12vw;position:relative;display:grid;grid-template-columns:100px 1fr 1fr;align-items:center;gap:6vw;background:#11100e}.chapter-index{font:italic 60px "Playfair Display",serif;color:#504b43;align-self:start}.chapter-title h2{font:400 clamp(3.5rem,7vw,7rem)/.87 "Playfair Display",serif;letter-spacing:-.045em}.chapter-title h2 i{color:#c7ad7c}.story-copy{max-width:420px;color:#8c877f;font-size:14px;line-height:2}.story-copy p+p{margin-top:25px}.photo-feature{min-height:100vh;padding:10vh 8vw;background:#181714;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:7vw}.photo-image{height:78vh;position:relative;overflow:hidden;background:#27241f}.photo-image img,.split-image img,.final-photo>img{width:100%;height:100%;object-fit:cover;display:block;transition:1.2s}.photo-image:hover img,.split-image:hover img{transform:scale(1.025)}.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#6d675e;font-size:9px;letter-spacing:.3em;background:linear-gradient(135deg,#25221d,#151412)}.photo-image img:not([src=""])+.photo-placeholder{background:transparent;color:transparent}.photo-caption span{font-size:8px;letter-spacing:.25em;color:#9b927f}.photo-caption h3{font:400 clamp(3rem,5vw,5rem)/.9 "Playfair Display",serif;margin:25px 0}.photo-caption h3 i{color:#c7ad7c}.photo-caption p{font-size:11px;color:#68645d}.chapter-two{background:#e9e3d7;color:#1a1916}.chapter-two .chapter-index{color:#aaa295}.chapter-two .label{color:#82796b}.chapter-two .chapter-title h2 i{color:#89704b}.reasons{border-top:1px solid #c9c0b2}.reasons div{border-bottom:1px solid #c9c0b2;padding:25px 0;display:grid;grid-template-columns:40px 1fr;gap:20px}.reasons b{font-size:9px;color:#988a77}.reasons span{font:400 20px/1.35 "Playfair Display",serif;max-width:420px}.split-photo{min-height:100vh;background:#12110f;display:grid;grid-template-columns:.75fr 1.25fr;gap:0}.split-text{padding:12vw;display:flex;flex-direction:column;justify-content:center}.split-text h2{font:400 clamp(3rem,6vw,6rem)/.9 "Playfair Display",serif;letter-spacing:-.04em}.split-text h2 i{color:#c7ad7c}.split-text>p:last-child{color:#68635c;margin-top:30px}.split-image{min-height:100vh;position:relative;overflow:hidden;background:#25221e}.chapter-three{background:#f1eadf;color:#24211d;grid-template-columns:100px .8fr 1.2fr}.chapter-three .chapter-index{color:#aaa}.chapter-three .label{color:#8c8275}.chapter-three .chapter-title h2 i{color:#8b7048}.note{max-width:500px;font:400 20px/1.75 "Playfair Display",serif}.note p{margin-bottom:18px}.note i{color:#8b7048}.signature{margin-top:35px;font-style:italic}.final-photo{height:100vh;min-height:650px;position:relative;background:#222;overflow:hidden}.final-photo>img{position:absolute;inset:0;filter:brightness(.58);transform:scale(1.01)}.final-photo .photo-placeholder{background:linear-gradient(120deg,#302a21,#141311);z-index:0}.final-photo-overlay{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:8vw;background:linear-gradient(transparent 35%,rgba(0,0,0,.7))}.final-photo-overlay span{font-size:8px;letter-spacing:.25em;color:#b4a995}.final-photo-overlay h2{font:400 clamp(4rem,9vw,9rem)/.82 "Playfair Display",serif;letter-spacing:-.05em;margin-top:20px}.final-photo-overlay h2 i{color:#c7ad7c}.ending{min-height:100vh;display:grid;place-items:center;text-align:center;background:#0c0b0a;padding:100px 6vw}.end-lines{max-width:900px}.end-lines>p{font:400 clamp(1.2rem,2.2vw,2rem) "Playfair Display",serif;color:#777;margin:8px}.end-lines h2{font:400 2rem "Playfair Display",serif;color:#aaa;margin:70px 0 20px}.end-lines h1{font:400 clamp(4rem,10vw,10rem)/.8 "Playfair Display",serif;letter-spacing:-.06em}.end-lines h1 i{color:#c7ad7c}.final-message{color:#b9ad97!important;margin-top:55px!important}.end-lines button{margin-top:35px;border:1px solid #3e3a34;padding:13px 20px;font-size:8px;letter-spacing:.2em;color:#aaa}.end-lines button:hover{border-color:#c7ad7c;color:#c7ad7c}footer{background:#0c0b0a;border-top:1px solid #25231f;padding:22px 5vw;display:flex;justify-content:space-between;color:#4d4943;font-size:8px;letter-spacing:.25em}@media(max-width:800px){.chapter{grid-template-columns:1fr;gap:45px;padding:100px 7vw}.chapter-index{font-size:40px}.photo-feature{grid-template-columns:1fr;padding:70px 6vw;gap:40px}.photo-image{height:62vh}.split-photo{grid-template-columns:1fr}.split-text{min-height:65vh;padding:18vw 8vw}.split-image{min-height:70vh}.chapter-three{grid-template-columns:1fr}.home h2{font-size:16vw}.topbar-right span{display:none}.opening{padding:25px 6vw}.reasons span{font-size:18px}.final-photo{min-height:70vh}.final-photo-overlay{padding:10vw 7vw}.final-photo-overlay h2{font-size:15vw}footer{font-size:7px}.end-lines h2{margin-top:50px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* PHOTO LOADING FIX: real images always sit above placeholders */
.photo-image img, .split-image img, .final-photo > img { position:relative; z-index:2; }
.photo-image .photo-placeholder, .split-image .photo-placeholder { z-index:1; }
.photo-image img:not([src=""]) + .photo-placeholder,
.split-image img:not([src=""]) + .photo-placeholder { opacity:0; pointer-events:none; }
