:root{--cream:#F8F3EE;--cream-deep:#F1E7DF;--blush:#D9A2A2;--rose:#BF7D80;--rose-dark:#A75F64;--rose-readable:#965157;--taupe:#745D57;--brown:#604B47;--ink:#292322;--white:#fff;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--line:rgba(96,75,71,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:99;pointer-events:none;background:url("grain.svg") repeat;opacity:.035;mix-blend-mode:multiply}
body.menu-open{overflow:hidden}
a{color:inherit}img{display:block;max-width:100%}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.038em}em{font-weight:400}::selection{background:#e7c6c3;color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-70px;left:18px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:6px}.skip-link:focus{top:18px}
.anchor-alias{display:block;height:0;position:relative;top:-92px;visibility:hidden}
.page-container{width:min(100% - 2*clamp(22px,5vw,88px),1510px);margin-inline:auto}.section-pad{padding-block:clamp(86px,10vw,160px)}
.eyebrow{margin-bottom:22px;color:var(--rose-dark);font:700 12px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.19em}.eyebrow-rule{display:flex;align-items:center;gap:15px}.eyebrow-rule:before{content:"";display:block;width:32px;height:1px;background:currentColor;flex:none}
.section-intro h2,.approach-heading h2,.faq-heading h2{font-size:clamp(46px,5vw,72px)}.section-intro em,.approach-heading em,.faq-heading em,.final-cta em{color:var(--rose-dark)}.section-intro>p:last-child{max-width:600px;color:var(--brown);font-size:18px;line-height:1.65}
.button{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:58px;padding:14px 46px 14px 24px;border:1px solid transparent;border-radius:999px;text-decoration:none;text-align:center;text-transform:uppercase;font:600 13px/1.25 var(--sans);letter-spacing:.055em;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}.button>span:last-child{position:absolute;right:21px;font-size:20px;font-weight:400;line-height:1}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--rose-dark);color:#fff;box-shadow:0 12px 30px rgba(167,95,100,.16)}.button-primary:hover{background:#915157;box-shadow:0 15px 34px rgba(167,95,100,.23)}.button-outline{border-color:var(--rose-dark);color:var(--rose-dark);background:rgba(255,255,255,.54)}.button-outline:hover{background:#f9efeb;box-shadow:0 10px 25px rgba(90,52,51,.08)}
.text-link{display:inline-flex;align-items:center;gap:16px;color:var(--rose-dark);font:700 13px var(--sans);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link span{font-size:19px;font-weight:400;line-height:1}.text-link:hover{gap:21px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(248,243,238,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(167,95,100,.22)}.header-inner{height:88px;width:min(100% - 2*clamp(22px,5vw,88px),1510px);margin:auto;display:flex;align-items:center;gap:26px}.brand{display:flex;flex-direction:column;flex:none;text-decoration:none;line-height:1}.brand-name{font:500 clamp(22px,1.85vw,30px)/.95 var(--serif);letter-spacing:.012em;white-space:nowrap}.brand-name span{font-style:italic;color:var(--rose-dark)}.brand-role{margin-top:7px;color:var(--taupe);text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:600;white-space:nowrap}.main-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(15px,2vw,35px)}.main-nav>a{text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;white-space:nowrap;transition:color .2s}.main-nav>a:hover{color:var(--rose-dark)}.main-nav .nav-mobile-cta{display:none}.header-cta{flex:none;display:inline-flex;align-items:center;gap:13px;background:var(--rose-dark);color:#fff;padding:12px 22px;border-radius:999px;text-decoration:none;text-transform:uppercase;letter-spacing:.055em;font-size:11px;font-weight:600;white-space:nowrap}.header-cta:hover{background:#915157}.header-cta span{font-size:17px;font-weight:400}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 72% 18%,rgba(217,162,162,.25),transparent 38%),radial-gradient(ellipse at 8% 80%,rgba(191,125,128,.09),transparent 34%),var(--cream)}.hero:before{content:"";position:absolute;z-index:-1;left:-10%;top:-16%;width:620px;height:650px;background:url("botanical-shadow.svg") center/contain no-repeat;transform:rotate(-22deg) scaleX(-1);filter:blur(10px);opacity:.18;pointer-events:none}.hero:after{content:"";position:absolute;z-index:-1;right:-200px;top:-245px;width:660px;height:660px;border-radius:60% 40% 65% 35%/45% 55% 45% 55%;background:rgba(217,162,162,.17);pointer-events:none}.hero-inner{display:grid;grid-template-columns:minmax(0,52%) minmax(0,48%);align-items:center;min-height:735px;gap:0}.hero-copy{position:relative;z-index:3;padding:70px clamp(12px,4vw,68px) 92px 0}.hero-copy:after{content:"";position:absolute;z-index:-1;right:-40px;bottom:4%;width:59%;height:36%;background:url("brushstroke.svg") center/contain no-repeat;opacity:.42;transform:rotate(-18deg);pointer-events:none}.hero h1{max-width:720px;font-size:clamp(63px,5.7vw,96px);margin:0 0 28px;line-height:.91;letter-spacing:-.055em}.hero h1 em{color:var(--rose-dark)}.hero h1 span{font-style:italic;color:var(--rose-dark);white-space:nowrap}.hero-lead{max-width:590px;margin-bottom:30px;color:#514440;font-size:clamp(16px,1.23vw,18px);line-height:1.67}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-actions .button{min-height:61px}.hero-locations{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:32px;color:var(--brown);font-size:12px}.hero-locations span{display:flex;align-items:center;gap:8px}.hero-locations b{font-size:16px;line-height:1}.hero-bottom-mark{position:absolute;left:clamp(22px,5vw,88px);bottom:25px;color:var(--taupe);font-size:9px;letter-spacing:.26em;opacity:.64}
.hero-visual{--portrait-bleed:clamp(75px,8vw,135px);position:relative;align-self:end;height:690px;min-width:0;overflow:visible}.photo-halo{position:absolute;inset:12% -10% 0 -15%;border-radius:55% 45% 0 0/21% 24% 0 0;background:radial-gradient(circle at 65% 28%,#ead2cb 0%,#ddbbb4 51%,#efdcd1 100%);opacity:.78}.hero-visual:before{content:"";position:absolute;left:-25%;bottom:12%;width:34%;height:56%;background:url("botanical-line.svg") center/contain no-repeat;transform:rotate(16deg);opacity:.35;pointer-events:none}.photo-frame{position:absolute;z-index:1;inset:9% 0 0;overflow:hidden;border-radius:46% 44% 3px 3px/22% 21% 3px 3px;box-shadow:0 24px 56px rgba(59,41,36,.12)}.photo-frame img,.knee-cutout img{position:absolute;top:0;left:calc(-1*var(--portrait-bleed));width:calc(100% + var(--portrait-bleed));height:auto;max-width:none;filter:saturate(.96) contrast(1.02)}.knee-cutout{position:absolute;z-index:2;inset:9% 0 0;pointer-events:none;filter:drop-shadow(-3px 12px 12px rgba(62,43,42,.18))}.knee-cutout img{-webkit-mask-image:url("knee-mask.svg");mask-image:url("knee-mask.svg");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.photo-caption{position:absolute;z-index:3;right:13px;bottom:16px;color:#fff;font:500 10px var(--sans);letter-spacing:.11em;text-shadow:0 1px 5px rgba(0,0,0,.5);text-transform:uppercase}.photo-caption i{font-style:normal;margin-inline:5px}
.hero-pricing{margin:20px 0 0;color:var(--brown);font-size:12px;letter-spacing:.035em}.hero-pricing strong{color:var(--rose-dark);font-weight:700}.hero-pricing span{margin-inline:7px}.hero-pricing+.hero-locations{margin-top:15px}
.eyebrow,.text-link,.button-outline,.hero-pricing strong{color:var(--rose-readable)}
[data-reveal]{opacity:1;transform:none}.js-ready [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.js-ready [data-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.js-ready [data-reveal]{opacity:1;transform:none}}
