/* Shared finishing layer for all three public clinic themes. */
html { scroll-behavior: smooth; }
body.clinic-public-page { color:#193d48; background:#f4f9f8; }
body.clinic-public-page :focus-visible { outline:3px solid rgba(0,172,179,.65); outline-offset:3px; }
.clinic-skip-link { position:fixed; z-index:99999; top:12px; left:12px; padding:10px 14px; border-radius:9px; color:#fff; background:#073b51; font-weight:700; text-decoration:none; transform:translateY(-160%); transition:transform .18s ease; }
.clinic-skip-link:focus { transform:translateY(0); color:#fff; }
.clinic-public-page .angle-nav, .clinic-public-page .soft-nav { position:sticky; z-index:40; top:14px; padding:12px 16px; border:1px solid rgba(215,235,234,.9); border-radius:18px; background:rgba(255,255,255,.86); box-shadow:0 10px 30px rgba(5,54,65,.08); backdrop-filter:blur(13px); }
.clinic-public-page .angle-nav { margin-bottom:1.4rem!important; }
.clinic-public-page .soft-nav { margin-bottom:1.4rem!important; }
.clinic-public-page .angle-nav__menu a, .clinic-public-page .soft-nav a { text-underline-offset:5px; }
.clinic-public-page .wave-hero, .clinic-public-page .angle-hero, .clinic-public-page .soft-hero { border:1px solid rgba(215,235,234,.8); box-shadow:0 30px 68px rgba(5,57,65,.13); }
.clinic-public-page .wave-hero__image img, .clinic-public-page .angle-hero__media img, .clinic-public-page .soft-hero__image-wrap img { transform:scale(1.015); transition:transform .45s ease; }
.clinic-public-page .wave-hero:hover .wave-hero__image img, .clinic-public-page .angle-hero:hover .angle-hero__media img, .clinic-public-page .soft-hero:hover .soft-hero__image-wrap img { transform:scale(1.045); }
.clinic-public-page .wave-feature-card, .clinic-public-page .angle-highlight, .clinic-public-page .soft-info-card { border:1px solid rgba(204,229,227,.86); box-shadow:0 12px 26px rgba(5,57,65,.06); }
.clinic-public-page .wave-service-card, .clinic-public-page .angle-service, .clinic-public-page .soft-service-table { box-shadow:0 10px 25px rgba(5,57,65,.05); }
.clinic-public-page .wave-action--primary, .clinic-public-page .angle-action--primary, .clinic-public-page .soft-action--primary { box-shadow:0 12px 25px color-mix(in srgb, var(--clinic-primary) 28%, transparent); }
.clinic-public-page .wave-action--secondary, .clinic-public-page .angle-action--ghost, .clinic-public-page .soft-action--secondary { border-width:1px; }
.clinic-public-page .wave-gallery, .clinic-public-page .angle-gallery, .clinic-public-page .soft-gallery { border:1px solid rgba(208,231,230,.85); box-shadow:0 16px 34px rgba(5,57,65,.06); }
.clinic-public-page .wave-contact, .clinic-public-page .angle-contact, .clinic-public-page .soft-contact { box-shadow:0 22px 48px rgba(5,57,65,.1); }
.clinic-public-page .wave-hero__title, .clinic-public-page .angle-hero__title, .clinic-public-page .soft-hero__title { letter-spacing:-.038em; text-wrap:balance; }
.clinic-public-page .wave-hero__subtitle, .clinic-public-page .angle-hero__subtitle, .clinic-public-page .soft-hero__subtitle { max-width:61ch; }
.clinic-public-page .wave-section-title, .clinic-public-page .angle-section-title, .clinic-public-page .soft-section-title { text-wrap:balance; }
.clinic-public-page .clinic-seo-signature { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 0 4px; color:#779196; font-size:12px; }
.clinic-public-page .clinic-seo-signature a { color:var(--clinic-primary); font-weight:700; text-decoration:none; }
@media (max-width:767px) { .clinic-public-page .angle-nav, .clinic-public-page .soft-nav { top:7px; padding:10px 12px; border-radius:14px; } .clinic-public-page .wave-wrapper, .clinic-public-page .angle-wrapper, .clinic-public-page .soft-wrapper { padding-top:1.25rem; } .clinic-public-page .clinic-seo-signature { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .clinic-public-page *, .clinic-public-page *::before, .clinic-public-page *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }

/* 2026 visual refresh: three genuinely distinct premium personalities. */
body.clinic-public-page { background: radial-gradient(circle at 5% 2%, rgba(0,172,179,.11), transparent 25rem), radial-gradient(circle at 95% 20%, rgba(28,83,102,.1), transparent 28rem), #f5f8f8; }
body.clinic-public-page .wave-wrapper, body.clinic-public-page .angle-wrapper, body.clinic-public-page .soft-wrapper { max-width:1280px; }
body.clinic-public-page .wave-section-title, body.clinic-public-page .angle-section-title, body.clinic-public-page .soft-section-title { letter-spacing:-.028em; }

/* Layout 1 — Wave: rich editorial teal. */
body.clinic-public-page.layout-wave .wave-hero { background:linear-gradient(130deg, #06384c 0%, #075b69 55%, var(--clinic-secondary) 145%)!important; border:0!important; border-radius:34px!important; box-shadow:0 28px 70px rgba(4,49,63,.23)!important; }
body.clinic-public-page.layout-wave .wave-hero::before { opacity:.16!important; background:#fff!important; }
body.clinic-public-page.layout-wave .wave-hero::after { opacity:.22!important; background:#9df5ec!important; }
body.clinic-public-page.layout-wave .wave-brand, body.clinic-public-page.layout-wave .wave-nav a, body.clinic-public-page.layout-wave .wave-hero__title, body.clinic-public-page.layout-wave .wave-hero__subtitle, body.clinic-public-page.layout-wave .wave-point-list li { color:#fff!important; }
body.clinic-public-page.layout-wave .wave-nav a { opacity:.82; }
body.clinic-public-page.layout-wave .wave-nav a:hover { opacity:1; color:#b8fff7!important; }
body.clinic-public-page.layout-wave .wave-badge { color:#075262!important; background:rgba(255,255,255,.94)!important; box-shadow:none!important; }
body.clinic-public-page.layout-wave .wave-point-list li i { color:#075262!important; background:#ccfff7!important; }
body.clinic-public-page.layout-wave .wave-hero__media { filter:drop-shadow(0 22px 34px rgba(0,0,0,.22)); }
body.clinic-public-page.layout-wave .wave-hero__image { border:6px solid rgba(255,255,255,.28); box-shadow:0 22px 48px rgba(0,0,0,.25); }
body.clinic-public-page.layout-wave .wave-support-banner { background:linear-gradient(135deg, rgba(198,255,244,.24), rgba(255,255,255,.14))!important; border:1px solid rgba(215,255,248,.32); box-shadow:0 16px 34px rgba(0,0,0,.16)!important; }
body.clinic-public-page.layout-wave .wave-support-banner strong { color:#e7fffa!important; text-shadow:0 1px 1px rgba(0,0,0,.18); }
body.clinic-public-page.layout-wave .wave-support-banner span { color:rgba(235,255,251,.84)!important; }
body.clinic-public-page.layout-wave .wave-support-banner img { padding:4px; border-radius:14px; background:rgba(255,255,255,.92); }
body.clinic-public-page.layout-wave .wave-feature-strip { gap:18px!important; }
body.clinic-public-page.layout-wave .wave-feature-card { position:relative; overflow:hidden; border:1px solid rgba(7,91,105,.13)!important; border-radius:18px!important; background:linear-gradient(145deg, #fff, #f0fffc)!important; box-shadow:0 12px 30px rgba(4,49,63,.08)!important; transition:transform .22s ease, box-shadow .22s ease; }
body.clinic-public-page.layout-wave .wave-feature-card::before { content:''; position:absolute; width:76px; height:76px; right:-28px; top:-32px; border-radius:50%; background:rgba(0,174,179,.13); }
body.clinic-public-page.layout-wave .wave-feature-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(4,49,63,.14)!important; }
body.clinic-public-page.layout-wave .wave-services, body.clinic-public-page.layout-wave .wave-about, body.clinic-public-page.layout-wave .wave-gallery, body.clinic-public-page.layout-wave .wave-contact { border-radius:26px; }
body.clinic-public-page.layout-wave .wave-contact { gap:clamp(3rem, 5vw, 4.5rem)!important; }
body.clinic-public-page.layout-wave .wave-map-card { margin-top:.35rem; border:1px solid rgba(7,91,105,.11); box-shadow:0 20px 42px rgba(4,49,63,.11)!important; }
body.clinic-public-page.layout-wave .wave-service-card, body.clinic-public-page.layout-wave .wave-share-card { border:1px solid rgba(7,91,105,.12)!important; border-radius:18px!important; background:#fff!important; }
body.clinic-public-page.layout-wave .wave-action--primary, body.clinic-public-page.layout-wave .wave-contact__form button { background:linear-gradient(135deg, #00aeb3, #06728a)!important; color:#fff!important; border:0!important; }

/* Layout 2 — Angle: a confident, contemporary studio. */
body.clinic-public-page.layout-angle .angle-wrapper { gap:3.2rem!important; }
body.clinic-public-page.layout-angle .angle-hero { border-radius:30px!important; overflow:hidden; box-shadow:0 30px 70px rgba(15,45,60,.18)!important; }
body.clinic-public-page.layout-angle .angle-hero__copy { background:linear-gradient(145deg, #082f43, #075f6b)!important; }
body.clinic-public-page.layout-angle .angle-hero__title, body.clinic-public-page.layout-angle .angle-hero__subtitle, body.clinic-public-page.layout-angle .angle-hero__copy p, body.clinic-public-page.layout-angle .angle-hero__copy li { color:#f9fffe!important; }
body.clinic-public-page.layout-angle .angle-hero__badge { background:#d8fff7!important; color:#07515e!important; }
body.clinic-public-page.layout-angle .angle-support-banner { background:linear-gradient(135deg, rgba(204,255,245,.27), rgba(255,255,255,.15))!important; border:1px solid rgba(218,255,249,.32); box-shadow:0 16px 32px rgba(0,0,0,.16)!important; }
body.clinic-public-page.layout-angle .angle-support-banner strong { color:#f0fffb!important; }
body.clinic-public-page.layout-angle .angle-support-banner span { color:rgba(240,255,251,.82)!important; }
body.clinic-public-page.layout-angle .angle-support-banner img { padding:4px; border-radius:14px; background:#fff; }
body.clinic-public-page.layout-angle .angle-hero__media img { transform:scale(1.04); }
body.clinic-public-page.layout-angle .angle-highlight, body.clinic-public-page.layout-angle .angle-service { position:relative; overflow:hidden; border:1px solid rgba(8,95,107,.14)!important; border-radius:16px!important; background:linear-gradient(145deg, #fff, #f0fffc)!important; box-shadow:0 12px 30px rgba(8,47,67,.07)!important; }
body.clinic-public-page.layout-angle .angle-highlight::after { content:''; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg, var(--clinic-primary), var(--clinic-secondary)); }
body.clinic-public-page.layout-angle .angle-highlight:hover, body.clinic-public-page.layout-angle .angle-service:hover { transform:translateY(-4px); box-shadow:0 18px 36px rgba(8,47,67,.13)!important; }
body.clinic-public-page.layout-angle .angle-about__card, body.clinic-public-page.layout-angle .angle-contact__card { border-radius:24px!important; box-shadow:0 20px 48px rgba(8,47,67,.1)!important; }
body.clinic-public-page.layout-angle .angle-action--primary, body.clinic-public-page.layout-angle .angle-contact__form button { background:linear-gradient(135deg, #00aeb3, #09657a)!important; border:0!important; color:#fff!important; }

/* Layout 3 — Soft: calm, luminous and welcoming. */
body.clinic-public-page.layout-soft .soft-wrapper { gap:3rem!important; }
body.clinic-public-page.layout-soft .soft-hero { border-radius:34px!important; background:linear-gradient(135deg, #effcf9 0%, #e4f4fb 55%, #f8fdff 100%)!important; box-shadow:0 28px 64px rgba(20,75,89,.13)!important; }
body.clinic-public-page.layout-soft .soft-hero__copy { padding:clamp(2rem,5vw,4.4rem)!important; }
body.clinic-public-page.layout-soft .soft-hero__title { color:#063d51!important; font-size:clamp(2.7rem,5vw,4.8rem)!important; }
body.clinic-public-page.layout-soft .soft-hero__subtitle { color:#426b76!important; font-size:1.12rem!important; }
body.clinic-public-page.layout-soft .soft-support-banner { background:linear-gradient(135deg, #d7fff7, #e8fffb)!important; border:1px solid rgba(0,161,161,.2); box-shadow:0 14px 28px rgba(0,125,140,.12)!important; }
body.clinic-public-page.layout-soft .soft-support-banner strong { color:#075b67!important; }
body.clinic-public-page.layout-soft .soft-support-banner span { color:rgba(7,91,103,.78)!important; }
body.clinic-public-page.layout-soft .soft-support-banner img { padding:4px; border-radius:14px; background:#fff; }
body.clinic-public-page.layout-soft .soft-hero__image-wrap { box-shadow:0 24px 44px rgba(12,75,88,.2); }
body.clinic-public-page.layout-soft .soft-info-card { position:relative; overflow:hidden; border:1px solid rgba(0,131,143,.14)!important; border-radius:18px!important; background:linear-gradient(145deg, #fff, #f1fffd)!important; box-shadow:0 12px 28px rgba(12,75,88,.07)!important; transition:transform .22s ease, box-shadow .22s ease; }
body.clinic-public-page.layout-soft .soft-info-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(var(--clinic-primary), var(--clinic-secondary)); }
body.clinic-public-page.layout-soft .soft-info-card:hover { transform:translateY(-4px); box-shadow:0 18px 36px rgba(12,75,88,.13)!important; }
body.clinic-public-page.layout-soft .soft-service-table, body.clinic-public-page.layout-soft .soft-gallery, body.clinic-public-page.layout-soft .soft-contact__card, body.clinic-public-page.layout-soft .soft-social { border:1px solid rgba(0,131,143,.12)!important; border-radius:24px!important; box-shadow:0 16px 36px rgba(12,75,88,.08)!important; }
body.clinic-public-page.layout-soft .soft-action--primary, body.clinic-public-page.layout-soft .soft-contact__form button { background:linear-gradient(135deg, #00b6ae, #087d97)!important; border:0!important; color:#fff!important; }

/* Location is its own destination, not an extension of the contact form. */
body.clinic-public-page .wave-location-section, body.clinic-public-page .angle-location-section, body.clinic-public-page .soft-location-section { display:grid; gap:1.35rem; padding:clamp(1.35rem,3vw,2.2rem); border-radius:28px; background:linear-gradient(145deg, rgba(255,255,255,.98), rgba(237,250,249,.9)); border:1px solid rgba(5,105,112,.13); box-shadow:0 18px 42px rgba(5,57,65,.09); }
body.clinic-public-page .wave-location-section__intro span, body.clinic-public-page .angle-location-section__intro span, body.clinic-public-page .soft-location-section__intro span { display:block; margin-bottom:.35rem; color:var(--clinic-primary); font-size:.72rem; font-weight:800; letter-spacing:.14em; }
body.clinic-public-page .wave-location-section__intro h2, body.clinic-public-page .angle-location-section__intro h2, body.clinic-public-page .soft-location-section__intro h2 { margin:0; color:#073e50; font-size:clamp(1.55rem,3vw,2.15rem); letter-spacing:-.035em; }
body.clinic-public-page .wave-location-section__intro p, body.clinic-public-page .angle-location-section__intro p, body.clinic-public-page .soft-location-section__intro p { margin:.45rem 0 0; color:#58737b; }
body.clinic-public-page .wave-location-section .wave-map-card, body.clinic-public-page .angle-location-section .angle-map-card, body.clinic-public-page .soft-location-section .soft-map-card { margin:0!important; border:1px solid rgba(6,83,94,.12); border-radius:21px!important; box-shadow:0 12px 28px rgba(4,49,63,.1)!important; }
body.clinic-public-page .wave-location-section .wave-map-card iframe, body.clinic-public-page .angle-location-section .angle-map-card iframe { min-height:360px; }
body.clinic-public-page .soft-location-section .soft-map-card { aspect-ratio:16 / 7!important; min-height:360px; }

@media (max-width:767px) {
    body.clinic-public-page .wave-wrapper, body.clinic-public-page .angle-wrapper, body.clinic-public-page .soft-wrapper { padding-inline:1rem!important; }
    body.clinic-public-page.layout-wave .wave-hero, body.clinic-public-page.layout-angle .angle-hero, body.clinic-public-page.layout-soft .soft-hero { border-radius:24px!important; }
    body.clinic-public-page.layout-wave .wave-hero__top { margin-bottom:1.7rem!important; }
    body.clinic-public-page.layout-soft .soft-hero__copy { padding:1.6rem!important; }
    body.clinic-public-page .wave-location-section, body.clinic-public-page .angle-location-section, body.clinic-public-page .soft-location-section { padding:1rem; border-radius:22px; }
    body.clinic-public-page .wave-location-section .wave-map-card iframe, body.clinic-public-page .angle-location-section .angle-map-card iframe, body.clinic-public-page .soft-location-section .soft-map-card { min-height:280px; }
}
