/* Brand palette: luminous surfaces, original green and warm brown accents. */
:root{--forest:#345c30;--paper:#fffefa;--mist:#f0f5e8;--ink:#394334;--muted:#656c60;--line:#74524026}
.header{background:#fffefaf5}.header-cta{background:var(--green)}
.hero{background:#f4f7ec;color:var(--ink);height:auto;min-height:680px}
.hero-media{left:0}.hero-overlay{background:linear-gradient(90deg,#f4f7ec 0%,#f4f7ecfa 35%,#f4f7ece6 48%,#f4f7ec55 64%,transparent 80%)}
.hero-copy{max-width:750px;padding-top:65px;padding-bottom:110px}
.hero h1{font-size:clamp(64px,6.3vw,94px);color:var(--brown)}
.hero h1 em,.hero .eyebrow{color:var(--green)}
.hero-description{color:var(--ink);max-width:440px;font-size:18px}
.scroll-link{color:var(--brown)}
.button-lime{background:var(--green);color:white}.button-lime:hover{background:#408b36}
.marquee{background:#e9f0d5;color:var(--brown)}
.surgery-card{min-height:0;padding:28px}.surgery-card h3{margin-top:22px;color:var(--brown)}
.surgery-card:before{background:#eef5e6}.surgery-card:hover{color:var(--ink)}
.surgery-card:hover .procedure-icon{background:#dfeccd;color:var(--green)}
.surgery-card:hover .alias{color:var(--muted)}
.surgery-card .included,.surgery-card:hover .included{color:var(--brown);margin-top:10px}
.card-link{position:relative;right:auto;bottom:auto;width:100%;height:auto;min-height:48px;display:flex;justify-content:space-between;gap:12px;border-radius:2px;background:var(--green);color:white;margin-top:22px;padding:14px 16px}
.card-link span{position:static;opacity:1;transform:none;font-size:13px;font-weight:600}
.surgery-card:hover .card-link{background:#408b36;color:white;transform:none}.surgery-card:hover .card-link span{color:white}
.include-panel{background:#e9f0dc;color:var(--ink)}.include-panel .eyebrow{color:var(--brown)}.include-panel h3{color:var(--brown)}
.include-panel li span{background:white;color:var(--green)}
.facility{background:#f2f5ea;color:var(--ink)}.section-kicker.light{color:var(--brown);border-color:var(--line)}.section-kicker.light span{color:var(--green)}
.facility .eyebrow,.facility h2 em{color:var(--green)}.facility h2{color:var(--brown)}.facility-head>p{color:var(--muted)}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:300px;grid-auto-flow:row dense}
.gallery figure:nth-child(n){grid-column:auto;grid-row:auto;background:#e7eddf}
.gallery figcaption{opacity:1;transform:none;background:#fffefaeF;color:var(--brown);padding:9px 12px;left:12px;bottom:12px;letter-spacing:.02em}
.appointments{background:var(--paper)}.testimonial{background:#f0eadf;color:var(--brown);overflow:hidden}
.testimonial .section-kicker{color:var(--brown);border-color:var(--line)}.testimonial .section-kicker span{color:var(--green)}
.testimonial-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:58px 0 38px}.testimonial-head h2{font-size:clamp(46px,5vw,74px);line-height:1.02;margin-top:15px}.testimonial-head h2 em{color:var(--green)}
.testimonial-actions{display:flex;align-items:center;gap:14px}.testimonial-actions p{min-width:58px;text-align:center;font:18px Georgia,serif}.testimonial-arrow{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;background:#fffefaa8;color:var(--brown);display:grid;place-items:center;cursor:pointer;transition:transform .25s,background .25s,color .25s,opacity .25s}.testimonial-arrow:hover{background:var(--green);color:white;transform:translateY(-2px)}.testimonial-arrow:disabled{opacity:.3;cursor:not-allowed;transform:none}.testimonial-prev svg{transform:rotate(180deg)}
.testimonial-viewport{width:calc(100% + 6vw);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:12px 6vw 28px 0;outline:none}.testimonial-viewport::-webkit-scrollbar{display:none}.testimonial-track{display:flex;gap:22px;width:max-content}
.testimonial-card{width:min(920px,72vw);min-height:500px;display:grid;grid-template-columns:minmax(260px,.72fr) 1.28fr;gap:7%;align-items:center;padding:28px;background:#fffefa;border:1px solid var(--line);border-radius:18px;scroll-snap-align:start;opacity:.58;transform:scale(.965);transform-origin:center left;transition:opacity .55s,transform .55s,box-shadow .55s}.testimonial-card.is-active{opacity:1;transform:scale(1);box-shadow:0 24px 60px #74524020}
.testimonial .video-shell{max-width:360px;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 18px 45px #74524020;background:#13251b}.testimonial .video-shell video{aspect-ratio:9/16;height:auto;background:#13251b}.testimonial-copy{padding-right:4%}.testimonial-copy .quote-icon{width:56px;height:56px;color:var(--green);opacity:.8}.testimonial-copy blockquote{margin:24px 0 34px;font:clamp(30px,3.2vw,48px)/1.15 Georgia,serif;letter-spacing:-.035em}.testimonial-copy footer{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:20px}.testimonial-copy footer strong{font-size:15px}.testimonial-copy footer span{font-size:12px;color:var(--muted)}.testimonial-number{font:44px Georgia,serif;color:var(--green)}
.testimonial-dots{display:flex;gap:8px;margin-top:5px}.testimonial-dots button{width:34px;height:4px;border:0;background:#74524035;padding:0;cursor:pointer;transition:width .3s,background .3s}.testimonial-dots button.is-active{width:66px;background:var(--green)}.testimonial-hint{display:flex;align-items:center;gap:11px;margin-top:18px;color:var(--muted);font-size:12px;letter-spacing:.08em}.testimonial-hint svg{width:18px;height:18px;animation:testimonial-nudge 1.8s ease-in-out infinite}
@keyframes testimonial-nudge{50%{transform:translateX(6px)}}
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--green),var(--lime));transform:scaleX(0);transform-origin:left center;z-index:80;will-change:transform}
.header{transition:height .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,background .45s}.header .brand img{transition:height .45s cubic-bezier(.2,.7,.2,1)}
.page-scrolled .header{height:82px;background:#fffefafa;box-shadow:0 10px 30px #345c3012}.page-scrolled .header .brand img{height:67px}
.js .reveal{filter:blur(3px);transform:translateY(44px) scale(.985);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1),filter .8s ease;transition-delay:var(--d,0ms);will-change:opacity,transform,filter}.js .reveal.visible{filter:none;transform:none}
.js figure.reveal,.js .appointment-media.reveal{transition:opacity 1s ease,clip-path 1.15s cubic-bezier(.16,1,.3,1),filter .8s ease}.js figure.reveal img,.js .appointment-media.reveal img{transform:scale(1.06);transition:transform 1.4s cubic-bezier(.16,1,.3,1),filter .8s}.js figure.reveal.visible img,.js .appointment-media.reveal.visible img{transform:scale(1)}.js .gallery figure.reveal.visible:hover img{transform:scale(1.045)}
.contact{background:#e7efd4;min-height:520px}.contact-pattern,.contact-pattern:before,.contact-pattern:after{border-color:#99b83340}
.location{background:var(--paper)}.location-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:6%;align-items:center;margin-top:50px}
.location h2{font-size:clamp(44px,4.5vw,68px);line-height:1.05;color:var(--brown);margin:18px 0 24px}.location h2 em{color:var(--green)}
.location-copy>p:not(.eyebrow){line-height:1.8;color:var(--muted)}.button-map{background:var(--green);color:white;margin-top:25px}
.map-shell{border:1px solid var(--line);background:var(--mist);overflow:hidden;border-radius:4px}.map-shell iframe{display:block;width:100%;height:400px;border:0}.map-shell>a{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;color:var(--brown);font-size:14px;background:#edf3e1}
@media(max-width:1050px){.header nav{gap:15px;margin-right:18px}.hero-copy{max-width:650px}.hero h1{font-size:72px}.hero-media{left:0}.gallery{grid-auto-rows:260px}}
@media(max-width:760px){.hero{min-height:0;display:flex;flex-direction:column}.hero-copy{padding:45px 5.5% 35px;order:0}.hero h1{font-size:64px}.hero-description{max-width:100%}.hero-media{position:relative;inset:auto;order:1;height:330px}.hero-overlay{background:linear-gradient(180deg,#f4f7ec 0%,transparent 30%)}.hero-media img{object-position:center}.scroll-link{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:280px}.location-layout{grid-template-columns:1fr;gap:30px}.map-shell iframe{height:360px}.surgery-card{padding:23px}.card-link{padding:13px 10px}.card-link span{font-size:12px}.testimonial-head{align-items:flex-end}.testimonial-card{width:84vw;grid-template-columns:minmax(210px,.8fr) 1.2fr;gap:5%;min-height:440px;padding:20px}.testimonial-copy blockquote{font-size:32px}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.page-scrolled .header{height:100px}.page-scrolled .header .brand img{height:82px}.js .reveal{filter:none;will-change:auto}.js figure.reveal img,.js .appointment-media.reveal img{transform:none!important}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.page-scrolled .header{height:82px}.page-scrolled .header .brand img{height:70px}}
@media(max-width:520px){.hero h1{font-size:55px}.hero-media{height:270px}.hero-description{font-size:16px}.gallery{display:grid;overflow:visible;margin:0;padding:0;grid-template-columns:1fr 1fr;grid-auto-rows:215px;gap:10px}.gallery figure:nth-child(n){min-width:0;height:auto}.gallery figcaption{font-size:10px;left:7px;right:7px;bottom:7px;padding:7px}.surgery-card{min-height:0}.video-shell{border-radius:12px}.contact{min-height:0}.map-shell iframe{height:320px}.testimonial-head{display:block;margin-top:42px}.testimonial-head h2{font-size:48px}.testimonial-actions{margin-top:24px}.testimonial-card{width:88vw;display:block;min-height:0;padding:14px}.testimonial .video-shell{max-width:none}.testimonial .video-shell video{aspect-ratio:9/14;object-fit:contain}.testimonial-copy{padding:26px 8px 16px}.testimonial-copy .quote-icon{width:43px;height:43px}.testimonial-copy blockquote{font-size:29px;margin:17px 0 27px}.testimonial-number{font-size:34px}.testimonial-hint{font-size:11px}}
.procedure-link{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;min-height:44px;padding:11px 14px;background:var(--forest);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;transition:background .3s,color .3s,transform .3s}.procedure-link svg{width:18px;height:18px;flex:0 0 18px}.procedure-link:hover{background:var(--lime);color:var(--forest);transform:translateY(-2px)}.surgery-card:hover .procedure-link{background:var(--lime);color:var(--forest)}.surgery-card .card-link{bottom:auto;margin-top:10px}.surgery-card:hover .card-link span{display:block}
