:root{color-scheme:dark;--ink:#f5f2eb;--muted:#b7c2cb;--gold:#e9bd92;--bg:#0b1118;--line:rgba(226,234,239,.19);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}button{background:none;border:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}em{font-weight:400;color:var(--gold)}
.skip{position:fixed;z-index:100;top:-100px;left:20px;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}.cinema{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#101922}.cinema picture,.cinema picture img,.cinema canvas{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.cinema canvas{opacity:0;transition:opacity .25s}.cinema.ready canvas{opacity:1}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,22,.40),transparent 70%);pointer-events:none}
.header{position:fixed;inset:0 0 auto;z-index:40;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:22px;background:linear-gradient(#0b1118eb,#0b1118c9);border-bottom:1px solid #ffffff10;backdrop-filter:blur(12px)}.brand{display:flex;gap:16px;align-items:center;white-space:nowrap;font-size:19px;letter-spacing:.01em}.brand small{display:block;font-size:8px;letter-spacing:.19em;color:#bdc9d1;margin-top:2px}.monogram{font-family:Georgia,serif;position:relative;font-size:34px;letter-spacing:-.20em;padding-right:7px;line-height:1}.monogram i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);right:-3px;top:0}.header nav{display:flex;gap:25px;font-size:13px;color:#e0e4e8}.header nav a{padding:12px 0}.header nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:16px}.header-contact{padding:9px 16px;border:1px solid #ffffff35;font-size:13px;border-radius:40px;white-space:nowrap}#menu-toggle{display:none;width:44px;height:44px;padding:10px}#menu-toggle span{display:block;height:1px;background:#eee;width:24px;margin:6px 0}.read-progress{position:fixed;top:79px;height:2px;left:0;right:0;z-index:42;pointer-events:none}.read-progress i{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:130px 6vw 110px}.hero-copy{max-width:620px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--gold);margin-bottom:24px}.hero h1{font-size:clamp(52px,5.6vw,88px);line-height:1.06;letter-spacing:-.04em;text-wrap:balance}.hero h1 em{display:inline-block}.hero-lede{font-size:18px;line-height:1.7;max-width:510px;color:#d9e0e6;margin-top:28px}.actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:16px 25px;border-radius:4px;min-height:54px;font-size:15px;font-weight:500;transition:background .2s,transform .2s}.button.primary{background:var(--gold);color:#171c22}.button.primary:hover{background:#f2cda8;transform:translateY(-2px)}.quiet-link{font-size:13px;color:#d1d8de;border-bottom:1px solid #c8d0d745;padding:8px 0}.availability{font-size:11px;color:#c5d0d8;margin-top:24px;letter-spacing:.015em}.availability i{width:6px;height:6px;display:inline-block;border-radius:50%;background:#b4cbb3;margin-right:8px}.photo-label{position:absolute;bottom:67px;right:6vw;letter-spacing:.21em;font-size:10px;color:#e2d1bf}
.reviews-section{position:relative;background:#f0ece3;color:#192329;padding:78px 6vw 62px;border-top:1px solid #ffffff4d;border-bottom:1px solid #ffffff17}.reviews-inner{max-width:1320px;margin:auto}.reviews-head{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:35px}.reviews-head h2{font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-.035em}.reviews-section .eyebrow{color:#735338;margin-bottom:16px}.reviews-section em{color:#8e623f}.rating{text-align:right;min-width:190px;line-height:1.5}.rating>strong{font-family:Georgia,serif;font-weight:400;font-size:60px;line-height:1.05}.rating>strong span{font:20px Georgia,serif;color:#536069}.rating>span,.rating>small{display:block;font-size:12px}.rating>small{color:#59656c;font-size:11px;margin-top:5px}.stars{color:#9e6837;letter-spacing:4px;font-size:16px;margin:7px 0}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-card{padding:25px 24px 22px;border:1px solid #b5aba14d;background:#faf8f2;border-radius:5px;display:flex;flex-direction:column;min-width:0}.review-topic{font-size:9px;letter-spacing:.17em;color:#876343;margin-bottom:18px;font-weight:600}.review-card blockquote{font-size:15px;line-height:1.65;margin:0 0 25px}.review-card footer{margin-top:auto;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-size:11px;color:#586167}.review-card footer strong{color:#263039;font-size:13px;font-weight:600}.review-card footer a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}.more-reviews{margin-top:24px}.more-reviews>summary{font-size:13px;cursor:pointer;padding:12px 0;display:flex;gap:15px;align-items:center;list-style:none}.more-reviews>summary span{font-size:23px;color:#8d6747}.reviews-note{max-width:940px;margin-top:20px}.fine{font-size:12px;line-height:1.7;color:var(--muted)}.reviews-section .fine{color:#5e676d}
.chapter{position:relative;min-height:135svh;display:flex;align-items:center;padding:120px 6vw 105px}.chapter>.copy{width:min(535px,48vw);position:relative}.chapter h2{font-size:clamp(44px,4.4vw,67px);line-height:1.1;letter-spacing:-.038em;text-wrap:balance;margin-bottom:28px}.chapter .copy>p:not(.eyebrow):not(.fine):not(.personal-sign){font-size:17px;line-height:1.8;color:#e0e5e9}.service-list{margin:32px 0 22px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer}summary::-webkit-details-marker{display:none}.service-list summary{list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:21px 0;font-size:16px}.service-list summary b{font-weight:300;color:var(--gold);font-size:26px;line-height:1}.service-list details[open] summary b{transform:rotate(45deg)}.service-list details p{font-size:14px;color:#bfcbd3;line-height:1.8;padding:0 25px 22px 0}.text-link{display:inline-block;font-size:14px;color:var(--gold);border-bottom:1px solid #d7ab7f5e;padding:12px 0;margin-top:19px}.chapter .fine{margin-top:14px}.interest{display:flex;align-items:baseline;gap:25px;border-top:1px solid var(--line);padding:22px 0}.interest>span{font-size:11px;color:var(--gold)}.interest h3{font-size:27px;line-height:1.25;margin:0 0 12px}.interest p{font-size:15px;line-height:1.75;color:#c6d0d6}.personal .lede{margin-bottom:30px}.personal-sign{font-family:Georgia,serif;font-size:26px;font-style:italic;margin-top:26px;color:var(--gold)}
.contact .button{margin-top:30px}.contact-links{display:flex;flex-direction:column;gap:11px;margin:30px 0 20px;font-size:19px;overflow-wrap:anywhere}.contact-links a:hover{color:var(--gold)}.contact-tools{display:flex;gap:25px;font-size:12px;color:#bdc9d2;flex-wrap:wrap}.contact-tools button{padding:0}.footer{position:relative;background:#070d14;border-top:1px solid #ffffff12;padding:30px 6vw 85px;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#9facb7;align-items:flex-start}.footer p{max-width:530px;font-size:10px}.footer>a{white-space:nowrap}.film-controls{position:fixed;bottom:0;left:0;right:0;padding:12px 6vw max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#080f18d9);display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:25;pointer-events:none;font-size:9px;letter-spacing:.12em;color:#d0d9e0}.film-controls button{pointer-events:auto;font-size:11px;padding:8px 12px;background:#111c28b8;border:1px solid #ffffff24;border-radius:30px;letter-spacing:0;min-height:34px}.notice{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);background:#e9bd92;color:#13202b;padding:12px 22px;border-radius:5px;z-index:60;opacity:0;pointer-events:none;transition:opacity .2s;font-size:14px;max-width:90vw}.notice.visible{opacity:1}.static-mode .chapter{min-height:0;padding-top:85px;padding-bottom:85px;background:#0b1118ed}.static-mode .cinema canvas{opacity:0}.static-mode .film-controls #scene-label{visibility:hidden}
@media(max-width:1100px){.header nav{gap:16px}.header{padding-inline:4vw;gap:16px}.brand{font-size:17px}.hero-copy{max-width:520px}.hero h1{font-size:65px}.chapter>.copy{width:48vw}}
@media(max-width:900px){.header{height:64px;padding:0 20px}.read-progress{top:63px}.header nav{display:none;position:absolute;top:63px;left:0;right:0;padding:20px;background:#0b131fee;flex-direction:column;gap:4px;backdrop-filter:blur(15px);border-bottom:1px solid #ffffff26}.header nav.open{display:flex}.header nav a{padding:12px 0;font-size:15px}#menu-toggle{display:block}.brand{font-size:16px;gap:12px}.brand small{font-size:7px;letter-spacing:.12em}.monogram{font-size:29px}.header-actions{gap:9px}.header-contact{font-size:12px;padding:7px 11px}.hero{padding-inline:5vw}.hero h1{font-size:57px}.review-grid{gap:12px}.review-card{padding:20px}.chapter>.copy{width:52vw}.chapter h2{font-size:49px}.film-controls{padding-inline:20px}}
@media(max-aspect-ratio:6/5){.film-shade{display:none}.hero{min-height:max(760px,100svh);align-items:flex-end;padding:105px 24px 100px}.hero:before{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#070e17a6 28%,#070e17ed 74%,#070e17)}.hero-copy{position:relative;z-index:1;max-width:540px}.hero h1{font-size:clamp(40px,7.3vw,60px);line-height:1.08;letter-spacing:-.035em}.hero .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:14px}.hero-lede{font-size:14px;line-height:1.65;margin-top:17px;max-width:400px}.actions{gap:20px;margin-top:20px}.hero .button{padding:13px 20px;font-size:14px;min-height:48px;gap:23px}.hero .quiet-link{font-size:11px}.availability{font-size:10px;line-height:1.5;margin-top:16px;max-width:300px}.photo-label{top:88px;bottom:auto;right:24px;font-size:8px;color:#f6e9da;text-shadow:0 1px 8px #000}
.reviews-section{padding:48px 24px 38px}.reviews-head{align-items:flex-start;gap:15px;margin-bottom:28px}.reviews-head h2{font-size:36px}.reviews-head .eyebrow{font-size:9px;margin-bottom:13px}.rating{min-width:100px}.rating>strong{font-size:39px}.rating>strong span{font-size:13px}.rating>span{font-size:10px;max-width:100px}.rating>small{font-size:9px;line-height:1.45}.stars{font-size:12px;letter-spacing:2px;margin:4px 0}.review-grid{display:flex;overflow-x:auto;gap:13px;scroll-snap-type:x proximity;padding-bottom:13px;margin-right:-24px;padding-right:24px;scrollbar-width:thin;scrollbar-color:#b5a28e transparent}.review-card{flex:0 0 min(84vw,355px);scroll-snap-align:start;padding:23px;min-height:250px}.review-card blockquote{font-size:15px}.reviews-note{font-size:10px;line-height:1.6}.more-reviews>summary{font-size:12px}.chapter{display:block;min-height:0;padding:76svh 0 0}.chapter>.copy{width:100%;max-width:none;padding:56px 24px 64px;background:linear-gradient(transparent,#0b1118eb 33px,#0b1118f7 100%)}.chapter h2{font-size:clamp(39px,7.8vw,54px);line-height:1.08;max-width:520px;margin-bottom:22px}.chapter .eyebrow{font-size:10px;margin-bottom:19px}.chapter .copy>p:not(.eyebrow):not(.fine):not(.personal-sign){font-size:16px;line-height:1.75}.chapter .fine{font-size:11px}.service-list{margin-top:25px}.service-list summary{font-size:15px;padding:18px 0}.service-list details p{font-size:14px}.interest{gap:19px;padding:20px 0}.interest h3{font-size:28px}.interest p{font-size:15px}.personal .desktop{display:none}.contact{padding-top:87svh}.contact .button{font-size:14px;gap:25px;padding:15px 20px}.contact-links{font-size:19px;margin-top:26px}.footer{flex-direction:column;gap:13px;padding:26px 24px 90px;font-size:10px}.footer p{font-size:9px}.film-controls{font-size:8px;padding-inline:20px}.film-controls button{font-size:10px;min-height:34px}.static-mode .hero{min-height:max(760px,100svh)}.static-mode .chapter{padding:0}.static-mode .chapter>.copy{padding-top:55px}}
@media(max-width:370px){.header{padding-inline:14px}.header-contact{font-size:11px;padding:6px 9px}.brand{font-size:14px;gap:9px}.brand small{display:none}.monogram{font-size:27px}.header-actions{gap:4px}.hero{padding-inline:20px}.hero h1{font-size:40px}.actions{gap:13px}.hero .quiet-link{font-size:10px}.reviews-head h2{font-size:32px}.reviews-section{padding-inline:20px}}
@media(max-height:510px) and (min-aspect-ratio:6/5){.header{height:54px}.read-progress{top:53px}.header nav{top:53px}.brand small{display:none}.hero{min-height:600px;padding-top:95px;padding-bottom:80px}.hero-copy{max-width:420px}.hero h1{font-size:48px}.hero-lede{font-size:14px;max-width:360px}.hero .eyebrow{font-size:9px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060e18bc,transparent 85%)}.hero-copy{position:relative}.chapter{min-height:800px}.chapter>.copy{width:60vw}.chapter h2{font-size:43px}.chapter .copy>p:not(.eyebrow):not(.fine):not(.personal-sign){font-size:15px}.photo-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.chapter{min-height:0;padding-top:70px;padding-bottom:70px;background:#0b1118ef}.cinema canvas{display:none}}
@media print{.cinema,.header,.film-controls,.read-progress,.skip{display:none}body{background:#fff;color:#111}.hero,.chapter,.reviews-section{padding:25px!important;min-height:0!important}.chapter>.copy{width:100%;background:none!important;color:#111}.hero:before{display:none}.chapter p,.hero p{color:#222!important}em{color:#735338}.review-grid{display:block}.review-card{page-break-inside:avoid}details{display:block}.footer{background:none}}

/* Keep the reading area free of a fixed caption. */
#scene-label{display:none}.film-controls{justify-content:flex-end;background:none}
