/* Photography and restrained motion, preserving the original brand palette. */
.brand-mark{width:68px;height:68px;object-fit:contain;border-radius:7px;flex-shrink:0}.brand-name{color:#08779f}
.hero{position:relative;padding:78px 0 96px;background:linear-gradient(110deg,var(--paper) 0%,var(--paper) 58%,#eef7fb 100%);overflow:hidden}
.hero-grid{gap:64px;grid-template-columns:.95fr 1.05fr;position:relative}
.hero .hero-title{font-size:clamp(34px,3.15vw,44px);line-height:1.24;max-width:540px;text-wrap:balance}
.hero-highlight{position:relative;white-space:nowrap;color:var(--blue-dark);display:inline-block}
.hero-highlight::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:7px;border-radius:50%;background:#a9d5ea;opacity:.65;transform:rotate(-2deg)}
.hero-media{position:relative;overflow:visible;background:none;box-shadow:none}
.hero-media>img{width:100%;aspect-ratio:3/2;object-fit:contain;border-radius:20px 20px 70px 20px;box-shadow:0 20px 46px #123b5b13;animation:hero-photo-enter .9s ease both}
@keyframes hero-photo-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.treatments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.treatment-card{display:flex;flex-direction:column;gap:0;padding:0;position:relative;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;cursor:default;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.treatment-card:hover,.treatment-card:focus-within{transform:translateY(-4px);border-color:#aad2e7;box-shadow:0 15px 32px #123e5e0d}
.treatment-photo{position:relative;overflow:hidden;background:var(--pale);aspect-ratio:3/2}
.treatment-photo img{width:100%;height:100%;object-fit:contain;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.treatment-card:hover .treatment-photo img,.treatment-card:focus-within .treatment-photo img{transform:scale(1.035)}
.photo-trigger{display:none;position:absolute;inset:0;border:0;background:transparent;width:100%;height:100%;padding:0;cursor:zoom-in;border-radius:0}.photo-ready .photo-trigger{display:block}
.photo-trigger:focus-visible{outline:3px solid var(--blue);outline-offset:-5px}
.treatment-card-copy{padding:24px 24px 27px}
.treatment-card-heading{display:flex;align-items:flex-start;gap:12px}
.treatment-card-heading h3{font-size:15px;line-height:1.45}
.treatment-icon{padding-top:0}.treatment-icon .icon{width:23px;height:23px}
.treatment-card-copy>p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:13px}
.treatment-card-copy>.treatment-subtitle{font-size:10px;font-weight:800;color:var(--blue-dark);margin-top:8px}
.treatment-dialog{width:min(960px,calc(100% - 32px))}
.treatment-dialog>img{height:auto;aspect-ratio:auto;object-fit:contain;max-height:65dvh;background:var(--pale)}
.treatment-dialog .dialog-copy{padding:25px 30px}
.clinic-photo{margin:0;overflow:hidden;border-radius:18px;background:var(--light);box-shadow:0 12px 34px #163e5810}
.clinic-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease}.clinic-photo:hover img{transform:scale(1.025)}
.team-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.team-card:hover{transform:translateY(-3px);border-color:#aad2e7;box-shadow:0 12px 24px #123e5e08}
[data-reveal]{transition:opacity .65s ease,translate .65s ease}.reveal-pending{opacity:0;translate:0 20px}.revealed{opacity:1;translate:0 0}
.treatment-card[data-reveal],.team-card[data-reveal]{transition:opacity .65s ease,translate .65s ease,transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.faq-section{background:var(--paper);border-top:1px solid var(--border)}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.faq-intro .button{margin-top:24px}
.faq-list{border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border);padding:0 4px}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;padding:18px 0;font-size:14px;font-weight:800}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .faq-plus{font-size:24px;line-height:1;font-weight:400;color:var(--blue);transition:transform .25s ease}
.faq-list details[open] summary .faq-plus{transform:rotate(45deg)}.faq-list details>div{padding:0 30px 22px 0}
.faq-question{display:flex;align-items:center;gap:10px}.faq-language-flag{width:28px;height:18px;object-fit:cover;border-radius:2px;flex-shrink:0}
.faq-list p{font-size:13px;line-height:1.9;color:var(--muted)}.faq-list p a{text-decoration:underline;color:var(--navy)}
.contact-grid{grid-template-columns:1fr 1.3fr .9fr}
.contact-map{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:white;min-width:0}
.contact-map iframe{display:block;flex:1;width:100%;height:360px;min-height:320px;border:0;background:var(--light)}
.map-directions{display:block;padding:13px 16px;font-size:12px;font-weight:700;text-align:center;color:var(--navy);border-top:1px solid var(--border)}.map-directions:hover{background:var(--pale);text-decoration:underline}
@media(max-width:1023px){.hero-grid{gap:40px}.hero h1{font-size:46px}.hero-photo-note{left:-10px;bottom:-20px;padding:14px 18px}.treatments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.faq-grid{gap:40px;grid-template-columns:1fr 1.3fr}.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.hero{padding:44px 0 65px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero h1{font-size:46px}.hero-media{margin-bottom:10px}.hero-media>img{border-radius:16px 16px 45px 16px}.hero-photo-note{left:14px;bottom:-24px;padding:13px 17px}.hero-photo-note strong{font-size:16px}.treatments-grid{grid-template-columns:1fr;gap:22px}.treatment-card-copy{padding:22px 23px 25px}.treatment-card-heading h3{font-size:16px}.treatment-card-copy>p{font-size:13px}.clinic-photo img{aspect-ratio:4/3}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:13px}.contact-grid{grid-template-columns:1fr}.contact-map iframe{height:300px;min-height:300px}}
@media(max-width:380px){.hero h1{font-size:41px}}
@media(max-width:767px){.brand-mark{width:48px;height:48px;border-radius:5px}.site-header .brand{gap:8px}.site-header .brand-name{font-size:9px}.site-header .brand-name strong{letter-spacing:0}.hero .hero-title{font-size:clamp(30px,7.5vw,38px);line-height:1.25;text-wrap:pretty}}
@media(max-width:380px){.site-header .brand-name{font-size:8px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;translate:none}.hero-media>img,.hero-photo-note{animation:none}.treatment-card:hover,.treatment-card:focus-within{transform:none}.treatment-card:hover .treatment-photo img,.treatment-card:focus-within .treatment-photo img,.clinic-photo:hover img{transform:none}}
