:root{--cream:#F5F0E6;--paper:#FFFFFF;--green:#22382F;--terra:#6B5021;--muted:#414C43;--line:#D4B77A;--sage:#A8BFA8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--green);font-family:Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(48px,5.2vw,78px)}h2{font-size:clamp(38px,4vw,56px)}h3{font-size:27px}em{font-weight:400;color:var(--terra)}.section-width{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:100px}.eyebrow,.small-tag{font-size:10px;letter-spacing:2.2px;font-weight:600;line-height:1.6}.eyebrow{margin-bottom:24px}.skip{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 48px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column}.brand-name{font-family:Georgia,serif;font-size:25px;line-height:1.3;letter-spacing:-.6px}.brand-sub{font-size:8px;letter-spacing:1.7px;margin-top:6px}.header nav{display:flex;gap:26px;font-size:12px}.header-cta{font-size:12px;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}.header-cta span{margin-left:12px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding-block:66px 76px}.hero-copy{padding-block:20px}.dot{display:inline-block;background:var(--terra);width:7px;height:7px;border-radius:50%;margin-right:8px}.lead{font-size:16px;line-height:1.8;max-width:460px;margin:27px 0 30px;color:#414C43}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px;font-size:12px;border:1px solid var(--green);min-height:54px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white}.secondary{background:transparent}.cream{background:var(--cream);color:var(--green);border-color:var(--cream)}.link-arrow{width:1em;height:1em;display:inline-block;vertical-align:-.1em;flex-shrink:0}.text-link{font-size:12px;border-bottom:1px solid #557C68;padding-bottom:4px;display:inline-block}.doctor-socials{display:flex;align-items:center;flex-wrap:wrap;gap:14px 23px}.hero .doctor-socials{margin-top:23px}.hero-note{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-top:28px}.hero-note i{height:3px;width:3px;background:var(--terra);border-radius:50%}.hero-food{position:relative;align-self:stretch;min-height:590px;overflow:hidden;border-radius:180px 180px 6px 6px}.hero-food>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-food:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#22382Fb0)}.hero-food figcaption{position:absolute;bottom:32px;left:32px;color:white;z-index:1}.hero-food figcaption span{font-size:9px;letter-spacing:1.8px}.hero-food figcaption strong{display:block;font:italic 34px/1.15 Georgia,serif;margin-top:13px;font-weight:400}.intro-strip{display:flex;justify-content:center;gap:55px;padding:23px 30px;background:var(--green);color:var(--cream);font-size:11px;letter-spacing:.8px}.intro-strip b{color:#D4B77A;font-weight:400}.nutrition{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-bottom:1px solid var(--line)}.nutrition-copy{align-self:center;font-size:20px;line-height:1.7}.nutrition-copy .text-link{margin-top:26px}.about{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.portrait-wrap{max-width:450px}.portrait-frame{aspect-ratio:3/4;border-radius:100px 100px 4px 4px;overflow:hidden;background:var(--sage)}.portrait-frame img{width:100%;height:100%;display:block;object-fit:contain}.portrait-caption{background:var(--sage);display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin-top:10px;font-size:12px;line-height:1.5}.portrait-caption svg{width:40px;height:40px}.about-text{margin-top:30px;color:var(--muted)}.about-text p{margin-bottom:18px}.about-intro{font-size:20px;color:var(--green);line-height:1.5}.about-text .text-link{margin-top:10px;color:var(--green)}.services{background:var(--sage)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-head>p{color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#A8BFA8;border:1px solid #A8BFA8}.service-grid article{padding:32px;background:var(--sage)}.service-number{color:var(--terra);font:italic 17px Georgia,serif;display:block;margin-bottom:25px}.service-grid h3{font-size:24px;margin-bottom:18px;line-height:1.18}.service-grid p{font-size:13px;color:#22382F;line-height:1.8}.food-story{display:grid;grid-template-columns:1.1fr 1fr;margin-top:100px;background:#F5F0E6}.food-story>img{height:100%;width:100%;object-fit:cover;min-height:470px}.story-copy{padding:60px;align-self:center}.story-copy p:last-child{margin-top:25px;font-size:14px;max-width:300px}.consult-grid{display:grid;grid-template-columns:1fr 1fr .85fr;gap:22px}.consult-card{border-top:1px solid var(--terra);padding:30px 15px 12px 0}.small-tag{color:var(--terra);display:block;margin-bottom:22px;letter-spacing:1.5px}.consult-card h3{margin-bottom:25px}.schedule{margin-bottom:20px;font-size:15px;line-height:1.7}.schedule strong{font-weight:600}.consult-card>p:not(.schedule){color:var(--muted);font-size:13px;min-height:85px}.consult-card .text-link{margin-top:22px}.price-card{background:var(--green);padding:33px 25px;color:var(--cream);align-self:stretch}.price-card .eyebrow{font-size:9px}.price{font:40px Georgia,serif;white-space:nowrap;letter-spacing:-2px}.price small{font-size:18px;letter-spacing:0}.price-card>p:not(.eyebrow){font-size:13px;margin-top:20px}.price-card>span{display:block;margin-top:32px;padding-top:17px;border-top:1px solid #A8BFA8;font-size:11px}.location{display:grid;grid-template-columns:.9fr 1.1fr;background:#FFFFFF}.address-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:45px 25px;background:#A8BFA8}.address-panel svg{width:39px;height:50px;margin-bottom:22px}.address-panel .link-arrow{width:1em;height:1em;margin:0}.address-panel .eyebrow{font-size:9px;margin-bottom:18px}.address-panel>p{font:26px/1.4 Georgia,serif}.address-panel strong{font-size:68px;font-weight:400}.address-panel>span:last-of-type{font-size:11px}.address-panel .text-link{margin-top:24px}.location-copy{padding:60px}.location-copy h3{font-size:23px;margin:28px 0 18px}.location-copy>p:not(.eyebrow){font-size:13px;color:var(--muted)}.location-note{margin-top:15px}.location-copy .button{margin-top:28px}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:15px;padding-right:20px}.faq-list details p{font-size:13px;color:var(--muted);padding-top:18px;line-height:1.8}.closing{background:var(--green);color:var(--cream);text-align:center}.closing em{color:#D4B77A}.closing>.section-width>p:not(.eyebrow){margin:23px 0}.closing .phone{display:block;margin-top:20px;font-size:13px}.footer-main{display:flex;justify-content:space-between;align-items:center;padding:50px 0;border-bottom:1px solid var(--line);gap:30px}.credits{display:flex;justify-content:space-between;gap:30px;padding:30px 0}.credits p{font-size:10px;color:var(--muted);margin-bottom:8px}.inngenia{font-size:17px;font-weight:600;letter-spacing:1px}.inngenia span{font-weight:400;font-size:8px;letter-spacing:1px;margin-left:5px}.credit-links{display:flex;gap:22px;align-items:center;font-size:11px}.music-credit{font-size:10px;color:var(--muted);padding-bottom:115px;line-height:1.8}.music-credit a{text-decoration:underline;text-underline-offset:3px}.music-control{position:fixed;left:24px;bottom:24px;z-index:8}.music-control button{display:flex;align-items:center;gap:8px;border:1px solid #557C68;background:var(--paper);color:var(--green);padding:12px 16px;border-radius:30px;box-shadow:0 3px 20px #15261712;cursor:pointer;font-size:11px;min-height:46px}.music-icon{width:16px;height:16px}.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:8;display:flex;align-items:center;gap:12px;border-radius:50px;background:#22382F;color:white;padding:14px 22px;box-shadow:0 4px 24px #15261730;font-size:12px;border:1px solid #ffffff50}.floating-whatsapp svg{width:27px;height:27px}.revealed{animation:reveal .65s ease-out both}@keyframes reveal{from{opacity:.65;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:1050px){.header{padding:24px 32px}.header nav{gap:17px}.header-cta{display:none}.section-width{width:calc(100% - 64px)}.hero{gap:40px}.hero-food{min-height:540px}.about{gap:50px}.nutrition{gap:45px}.consult-grid{grid-template-columns:1fr 1fr}.price-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.price-card .eyebrow,.price-card p,.price-card>span{margin:0}.price-card>span{padding:0;border:0}.story-copy,.location-copy{padding:40px}.service-grid article{padding:25px}.credit-links{gap:14px}}@media(max-width:700px){body{font-size:14px}.section-width{width:calc(100% - 40px)}.section-space{padding-block:64px}.header{padding:20px;display:block}.brand-name{font-size:24px}.brand-sub{font-size:7px;letter-spacing:1.6px}.header nav{display:flex;margin-top:21px;justify-content:space-between;gap:12px;font-size:11px}.hero{grid-template-columns:1fr;gap:35px;padding-block:35px 40px}.hero-copy{padding:0}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:20px}h1{font-size:48px;line-height:1.05;letter-spacing:-2.1px}h2{font-size:39px}h3{font-size:25px}.lead{font-size:14px;margin:23px 0;max-width:360px}.button{font-size:11px;padding:15px 19px;gap:18px;max-width:100%}.hero .doctor-socials{margin-top:20px}.doctor-socials{gap:12px 22px}.doctor-socials .text-link{font-size:11px}.hero-note{font-size:10px;margin-top:23px}.hero-food{min-height:430px;border-radius:125px 125px 5px 5px}.hero-food figcaption{left:25px;bottom:26px}.hero-food figcaption strong{font-size:30px}.hero-food figcaption span{font-size:8px}.intro-strip{gap:12px;padding:18px 15px;flex-wrap:wrap;font-size:9px;letter-spacing:0}.intro-strip span:last-child{width:100%;text-align:center}.intro-strip b:last-of-type{display:none}.nutrition{grid-template-columns:1fr;gap:26px}.nutrition-copy{font-size:18px;line-height:1.7}.about{grid-template-columns:1fr;gap:37px}.portrait-wrap{width:100%;max-width:390px;margin:auto}.portrait-frame{border-radius:90px 90px 4px 4px}.portrait-caption{font-size:12px;padding:18px 23px}.about-content h2{font-size:40px}.about-text{margin-top:25px}.about-intro{font-size:19px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:23px;font-size:12px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:23px 17px}.service-grid h3{font-size:21px;letter-spacing:-.5px}.service-grid p{font-size:12px;line-height:1.7}.service-number{margin-bottom:20px}.food-story{grid-template-columns:1fr;margin-top:64px}.food-story>img{height:300px;min-height:0}.story-copy{padding:34px 28px}.story-copy h2{font-size:42px}.story-copy p:last-child{margin-top:20px}.consult-grid{grid-template-columns:1fr;gap:28px}.consult-card{padding:25px 0 0}.consult-card>p:not(.schedule){min-height:0}.consult-card h3{margin-bottom:20px}.small-tag{margin-bottom:15px;font-size:9px}.consult-card .text-link{margin-top:18px}.price-card{grid-column:auto;display:block;padding:32px}.price-card .eyebrow{margin-bottom:20px}.price{font-size:47px}.price-card>p:not(.eyebrow){margin-top:18px}.price-card>span{margin-top:22px;border-top:1px solid #A8BFA8;padding-top:18px}.location{grid-template-columns:1fr}.address-panel{padding:36px 20px}.address-panel strong{font-size:58px}.location-copy{padding:34px 25px}.location-copy h2{font-size:38px}.location-copy .button{font-size:10px;padding:14px 15px}.faq{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:14px}.closing h2{font-size:42px}.closing .button{font-size:11px}.footer-main{flex-direction:column;align-items:flex-start;gap:25px;padding:36px 0}.credits{flex-direction:column;gap:20px}.credit-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.music-credit{padding-bottom:110px}.music-control{left:14px;bottom:calc(16px + env(safe-area-inset-bottom))}.music-control button{padding:10px 12px;max-width:165px;font-size:10px}.floating-whatsapp{right:14px;bottom:calc(16px + env(safe-area-inset-bottom));padding:13px;border-radius:50%;width:56px;height:56px;justify-content:center}.floating-whatsapp span{display:none}.floating-whatsapp svg{width:29px;height:29px}}@media(max-width:360px){h1{font-size:43px}.service-grid{grid-template-columns:1fr}.hero-food{min-height:380px}.header nav{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.revealed{animation:none}.button{transition:none}}

.consult-steps{margin:26px 0 0;padding-left:22px;font-size:14px;line-height:1.75}.consult-steps li{padding-left:7px;margin-bottom:14px}.consult-steps li::marker{color:var(--terra);font-weight:600}

/* Accessible, native expandable areas of care. */
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0;background:transparent;align-items:start}
.service-detail{background:var(--cream);border:1px solid #A8BFA8}
.service-detail summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;padding:28px;min-height:155px}
.service-detail summary::-webkit-details-marker{display:none}
.service-icon{display:flex;align-items:center;justify-content:center;background:#A8BFA8;width:57px;height:57px;border-radius:50%;flex-shrink:0;color:var(--terra)}
.service-icon svg{width:34px;height:34px}
.service-label{display:block;flex:1;min-width:0}
.service-detail .service-number{font-size:12px;margin-bottom:8px}
.service-title{display:block;font:25px/1.15 Georgia,serif;letter-spacing:-.5px}
.service-hint{display:block;font-size:10px;color:var(--muted);margin-top:12px}
.service-toggle{width:22px;height:22px;position:relative;flex-shrink:0;color:var(--terra)}
.service-toggle:before,.service-toggle:after{content:"";position:absolute;background:currentColor;left:3px;right:3px;top:10px;height:1.5px}
.service-toggle:after{transform:rotate(90deg)}
.service-detail[open] .service-toggle:after{transform:rotate(0)}
.service-detail[open] .service-hint{display:none}
.service-detail[open] summary{border-bottom:1px solid var(--line)}
.service-description{padding:25px 28px 30px}
.service-description p{font-size:14px;line-height:1.85}
.service-description .text-link{margin-top:20px}
.service-detail summary:hover{background:#FFFFFF}
@media(max-width:700px){.service-grid{grid-template-columns:1fr;gap:12px}.service-detail summary{min-height:130px;padding:22px 18px;gap:15px}.service-icon{width:46px;height:46px}.service-icon svg{width:29px;height:29px}.service-title{font-size:23px}.service-description{padding:22px 20px 25px}.service-description p{font-size:13px}}

/* Approved jade / sage / cream / muted-gold palette. Dark ink supports contrast. */
:root{--jade:#557C68;--gold:#D4B77A;--white:#FFFFFF}
.header{background:var(--white)}
.hero .dot{background:var(--gold)}
.intro-strip{background:var(--jade);color:var(--white)}
.nutrition{border-bottom-color:var(--gold)}
.services{background:var(--white)}
.service-detail{background:var(--cream)}
.service-icon{background:var(--sage);color:var(--green)}
.service-detail .service-number{color:var(--terra)}
.food-story{border:1px solid var(--gold)}
.price-card{background:var(--green);color:var(--white)}
.portrait-caption{background:var(--sage);color:var(--green)}
.address-panel{background:var(--sage);color:var(--green)}
.address-panel .text-link{border-color:var(--green)}
.closing{background:var(--green);color:var(--white)}
.closing em{color:var(--gold)}
.closing .eyebrow{color:var(--gold)}
.hero-food figcaption{color:var(--white)}
.hero-food:after{inset:0;background:linear-gradient(to bottom,transparent 25%,rgba(34,56,47,.25) 45%,rgba(34,56,47,.97) 75%)}
.music-control button{border-color:var(--jade)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--green)}
.closing a:focus-visible{outline-color:var(--gold)}

/* The booking CTA remains visible on every viewport. */
.floating-whatsapp{width:auto;height:auto;min-height:50px;border-radius:4px;justify-content:space-between;gap:14px;white-space:nowrap;font-size:13px;font-weight:600}
.floating-whatsapp span{display:inline}
.floating-whatsapp svg{width:16px;height:16px;flex:none}
@media(max-width:700px){.floating-whatsapp{min-height:46px;padding:10px 14px;gap:9px;font-size:11px}.floating-whatsapp svg{width:13px;height:13px}}
@media(max-width:390px){.music-control button{width:46px;justify-content:center;padding:0}.music-control button #music-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}

/* Reveal copy in legible, visibly staggered blocks. Controls stay visible. */
@keyframes progressive-text-fill{
 0%{opacity:0;transform:translateY(28px);clip-path:inset(-.24em -.3em 100% -.3em)}
 18%{opacity:.2}
 78%{opacity:1;clip-path:inset(-.24em -.3em -.24em -.3em)}
 100%{opacity:1;transform:none;clip-path:none}
}
@media(prefers-reduced-motion:no-preference){
 .progressive-reveal{animation:progressive-text-fill 1080ms cubic-bezier(.35,0,.25,1) var(--reveal-delay,0ms) both}
}
@media(prefers-reduced-motion:reduce){
 .progressive-reveal{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
}

/* Separate floating booking shortcuts, with music above the icon. */
.floating-whatsapp-icon{position:fixed;left:24px;bottom:24px;z-index:8;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#087867;color:#fff;border:1px solid #ffffff60;box-shadow:0 4px 24px #15261730}
.floating-whatsapp-icon:hover{background:#096758}
.floating-whatsapp-icon svg{width:30px;height:30px}
.music-control{bottom:86px}
@media(max-width:700px){
 .floating-whatsapp-icon{left:14px;bottom:calc(16px + env(safe-area-inset-bottom));width:48px;height:48px}
 .floating-whatsapp-icon svg{width:28px;height:28px}
 .music-control{bottom:calc(72px + env(safe-area-inset-bottom))}
}

/* A conspicuous booking CTA, retaining the established six-second rhythm. */
.floating-whatsapp{background:#a9212a;color:#fff;border-color:#fbe4e5;box-shadow:0 5px 20px #75162248}
.floating-whatsapp:hover,.floating-whatsapp:focus-visible{background:#881a25}
@keyframes booking-button-bounce{
 0%,18%,100%{transform:none;box-shadow:0 5px 20px #75162248,0 0 0 0 #b9293600}
 5%{transform:translateY(-8px) scale(1.055);box-shadow:0 8px 24px #75162255,0 0 0 8px #b9293638}
 9%{transform:translateY(0) scale(.985)}
 12%{transform:translateY(-4px) scale(1.025)}
}
@media(prefers-reduced-motion:no-preference){
 .floating-whatsapp{transform-origin:right bottom;animation:booking-button-bounce 6s ease-in-out 650ms infinite}
 .floating-whatsapp:is(:hover,:focus-visible,:active){animation:none}
}

/* Hero hierarchy: name and specialty remain the strongest text at every width. */
.hero-copy .hero-name {font-size:clamp(3.1rem,5.8vw,5.8rem);line-height:.99;letter-spacing:-.045em;margin:0;text-wrap:balance}
.hero-copy .hero-name em {white-space:nowrap}
.hero-profession {font-size:clamp(1.4rem,2.55vw,2.35rem);line-height:1.2;font-weight:700;letter-spacing:-.025em;margin:16px 0 0;color:var(--green)}
.hero-promise {font-family:Georgia,serif;font-size:clamp(1.15rem,1.9vw,1.64rem);line-height:1.27;margin:20px 0 0;max-width:28ch}
.hero-copy .lead {margin-top:9px}
@media(max-width:700px) {
 .hero-copy .hero-name {font-size:clamp(2.65rem,10.9vw,4rem);text-wrap:wrap}
 .hero-profession {margin-top:12px}
 .hero-promise {margin-top:16px}
}

/* Scroll reveals use a stronger easing and travel, while links stay available. */
@keyframes section-copy-arrive{
 0%{opacity:0;transform:translateY(34px);clip-path:inset(-.24em -.3em 100% -.3em)}
 22%{opacity:.25}
 84%{opacity:1;clip-path:inset(-.24em -.3em -.24em -.3em)}
 100%{opacity:1;transform:none;clip-path:none}
}
@keyframes section-image-arrive{
 from{opacity:.35;transform:translateY(24px)}
 to{opacity:1;transform:none}
}
@media(prefers-reduced-motion:no-preference){
 .scroll-copy-arrive{animation:section-copy-arrive 1160ms cubic-bezier(.22,.53,.27,1) var(--reveal-delay,0ms) both}
 .scroll-image-arrive{animation:section-image-arrive 1160ms cubic-bezier(.22,.53,.27,1) var(--reveal-delay,0ms) both}
 .scroll-copy-awaiting{opacity:0}
}
