:root{--ivory:#f8f6f1;--paper:#eee9df;--ink:#27221d;--gold:#755831;--line:#d8d2c7;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img,video{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}h1{font-size:clamp(52px,5.8vw,88px);letter-spacing:-.035em}h2{font-size:clamp(38px,3.8vw,60px);letter-spacing:-.025em}h3{font-size:34px}em{font-weight:500;color:#715530}p{max-width:600px}.eyebrow{font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;margin-bottom:25px}.header{height:105px;padding:12px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ivory);border-bottom:1px solid var(--line);position:relative;z-index:30}.logo{width:100px;flex-shrink:0}.logo img{object-fit:contain}.nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav a:hover{color:#846c44}.actions{display:flex;gap:24px;align-items:center;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:14px 27px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-size:13px;letter-spacing:.07em;transition:background .25s,transform .25s}.button:hover{background:#66583e;transform:translateY(-2px)}.button.light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:6px;display:inline-block}.menu-button{display:none;background:none;border:0;padding:10px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;position:relative}.hero-copy{padding:75px 9% 55px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero-copy h1{margin-bottom:30px}.hero-copy p:not(.eyebrow){max-width:330px;color:#626057;font-size:16px}.hero-ctas{display:flex;gap:27px;align-items:center;margin-top:34px;flex-wrap:wrap}.hero-media{position:relative;min-height:660px;overflow:hidden;background:#a7987e}.hero-media>img,.hero-media>video{position:absolute;inset:0;height:100%;object-position:50% 41%}.hero-media:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#17161199);pointer-events:none}.media-caption{position:absolute;bottom:30px;left:35px;right:30px;color:white;z-index:2;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.motion-button{background:#ffffff25;border:1px solid #ffffff80;color:white;padding:8px 12px;font-size:12px}.hero-footer{margin-top:50px;font-size:12px;letter-spacing:.12em;color:#716d64;text-transform:uppercase;display:flex;align-items:center;gap:18px}.hero-footer:before{content:'';width:42px;height:1px;background:#ab8a51}.ribbon{padding:25px 5%;display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.1em;text-transform:uppercase;overflow:auto;white-space:nowrap}.ribbon span{color:var(--gold)}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:start}.intro h2{max-width:570px}.intro p:not(.eyebrow){margin-top:22px;color:#64625b}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.treatments{padding-top:0}.treatment-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:stretch}.treatment-photo{position:relative;min-height:550px;overflow:hidden}.treatment-photo img{height:100%;position:absolute;inset:0;object-position:50% 42%;transition:opacity .25s}.photo-note{position:absolute;left:25px;bottom:23px;padding:9px 15px;background:var(--ivory);font-size:12px}.treatment-list{border-top:1px solid var(--line)}.treatment{border-bottom:1px solid var(--line)}.treatment summary{list-style:none;display:flex;align-items:center;gap:20px;padding:26px 0;cursor:pointer}.treatment summary::-webkit-details-marker{display:none}.treatment summary span{font-size:12px;color:#877657}.treatment summary h3{flex:1;font-size:35px}.treatment summary:after{content:'+';font-size:23px;font-weight:400}.treatment[open] summary:after{content:'−'}.treatment-content{padding:0 30px 28px 36px}.treatment-content p{color:#66635c;font-size:15px}.treatment-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:20px;font-size:13px}.treatment-links a{border-bottom:1px solid #c3b8a0;padding-bottom:3px}.dark{background:#2d2722;color:var(--ivory)}.provider{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.portrait{height:670px;object-position:50% 20%}.provider-copy h2{margin:25px 0}.provider-copy p:not(.eyebrow){color:#d1d1c6;margin:20px 0 30px;max-width:440px}.provider-copy .eyebrow{color:#d3bf99}.credentials{display:flex;gap:35px;border-top:1px solid #ffffff30;padding-top:30px;margin-top:45px}.credentials strong{display:block;font:44px var(--serif)}.credentials span{font-size:12px;color:#c4c2b8}.space{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.space p{color:#69665f;margin:25px 0}.space-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.space-photos img{height:470px}.space-photos img:last-child{height:350px}.quote{text-align:center;background:var(--paper);padding:75px 12%}.quote blockquote{font:400 34px/1.5 var(--serif);margin:20px auto;max-width:880px}.quote .eyebrow{margin:0}.quote cite{font-style:normal;font-size:12px;letter-spacing:.09em}.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq details{padding:21px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:17px;list-style:none;display:flex;gap:20px;justify-content:space-between}.faq summary:after{content:'+'}.faq details[open] summary:after{content:'−'}.faq p{color:#65625a;margin-top:16px;font-size:15px}.cta{text-align:center;padding:90px 7%;background:#d8c7a8}.cta h2{font-size:clamp(42px,5.1vw,76px)}.cta p{margin:20px auto 30px}.footer{padding:65px 7% 25px;background:var(--ivory)}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer .logo{width:150px}.footer h3{font:12px var(--sans);letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px}.footer p,.footer a:not(.logo){font-size:14px}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:45px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#757167}.reveal{transition:opacity .8s,transform .8s}.js-motion .reveal:not(.visible){opacity:1;transform:translateY(32px)}.service-hero .hero-media img{object-position:center 26%}.service-hero h1{font-size:clamp(48px,5.3vw,80px)}.service-intro{max-width:950px;margin:auto;text-align:center}.service-intro p{margin:25px auto 0;color:#69645a}.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.area{padding-top:24px;border-top:1px solid #bcae92}.area .number{font:15px var(--sans);color:#8d754e;margin-bottom:20px}.area h3{margin-bottom:15px}.area p{font-size:15px;color:#68635a}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.steps h3{font-size:34px;margin:20px 0 15px}.steps p{color:#c4c4ba;font-size:15px}.steps .number{color:#d3bd94;border:1px solid #77776a;width:45px;height:45px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13px}.safety{font-size:13px!important;max-width:900px!important;margin:35px auto 0!important}.skip{position:absolute;left:15px;top:-100px;padding:10px;background:white;z-index:100}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a47d35;outline-offset:6px}.subheader{font-size:12px;color:#7b7469;margin-bottom:32px}.service-photo{height:600px;object-position:50% 30%}
@media(min-width:1500px){.hero{min-height:760px}.hero-media{min-height:760px}}@media(max-width:1000px){.nav{gap:16px}.phone{display:none}.header{gap:20px}.hero-copy{padding:55px 9%}.hero-media{min-height:610px}.hero{min-height:610px}h1{font-size:64px}.section{padding:75px 6%}.treatments{padding-top:0}.portrait{height:570px}.space-photos img{height:380px}.space-photos img:last-child{height:280px}.treatment summary h3{font-size:30px}.provider{gap:7%}}@media(max-width:900px){.header{height:90px;padding:10px 6%}.logo{width:83px}.menu-button{display:block}.header .button{min-height:43px;padding:11px 16px;font-size:11px}.actions{gap:8px}.nav{display:none;position:absolute;left:0;right:0;top:90px;padding:25px;background:var(--ivory);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 45px}.hero h1{font-size:clamp(45px,9.5vw,68px)}.hero-copy p:not(.eyebrow){max-width:380px}.hero-footer{margin-top:30px}.hero-media{min-height:510px}.hero-media video{object-position:50% 38%}.section{padding:65px 7%}.intro,.treatment-grid,.provider,.space,.faq-wrap{grid-template-columns:1fr;gap:35px}.treatments{padding-top:0}.treatment-photo{min-height:440px}.section-heading{align-items:start;flex-direction:column;gap:20px}.portrait{height:510px}.provider-copy{padding:0 0 10px}.space-photos{gap:12px}.space-photos img{height:340px}.space-photos img:last-child{height:260px}.quote{padding:60px 7%}.quote blockquote{font-size:34px}.footer-top{grid-template-columns:1fr 1fr;gap:40px 25px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.ribbon{padding:20px 7%;gap:24px}.areas,.steps{grid-template-columns:1fr;gap:30px}.area{padding-top:20px}.steps h3{margin-top:15px}.cta{padding:65px 7%}.service-photo{height:480px}.service-hero .hero-media{min-height:510px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.js-motion .reveal:not(.visible){opacity:1;transform:none}}
/* Marble, readable typography, and layered motion */
.hero-copy,.intro,.space,.quote,.cta{background-image:linear-gradient(110deg,rgba(250,248,243,.69),rgba(250,248,243,.40)),linear-gradient(transparent,transparent);background-size:cover;background-position:center}.hero-copy{background-size:auto 115%;background-position:50% 50%;isolation:isolate}.cta{background-image:linear-gradient(100deg,rgba(244,235,219,.42),rgba(250,247,241,.64)),linear-gradient(transparent,transparent)}.quote{background-image:linear-gradient(100deg,rgba(244,238,226,.68),rgba(250,247,241,.60)),linear-gradient(transparent,transparent)}.dark{background-color:#2b2521;background-image:linear-gradient(115deg,rgba(28,35,30,.93),rgba(36,42,36,.95)),linear-gradient(transparent,transparent);background-size:cover}.dark h2,.dark h3{color:#fffdf6}.dark p{color:#e5e3db}.dark em{color:#e3cfa9!important}.eyebrow,.subheader,.hero-footer{color:#514c42}.hero-copy p:not(.eyebrow),.intro p:not(.eyebrow),.space p,.service-intro p,.area p,.faq p{color:#4c4c43}.button,.text-link,.treatment-links,.photo-note{font-size:14px}.button{font-weight:500}.photo-note{background:#fbf9f4;color:#332c26}.nav{font-weight:500}.media-caption{gap:15px;font-size:13px}.media-caption>span{padding:9px 12px;background:#26211ceb;letter-spacing:.08em}.motion-button{background:#26211ceb;border-color:#ccc3bc;font-size:13px;white-space:nowrap}.ribbon{font-size:13px;font-weight:500}.ribbon span{color:#715530}.treatment summary h3{font-weight:500;line-height:1.3}.treatment summary span{color:#655031}.treatment-content p,.faq p,.area p,.steps p{font-size:16px}.footer-bottom{color:#61544a}.credentials span{font-size:14px;color:#e3ded9}.page-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#927244;transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:60;pointer-events:none}.photo-drift{transform:translate3d(0,var(--drift,0px),0) rotate(var(--photo-rotate,0deg));will-change:transform;transition:transform .25s ease-out}.tilt-surface{transform:perspective(1300px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease-out;will-change:transform}.hero-copy h1{animation:linea-entrance 1.15s cubic-bezier(.22,.7,.25,1) both}.hero-copy .hero-ctas{animation:linea-entrance 1.4s cubic-bezier(.22,.7,.25,1) both}.hero-footer:before{transform-origin:left;animation:linea-line 1.5s ease-out both}.section-heading .text-link,.hero-ctas .text-link{transition:letter-spacing .3s,border-color .3s}.text-link:hover{border-color:#95713c;letter-spacing:.025em}.space-photos{perspective:1200px}.space-photos img{box-shadow:0 14px 40px #3532241a}.ambient-toggle{background:transparent;border:0;border-bottom:1px solid #7e7969;font-size:13px;padding:0 0 3px}.ambient-paused .photo-drift,.ambient-paused .tilt-surface{transform:none!important;will-change:auto}.ambient-paused *{animation:none!important}.ambient-paused .reveal{transform:none!important;transition:none!important}
@keyframes linea-entrance{from{transform:translate3d(-22px,12px,0)}to{transform:translate3d(0,0,0)}}@keyframes linea-line{from{transform:scaleX(.2)}to{transform:scaleX(1)}}
@media(max-width:900px){.hero-copy{background-size:cover}.hero-copy h1{letter-spacing:-.035em}.hero-media{min-height:510px}.media-caption{left:20px;right:20px}.media-caption>span{font-size:11px}.photo-drift{transform:translate3d(0,var(--drift,0px),0)}.treatment-photo{min-height:420px}.hero-copy .eyebrow{font-size:12px}.footer-bottom{align-items:flex-start}.service-hero .hero-copy h1{font-size:clamp(42px,8.6vw,66px)}}
@media(prefers-reduced-motion:reduce){.photo-drift,.tilt-surface,.hero-copy h1,.hero-copy .hero-ctas{transform:none!important;will-change:auto}.page-progress{display:none}}
