:root{--ink:#2e5d3a;--muted:#52634f;--primary:#2e5d3a;--primary-hover:#23472c;--warm:#eadfcf;--soft:#c8e0c1;--line:#cdd6c6;--paper:#f6f9f1;--white:#fff;--radius:28px;--page:1320px}
/* Keep keyboard focus distinguishable on the dark contact surface. */
.contact a:focus-visible{outline-color:#fff}
/* Client-supplied landscape portrait: show the entire image without text on the face. */
.hero-editorial.hero-client-photo{min-height:0;display:flex;flex-direction:column;background:#203b28}
.hero-client-photo .hero-image{position:static;width:100%;height:auto;aspect-ratio:1600/901;object-fit:contain;z-index:auto}
.hero-editorial.hero-client-photo:after{display:none}
.hero-client-photo .hero-copy{padding:28px 32px}
.hero-client-photo .hero-copy h1{font-size:clamp(38px,3.5vw,54px);margin:14px 0 18px}
.hero-client-photo .hero-copy>p:not(.eyebrow){max-width:440px;margin-bottom:22px}
@media(max-width:700px){.hero-client-photo .hero-copy{padding:22px 24px}.hero-client-photo .hero-copy h1{font-size:clamp(32px,9vw,44px);margin:12px 0 16px}.hero-client-photo .hero-copy .eyebrow{font-size:9px;margin-bottom:0}.hero-client-photo .hero-copy>p:not(.eyebrow){font-size:14px;margin-bottom:18px}}
/* Client photography and concise service descriptions, 26 October 2026. */
.catalog-visuals{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}
.catalog-photo{display:block;width:100%;height:360px;object-fit:cover;object-position:center 48%;border-radius:18px}
.catalog-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:28px;margin:0 0 26px;background:var(--warm);border-radius:20px;overflow:hidden}
.catalog-feature .catalog-photo{border-radius:0;height:380px;object-position:center 55%}
.catalog-feature figcaption{padding:26px;font-size:22px;line-height:1.5;text-wrap:balance}
.service-item .service-description{font-size:14px;line-height:1.65;margin:0 0 22px}
@media(max-width:700px){.catalog-visuals{gap:12px}.catalog-photo{height:250px}.catalog-feature{grid-template-columns:1fr;gap:0}.catalog-feature .catalog-photo{height:350px}.catalog-feature figcaption{padding:20px;font-size:17px}}
/* Client-supplied catalog: scoped additions preserve the established identity. */
[hidden]{display:none!important}
.catalog{border-top:1px solid var(--line);padding-top:64px}
.catalog-notice{border-left:3px solid var(--primary);padding:18px 22px;background:var(--warm);border-radius:0 14px 14px 0;margin-bottom:26px}
.catalog-notice strong{font-size:14px}.catalog-notice p{font-size:13px;margin-top:7px;max-width:1000px}
.catalog-filters{display:flex;flex-wrap:wrap;gap:10px}
.catalog-filters button{border:1px solid #5b7f5b;background:white;color:var(--ink);border-radius:100px;padding:11px 19px;min-height:46px;font-size:13px;font-weight:500}
.catalog-filters button:hover{background:var(--soft)}
.catalog-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.catalog-count{font-size:12px;margin:18px 0 28px}
.catalog-group+.catalog-group{margin-top:40px}
.catalog-group-heading{display:flex;gap:28px;align-items:baseline;justify-content:space-between;margin-bottom:22px}
.catalog-group-heading h3{font-size:28px;flex-shrink:0}
.catalog-group-heading p{font-size:13px;max-width:560px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-item{padding:25px;border:1px solid var(--line);border-radius:18px;background:white;display:flex;flex-direction:column;align-items:start;min-width:0}
.service-item h4{margin:0 0 20px;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:-.025em}
.service-price{margin-top:auto;font-size:30px;letter-spacing:-.04em;font-weight:600;color:var(--ink);line-height:1.25}
.service-price span{font-size:12px;letter-spacing:0;font-weight:500;color:var(--muted);display:block;margin-top:5px}
.service-item>a{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:44px;font-size:13px;font-weight:600;color:var(--primary);border-top:1px solid var(--line);margin-top:20px;padding-top:12px}
.service-item>a:hover{color:var(--primary-hover);text-decoration:underline}
.catalog-footer{font-size:12px;max-width:850px;margin-top:25px}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-group-heading{display:block}.catalog-group-heading p{margin-top:12px}}
@media(max-width:700px){.catalog{padding-top:46px}.catalog-notice{padding:16px 18px}.catalog-filters{gap:8px}.catalog-filters button{font-size:12px;padding:10px 14px}.catalog-group-heading h3{font-size:26px}.catalog-grid{grid-template-columns:1fr}.service-item{padding:22px}.service-item h4{margin-bottom:16px}.service-price span{display:inline-block;margin-left:5px}.catalog-count{margin-bottom:22px}}
@media print{.catalog-filters,.catalog-count{display:none!important}.catalog-group[hidden]{display:block!important}.catalog-grid{grid-template-columns:repeat(2,1fr)}.service-item{break-inside:avoid}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a,button{transition:background-color .18s,color .18s,border-color .18s}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(32px,3.6vw,50px);font-weight:600;text-wrap:balance}h3{font-size:25px;font-weight:600}em{font-style:normal}p{color:var(--muted)}.section-shell{width:calc(100% - 72px);max-width:var(--page);margin-inline:auto}.section{padding-block:90px}.eyebrow,.section-label{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--ink);margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px}.section-heading>p{max-width:340px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:13px 25px;border-radius:100px;font-size:14px;font-weight:600;text-align:center}.button-primary{background:var(--primary);color:var(--white)}.button-primary:hover{background:var(--primary-hover)}.button-white,.button-light{background:var(--white);color:var(--ink)}.button-white:hover,.button-light:hover{background:var(--warm)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;font-size:14px;font-weight:600;border-bottom:1px solid currentColor}.text-link:hover{color:var(--primary)}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;background:white;padding:16px;z-index:100}.utility-bar{background:var(--soft);min-height:36px;padding:3px max(36px,calc((100% - var(--page))/2));display:flex;align-items:center;justify-content:space-between;font-size:12px}.utility-bar a{padding:8px 0}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);min-height:98px;display:flex;align-items:center;justify-content:space-between;padding:10px max(36px,calc((100% - var(--page))/2));gap:24px;border-bottom:1px solid transparent}.site-header.is-scrolled{border-color:var(--line)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:72px;height:64px;object-fit:contain}.brand>span{font-size:14px;font-weight:700;letter-spacing:.08em}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.2em;margin-top:4px}.site-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:500}.site-nav>a:not(.button){padding-block:14px}.site-nav>a:hover{color:var(--primary)}.site-nav>.button:hover{color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;padding-top:18px}.hero-editorial{position:relative;isolation:isolate;border-radius:var(--radius);overflow:hidden;min-height:590px;background:#203b28}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:60% 36%;z-index:-2}.hero-editorial:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,39,25,.9),rgba(19,39,25,.4) 68%,rgba(19,39,25,.16));z-index:-1}.hero-copy{padding:48px 36px;max-width:500px;color:white}.hero-copy .eyebrow{color:#f6f9f1;font-size:10px}.hero h1{font-size:clamp(55px,5.5vw,80px);line-height:1.01;font-weight:600;letter-spacing:-.055em;margin:30px 0 24px}.hero h1 span{color:#c8e0c1}.hero-copy>p:not(.eyebrow){color:#fff;max-width:290px;font-size:16px;margin-bottom:28px}.photo-caption{position:absolute;bottom:24px;right:28px;font-size:9px;letter-spacing:.16em;color:#fff}.consultation{padding:35px;border:1px solid var(--line);border-radius:var(--radius);background:white;display:flex;flex-direction:column;justify-content:center}.consultation .eyebrow{margin-bottom:15px}.consultation h2{font-size:38px;margin-bottom:15px}.consultation>p:not(.eyebrow){font-size:14px}.goal-options{padding:0;border:0;margin:22px 0 20px;display:grid;gap:10px;min-width:0}.goal-card{position:relative;display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid #5b7f5b;border-radius:14px;cursor:pointer;transition:background-color .18s,border-color .18s}.goal-card:has(input:checked){background:var(--soft);border-color:#2e5d3a}.goal-card:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:3px}.goal-card input{position:absolute;opacity:0;width:1px;height:1px}.goal-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#f6f9f1;font-size:13px;color:#2e5d3a}.goal-card strong{display:block;font-size:15px;line-height:1.4}.goal-card small{display:block;font-size:12px;color:var(--muted)}.radio-mark{width:18px;height:18px;border-radius:50%;border:1.5px solid #5b7f5b;margin-left:auto;flex-shrink:0}.goal-card:has(input:checked) .radio-mark{border:5px solid #2e5d3a;background:white}.consultation .fine-print{font-size:11px!important;line-height:1.5;text-align:center;margin-top:10px}.care-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 18px;border-bottom:1px solid var(--line);font-size:13px}.care-strip strong{font-size:19px;letter-spacing:-.025em}.care-strip p:before{content:"✓";margin-right:10px;color:var(--primary)}.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.treatment-card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden}.treatment-image{height:265px;position:relative;overflow:hidden}.treatment-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.treatment-image>span{position:absolute;bottom:16px;left:16px;border-radius:100px;background:white;padding:7px 12px;font-size:10px;font-weight:600;letter-spacing:.08em}.treatment-copy{padding:27px}.treatment-copy p{margin:16px 0 21px;font-size:14px;min-height:68px}.treatment-copy .text-link{width:100%}.treatment-disclaimer{text-align:center;font-size:12px;margin-top:24px}.experience{background:var(--soft)}.journey{position:relative}.journey-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.journey-steps button{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;text-align:left;background:transparent;border:0;border-radius:8px;padding:0;font-size:21px;font-weight:600;color:var(--ink);letter-spacing:-.025em}.journey-steps button>span{background:#fff;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:12px}.journey-steps button[aria-pressed=true]>span{background:var(--primary);color:white}.journey-steps p{margin:15px 0;font-size:14px;max-width:290px}.journey-detail{margin-top:28px;padding:24px 28px;background:white;border-radius:16px;display:flex;gap:36px;align-items:center;min-height:110px}.journey-detail .eyebrow{margin:0;flex:0 0 210px;color:var(--primary)}.journey-detail p{max-width:700px;font-size:15px}#journey-graphic{height:36px}#journey-graphic svg{display:block;width:100%;height:100%;overflow:visible}.about{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.about-image{border-radius:var(--radius);overflow:hidden}.about-image img{width:100%;height:430px;object-fit:cover}.about-copy>p:not(.eyebrow){margin-top:24px;max-width:450px}.signature{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:20px}.signature span{display:block;font-size:10px;font-weight:500;letter-spacing:.15em;margin-top:5px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:72px;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;cursor:pointer;padding:23px 35px 23px 0;list-style:none;font-size:17px;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:8px;font-size:24px;top:17px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding:0 30px 24px 0;font-size:14px}.contact{background:#2e5d3a;color:white;border-radius:var(--radius);padding:56px;display:grid;grid-template-columns:1.3fr 1fr;gap:65px}.contact h2{font-size:42px}.contact p{color:#f6f9f1;margin-top:22px;max-width:470px}.contact .button{margin-top:28px}.contact .button svg{width:19px;height:19px;fill:currentColor}.contact-details{font-style:normal;border-left:1px solid #7faf7a;padding-left:40px;font-size:14px}.contact-details p{margin:0 0 20px}.contact-details span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#eadfcf;margin-bottom:6px}.contact-details a{display:inline-block;min-height:44px;text-decoration:underline;text-underline-offset:4px}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:55px 0 24px}.footer-brand img{width:90px;height:auto}.footer-brand p{font-size:12px;max-width:320px;margin-top:14px}.footer-links{display:flex;flex-direction:column;align-items:start}.footer-links h3{font-size:14px;letter-spacing:0;margin-bottom:14px}.footer-links a{display:flex;align-items:center;min-height:44px;font-size:13px}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:11px}.mobile-booking{display:none}
@media(min-width:1440px){.hero-editorial{min-height:630px}.hero-copy{padding:56px;max-width:none}.consultation{padding:45px}}
@media(max-width:1100px){.brand>span{font-size:11px}.site-nav{gap:16px}.site-nav .button{padding:12px 16px;font-size:12px}.hero-copy{padding:35px 28px}.consultation{padding:28px}.consultation h2{font-size:34px}.care-strip{flex-wrap:wrap;justify-content:center}.about,.faq{gap:40px}.contact{gap:35px;padding:40px}}
@media(max-width:980px){.section-shell{width:calc(100% - 40px)}.utility-bar{padding-inline:20px}.site-header{min-height:80px;padding:8px 20px}.brand img{width:60px;height:53px}.brand>span{font-size:13px}.js .menu-toggle{display:flex;gap:12px;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:100px;padding:8px 16px;background:white;color:var(--ink);font-size:13px}.js .site-nav{display:none}.js .site-nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);box-shadow:0 18px 25px #2e5d3a18;max-height:calc(100dvh - 85px);overflow:auto}.site-nav a{min-height:44px}.hero{gap:16px}.hero h1{font-size:58px}.hero-editorial{min-height:590px}.consultation h2{font-size:30px}.goal-card{padding:12px;gap:10px}.goal-icon{width:32px;height:32px}.goal-card small{font-size:11px}.section{padding-block:64px}.section-heading{align-items:start}.section-heading>p{max-width:250px;font-size:14px}.treatment-grid{gap:15px}.treatment-copy{padding:20px}.treatment-copy h3{font-size:22px}.treatment-image{height:220px}.journey-steps{gap:20px}.journey-steps button{font-size:17px}.contact h2{font-size:35px}.contact-details{padding-left:25px}}
@media(max-width:700px){html{scroll-padding-top:95px}body{padding-bottom:85px}.section-shell{width:calc(100% - 32px)}.utility-bar{justify-content:center;font-size:11px;padding:4px 16px}.utility-bar>span{display:none}.site-header{padding-inline:16px}.brand>span{font-size:11px}.brand small{font-size:8px}.hero{grid-template-columns:1fr;padding-top:10px;gap:16px}.hero-editorial{min-height:520px}.hero-copy{padding:32px 26px;max-width:410px}.hero h1{font-size:62px;margin-top:26px}.hero-copy>p:not(.eyebrow){max-width:245px;font-size:15px}.hero-image{object-position:60% 30%}.photo-caption{font-size:8px;bottom:18px;right:20px}.consultation{padding:28px 24px}.consultation h2{font-size:34px}.consultation h2 br{display:none}.goal-card{padding:14px}.goal-card small{font-size:12px}.goal-icon{width:40px;height:40px}.care-strip{display:grid;grid-template-columns:1fr;padding:24px 10px;gap:10px;text-align:center}.care-strip strong{font-size:20px}.care-strip p{font-size:13px}.section{padding-block:54px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px;max-width:100%}h2{font-size:34px}.eyebrow,.section-label{font-size:10px;margin-bottom:14px}.treatment-grid{grid-template-columns:1fr;gap:24px}.treatment-image{height:280px}.treatment-copy{padding:25px}.treatment-copy h3{font-size:26px}.treatment-copy p{min-height:0}.treatment-disclaimer{font-size:11px}.journey{display:grid;grid-template-columns:20px 1fr;column-gap:14px}#journey-graphic{grid-column:1;grid-row:1;height:auto;align-self:stretch}.journey-steps{grid-column:2;grid-row:1;grid-template-columns:1fr;gap:18px}.journey-steps button{font-size:21px}.journey-steps p{max-width:none;margin-top:5px;font-size:14px}.journey-detail{grid-column:1/-1;display:block;margin-top:20px;padding:22px;min-height:170px}.journey-detail p{margin-top:12px}.about{grid-template-columns:1fr;gap:30px}.about-image img{height:310px}.about-copy>p:not(.eyebrow){margin-top:20px}.faq{grid-template-columns:1fr;gap:24px}.faq-list summary{font-size:16px}.contact{grid-template-columns:1fr;padding:32px 25px;gap:36px}.contact h2{font-size:34px}.contact-details{border-left:0;border-top:1px solid #7faf7a;padding:30px 0 0}.site-footer{grid-template-columns:1fr 1fr;padding-block:40px 24px;gap:30px}.footer-brand{grid-column:1/-1;display:grid;grid-template-columns:85px 1fr;column-gap:20px;align-items:center}.footer-brand .brand{grid-row:1/3}.footer-brand p{margin:0;font-size:11px}.footer-brand img{width:80px}.copyright{font-size:10px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;align-items:center;justify-content:space-between;padding:12px 20px calc(12px + env(safe-area-inset-bottom));gap:12px;background:var(--paper);border-top:1px solid var(--line)}.mobile-booking>span{font-size:13px;font-weight:500}.mobile-booking .button{min-height:44px;padding:10px 25px}}
@media(max-width:700px){.hero h1{font-size:clamp(42px,12vw,62px)}.hero-copy{padding-top:38px}.hero-editorial{min-height:520px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.utility-bar,.mobile-booking,.menu-toggle{display:none}body{padding:0}.section{padding-block:30px}.hero-editorial{print-color-adjust:exact}.contact,.experience{print-color-adjust:exact}a{overflow-wrap:anywhere}}
/* Client-approved botanical palette; pale colors are reserved for surfaces. */
:root{--secondary:#7faf7a;--detail:#a7c29a;--emphasis:#5b7f5b}
.utility-bar{background:var(--warm)}
.hero h1{font-size:clamp(48px,5vw,72px)}
.hero-copy{max-width:none}
.hero h1 span{display:inline-block}
.goal-card:has(input:checked){background:#e6efdf}
/* Gentle botanical hover: only devices with a precise pointer. */
@media (hover:hover) and (pointer:fine){
  .hero-editorial,.consultation,.treatment-card,.service-item,.about-image,.journey-detail,.contact{
    transition:transform 320ms cubic-bezier(.2,.7,.3,1),box-shadow 320ms ease,border-color 240ms ease;
  }
  .hero-editorial:hover,.consultation:hover,.about-image:hover,.journey-detail:hover,.contact:hover{
    box-shadow:0 14px 36px -18px rgb(46 93 58 / 38%);
  }
  .treatment-card:hover,.service-item:hover{
    transform:translateY(-4px);border-color:var(--secondary);
    box-shadow:0 16px 30px -18px rgb(46 93 58 / 42%);
  }
  .hero-image,.treatment-image img,.about-image img{transition:transform 650ms cubic-bezier(.2,.7,.3,1)}
  .hero-editorial:hover .hero-image,.treatment-card:hover .treatment-image img,.about-image:hover img{transform:scale(1.025)}
  .goal-card,.faq-list details,.journey-steps button{transition:background-color 240ms ease,box-shadow 240ms ease,border-color 240ms ease}
  .goal-card:hover{border-color:var(--primary);box-shadow:0 4px 14px -8px rgb(46 93 58 / 35%)}
  .faq-list details:hover,.journey-steps button:hover{background-color:rgb(127 175 122 / 10%)}
  .button{transition:transform 240ms ease,box-shadow 240ms ease,background-color 180ms ease,color 180ms ease}
  .button:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px rgb(46 93 58 / 45%)}
  .button:active{transform:translateY(0);box-shadow:none}
}
.treatment-card:focus-within,.service-item:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px rgb(46 93 58 / 15%)}
@media(prefers-reduced-motion:reduce){
  .hero-image,.treatment-image img,.about-image img,.treatment-card,.service-item,.button{transform:none!important}
}
@media(max-width:700px){.hero h1{font-size:clamp(36px,10.6vw,54px)}}

/* Review AN-02/03/20: preserve the whole treatment photograph at every width. */
.treatment-image{height:340px;background:var(--paper)}
.treatment-image img{object-fit:contain;object-position:center;transform:none!important}
.treatment-image>span{position:static;display:block;border-radius:0;text-align:center;padding:9px 12px;background:var(--soft)}
.treatment-image{height:auto;padding-bottom:0}
.treatment-image img{height:320px}
.catalog-photo{height:390px;object-fit:contain;object-position:center;background:var(--paper)}
.catalog-feature .catalog-photo{height:420px;object-fit:contain;object-position:center}
.catalog-feature{gap:16px}
.catalog-feature figcaption{font-size:19px;padding:24px}
.catalog-group-heading h3{flex-shrink:1;line-height:1.2}
.about-image{background:var(--warm)}
.about-image img{height:450px;object-fit:contain;object-position:center;transform:none!important}
.section{padding-block:68px}
.section-heading{margin-bottom:30px}
.about,.faq{gap:48px}
@media(max-width:980px){.treatment-image img{height:260px}.catalog-photo{height:340px}.section{padding-block:54px}.about,.faq{gap:30px}}
@media(max-width:700px){.treatment-image img{height:340px}.catalog-visuals{grid-template-columns:1fr}.catalog-photo{height:360px}.catalog-feature .catalog-photo{height:360px}.catalog-feature figcaption{font-size:16px;padding:18px 20px}.about-image img{height:360px}.section{padding-block:42px}.section-heading{margin-bottom:24px}.catalog-group-heading h3{font-size:25px}html{scroll-padding-bottom:100px}}

/* Revision 3: larger, uncropped portraits and readable service cards. */
.treatment-image img{height:auto;aspect-ratio:2/3;object-fit:contain;background:var(--warm)}
.catalog-visuals{max-width:1000px;margin-inline:auto;gap:24px}
.catalog-photo{height:auto;aspect-ratio:2/3;object-fit:contain;background:var(--warm)}
.catalog-feature{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.catalog-feature .catalog-photo{height:auto;max-height:680px;aspect-ratio:2/3}
.about-image img{height:auto;max-height:720px;object-fit:contain}
.service-item h4{font-size:20px;margin-bottom:12px}
.service-item .service-description{font-size:15px;line-height:1.65;margin-bottom:20px;color:#42543f}
.service-price{margin-top:auto}
.catalog-count,.catalog-footer,.catalog-notice p,.catalog-group-heading p,.treatment-disclaimer,.fine-print,.footer-brand p{font-size:14px;line-height:1.65}
.signature span{font-size:13px;letter-spacing:.06em}
.professional-notice{padding:24px;border:1px solid var(--primary);border-radius:18px;background:var(--paper);margin:0 0 26px}
.professional-notice h4{font-size:20px;margin:0 0 12px}
.professional-notice p{font-size:15px;line-height:1.7;max-width:85ch}
.professional-notice p+p{margin-top:12px}
.service-item>a{font-size:14px;min-height:48px}
@media(max-width:700px){
 .catalog-grid{grid-template-columns:1fr;gap:16px}
 .service-item{padding:22px;border-radius:18px}
 .catalog-visuals{gap:18px}
 .catalog-photo{height:auto;max-height:none}
 .catalog-feature{grid-template-columns:1fr;gap:0}
 .catalog-feature .catalog-photo{height:auto;max-height:none}
 .treatment-image img,.about-image img{height:auto;max-height:none}
 .treatment-copy{padding:22px}
 .professional-notice{padding:20px}
 .catalog-filters button{font-size:14px;min-height:48px}
 .faq-list details p,.journey-steps p{font-size:15px}
}

