@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.relative{position:relative}
.start{inset-inline-start:var(--spacing)}
.table{display:table}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
}
:root{--ink:#28302c;--paper:#f6f1e8;--cream:#fffaf2;--sage:#aab8a1;--deep-sage:#43534a;--clay:#c9795c;--line:#28302c2e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,sans-serif}
a{color:inherit;text-decoration:none}
.site-header{z-index:30;border-bottom:1px solid var(--line);background:#f6f1e8eb;justify-content:space-between;align-items:center;height:92px;padding:0 clamp(24px,5vw,84px);display:flex;position:relative}
.brand{align-items:center;gap:12px;display:flex}
.brand-logo{object-fit:contain;flex:none;width:52px;height:52px;display:block}
.brand strong,.brand small{display:block}
.brand strong{font-family:Newsreader,serif;font-size:20px;font-weight:500;line-height:1}
.brand small{letter-spacing:.24em;text-transform:uppercase;margin-top:3px;font-size:9px}
.desktop-nav{align-items:center;gap:clamp(20px,3vw,44px);font-size:13px;font-weight:500;display:flex}
.desktop-nav a:not(.nav-cta){position:relative}
.desktop-nav a:not(.nav-cta):after{content:"";background:var(--ink);height:1px;transition:right .2s;position:absolute;bottom:-6px;left:0;right:100%}
.desktop-nav a:hover:after{right:0}
.nav-cta,.button-primary{background:var(--ink);color:#fff;border-radius:999px;transition:transform .2s,background .2s}
.nav-cta{padding:13px 19px}
.nav-cta:hover,.button-primary:hover{background:var(--deep-sage);transform:translateY(-2px)}
.hero{grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:clamp(36px,6vw,104px);min-height:710px;padding:clamp(64px,7vw,104px) clamp(24px,5vw,84px) 74px;display:grid;overflow:hidden}
.hero-copy{align-self:center}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;margin:0 0 24px;font-size:11px;font-weight:600}
h1,h2,h3{letter-spacing:-.035em;font-family:Newsreader,serif;font-weight:400}
h1{margin:0;font-size:clamp(58px,5.5vw,88px);line-height:.92}
.hero-lede{color:#56605a;max-width:560px;margin:32px 0;font-size:18px;line-height:1.7}
.hero-actions{align-items:center;gap:28px;display:flex}
.button{align-items:center;gap:25px;padding:17px 23px;font-size:14px;font-weight:500;display:inline-flex}
.button span{font-size:17px}
.text-link{border-bottom:1px solid var(--ink);padding:8px 0;font-size:13px}
.text-link span{margin-left:10px}
.hero-proof{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:16px;margin-top:58px;padding-top:25px;display:grid}
.hero-proof strong{font-family:Newsreader,serif;font-size:30px;font-weight:400;display:block}
.hero-proof span{color:#657069;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:10px;display:block}
.hero-visual{align-self:stretch;min-height:550px;position:relative}
.image-placeholder{background:#9fad97 url(/studio-treatment-room.jpg) 50%/cover no-repeat;border-radius:220px 220px 12px 12px;position:absolute;inset:0;overflow:hidden}
.image-placeholder:after{content:"";background:linear-gradient(#0000 55%,#1e262138);position:absolute;inset:0}
.location-card{z-index:3;background:var(--cream);align-items:center;gap:14px;width:min(315px,88%);padding:20px 22px;display:flex;position:absolute;bottom:48px;right:-28px;box-shadow:0 22px 60px #2b2d2829}
.location-card strong,.location-card small{display:block}
.location-card strong{font-family:Newsreader,serif;font-size:18px;font-weight:500}
.location-card small{color:#717972;margin-top:4px;font-size:11px}
.pulse{background:var(--clay);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 6px #c9795c26}
.intro{background:var(--cream);grid-template-columns:1fr 1fr;gap:8vw;padding:110px clamp(24px,7vw,112px) 60px;display:grid}
.intro h2{max-width:550px;margin:0;font-size:clamp(48px,5.2vw,78px);line-height:.98}
.intro>p{color:#5a645e;align-self:center;max-width:510px;margin:38px 0 0;font-size:17px;line-height:1.8}
.service-grid{background:var(--cream);grid-template-columns:repeat(3,1fr);gap:12px;padding:0 clamp(24px,5vw,84px) 110px;display:grid}
.service-card{flex-direction:column;justify-content:space-between;min-height:430px;padding:28px;display:flex}
.card-sage{background:var(--sage)}
.card-clay{background:var(--clay);color:#fffaf2}
.card-cream{background:#eee4d6}
.service-number{border:1px solid;border-radius:50%;place-items:center;width:36px;height:36px;font-size:10px;display:grid}
.card-kicker{letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:10px}
.service-card h3{margin:0;font-size:clamp(34px,3.2vw,50px);line-height:1}
.service-card p:not(.card-kicker){opacity:.82;min-height:74px;margin:24px 0;font-size:14px;line-height:1.65}
.service-card a{border-top:1px solid;justify-content:space-between;padding-top:16px;font-size:12px;font-weight:600;display:flex}
.studio-gallery{background:var(--paper);padding:120px clamp(24px,5vw,84px)}
.studio-gallery-heading{grid-template-columns:1.1fr .75fr;align-items:end;gap:clamp(40px,9vw,140px);margin-bottom:54px;display:grid}
.studio-gallery-heading h2{max-width:700px;margin:0;font-size:clamp(50px,5.5vw,82px);line-height:.95}
.studio-gallery-heading>p{color:#5c6660;max-width:520px;margin:0 0 5px;font-size:16px;line-height:1.75}
.studio-gallery-grid{grid-template-rows:repeat(2,minmax(250px,1fr));grid-template-columns:1.35fr .65fr;gap:12px;display:grid}
.studio-photo{background:#d8cfc0;min-height:320px;margin:0;position:relative;overflow:hidden}
.studio-photo-wide{grid-row:1/3;min-height:650px}
.studio-photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}
.studio-photo:hover img{transform:scale(1.015)}
.studio-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#191f1c75);height:38%;position:absolute;inset:auto 0 0}
.studio-photo figcaption{z-index:1;color:#fff;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:600;position:absolute;bottom:18px;left:22px}
.therapists{background:var(--paper);padding:120px clamp(24px,5vw,84px)}
.section-heading{max-width:720px;margin-bottom:74px}
.section-heading h2{margin:0;font-size:clamp(54px,6vw,88px);line-height:.95}
.section-heading>p:last-child{color:#5f6963;max-width:480px;margin:24px 0 0;font-size:16px;line-height:1.7}
.therapist-list{border-top:1px solid var(--line)}
.therapist-row{border-bottom:1px solid var(--line);grid-template-columns:155px minmax(220px,.8fr) 1.25fr minmax(155px,.45fr);align-items:center;gap:clamp(24px,4vw,72px);padding:32px 0;display:grid}
.portrait{aspect-ratio:4/5;background:#d8cfc0;place-items:center;width:150px;display:grid;position:relative;overflow:hidden}
.portrait img{object-fit:cover;width:100%;height:100%;display:block}
.portrait-christina img{object-position:50% 40%}
.portrait-anna img{object-position:50% 38%}
.portrait-cassie img{object-position:50% 35%}
.therapist-name>span{letter-spacing:.16em;text-transform:uppercase;color:#68716c;font-size:9px}
.therapist-name h3{margin:10px 0 0;font-size:clamp(38px,3.4vw,54px);line-height:.88}
.therapist-row>p{color:#5c6660;margin:0;font-size:14px;line-height:1.75}
.therapist-row>a{border-bottom:1px solid var(--ink);justify-content:space-between;align-self:end;padding:14px 0;font-size:12px;font-weight:600;display:flex}
.testimonial{color:#f8f1e7;background:var(--deep-sage);text-align:center;padding:120px clamp(24px,9vw,150px)}
.testimonial-stage{flex-direction:column;justify-content:center;min-height:390px;display:flex}
.testimonial blockquote{letter-spacing:-.035em;max-width:980px;margin:20px auto 46px;font-family:Newsreader,serif;font-size:clamp(48px,6.5vw,92px);line-height:1.02}
.quote-meta{text-align:left;align-items:center;gap:16px;display:inline-flex}
.quote-line{opacity:.55;background:currentColor;width:42px;height:1px}
.quote-meta strong,.quote-meta small{display:block}
.quote-meta strong{font-family:Newsreader,serif;font-size:17px;font-weight:400}
.quote-meta small{opacity:.65;text-transform:uppercase;letter-spacing:.1em;margin-top:3px;font-size:10px}
.testimonial-controls{justify-content:center;align-items:center;gap:28px;margin-top:54px;display:flex}
.testimonial-controls>button{width:50px;height:50px;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff7a;border-radius:50%;font-size:20px;transition:background .2s,color .2s}
.testimonial-controls>button:hover,.testimonial-controls>button:focus-visible{color:var(--deep-sage);background:#f8f1e7}
.testimonial-dots{align-items:center;gap:2px;display:flex}
.testimonial-dots button{cursor:pointer;background:0 0;border:0;width:24px;height:44px;padding:0;position:relative}
.testimonial-dots button:after{content:"";background:#ffffff59;border-radius:50%;width:8px;height:8px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}
.testimonial-dots button.is-active:after{background:#f8f1e7;border-radius:999px;width:24px}
.testimonial-dots button:focus-visible{outline-offset:1px;border-radius:999px;outline:2px solid #f8f1e7}
.testimonial-count{letter-spacing:.12em;min-width:54px;font-size:12px;display:none}
.booking-section{background:var(--clay);color:#fffaf2;grid-template-columns:1.2fr .8fr;min-height:610px;display:grid}
.booking-copy{border-right:1px solid #ffffff45;padding:clamp(76px,8vw,126px) clamp(24px,8vw,128px)}
.booking-copy h2{margin:0;font-size:clamp(64px,7vw,105px);line-height:.85}
.booking-copy>p:not(.eyebrow){max-width:450px;margin:30px 0;font-size:16px;line-height:1.7}
.rate-list{border-top:1px solid #ffffff73;max-width:520px;margin:34px 0 0}
.rate-list>div{border-bottom:1px solid #ffffff73;justify-content:space-between;align-items:center;min-height:58px;padding:12px 0;display:flex}
.rate-list span{font-size:13px;font-weight:500}
.rate-list strong{font-family:Newsreader,serif;font-size:26px;font-weight:400}
.booking-copy .rate-note{opacity:.78;margin:22px 0 26px;font-size:12px;line-height:1.6}
.button-light{color:var(--ink);background:#fffaf2;border-radius:999px}
.button-light:hover{transform:translateY(-2px)}
.visit-card{flex-direction:column;justify-content:space-between;padding:clamp(76px,8vw,126px) clamp(32px,6vw,92px);display:flex}
.visit-address{gap:30px;display:grid}
.visit-address>span{font-family:Newsreader,serif;font-size:clamp(32px,3.3vw,50px);line-height:1.12}
.visit-address small{opacity:.72;font-size:12px;line-height:1.6}
.visit-links{display:grid}
.visit-links a{border-bottom:1px solid #ffffff73;justify-content:space-between;padding:17px 0;font-size:12px;font-weight:600;display:flex}
.gift-strip{background:#d8cfc0;justify-content:space-between;align-items:center;min-height:180px;padding:35px clamp(24px,6vw,96px);display:flex}
.gift-strip>div{align-items:center;gap:24px;display:flex}
.gift-icon{border:1px solid var(--ink);border-radius:50%;place-items:center;width:72px;height:72px;font-size:25px;display:grid}
.gift-strip p{margin:0;font-family:Newsreader,serif;font-size:clamp(26px,3vw,40px)}
.gift-strip p small{text-transform:uppercase;letter-spacing:.16em;margin-bottom:5px;font-family:DM Sans,sans-serif;font-size:10px;display:block}
.gift-strip>a{border-bottom:1px solid var(--ink);justify-content:space-between;min-width:170px;padding:15px 0;font-size:12px;font-weight:600;display:flex}
footer{color:#f5eee4;background:#222b27;grid-template-columns:1fr 1fr auto;align-items:center;gap:32px 70px;padding:68px clamp(24px,5vw,84px) 34px;display:grid}
.footer-brand{grid-row:span 2}
.footer-brand .brand-logo{background:var(--cream);border-radius:50%;width:66px;height:66px;padding:4px}
footer>p{opacity:.65;max-width:360px;margin:0;font-size:13px;line-height:1.6}
footer>div{gap:28px;font-size:12px;display:flex}
footer>small{opacity:.45;grid-column:2/-1;font-size:10px}
.mobile-book,.mobile-menu{display:none}
.gift-page-hero{grid-template-columns:minmax(0,1fr) minmax(380px,.85fr);align-items:center;gap:clamp(50px,9vw,150px);min-height:700px;padding:clamp(72px,8vw,120px) clamp(24px,7vw,112px);display:grid;overflow:hidden}
.gift-page-copy h1{margin:0;font-size:clamp(58px,6.3vw,94px);line-height:.92}
.gift-page-copy>p:not(.eyebrow){color:#59635d;max-width:570px;margin:30px 0;font-size:18px;line-height:1.7}
.gift-page-actions{align-items:center;gap:22px;display:flex}
.gift-page-actions small{color:#68716c;font-size:11px}
.gift-card-visual{place-items:center;min-height:430px;display:grid;position:relative}
.gift-card-visual:before{content:"";aspect-ratio:1;background:var(--sage);border-radius:50%;width:470px;max-width:100%;position:absolute}
.gift-card-mockup{aspect-ratio:1.58;z-index:1;color:#fffaf2;background:var(--deep-sage);border-radius:7px;flex-direction:column;justify-content:space-between;width:min(480px,94%);padding:clamp(24px,4vw,42px);display:flex;position:relative;transform:rotate(-4deg);box-shadow:0 35px 75px #252e2947}
.gift-card-brand{align-items:center;gap:10px;display:flex}
.gift-card-brand img{object-fit:contain;filter:brightness(0)invert();width:46px;height:46px}
.gift-card-brand strong,.gift-card-brand small{display:block}
.gift-card-brand strong{font-family:Newsreader,serif;font-size:17px;font-weight:400}
.gift-card-brand small{letter-spacing:.2em;text-transform:uppercase;margin-top:2px;font-size:7px}
.gift-card-star{color:var(--clay);font-size:38px;position:absolute;top:34px;right:38px}
.gift-card-mockup>div:last-child small,.gift-card-mockup>div:last-child strong{display:block}
.gift-card-mockup>div:last-child small{opacity:.6;letter-spacing:.18em;margin-bottom:8px;font-size:8px}
.gift-card-mockup>div:last-child strong{font-family:Newsreader,serif;font-size:clamp(24px,3vw,38px);font-weight:400}
.gift-amounts{background:var(--cream);padding:110px clamp(24px,5vw,84px) 70px}
.gift-amounts-heading{grid-template-columns:1.15fr .85fr;align-items:end;gap:clamp(40px,8vw,130px);margin-bottom:54px;display:grid}
.gift-amounts-heading h2{margin:0;font-size:clamp(48px,5.3vw,78px);line-height:.96}
.gift-amounts-heading>p{color:#5c6660;max-width:500px;margin:0 0 5px;font-size:16px;line-height:1.75}
.gift-amount-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}
.gift-amount-card{border-top:4px solid var(--deep-sage);background:#eee4d6;flex-direction:column;min-height:285px;padding:26px;transition:transform .2s,box-shadow .2s,background .2s;display:flex}
.gift-amount-card:nth-child(2n){background:#e3e9de}
.gift-amount-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #28302c21}
.gift-amount-card:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
.gift-amount-grid small{letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:600}
.gift-amount-grid strong{margin:auto 0 16px;font-family:Newsreader,serif;font-size:clamp(46px,4.7vw,70px);font-weight:400;line-height:.9}
.gift-session{border-top:1px solid var(--line);min-height:38px;padding-top:13px;font-size:13px;font-weight:600;line-height:1.45}
.gift-tile-link{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:17px;padding-top:15px;font-size:11px;font-weight:600;line-height:1.4;display:flex}
.gift-tile-link>span{flex:none;font-size:16px}
.gift-amount-action{justify-content:space-between;align-items:center;gap:28px;padding:30px 0 0;display:flex}
.gift-amount-action p{color:#5c6660;margin:0;font-size:13px;line-height:1.6}
.gift-benefits{background:var(--cream);grid-template-columns:repeat(3,1fr);gap:12px;padding:0 clamp(24px,5vw,84px) 110px;display:grid}
.gift-benefits article{background:#eee4d6;flex-direction:column;min-height:300px;padding:30px;display:flex}
.gift-benefits article:nth-child(2){background:var(--sage)}
.gift-benefits article:nth-child(3){background:var(--clay);color:#fffaf2}
.gift-benefits article>span{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;display:grid}
.gift-benefits h2{margin:auto 0 12px;font-size:clamp(36px,3.5vw,54px);line-height:1}
.gift-benefits p{opacity:.8;min-height:48px;margin:0;font-size:14px;line-height:1.65}
.gift-how{background:var(--cream);grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,150px);padding:120px clamp(24px,7vw,112px);display:grid}
.gift-how-heading h2{margin:0;font-size:clamp(48px,5.3vw,78px);line-height:.96}
.gift-how ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}
.gift-how li{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:20px;padding:27px 0;display:grid}
.gift-how li>span{border:1px solid var(--ink);border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;display:grid}
.gift-how strong{font-family:Newsreader,serif;font-size:25px;font-weight:400;display:block}
.gift-how li p{color:#5c6660;margin:8px 0 0;font-size:14px;line-height:1.65}
.gift-purchase{color:#fffaf2;background:var(--clay);text-align:center;padding:120px 24px}
.gift-purchase h2{max-width:900px;margin:0 auto;font-size:clamp(58px,7vw,102px);line-height:.9}
.gift-purchase>p:not(.eyebrow){max-width:560px;margin:28px auto;font-size:16px;line-height:1.7}
.booking-page-hero{grid-template-columns:1.1fr minmax(350px,.7fr);align-items:center;gap:clamp(50px,10vw,160px);min-height:630px;padding:clamp(72px,8vw,120px) clamp(24px,7vw,112px);display:grid}
.booking-page-copy h1{margin:0;font-size:clamp(58px,6.5vw,96px);line-height:.91}
.booking-page-copy>p:not(.eyebrow){color:#59635d;max-width:590px;margin:30px 0;font-size:18px;line-height:1.7}
.booking-rate-panel{color:#fffaf2;background:var(--deep-sage);padding:38px;box-shadow:0 30px 70px #252e292e}
.booking-rate-panel .eyebrow{margin-bottom:30px}
.booking-rate-panel>div{border-top:1px solid #ffffff59;justify-content:space-between;align-items:center;min-height:72px;padding:16px 0;display:flex}
.booking-rate-panel>div:last-of-type{border-bottom:1px solid #ffffff59}
.booking-rate-panel span{font-size:13px;font-weight:500}
.booking-rate-panel strong{font-family:Newsreader,serif;font-size:32px;font-weight:400}
.booking-rate-panel>small{opacity:.68;margin-top:24px;font-size:11px;line-height:1.6;display:block}
.schedule-section{background:var(--cream);padding:110px clamp(24px,5vw,84px);scroll-margin-top:24px}
.schedule-heading{grid-template-columns:1fr .75fr;align-items:end;gap:clamp(40px,9vw,140px);margin-bottom:50px;display:grid}
.schedule-heading h2{margin:0;font-size:clamp(50px,5.5vw,82px);line-height:.95}
.schedule-heading>div:last-child>p{color:#5c6660;margin:0 0 18px;font-size:15px;line-height:1.7}
.schedule-heading a{border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:12px;font-weight:600}
.schedule-heading a span{margin-left:10px}
.schedule-frame-shell{border:1px solid var(--line);background:#fff;width:100%;max-width:900px;min-height:850px;margin:0 auto;padding:clamp(8px,2vw,22px);box-shadow:0 24px 65px #28302c1a}
.schedule-frame-shell iframe{background:#fff;border:0;width:100%;min-height:850px;display:block}
.booking-help{background:var(--cream);grid-template-columns:repeat(3,1fr);gap:12px;padding:0 clamp(24px,5vw,84px) 110px;display:grid}
.booking-help article{background:#eee4d6;flex-direction:column;min-height:330px;padding:30px;display:flex}
.booking-help article:nth-child(2){background:var(--sage)}
.booking-help article:nth-child(3){color:#fffaf2;background:var(--clay)}
.booking-help article>span{border:1px solid;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;display:grid}
.booking-help h2{margin:auto 0 16px;font-size:clamp(32px,3vw,45px);line-height:1}
.booking-help p{opacity:.82;min-height:90px;margin:0;font-size:14px;line-height:1.7}
.booking-help p a{border-bottom:1px solid}
@media (width<=900px){.desktop-nav{display:none}
.mobile-menu{display:block}
.mobile-menu summary{border:1px solid var(--line);cursor:pointer;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;min-width:88px;min-height:44px;padding:0 15px;font-size:12px;font-weight:600;list-style:none;display:flex}
.mobile-menu summary::-webkit-details-marker{display:none}
.menu-icon{border-top:1.5px solid;border-bottom:1.5px solid;width:17px;height:11px;position:relative}
.menu-icon:after{content:"";border-top:1.5px solid;position:absolute;top:4px;left:0;right:0}
.mobile-menu[open] .menu-icon{border:0;height:17px}
.mobile-menu[open] .menu-icon:before,.mobile-menu[open] .menu-icon:after{content:"";border-top:1.5px solid;position:absolute;top:8px;left:0;right:0;transform:rotate(45deg)}
.mobile-menu[open] .menu-icon:after{transform:rotate(-45deg)}
.mobile-menu nav{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding:18px 24px 26px;display:grid;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 35px #28302c24}
.mobile-menu nav>a{border-bottom:1px solid var(--line);padding:15px 4px;font-size:13px;font-weight:600}
.mobile-menu nav>a:not(.mobile-menu-primary){grid-column:1/-1}
.mobile-menu nav .mobile-menu-primary{background:var(--ink);color:#fff;border:0;border-radius:8px;justify-content:space-between;align-items:center;min-height:62px;padding:16px;display:flex}
.mobile-menu nav .mobile-menu-gift{background:var(--clay)}
.hero{grid-template-columns:1fr}
.hero-visual{min-height:520px}
.intro{grid-template-columns:1fr}
.intro>p{margin-top:0}
.service-grid{grid-template-columns:1fr}
.service-card{min-height:350px}
.studio-gallery-heading{grid-template-columns:1fr}
.studio-gallery-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}
.studio-photo-wide{grid-area:auto/1/auto/-1;min-height:520px}
.studio-photo{min-height:300px}
.therapist-row{grid-template-columns:120px 1fr;gap:24px}
.portrait{grid-row:span 2;width:120px}
.therapist-row>p,.therapist-row>a{grid-column:2}
.booking-section,.gift-page-hero{grid-template-columns:1fr}
.gift-card-visual{min-height:390px}
.gift-amounts-heading{grid-template-columns:1fr}
.gift-amount-grid{grid-template-columns:repeat(2,1fr)}
.gift-benefits{grid-template-columns:1fr}
.gift-benefits article{min-height:260px}
.gift-how,.booking-page-hero,.schedule-heading,.booking-help{grid-template-columns:1fr}
.booking-help article{min-height:270px}
.booking-copy{border-bottom:1px solid #ffffff45;border-right:0}
.visit-card{gap:48px}
footer{grid-template-columns:1fr 1fr}
footer>small{grid-column:2}
}
@media (width<=560px){.site-header{height:76px}
.brand-logo{width:44px;height:44px}
.brand strong{font-size:17px}
.nav-cta{padding:11px 14px}
.hero{min-height:auto;padding-top:52px}
h1{font-size:52px}
.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}
.hero-proof{gap:8px}
.hero-proof strong{font-size:24px}
.hero-visual{min-height:440px}
.image-placeholder{border-radius:160px 160px 8px 8px}
.location-card{right:-8px}
.intro{padding-top:80px}
.studio-gallery{padding-top:82px;padding-bottom:82px}
.studio-gallery-grid{grid-template-columns:1fr}
.studio-photo-wide{grid-column:auto;min-height:430px}
.studio-photo{min-height:300px}
.therapists{padding-top:80px}
.section-heading{margin-bottom:42px}
.therapist-row{grid-template-columns:82px 1fr;gap:18px}
.portrait{width:82px}
.portrait:before{width:40px;height:40px;top:18px}
.portrait:after{width:74px;height:65px}
.therapist-name h3{font-size:36px}
.therapist-row>p,.therapist-row>a{grid-column:1/-1}
.testimonial{padding-top:82px;padding-bottom:82px}
.testimonial-stage{min-height:330px}
.testimonial blockquote{font-size:46px}
.testimonial-controls{gap:20px;margin-top:38px}
.testimonial-dots{display:none}
.testimonial-count{display:inline-block}
.booking-copy,.visit-card{padding:76px 24px}
.gift-strip{flex-direction:column;align-items:flex-start;gap:30px}
.gift-icon{width:54px;height:54px}
.gift-strip>a{width:100%}
footer{grid-template-columns:1fr;padding-bottom:105px}
footer>p,footer>div,footer>small{grid-column:1}
footer>div{flex-wrap:wrap}
.mobile-book{z-index:20;background:var(--ink);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;padding:17px 20px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 12px 32px #1a201d4d}
.gift-page-hero{padding-top:54px}
.gift-page-copy h1{font-size:50px}
.gift-page-actions{flex-direction:column;align-items:flex-start}
.gift-card-visual{min-height:310px}
.gift-card-mockup{width:100%}
.gift-amounts{padding-top:82px}
.gift-amount-grid{grid-template-columns:1fr}
.gift-amount-card{min-height:235px}
.gift-amount-action{flex-direction:column;align-items:flex-start}
.gift-amount-action .button{justify-content:space-between;width:100%}
.gift-how{padding-top:82px;padding-bottom:82px}
.booking-page-hero{padding-top:54px}
.booking-page-copy h1{font-size:50px}
.booking-rate-panel{padding:28px}
.schedule-section{padding:82px 12px}
.schedule-heading{padding:0 12px}
.schedule-frame-shell{min-height:900px;box-shadow:none;padding:0}
.schedule-frame-shell iframe{min-height:900px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}

