/* ⚠️ @import-ok MINDIG a @tailwind direktívák ELŐTT! */
:root {
  --primary: #1a2332;
  --secondary: #2b98a4;
  --accent: #ff6b6b;
  --muted: #f5f7fa;
  --muted-text: #64748b;
  --border: rgba(0, 0, 0, 0.08);
  --font-sans: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-serif: "Playfair Display", Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-sans); font-size: 1rem; line-height: 1.6; color: var(--primary); background: #fff; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { display: block; }
button { font-family: inherit; }
.icon { width: 1.25em; height: 1.25em; flex-shrink: 0; }
.container { width: min(100% - 3rem, 80rem); margin: 0 auto; position: relative; z-index: 2; }
.narrow { width: min(100% - 3rem, 64rem); }
.section { position: relative; overflow: hidden; padding: 7rem 0; }
.muted { background: var(--muted); }
.dark-section { background: var(--primary); color: #fff; }
.site-header { position: fixed; top: 1.25rem; left: 0; right: 0; z-index: 80; padding: 0 1.5rem; }
.header-shell { max-width: 80rem; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: .75rem 1.5rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: rgba(11,114,128,.95); box-shadow: 0 22px 80px rgba(5,38,48,.38); backdrop-filter: blur(18px); }
.brand img { height: 2.75rem; width: auto; }
.site-nav { color: rgba(255,255,255,.86); font-weight: 500; }
.site-nav ul { margin: 0; padding: 0; list-style: none; }
.site-nav__menu { display: flex; align-items: center; gap: 2rem; }
.site-nav li { position: relative; }
.site-nav a { display: flex; align-items: center; gap: .45rem; padding: .6rem 0; white-space: nowrap; }
.site-nav a, .header-cta, .btn { transition: transform .3s ease, color .3s ease, background .3s ease, opacity .3s ease; }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav .current-menu-item > a, .site-nav .current-menu-ancestor > a { color: #fff; }
.dropdown-indicator { width: .42rem; height: .42rem; margin-top: -.18rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .72; transition: transform .2s ease, opacity .2s ease; }
.site-nav .menu-item-has-children > a::after { content: ""; width: .42rem; height: .42rem; margin-top: -.18rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .72; transition: transform .2s ease, opacity .2s ease; }
.site-nav .menu-item-has-children > a:has(.dropdown-indicator)::after { display: none; }
.site-nav .menu-item-has-children:hover > a::after, .site-nav .menu-item-has-children:focus-within > a::after, .site-nav .has-dropdown:hover > a .dropdown-indicator, .site-nav .has-dropdown:focus-within > a .dropdown-indicator { opacity: 1; transform: translateY(2px) rotate(45deg); }
.site-nav .sub-menu { position: absolute; top: calc(100% + .9rem); left: 50%; z-index: 100; min-width: 15.5rem; padding: .55rem; border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,250,251,.96)); color: var(--primary); box-shadow: 0 24px 60px rgba(5,38,48,.26); opacity: 0; visibility: hidden; transform: translate(-50%, .65rem) scale(.98); transform-origin: top center; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.site-nav .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 1rem; }
.site-nav .sub-menu::after { content: ""; position: absolute; left: 50%; bottom: calc(100% - .35rem); width: .85rem; height: .85rem; border-left: 1px solid rgba(255,255,255,.18); border-top: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.98); transform: translateX(-50%) rotate(45deg); }
.site-nav .sub-menu .sub-menu { top: -.55rem; left: calc(100% + .75rem); transform: translate(.65rem, 0) scale(.98); transform-origin: left top; }
.site-nav .sub-menu .sub-menu::before { left: -1rem; right: auto; top: 0; bottom: 0; width: 1rem; height: auto; }
.site-nav .sub-menu .sub-menu::after { left: -.4rem; top: 1.1rem; bottom: auto; border-right: 0; border-bottom: 0; }
.site-nav .has-dropdown:hover > .sub-menu, .site-nav .has-dropdown:focus-within > .sub-menu, .site-nav .menu-item-has-children:hover > .sub-menu, .site-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); }
.site-nav .sub-menu .has-dropdown:hover > .sub-menu, .site-nav .sub-menu .has-dropdown:focus-within > .sub-menu, .site-nav .sub-menu .menu-item-has-children:hover > .sub-menu, .site-nav .sub-menu .menu-item-has-children:focus-within > .sub-menu { transform: translate(0, 0) scale(1); }
.site-nav .sub-menu a { justify-content: space-between; gap: 1rem; min-height: 2.75rem; padding: .7rem .85rem; border-radius: .7rem; color: var(--primary); font-size: .94rem; line-height: 1.25; }
.site-nav .sub-menu a:hover, .site-nav .sub-menu a:focus-visible, .site-nav .sub-menu .current-menu-item > a { background: rgba(43,152,164,.1); color: #0b7280; }
.site-nav .sub-menu .dropdown-indicator, .site-nav .sub-menu .menu-item-has-children > a::after { transform: rotate(-45deg); }
.header-cta, .btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border: 0; cursor: pointer; border-radius: .75rem; font-weight: 500; }
.header-cta { padding: .78rem 1.25rem; background: var(--accent); color: #fff; font-size: .9rem; box-shadow: 0 12px 30px rgba(255,107,107,.28); }
.header-cta:hover, .btn:hover, .floating-cta:hover { transform: scale(1.02); }
.nav-toggle { display: none; width: 2.75rem; height: 2.75rem; border: 1px solid rgba(255,255,255,.2); border-radius: .75rem; background: rgba(255,255,255,.1); }
.nav-toggle span { display: block; width: 1.1rem; height: 2px; margin: .27rem auto; background: #fff; }
.floating-cta { position: fixed; right: 2rem; bottom: 2rem; z-index: 50; display: flex; align-items: center; gap: .75rem; padding: 1.25rem 2rem; border-radius: 1rem; background: var(--accent); color: #fff; font-weight: 500; box-shadow: 0 25px 50px rgba(26,35,50,.22); opacity: 0; transform: translateY(100px); transition: opacity .35s ease, transform .35s ease, box-shadow .35s ease; }
.floating-cta.is-visible { opacity: 1; transform: translateY(0); }
.fallback-main { min-height: 100svh; background: var(--muted); }
.fallback-section { padding: 9rem 0 6rem; }
.fallback-container { max-width: 58rem; }
.fallback-header { margin-bottom: 2rem; }
.fallback-header h1, .fallback-entry__header h1, .fallback-entry__header h2 { margin: 0; color: var(--primary); font-family: var(--font-serif); font-size: clamp(2.35rem, 5vw, 3.5rem); font-weight: 300; line-height: 1.1; letter-spacing: -.035em; }
.fallback-entry { padding: 2.5rem; border: 1px solid var(--border); border-radius: 1rem; background: #fff; box-shadow: 0 18px 48px rgba(26,35,50,.08); }
.fallback-loop { display: grid; gap: 1.5rem; }
.fallback-entry__meta { margin-top: .75rem; color: var(--muted-text); font-size: .92rem; }
.fallback-entry__image { display: block; margin: 1.75rem 0; overflow: hidden; border-radius: 1rem; }
.fallback-entry__image img { width: 100%; height: auto; }
.fallback-content { color: var(--primary); font-size: 1.05rem; line-height: 1.75; }
.fallback-content > *:first-child { margin-top: 0; }
.fallback-content > *:last-child { margin-bottom: 0; }
.fallback-content a { color: var(--secondary); font-weight: 500; text-decoration: underline; text-underline-offset: .18em; }
.fallback-content h2, .fallback-content h3, .fallback-content h4 { margin: 2rem 0 1rem; line-height: 1.2; }
.fallback-content img { height: auto; border-radius: .75rem; }
.fallback-content ul, .fallback-content ol { padding-left: 1.35rem; }
.page-links, .pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.page-links a, .page-links .post-page-numbers, .pagination a, .pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; min-height: 2.5rem; padding: .45rem .8rem; border-radius: .65rem; background: #fff; color: var(--primary); box-shadow: 0 8px 24px rgba(26,35,50,.08); }
.page-links .current, .pagination .current { background: var(--primary); color: #fff; }
.treatment-landing-main { background: #fff; }
.treatment-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 92svh; padding: 8rem 0 7rem; background: var(--primary); color: #fff; }
.treatment-hero__bg, .treatment-hero__bg::after { position: absolute; inset: 0; }
.treatment-hero__bg img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.treatment-hero__bg::after { content: ""; background: linear-gradient(115deg, rgba(16,24,40,.94) 0%, rgba(16,24,40,.78) 48%, rgba(16,24,40,.42) 100%); }
.treatment-hero__grid { min-height: calc(92svh - 15rem); display: grid; grid-template-columns: minmax(0,1.08fr) minmax(300px,.56fr); align-items: center; gap: 4rem; }
.treatment-hero__copy h1 { max-width: 58rem; margin: 0; color: #fff; font-size: clamp(2.9rem, 5.8vw, 5.15rem); font-weight: 300; line-height: 1.03; letter-spacing: -.04em; }
.treatment-hero__copy p { max-width: 44rem; margin: 1.5rem 0 0; color: rgba(255,255,255,.78); font-size: 1.14rem; line-height: 1.7; }
.treatment-hero__panel { display: grid; gap: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.09); box-shadow: 0 30px 90px rgba(7,12,28,.34); backdrop-filter: blur(16px); }
.treatment-hero__panel div { display: grid; grid-template-columns: 3rem 1fr; -moz-column-gap: 1rem; column-gap: 1rem; align-items: center; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .9rem; background: rgba(255,255,255,.08); }
.treatment-hero__panel i { grid-row: span 2; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .75rem; background: rgba(43,152,164,.18); color: var(--secondary); font-style: normal; }
.treatment-hero__panel strong { color: #fff; font-size: 1.65rem; font-weight: 300; line-height: 1; }
.treatment-hero__panel span { color: rgba(255,255,255,.68); font-size: .92rem; }
.treatment-type-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; margin-top: 3.5rem; }
.treatment-type-card { overflow: hidden; border: 1px solid var(--border); border-radius: 1rem; background: #fff; box-shadow: 0 18px 46px rgba(26,35,50,.08); }
.treatment-type-card img { width: 100%; height: 14rem; -o-object-fit: cover; object-fit: cover; }
.treatment-type-card div { padding: 1.35rem; }
.treatment-type-card span { display: inline-flex; margin-bottom: .8rem; padding: .45rem .7rem; border-radius: .55rem; background: rgba(43,152,164,.1); color: var(--secondary); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.treatment-type-card h3 { margin: 0; font-size: 1.35rem; font-weight: 300; line-height: 1.2; }
.treatment-type-card p { margin: .8rem 0 0; color: var(--muted-text); line-height: 1.6; }
.treatment-pricing__grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(420px,1fr); gap: 4rem; align-items: start; }
.pricing-card { padding: 1.25rem; border: 1px solid rgba(26,35,50,.08); border-radius: 1rem; background: #fff; box-shadow: 0 24px 70px rgba(26,35,50,.1); }
.pricing-card__badge { display: flex; gap: .8rem; align-items: center; margin-bottom: 1rem; padding: 1rem 1.1rem; border-radius: .85rem; background: rgba(43,152,164,.1); color: var(--primary); font-weight: 500; line-height: 1.45; }
.pricing-card__badge .icon { color: var(--secondary); }
.pricing-list { overflow: hidden; border: 1px solid var(--border); border-radius: .85rem; }
.pricing-row { display: grid; grid-template-columns: minmax(0,1fr) max-content; gap: 1rem; align-items: center; padding: 1rem 1.1rem; background: #fff; }
.pricing-row + .pricing-row { border-top: 1px solid var(--border); }
.pricing-row span { color: var(--primary); line-height: 1.45; }
.pricing-row strong { color: var(--primary); font-weight: 600; white-space: nowrap; }
.pricing-card > p { margin: 1rem 0 0; color: var(--muted-text); font-size: .95rem; line-height: 1.65; }
.pricing-card .btn { margin-top: 1.25rem; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; margin-top: 3rem; }
.process-card { min-height: 18rem; padding: 1.5rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.08); }
.process-card span { display: inline-flex; margin-bottom: 2.5rem; color: var(--secondary); font-size: .85rem; font-weight: 600; letter-spacing: .22em; }
.process-card h3 { margin: 0; color: #fff; font-size: 1.35rem; font-weight: 300; }
.process-card p { margin: .85rem 0 0; color: rgba(255,255,255,.68); line-height: 1.65; }
.treatment-faq__grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: 4rem; align-items: start; }
.faq-list { display: grid; gap: .9rem; }
.faq-item { border: 1px solid var(--border); border-radius: 1rem; background: #fff; box-shadow: 0 12px 32px rgba(26,35,50,.06); }
.faq-item summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.35rem; color: var(--primary); font-weight: 500; cursor: pointer; }
.faq-item summary::after { content: "+"; color: var(--secondary); font-size: 1.4rem; line-height: 1; }
.faq-item[open] summary::after { content: "-"; }
.faq-item p { margin: 0; padding: 0 1.35rem 1.35rem; color: var(--muted-text); line-height: 1.65; }
.treatment-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.2rem; border-radius: 1rem; background: var(--primary); color: #fff; box-shadow: 0 24px 70px rgba(26,35,50,.16); }
.treatment-cta h2 { margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; line-height: 1.1; }
.treatment-cta p { max-width: 42rem; margin: .9rem 0 0; color: rgba(255,255,255,.72); line-height: 1.65; }
.rich-page-main { background: #fff; }
.rich-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 82svh; padding: 8rem 0 7rem; background: var(--primary); color: #fff; }
.rich-hero__bg, .rich-hero__bg::after, .rich-hero__bg::before { position: absolute; inset: 0; z-index: -1; }
.rich-hero__bg img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: center top; object-position: center top; }
.rich-hero__bg::after { content: ""; background: linear-gradient(115deg, rgba(16,24,40,.95) 0%, rgba(16,24,40,.78) 48%, rgba(16,24,40,.38) 100%); }
.rich-hero__bg::before { content: ""; background: linear-gradient(180deg, rgba(255,255,255,.08) 0%, transparent 18%, transparent 82%, rgba(255,255,255,.08) 100%); }
.rich-hero__inner { min-height: calc(82svh - 15rem); display: grid; grid-template-columns: minmax(0,.78fr); gap: 4rem; align-items: center; }
.rich-hero__copy { max-width: 58rem; }
.rich-hero h1 { margin: 0; color: #fff; font-size: clamp(3rem, 6vw, 5.2rem); font-weight: 300; line-height: 1.03; letter-spacing: -.04em; }
.rich-hero__copy > p { max-width: 46rem; margin: 1.5rem 0 0; color: rgba(255,255,255,.8); font-size: 1.16rem; line-height: 1.7; }
.rich-hero__metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; max-width: 45rem; margin-top: 3rem; }
.rich-hero__metrics div { padding: 1rem 1.2rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.09); backdrop-filter: blur(12px); }
.rich-hero__metrics strong { display: block; color: #fff; font-size: 2rem; font-weight: 300; line-height: 1; }
.rich-hero__metrics span { display: block; margin-top: .5rem; color: rgba(255,255,255,.68); font-size: .9rem; line-height: 1.45; }
.rich-hero__portrait { position: relative; margin: 0; align-self: end; padding: .8rem; border: 1px solid rgba(26,35,50,.08); border-radius: 1.1rem; background: #fff; box-shadow: 0 30px 90px rgba(16,24,40,.24); }
.rich-hero__portrait img { display: block; width: 100%; height: auto; max-height: 34rem; -o-object-fit: contain; object-fit: contain; border-radius: .75rem; background: #edf4f5; }
.rich-hero__portrait figcaption { display: grid; gap: .25rem; padding: 1rem .35rem .25rem; color: var(--primary); }
.rich-hero__portrait strong { font-size: 1rem; line-height: 1.3; }
.rich-hero__portrait span { color: var(--muted-text); font-size: .9rem; }
.rich-page-section { background: linear-gradient(180deg, #fff 0%, #f8fbfb 100%); }
.rich-page-grid { display: grid; grid-template-columns: 18rem minmax(0,1fr); gap: 4rem; align-items: start; }
.rich-sidebar { position: sticky; top: 7rem; display: grid; gap: 1rem; }
.rich-sidebar__card { padding: 1.25rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--muted); }
.rich-sidebar__card span { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1rem; border-radius: .75rem; color: var(--secondary); background: rgba(43,152,164,.12); }
.rich-sidebar__card strong { display: block; color: var(--primary); font-size: 1.08rem; line-height: 1.35; }
.rich-sidebar__card p { margin: .75rem 0 0; color: var(--muted-text); line-height: 1.55; }
.rich-content { max-width: 62rem; color: var(--primary); font-size: 1.05rem; line-height: 1.8; }
.rich-content > *:first-child { margin-top: 0; }
.rich-content h2, .rich-content h3 { margin: 3rem 0 1.1rem; color: var(--primary); font-family: var(--font-serif); font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 300; line-height: 1.12; letter-spacing: -.03em; }
.rich-content h3 { position: relative; display: grid; grid-template-columns: 3.2rem minmax(0,1fr); gap: 1rem; align-items: center; font-size: clamp(1.7rem, 3vw, 2.25rem); }
.rich-content h3::before { content: ""; width: 3.2rem; height: 1px; background: var(--secondary); }
.rich-content p { margin: 1rem 0; color: var(--muted-text); }
.rich-content ul, .rich-content ol { display: grid; gap: .75rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.rich-content li { position: relative; padding: 1rem 1.2rem 1rem 3.1rem; border: 1px solid var(--border); border-radius: .85rem; background: #fff; box-shadow: 0 10px 30px rgba(26,35,50,.05); color: var(--primary); line-height: 1.55; }
.rich-content li::before { content: ""; position: absolute; left: 1.1rem; top: 1.25rem; width: .75rem; height: .75rem; border-radius: 999px; background: var(--secondary); box-shadow: 0 0 0 .35rem rgba(43,152,164,.12); }
.rich-content blockquote, .rich-content h3:has(+ p) { color: var(--primary); }
.rich-media { position: relative; width: min(100%, 48rem); margin: 3rem 0; padding: .8rem; border: 1px solid rgba(26,35,50,.08); border-radius: 1.1rem; background: #fff; box-shadow: 0 22px 60px rgba(26,35,50,.1); }
.rich-media--right { margin-left: auto; }
.rich-media::before { content: ""; position: absolute; inset: .8rem; border-radius: .75rem; background: #edf4f5; }
.rich-media img { position: relative; display: block; width: 100%; height: auto; max-height: none; -o-object-fit: contain; object-fit: contain; border-radius: .75rem; box-shadow: none; }
.rich-media br { display: none; }
.page-id-1719 .rich-page-grid { grid-template-columns: 1fr; }
.page-id-1719 .rich-sidebar { display: none; }
.page-id-1719 .rich-content { max-width: none; }
.page-id-1719 .rich-content > p:has(img) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; }
.page-id-1719 .rich-content > p:has(img) br { display: none; }
.page-id-1719 .rich-content > p:has(img) img { display: block; width: 100%; height: auto; aspect-ratio: 1; -o-object-fit: cover; object-fit: cover; border-radius: 1rem; background: var(--muted); box-shadow: 0 16px 42px rgba(26,35,50,.1); }
.hero-section { position: relative; isolation: isolate; overflow: hidden; min-height: 100svh; padding: 7rem 0 6rem; background: var(--primary); color: #fff; }
.hero-bg, .hero-bg::after, .hero-bg::before { position: absolute; inset: 0; }
.hero-bg img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.hero-bg::after { content: ""; background: radial-gradient(circle at top right, rgba(43,152,164,.28), transparent 30%), radial-gradient(circle at bottom left, rgba(255,107,107,.14), transparent 28%), linear-gradient(115deg, rgba(16,24,40,.92) 0%, rgba(16,24,40,.72) 45%, rgba(16,24,40,.52) 100%); }
.hero-bg::before { content: ""; z-index: 1; background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, transparent 18%, transparent 82%, rgba(255,255,255,.06) 100%); }
.orb { position: absolute; border-radius: 999px; filter: blur(64px); animation: drift 14s ease-in-out infinite; }
.orb-one { left: -8rem; top: 7rem; width: 18rem; height: 18rem; background: rgba(43,152,164,.2); }
.orb-two { right: -3rem; bottom: -8rem; width: 20rem; height: 20rem; background: rgba(255,107,107,.16); animation-duration: 16s; animation-direction: reverse; }
.hero-grid { min-height: calc(100svh - 13rem); display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); align-items: center; gap: 3.5rem; padding-top: 3.5rem; padding-bottom: 3.5rem; }
.eyebrow, .pill { display: inline-flex; align-items: center; gap: .6rem; border-radius: .75rem; backdrop-filter: blur(12px); }
.eyebrow { margin-bottom: 2rem; padding: .8rem 1.25rem; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.1); color: rgba(255,255,255,.86); font-size: .9rem; }
.eyebrow .icon, .pill .icon { color: var(--secondary); }
.hero-copy h1 { max-width: 56rem; margin: 0; color: #fff; font-family: var(--font-sans); font-size: clamp(3.15rem, 6vw, 5.4rem); font-weight: 300; line-height: 1.02; letter-spacing: -.045em; }
.hero-copy h1 span { font-family: var(--font-serif); font-style: italic; color: var(--secondary); }
.hero-copy > p { max-width: 42rem; margin: 1.5rem 0 0; color: rgba(255,255,255,.78); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; }
.button-row { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.5rem; }
.btn { min-height: 3.5rem; padding: 1rem 2rem; font-size: 1rem; }
.btn-accent { background: var(--accent); color: #fff; box-shadow: 0 18px 40px rgba(255,107,107,.32); }
.btn-primary { background: var(--primary); color: #fff; box-shadow: 0 18px 34px rgba(26,35,50,.14); }
.btn-secondary { min-height: 3rem; padding: .75rem 1.5rem; background: var(--secondary); color: #fff; box-shadow: 0 12px 32px rgba(43,152,164,.3); }
.btn-glass { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: rgba(255,255,255,.92); backdrop-filter: blur(12px); }
.btn-outline { border: 1px solid rgba(26,35,50,.12); background: #fff; color: var(--primary); }
.btn-outline:hover { background: var(--primary); color: #fff; }
.hero-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 3rem; }
.hero-benefits div { padding: 1rem 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.hero-benefits strong { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; color: rgba(255,255,255,.54); font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.hero-benefits strong .icon { color: var(--secondary); }
.hero-benefits span { color: rgba(255,255,255,.9); font-size: .9rem; line-height: 1.5; }
.quick-card { position: relative; }
.quick-inner { padding: 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.1); box-shadow: 0 35px 120px rgba(8,15,40,.35); backdrop-filter: blur(18px); }
.quick-inner > div { border: 1px solid rgba(255,255,255,.12); border-radius: 1.25rem; background: rgba(255,255,255,.07); }
.quick-head { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem; }
.quick-head small, .image-caption small, .doctor-quote small, .next-slot small, .recovery-card small { font-size: .76rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.quick-head small { color: rgba(255,255,255,.52); }
.quick-head h3 { margin: .75rem 0 0; color: #fff; font-size: 1.5rem; font-weight: 300; }
.icon-box { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .75rem; color: var(--secondary); background: rgba(43,152,164,.16); }
.quick-list { padding: 0 1.5rem 1.5rem; display: grid; gap: 1rem; }
.quick-item { display: flex; gap: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.08); }
.quick-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .75rem; background: rgba(255,255,255,.12); }
.metric { display: flex; align-items: flex-end; gap: .75rem; }
.metric span { color: #fff; font-size: 2rem; }
.metric em { padding-bottom: .25rem; color: rgba(255,255,255,.62); font-size: .9rem; font-style: normal; }
.quick-item p { margin: .5rem 0 0; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.5; }
.next-slot { position: absolute; left: -1.25rem; bottom: -2rem; width: 14rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.12); backdrop-filter: blur(12px); }
.next-slot small { color: rgba(255,255,255,.48); }
.next-slot strong { display: block; margin-top: .75rem; color: #fff; font-size: 2rem; font-weight: 300; }
.next-slot span { color: rgba(255,255,255,.7); }
.wave-divider { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 3; height: 120px; }
.wave-divider.flip { top: -1px; bottom: auto; transform: rotate(180deg); }
.wave-divider svg { width: 100%; height: 100%; }
.section-heading { max-width: 42rem; }
.section-heading.center { max-width: 48rem; margin: 0 auto; text-align: center; }
.pill { margin-bottom: 1.25rem; padding: .55rem 1rem; border: 1px solid rgba(43,152,164,.15); background: rgba(43,152,164,.1); color: var(--secondary); font-weight: 500; }
.invert .pill { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); }
.section-heading h2 { margin: 0; font-family: var(--font-serif); font-size: clamp(2.4rem, 4vw, 3rem); font-weight: 300; line-height: 1.12; letter-spacing: -.035em; }
.section-heading h2 span { font-style: italic; color: var(--secondary); }
.invert h2 { color: #fff; }
.section-heading p { margin: 1rem 0 0; color: var(--muted-text); font-size: 1.08rem; line-height: 1.75; }
.invert p { color: rgba(255,255,255,.78); }
.soft-orb { position: absolute; width: 18rem; height: 18rem; border-radius: 999px; filter: blur(64px); }
.soft-orb.left { left: 0; top: 2.5rem; background: rgba(43,152,164,.06); }
.soft-orb.right { right: 0; bottom: 0; background: rgba(255,107,107,.06); }
.service-cards { display: flex; gap: 2rem; margin-top: 4rem; }
.service-card { position: relative; flex: 1 1 0; min-width: 0; height: 27rem; overflow: hidden; border-radius: 1.25rem; background: var(--primary); box-shadow: 0 16px 40px rgba(26,35,50,.08); transition: flex-grow .5s ease, transform .5s ease; }
.service-cards:hover .service-card { flex-grow: 1; }
.service-cards .service-card:hover { flex-grow: 2; transform: translateY(-10px); }
.service-card img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: transform .7s ease; }
.service-card:hover img { transform: scale(1.14); }
.service-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,35,50,.12) 0%, rgba(26,35,50,.2) 30%, rgba(26,35,50,.92) 100%); }
.service-top { position: absolute; z-index: 2; top: 1.5rem; left: 1.5rem; right: 1.5rem; display: flex; justify-content: space-between; align-items: center; }
.service-top span, .service-top i { border: 1px solid rgba(255,255,255,.14); border-radius: .75rem; background: rgba(255,255,255,.1); color: rgba(255,255,255,.82); backdrop-filter: blur(12px); }
.service-top span { padding: .6rem 1rem; font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.service-top i { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; font-style: normal; transition: transform .5s ease; }
.service-card:hover .service-top i { transform: translateX(4px); }
.service-body { position: absolute; z-index: 2; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.service-body h3 { margin: 0; color: #fff; font-size: 1.55rem; font-weight: 300; transition: transform .5s ease; }
.service-card:hover .service-body h3 { transform: translateY(-4px); }
.service-body p { max-width: 24rem; margin: .75rem 0 0; color: rgba(255,255,255,.76); font-size: .9rem; line-height: 1.55; }
.treatment-grid, .results-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(420px,.95fr); gap: 4rem; align-items: center; }
.benefit-list { display: grid; gap: 1rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.benefit-list li { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 1px solid rgba(255,255,255,.8); border-radius: 1rem; background: rgba(255,255,255,.8); box-shadow: 0 1px 2px rgba(0,0,0,.03); font-size: 1.08rem; font-weight: 500; }
.benefit-list .icon { width: 2.75rem; height: 2.75rem; padding: .7rem; border-radius: 999px; color: #fff; background: var(--secondary); }
.image-feature, .result-image { position: relative; overflow: hidden; border-radius: 1rem; box-shadow: 0 26px 80px rgba(26,35,50,.18); }
.image-feature img { width: 100%; height: 38rem; -o-object-fit: cover; object-fit: cover; }
.image-feature::after, .result-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,35,50,.08) 0%, rgba(26,35,50,.22) 38%, rgba(26,35,50,.7) 100%); }
.image-caption { position: absolute; z-index: 2; left: 1.75rem; right: 1.75rem; bottom: 1.75rem; max-width: 28rem; padding: 1.5rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1.25rem; background: rgba(255,255,255,.1); color: #fff; backdrop-filter: blur(12px); }
.image-caption small { color: rgba(255,255,255,.54); }
.image-caption h3 { margin: .75rem 0 0; font-size: 1.55rem; font-weight: 300; }
.image-caption p { margin: .75rem 0 0; color: rgba(255,255,255,.76); line-height: 1.55; }
.recovery-card { position: absolute; z-index: 3; top: 2rem; left: -1.5rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.6); border-radius: 1rem; background: rgba(255,255,255,.85); box-shadow: 0 20px 40px rgba(26,35,50,.16); backdrop-filter: blur(12px); }
.recovery-card small { color: var(--secondary); }
.recovery-card strong { display: block; margin-top: .5rem; font-size: 2.5rem; font-weight: 300; }
.piezo-section { padding-bottom: 16rem; }
.piezo-section::before, .ai-section::before { content: ""; position: absolute; left: -4rem; top: 5rem; width: 20rem; height: 20rem; border-radius: 999px; background: rgba(43,152,164,.16); filter: blur(64px); }
.piezo-section::after, .ai-section::after { content: ""; position: absolute; right: -4rem; bottom: -5rem; width: 24rem; height: 24rem; border-radius: 999px; background: rgba(255,107,107,.1); filter: blur(64px); }
.piezo-grid { display: grid; grid-template-columns: 1fr 300px; gap: 1.5rem; margin-top: 4rem; }
.piezo-card, .stat-card, .ai-card { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.piezo-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 32rem; padding: 2rem; border-radius: 1.25rem; }
.piezo-label { display: inline-flex; align-items: center; gap: .5rem; width: -moz-fit-content; width: fit-content; padding: .6rem 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: .75rem; background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.piezo-label .icon { color: var(--secondary); }
.piezo-stack { position: relative; height: 17rem; margin-top: 2rem; perspective: 1100px; transform-style: preserve-3d; }
.piezo-slide { position: absolute; inset: 0 0 auto; display: flex; align-items: center; height: 8rem; padding: 1.5rem 1.75rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: #24485a; box-shadow: 0 18px 50px rgba(0,0,0,.28); transition: transform .72s cubic-bezier(.22,1,.36,1), opacity .72s ease; backface-visibility: hidden; }
.piezo-slide p { margin: 0; color: #fff; font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.25; }
.piezo-slide[data-slot="0"] { z-index: 30; transform: translate3d(0,132px,96px) scale(1); opacity: 1; }
.piezo-slide[data-slot="1"] { z-index: 29; transform: translate3d(0,44px,10px) scale(.94); opacity: 1; }
.piezo-slide[data-slot="2"] { z-index: 28; transform: translate3d(0,-44px,-76px) scale(.88); opacity: 1; }
.piezo-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; }
.dots { display: flex; gap: .5rem; }
.dots button { width: .5rem; height: .5rem; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.3); cursor: pointer; transition: width .35s ease, background .35s ease; }
.dots button.active { width: 2rem; background: var(--secondary); }
.stat-column { display: flex; flex-direction: column; gap: 1rem; }
.stat-card { flex: 1; display: flex; align-items: center; gap: 1.25rem; padding: 1.25rem 1.5rem; border-radius: 1rem; }
.stat-card > .icon { width: 3rem; height: 3rem; padding: .75rem; border-radius: 999px; background: rgba(43,152,164,.2); color: var(--secondary); }
.stat-card strong { display: block; color: #fff; font-size: 2rem; font-weight: 300; }
.stat-card span { color: rgba(255,255,255,.6); }
.results-section::before { content: ""; position: absolute; left: 50%; top: 50%; width: 42rem; height: 42rem; border-radius: 999px; background: rgba(255,107,107,.05); filter: blur(64px); transform: translate(-50%,-50%); }
.results-grid { margin-top: 4rem; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 2.5rem; }
.result-image img { width: 100%; height: 34rem; -o-object-fit: cover; object-fit: cover; }
.result-image div { position: absolute; z-index: 2; left: 2rem; right: 2rem; bottom: 2rem; color: #fff; }
.result-image span { display: inline-flex; padding: .55rem 1rem; border-radius: .75rem; background: var(--secondary); font-weight: 500; }
.result-image p { max-width: 28rem; margin: 1rem 0 0; font-size: 1.5rem; line-height: 1.2; }
.result-cards { display: grid; gap: 1.25rem; }
.result-card { display: flex; gap: 1rem; padding: 1.75rem; border: 1px solid var(--border); border-radius: 1.25rem; background: #fff; box-shadow: 0 18px 40px rgba(26,35,50,.06); }
.result-card i { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 999px; color: #fff; font-style: normal; flex: 0 0 auto; }
.result-card i.secondary { background: var(--secondary); }
.result-card i.accent { background: var(--accent); }
.result-card i.primary { background: var(--primary); }
.result-card h3 { margin: 0; font-size: 1.25rem; font-weight: 300; }
.result-card p { margin: .5rem 0 0; color: var(--muted-text); line-height: 1.65; }
.ai-section { padding-top: 16rem; padding-bottom: 16rem; }
.ai-card { display: grid; grid-template-columns: .75fr 1fr; gap: 2rem; margin-top: 3.5rem; padding: 2.5rem; border-radius: 1rem; box-shadow: 0 30px 90px rgba(7,12,28,.28); }
.ai-info, .ai-form { border: 1px solid rgba(255,255,255,.12); border-radius: 1.25rem; background: rgba(255,255,255,.08); padding: 1.5rem; }
.ai-info p { margin: 0 0 2rem; color: rgba(255,255,255,.68); line-height: 1.6; }
.ai-info div { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; color: rgba(255,255,255,.82); }
.ai-info .icon { color: var(--secondary); }
.doctor-card { display: grid; grid-template-columns: .42fr .58fr; margin-top: 4rem; overflow: hidden; border-radius: 1rem; background: var(--primary); box-shadow: 0 24px 90px rgba(26,35,50,.12); }
.doctor-photo { position: relative; min-height: 38rem; background: #101826; }
.doctor-photo img { position: absolute; inset: 0; width: 100%; height: 100%; -o-object-fit: contain; object-fit: contain; -o-object-position: bottom; object-position: bottom; }
.doctor-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,35,50,0) 55%, rgba(26,35,50,.42) 100%); }
.doctor-quote { display: flex; flex-direction: column; justify-content: center; padding: 3.5rem; color: #fff; }
.doctor-quote small { color: var(--secondary); }
.doctor-quote blockquote { margin: 1.5rem 0 0; font-size: clamp(1.6rem, 3vw, 1.9rem); line-height: 1.25; font-weight: 300; }
.doctor-quote p { margin: 1.75rem 0 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.cert-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; margin-top: 3.5rem; }
.cert-card, .review-card { border: 1px solid var(--border); border-radius: 1.25rem; background: #fff; text-align: center; box-shadow: 0 16px 38px rgba(26,35,50,.05); }
.cert-card { padding: 1.5rem; }
.cert-card .icon { margin: 0 auto; width: 4rem; height: 4rem; padding: 1rem; border-radius: 999px; background: rgba(43,152,164,.1); color: var(--secondary); }
.cert-card p { margin: 1.25rem 0 0; font-weight: 500; line-height: 1.6; }
.review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; margin-top: 3.5rem; }
.review-card { padding: 2rem; }
.review-card .icon { margin: 0 auto 1.5rem; width: 6rem; height: 6rem; padding: 1.6rem; border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--secondary), rgba(43,152,164,.65)); box-shadow: 0 16px 34px rgba(26,35,50,.14); }
.review-card:nth-child(2) .icon { background: linear-gradient(135deg, var(--accent), rgba(255,107,107,.65)); }
.review-card:nth-child(3) .icon { background: linear-gradient(135deg, var(--primary), rgba(26,35,50,.7)); }
.review-card strong { display: block; font-size: 3rem; font-weight: 300; }
.review-card span { color: var(--muted-text); font-size: 1.08rem; }
.pricing-section::after { content: ""; position: absolute; right: -2rem; bottom: -8rem; width: 24rem; height: 24rem; border-radius: 999px; background: rgba(43,152,164,.1); filter: blur(64px); }
.pricing-table { margin-top: 3.5rem; overflow: hidden; border-radius: 1rem; background: #fff; box-shadow: 0 24px 80px rgba(26,35,50,.1); }
table { width: 100%; border-collapse: collapse; }
thead { background: linear-gradient(135deg, #1a2332 0%, rgba(26,35,50,.92) 100%); color: #fff; }
th, td { padding: 1.5rem 2rem; font-size: 1.08rem; }
th { text-align: left; font-weight: 500; }
th:last-child, td:last-child { text-align: right; font-weight: 500; }
tbody tr { border-bottom: 1px solid var(--border); transition: background .3s ease; }
tbody tr:hover { background: rgba(245,247,250,.5); }
tbody tr:last-child { border-bottom: 0; }
.pricing-note { margin: 2rem 0 0; text-align: center; color: var(--muted-text); }
.site-footer { position: relative; overflow: hidden; padding: 6rem 0 2rem; }
.site-footer::before { content: ""; position: absolute; left: -5rem; top: -8rem; width: 20rem; height: 20rem; border-radius: 999px; background: rgba(43,152,164,.18); filter: blur(64px); }
.site-footer::after { content: ""; position: absolute; right: -4rem; bottom: -7rem; width: 18rem; height: 18rem; border-radius: 999px; background: rgba(255,107,107,.12); filter: blur(64px); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .8fr 1fr 1fr; gap: 3rem; }
.footer-logo { display: inline-flex; padding: .75rem 1rem; border-radius: .75rem; background: #fff; box-shadow: 0 16px 46px rgba(0,0,0,.18); }
.footer-logo img { height: 3.5rem; width: auto; }
.site-footer p { max-width: 24rem; color: rgba(255,255,255,.68); line-height: 1.65; }
.phone-badge { display: inline-flex; align-items: center; gap: .75rem; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .75rem; background: rgba(255,255,255,.1); font-weight: 500; }
.phone-badge .icon { color: var(--accent); }
.site-footer h4 { margin: 0; font-size: 1.1rem; font-weight: 500; }
.site-footer ul { margin: 1.5rem 0 0; padding: 0; list-style: none; display: grid; gap: .8rem; color: rgba(255,255,255,.68); }
.site-footer li a { display: inline-flex; align-items: center; gap: .5rem; transition: color .3s ease, transform .3s ease; }
.site-footer li a:hover { color: #fff; transform: translateX(4px); }
.site-footer li .icon { color: var(--secondary); }
.contact-list li { display: flex; align-items: flex-start; gap: .75rem; }
.contact-list .icon { width: 2.5rem; height: 2.5rem; padding: .6rem; border-radius: 999px; background: rgba(43,152,164,.18); }
.map-frame { margin-top: 1.5rem; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 1.25rem; background: rgba(255,255,255,.1); box-shadow: 0 18px 50px rgba(0,0,0,.2); }
.map-frame iframe { width: 100%; height: 14rem; border: 0; display: block; }
.footer-bottom { position: relative; z-index: 2; width: min(100% - 3rem, 80rem); margin: 3.5rem auto 0; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.1); text-align: center; color: rgba(255,255,255,.54); }
@media (max-width: 1180px) {
  .service-cards { display: grid; grid-template-columns: repeat(2,1fr); }
  .service-card, .service-cards .service-card:hover { height: 28rem; transform: none; }
  .cert-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .treatment-type-grid, .process-grid { grid-template-columns: repeat(2,1fr); }
  .rich-hero__inner { gap: 2.5rem; }
}
@media (min-width: 861px) {
  .rich-hero__portrait { display: none; }
}
@media (max-width: 860px) {
  .site-nav { position: absolute; left: 1.5rem; right: 1.5rem; top: calc(100% + .75rem); display: none; padding: 1.25rem; border: 1px solid rgba(255,255,255,.16); border-radius: 1rem; background: rgba(11,114,128,.98); box-shadow: 0 22px 60px rgba(5,38,48,.28); }
  .site-nav.is-open { display: block; }
  .site-nav__menu { display: flex; flex-direction: column; align-items: stretch; gap: .35rem; }
  .site-nav a { justify-content: space-between; width: 100%; padding: .72rem .25rem; white-space: normal; }
  .site-nav .sub-menu, .site-nav .sub-menu .sub-menu { position: static; min-width: 0; margin: .15rem 0 .35rem 1rem; padding: .25rem 0 .25rem .9rem; border-width: 0 0 0 1px; border-color: rgba(255,255,255,.22); border-radius: 0; background: transparent; color: rgba(255,255,255,.86); box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
  .site-nav .sub-menu::before, .site-nav .sub-menu::after { display: none; }
  .site-nav .sub-menu a { min-height: 0; padding: .55rem .25rem; color: rgba(255,255,255,.82); }
  .site-nav .sub-menu a:hover, .site-nav .sub-menu a:focus-visible, .site-nav .sub-menu .current-menu-item > a { background: transparent; color: #fff; }
  .site-nav .sub-menu .dropdown-indicator, .site-nav .sub-menu .menu-item-has-children > a::after { transform: rotate(45deg); }
  .nav-toggle { display: block; order: 3; }
  .header-cta { margin-left: auto; }
  .hero-grid, .treatment-grid, .results-grid, .doctor-card, .ai-card, .piezo-grid, .treatment-hero__grid, .treatment-faq__grid, .treatment-pricing__grid, .rich-page-grid { grid-template-columns: 1fr; }
  .hero-grid { min-height: auto; padding-top: 5rem; }
  .treatment-hero__grid { min-height: auto; }
  .rich-hero__inner { grid-template-columns: 1fr; }
  .rich-hero__portrait { max-width: 28rem; align-self: auto; }
  .rich-sidebar { position: static; order: 2; }
  .next-slot { display: none; }
  .piezo-section, .ai-section { padding-top: 8rem; padding-bottom: 10rem; }
  .stat-column { display: grid; grid-template-columns: repeat(3,1fr); }
  .review-grid { grid-template-columns: 1fr; }
  .page-id-1719 .rich-content > p:has(img) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .container, .narrow { width: min(100% - 2rem, 80rem); }
  .section { padding: 5rem 0; }
  .site-header { top: .75rem; padding: 0 .75rem; }
  .header-shell { padding: .65rem; }
  .brand img { height: 2.35rem; }
  .header-cta { display: none; }
  .hero-section { padding-top: 5rem; }
  .hero-copy h1 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .hero-benefits, .service-cards, .stat-column, .cert-grid, .footer-grid { grid-template-columns: 1fr; }
  .service-cards { display: grid; }
  .service-card { height: 26rem; }
  .button-row, .piezo-controls { align-items: stretch; flex-direction: column; }
  .btn { width: 100%; }
  .image-feature img, .result-image img { height: 30rem; }
  .recovery-card { left: 1rem; }
  .ai-card { padding: 1rem; }
  .doctor-photo { min-height: 32rem; }
  .doctor-quote { padding: 2rem; }
  th, td { padding: 1.1rem 1rem; font-size: .95rem; }
  .floating-cta { right: 1rem; bottom: 1rem; padding: 1rem 1.25rem; }
  .fallback-section { padding: 7rem 0 4rem; }
  .fallback-entry { padding: 1.35rem; }
  .treatment-hero { min-height: auto; padding: 7rem 0 6rem; }
  .rich-hero { min-height: auto; padding: 7rem 0 6rem; }
  .rich-hero__inner { min-height: auto; }
  .rich-hero__metrics { grid-template-columns: 1fr; }
  .rich-hero__portrait { max-width: none; }
  .rich-content h3 { grid-template-columns: 2rem minmax(0,1fr); }
  .rich-content h3::before { width: 2rem; }
  .rich-media, .rich-media--right { width: 100%; margin: 2rem 0; padding: .55rem; border-radius: .85rem; }
  .rich-media::before { inset: .55rem; border-radius: .55rem; }
  .rich-media img { border-radius: .55rem; }
  .page-id-1719 .rich-content > p:has(img) { grid-template-columns: 1fr; }
  .treatment-type-grid, .process-grid { grid-template-columns: 1fr; }
  .pricing-card { padding: .85rem; }
  .pricing-row { grid-template-columns: 1fr; gap: .35rem; }
  .pricing-row strong { white-space: normal; }
  .treatment-cta__inner { align-items: stretch; flex-direction: column; padding: 1.35rem; }
}
.reveal, .reveal-group > * { opacity: 0; transform: translateY(28px); transition: opacity .72s ease, transform .72s cubic-bezier(.22,1,.36,1); }
.reveal.is-visible, .reveal-group.is-visible > * { opacity: 1; transform: translateY(0); }
.reveal-group.is-visible > *:nth-child(2) { transition-delay: .1s; }
.reveal-group.is-visible > *:nth-child(3) { transition-delay: .2s; }
.reveal-group.is-visible > *:nth-child(4) { transition-delay: .3s; }
.reveal-group.is-visible > *:nth-child(5) { transition-delay: .4s; }
.floating-item { animation: floatY 6s ease-in-out infinite; }
.floating-item:nth-child(2) { animation-duration: 7s; }
.floating-item:nth-child(3) { animation-duration: 8s; }
@keyframes drift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(20px,-18px); } }
@keyframes floatY { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .reveal, .reveal-group > * { opacity: 1; transform: none; }
}

/*# sourceMappingURL=main.min.css.map */
