:root{
  --cream:#f5f0df;--cream-2:#ebe2c7;--paper:#fffdf7;--sage:#b9c3ad;--sage-dark:#65705c;
  --taupe:#8a7d73;--rose:#b96881;--blush:#c8a09e;--ink:#292926;--muted:#68665f;--line:#d8d1bf;
  --serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;
  --action-green:#88a18d;--action-green-dark:#718977;--action-green-light:#b8c6b4;
  --ease:cubic-bezier(.22,1,.36,1);--shadow:0 25px 70px rgba(65,55,45,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;overflow-x:clip}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select{font:inherit}button,summary{cursor:pointer}p{margin:0 0 20px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0;text-wrap:balance}h1{font-size:clamp(52px,6vw,92px);letter-spacing:-4px}h2{font-size:clamp(42px,4.8vw,70px);letter-spacing:-2.7px}h3{font-size:clamp(25px,2.1vw,33px);letter-spacing:-.8px}em{color:var(--rose);font-weight:400}.skip{position:fixed;left:12px;top:-100px;background:#fff;padding:12px;z-index:200}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--action-green);outline-offset:4px}.progress{position:fixed;inset:0 auto auto 0;height:3px;width:0;background:linear-gradient(90deg,var(--sage-dark),var(--rose));z-index:200}.section{max-width:1440px;margin:auto;padding:110px 7%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;line-height:1.5;margin-bottom:27px;color:var(--sage-dark)}.button{min-height:55px;display:inline-flex;align-items:center;justify-content:center;padding:15px 27px;background:var(--action-green);border:1px solid var(--action-green);color:#fff;border-radius:100px;font-size:13px;font-weight:700;letter-spacing:.3px;position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s,background .4s}.button:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(113,137,119,.3);background:var(--action-green-dark)}.button:active{transform:scale(.97)}.button.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button.light:hover{background:#fff}.secondary-action{font-size:13px;font-weight:700;padding:10px 0;position:relative}.secondary-action:after{content:"";position:absolute;left:0;bottom:4px;height:1px;width:100%;background:var(--action-green);transform:scaleX(.25);transform-origin:left;transition:transform .6s var(--ease)}.secondary-action:hover:after{transform:scaleX(1)}

header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(245,240,223,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:80;border-bottom:1px solid transparent;transition:height .6s var(--ease),border-color .4s,box-shadow .4s}header.scrolled{height:76px;border-color:var(--line);box-shadow:0 8px 25px rgba(72,61,50,.06)}.brand{display:flex;align-items:center;gap:13px;min-width:max-content}.brand-mark{width:62px;height:47px;overflow:visible;border-radius:0;background:transparent;flex:0 0 62px}.brand-mark img{width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:multiply}.brand-name{font-family:var(--serif);font-size:18px;line-height:1.1}.brand-name small{font-family:var(--sans);display:block;font-size:8px;letter-spacing:1.6px;margin-top:7px;color:var(--sage-dark)}nav{display:flex;align-items:center;gap:22px;font-size:12px}nav a{padding:8px 0;position:relative}nav a:not(.nav-contact):after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--action-green);transition:width .45s var(--ease)}nav a:hover:after,nav a.active:after{width:100%}.nav-contact{padding:10px 20px;border:1px solid var(--sage-dark);border-radius:100px}.nav-contact:hover{background:var(--sage-dark);color:#fff}#menu-button{display:none;background:transparent;border:0;width:44px;height:44px;padding:12px}#menu-button span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:transform .4s var(--ease)}

.hero{max-width:1540px;margin:auto;min-height:calc(100vh - 94px);display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:6%;padding:45px 5% 75px}.hero-copy{position:relative;z-index:2}.hero h1{max-width:690px}.hero-kicker{font-family:var(--serif);font-style:italic;color:var(--rose);font-size:20px;margin:20px 0 12px}.intro{max-width:525px;color:var(--muted);font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:29px;flex-wrap:wrap}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:38px;padding-top:23px;border-top:1px solid var(--line);max-width:420px}.hero-proof strong{font-family:var(--serif);font-size:24px;font-weight:400}.hero-proof span{font-size:11px;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}.hero-visual{position:relative;padding:0 38px 34px 0;will-change:transform}.portrait-frame{width:100%;height:auto;aspect-ratio:1089/1445;overflow:hidden;border-radius:48% 48% 90px 8px;background:var(--sage)}.portrait-frame img{width:100%;height:100%;object-fit:contain;object-position:center;animation:portraitIn 1.45s var(--ease) both}.hero-visual:before{content:"";position:absolute;inset:-14px 22px 49px 15px;border:1px solid var(--blush);border-radius:48% 48% 90px 8px;z-index:-1}.hero-experience{position:absolute;left:-34px;bottom:10%;max-width:190px;padding:17px 23px;border-radius:3px 28px 3px 3px;background:var(--action-green);color:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite}.hero-experience strong{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.05}.hero-experience span{font-size:9px;letter-spacing:1.15px;text-transform:uppercase;margin-top:7px}.vertical-note{position:absolute;right:-5px;top:30%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.2px;color:var(--sage-dark);margin:0}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--paper)}.marquee>div{display:flex;align-items:center;justify-content:center;gap:4.2%;padding:23px 4%;white-space:nowrap;font-size:10px;letter-spacing:2.2px}.marquee i{width:5px;height:5px;background:var(--action-green);transform:rotate(45deg)}

.section-heading{max-width:850px;margin-bottom:52px}.vision{padding-top:120px}.vision-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--paper)}.vision-grid article{min-width:0;padding:34px 28px 38px;border-right:1px solid var(--line);position:relative;overflow:hidden;transition:background .6s,transform .6s var(--ease)}.vision-grid article:last-child{border:0}.vision-grid article:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-100px;top:-100px;border:1px solid rgba(185,104,129,.22);transition:transform 1s var(--ease)}.vision-grid article:hover{background:#f8f3e7;transform:translateY(-7px);box-shadow:var(--shadow)}.vision-grid article:hover:before{transform:scale(1.35)}.vision-grid article>span,.treatment-list span,.care-options article>span{font-family:var(--serif);color:var(--rose);font-size:17px}.vision-grid h3{margin:35px 0 18px}.vision-grid p{color:var(--muted);font-size:14px;margin:0}.vision-note{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;margin-top:55px;padding:38px 0;border-top:1px solid var(--line)}.vision-note p{font-family:var(--serif);font-size:26px;line-height:1.4;margin:0}.vision-note strong{font-family:var(--serif);font-size:24px;font-weight:400;font-style:italic;line-height:1.45;color:var(--sage-dark);padding:5px 0 5px 24px;border-left:3px solid var(--action-green)}

.services-shell{background:#fffdf7;border-radius:70px 70px 0 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:58px}.section-top>p{max-width:400px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.service-card{grid-column:span 2;background:var(--cream);border:1px solid var(--line);padding:33px;min-height:430px;display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:3px 35px 3px 3px;transition:transform .7s var(--ease),box-shadow .7s,background .5s}.service-card:nth-child(4){grid-column:2/span 2}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);background:#f8f2e2}.service-number{font-family:var(--serif);font-size:16px;color:var(--rose)}.service-card h3{margin:40px 0 20px}.service-card>p{font-size:14px;color:var(--muted)}.service-card ul{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--line)}.service-card li{font-size:12px;padding:8px 0;border-bottom:1px solid var(--line);transition:padding .4s,color .4s}.service-card li:hover{padding-left:7px;color:var(--rose)}

.audiences{display:grid;grid-template-columns:.78fr 1.22fr;gap:9%;align-items:center;background:var(--cream)}.audiences-intro>p:last-child{max-width:430px;margin:28px 0 0;color:var(--muted)}.audience-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.audience-poster{margin:0;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);border-radius:4px 36px 4px 4px;transition:transform .7s var(--ease),box-shadow .7s}.audience-poster:nth-child(2){margin-top:58px;border-radius:36px 4px 4px 4px}.audience-poster:hover{transform:translateY(-9px);box-shadow:0 33px 75px rgba(65,55,45,.18)}.audience-poster img{width:100%;height:auto;aspect-ratio:1080/1234;object-fit:cover}

.tea{max-width:1540px;margin:auto;display:grid;grid-template-columns:1fr 1fr;background:var(--sage-dark);color:#fff}.tea-art{min-height:680px;overflow:hidden}.tea-art img{width:100%;height:110%;object-fit:cover;object-position:center 65%;scale:1.03}.tea-copy{padding:90px 13%;align-self:center}.tea-copy .eyebrow{color:var(--cream-2)}.tea-copy h2{margin-bottom:35px}.tea-copy em{color:#eed4db}.tea-copy>p:not(.eyebrow){color:#edf0e8}.tags{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0 35px}.tags span{font-size:10px;letter-spacing:1px;padding:7px 13px;border:1px solid rgba(255,255,255,.45);border-radius:100px;transition:background .4s,color .4s,transform .5s var(--ease)}.tags span:hover{background:#fff;color:var(--sage-dark);transform:translateY(-3px)}

.treatments{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.treatments-intro{position:sticky;top:120px;align-self:start}.treatments-intro>p:last-child{color:var(--muted);max-width:430px;margin-top:28px}.treatment-list>div{display:grid;grid-template-columns:45px 1fr;column-gap:25px;padding:30px 0;border-top:1px solid var(--line);transition:padding .5s var(--ease),background .5s}.treatment-list>div:last-child{border-bottom:1px solid var(--line)}.treatment-list>div:hover{padding-left:16px;background:rgba(255,255,255,.35)}.treatment-list h3{font-size:28px;margin-bottom:12px}.treatment-list p{grid-column:2;color:var(--muted);font-size:14px;margin:0}

.approach{background:var(--taupe);color:#fff}.approach-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}.approach .eyebrow{color:var(--cream-2)}.approach h2 em{color:#f2cad5}.approach-copy>p{font-size:17px;color:#faf7ef}.approach blockquote{font-family:var(--serif);font-size:27px;line-height:1.4;margin:37px 0 0;padding:23px 0 0;border-top:1px solid rgba(255,255,255,.35);color:var(--cream)}

.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-photo{position:relative;overflow:hidden;border-radius:4px 70px 4px 4px}.about-photo img{width:100%;height:auto;aspect-ratio:1440/1184;object-fit:contain;transition:transform 1.4s var(--ease)}.about-photo:hover img{transform:scale(1.02)}.about-photo span{position:absolute;left:0;right:0;bottom:0;padding:70px 28px 24px;background:linear-gradient(transparent,rgba(42,35,31,.85));color:#fff;font-family:var(--serif);font-style:italic;font-size:19px}.about-copy h2{margin-bottom:28px}.about-copy .lead{font-family:var(--serif);font-size:24px;line-height:1.45;color:var(--ink)}.about-copy>p:not(.eyebrow):not(.lead){font-size:14px;color:var(--muted)}.signature{width:290px;height:115px;object-fit:contain;mix-blend-mode:multiply;object-position:center;margin:25px 0 0}

.credentials{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;border-top:1px solid var(--line)}.credentials-title{position:sticky;top:120px;align-self:start}.credential-block{padding:27px 0;border-top:1px solid var(--line)}.credential-block:last-child{border-bottom:1px solid var(--line)}.credential-block>span{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--rose)}.credential-block ul{list-style:none;margin:18px 0 0;padding:0}.credential-block li{font-family:var(--serif);font-size:21px;padding:8px 0}.credential-block p{color:var(--muted);margin:18px 0 0}

.recognition{max-width:1440px;margin:0 auto 110px;padding:80px 7%;display:grid;grid-template-columns:.92fr 1.08fr;gap:8%;align-items:center;background:var(--paper);border-radius:4px}.recognition-copy h2{font-size:clamp(40px,4vw,60px);margin-bottom:30px}.recognition-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}.certificate{position:relative;width:100%;max-width:715px;justify-self:center;align-self:center;padding:17px;background:#fff;box-shadow:var(--shadow)}.certificate:hover{box-shadow:0 35px 80px rgba(65,55,45,.2)}.certificate img{display:block;width:100%;height:auto;aspect-ratio:1430/1100;object-fit:contain}.certificate span{display:block;text-align:center;font-size:10px;letter-spacing:1.2px;color:var(--muted);padding:12px 0 0}

.care{background:var(--blush)}.care-inner{display:grid;grid-template-columns:1fr 1fr;gap:9%}.care .eyebrow{color:#514b46}.care-copy>p:last-child{max-width:500px;margin-top:28px}.care-options{display:grid;gap:18px}.care-options article{background:rgba(255,253,247,.8);padding:32px;border:1px solid rgba(255,255,255,.45);transition:transform .6s var(--ease),background .5s}.care-options article:hover{transform:translateX(8px);background:#fff}.care-options h3{margin:20px 0 14px}.care-options p{color:var(--muted);font-size:14px;margin:0}

.articles{background:var(--cream)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article-grid article{background:var(--paper);padding:35px;min-height:300px;border-top:3px solid var(--sage);display:flex;flex-direction:column;transition:transform .7s var(--ease),box-shadow .6s}.article-grid article:nth-child(2){border-color:var(--rose)}.article-grid article:nth-child(3){border-color:var(--taupe)}.article-grid article:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.article-grid span{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--sage-dark)}.article-grid h3{margin:45px 0 18px}.article-grid p{font-size:14px;color:var(--muted);margin:auto 0 0}

.testimonials{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;border-top:1px solid var(--line)}.testimonial-note{background:var(--paper);padding:42px;border:1px solid var(--line);border-radius:3px 40px 3px 3px}.testimonial-note>span{font-family:var(--serif);font-size:100px;line-height:.7;color:var(--rose)}.testimonial-note p{font-family:var(--serif);font-size:25px;line-height:1.5}.testimonial-note small{font-size:10px;letter-spacing:1.2px;color:var(--muted)}

.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;border-top:1px solid var(--line)}.faq-title{position:sticky;top:120px;align-self:start}.faq-list details{border-top:1px solid var(--line);transition:background .5s,padding .5s var(--ease)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list details[open]{background:rgba(255,255,255,.45);padding:0 20px}.faq-list summary{list-style:none;display:flex;align-items:center;gap:20px;padding:25px 0;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list p,.faq-answer{color:var(--muted);font-size:14px}.faq-list>details>p{padding:0 30px 23px 0}.faq-answer{padding:0 30px 23px 0}.faq-answer p{padding:0;margin-bottom:15px}.faq-answer ul{margin:4px 0 0;padding-left:20px}.faq-answer li{margin:9px 0;line-height:1.65}.plus{margin-left:auto;width:16px;height:16px;position:relative}.plus:before,.plus:after{content:"";position:absolute;top:7px;left:1px;width:14px;height:1px;background:var(--ink);transition:transform .5s var(--ease)}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}

.contact{background:var(--sage-dark);color:#fff}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact .eyebrow{color:var(--cream-2)}.contact h2 em{color:#f2cad5}.contact-copy>p:not(.eyebrow){color:#eef0e8;max-width:540px}.location{padding:18px 0;border-top:1px solid rgba(255,255,255,.25)}.location span{font-size:9px;letter-spacing:1.8px;display:block;margin-bottom:5px}.location strong{font-family:var(--serif);font-weight:400;font-size:18px}.contact-card{background:var(--cream);color:var(--ink);padding:45px;border-radius:3px 55px 3px 3px}.contact-card h3{font-size:39px;margin-bottom:22px}.contact-card>p:not(.eyebrow){color:var(--muted)}.contact-card .whatsapp-button{background:var(--action-green-light);border-color:var(--action-green-light);color:var(--ink)}.contact-card .whatsapp-button:hover{background:#a5b6a1;border-color:#a5b6a1;box-shadow:0 14px 35px rgba(85,108,91,.22)}.contact-card small{display:block;margin-top:22px;color:var(--muted);font-size:10px;letter-spacing:.6px}

footer{max-width:1440px;margin:auto;padding:60px 7% 30px}.footer-brand img{width:320px;height:120px;object-fit:cover;mix-blend-mode:multiply}.footer-brand p{font-size:9px;letter-spacing:2px;color:var(--muted);margin:-9px 0 0 30px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;padding:30px 0;margin-top:35px;border-top:1px solid var(--line);font-size:12px}.footer-links a:hover{color:var(--rose);transform:translateY(-2px)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.motion-toggle{position:fixed;right:14px;bottom:14px;z-index:70;border:1px solid var(--line);border-radius:100px;background:rgba(255,253,247,.9);backdrop-filter:blur(8px);font-size:9px;padding:8px 13px;color:var(--muted);transition:background .4s,color .4s}.motion-toggle:hover{background:var(--ink);color:#fff}

.entrance{animation:rise 1.2s var(--ease) both}.hero h1.entrance{animation-delay:.1s}.hero-kicker.entrance{animation-delay:.18s}.intro.entrance{animation-delay:.25s}.hero-actions.entrance{animation-delay:.32s}.hero-proof.entrance{animation-delay:.4s}.reveal,.image-reveal{transition:opacity 1s var(--ease),transform 1.1s var(--ease),clip-path 1.2s var(--ease);transition-delay:var(--delay,0ms)}.js .reveal:not(.visible){opacity:0;transform:translateY(34px)}.js .image-reveal:not(.visible){opacity:.2;clip-path:inset(5% 0 5% 0)}.image-reveal{clip-path:inset(0)}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes portraitIn{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes float{50%{transform:translateY(-10px) rotate(2deg)}}.ripple{position:absolute;border-radius:50%;background:#fff;opacity:.22;transform:scale(0);pointer-events:none;animation:ripple .8s var(--ease) forwards}@keyframes ripple{to{transform:scale(1);opacity:0}}

.motion-reduced *,.motion-reduced *:before,.motion-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-reduced .reveal,.motion-reduced .image-reveal{opacity:1!important;transform:none!important;clip-path:none!important}.motion-reduced [data-parallax]{transform:none!important}

@media(max-width:1180px){
  header{padding:0 3%}nav{gap:13px;font-size:11px}.brand-name{font-size:16px}.hero{padding-left:6%;padding-right:6%}.hero h1{font-size:65px}.vision-grid{grid-template-columns:1fr 1fr}.vision-grid article:nth-child(2){border-right:0}.vision-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-card{grid-column:span 3}.service-card:nth-child(4){grid-column:span 3}.service-card:last-child{grid-column:2/span 4}.tea-copy{padding:65px 9%}
}
@media(max-width:820px){
  html{scroll-padding-top:74px}.section{padding:78px 7%}header{height:76px;padding:0 5%}.brand-mark{width:50px;height:38px;flex-basis:50px}.brand-name{font-size:15px}.brand-name small{font-size:7px}#menu-button{display:block;position:relative;z-index:2}#menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}#menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{position:absolute;left:0;right:0;top:76px;background:var(--cream);display:flex;flex-direction:column;align-items:stretch;padding:17px 7% 25px;gap:0;border-bottom:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .35s,transform .5s var(--ease),visibility .35s}nav.open{opacity:1;visibility:visible;transform:none}nav a{padding:13px 0;border-bottom:1px solid var(--line)}.nav-contact{border:0;border-bottom:1px solid var(--line);border-radius:0}.hero{min-height:auto;grid-template-columns:1fr;padding:48px 7% 65px;gap:55px}.hero h1{font-size:clamp(48px,12vw,72px)}.hero-copy{padding-right:0}.hero-visual{max-width:620px;width:100%;margin:auto;padding-right:24px}.portrait-frame{height:auto;aspect-ratio:1089/1445;max-height:none}.hero-experience{left:-12px}.vertical-note{right:-8px}.marquee>div{justify-content:flex-start;overflow:auto;gap:25px}.vision-note,.section-top,.treatments,.approach-inner,.about,.credentials,.recognition,.care-inner,.testimonials,.faq,.contact-inner{grid-template-columns:1fr}.vision-note{gap:25px}.section-top{align-items:start;gap:25px}.section-top>p{max-width:620px}.service-grid{grid-template-columns:1fr 1fr}.service-card,.service-card:nth-child(4),.service-card:last-child{grid-column:auto;min-height:400px}.tea{grid-template-columns:1fr}.tea-art{min-height:0;height:520px}.tea-copy{padding:65px 7%}.treatments-intro,.credentials-title,.faq-title{position:static}.treatments{gap:40px}.approach-inner{align-items:start;gap:35px}.about{gap:48px}.about-photo{max-width:650px}.credentials{gap:45px}.recognition{margin:0 4% 78px;padding:60px 7%;gap:50px}.certificate{max-width:700px}.care-inner{gap:40px}.article-grid{grid-template-columns:1fr}.article-grid article{min-height:240px}.testimonials{gap:35px}.faq{gap:40px}.contact-inner{gap:45px}.contact-card{max-width:650px}.footer-links{gap:18px}
}
@media(max-width:560px){
  body{font-size:15px}.section{padding:65px 6%}h1{letter-spacing:-2.6px}h2{font-size:39px;letter-spacing:-1.6px}.brand-name{font-size:13px}.brand-name small{letter-spacing:1px}.hero{padding:35px 6% 55px}.hero h1{font-size:47px;letter-spacing:-2.5px}.hero-kicker{font-size:17px}.intro{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-proof{margin-top:28px}.hero-proof strong{font-size:21px}.hero-visual{padding:0 13px 25px 0}.hero-visual:before{inset:-8px 5px 35px 8px}.hero-experience{left:-4px;bottom:4%;padding:14px 17px;max-width:165px}.hero-experience strong{font-size:20px}.hero-experience span{font-size:7.5px}.vertical-note{display:none}.marquee>div{padding:19px 6%}.vision-grid{grid-template-columns:1fr}.vision-grid article{border-right:0!important;border-bottom:1px solid var(--line)!important}.vision-grid article:last-child{border-bottom:0!important}.vision-note p{font-size:22px}.services-shell{border-radius:35px 35px 0 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:360px;padding:28px}.tea-art{height:390px}.tea-copy{padding:52px 6%}.treatment-list>div{grid-template-columns:38px 1fr;gap:16px}.treatment-list h3{font-size:24px}.approach blockquote{font-size:23px}.about{gap:38px}.about-photo span{font-size:16px}.about-copy .lead{font-size:21px}.signature{width:250px;height:95px}.credential-block li{font-size:18px}.recognition{margin:0 0 65px;border-radius:0;padding:55px 6%}.certificate{padding:10px}.care-options article{padding:27px}.article-grid article{padding:28px}.testimonial-note{padding:30px}.testimonial-note p{font-size:22px}.contact-card{padding:32px 27px}.contact-card h3{font-size:32px}.footer-brand img{width:265px;height:105px}.footer-bottom{flex-direction:column}.motion-toggle{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal,.js .image-reveal{opacity:1!important;transform:none!important;clip-path:none!important}.motion-toggle{display:none}}

/* Mobile layout hardening */
@media(max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  main,header,footer,section,.section,.hero,.tea,.recognition,.care-inner,.contact-inner{max-width:100%}
  .hero>*,
  .vision>*,
  .section-top>*,
  .service-grid>*,
  .tea>*,
  .treatments>*,
  .approach-inner>*,
  .about>*,
  .credentials>*,
  .recognition>*,
  .care-inner>*,
  .article-grid>*,
  .testimonials>*,
  .faq>*,
  .contact-inner>*{min-width:0}
  h1,h2,h3,p,li,blockquote,.eyebrow,.brand-name,.location strong,.credential-block span{
    max-width:100%;
    overflow-wrap:break-word;
    word-break:normal;
  }
  .eyebrow{letter-spacing:1.8px;line-height:1.65}
  .section h2 br,.tea h2 br,.approach h2 br,.recognition h2 br,.care h2 br,.contact h2 br{display:none}
  .hero-visual{transform:none!important}
  .portrait-frame{width:100%;max-width:100%}
  .vision-grid article,.service-card,.article-grid article,.care-options article{width:100%;height:auto}
  .service-card{min-height:0}
  .treatment-list,.credentials-content,.faq-list{width:100%;min-width:0}
  .certificate{width:100%;height:auto;max-width:100%}
  .certificate img{width:100%;height:auto;max-width:100%}
  .about-photo,.about-photo img{max-width:100%}
  .contact-card{width:100%;max-width:100%}
  .footer-brand,.footer-links,.footer-bottom{max-width:100%}
}

@media(max-width:560px){
  :root{--mobile-gutter:20px}
  body{font-size:15px;line-height:1.68}
  .section{padding:62px var(--mobile-gutter)}
  h1{font-size:clamp(42px,13vw,52px);line-height:1.04;letter-spacing:-2.2px}
  h2{font-size:clamp(32px,10.4vw,39px);line-height:1.12;letter-spacing:-1.25px}
  h3{font-size:clamp(23px,7.4vw,29px);line-height:1.18;letter-spacing:-.55px}
  p{max-width:100%}
  .eyebrow{font-size:9px;letter-spacing:1.45px;margin-bottom:20px}
  header{padding:0 var(--mobile-gutter);gap:10px}
  .brand{gap:8px;min-width:0;max-width:calc(100% - 50px)}
  .brand-mark{width:46px;height:35px;flex:0 0 46px}
  .brand-name{min-width:0;font-size:12px;line-height:1.16}
  .brand-name small{font-size:6.5px;letter-spacing:.7px;white-space:normal;margin-top:5px}
  #menu-button{flex:0 0 44px}
  nav{padding:14px var(--mobile-gutter) 24px;max-height:calc(100vh - 76px);overflow-y:auto}
  nav a{font-size:14px;padding:12px 0}
  .hero{padding:32px var(--mobile-gutter) 54px;gap:42px}
  .hero-copy{width:100%}
  .hero h1{font-size:clamp(43px,13.4vw,52px)}
  .hero-kicker{font-size:17px;line-height:1.45;margin-top:18px}
  .intro{font-size:15px;line-height:1.7;width:100%}
  .hero-actions{width:100%;gap:13px;margin-top:23px}
  .hero-actions .button{width:100%;max-width:320px}
  .secondary-action{display:inline-block}
  .hero-proof{width:100%;max-width:100%;flex-wrap:wrap;gap:6px 12px;margin-top:27px;padding-top:19px}
  .hero-proof strong{font-size:21px;white-space:normal}
  .hero-proof span{font-size:9px;letter-spacing:1px}
  .hero-visual{width:100%;max-width:100%;padding:0 8px 20px 0}
  .hero-visual:before{inset:-7px 1px 29px 7px}
  .hero-experience{left:2px;bottom:2%;max-width:155px;padding:13px 15px}
  .hero-experience strong{font-size:19px}
  .hero-experience span{font-size:7px;letter-spacing:.8px}
  .marquee>div{padding:17px var(--mobile-gutter);gap:20px;font-size:8px;letter-spacing:1.6px}
  .section-heading{margin-bottom:32px}
  .vision-grid article{padding:27px 22px 30px}
  .vision-grid h3{margin:22px 0 13px}
  .vision-grid p{font-size:14px;line-height:1.72}
  .vision-note{margin-top:36px;padding-top:29px;gap:18px}
  .vision-note p{font-size:21px;line-height:1.42}
  .vision-note strong{font-size:20px;line-height:1.45;padding-left:18px}
  .services-shell{border-radius:32px 32px 0 0}
  .section-top{margin-bottom:35px;gap:16px}
  .section-top>p{font-size:14px}
  .service-grid{gap:15px}
  .service-card{padding:26px 22px 25px;border-radius:3px 26px 3px 3px}
  .service-card h3{margin:25px 0 15px}
  .service-card>p{font-size:14px;line-height:1.72}
  .service-card li{font-size:12px;line-height:1.5}
  .audiences{grid-template-columns:1fr;gap:29px}
  .audiences-intro>p:last-child{font-size:14px;line-height:1.72;margin-top:20px}
  .audience-gallery{gap:13px}
  .audience-poster,.audience-poster:nth-child(2){margin:0;border-radius:3px 25px 3px 3px}
  .audience-poster:nth-child(2){border-radius:25px 3px 3px 3px}
  .audience-poster:hover{transform:none}
  .tea-art{height:auto;aspect-ratio:4/5}
  .tea-art img{height:100%;scale:1;object-position:center 65%;transform:none!important}
  .tea-copy{padding:50px var(--mobile-gutter) 55px}
  .tea-copy>p:not(.eyebrow){font-size:14px;line-height:1.72}
  .tags{gap:7px;margin:24px 0 29px}
  .tags span{font-size:9px;padding:6px 10px;white-space:normal}
  .tea-copy .button{width:100%}
  .treatments{gap:31px}
  .treatments-intro>p:last-child{font-size:14px;margin-top:20px}
  .treatment-list>div{grid-template-columns:31px minmax(0,1fr);column-gap:12px;padding:24px 0}
  .treatment-list>div:hover{padding-left:0}
  .treatment-list h3{font-size:23px;margin-bottom:9px}
  .treatment-list p{grid-column:2;font-size:13.5px;line-height:1.65}
  .approach-inner{gap:27px}
  .approach-copy>p{font-size:15px;line-height:1.75}
  .approach blockquote{font-size:21px;line-height:1.45;margin-top:27px}
  .about{gap:33px}
  .about-photo{border-radius:3px 42px 3px 3px}
  .about-photo img{height:auto;aspect-ratio:1440/1184;object-fit:contain}
  .about-photo span{padding:55px 20px 19px;font-size:15px;line-height:1.45}
  .about-copy .lead{font-size:20px;line-height:1.45}
  .about-copy>p:not(.eyebrow):not(.lead){font-size:14px;line-height:1.72}
  .signature{width:230px;max-width:82%;height:auto;aspect-ratio:791/451;object-fit:cover}
  .credentials{gap:31px}
  .credential-block{padding:23px 0}
  .credential-block>span{display:block;font-size:9px;letter-spacing:1.25px}
  .credential-block li{font-size:17px;line-height:1.4;padding:7px 0}
  .credential-block p{font-size:14px;line-height:1.72}
  .recognition{padding:52px var(--mobile-gutter);gap:35px;margin-bottom:62px}
  .recognition-copy h2{font-size:clamp(32px,10vw,39px);margin-bottom:23px}
  .recognition-copy>p:not(.eyebrow){font-size:14px;line-height:1.72}
  .certificate{padding:8px}
  .certificate span{font-size:9px;padding-top:9px}
  .care-inner{gap:30px}
  .care-copy>p:last-child{font-size:14px;line-height:1.72;margin-top:21px}
  .care-options{gap:13px}
  .care-options article{padding:25px 21px}
  .care-options article:hover{transform:none}
  .care-options h3{margin:15px 0 11px}
  .care-options p{font-size:14px;line-height:1.68}
  .article-grid{gap:14px}
  .article-grid article{min-height:0;padding:26px 22px}
  .article-grid h3{margin:30px 0 15px}
  .article-grid p{font-size:14px;line-height:1.68}
  .testimonials{gap:26px}
  .testimonial-note{padding:27px 22px;border-radius:3px 28px 3px 3px}
  .testimonial-note>span{font-size:78px}
  .testimonial-note p{font-size:20px;line-height:1.45}
  .testimonial-note small{display:block;font-size:9px;line-height:1.5}
  .faq{gap:29px}
  .faq-list details[open]{padding:0 14px}
  .faq-list summary{gap:12px;padding:20px 0;font-size:14px;line-height:1.45}
  .faq-list p,.faq-answer{font-size:13.5px;line-height:1.68}.faq-list>details>p,.faq-answer{padding-right:0}.faq-answer ul{padding-left:18px}
  .contact-inner{gap:32px}
  .contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.72}
  .location{padding:15px 0}
  .location strong{font-size:16px;line-height:1.45}
  .contact-card{padding:29px 22px;border-radius:3px 32px 3px 3px}
  .contact-card h3{font-size:29px;line-height:1.18}
  .contact-card>p:not(.eyebrow){font-size:14px;line-height:1.68}
  .contact-card .button{width:100%;padding-left:16px;padding-right:16px}
  .contact-card small{font-size:9px;line-height:1.55}
  footer{padding:46px var(--mobile-gutter) 28px}
  .footer-brand img{width:min(245px,100%);height:auto;aspect-ratio:791/451;object-fit:cover}
  .footer-brand p{margin:-5px 0 0 18px;font-size:8px;letter-spacing:1.35px}
  .footer-links{gap:0;margin-top:27px;padding:18px 0;display:grid;grid-template-columns:1fr 1fr}
  .footer-links a{padding:7px 0;font-size:12px}
  .footer-bottom{gap:7px;font-size:9px;line-height:1.5}
}

@media(max-width:360px){
  :root{--mobile-gutter:16px}
  h1{font-size:40px}
  h2{font-size:31px}
  h3{font-size:22px}
  .brand-name{font-size:11px}
  .brand-name small{font-size:6px;letter-spacing:.45px}
  .hero-proof{align-items:flex-start;flex-direction:column}
  .hero-experience{max-width:145px;padding:12px 14px}
  .service-card{padding-left:19px;padding-right:19px}
  .contact-card h3{font-size:27px}
}

@media(max-width:820px){
  .audiences{grid-template-columns:1fr;gap:38px}
  .audiences-intro{max-width:620px}
  .audience-gallery{max-width:650px}
  .audiences>*,.audience-gallery>*{min-width:0}
}

/* Heading flow and final brand refinements */
.hero h1{max-width:760px}
.portrait-frame{aspect-ratio:1084/1440}
.hero-experience{background:var(--rose);box-shadow:0 20px 50px rgba(185,104,129,.26)}
.section-heading{max-width:1050px}
.section-top{display:block;max-width:1120px}
.section-top>div{max-width:1100px}
.section-top>p{max-width:820px;margin:27px 0 0}
.footer-brand img{width:320px;height:auto;aspect-ratio:791/451;object-fit:contain;object-position:left center}
.treatments,.approach-inner,.credentials,.care-inner,.testimonials,.faq{grid-template-columns:1fr;gap:48px}
.treatments-intro,.credentials-title,.faq-title{position:static;max-width:1100px}
.treatments-intro>p:last-child,.care-copy>p:last-child{max-width:820px}
.approach-inner{align-items:start}
.approach-heading,.care-copy,.testimonial-heading{max-width:1100px}
.approach-copy{max-width:860px}
.credentials-content,.treatment-list,.faq-list{width:100%;max-width:1050px}
.care-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1050px}
.testimonial-note{max-width:900px}
.recognition-copy h2{font-size:clamp(38px,3.35vw,50px)}
.contact h2{font-size:clamp(40px,3.7vw,55px)}
.title-line{display:block}

@media(max-width:820px){
  .portrait-frame{aspect-ratio:1084/1440}
  .section-top{display:block;max-width:100%;gap:0}
  .section-top>p{max-width:680px;margin-top:21px}
  .treatments,.approach-inner,.credentials,.care-inner,.testimonials,.faq{gap:38px}
  .care-options{grid-template-columns:1fr}
  .footer-brand img{height:auto;object-fit:contain;object-position:left center}
}

@media(max-width:560px){
  .section-top>p{margin-top:18px}
  .footer-brand img{width:min(245px,100%);height:auto;aspect-ratio:791/451;object-fit:contain}
}

/* Complete mobile typography and flow pass */
@media(max-width:820px){
  .section h2 br,.approach h2 br,.recognition h2 br,.care h2 br,.contact h2 br{display:block}
  .section-heading,.section-top,.audiences-intro,.treatments-intro,.approach-heading,.about-copy,.credentials-title,.recognition-copy,.care-copy,.testimonial-heading,.faq-title,.contact-copy{width:100%;max-width:100%}
  .section-heading>p:last-child,.section-top>p,.audiences-intro>p:last-child,.treatments-intro>p:last-child,.care-copy>p:last-child,.contact-copy>p:not(.eyebrow){margin-top:20px;max-width:680px}
  .section-top>p{margin-bottom:0}
  .tea-copy h2{font-size:clamp(28px,6.4vw,46px);letter-spacing:-1.35px}
  .tea-copy .title-line{white-space:nowrap}
  .recognition-copy h2,.contact h2{font-size:clamp(32px,7.5vw,44px)}
  .about-copy{order:1}
  .about-photo{order:2}
  .credential-block p,.recognition-copy>p:not(.eyebrow),.tea-copy>p:not(.eyebrow),.approach-copy>p,.contact-copy>p:not(.eyebrow){overflow-wrap:anywhere}
}

@media(max-width:560px){
  h2{font-size:clamp(30px,9vw,38px);line-height:1.12;letter-spacing:-1.2px}
  .hero h1{font-size:clamp(36px,11.5vw,47px);line-height:1.04}
  .hero .intro,.section-top>p,.audiences-intro>p:last-child,.treatments-intro>p:last-child,.tea-copy>p:not(.eyebrow),.approach-copy>p,.about-copy>p:not(.eyebrow),.credential-block p,.recognition-copy>p:not(.eyebrow),.care-copy>p:last-child,.article-grid p,.faq-list p,.faq-answer,.contact-copy>p:not(.eyebrow),.contact-card>p:not(.eyebrow){font-size:14px;line-height:1.72}
  .tea-copy h2{font-size:clamp(23px,6.7vw,36px);line-height:1.15;letter-spacing:-.9px}
  .recognition-copy h2,.contact h2{font-size:clamp(30px,8.5vw,38px)}
  .about{gap:31px}
  .about-copy{margin-bottom:2px}
  .about-photo{margin-top:0}
  .section-top,.section-heading{margin-bottom:34px}
  .button{max-width:100%;white-space:normal;text-align:center}
}

@media(max-width:360px){
  .hero h1{font-size:35px}
  h2{font-size:29px}
  .tea-copy h2{font-size:22px;letter-spacing:-.75px}
  .recognition-copy h2,.contact h2{font-size:29px}
}

/* Hero portrait and contact refinements requested in the video */
.portrait-frame img{--portrait-scale:1.1;--portrait-x:-2%;object-fit:cover;transform:scale(var(--portrait-scale)) translate(var(--portrait-x),-1%);transform-origin:center center;animation:portraitZoom 1.45s var(--ease) both}
@keyframes portraitZoom{from{opacity:0;transform:scale(1.18) translate(-2%,-1%)}to{opacity:1;transform:scale(var(--portrait-scale)) translate(var(--portrait-x),-1%)}}
.hero-experience{left:-42px;bottom:6%;width:126px;height:126px;max-width:none;padding:18px;border-radius:50%;align-items:center;justify-content:center;text-align:center}
.hero-experience strong{font-size:24px}
.hero-experience span{font-size:8px;line-height:1.45;letter-spacing:.8px}
.contact-phone{display:inline-block;color:inherit;font-family:var(--serif);font-size:22px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:3px;transition:color .25s ease,border-color .25s ease}
.contact-phone:hover,.contact-phone:focus-visible{color:#f2cad5;border-color:#f2cad5}

@media(max-width:820px){
  .hero-experience{left:-22px;bottom:5%;width:112px;height:112px;padding:13px}
  .portrait-frame img{--portrait-scale:1.08}
}
@media(max-width:560px){
  .hero-visual{padding:0 4px 62px 32px}
  .hero-visual:before{inset:-7px -1px 83px 39px}
  .hero-experience{left:0;bottom:0;width:100px;height:100px;padding:12px}
  .hero-experience strong{font-size:19px}
  .hero-experience span{font-size:7px;letter-spacing:.4px}
  .portrait-frame img{--portrait-scale:1.07;--portrait-x:-1%}
}
