:root{--paper:#f7f5f0;--sand:#e8e1d7;--ink:#2d332d;--olive:#374238;--gold:#ac9473;--muted:#697068;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
body{background:var(--paper);font-family:var(--sans);color:var(--ink)}
h1,h2{font-family:var(--serif);letter-spacing:-.025em;font-weight:400}
.page-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#bda17c;z-index:100;transform:scaleX(0);transform-origin:left center;pointer-events:none}
.header{position:sticky;top:0;z-index:30;background:rgba(247,245,240,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(55,66,56,.07)}
.brand{font-family:var(--serif);letter-spacing:-.015em}
.monogram{font-family:var(--serif);letter-spacing:-.08em;padding-right:4px}
.header nav{gap:27px}
.header nav a{transition:color .2s ease}
.hero{min-height:750px;gap:3vw}
.hero-copy{animation:none}
h1{font-size:clamp(72px,7.8vw,124px);line-height:.92}
.hero-line{display:block;opacity:0;animation:hero-line .78s cubic-bezier(.2,.7,.2,1) forwards}
.hero-line:nth-child(2){animation-delay:.12s}
.hero-line:nth-child(3){animation-delay:.24s}
.hero-description,.hero .button,.hero-more,.hero-proof{opacity:0;animation:hero-soft .72s ease-out forwards;animation-delay:.43s}
.hero .button{animation-delay:.55s}
.hero-more{animation-delay:.66s}
.hero-proof{animation-delay:.73s}
.hero-image{border-radius:210px 5px 5px 5px;height:720px}
.hero-image img{animation:hero-image-open 1.25s cubic-bezier(.18,.71,.24,1) both;object-position:50% 58%}
.hero-proof{display:flex;align-items:center;gap:14px;width:max-content;margin-top:42px;padding-top:18px;border-top:1px solid #cdd0c6;font-size:11px;line-height:1.35;color:var(--muted)}
.hero-proof strong{font:51px/.85 var(--serif);color:var(--ink)}
.hero-proof>span:last-child{font-size:20px;margin-left:4px;color:var(--ink)}
.intro{padding-top:95px;padding-bottom:50px}
.signature{color:#b8bdb3;line-height:1}
.care{padding-bottom:90px}
.results{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);background:#343f35;color:#f7f5f0;min-height:630px;overflow:hidden}
.results-copy{padding:clamp(60px,7vw,120px) 5.5vw clamp(58px,7vw,100px) max(7.4vw,calc((100vw - 1230px)/2));align-self:center}
.results-copy .section-label{color:#d9e0d2}
.results-copy h2{font-size:clamp(55px,5.3vw,84px);line-height:.95;max-width:590px}
.results-copy>p:not(.section-label){font-size:14px;line-height:1.8;max-width:420px;color:#d9e0d2;margin:30px 0 28px}
.results-copy .text-link{border-bottom:1px solid #c7cdbc;padding-bottom:9px}
.results-copy small{display:block;font:10px/1.7 var(--sans);color:#bfc9ba;max-width:380px;margin-top:44px}
.results-figure{position:relative;margin:0;background:#151b16;min-height:630px;overflow:hidden}
.results-figure img{height:100%;width:100%;object-fit:cover;object-position:center}
.results-figure:after{content:'';position:absolute;left:0;right:0;bottom:0;height:26%;background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none}
.results-figure figcaption{position:absolute;bottom:28px;left:30px;right:30px;z-index:1;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:white}
.space{padding-top:105px}
.gallery-item img{transition:filter .45s ease,transform .6s cubic-bezier(.2,.65,.2,1)}
.gallery-item:hover img{filter:brightness(.95);transform:scale(1.015)}
.reputation{display:block;background:#ebece6;padding-top:105px;padding-bottom:100px}
.reputation-head{display:grid;grid-template-columns:.52fr 1fr;gap:8vw;align-items:end;margin-bottom:56px}
.reputation-head .rating{text-align:left}
.reputation-head .rating p{margin:0}
.reputation-head h2{font-size:clamp(54px,5.3vw,82px);line-height:1}
.reputation-head>div>p:not(.section-label){font-size:14px;line-height:1.8;color:var(--muted);margin-top:22px;max-width:480px}
.reviews-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.review-card{background:#f7f5f0;min-height:240px;padding:29px 28px 25px;display:flex;flex-direction:column;justify-content:space-between}
.review-stars{font-size:13px;letter-spacing:.18em;color:#a28457}
.review-card blockquote{font:36px/1.08 var(--serif);letter-spacing:-.025em;margin:19px 0 25px;max-width:300px}
.review-card>p{font-size:11px;font-weight:600}
.review-card>p span{font-weight:400;color:var(--muted)}
.reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}
.review-controls{display:none;gap:9px}
.review-controls button{width:43px;height:43px;border:1px solid #bcc4b8;background:transparent;border-radius:50%;font-size:20px}
.review-controls button:hover{background:var(--olive);color:white}
.lightbox[open]{animation:dialog-open .25s ease-out both}
html.motion-ready [data-reveal]{opacity:0;transform:translateY(22px)}
html.motion-ready [data-reveal].revealed{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.2,1)}
html.motion-ready .review-card:nth-child(2).revealed{transition-delay:.09s}
html.motion-ready .review-card:nth-child(3).revealed{transition-delay:.18s}
@keyframes hero-line{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes hero-soft{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes hero-image-open{from{clip-path:inset(0 0 100% 0);transform:scale(1.04)}to{clip-path:inset(0);transform:scale(1)}}
@keyframes dialog-open{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:1000px){.header nav{gap:15px}.results-copy{padding-left:6vw}.results-figure{min-height:540px}.space{padding-top:85px}}
@media(max-width:900px){html{scroll-padding-top:105px}.header{height:88px}.menu-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;padding:10px 0;font-size:12px}.menu-toggle span{font-size:24px}.header nav{display:none;position:absolute;top:80px;left:4vw;right:4vw;z-index:10;background:var(--paper);box-shadow:0 20px 30px #29332915;border-radius:12px;padding:25px;align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:21px;animation:dialog-open .25s ease-out both}.hero{min-height:620px}.hero-image{height:620px}.results{grid-template-columns:1fr}.results-copy{padding:70px 8vw 55px}.results-copy h2{font-size:clamp(58px,8vw,76px);max-width:700px}.results-figure{min-height:0;height:clamp(380px,65vw,610px)}.results-figure img{object-fit:contain}}
@media(max-width:760px){.hero{min-height:0}.hero-copy{padding-bottom:10px}h1{font-size:clamp(66px,13vw,88px)}.hero-image{height:490px;border-top-left-radius:110px}.hero-proof{margin-top:29px}.hero-proof strong{font-size:43px}.signature{padding-top:8px}.care{padding-bottom:55px}.results-copy h2{font-size:60px}.results-copy small{margin-top:30px}.results-figure{height:clamp(360px,65vw,510px)}.results-figure figcaption{left:18px;right:18px;bottom:19px;font-size:9px}.space{padding-top:75px}.reputation{padding:75px 8vw 70px}.reputation-head{grid-template-columns:1fr;gap:27px;margin-bottom:34px}.reputation-head .rating{display:block}.rating-number{font-size:95px}.stars{margin:9px 0 8px}.reputation-head h2{font-size:56px}.reviews-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-right:-8vw;padding-right:8vw}.reviews-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 82%;scroll-snap-align:start;min-height:235px}.review-card blockquote{font-size:34px}.review-controls{display:flex}.reviews-bottom{align-items:flex-start}.reviews-bottom .text-link{white-space:normal;font-size:10px}.reviews-bottom .text-link span{font-size:16px}}
@media(max-width:420px){.results-copy h2{font-size:54px}.results-figure{height:360px}.review-card{flex-basis:88%}}
@media(prefers-reduced-motion:reduce){.hero-line,.hero-description,.hero .button,.hero-more,.hero-proof,.hero-image img,.lightbox[open]{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}html.motion-ready [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.gallery-item img{transition:none!important}}
