/*
Theme Name: OrigMd Medical Group
Theme URI: https://test.origmd.com/
Author: OrigMd Medical Group
Description: A lightweight, database-driven editorial theme for OrigMd Medical Group.
Version: 0.1.0
Text Domain: qiyuan
*/

:root {
    --container: 1440px;
    --container-inset: clamp(32px, calc(13.52vw - 18.7px), 176px);
    /* Reference palette: deep navy, porcelain cream, powder blue and warm gold. */
    --navy: #10335d;
    --ink: #0f1419;
    --muted: #61758a;
    --line: #d6e2e8;
    --paper: #f7f4ea;
    --white: #fffdf7;
    /* Keep the existing token names so the PHP templates and motion states stay stable. */
    --teal: #2b6f9f;
    --teal-deep: #0d4b7c;
    --teal-soft: #eef5f7;
    --teal-mist: #c4dce8;
    --teal-light: #8fc3d3;
    --gold: #d8b87c;
    --gold-deep: #8b652c;
    --gold-soft: #fbf4e5;
    --gold-line: #e4d1a9;
    --footer: #0a2647;
    --footer-copy: #cbd9e3;
    --pointer-x: 50%;
    --pointer-y: 50%;
    --text-body: clamp(15px, 1.08vw, 17px);
    --text-body-lg: clamp(16px, 1.2vw, 19px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font: var(--text-body)/1.7 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.menu-open { overflow: hidden; }
a { color: var(--navy); text-decoration-thickness: .08em; text-underline-offset: .15em; }
a:hover, a:focus { color: var(--teal); }
img { max-width: 100%; height: auto; }
.site-header .brand img { filter: brightness(0) invert(1); opacity: .95; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 20; padding: .75rem 1rem; background: var(--navy); color: var(--white); }
.skip-link:focus { left: 1rem; }
.site-header { position: sticky; top: 0; z-index: 10; background: rgba(14,46,75,.92); border-bottom: 1px solid rgba(185,158,98,.2); backdrop-filter: blur(12px); }
.site-header__inner, .site-footer__inner, .container { width: min(calc(100% - var(--container-inset)), var(--container)); margin-inline: auto; }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--navy); font-weight: 700; text-decoration: none; }
.brand img { max-height: 42px; width: auto; }
.brand__logo { filter: saturate(1.08) contrast(1.02); }
.primary-nav > ul,
.primary-nav > .menu { display: flex; gap: clamp(1rem, 2vw, 2rem); list-style: none; margin: 0; padding: 0; }
.primary-nav > ul > li,
.primary-nav > .menu > li { position: relative; display: flex; align-items: center; gap: .2rem; }
.primary-nav a { color: rgba(248,250,252,.95); text-decoration: none; }
.primary-nav > ul > li > a,
.primary-nav > .menu > li > a { position: relative; }
.primary-nav > ul > li > a::after,
.primary-nav > .menu > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -.55rem;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--teal);
    opacity: 0;
    transform: scaleX(.45);
    transition: opacity .2s ease, transform .2s ease;
}
.primary-nav > ul > li > a:hover::after,
.primary-nav > ul > li > a:focus-visible::after,
.primary-nav > .menu > li > a:hover::after,
.primary-nav > .menu > li > a:focus-visible::after { opacity: 1; transform: scaleX(1); }
.primary-nav .sub-menu {
    position: absolute;
    top: 100%;
    left: -.75rem;
    z-index: 12;
    display: grid;
    min-width: 17rem;
    gap: .2rem;
    margin: 0;
    padding: .6rem;
    list-style: none;
    border: 1px solid var(--line);
    border-radius: .65rem;
    background: var(--white);
    box-shadow: 0 1rem 2rem rgba(10,38,71,.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-.4rem);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu,
.primary-nav li.is-submenu-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}
.primary-nav .sub-menu li { display: block; }
.primary-nav .sub-menu a { display: block; padding: .5rem .65rem; border-radius: .35rem; color: var(--navy); white-space: nowrap; }
.primary-nav .sub-menu a:hover,
.primary-nav .sub-menu a:focus-visible { color: var(--teal); background: var(--teal-soft); }
.primary-nav > ul > li:nth-last-child(-n+2) > .sub-menu:not(.sub-menu--medical),
.primary-nav > .menu > li:nth-last-child(-n+2) > .sub-menu:not(.sub-menu--medical) { right: -.75rem; left: auto; }
.primary-nav .sub-menu--medical {
    left: 50%;
    width: min(46rem, calc(100vw - 2rem));
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    padding: .75rem;
    border-radius: .5rem;
    transform: translate(-50%, -.45rem) scale(.98);
    transform-origin: top center;
    transition: opacity .22s ease, transform .28s cubic-bezier(.22,.8,.28,1), visibility .22s ease;
}
.primary-nav li:hover > .sub-menu--medical,
.primary-nav li:focus-within > .sub-menu--medical,
.primary-nav li.is-submenu-open > .sub-menu--medical { transform: translateX(-50%); }
.primary-nav .sub-menu--medical > li {
    min-width: 0;
    opacity: 0;
    transform: translateY(.45rem);
    transition: opacity .22s ease, transform .3s cubic-bezier(.22,.8,.28,1);
}
.primary-nav li:hover > .sub-menu--medical > li,
.primary-nav li:focus-within > .sub-menu--medical > li,
.primary-nav li.is-submenu-open > .sub-menu--medical > li { opacity: 1; transform: none; }
.primary-nav .sub-menu--medical > li:nth-child(2) { transition-delay: .04s; }
.primary-nav .sub-menu--medical > li:nth-child(3) { transition-delay: .08s; }
.primary-nav .sub-menu--medical > li:nth-child(4) { transition-delay: .12s; }
.primary-nav .sub-menu--medical > li:nth-child(5) { transition-delay: .16s; }
.primary-nav .sub-menu--medical .medical-menu-card {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    min-height: 5.7rem;
    padding: .5rem;
    border: 1px solid transparent;
    border-radius: .4rem;
    white-space: normal;
    cursor: pointer;
    transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s ease;
}
.primary-nav .sub-menu--medical .medical-menu-card:hover,
.primary-nav .sub-menu--medical .medical-menu-card:focus-visible {
    border-color: rgba(43,111,159,.42);
    background: var(--teal-soft);
    box-shadow: 0 .55rem 1.2rem rgba(10,38,71,.08);
    color: var(--teal);
    transform: translateY(-2px);
}
.medical-menu-card__visual {
    display: block;
    overflow: hidden;
    width: 5rem;
    aspect-ratio: 4 / 3;
    border-radius: .35rem;
    background: var(--teal-mist);
}
.medical-menu-card__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s cubic-bezier(.22,.8,.28,1); }
.medical-menu-card:hover .medical-menu-card__image,
.medical-menu-card:focus-visible .medical-menu-card__image { transform: scale(1.06); }
.medical-menu-card__copy { display: grid; min-width: 0; gap: .2rem; }
.medical-menu-card__title { color: var(--navy); font-size: .86rem; font-weight: 750; line-height: 1.3; }
.medical-menu-card__summary { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.medical-menu-card__arrow { color: var(--teal); font-size: 1rem; transition: transform .22s ease; }
.medical-menu-card:hover .medical-menu-card__arrow,
.medical-menu-card:focus-visible .medical-menu-card__arrow { transform: translateX(.2rem); }
.primary-nav .submenu-toggle {
    display: inline-grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--navy);
    cursor: pointer;
}
.primary-nav .submenu-toggle:hover,
.primary-nav .submenu-toggle:focus-visible { background: var(--teal-soft); color: var(--teal); }
.submenu-toggle__icon { display: block; width: .45rem; height: .45rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-.1rem); transition: transform .2s ease; }
.primary-nav li.is-submenu-open > .submenu-toggle .submenu-toggle__icon { transform: rotate(225deg) translate(-.05rem, -.05rem); }
.about-page section[id] { scroll-margin-top: 96px; }
.menu-toggle { display: none; border: 1px solid var(--line); background: var(--white); color: var(--navy); padding: .5rem .7rem; }
.hero { background: var(--paper); padding: clamp(3.5rem, 6vw, 5.5rem) 0; }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(1.5rem, 4vw, 4rem); }
.hero__copy { display: grid; align-items: start; }
.hero__copy-slide { display: none; grid-area: 1 / 1; }
.hero__copy-slide:first-child { display: block; }
.hero h1, .page-title, .section-title { color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.12; }
.hero h1 { max-width: 18ch; font-size: clamp(2rem, 3vw, 2.25rem); margin: 0 0 1rem; }
.hero__lead { max-width: 54ch; font-size: var(--text-body-lg); color: var(--muted); }
.hero__assurances {
    display: grid;
    gap: .45rem;
    max-width: 38rem;
    margin: 1.25rem 0 1.5rem;
    padding: 0;
    list-style: none;
}
.hero__assurances li {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: var(--ink);
    font-size: .92rem;
}
.hero__assurances li::before {
    content: "";
    display: inline-block;
    width: .45rem;
    height: .45rem;
    flex: 0 0 .45rem;
    border-radius: 50%;
    background: var(--teal);
}
.hero__media { position: relative; min-height: 260px; aspect-ratio: 4 / 3; border-radius: 1.25rem; background: var(--teal-mist); overflow: hidden; box-shadow: 0 1.5rem 4rem rgba(16,51,93,.12); }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__image { display: block; }
.hero__slides { position: absolute; inset: 0; }
.hero__slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s ease; }
.hero__slide.is-active { z-index: 1; opacity: 1; visibility: visible; }
.hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.js-ready .hero__copy { display: grid; }
.js-ready .hero__copy-slide {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(.75rem);
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}
.js-ready .hero__copy-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}
.js-ready .hero__copy-slide [data-hero-line] {
    opacity: 0;
    transform: translateY(.75rem);
}
.js-ready .hero__copy-slide.is-active:not(.is-animating) [data-hero-line] {
    opacity: 1;
    transform: none;
}
.js-ready .hero__copy-slide.is-active.is-animating [data-hero-line] {
    animation: hero-copy-line-in .65s cubic-bezier(.22, .8, .28, 1) both;
    animation-delay: var(--hero-line-delay, 0ms);
}
.hero--image-copy .hero__copy { display: none; }
.hero--image-copy .hero__media { grid-column: 1 / -1; min-height: 0; aspect-ratio: 16 / 9; }
@keyframes hero-copy-line-in {
    from { opacity: 0; transform: translateY(.75rem); }
    to { opacity: 1; transform: none; }
}
.js-ready .hero__media.is-swiper-ready .hero__slides {
    position: relative;
    inset: auto;
    height: 100%;
}
.js-ready .hero__media.is-swiper-ready .hero__slide {
    position: relative;
    inset: auto;
    display: block;
    height: 100%;
    opacity: 1;
    visibility: visible;
    transition: none;
}
.hero-carousel__controls {
    display: none;
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 3;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    width: calc(100% - 2rem);
    padding: .35rem .45rem;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 999px;
    background: rgba(255,255,255,.92);
}
.js-ready .hero-carousel__controls { display: flex; }
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls { display: flex; }
.js-ready .hero__media.swiper-fallback .hero-carousel__controls { display: none; }
.hero-carousel__controls button {
    display: inline-grid;
    place-items: center;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: .25rem .55rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--navy);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.hero-carousel__controls button:hover,
.hero-carousel__controls button:focus-visible {
    background: var(--navy);
    color: var(--white);
    transform: translateY(-1px);
}
.hero-carousel__dots { display: flex; align-items: center; gap: .35rem; }
.hero-carousel__dots button { min-width: 1.7rem; min-height: 1.7rem; padding: .35rem; }
.hero-carousel__dots button span { display: block; width: .45rem; height: .45rem; border-radius: 50%; background: #9eb7c7; }
.hero-carousel__dots button[aria-selected="true"] span { background: var(--teal); transform: scale(1.2); }
.hero-carousel__controls .swiper-button-prev::after,
.hero-carousel__controls .swiper-button-next::after { content: none; }
.hero-carousel__controls .swiper-button-prev,
.hero-carousel__controls .swiper-button-next { position: static; width: auto; height: auto; margin: 0; }
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls {
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    pointer-events: none;
}
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-prev,
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-next {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 2.7rem;
    height: 2.7rem;
    border: 1px solid rgba(220,229,237,.95);
    background: rgba(255,255,255,.94);
    pointer-events: auto;
    transform: translateY(-50%);
}
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-prev { left: .75rem; }
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-next { right: .75rem; }
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-prev:hover,
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-prev:focus-visible,
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-next:hover,
.js-ready .hero__media.is-swiper-ready .hero-carousel__controls .swiper-button-next:focus-visible { transform: translateY(-50%) scale(1.04); }
.js-ready .hero__media.is-swiper-ready .hero-carousel__dots {
    position: absolute;
    left: 50%;
    bottom: .75rem;
    z-index: 2;
    padding: .25rem .45rem;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    pointer-events: auto;
    transform: translateX(-50%);
}
.button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 46px; padding: .7rem 1.15rem; border: 1px solid var(--teal); border-radius: 999px; background: var(--teal); color: var(--white); text-decoration: none; font-weight: 650; }
.button:hover, .button:focus { background: var(--teal-deep); border-color: var(--teal-deep); color: var(--white); }
.button--ghost { border-color: var(--teal); background: transparent; color: var(--teal-deep); }
.button--ghost:hover, .button--ghost:focus { color: var(--white); }
.section { padding: clamp(3.5rem, 7vw, 7rem) 0; }
.section--tint { background: var(--paper); }
.inner-banner {
    --inner-banner-image: url("assets/generated/banner-support.webp");
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: clamp(20rem, 34vw, 29rem);
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(10,38,71,.2);
    background-color: var(--navy);
    background-image: var(--inner-banner-image);
    background-position: center;
    background-size: cover;
}
.inner-banner::before,
.inner-banner::after {
    content: "";
    position: absolute;
    pointer-events: none;
}
.inner-banner::before { inset: 0; z-index: -2; background: rgba(10,38,71,.2); }
.inner-banner::after { inset: 0 auto 0 0; z-index: -1; width: 64%; background: rgba(10,38,71,.88); }
.inner-banner > .container { position: relative; z-index: 1; }
.inner-banner__copy { max-width: min(46rem, 56%); }
.inner-banner .eyebrow { color: var(--teal-light); }
.inner-banner h1,
.inner-banner .page-title { max-width: 18ch; margin: 0 0 1rem; color: var(--white); }
.inner-banner .hero__lead,
.inner-banner .section-intro,
.inner-banner__copy > p:not(.eyebrow) { color: #e5edf2; }
.inner-banner .hero__assurances li { color: #e5edf2; }
.inner-banner .button { border-color: var(--white); background: var(--white); color: var(--navy); }
.inner-banner .button:hover,
.inner-banner .button:focus-visible { border-color: var(--teal-light); background: var(--teal-light); color: var(--navy); }
.inner-banner .button--ghost { border-color: rgba(255,255,255,.7); background: transparent; color: var(--white); }
.inner-banner--about { --inner-banner-image: url("assets/generated/banner-about.webp"); }
.inner-banner--services { --inner-banner-image: url("assets/generated/banner-services.webp"); }
.inner-banner--process { --inner-banner-image: url("assets/generated/banner-process.webp"); }
.inner-banner--experts { --inner-banner-image: url("assets/generated/banner-experts.webp"); }
.inner-banner--news { --inner-banner-image: url("assets/generated/banner-news.webp"); }
.inner-banner--contact { --inner-banner-image: url("assets/generated/banner-contact.webp"); }
.inner-banner--support { --inner-banner-image: url("assets/generated/banner-support.webp"); }
.inner-banner--important-notes { --inner-banner-image: url("assets/generated/banner-important-notes.webp"); }
.inner-banner--privacy { --inner-banner-image: url("assets/generated/banner-privacy.webp"); }
.section-title { margin: 0 0 .75rem; font-size: clamp(1.75rem, 2.4vw, 2.25rem); }
.section-intro { max-width: 60ch; color: var(--muted); }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.card { overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); padding: 1.4rem; transition: transform .2s ease, box-shadow .2s ease; }
.card:hover, .card:focus-within { transform: translateY(-3px); box-shadow: 0 1rem 2.5rem rgba(10,38,71,.08); }
.card:focus-within { outline: 3px solid var(--gold); outline-offset: 3px; }
.card h2, .card h3 { margin-top: 0; color: var(--navy); line-height: 1.25; }
.service-card__title {
    display: -webkit-box;
    min-height: 3.75em;
    max-height: 3.75em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
.card__meta, .eyebrow { color: var(--teal); font-size: .8rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.home .section > .container > .eyebrow::before {
    content: "";
    display: inline-block;
    width: .46rem;
    height: .46rem;
    margin-right: .55rem;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 .22rem rgba(216,184,124,.13);
    vertical-align: .04em;
}
.prose { max-width: 74ch; }
.prose p:first-child { font-size: var(--text-body-lg); }
.prose ul { padding-left: 1.2rem; }
.definition-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 2rem; }
.definition-list div { border-top: 1px solid var(--line); padding-top: .75rem; }
.definition-list dt { color: var(--muted); font-size: .85rem; }
.definition-list dd { margin: .2rem 0 0; font-weight: 600; }
.filter-bar { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; margin: 1.5rem 0; }
.filter-bar label { display: grid; gap: .25rem; color: var(--muted); font-size: .85rem; }
.category-child-links { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0 0 2rem; }
.news-category-links { display: flex; flex-wrap: wrap; gap: .9rem 1.4rem; margin: 1.5rem 0 .25rem; }
.news-category-links .text-link { font-weight: 700; text-decoration-color: transparent; }
.news-category-links .text-link.is-active,
.news-category-links .text-link:hover,
.news-category-links .text-link:focus-visible { color: var(--teal); text-decoration-color: currentColor; }
.news-card { display: flex; flex-direction: column; padding: 0; }
.news-card__visual { overflow: hidden; aspect-ratio: 16 / 9; margin: 0; background: var(--teal-mist); }
.news-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.news-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem; }
.news-card__body h2 { min-height: 2.5em; }
.news-card__body > p:last-child { margin-bottom: 0; }
.news-card__kicker { margin: -.55rem 0 .6rem; color: var(--muted); font-size: .85rem; }
.news-single__visual { max-width: 62rem; margin: 1.5rem 0 2rem; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 1rem; background: var(--teal-mist); }
.news-single__image { display: block; width: 100%; height: 100%; object-fit: cover; }
select, input, textarea { width: 100%; border: 1px solid #c3d2dc; border-radius: .45rem; padding: .7rem .75rem; font: inherit; color: var(--ink); background: var(--white); }
textarea { min-height: 150px; resize: vertical; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.form-field { display: grid; gap: .35rem; }
.form-field--full { grid-column: 1 / -1; }
.contact-main { background: var(--white); }
.contact-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.contact-section-heading .section-title { max-width: 20ch; margin-bottom: 0; }
.contact-section-heading .section-intro { margin: 0; }
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .85fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}
.contact-form-panel {
    padding: clamp(1.5rem, 3.5vw, 3rem);
    border: 1px solid var(--line);
    border-radius: 1.2rem;
    background: var(--paper);
    box-shadow: 0 1.25rem 3rem rgba(10,38,71,.08);
}
.contact-form-panel__heading { max-width: 46rem; margin-bottom: 1.75rem; }
.contact-form-panel__heading h2 { margin: .25rem 0 .55rem; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 2.4vw, 2.2rem); font-weight: 500; line-height: 1.15; }
.contact-form-panel__heading p:last-child { margin-bottom: 0; color: var(--muted); }
.qiyuan-contact-form .form-grid { gap: 1.15rem; }
.qiyuan-contact-form .form-field { margin: 0; }
.qiyuan-contact-form label { color: var(--navy); font-size: .9rem; font-weight: 650; }
.qiyuan-contact-form input,
.qiyuan-contact-form textarea { margin-top: .35rem; background: var(--white); transition: border-color .2s ease, box-shadow .2s ease; }
.qiyuan-contact-form input:focus,
.qiyuan-contact-form textarea:focus { border-color: var(--teal); outline: 0; box-shadow: 0 0 0 3px rgba(43,111,159,.15); }
.qiyuan-contact-form input[type="checkbox"] { width: auto; margin: 0 .45rem 0 0; accent-color: var(--teal); }
.qiyuan-contact-form .form-field--full > label:has(input[type="checkbox"]) { display: flex; align-items: flex-start; color: var(--muted); font-weight: 500; }
.qiyuan-contact-form button[type="submit"] { min-width: 10rem; }
.form-field--upload { gap: .35rem; }
.file-upload-control { position: relative; display: grid; min-height: 4.75rem; margin-top: .1rem; place-items: center; overflow: hidden; border: 1px dashed rgba(43,111,159,.5); border-radius: .65rem; background: rgba(255,255,255,.72); color: var(--teal-deep); transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.file-upload-control:hover { border-color: var(--teal); background: var(--white); }
.file-upload-control:has(input:focus-visible) { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(43,111,159,.15); }
.file-upload-control input[type="file"] { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.file-upload-control__action { display: inline-flex; align-items: center; justify-content: center; min-height: 2.7rem; padding: .55rem 1rem; border-radius: 999px; background: var(--teal); color: var(--white); font-size: .86rem; font-weight: 700; }
.form-field__hint { color: var(--muted); font-size: .76rem; font-weight: 500; line-height: 1.5; }
.file-upload-summary { color: var(--teal-deep); font-size: .8rem; font-weight: 650; }
.contact-channel-panel { padding-top: .25rem; }
.contact-channel-panel .section-title { max-width: 17ch; }
.contact-channel-panel > .section-intro { margin-bottom: 1.6rem; }
.contact-channel-list { display: grid; gap: 1rem; }
.contact-channel-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1.2rem;
    border: 1px solid var(--line);
    border-radius: 1rem;
    background: var(--white);
    box-shadow: 0 .75rem 2rem rgba(10,38,71,.06);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.contact-channel-card:hover,
.contact-channel-card:focus-within { border-color: rgba(43,111,159,.5); box-shadow: 0 1rem 2.5rem rgba(10,38,71,.1); transform: translateY(-3px); }
.contact-channel__icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--teal-soft); color: var(--teal); }
.contact-channel__icon svg { width: 1.45rem; height: 1.45rem; }
.contact-channel-card .card__meta { margin: 0 0 .2rem; }
.contact-channel-card p { margin-top: 0; }
.contact-channel__value { color: var(--navy); font-weight: 750; overflow-wrap: anywhere; }
.contact-channel__placeholder { max-width: 29ch; margin-bottom: 0; color: var(--muted); font-size: .86rem; line-height: 1.45; }
.contact-channel-card--wechat { align-items: center; }
.contact-channel__qr { display: block; width: 7.25rem; height: 7.25rem; object-fit: contain; border: 1px solid var(--line); border-radius: .65rem; background: var(--white); }
.contact-location { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-location__grid { display: grid; grid-template-columns: minmax(16rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.contact-location__copy { max-width: 34rem; }
.contact-location__copy .section-title { max-width: 16ch; }
.contact-location__address { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); }
.contact-location__address strong { color: var(--navy); }
.contact-location__map { overflow: hidden; min-height: clamp(22rem, 34vw, 30rem); border: 1px solid var(--line); border-radius: 1rem; background: var(--teal-mist); box-shadow: 0 1.25rem 3rem rgba(10,38,71,.1); }
.contact-location__map iframe { display: block; width: 100%; height: 100%; min-height: inherit; border: 0; }

/* Patient support turns the supplied intake brief into two routes and one structured form. */
.patient-support-hero .page-title { max-width: 22ch; }
.patient-support-hero .section-intro { max-width: 70ch; }
.patient-support-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: end; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.patient-support-heading .section-title { max-width: 23ch; margin-bottom: 0; }
.patient-support-heading .section-intro { margin: 0; }
.patient-support-heading--compact { margin-bottom: 2rem; }
.patient-support-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.patient-support-method { position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: 1.2rem; background: var(--white); box-shadow: 0 1rem 2.6rem rgba(10,38,71,.07); }
.patient-support-method::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--teal); }
.patient-support-method--assisted { border-color: var(--gold-line); background: var(--gold-soft); }
.patient-support-method--assisted::before { background: var(--gold); }
.patient-support-method__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem clamp(1.35rem, 3vw, 2.4rem) 0; }
.patient-support-method__number { color: rgba(16,51,93,.22); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1; }
.patient-support-method__tag { display: inline-flex; padding: .38rem .65rem; border: 1px solid rgba(43,111,159,.28); border-radius: 999px; color: var(--teal-deep); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.patient-support-method--assisted .patient-support-method__tag { border-color: rgba(139,101,44,.3); color: var(--gold-deep); }
.patient-support-method__body { padding: 1rem clamp(1.35rem, 3vw, 2.4rem) clamp(1.6rem, 3.5vw, 2.7rem); }
.patient-support-method__body .card__meta { margin: 0 0 .35rem; color: var(--teal); }
.patient-support-method--assisted .card__meta { color: var(--gold-deep); }
.patient-support-method h3 { max-width: 24ch; margin: 0; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.5vw, 2.15rem); font-weight: 550; line-height: 1.2; }
.patient-support-method ul,
.patient-support-method ol { display: grid; gap: .75rem; margin: 1.4rem 0 1.6rem; padding-left: 1.25rem; color: var(--muted); line-height: 1.6; }
.patient-support-method li::marker { color: var(--teal); font-weight: 750; }
.patient-support-method--assisted li::marker { color: var(--gold-deep); }
.patient-support-method__note { margin: -.25rem 0 1.25rem; padding-top: 1rem; border-top: 1px solid var(--gold-line); color: var(--ink); font-size: .9rem; }
.patient-support-method .text-link { color: var(--gold-deep); }
.patient-support-modules { border-block: 1px solid var(--line); background: var(--teal-soft); }
.patient-support-module-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem; }
.patient-support-module-nav a { display: flex; min-width: 0; min-height: 10.5rem; flex-direction: column; padding: 1.15rem; border: 1px solid rgba(43,111,159,.18); border-radius: .85rem; background: rgba(255,255,255,.84); color: var(--navy); text-decoration: none; box-shadow: 0 .6rem 1.7rem rgba(10,38,71,.045); transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.patient-support-module-nav a:hover,
.patient-support-module-nav a:focus-visible { border-color: var(--teal); background: var(--white); box-shadow: 0 .9rem 2rem rgba(10,38,71,.09); transform: translateY(-3px); }
.patient-support-module-nav a > span { color: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.patient-support-module-nav strong { margin-top: auto; font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: 1.08rem; font-weight: 600; line-height: 1.25; }
.patient-support-module-nav small { margin-top: .35rem; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.patient-support-records { position: relative; overflow: hidden; background: var(--navy); color: var(--footer-copy); }
.patient-support-records::after { content: ""; position: absolute; top: -13rem; right: -8rem; width: 28rem; height: 28rem; border: 1px solid rgba(143,195,211,.15); border-radius: 50%; pointer-events: none; }
.patient-support-records__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 5rem minmax(16rem, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.patient-support-records__icon { display: grid; width: 4.75rem; height: 4.75rem; place-items: center; border: 1px solid rgba(216,184,124,.44); border-radius: 50%; color: var(--gold); }
.patient-support-records__icon svg { width: 2.9rem; height: 2.9rem; }
.patient-support-records .eyebrow { color: var(--gold); }
.patient-support-records .section-title { margin-bottom: 0; color: var(--white); }
.patient-support-records__copy { padding-left: clamp(1.25rem, 3vw, 2.5rem); border-left: 1px solid rgba(203,217,227,.22); }
.patient-support-records__copy p { margin: 0 0 .75rem; color: var(--footer-copy); }
.patient-support-records__copy p:last-child { margin-bottom: 0; }
.patient-support-records__copy strong { color: var(--white); }
.patient-support-questionnaire { scroll-margin-top: 5rem; background: var(--paper); }
.patient-support-questionnaire__layout { display: grid; grid-template-columns: minmax(15rem, .28fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.patient-support-questionnaire__rail { position: sticky; top: 6.5rem; padding: 1.35rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: 0 .8rem 2rem rgba(10,38,71,.06); }
.patient-support-questionnaire__rail .card__meta { margin: 0 0 .8rem; }
.patient-support-questionnaire__rail ol { display: grid; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.patient-support-questionnaire__rail a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .55rem; align-items: baseline; padding: .55rem .4rem; border-radius: .4rem; color: var(--ink); font-size: .8rem; line-height: 1.35; text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.patient-support-questionnaire__rail a span { color: var(--teal); font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.patient-support-questionnaire__rail a:hover,
.patient-support-questionnaire__rail a:focus-visible { background: var(--teal-soft); color: var(--teal-deep); transform: translateX(.2rem); }
.patient-support-questionnaire__rail-note { margin: 1rem 0 0; padding-top: .9rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; line-height: 1.5; }
.patient-support-questionnaire__form { min-width: 0; }
.patient-support-form { display: grid; gap: 1rem; }
.patient-support-form__notice { display: grid; gap: .15rem; margin: 0 0 1rem; border-radius: .65rem; }
.patient-support-form__module { min-width: 0; margin: 0; padding: clamp(1.25rem, 3vw, 2.2rem); scroll-margin-top: 6.5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: 0 .65rem 1.8rem rgba(10,38,71,.045); }
.patient-support-form__module legend { display: inline-flex; gap: .75rem; align-items: center; padding: 0 .6rem; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 600; line-height: 1.2; }
.patient-support-form__module legend span { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid rgba(43,111,159,.3); border-radius: 50%; color: var(--teal); font-family: Inter, system-ui, sans-serif; font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.patient-support-form__intro { margin: .35rem 0 1.35rem; color: var(--muted); }
.patient-support-form__intro--important { padding: .8rem 1rem; border-left: 3px solid var(--gold); background: var(--gold-soft); color: var(--ink); }
.patient-support-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.patient-support-form .form-field { min-width: 0; margin: 0; }
.patient-support-form label { color: var(--navy); font-size: .86rem; font-weight: 680; }
.patient-support-form input,
.patient-support-form select,
.patient-support-form textarea { margin-top: .35rem; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.patient-support-form textarea { min-height: 7rem; }
.patient-support-form input:focus,
.patient-support-form select:focus,
.patient-support-form textarea:focus { border-color: var(--teal); outline: 0; box-shadow: 0 0 0 3px rgba(43,111,159,.15); }
.patient-support-form [aria-invalid="true"] { border-color: #9d4a3a; }
.patient-support-form__error { color: #8a3528; font-size: .76rem; font-weight: 650; line-height: 1.4; }
.patient-support-form__consents { display: grid; gap: .75rem; padding: clamp(1.2rem, 2.5vw, 1.8rem); border: 1px solid var(--gold-line); border-radius: 1rem; background: var(--gold-soft); }
.patient-support-form__consents .form-field { display: grid; gap: .3rem; }
.patient-support-form__consents label { display: flex; gap: .65rem; align-items: flex-start; color: var(--ink); font-weight: 500; line-height: 1.55; }
.patient-support-form__consents input[type="checkbox"] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin: .2rem 0 0; accent-color: var(--teal); }
.patient-support-form__consents a { color: var(--teal-deep); font-weight: 700; }
.patient-support-form__submit { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; padding: clamp(1.2rem, 2.5vw, 1.8rem); border-radius: 1rem; background: var(--navy); color: var(--white); }
.patient-support-form__submit > div { display: grid; gap: .15rem; }
.patient-support-form__submit span { color: var(--footer-copy); font-size: .8rem; }
.patient-support-form__submit .button { flex: 0 0 auto; border-color: var(--gold); background: var(--gold); color: var(--navy); }
.patient-support-form__submit .button:hover,
.patient-support-form__submit .button:focus-visible { border-color: var(--white); background: var(--white); color: var(--navy); }
.patient-support-assistance { border-top: 1px solid var(--gold-line); background: var(--gold-soft); }
.patient-support-assistance__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.patient-support-assistance .section-title { max-width: 26ch; }
.patient-support-assistance__inner p { max-width: 72ch; }
.patient-support-assistance__warning { margin-bottom: 0; padding-left: 1rem; border-left: 3px solid var(--gold-deep); color: var(--gold-deep); font-weight: 650; }

/* Important notes and privacy share one readable policy system. */
.policy-hero .page-title { max-width: 22ch; }
.policy-hero .section-intro { max-width: 68ch; }
.policy-hero__date { display: inline-flex; margin: 0 0 .8rem; padding: .35rem .7rem; border: 1px solid rgba(216,184,124,.58); border-radius: 999px; background: rgba(216,184,124,.16); color: #f6dca4 !important; font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.policy-page { background: var(--teal-soft); }
.policy-page--privacy { background: var(--white); }
.policy-page__layout { display: grid; grid-template-columns: minmax(17rem, .34fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.policy-page__rail { position: sticky; top: 6.75rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.94); box-shadow: 0 .9rem 2.2rem rgba(16,51,93,.07); }
.policy-page--privacy .policy-page__rail { background: var(--teal-soft); }
.policy-page__rail > .eyebrow { margin: 0 0 .45rem; }
.policy-page__rail h2 { margin: 0; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 550; line-height: 1.28; }
.policy-page__rail nav { margin-top: 1.25rem; padding-top: .85rem; border-top: 1px solid var(--line); }
.policy-page__rail ol { display: grid; gap: .15rem; margin: 0; padding: 0; list-style: none; }
.policy-page__rail li { min-width: 0; }
.policy-page__rail li a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .5rem; align-items: baseline; padding: .42rem .35rem; border-radius: .4rem; color: var(--ink); font-size: .78rem; line-height: 1.4; text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.policy-page__rail li a span { color: var(--gold-deep); font-size: .68rem; font-weight: 750; letter-spacing: .08em; }
.policy-page__rail li a:hover,
.policy-page__rail li a:focus-visible { background: var(--gold-soft); color: var(--teal-deep); transform: translateX(.2rem); }
.policy-page__rail .button { margin-top: 1.25rem; }
.policy-page__content { display: grid; gap: 1rem; }
.policy-card { position: relative; display: grid; grid-template-columns: 3.8rem minmax(0, 1fr); gap: 1.2rem; overflow: hidden; scroll-margin-top: 7rem; padding: clamp(1.35rem, 2.4vw, 2rem); border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: 0 .75rem 2rem rgba(16,51,93,.06); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.policy-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--teal); }
.policy-card:hover { border-color: rgba(43,111,159,.36); box-shadow: 0 1rem 2.5rem rgba(16,51,93,.1); transform: translateY(-2px); }
.policy-card--warning { border-color: var(--gold-line); background: var(--gold-soft); }
.policy-card--warning::before { background: var(--gold); }
.policy-card__number { display: grid; width: 3.35rem; aspect-ratio: 1; place-items: center; align-self: start; border: 1px solid rgba(43,111,159,.3); border-radius: 50%; background: var(--teal-soft); color: var(--teal-deep); font-size: .78rem; font-weight: 750; letter-spacing: .08em; }
.policy-card--warning .policy-card__number { border-color: var(--gold-line); background: var(--white); color: var(--gold-deep); }
.policy-card h2 { margin: .2rem 0 .75rem; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.2vw, 1.75rem); font-weight: 550; line-height: 1.25; }
.policy-card__body { max-width: 74ch; color: var(--muted); line-height: 1.68; }
.policy-card__body p { margin: 0 0 .85rem; }
.policy-card__body p:last-child { margin-bottom: 0; }
.policy-card__body h3 { margin: 1rem 0 .25rem; color: var(--teal-deep); font-size: .84rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.policy-card__body ul { display: grid; gap: .5rem; margin: .65rem 0 1rem; padding-left: 1.15rem; }
.policy-card__body strong { color: var(--navy); }
.policy-card__body a { color: var(--teal-deep); font-weight: 700; }
.policy-page__footer-note { margin: .75rem 0 0; padding: 1.2rem 1.35rem; border: 1px solid var(--gold-line); border-radius: .75rem; background: var(--gold-soft); color: var(--ink); font-size: .86rem; }
.policy-page__footer-note a { color: var(--gold-deep); font-weight: 750; }
.notice { border-left: 4px solid var(--teal); padding: 1rem 1.2rem; background: var(--teal-soft); }
.notice--warning { border-left-color: var(--gold-deep); background: var(--gold-soft); }
.pagination { display: flex; gap: .75rem; margin-top: 2rem; }
.navigation.pagination { justify-content: center; width: 100%; }
.navigation.pagination .nav-links,
ul.page-numbers {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: max-content;
    max-width: 100%;
    gap: .45rem;
    margin: 2rem auto 0;
    padding: .35rem;
    overflow-x: auto;
    list-style: none;
    border: 1px solid var(--line);
    border-radius: .5rem;
    background: rgba(255,255,255,.94);
    box-shadow: 0 .75rem 2rem rgba(10,38,71,.08);
    scrollbar-width: thin;
}
ul.page-numbers > li { flex: 0 0 auto; margin: 0; }
.navigation.pagination .nav-links > .page-numbers,
ul.page-numbers > li > .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.65rem;
    min-height: 2.65rem;
    padding: .45rem .75rem;
    border: 1px solid transparent;
    border-radius: .35rem;
    color: var(--navy);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.navigation.pagination .nav-links > a.page-numbers:hover,
.navigation.pagination .nav-links > a.page-numbers:focus-visible,
ul.page-numbers > li > a.page-numbers:hover,
ul.page-numbers > li > a.page-numbers:focus-visible {
    border-color: var(--teal);
    background: var(--teal-soft);
    color: var(--teal);
    transform: translateY(-2px);
}
.navigation.pagination .nav-links > .page-numbers.current,
ul.page-numbers > li > .page-numbers.current {
    border-color: var(--navy);
    background: var(--navy);
    color: var(--white);
}
.navigation.pagination .nav-links > .page-numbers.dots,
ul.page-numbers > li > .page-numbers.dots { min-width: 1.8rem; padding-inline: .2rem; color: var(--muted); }
.navigation.pagination .nav-links > .page-numbers.prev,
.navigation.pagination .nav-links > .page-numbers.next,
ul.page-numbers > li > .page-numbers.prev,
ul.page-numbers > li > .page-numbers.next { padding-inline: 1rem; }
.navigation.pagination .nav-links > .page-numbers.prev::before,
ul.page-numbers > li > .page-numbers.prev::before { content: "\2190"; margin-right: .35rem; }
.navigation.pagination .nav-links > .page-numbers.next::after,
ul.page-numbers > li > .page-numbers.next::after { content: "\2192"; margin-left: .35rem; }
.site-footer { margin-top: 4rem; border-top: 1px solid rgba(143,195,211,.22); background: var(--footer); color: #e5eef1; padding: 4.5rem 0 1.5rem; }
.site-footer a { color: #e5eef1; }
.site-footer__top { display: grid; grid-template-columns: minmax(14rem, 1.25fr) repeat(3, minmax(9rem, .75fr)); gap: 2rem; }
.site-footer__inner { display: contents; }
.site-footer__brand-mark { display: inline-flex; align-items: center; max-width: 18rem; margin-bottom: .25rem; }
.site-footer__logo { display: block; width: min(100%, 18rem); max-height: 3.4rem; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.site-footer__brand p { max-width: 42ch; margin: .8rem 0 0; color: var(--footer-copy); }
.site-footer__label { margin: 0 0 .8rem; color: var(--teal-light); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-footer ul { display: grid; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.site-footer__explore-links { gap: .7rem !important; }
.site-footer__link-heading { display: inline-flex; align-items: center; width: fit-content; color: var(--white) !important; font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: 1.08rem; font-weight: 550; line-height: 1.25; text-decoration: none; }
.site-footer__link-heading::after { content: "↗"; margin-left: .35rem; color: var(--gold); font-family: Inter, system-ui, sans-serif; font-size: .8em; opacity: .8; transition: transform .2s ease, opacity .2s ease; }
.site-footer__link-heading:hover,
.site-footer__link-heading:focus-visible { color: var(--gold) !important; }
.site-footer__link-heading:hover::after,
.site-footer__link-heading:focus-visible::after { opacity: 1; transform: translate(2px, -2px); }
.site-footer__contact { display: grid; align-content: start; gap: .45rem; }
.site-footer__contact p { margin: 0; color: var(--footer-copy); }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(228,237,244,.2); }
.site-footer__bottom small { color: var(--footer-copy); }
.site-footer__bottom .button { min-height: 38px; padding: .45rem .85rem; border-color: rgba(228,237,244,.5); color: var(--white); }
.floating-contact { position: fixed; top: 50%; right: 0; z-index: 20; transform: translateY(-50%); }
.floating-contact__list { display: grid; gap: .55rem; }
.floating-contact__item { position: relative; display: grid; justify-items: end; }
.floating-contact__trigger { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; padding: 0; border: 1px solid var(--line); border-radius: .65rem 0 0 .65rem; background: var(--white); color: var(--teal-deep); box-shadow: 0 .7rem 1.8rem rgba(16,51,93,.16); cursor: pointer; transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }
.floating-contact__trigger:hover, .floating-contact__trigger:focus-visible, .floating-contact__item.is-open .floating-contact__trigger { border-color: var(--teal); background: var(--teal); color: var(--white); transform: translateX(-2px); }
.floating-contact__icon { display: block; width: 1.45rem; height: 1.45rem; overflow: visible; }
.floating-contact__icon-path { stroke-dasharray: 180; stroke-dashoffset: 0; }
.floating-contact__item:hover .floating-contact__icon-path, .floating-contact__item:focus-within .floating-contact__icon-path, .floating-contact__item.is-open .floating-contact__icon-path { animation: floating-contact-draw .7s cubic-bezier(.22,.8,.28,1) both; }
@keyframes floating-contact-draw { from { stroke-dashoffset: 180; } to { stroke-dashoffset: 0; } }
.floating-contact__panel { position: absolute; top: 0; right: calc(100% + .65rem); display: grid; align-content: center; gap: .35rem; width: max-content; min-width: min(14rem, calc(100vw - 5rem)); max-width: min(18rem, calc(100vw - 5rem)); min-height: 3.25rem; padding: .8rem 1rem; border: 1px solid #d1e0e8; border-radius: .65rem; background: var(--white); color: var(--ink); box-shadow: 0 .9rem 2rem rgba(10,38,71,.16); opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(.9rem) scale(.98); transform-origin: right center; transition: opacity .25s ease, transform .3s cubic-bezier(.22,.8,.28,1), visibility .25s ease; }
.floating-contact__item:hover .floating-contact__panel, .floating-contact__item:focus-within .floating-contact__panel, .floating-contact__item.is-open .floating-contact__panel { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.floating-contact__panel strong { color: var(--navy); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.floating-contact__value { color: var(--navy); font-weight: 700; white-space: nowrap; }
.floating-contact__empty { max-width: 22ch; margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.45; }
.floating-contact__panel--wechat { justify-items: start; min-width: min(11rem, calc(100vw - 5rem)); }
.floating-contact__qr { display: block; width: 8.5rem; height: 8.5rem; object-fit: contain; border: 1px solid var(--line); background: var(--white); }
.floating-contact__qr-note { max-width: 11rem; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.floating-contact__item--back-to-top { transition: opacity .25s ease, transform .25s ease; }
.floating-contact__back-to-top svg { width: 1.35rem; height: 1.35rem; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; position: absolute; word-wrap: normal !important; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
@media (min-width: 1400px) { .card-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } }
@media (max-width: 1200px) {
    .menu-toggle { display: block; }
    .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 76px; max-height: calc(100vh - 76px); overflow-y: auto; border-bottom: 1px solid var(--line); background: var(--white); padding: 1rem calc(var(--container-inset) / 2); }
    .primary-nav.is-open { display: block; }
    .primary-nav > ul,
    .primary-nav > .menu { flex-direction: column; gap: .25rem; }
    .primary-nav > ul > li,
    .primary-nav > .menu > li { flex-wrap: wrap; }
    .primary-nav > ul > li > a,
    .primary-nav > .menu > li > a { flex: 1 1 auto; }
    .primary-nav.is-open > ul > li > a,
    .primary-nav.is-open > .menu > li > a,
    .primary-nav.is-open .sub-menu a,
    .primary-nav.is-open .submenu-toggle { color: var(--navy); }
    .primary-nav.is-open > ul > li > a:hover,
    .primary-nav.is-open > ul > li > a:focus-visible,
    .primary-nav.is-open > .menu > li > a:hover,
    .primary-nav.is-open > .menu > li > a:focus-visible,
    .primary-nav.is-open .submenu-toggle:hover,
    .primary-nav.is-open .submenu-toggle:focus-visible { color: var(--teal); }
    .primary-nav .sub-menu {
        position: static;
        right: auto;
        min-width: 0;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        padding: 0 0 0 1rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: max-height .25s ease, padding .25s ease;
    }
    .primary-nav li:hover > .sub-menu,
    .primary-nav li:focus-within > .sub-menu { max-height: 0; padding-top: 0; }
    .primary-nav li.is-submenu-open > .sub-menu { max-height: 60rem; padding-top: .35rem; }
    .primary-nav .sub-menu a { white-space: normal; }
    .primary-nav .sub-menu--medical {
        left: auto;
        width: 100%;
        grid-template-columns: 1fr;
        gap: .35rem;
        padding: 0 0 0 .75rem;
        transform: none;
    }
    .primary-nav li:hover > .sub-menu--medical,
    .primary-nav li:focus-within > .sub-menu--medical,
    .primary-nav li.is-submenu-open > .sub-menu--medical { transform: none; }
    .primary-nav li.is-submenu-open > .sub-menu--medical { max-height: 40rem; padding-top: .5rem; }
    .primary-nav .sub-menu--medical .medical-menu-card { grid-template-columns: 4.25rem minmax(0, 1fr) auto; min-height: 4.75rem; }
    .medical-menu-card__visual { width: 4.25rem; }
    .patient-support-module-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) { .hero__grid, .definition-list { grid-template-columns: 1fr; } .hero h1 { max-width: none; } }
@media (max-width: 900px) {
    .contact-section-heading,
    .contact-layout,
    .contact-location__grid,
    .patient-support-heading,
    .patient-support-methods,
    .patient-support-records__inner,
    .patient-support-questionnaire__layout,
    .patient-support-assistance__inner,
    .policy-page__layout { grid-template-columns: 1fr; }
    .contact-section-heading { align-items: start; }
    .contact-channel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contact-channel-card--wechat { grid-column: 1 / -1; }
    .contact-location__copy { max-width: 44rem; }
    .patient-support-heading { align-items: start; }
    .patient-support-records__inner { gap: 1.5rem; }
    .patient-support-records__copy { padding: 1.25rem 0 0; border-top: 1px solid rgba(203,217,227,.22); border-left: 0; }
    .patient-support-questionnaire__rail { position: static; }
    .patient-support-questionnaire__rail ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .patient-support-assistance__inner .button { justify-self: start; }
    .policy-page__rail { position: static; }
    .policy-page__rail ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .site-footer__top { grid-template-columns: 1fr 1fr; }
    .site-footer__brand { grid-column: 1 / -1; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; }
    .card-grid, .form-grid { grid-template-columns: 1fr; }
    .form-field--full { grid-column: auto; }
    .floating-contact { top: auto; right: .75rem; bottom: .75rem; transform: none; }
    .hero { padding-block: 3rem; }
    .hero h1 { max-width: 20ch; font-size: clamp(1.35rem, 5.6vw, 1.5rem); }
    .inner-banner {
        min-height: 20rem;
        background-position: 62% center;
    }
    .inner-banner::after { width: 100%; background: rgba(10,38,71,.78); }
    .inner-banner__copy { max-width: 88%; }
    .inner-banner h1,
    .inner-banner .page-title { max-width: 18ch; }
    .contact-channel-list { grid-template-columns: 1fr; }
    .contact-channel-card--wechat { grid-column: auto; }
    .contact-form-panel { padding: 1.25rem; }
    .contact-location__map { min-height: 20rem; }
    .patient-support-module-nav,
    .patient-support-form__grid,
    .patient-support-questionnaire__rail ol { grid-template-columns: 1fr; }
    .patient-support-module-nav a { min-height: 8.5rem; }
    .patient-support-form__module { padding: 1.1rem; }
    .patient-support-form__module legend { gap: .55rem; padding-inline: .3rem; }
    .patient-support-form__submit { align-items: stretch; flex-direction: column; }
    .patient-support-form__submit .button { width: 100%; }
    .policy-page__rail ol { grid-template-columns: 1fr; }
    .policy-card { grid-template-columns: 3.1rem minmax(0, 1fr); gap: .9rem; padding: 1.15rem; }
    .policy-card__number { width: 2.8rem; }
}
@media (min-width: 769px) and (max-width: 1000px) { .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Expert directory uses one editorial profile row per person. */
.experts-directory .section-intro { max-width: 70ch; }
.expert-list { display: grid; gap: 1.25rem; margin-top: 2rem; }
.expert-profile {
    display: grid;
    grid-template-columns: minmax(11rem, 16rem) minmax(0, 1fr);
    align-items: start;
    gap: clamp(1.5rem, 4vw, 4rem);
    padding: clamp(1.4rem, 3vw, 2.4rem);
}
.expert-profile:nth-child(even) { background: #f2f6f8; }
.expert-profile__portrait-frame {
    justify-self: center;
    overflow: hidden;
    width: min(100%, 15rem);
    margin: 0;
    aspect-ratio: 3 / 4;
    border: 1px solid #d1e0e8;
    border-radius: 50%;
    background: #e1eaef;
    box-shadow: inset 0 0 0 .45rem rgba(255,255,255,.45);
}
.expert-profile__portrait-frame .expert-card__portrait {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 20%;
}
.expert-profile__content { min-width: 0; }
.expert-profile__content h2 { margin-bottom: .5rem; font-size: clamp(1.55rem, 2.4vw, 2rem); overflow-wrap: anywhere; }
.expert-profile__content > .eyebrow { margin: 0 0 .45rem; }
.expert-profile__role { max-width: 52ch; margin: 0 0 1rem; }
.expert-profile__header-details,
.expert-profile__details-list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.expert-profile__header-details { max-width: 82ch; color: var(--muted); font-size: .95rem; }
.expert-profile__header-details li { padding-left: 1rem; border-left: 2px solid var(--gold); }
.expert-profile__section { max-width: 82ch; margin-top: 1.35rem; padding-top: 1.05rem; border-top: 1px solid var(--line); }
.expert-profile__section h3 { margin: 0 0 .65rem; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 550; }
.expert-profile__section p { margin: 0 0 .7rem; color: var(--muted); line-height: 1.65; }
.expert-profile__section p:last-child { margin-bottom: 0; }
.expert-profile__details-list li { position: relative; padding-left: 1.2rem; color: var(--muted); line-height: 1.55; }
.expert-profile__details-list li::before { content: ""; position: absolute; top: .65em; left: 0; width: .42rem; height: .42rem; border-radius: 50%; background: var(--teal); }
@media (max-width: 768px) {
    .expert-profile { grid-template-columns: 1fr; text-align: left; }
    .expert-profile__portrait-frame { width: min(72vw, 13rem); }
}

/* Standalone service and network pages linked from the footer Explore column. */
.services-overview { background: var(--white); }
.services-overview__grid,
.hospital-network-overview__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(18rem, 1.05fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.services-overview__copy,
.hospital-network-overview__grid > div { max-width: 58rem; }
.services-overview__body,
.hospital-network-overview__body { max-width: 68ch; color: var(--muted); }
.services-overview__body p,
.hospital-network-overview__body p { margin: 0 0 .9rem; }
.services-overview__body p:last-child,
.hospital-network-overview__body p:last-child { margin-bottom: 0; }
.services-overview__visual,
.hospital-network-overview__visual { overflow: hidden; min-height: 20rem; margin: 0; border: 1px solid var(--line); border-radius: 1rem; background: var(--teal-mist); box-shadow: 0 1.25rem 3rem rgba(10,38,71,.1); }
.services-overview__image,
.hospital-network-overview__image { display: block; width: 100%; height: 100%; min-height: 20rem; object-fit: cover; transition: transform .65s cubic-bezier(.22,.8,.28,1); }
.services-overview__visual:hover .services-overview__image,
.hospital-network-overview__visual:hover .hospital-network-overview__image { transform: scale(1.035); }
.services-modules { background: var(--teal-soft); }
.services-modules > .container > .section-title,
.hospital-network-details > .container > .section-title { max-width: 30ch; }
.services-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.2rem; }
.services-module { display: flex; flex-direction: column; min-height: 100%; padding: 0 1.35rem 1.5rem; }
.services-module:nth-child(3n + 2) { border-color: var(--gold-line); background: #fcf8ed; }
.services-module__visual { overflow: hidden; height: 10.5rem; margin: 0 -1.35rem 1.25rem; background: var(--teal-mist); }
.services-module__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,.8,.28,1); }
.services-module:hover .services-module__image,
.services-module:focus-within .services-module__image { transform: scale(1.05); }
.services-module .card__meta { margin-bottom: .35rem; color: var(--gold-deep); }
.services-module h3 { margin-bottom: .5rem; font-size: clamp(1.2rem, 1.7vw, 1.5rem); }
.services-module__body { margin-top: auto; color: var(--muted); line-height: 1.62; }
.services-module__body p { margin: 0; }
.services-addons { display: grid; grid-template-columns: minmax(12rem, .55fr) minmax(0, 1fr); gap: 2rem; align-items: center; margin-top: 1.25rem; padding: 1.4rem 1.6rem; border: 1px solid var(--gold-line); border-radius: 1rem; background: var(--gold-soft); }
.services-addons .eyebrow { margin: 0 0 .35rem; color: var(--gold-deep); }
.services-addons h2 { margin: 0; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.2vw, 1.8rem); font-weight: 550; line-height: 1.25; }
.services-addons__body { color: var(--ink); }
.services-addons__body p { margin: 0; }
.services-cta,
.hospital-network-cta { border-top: 1px solid var(--gold-line); background: var(--gold-soft); }
.services-cta__inner,
.hospital-network-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; }
.services-cta__inner .section-title,
.hospital-network-cta__inner .section-title { max-width: 30ch; margin-bottom: 0; }
.hospital-network-overview { background: var(--white); }
.hospital-network-details { background: var(--teal-soft); }
.hospital-network-details__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; margin-top: 2rem; }
.hospital-network-details__body { max-width: 68ch; color: var(--muted); }
.hospital-network-details__body p { margin: 0 0 .9rem; }
.hospital-network-details__body p:last-child { margin-bottom: 0; }
.hospital-network-choice { padding: 1.5rem; border: 1px solid var(--gold-line); border-radius: 1rem; background: var(--gold-soft); box-shadow: 0 .75rem 2rem rgba(16,51,93,.06); }
.hospital-network-choice .card__meta { margin: 0 0 .35rem; color: var(--gold-deep); }
.hospital-network-choice h3 { margin: 0 0 .65rem; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 550; line-height: 1.25; }
.hospital-network-choice p { margin: 0; color: var(--ink); }
.hospital-network-cta__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; }

/* Process pages present approved English journey steps as a clear pathway. */
.process-hero { border-bottom: 1px solid rgba(10,38,71,.2); }
.process-hero__inner { max-width: 78rem; }
.process-hero .page-title { max-width: 32ch; }
.process-hero .section-intro { max-width: 72ch; font-size: var(--text-body-lg); }
.process-pathway { background: var(--teal-soft); }
.process-pathway__heading { display: grid; grid-template-columns: minmax(10rem, .35fr) minmax(0, 1fr); gap: 2rem; align-items: end; }
.process-pathway__heading .eyebrow { margin: 0 0 .35rem; }
.process-pathway__heading .section-title { max-width: 30ch; margin: 0; }
.process-pathway__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.process-step { position: relative; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.2rem; min-height: 15rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.92); padding: 1.55rem; box-shadow: 0 .8rem 2rem rgba(16,51,93,.06); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.process-step::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--teal); }
.process-step:hover { border-color: rgba(43,111,159,.38); box-shadow: 0 1.1rem 2.6rem rgba(16,51,93,.1); transform: translateY(-3px); }
.process-step:nth-child(3n) { border-color: var(--gold-line); }
.process-step:nth-child(3n)::before { background: var(--gold); }
.process-step__number { display: grid; place-items: center; align-self: start; width: 3.6rem; aspect-ratio: 1; border: 1px solid rgba(43,111,159,.24); border-radius: 50%; background: var(--teal-soft); color: var(--teal-deep); font-size: .86rem; font-weight: 750; letter-spacing: .08em; }
.process-step:nth-child(3n) .process-step__number { border-color: var(--gold-line); background: var(--gold-soft); color: var(--gold-deep); }
.process-step__content { min-width: 0; }
.process-step__content h3 { margin: 0; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.25rem, 1.8vw, 1.55rem); font-weight: 550; line-height: 1.22; }
.process-step__content > p { margin: .8rem 0 0; color: var(--muted); line-height: 1.6; }
.process-step__content > p:first-of-type { margin-top: .8rem; }
.process-step__note { padding-left: .8rem; border-left: 2px solid var(--gold); color: var(--gold-deep) !important; font-size: .92rem; }
.process-step__items { display: grid; gap: .55rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.process-step__items li { position: relative; padding-left: 1rem; color: var(--muted); font-size: .92rem; line-height: 1.55; overflow-wrap: anywhere; }
.process-step__items li::before { position: absolute; top: .62em; left: .08rem; width: .36rem; height: .36rem; border-radius: 50%; background: var(--teal); content: ""; }
.process-step__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.05rem; }
.process-step__group { min-width: 0; padding: .85rem .9rem; border: 1px solid var(--line); border-radius: .7rem; background: rgba(255,255,255,.72); }
.process-step__group h4 { margin: 0; color: var(--navy); font-size: .92rem; font-weight: 750; line-height: 1.35; }
.process-step__group .process-step__items { gap: .48rem; margin-top: .7rem; }
.process-step__group .process-step__items li { font-size: .85rem; }
.process-disclaimer { background: var(--navy); color: var(--footer-copy); }
.process-disclaimer__inner { max-width: 74rem; padding: clamp(1.8rem, 4vw, 3rem) clamp(1.4rem, 4vw, 3.5rem); border: 1px solid rgba(228,209,169,.42); border-radius: 1rem; background: rgba(255,255,255,.04); }
.process-disclaimer .eyebrow { color: var(--gold); }
.process-disclaimer .section-title { margin: .35rem 0 .8rem; color: var(--white); }
.process-disclaimer__inner > p:last-child { max-width: 86ch; margin: 0; color: var(--footer-copy); line-height: 1.7; }
.process-value { position: relative; overflow: hidden; padding-block: clamp(4.5rem, 7vw, 7rem); border-block: 1px solid rgba(143,195,211,.24); background: var(--navy); color: var(--footer-copy); }
.process-value::before,
.process-value::after { content: ""; position: absolute; z-index: 0; border: 1px solid rgba(143,195,211,.12); border-radius: 50%; pointer-events: none; }
.process-value::before { top: -12rem; right: -7rem; width: 30rem; height: 30rem; }
.process-value::after { right: 5rem; bottom: -18rem; width: 36rem; height: 36rem; border-color: rgba(216,184,124,.1); }
.process-value__backdrop { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.process-value__backdrop span { position: absolute; left: -6%; width: 112%; height: 1px; background: rgba(203,217,227,.08); transform-origin: left center; }
.process-value__backdrop span:nth-child(1) { top: 24%; transform: rotate(4deg); }
.process-value__backdrop span:nth-child(2) { top: 56%; transform: rotate(-3deg); }
.process-value__backdrop span:nth-child(3) { top: 82%; background: rgba(216,184,124,.09); transform: rotate(2deg); }
.process-value > .container { position: relative; z-index: 1; }
.process-value__inner { position: relative; display: grid; grid-template-columns: minmax(12rem, .42fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: stretch; max-width: 76rem; padding-block: clamp(1.8rem, 4vw, 3.4rem); border-block: 1px solid rgba(228,209,169,.38); }
.process-value__inner::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(27.6% + clamp(1.5rem, 3.5vw, 3.5rem)); width: 1px; background: rgba(203,217,227,.16); pointer-events: none; }
.process-value__identity { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; }
.process-value .eyebrow { margin: 0 0 .7rem; color: var(--gold); }
.process-value .section-title { max-width: none; margin: 0; color: var(--white); font-size: clamp(2.4rem, 4vw, 4.25rem); line-height: 1.02; }
.process-value__index { margin-top: auto; padding-top: clamp(2.5rem, 6vw, 5.5rem); color: rgba(203,217,227,.22); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(4rem, 8vw, 7.5rem); font-weight: 500; line-height: .72; }
.process-value__content { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; gap: clamp(2.5rem, 5vw, 4rem); }
.process-value__statement { max-width: 29ch; margin: 0; color: var(--white); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.55rem, 2.75vw, 2.75rem); font-weight: 450; line-height: 1.27; text-wrap: balance; }
.process-value__statement::before { content: ""; display: block; width: 3.25rem; height: 3px; margin-bottom: 1.15rem; background: var(--gold); }
.process-value__map { display: grid; grid-template-columns: auto minmax(8rem, 1fr) auto; gap: clamp(.9rem, 2.4vw, 1.8rem); align-items: center; padding-top: 1.35rem; border-top: 1px solid rgba(203,217,227,.2); }
.process-value__barriers { display: grid; gap: .6rem; }
.process-value__barriers span,
.process-value__destination { color: var(--footer-copy); font-size: .72rem; font-weight: 750; letter-spacing: .13em; line-height: 1.2; text-transform: uppercase; }
.process-value__barriers span { display: block; padding: .5rem .65rem; border: 1px solid rgba(203,217,227,.25); border-radius: .3rem; background: rgba(255,255,255,.035); }
.process-value__route-map { display: block; width: 100%; height: 5.9rem; overflow: visible; }
.process-value__route { fill: none; stroke: var(--teal-light); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; vector-effect: non-scaling-stroke; }
.process-value__route--clear { stroke: var(--gold); stroke-width: 2.6; }
.process-value__route-node { fill: var(--navy); stroke: var(--teal-light); stroke-width: 2; transform-box: fill-box; transform-origin: center; vector-effect: non-scaling-stroke; }
.process-value__route-node--merge,
.process-value__route-node--end { stroke: var(--gold); }
.process-value__destination { display: inline-flex; gap: .6rem; align-items: center; color: var(--gold); white-space: nowrap; }
.process-value__destination-dot { width: .7rem; height: .7rem; border: 2px solid var(--gold); border-radius: 50%; box-shadow: 0 0 0 .3rem rgba(216,184,124,.12); }
.js-ready .process-value__map .process-value__route { stroke-dasharray: 1; stroke-dashoffset: 1; }
.js-ready .process-value__map.is-visible .process-value__route { animation: process-value-route-draw 1.2s cubic-bezier(.22,.8,.28,1) forwards; }
.js-ready .process-value__map.is-visible .process-value__route--lower { animation-delay: .12s; }
.js-ready .process-value__map.is-visible .process-value__route--clear { animation-delay: .58s; }
.js-ready .process-value__map.is-visible .process-value__route-node { animation: process-value-node-arrive .5s ease .8s both; }
.js-ready .process-value__map.is-visible .process-value__route-node--merge { animation-delay: 1.05s; }
.js-ready .process-value__map.is-visible .process-value__route-node--end { animation-delay: 1.45s; }
@keyframes process-value-route-draw { to { stroke-dashoffset: 0; } }
@keyframes process-value-node-arrive { from { opacity: 0; transform: scale(.35); } to { opacity: 1; transform: scale(1); } }
.process-cta { position: relative; overflow: hidden; border-top: 1px solid var(--gold-line); background: var(--gold-soft); }
.process-cta::before {
    content: "";
    position: absolute;
    top: -1px;
    left: clamp(-12rem, -16vw, -7rem);
    z-index: 1;
    width: clamp(7rem, 16vw, 12rem);
    height: 3px;
    background: #8fc3d3;
    box-shadow: 0 0 .55rem .18rem rgba(143,195,211,.86), 0 0 1.4rem .35rem rgba(143,195,211,.38);
    pointer-events: none;
    will-change: transform;
    animation: process-cta-line-glow 3.4s linear infinite;
}
@keyframes process-cta-line-glow {
    from { transform: translateX(0); }
    to { transform: translateX(calc(100vw + 24rem)); }
}
.process-cta__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; }
.process-cta__inner .section-title { max-width: 42ch; margin-bottom: 0; }

/* About page content turns the source brief into a readable company story. */
.about-hero { border-bottom: 1px solid rgba(10,38,71,.2); }
.about-hero__copy { max-width: 42rem; }
.about-customer-intro__grid,
.about-customer-why__grid,
.about-customer-profile__overview,
.about-customer-network__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
}
.about-customer-intro__tagline {
    max-width: 38rem;
    margin: 0 0 1.4rem;
    color: var(--gold-deep);
    font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 1.8vw, 1.5rem);
    line-height: 1.4;
}
.about-customer-intro__visual,
.about-customer-profile__visual,
.about-customer-network__visual {
    overflow: hidden;
    margin: 0;
    border-radius: 1rem;
    background: var(--teal-mist);
}
.about-customer-intro__visual { aspect-ratio: 16 / 10; }
.about-customer-profile__visual,
.about-customer-network__visual { aspect-ratio: 16 / 11; }
.about-customer-intro__image,
.about-customer-profile__image,
.about-customer-network__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.22,.8,.28,1);
}
.about-customer-intro__visual:hover .about-customer-intro__image,
.about-customer-profile__visual:hover .about-customer-profile__image,
.about-customer-network__visual:hover .about-customer-network__image { transform: scale(1.035); }
.about-customer-intro__copy {
    max-width: 46rem;
    padding-left: clamp(1.2rem, 3vw, 2.5rem);
    border-left: 1px solid var(--gold-line);
}
.about-customer-intro__copy p:first-child { color: var(--navy); font-size: var(--text-body-lg); }
.about-customer-intro__copy p:last-child { margin-bottom: 0; }
.about-customer-principles__grid,
.about-customer-capabilities__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-customer-principle,
.about-customer-capability { display: flex; min-height: 100%; flex-direction: column; }
.about-customer-principle:nth-child(2),
.about-customer-capability:nth-child(2) { border-color: var(--gold-line); background: var(--gold-soft); }
.about-customer-principle:nth-child(4),
.about-customer-capability:nth-child(4) { background: #f2f5f8; }
.about-customer-principle__lead {
    margin: .25rem 0 .75rem;
    color: var(--teal-deep);
    font-weight: 700;
    line-height: 1.45;
}
.about-customer-principle > p:last-child,
.about-customer-capability > p:last-child { margin-top: auto; color: var(--muted); }
.about-customer-points,
.about-customer-values {
    display: grid;
    gap: .85rem;
    margin: 1.6rem 0 0;
    padding: 0;
    list-style: none;
}
.about-customer-points li,
.about-customer-values li {
    position: relative;
    padding: 1rem 1rem 1rem 2.2rem;
    border: 1px solid var(--line);
    border-radius: .7rem;
    background: var(--white);
}
.about-customer-points li::before,
.about-customer-values li::before {
    content: "";
    position: absolute;
    top: 1.42rem;
    left: .9rem;
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 .22rem rgba(216,184,124,.14);
}
.about-latest-why__intro,
.about-foundation__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: end;
}
.about-latest-why__intro .section-intro { max-width: 42rem; margin: 0; }
.about-latest-why__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 2rem 0 1.5rem;
}
.about-latest-why__stat {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--gold-line);
    border-radius: .8rem;
    background: var(--white);
}
.about-latest-why__stat strong {
    display: block;
    color: var(--gold-deep);
    font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.2vw, 3rem);
    font-weight: 500;
    line-height: 1;
}
.about-latest-why__stat span { margin-top: .55rem; color: var(--muted); line-height: 1.45; }
.about-latest-why__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.about-latest-why__card { display: flex; min-height: 100%; flex-direction: column; }
.about-latest-why__card:nth-child(2) { border-color: var(--gold-line); background: var(--gold-soft); }
.about-latest-why__card p:last-child { margin-top: auto; color: var(--muted); }
.about-latest-why__note {
    margin: 1.5rem 0 0;
    padding: 1rem 1.15rem;
    border-left: 3px solid var(--gold);
    background: var(--white);
    color: var(--ink);
}
.about-foundation { background: var(--teal-soft); }
.about-foundation__grid { align-items: start; }
.about-foundation__copy { max-width: 52rem; }
.about-foundation__copy p:first-child { color: var(--navy); font-size: var(--text-body-lg); }
.about-foundation__copy p:last-child { margin-bottom: 0; }
.about-customer-closing {
    position: relative;
    overflow: hidden;
    padding: clamp(1.8rem, 4vw, 3rem);
    border: 1px solid rgba(43,111,159,.35);
    border-radius: 1rem;
    background: var(--teal-deep);
    color: var(--white);
}
.about-customer-closing::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--gold);
}
.about-customer-closing__mark {
    margin: 0 0 1.25rem;
    color: var(--gold-soft);
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.about-customer-closing p:not(.about-customer-closing__mark) { color: rgba(255,255,255,.9); }
.about-customer-closing p:first-of-type + p { font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: 1.35rem; line-height: 1.45; }
.about-customer-closing p:last-child { margin-bottom: 0; color: var(--gold-soft); font-weight: 750; }
.about-customer-profile__overview { align-items: center; }
.about-customer-who {
    display: grid;
    grid-template-columns: minmax(12rem, .35fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    margin-top: clamp(2.5rem, 6vw, 5rem);
    padding-top: clamp(2rem, 4vw, 3.5rem);
    border-top: 1px solid var(--line);
}
.about-customer-who > h3,
.about-customer-purpose__heading > h3 {
    margin: 0;
    color: var(--navy);
    font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    font-weight: 500;
}
.about-customer-who__copy { max-width: 55rem; }
.about-customer-who__copy p:first-child { color: var(--navy); font-size: var(--text-body-lg); }
.about-customer-purpose__heading,
.about-customer-purpose__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 6rem);
}
.about-customer-purpose__heading { align-items: end; }
.about-customer-purpose__grid { margin-top: 2rem; align-items: start; }
.about-customer-mission-grid { display: grid; gap: 1rem; }
.about-customer-purpose__statement {
    padding: 1.35rem;
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: var(--teal-soft);
}
.about-customer-purpose__statement:nth-child(2) { border-color: var(--gold-line); background: var(--gold-soft); }
.about-customer-purpose__statement h3 { margin: 0 0 .5rem; color: var(--navy); }
.about-customer-purpose__statement p:last-child { margin-bottom: 0; }
.about-customer-values { margin-top: 0; }
.about-customer-network__grid { align-items: center; }
.about-customer-network__note {
    margin-top: 1.4rem;
    padding: 1rem 1.15rem;
    border-left: 3px solid var(--gold);
    background: var(--gold-soft);
    color: var(--ink);
}
.about-customer-scope { border-top: 1px solid var(--gold-line); background: var(--gold-soft); }
.about-customer-scope__inner { max-width: 68rem; }
.about-customer-scope__copy {
    margin-top: 1.5rem;
    padding: clamp(1.5rem, 3vw, 2.4rem);
    border: 1px solid var(--gold-line);
    border-radius: 1rem;
    background: var(--white);
}
.about-customer-scope__copy p:first-child { color: var(--navy); font-size: var(--text-body-lg); font-weight: 650; }
.about-customer-scope__copy p:last-child { margin-bottom: 0; }
.about-customer-scope__copy a { color: var(--gold-deep); font-weight: 750; }
.about-overview__grid,
.about-network__grid,
.about-contact__inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(16rem, .85fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.about-overview__aside { border-top: 1px solid var(--line); padding-top: 1rem; }
.about-overview__index { margin: 0 0 1.1rem; color: var(--teal); font-size: .8rem; font-weight: 700; letter-spacing: .12em; }
.about-overview__aside h3 { margin: 0; color: var(--navy); font-family: "Source Serif 4", Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 500; line-height: 1.2; }
.about-overview__aside p { max-width: none; color: var(--muted); }
.about-overview__visual,
.about-network__visual { overflow: hidden; margin: 1.25rem 0 0; border-radius: .85rem; background: var(--teal-mist); }
.about-overview__visual { height: 300px; }
.about-network__visual { aspect-ratio: 16 / 9; }
.about-overview__image,
.about-network__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22,.8,.28,1); }
.about-overview__visual:hover .about-overview__image,
.about-network__visual:hover .about-network__image { transform: scale(1.035); }
.about-page .section-title { max-width: 26ch; }
.about-principles__grid,
.about-cycle__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.about-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.about-principles__grid .card,
.about-services__grid .card,
.about-cycle__grid .card { display: flex; flex-direction: column; }
.about-service-card__visual { overflow: hidden; margin: -1.4rem -1.4rem 1rem; border-radius: 1rem 1rem 0 0; background: var(--teal-mist); }
.about-service-card__image { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .65s cubic-bezier(.22,.8,.28,1); }
.about-services__grid .card:hover .about-service-card__image,
.about-services__grid .card:focus-within .about-service-card__image { transform: scale(1.035); }
.about-services__note { background: var(--teal-soft); border-color: var(--line); }
.about-principles__grid .card:nth-child(1) { background: #eef5f7; border-color: #d6e4e8; }
.about-principles__grid .card:nth-child(2) { background: var(--gold-soft); border-color: var(--gold-line); }
.about-principles__grid .card:nth-child(3) { background: #f1f4f8; border-color: #d7e0eb; }
.about-services { background: var(--white); }
.about-services__grid .text-link { margin-top: auto; padding-top: 1rem; font-weight: 700; }
.about-network { background: var(--teal-soft); }
.about-network__grid > div:first-child { min-width: 0; }
.about-network__grid > div:last-child { max-width: 48rem; }
.about-cycle { background: var(--paper); }
.about-cycle__visual { overflow: hidden; margin: 1.5rem 0 2rem; aspect-ratio: 16 / 6; border-radius: 1rem; background: var(--teal-mist); }
.about-cycle__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22,.8,.28,1); }
.about-cycle__visual:hover .about-cycle__image { transform: scale(1.025); }
.about-cycle__grid .card { min-height: 100%; }
.about-cycle__link { margin-top: 1.5rem; }
.about-contact { border-top: 1px solid var(--gold-line); background: var(--gold-soft); }
.about-contact__inner .section-title { max-width: 20ch; }
.about-contact__inner > div:last-child { max-width: 34ch; }
.about-contact__inner .button { margin-top: .75rem; }
@media (max-width: 1000px) {
    .about-services__grid,
    .about-customer-principles__grid,
    .about-customer-capabilities__grid,
    .about-latest-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1001px) {
    .about-cycle > .container > .section-title { max-width: none; white-space: nowrap; }
}
@media (max-width: 768px) {
    .about-overview__grid,
    .about-network__grid,
    .about-contact__inner,
    .about-customer-intro__grid,
    .about-customer-why__grid,
    .about-customer-profile__overview,
    .about-customer-network__grid,
    .about-customer-who,
    .about-customer-purpose__heading,
    .about-customer-purpose__grid,
    .about-principles__grid,
    .about-services__grid,
    .about-cycle__grid,
    .about-customer-principles__grid,
    .about-customer-capabilities__grid,
    .about-latest-why__intro,
    .about-latest-why__stats,
    .about-latest-why__grid,
    .about-foundation__grid { grid-template-columns: 1fr; }
    .about-page .section-title { max-width: none; }
    .about-customer-intro__copy { padding: 1.4rem 0 0; border-top: 1px solid var(--gold-line); border-left: 0; }
    .about-overview__visual { height: 260px; }
    .about-cycle__visual { aspect-ratio: 4 / 3; }
}

@media (max-width: 900px) {
    .services-overview__grid,
    .hospital-network-overview__grid,
    .hospital-network-details__grid { grid-template-columns: 1fr; }
    .services-overview__visual,
    .hospital-network-overview__visual { min-height: 18rem; }
    .process-pathway__heading,
    .process-pathway__grid { grid-template-columns: 1fr; }
    .process-pathway__heading { gap: .5rem; }
    .process-value__inner { grid-template-columns: 1fr; gap: 2.25rem; }
    .process-value__inner::before { display: none; }
    .process-value__identity { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1.5rem; align-items: end; }
    .process-value__identity .eyebrow { grid-column: 1 / -1; }
    .process-value__index { grid-column: 2; grid-row: 2; margin: 0; padding: 0; font-size: clamp(3.2rem, 12vw, 5.5rem); }
}

@media (max-width: 768px) {
    .services-module-grid { grid-template-columns: 1fr; }
    .services-addons,
    .services-cta__inner,
    .hospital-network-cta__inner { grid-template-columns: 1fr; }
    .hospital-network-cta__actions { justify-content: flex-start; }
    .process-cta__inner { grid-template-columns: 1fr; }
    .process-step { grid-template-columns: 3.25rem minmax(0, 1fr); gap: .9rem; min-height: 0; padding: 1.15rem; }
    .process-step__number { width: 3rem; }
    .process-step__groups { grid-template-columns: 1fr; }
    .process-disclaimer__inner { padding: 1.4rem; }
    .process-value { padding-block: 3.5rem; }
    .process-value__inner { padding-block: 1.35rem; }
    .process-value__map { grid-template-columns: minmax(5.6rem, auto) minmax(4.5rem, 1fr) auto; gap: .65rem; }
    .process-value__barriers span,
    .process-value__destination { font-size: .62rem; letter-spacing: .08em; }
    .process-value__barriers span { padding: .42rem .48rem; }
    .process-value__route-map { height: 4.8rem; }
    .process-value__destination { white-space: normal; }
    .process-cta__inner .button { justify-self: start; }
}

/* Progressive enhancement layer: the base grid and content remain fully usable without JavaScript. */
.scroll-progress {
    display: none;
    position: fixed;
    inset: 0 0 auto;
    z-index: 30;
    height: 3px;
    pointer-events: none;
}
.js-ready .scroll-progress { display: block; }
.scroll-progress span {
    position: fixed;
    inset: 0 auto auto 0;
    display: block;
    width: 100%;
    height: 3px;
    background: var(--teal);
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

/* Swiper rails keep a no-JS grid fallback while the enhanced view clips the track. */
.home-swiper {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.home-swiper .card-grid.swiper-wrapper {
    margin-top: 2.25rem;
}
.home-swiper .swiper-slide {
    min-width: 0;
}
.home-swiper > .swiper-button-prev,
.home-swiper > .swiper-button-next {
    display: none;
    position: absolute;
    top: calc(50% + 1.1rem);
    z-index: 4;
    width: 2.9rem;
    height: 2.9rem;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--white);
    color: var(--navy);
    box-shadow: 0 .7rem 1.5rem rgba(10,38,71,.12);
    transform: translateY(-50%);
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.home-swiper > .swiper-button-prev { left: .45rem; }
.home-swiper > .swiper-button-next { right: .45rem; }
.home-swiper > .swiper-button-prev::after,
.home-swiper > .swiper-button-next::after { content: none; }
.js-ready .home-swiper.is-swiper-ready > .swiper-button-prev,
.js-ready .home-swiper.is-swiper-ready > .swiper-button-next { display: grid; place-items: center; }
.js-ready .home-swiper.is-swiper-ready > .swiper-button-disabled { display: none; }
.js-ready .home-swiper.is-swiper-ready > .swiper-button-prev:hover,
.js-ready .home-swiper.is-swiper-ready > .swiper-button-prev:focus-visible,
.js-ready .home-swiper.is-swiper-ready > .swiper-button-next:hover,
.js-ready .home-swiper.is-swiper-ready > .swiper-button-next:focus-visible {
    border-color: var(--teal);
    background: var(--teal);
    color: var(--white);
    transform: translateY(-50%) scale(1.04);
}
.js-ready .home-swiper.is-swiper-ready .card-grid.swiper-wrapper {
    display: flex;
    grid-template-columns: none;
    gap: 0;
    align-items: stretch;
}
.js-ready .home-swiper.is-swiper-ready .swiper-slide {
    display: flex;
    height: auto;
}
.js-ready .home-swiper.is-swiper-ready .swiper-slide.card {
    flex-direction: column;
}
.js-ready .home-swiper.is-swiper-ready .swiper-slide.card > .text-link { margin-top: auto; }

/* Reveal is gated by .js-ready so a slow or unavailable script never hides content. */
.js-ready [data-motion] {
    opacity: 0;
    transform: translate3d(0, 2.1rem, 0) scale(.96);
    transition: opacity var(--motion-duration, .8s) ease, transform var(--motion-duration, .8s) cubic-bezier(.22, .8, .28, 1), box-shadow .25s ease;
    transition-delay: var(--motion-delay, 0ms);
}
.js-ready [data-motion].is-visible {
    opacity: 1;
    transform: none;
}
.js-ready [data-motion].is-visible.card:hover,
.js-ready [data-motion].is-visible.card:focus-within {
    transform: translateY(-3px);
}

/* Fine-pointer feedback uses lift, shadow, border, and color changes without text gradients. */
@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .js-ready .card,
    .js-ready .hero__media {
        position: relative;
        transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .js-ready .card:hover,
    .js-ready .card:focus-within,
    .js-ready .hero__media:hover,
    .js-ready .hero__media:focus-within {
        border-color: rgba(43,111,159,.55);
        box-shadow: 0 1rem 2.5rem rgba(10,38,71,.12);
        transform: translateY(-3px);
    }
    .js-ready a {
        display: inline-block;
        border-radius: .4rem;
        transition: color .2s ease, transform .2s ease;
    }
    .js-ready a.brand { display: inline-flex; }
    .js-ready a:hover,
    .js-ready a:focus-visible { transform: translateY(-1px); }
    .js-ready .button,
    .js-ready .primary-nav a,
    .js-ready .text-link,
    .js-ready .section a:not(.button) {
        display: inline-block;
        border-radius: .4rem;
        transition: color .2s ease, background-color .2s ease, transform .2s ease;
    }
    .js-ready .button { display: inline-flex; }
    .js-ready .button:hover,
    .js-ready .button:focus-visible,
    .js-ready .primary-nav a:hover,
    .js-ready .primary-nav a:focus-visible,
    .js-ready .text-link:hover,
    .js-ready .text-link:focus-visible,
    .js-ready .section a:not(.button):hover,
    .js-ready .section a:not(.button):focus-visible { transform: translateY(-2px); }
}
.card img,
.hero__media img {
    transition: transform .45s cubic-bezier(.22, .8, .28, 1);
}
.card:hover img,
.card:focus-within img,
.hero__media:hover img,
.hero__media:focus-within img { transform: scale(1.04); }
a:hover,
a:focus-visible { color: var(--teal); }
.card a:not(.button),
.section a:not(.button) { transition: color .2s ease, text-decoration-color .2s ease; }

/* Homepage content rhythm and card hierarchy. */
.home-care-areas,
.home-featured-services,
.home-journey,
.home-principles,
.home-cta { position: relative; overflow: hidden; }
.home-care-areas > .container,
.home-featured-services > .container,
.home-journey > .container,
.home-principles > .container,
.home-cta > .container { position: relative; z-index: 1; }
.home-care-areas .section-title,
.home-featured-services .section-title,
.home-journey .section-title,
.home-principles .section-title { max-width: 18ch; }
.home-principles .section-title { max-width: none; }
.home-care-areas .card-grid,
.home-featured-services .card-grid,
.home-journey .card-grid,
.home-principles .card-grid { margin-top: 2.25rem; }
.category-card,
.journey-card { min-height: 100%; }
.category-card { display: flex; flex-direction: column; }
.category-card h3 { font-size: clamp(1.2rem, 1.8vw, 1.65rem); }
.category-card .text-link { margin-top: auto; padding-top: 1rem; font-weight: 700; }
.journey-card { position: relative; padding-top: 1.65rem; }
.journey-card__number {
    margin: 0 0 1.1rem;
    color: var(--teal);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
}
.home-care-areas__fallback,
.home-featured-services__fallback,
.home-journey__fallback,
.home-principles__fallback { max-width: 70ch; margin-top: 1.5rem; }
.home-journey .journey-card { background: rgba(255,255,255,.76); }
.home-principles .card { background: var(--white); }
.home-care-areas__intro,
.home-journey__intro { max-width: 66ch; }
.home-principles__intro,
.home-clinical-network__intro { max-width: 78ch; }
.home-care-areas__backdrop,
.home-journey__backdrop,
.home-cta__backdrop {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.home-care-areas__backdrop {
    top: 0;
    right: 0;
    bottom: 0;
    width: min(46%, 44rem);
    opacity: .16;
}
.home-care-areas__backdrop-image,
.home-journey__backdrop-image,
.home-cta__backdrop-image { width: 100%; height: 100%; object-fit: cover; }
.home-journey__backdrop { inset: 0; opacity: .14; }
.home-journey .journey-card { background: rgba(255,255,255,.9); }
.home-featured-services__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(14rem, .75fr);
    gap: 2rem;
    align-items: end;
    max-width: 70rem;
}
.home-featured-services__note {
    margin: 0;
    color: var(--muted);
    font-size: .95rem;
}
.home-featured-services__visual-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 2rem;
    margin-top: 3rem;
    margin-bottom: 3.5rem;
}
.home-featured-services__visual-row figure { margin: 0; }
.home-featured-services__visual-row figure { transition: transform .25s ease; }
.home-featured-services__visual-row figure:hover { transform: translateY(-3px); }
.home-featured-services__visual-row img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: .85rem;
    object-fit: cover;
}
.home-featured-services__visual-row figcaption {
    margin-top: .55rem;
    color: var(--muted);
    font-size: .85rem;
    font-weight: 650;
    letter-spacing: .03em;
}
.home-cta { background: var(--teal); }
.home-cta__backdrop { inset: 0; opacity: .12; mix-blend-mode: screen; }
.home-cta > .container { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(14rem, .8fr); column-gap: clamp(2rem, 8vw, 7rem); align-items: start; max-width: 72rem; }
.home-cta__heading,
.home-cta__intro { grid-column: 1; }
.home-cta__note { grid-column: 2; grid-row: 1 / span 2; max-width: 30ch; margin: .35rem 0 0; color: rgba(255,255,255,.82); font-size: var(--text-body-lg); }
.home-cta .section-title { max-width: 18ch; }
.home-cta .section-title { color: var(--white); }
.home-cta .section-intro { color: rgba(255,255,255,.84); }
.home-cta__points {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem 1.5rem;
    max-width: 62rem;
    margin: 1.5rem 0 2rem;
    padding: 0;
    list-style: none;
}
.home-cta > .container > .button {
    grid-column: 1;
    border-color: var(--gold);
    background: var(--gold);
    color: var(--navy);
    box-shadow: 0 .8rem 1.8rem rgba(16,51,93,.2);
}
.home-cta > .container > .button:hover,
.home-cta > .container > .button:focus-visible { border-color: var(--gold-soft); background: var(--gold-soft); color: var(--navy); }
.home-cta__points li {
    border-top: 1px solid rgba(255,255,255,.28);
    padding-top: .65rem;
    color: rgba(255,255,255,.88);
    font-size: .95rem;
}
.home-journey .journey-card:nth-child(2) { border-color: var(--gold-line); box-shadow: inset 0 3px 0 var(--gold); }
.home-journey .journey-card:nth-child(2) .journey-card__number { color: var(--gold-deep); }
.home-principles .card,
.home-clinical-network .card {
    background: var(--teal-soft);
    border-color: var(--line);
}
.home-principles .card:nth-child(2),
.home-clinical-network .card:nth-child(2) {
    background: var(--gold-soft);
    border-color: var(--gold-line);
}
.home-principles .card:nth-child(3),
.home-clinical-network .card:nth-child(3) {
    background: #f1f6f7;
    border-color: var(--line);
}

@media (max-width: 1000px) {
    .home-principles .section-title { white-space: normal; }
    .home-cta > .container { grid-template-columns: 1fr; }
    .home-cta__heading,
    .home-cta__intro,
    .home-cta__note,
    .home-cta__points,
    .home-cta > .container > .button { grid-column: 1; }
    .home-cta__note { grid-row: auto; margin: 0; }
}

@media (max-width: 768px) {
    .home-care-areas .card-grid,
    .home-featured-services .card-grid,
    .home-journey .card-grid,
    .home-principles .card-grid { margin-top: 1.5rem; }
    .home-swiper .card-grid.swiper-wrapper { margin-top: 1.5rem; }
    .home-swiper > .swiper-button-prev,
    .home-swiper > .swiper-button-next { top: calc(50% + .75rem); }
    .home-featured-services__intro,
    .home-cta__points { grid-template-columns: 1fr; }
    .home-featured-services__visual-row { grid-template-columns: 1fr; }
    .home-featured-services__visual-row img { aspect-ratio: 3 / 2; }
    .home-care-areas__backdrop { width: 72%; opacity: .12; }
}
@media (min-width: 1001px) { .home-principles .section-title { white-space: nowrap; } }

@media (prefers-reduced-motion: reduce) {
    .process-cta::before { left: 0; width: 100%; box-shadow: none; transform: none; animation: none; }
    .js-ready .process-value__map .process-value__route { stroke-dashoffset: 0; animation: none; }
    .js-ready .process-value__map .process-value__route-node { opacity: 1; transform: none; animation: none; }
    .patient-support-module-nav a:hover,
    .patient-support-module-nav a:focus-visible,
    .patient-support-questionnaire__rail a:hover,
    .patient-support-questionnaire__rail a:focus-visible { transform: none; }
    .process-step { transition: none; }
    .process-step:hover { transform: none; }
    .policy-card:hover,
    .policy-page__rail li a:hover { transform: none; }
    .js-ready .hero__copy-slide [data-hero-line],
    .js-ready .hero__copy-slide.is-active [data-hero-line] {
        opacity: 1;
        transform: none;
        animation: none;
    }
    .js-ready .hero__copy-slide,
    .js-ready .hero__copy-slide.is-active {
        transition: none;
    }
    .js-ready [data-motion],
    .js-ready [data-motion].is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .card:hover,
    .card:focus-within { transform: none; }
    .js-ready [data-motion].is-visible.card:hover,
    .js-ready [data-motion].is-visible.card:focus-within { transform: none; }
    .card:hover img,
    .card:focus-within img,
    .home-featured-services__visual-row figure:hover,
    .hero__media:hover img,
    .hero__media:focus-within img { transform: none; }
    .js-ready .button:hover,
    .js-ready .button:focus-visible,
    .js-ready .primary-nav a:hover,
    .js-ready .primary-nav a:focus-visible,
    .js-ready .text-link:hover,
    .js-ready .text-link:focus-visible,
    .js-ready .section a:not(.button):hover,
    .js-ready .section a:not(.button):focus-visible { transform: none; }
}

/* Medical service categories use compact image-led banners and source-derived pathways. */
.service-category-hero {
    min-height: 31rem;
    padding: 5rem 0;
    background-position: center;
}
.service-category-hero::before { background: rgba(10,38,71,.12); }
.service-category-hero::after {
    width: 68%;
    background: rgba(10,38,71,.91);
    clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%);
}
.service-category-hero--functional-medicine-health-management { background-position: center 42%; }
.service-category-hero--specialty-medical-treatment-services { background-position: center 38%; }
.service-category-hero--medical-value-added-support-services { background-position: center 34%; }
.service-category-hero__copy {
    display: grid;
    gap: 1rem;
    max-width: min(42rem, 54%);
}
.service-category-hero__copy .eyebrow {
    margin: 0;
    letter-spacing: 0;
}
.service-category-hero .page-title {
    max-width: 16ch;
    margin: 0;
    font-size: 3.75rem;
    letter-spacing: 0;
}
.service-category-hero__intro {
    max-width: 52ch;
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.65;
}
.service-category-hero__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 10.5rem));
    gap: .85rem;
    margin: .55rem 0 0;
}
.service-category-hero__facts > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    min-width: 0;
    padding: .65rem .8rem;
    border: 1px solid rgba(228,237,244,.32);
    border-radius: 8px;
    background: rgba(10,38,71,.42);
}
.service-category-hero__facts dt {
    grid-column: 2;
    color: #d7e5ed;
    font-size: .74rem;
    line-height: 1.3;
}
.service-category-hero__facts dd {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: var(--white);
    font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
    font-size: 1.75rem;
    line-height: 1;
}

.service-category-overview { padding-block: 4.75rem; }
.service-category-overview .breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .5rem;
    margin: 0 0 2.5rem;
    color: var(--muted);
    font-size: .84rem;
}
.service-category-overview .breadcrumbs a { color: var(--muted); }
.service-category-overview__grid {
    display: grid;
    grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr);
    gap: 4rem;
    align-items: start;
}
.service-category-overview__heading { position: sticky; top: 7.25rem; }
.service-category-overview__heading .eyebrow,
.service-section-heading .eyebrow { margin: 0 0 .5rem; letter-spacing: 0; }
.service-category-overview__heading .section-title { max-width: 15ch; }
.service-category-overview__heading .section-intro { margin-bottom: 0; }
.service-category-overview__body {
    max-width: 48rem;
    padding-left: 2rem;
    border-left: 1px solid var(--line);
}
.service-category-overview__body p {
    margin: 0 0 1.1rem;
    color: var(--ink);
    line-height: 1.72;
}
.service-category-overview__body p:first-child {
    color: var(--navy);
    font-size: 1.08rem;
}
.service-category-overview__body p:last-child { margin-bottom: 0; }

.service-pathways { padding-block: 5rem; }
.service-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    gap: 3.5rem;
    align-items: end;
    margin-bottom: 2rem;
}
.service-section-heading .section-title { max-width: 22ch; margin-bottom: 0; }
.service-section-heading > .section-intro { margin: 0; }
.service-pathway-grid.card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 0;
}
.section a.service-pathway-card,
.js-ready .section a.service-pathway-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    padding: 0;
    border-radius: 8px;
    color: var(--ink);
    cursor: pointer;
    text-decoration: none;
}
.service-pathway-card__visual {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0;
    aspect-ratio: 16 / 10;
    background: #dfeaf0;
}
.service-pathway-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.service-pathway-card__index {
    position: absolute;
    top: .75rem;
    right: .75rem;
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 8px;
    background: rgba(10,38,71,.86);
    color: var(--white);
    font-size: .78rem;
    font-weight: 700;
}
.service-pathway-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 1.3rem;
}
.service-pathway-card:nth-child(2) .service-pathway-card__body { background: #fbf4e5; }
.service-pathway-card:nth-child(3) .service-pathway-card__body { background: #f5f7fb; }
.service-pathway-card .card__meta { margin: 0 0 .55rem; letter-spacing: 0; }
.service-pathway-card h3 {
    display: -webkit-box;
    min-height: 2.5em;
    max-height: 2.5em;
    margin: 0;
    overflow: hidden;
    font-size: 1.35rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.service-pathway-card__count {
    margin: .7rem 0 0;
    color: var(--muted);
    font-size: .86rem;
}
.service-pathway-card__examples {
    display: grid;
    gap: .45rem;
    min-height: 5.3rem;
    margin: 1rem 0 0;
    padding: 1rem 0 0 1.05rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .84rem;
    line-height: 1.35;
}
.service-pathway-card__examples li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.service-pathway-card__action,
.service-list-card__action {
    margin-top: auto;
    padding-top: 1.15rem;
    color: var(--navy);
    font-size: .88rem;
    font-weight: 700;
}
.service-pathway-card__action > span,
.service-list-card__action > span {
    display: inline-block;
    transition: transform .2s ease;
}
.service-pathway-card:hover .service-pathway-card__action > span,
.service-pathway-card:focus-visible .service-pathway-card__action > span,
.service-list-card:hover .service-list-card__action > span,
.service-list-card:focus-within .service-list-card__action > span { transform: translateX(.25rem); }

.service-category-listing { padding-block: 5rem; background: #fafbfd; }
.service-category-listing .category-child-links {
    gap: .6rem;
    margin: 0 0 1.5rem;
}
.service-category-listing .category-child-links .button {
    min-height: 40px;
    border-color: var(--line);
    border-radius: 6px;
    padding: .55rem .8rem;
    background: var(--white);
    color: var(--navy);
    font-size: .82rem;
}
.service-category-listing .category-child-links .button:hover,
.service-category-listing .category-child-links .button:focus-visible {
    border-color: var(--teal);
    background: var(--teal-soft);
    color: var(--teal);
}
.service-category-listing .category-child-links + .card-grid { margin-top: 0; }
.service-list-grid.card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
    counter-reset: service-list-card;
}
.service-list-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    padding: 0;
    border-color: #d2e0e8;
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 .5rem 1.5rem rgba(10,38,71,.045);
    cursor: pointer;
    counter-increment: service-list-card;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.service-list-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    height: 3px;
    background: var(--teal);
    transform: scaleX(.18);
    transform-origin: left center;
    transition: transform .3s cubic-bezier(.22,.8,.28,1);
}
.service-list-card:hover,
.service-list-card:focus-within {
    border-color: rgba(43,111,159,.5);
    box-shadow: 0 1rem 2.4rem rgba(10,38,71,.11);
    transform: translateY(-4px);
}
.service-list-card:hover::before,
.service-list-card:focus-within::before { transform: scaleX(1); }
.service-list-card:hover .service-list-card__image,
.service-list-card:focus-within .service-list-card__image { transform: scale(1.045); }
.service-list-card:focus-within {
    outline: 3px solid var(--gold);
    outline-offset: 3px;
}
.service-list-card__visual {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0;
    aspect-ratio: 16 / 9;
    background: #dfeaf0;
}
.service-list-card__visual::after {
    content: counter(service-list-card, decimal-leading-zero);
    position: absolute;
    top: .7rem;
    right: .7rem;
    display: grid;
    place-items: center;
    min-width: 2rem;
    height: 2rem;
    padding-inline: .35rem;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 5px;
    background: rgba(10,38,71,.86);
    color: var(--white);
    font-size: .72rem;
    font-weight: 750;
}
.service-list-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s cubic-bezier(.22,.8,.28,1);
}
.service-list-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 1.15rem 1.2rem 1.2rem;
}
.service-list-card .card__meta {
    display: -webkit-box;
    min-height: 2.7em;
    max-height: 2.7em;
    margin: 0 0 .55rem;
    overflow: hidden;
    letter-spacing: 0;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.service-list-card .service-card__title {
    min-height: 3.84em;
    max-height: 3.84em;
    margin-bottom: .65rem;
    font-size: 1.08rem;
    line-height: 1.28;
}
.service-list-card__link { text-decoration-color: rgba(10,38,71,.22); transition: color .2s ease, text-decoration-color .2s ease; }
.service-list-card:hover .service-list-card__link,
.service-list-card:focus-within .service-list-card__link { color: var(--teal); text-decoration-color: currentColor; }
.service-list-card__link::after { content: ""; position: absolute; inset: 0; }
.service-list-card__link:focus-visible { outline: 0; }
.service-list-card__link:focus-visible::after { outline: 3px solid var(--gold); outline-offset: 3px; }
.service-list-card__summary {
    display: -webkit-box;
    min-height: 4.65em;
    max-height: 4.65em;
    margin: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
.service-list-card .service-list-card__action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: auto;
    padding-top: .9rem;
    border-top: 1px solid var(--line);
}
.service-list-card .service-list-card__action > span {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid rgba(43,111,159,.3);
    border-radius: 5px;
    background: var(--teal-soft);
    color: var(--teal);
}
.service-list-card:hover .service-list-card__action > span,
.service-list-card:focus-within .service-list-card__action > span { background: var(--teal); color: var(--white); }

@media (max-width: 1100px) {
    .service-category-hero::after { width: 76%; }
    .service-category-hero__copy { max-width: 66%; }
    .service-category-hero .page-title { font-size: 3.1rem; }
    .service-category-overview__grid { gap: 2.5rem; }
    .service-section-heading { gap: 2.5rem; }
    .service-pathway-grid.card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1100px) and (min-width: 769px) {
    .service-list-grid.card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .service-category-overview__grid,
    .service-section-heading { grid-template-columns: 1fr; }
    .service-category-overview__heading { position: static; }
    .service-category-overview__heading .section-title,
    .service-section-heading .section-title { max-width: 24ch; }
    .service-category-overview__body { max-width: none; padding-left: 0; border-left: 0; }
    .service-section-heading { gap: 1rem; align-items: start; }
}

@media (max-width: 768px) {
    .service-category-hero {
        min-height: 0;
        padding: 4.25rem 0;
        background-position: 58% center;
    }
    .service-category-hero::before { background: rgba(10,38,71,.26); }
    .service-category-hero::after { width: 100%; background: rgba(10,38,71,.83); clip-path: none; }
    .service-category-hero__copy { max-width: none; gap: .85rem; }
    .service-category-hero .page-title { max-width: 18ch; font-size: 2.35rem; }
    .service-category-hero__intro { font-size: 1rem; line-height: 1.55; }
    .service-category-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-category-hero__facts > div { padding: .6rem .65rem; }
    .service-category-overview,
    .service-pathways,
    .service-category-listing { padding-block: 3.75rem; }
    .service-category-overview .breadcrumbs { margin-bottom: 1.75rem; }
    .service-category-overview__grid { gap: 1.75rem; }
    .service-pathway-grid.card-grid { grid-template-columns: 1fr; }
    .service-list-grid.card-grid { grid-template-columns: 1fr; gap: .85rem; }
    .service-pathway-card h3 { min-height: 0; max-height: none; -webkit-line-clamp: initial; line-clamp: initial; }
    .service-pathway-card__examples { min-height: 0; }
    .service-pathway-card__examples li { overflow: visible; text-overflow: clip; white-space: normal; }
    .service-list-card .card__meta,
    .service-list-card .service-card__title,
    .service-list-card__summary { min-height: 0; max-height: none; -webkit-line-clamp: initial; line-clamp: initial; }
}

@media (prefers-reduced-motion: reduce) {
    .service-list-card:hover,
    .service-list-card:focus-within,
    .service-list-card:hover .service-list-card__image,
    .service-list-card:focus-within .service-list-card__image { transform: none; }
    .service-list-card::before { transition: none; }
}

/* Medical service detail */
.product-detail__container { max-width: 86rem; }
.product-detail-hero .inner-banner__copy { max-width: min(52rem, 64%); }
.product-detail-hero h1 { max-width: 22ch; }
.product-detail-overview { padding-top: 3rem; }
.product-detail-overview .breadcrumbs { margin-bottom: clamp(2.25rem, 5vw, 4.5rem); color: var(--muted); }
.product-detail-overview .breadcrumbs a { color: var(--muted); }
.product-detail-overview__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(24rem, .96fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}
.product-detail-overview__copy { max-width: 45rem; }
.product-detail-overview__copy .section-title { max-width: 18ch; }
.product-detail-overview__lead { color: var(--navy); font-size: var(--text-body-lg); line-height: 1.75; }
.product-detail-overview__facts { display: grid; gap: 1rem; margin: 2rem 0 0; }
.product-detail-overview__facts > div { padding: 1rem 0 0; border-top: 1px solid var(--line); }
.product-detail-overview__facts dt { color: var(--teal); font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.product-detail-overview__facts dd { margin: .35rem 0 0; color: var(--ink); }
.product-detail-overview__visual {
    position: relative;
    overflow: hidden;
    margin: 0;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    background: var(--teal-mist);
    box-shadow: 0 1.5rem 3.5rem rgba(10,38,71,.14);
}
.product-detail-overview__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.22,.8,.28,1); }
.product-detail-overview__visual:hover .product-detail-overview__image { transform: scale(1.035); }
.product-detail-overview__visual figcaption {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    display: grid;
    min-width: 13rem;
    padding: .8rem 1rem;
    border-radius: 6px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 .75rem 2rem rgba(10,38,71,.14);
}
.product-detail-overview__visual figcaption span { color: var(--teal); font-size: .73rem; font-weight: 750; text-transform: uppercase; }
.product-detail-overview__visual figcaption strong { color: var(--navy); }
.product-detail-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    margin-bottom: 2.25rem;
}
.product-detail-section-heading .eyebrow { margin: 0 0 .4rem; letter-spacing: 0; }
.product-detail-section-heading .section-title { max-width: 22ch; margin: 0; }
.product-detail-section-heading > .section-intro { margin: 0; }
.product-detail-parameter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.product-detail-parameter-grid > div { min-height: 10rem; padding: 1.35rem; background: var(--white); }
.product-detail-parameter-grid dt { margin-bottom: .55rem; color: var(--teal); font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.product-detail-parameter-grid dd { margin: 0; color: var(--navy); font-weight: 650; line-height: 1.55; overflow-wrap: anywhere; }
.product-detail-languages { display: flex; gap: 1rem; margin-top: 1.25rem; padding: 1rem 1.25rem; border-left: 3px solid var(--teal); background: var(--white); }
.product-detail-languages span { color: var(--muted); }
.product-detail-trust-points, .product-detail-support__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.product-detail-trust-points li, .product-detail-support__list li { display: flex; gap: .7rem; padding: 1rem; border: 1px solid var(--line); border-radius: 6px; background: var(--white); }
.product-detail-trust-points li span { color: var(--teal); font-weight: 800; }
.product-detail-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.product-detail-feature { position: relative; min-height: 17rem; padding: 2rem; border-radius: 8px; }
.product-detail-feature__index { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; margin-bottom: 2rem; border: 1px solid rgba(43,111,159,.35); border-radius: 6px; color: var(--teal); font-weight: 750; }
.product-detail-feature h3 { max-width: 24ch; font-size: 1.35rem; }
.product-detail-feature p { color: var(--muted); }
.product-detail-journey { background: var(--navy); color: #e5edf2; }
.product-detail-section-heading--light .section-title { color: var(--white); }
.product-detail-section-heading--light .section-intro { color: #c5d6e1; }
.product-detail-journey__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.product-detail-journey__list li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,.18); }
.product-detail-journey__number { color: var(--teal-light); font-size: 1.25rem; font-weight: 750; }
.product-detail-journey__list h3 { margin: 0 0 .45rem; color: var(--white); font-size: 1.2rem; }
.product-detail-journey__list p { max-width: 78ch; margin: 0; color: #c5d6e1; }
.product-detail-source__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 3rem; }
.product-detail-source__item { padding-top: 1rem; border-top: 1px solid var(--line); }
.product-detail-source__item h3 { color: var(--navy); }
.product-detail-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.product-detail-gallery__grid figure { overflow: hidden; margin: 0; aspect-ratio: 3 / 4; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: 0 1rem 2.5rem rgba(10,38,71,.07); }
.product-detail-gallery__image { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease; }
.product-detail-gallery__grid figure:hover .product-detail-gallery__image { transform: scale(1.015); }
.product-detail-related__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.product-detail-related-card { display: flex; min-width: 0; min-height: 100%; flex-direction: column; padding: 0; border-radius: 8px; }
.product-detail-related-card__visual { overflow: hidden; margin: 0; aspect-ratio: 16 / 9; background: #dfeaf0; }
.product-detail-related-card__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.product-detail-related-card:hover .product-detail-related-card__image { transform: scale(1.04); }
.product-detail-related-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.product-detail-related-card__body h3 { font-size: 1.05rem; }
.product-detail-related-card__body p:not(.card__meta) { color: var(--muted); }
.product-detail-related-card__action { margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--teal); font-weight: 700; }
.product-detail-cta { background: var(--teal-soft); }
.product-detail__disclaimer { margin-bottom: 2rem; }
.product-detail-cta__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; }
.product-detail-cta__inner .section-title { max-width: 22ch; }
.product-detail-cta__inner p:last-child { max-width: 60ch; color: var(--muted); }

@media (max-width: 1024px) {
    .product-detail-overview__grid { grid-template-columns: minmax(0,1fr) minmax(20rem,.85fr); gap: 2.5rem; }
    .product-detail-parameter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-detail-related__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .product-detail-overview__grid, .product-detail-section-heading, .product-detail-cta__inner { grid-template-columns: 1fr; }
    .product-detail-overview__visual { max-width: 42rem; }
    .product-detail-hero .inner-banner__copy { max-width: 88%; }
    .product-detail-related__grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .product-detail-hero h1 { font-size: clamp(2rem, 10vw, 2.65rem); }
    .product-detail-overview { padding-top: 2.25rem; }
    .product-detail-parameter-grid, .product-detail-feature-grid, .product-detail-gallery__grid, .product-detail-source__grid, .product-detail-trust-points, .product-detail-support__list { grid-template-columns: 1fr; }
    .product-detail-parameter-grid > div { min-height: 0; }
    .product-detail-feature { min-height: 0; padding: 1.35rem; }
    .product-detail-feature__index { margin-bottom: 1rem; }
    .product-detail-journey__list li { grid-template-columns: 2.5rem minmax(0,1fr); gap: .75rem; }
    .product-detail-languages { flex-direction: column; gap: .25rem; }
    .product-detail-overview__visual figcaption { right: .65rem; bottom: .65rem; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .product-detail-overview__visual:hover .product-detail-overview__image,
    .product-detail-gallery__grid figure:hover .product-detail-gallery__image,
    .product-detail-related-card:hover .product-detail-related-card__image { transform: none; }
}

/* Medical services archive: four integrated categories and a five-pillar directory. */
.medical-service-scope { background: #fffdf8; }
.medical-service-scope__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 2rem;
}
.medical-service-scope__heading .eyebrow { margin: 0 0 .45rem; }
.medical-service-scope__heading .section-title { max-width: 22ch; margin: 0; }
.medical-service-scope__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.medical-service-scope-card {
    min-width: 0;
    padding: 1.5rem 1.55rem 1.35rem;
    border: 1px solid var(--line);
    border-top: 3px solid var(--teal);
    border-radius: .85rem;
    background: var(--white);
    box-shadow: 0 .55rem 1.7rem rgba(10,38,71,.055);
}
.medical-service-scope-card:nth-child(2) { border-top-color: var(--gold); background: #fffefa; }
.medical-service-scope-card:nth-child(3) { border-top-color: var(--navy); background: #fbfdff; }
.medical-service-scope-card:nth-child(4) { border-top-color: #5e9292; background: #fbfdfd; }
.medical-service-scope-card:hover,
.medical-service-scope-card:focus-within { transform: none; box-shadow: 0 .7rem 2rem rgba(10,38,71,.09); }
.js-ready [data-motion].is-visible.medical-service-scope-card:hover,
.js-ready [data-motion].is-visible.medical-service-scope-card:focus-within { transform: none; }
.medical-service-scope-card__header {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: .85rem;
    align-items: start;
}
.medical-service-scope-card__number {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid rgba(32,124,160,.3);
    border-radius: 50%;
    color: var(--teal-deep);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
}
.medical-service-scope-card:nth-child(2) .medical-service-scope-card__number { border-color: var(--gold-line); color: var(--gold-deep); }
.medical-service-scope-card:nth-child(3) .medical-service-scope-card__number { border-color: rgba(10,38,71,.25); color: var(--navy); }
.medical-service-scope-card__header h3 { margin: .18rem 0 0; color: var(--navy); font-size: clamp(1.12rem, 1.6vw, 1.32rem); line-height: 1.32; }
.medical-service-scope-card__summary { margin: 1rem 0 0; color: var(--ink); font-size: .96rem; line-height: 1.65; }
.medical-service-scope-card__items {
    display: grid;
    gap: 0;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}
.medical-service-scope-card__items li {
    position: relative;
    padding: .68rem 0 .68rem 1.15rem;
    border-top: 1px solid rgba(10,38,71,.09);
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.medical-service-scope-card__items li::before {
    position: absolute;
    top: 1.18rem;
    left: .16rem;
    width: .34rem;
    height: .34rem;
    border-radius: 50%;
    background: var(--teal);
    content: "";
}
.medical-service-scope-card:nth-child(2) .medical-service-scope-card__items li::before { background: var(--gold); }
.medical-service-scope-card:nth-child(3) .medical-service-scope-card__items li::before { background: var(--navy); }
.medical-services-directory { background: #f4f8f9; }
.medical-services-directory { background: #f4f8f9; }
.medical-services-filter {
    align-items: end;
    margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
    padding: 1rem 1.15rem;
    border: 1px solid var(--line);
    border-radius: .75rem;
    background: var(--white);
}
.medical-services-filter label { flex: 1 1 20rem; min-width: min(100%, 20rem); }
.medical-services-filter__label { color: var(--navy); font-weight: 700; }
.medical-services-directory__heading {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(18rem, 1.15fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    margin-bottom: 2.25rem;
}
.medical-services-directory__heading .eyebrow { margin: 0 0 .45rem; }
.medical-services-directory__heading .section-title { max-width: 18ch; margin: 0; }
.medical-services-directory__intro { max-width: 58ch; margin: 0; color: var(--muted); line-height: 1.7; }
.medical-service-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}
.medical-service-pillar {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    padding: 0;
    border-radius: .8rem;
    background: var(--white);
    box-shadow: 0 .65rem 2rem rgba(10,38,71,.07);
}
.medical-service-pillar:nth-child(2) { background: #fbf4e5; border-color: var(--gold-line); }
.medical-service-pillar:nth-child(3) { background: #f3f7fa; }
.medical-service-pillar:nth-child(4) { background: #f2f7f7; }
.medical-service-pillar:nth-child(5) { background: #fbf4e5; border-color: var(--gold-line); }
.medical-service-pillar:hover,
.medical-service-pillar:focus-within { transform: none; box-shadow: 0 .65rem 2rem rgba(10,38,71,.07); }
.js-ready [data-motion].is-visible.medical-service-pillar:hover,
.js-ready [data-motion].is-visible.medical-service-pillar:focus-within { transform: none; box-shadow: 0 .65rem 2rem rgba(10,38,71,.07); }
.medical-service-pillar__header {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: .95rem;
    align-items: start;
    padding: 1.35rem 1.35rem .9rem;
    border-top: 3px solid var(--teal);
}
.medical-service-pillar:nth-child(2) .medical-service-pillar__header,
.medical-service-pillar:nth-child(5) .medical-service-pillar__header { border-top-color: var(--gold); }
.medical-service-pillar:nth-child(3) .medical-service-pillar__header { border-top-color: var(--navy); }
.medical-service-pillar__index {
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border: 1px solid rgba(43,111,159,.34);
    border-radius: 6px;
    color: var(--teal);
    font-size: .78rem;
    font-weight: 750;
}
.medical-service-pillar:nth-child(2) .medical-service-pillar__index,
.medical-service-pillar:nth-child(5) .medical-service-pillar__index { border-color: rgba(139,101,44,.38); color: var(--gold-deep); }
.medical-service-pillar__kicker {
    margin: 0 0 .35rem;
    color: var(--teal);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .05em;
    line-height: 1.4;
    text-transform: uppercase;
}
.medical-service-pillar:nth-child(2) .medical-service-pillar__kicker,
.medical-service-pillar:nth-child(5) .medical-service-pillar__kicker { color: var(--gold-deep); }
.medical-service-pillar h3 {
    margin: 0;
    color: var(--navy);
    font-size: clamp(1.18rem, 1.5vw, 1.5rem);
    line-height: 1.32;
    overflow-wrap: anywhere;
}
.medical-service-pillar__summary {
    margin: 0 1.35rem;
    color: var(--muted);
    line-height: 1.65;
}
.medical-service-pillar__items {
    display: grid;
    gap: 0;
    margin: auto 1.35rem 1.35rem;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
}
.medical-service-pillar__items li {
    display: grid;
    grid-template-columns: minmax(5.25rem, .38fr) minmax(0, 1fr);
    gap: .7rem;
    padding: .78rem 0;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    line-height: 1.55;
}
.medical-service-pillar__items li:last-child { border-bottom: 0; }
.medical-service-pillar__items strong { color: var(--navy); font-size: .84rem; }
.medical-service-pillar__items span { min-width: 0; color: var(--muted); font-size: .88rem; overflow-wrap: anywhere; }
.medical-service-pillar[id] { scroll-margin-top: 7rem; }

@media (max-width: 1100px) {
    .medical-service-pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .medical-service-scope__heading { align-items: start; }
    .medical-services-directory__heading { grid-template-columns: 1fr; gap: 1rem; align-items: start; }
    .medical-services-directory__heading .section-title { max-width: 24ch; }
}
@media (max-width: 768px) {
    .medical-service-scope__grid { grid-template-columns: 1fr; gap: .85rem; }
    .medical-service-scope__heading { margin-bottom: 1.4rem; }
    .medical-service-scope-card { padding: 1.25rem 1.15rem 1.05rem; }
    .medical-services-filter { align-items: stretch; padding: .85rem; }
    .medical-services-filter label { min-width: 100%; }
    .medical-services-filter .button { width: 100%; }
    .medical-service-pillar-grid { grid-template-columns: 1fr; gap: .85rem; }
    .medical-service-pillar__header { padding: 1.2rem 1.15rem .8rem; }
    .medical-service-pillar__summary { margin-inline: 1.15rem; }
    .medical-service-pillar__items { margin-inline: 1.15rem; margin-bottom: 1.15rem; }
    .medical-service-pillar__items li { grid-template-columns: 1fr; gap: .2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .medical-service-pillar:hover,
    .medical-service-pillar:focus-within { transform: none; }
}

/* Specialty medical service details sourced from the Qiyuan service brief. */
.medical-service-pillar--detailed .medical-service-pillar__items { margin-bottom: 0; }
.medical-service-pillar__action-wrap {
    margin: 1rem 1.35rem 1.35rem;
    padding-top: .9rem;
    border-top: 1px solid var(--line);
}
.medical-service-pillar__action { color: var(--teal-deep); font-weight: 750; text-decoration: none; }
.medical-service-pillar__action:hover,
.medical-service-pillar__action:focus-visible { color: var(--navy); text-decoration: underline; text-underline-offset: .18em; }
.medical-service-detail {
    scroll-margin-top: 7rem;
    margin-top: clamp(4rem, 8vw, 7rem);
    padding-top: clamp(2rem, 4vw, 3.5rem);
    border-top: 1px solid var(--line);
}
.medical-service-detail__heading {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(18rem, 1.15fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    margin-bottom: 2.25rem;
}
.medical-service-detail__heading .eyebrow { margin: 0 0 .45rem; }
.medical-service-detail__heading .section-title { max-width: 18ch; margin: 0; }
.medical-service-detail__intro { max-width: 58ch; margin: 0; color: var(--muted); line-height: 1.75; }
.medical-specialty-service-grid { display: grid; gap: 1rem; }
.medical-specialty-service-card {
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--line);
    border-radius: .8rem;
    background: var(--white);
    box-shadow: 0 .65rem 2rem rgba(10,38,71,.06);
}
.medical-specialty-service-card--layers { background: #f7fbfa; }
.medical-specialty-service-card--compact { background: #fbf4e5; border-color: var(--gold-line); }
.medical-specialty-service-card__header {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.medical-specialty-service-card__number {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border: 1px solid rgba(43,111,159,.34);
    border-radius: 6px;
    color: var(--teal);
    font-size: .8rem;
    font-weight: 750;
}
.medical-specialty-service-card--layers .medical-specialty-service-card__number { border-color: rgba(43,111,159,.34); }
.medical-specialty-service-card--compact .medical-specialty-service-card__number { border-color: rgba(139,101,44,.38); color: var(--gold-deep); }
.medical-specialty-service-card__kicker {
    margin: 0 0 .3rem;
    color: var(--teal);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.medical-specialty-service-card--compact .medical-specialty-service-card__kicker { color: var(--gold-deep); }
.medical-specialty-service-card h3 { margin: 0; color: var(--navy); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.35; overflow-wrap: anywhere; }
.medical-specialty-service-card__subheading { margin: .4rem 0 0; color: var(--muted); line-height: 1.6; }
.medical-specialty-service__parameters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 1.75rem 0 0;
    background: var(--line);
    border: 1px solid var(--line);
    border-radius: .65rem;
    overflow: hidden;
}
.medical-specialty-service__parameters > div { min-width: 0; padding: 1.15rem 1.25rem; background: #fffdf7; }
.medical-specialty-service__parameters dt { margin-bottom: .45rem; color: var(--teal); font-size: .76rem; font-weight: 750; }
.medical-specialty-service__parameters dd { margin: 0; color: var(--navy); line-height: 1.65; overflow-wrap: anywhere; }
.medical-specialty-service__audience { margin-top: 1.5rem; padding-top: 1.15rem; border-top: 1px solid var(--line); }
.medical-specialty-service__audience h4,
.medical-specialty-service__layers-title { margin: 0 0 .7rem; color: var(--navy); font-size: 1rem; }
.medical-specialty-service__audience ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 1.25rem; margin: 0; padding-left: 1.35rem; color: var(--ink); }
.medical-specialty-service__audience li { padding-left: .2rem; line-height: 1.6; }
.medical-specialty-service__lead { margin: 1.75rem 0 .5rem; color: var(--navy); font-size: 1.05rem; font-weight: 700; line-height: 1.7; }
.medical-specialty-service__positioning { margin: 0; color: var(--teal-deep); font-weight: 650; line-height: 1.7; }
.medical-specialty-service__layers-title { margin-top: 1.75rem; }
.medical-specialty-service__layers { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.medical-specialty-service__layers > li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.medical-specialty-service__layer-number { color: var(--teal); font-size: 1.05rem; font-weight: 750; }
.medical-specialty-service__layers h4 { margin: 0 0 .4rem; color: var(--navy); font-size: 1rem; }
.medical-specialty-service__layers p { margin: 0; color: var(--ink); line-height: 1.7; }
.medical-specialty-service__layers ul { display: grid; gap: .35rem; margin: .7rem 0 0; padding-left: 1.2rem; color: var(--muted); line-height: 1.65; }
.medical-specialty-service__compact-note { max-width: 60ch; margin: 1.5rem 0 0; color: var(--muted); line-height: 1.7; }
.medical-specialty-service__note {
    margin: 1.5rem 0 0;
    padding: .95rem 1rem;
    border-left: 3px solid var(--gold);
    background: var(--paper);
    color: var(--muted);
    line-height: 1.65;
}
.medical-service-detail__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }

@media (max-width: 900px) {
    .medical-service-detail__heading { grid-template-columns: 1fr; gap: 1rem; align-items: start; }
    .medical-service-detail__heading .section-title { max-width: 24ch; }
}
@media (max-width: 768px) {
    .medical-service-pillar__action-wrap { margin-inline: 1.15rem; }
    .medical-service-detail { margin-top: 3rem; }
    .medical-specialty-service-card { padding: 1.15rem; }
    .medical-specialty-service__parameters { grid-template-columns: 1fr; }
    .medical-specialty-service__parameters > div { padding: 1rem; }
    .medical-specialty-service__audience ol { grid-template-columns: 1fr; }
    .medical-specialty-service__layers > li { grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; }
    .medical-service-detail__actions .button { width: 100%; }
}

/* Homepage masthead: a transparent nav over the ambient animated stage. */
body.home .site-header,
body.home .site-header.is-scrolled {
    background: transparent;
    border-bottom: 1px solid rgba(255,253,247,.62);
    box-shadow: none;
    margin-bottom: -76px;
}
body.home .site-header .brand img { filter: brightness(0) invert(1); opacity: .95; }
body.home .brand { color: var(--white); }
body.home .brand__logo { filter: brightness(0) invert(1); }
body.home .primary-nav a { color: rgba(255,253,247,.92); }
body.home .primary-nav .sub-menu a { color: var(--navy); }
body.home .primary-nav .sub-menu a:hover,
body.home .primary-nav .sub-menu a:focus-visible { color: var(--teal); background: var(--teal-soft); }
body.home .primary-nav > ul > li > a::after,
body.home .primary-nav > .menu > li > a::after { background: var(--white); }
body.home .primary-nav .submenu-toggle { color: var(--white); }
body.home .primary-nav .submenu-toggle:hover,
body.home .primary-nav .submenu-toggle:focus-visible { background: rgba(255,253,247,.12); color: var(--white); }
body.home .menu-toggle { border-color: rgba(255,253,247,.5); background: transparent; color: var(--white); }
body.home .menu-toggle:hover,
body.home .menu-toggle:focus-visible { border-color: var(--white); background: rgba(255,253,247,.12); color: var(--white); }
@media (min-width: 1201px) {
    body.home .primary-nav > ul > li:last-child > a,
    body.home .primary-nav > .menu > li:last-child > a {
        padding: .65rem 1.05rem;
        border: 1px solid rgba(255,253,247,.68);
        color: var(--white);
        text-decoration: none;
        transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
    }
    body.home .primary-nav > ul > li:last-child > a::after,
    body.home .primary-nav > .menu > li:last-child > a::after { display: none; }
    body.home .primary-nav > ul > li:last-child > a:hover,
    body.home .primary-nav > ul > li:last-child > a:focus-visible,
    body.home .primary-nav > .menu > li:last-child > a:hover,
    body.home .primary-nav > .menu > li:last-child > a:focus-visible {
        border-color: var(--white);
        background: rgba(255,253,247,.12);
        color: var(--white);
        transform: translateY(-2px);
    }
}

/* Editorial handbook pages: calm cards, legible comparison tables, and native FAQ disclosure. */
.handbook-section { padding-block: clamp(2rem, 4.5vw, 4rem); }
.handbook-section:nth-of-type(even) { background: var(--paper); }
.handbook-section__card {
    max-width: 76rem;
    margin-inline: auto;
    padding: clamp(1.25rem, 3.6vw, 2.75rem);
    border: 1px solid var(--line);
    border-radius: 1.1rem;
    background: var(--white);
    box-shadow: 0 1rem 2.5rem rgba(10,38,71,.055);
}
.handbook-section__card .section-title { max-width: 36ch; margin-bottom: 1.1rem; }
.handbook-list { display: grid; gap: .65rem; padding-left: 1.2rem; }
.handbook-list li { padding-left: .2rem; }
.handbook-list li::marker { color: var(--teal); }
.handbook-section__actions { display: flex; flex-wrap: wrap; margin-top: 1.35rem; }
.handbook-section__actions .button { margin: 0; }
.handbook-table-wrap {
    max-width: 100%;
    margin-top: 1.4rem;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: .85rem;
    background: var(--white);
    overscroll-behavior-inline: contain;
}
.handbook-table-wrap:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.handbook-table { width: 100%; min-width: 42rem; border-collapse: collapse; color: var(--ink); font-size: .94rem; line-height: 1.55; }
.handbook-table caption { padding: .9rem 1rem; color: var(--navy); font-weight: 700; text-align: left; }
.handbook-table th,
.handbook-table td { padding: .85rem 1rem; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.handbook-table thead th { border-top: 0; background: var(--navy); color: var(--white); font-size: .82rem; letter-spacing: .035em; }
.handbook-table tbody th { width: 18%; background: #f5f8fa; color: var(--navy); font-weight: 700; }
.handbook-table tbody tr:nth-child(even) td { background: #fbfcfd; }
.handbook-note { margin-top: 1.35rem; padding: 1rem 1.15rem; border-left: 3px solid var(--gold); border-radius: 0 .7rem .7rem 0; background: var(--gold-soft); color: var(--navy); }
.handbook-note > :last-child { margin-bottom: 0; }
.handbook-section--important-medical-disclaimer .handbook-section__card { border-color: var(--gold-line); background: #fffaf0; }
.handbook-section--important-medical-disclaimer .section-title { color: #73511f; }
.handbook-section--free-second-opinion-callout .handbook-section__card { border-color: var(--gold-line); background: var(--gold-soft); }
.handbook-faq-list { display: grid; gap: .7rem; margin-top: 1rem; }
.handbook-faq-item { border: 1px solid var(--line); border-radius: .8rem; background: var(--white); }
.handbook-faq-item[open] { border-color: rgba(43,111,159,.42); box-shadow: 0 .6rem 1.5rem rgba(10,38,71,.06); }
.handbook-faq-item summary { position: relative; padding: 1rem 3rem 1rem 1.1rem; color: var(--navy); font-weight: 700; cursor: pointer; list-style: none; }
.handbook-faq-item summary::-webkit-details-marker { display: none; }
.handbook-faq-item summary::after { content: "+"; position: absolute; top: 50%; right: 1.1rem; color: var(--teal); font-size: 1.35rem; font-weight: 500; transform: translateY(-50%); }
.handbook-faq-item[open] summary::after { content: "−"; }
.handbook-faq-item summary:focus-visible { outline-offset: -4px; border-radius: .8rem; }
.handbook-faq-item__answer { padding: 0 1.1rem 1rem; color: var(--muted); }
.handbook-faq-item__answer > :last-child { margin-bottom: 0; }
.handbook-page-cta { padding-top: 0; }
.handbook-page-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: 1rem; background: var(--navy); color: var(--white); }
.handbook-page-cta__inner p { margin: 0; color: #e5edf2; }
.handbook-page-cta__inner .button { flex: 0 0 auto; border-color: var(--white); background: var(--white); color: var(--navy); }

@media (max-width: 768px) {
    .handbook-section { padding-block: 1.6rem; }
    .handbook-section__card { padding: 1.2rem 1.05rem; border-radius: .85rem; }
    .handbook-table { min-width: 38rem; font-size: .87rem; }
    .handbook-table th,
    .handbook-table td { padding: .7rem .75rem; }
    .handbook-page-cta__inner { align-items: flex-start; flex-direction: column; }
}

[data-home-hero] {
    --hero-base: #1f3755;
    --hero-mid: #29476a;
    --hero-deep: #13263e;
    --hero-highlight: #b6d1e5;
    --hero-glow: #5f8fb8;
    --hero-grid: rgba(211,232,246,.22);
    /* Kept as a named palette option for quick visual comparison. */
    --hero-legacy-electric: #0080ff;
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: clamp(30.643rem, calc(80.64svh - 61.286px), 43.546rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(2.016rem, 4.704vw, 4.032rem) 0 clamp(2.688rem, 5.376vw, 4.704rem);
    background: var(--hero-base);
    color: var(--white);
    transition: background-color .45s ease;
}
[data-home-hero]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: rgba(0,58,176,.08);
}
[data-home-hero] .hero__ambient {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: linear-gradient(180deg, var(--hero-mid) 0%, var(--hero-base) 46%, var(--hero-deep) 100%);
    transition: background .45s ease;
}
[data-home-hero] .hero__ambient::before {
    content: "";
    position: absolute;
    inset: -12% -10% -24%;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 18%, var(--hero-highlight) 0, transparent 46%),
        radial-gradient(circle at 18% 78%, var(--hero-glow) 0, transparent 42%);
    opacity: .62;
    transition: background .45s ease, opacity .45s ease;
    transform: translateZ(0);
}
[data-home-hero] .hero__ambient .hero__depth-grid {
    position: absolute;
    right: -10%;
    bottom: -25%;
    left: -10%;
    z-index: 1;
    height: 74%;
    pointer-events: none;
    background-image:
        linear-gradient(var(--hero-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--hero-grid) 1px, transparent 1px);
    background-size: 100% 18%, 9% 100%;
    opacity: .34;
    transform: perspective(900px) rotateX(62deg) translateZ(0);
    transform-origin: center bottom;
    animation: hero-depth-grid-drift 18s ease-in-out infinite alternate;
    will-change: transform, background-position, opacity;
    /* [data-home-hero] .hero__ambient depth mask */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.35) 22%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.35) 22%, #000 100%);
}
@keyframes hero-depth-grid-drift {
    0% {
        opacity: .2;
        background-position: 0 0, 0 0;
        transform: perspective(900px) rotateX(62deg) translate3d(-1.4%, 0, 0);
    }
    50% {
        opacity: .3;
        background-position: 1.5% 1%, -1% 0;
    }
    100% {
        opacity: .24;
        background-position: 3% 2%, -2% 0;
        transform: perspective(900px) rotateX(62deg) translate3d(1.4%, -1%, 0);
    }
}
[data-home-hero] .hero__ambient-canvas {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 1;
    touch-action: pan-y;
}
[data-home-hero] .hero__ambient-orbit {
    position: absolute;
    display: block;
    z-index: 2;
    border: 1px solid rgba(214,248,255,.32);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 0 5rem rgba(0,198,255,.24);
    transform-origin: center;
    animation: hero-ambient-orbit 12s ease-in-out infinite alternate;
}
[data-home-hero] .hero__ambient-orbit--one { top: 7%; left: -14%; width: min(58vw, 54rem); aspect-ratio: 1; }
[data-home-hero] .hero__ambient-orbit--two { right: -18%; bottom: -25%; width: min(63vw, 60rem); aspect-ratio: 1; animation-delay: -6s; }
[data-home-hero] .hero__ambient-orbit--three { top: 17%; right: 15%; width: min(24vw, 22rem); aspect-ratio: 1; border-color: rgba(229,252,255,.42); animation-delay: -11s; }
@keyframes hero-ambient-orbit {
    from { transform: translate3d(-4%, -3%, 0) rotate(-6deg) scale(.94); }
    to { transform: translate3d(5%, 4%, 0) rotate(8deg) scale(1.08); }
}
[data-home-hero] .hero__silk-lines {
    position: absolute;
    right: -12%;
    bottom: -1px;
    left: -12%;
    z-index: 1;
    height: clamp(7rem, 18vw, 14rem);
    overflow: hidden;
    pointer-events: none;
    opacity: .72;
}
[data-home-hero] .hero__silk-lines svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
[data-home-hero] .hero__silk-line {
    fill: none;
    stroke: rgba(198,220,232,.34);
    stroke-linecap: round;
    stroke-width: 2.4;
    transform-box: fill-box;
    transform-origin: center;
    animation: hero-silk-line-flow 13s ease-in-out infinite alternate;
}
[data-home-hero] .hero__silk-line--reverse {
    stroke: rgba(143,195,211,.27);
    stroke-width: 1.7;
    animation-name: hero-silk-line-flow-reverse;
    animation-duration: 17s;
}
[data-home-hero] .hero__silk-line--accent {
    stroke: rgba(188,244,255,.56);
    stroke-width: 1.8;
    animation-duration: 11s;
    animation-delay: -3.6s;
}
[data-home-hero] .hero__silk-line--fine {
    stroke: rgba(255,253,247,.24);
    stroke-width: 1.1;
    animation-duration: 20s;
    animation-delay: -8s;
}
[data-home-hero] .hero__silk-line--mesh {
    stroke: rgba(207,246,255,.28);
    stroke-width: 1.35;
    animation-name: hero-silk-line-mesh;
    animation-duration: 15s;
}
[data-home-hero] .hero__silk-line--mesh-reverse {
    stroke: rgba(163,235,255,.24);
    stroke-width: 1.05;
    animation-name: hero-silk-line-mesh-reverse;
    animation-duration: 18s;
}
@keyframes hero-silk-line-flow {
    from { transform: translate3d(-4.5%, 3%, 0) scaleX(.98); }
    to { transform: translate3d(4.5%, -2%, 0) scaleX(1.02); }
}
@keyframes hero-silk-line-flow-reverse {
    from { transform: translate3d(4%, -2%, 0) scaleX(1.02); }
    to { transform: translate3d(-4%, 3%, 0) scaleX(.98); }
}
@keyframes hero-silk-line-mesh {
    from { transform: translate3d(-3.5%, 2%, 0) scaleX(.99) rotate(-.25deg); }
    to { transform: translate3d(3.5%, -1.5%, 0) scaleX(1.01) rotate(.25deg); }
}
@keyframes hero-silk-line-mesh-reverse {
    from { transform: translate3d(3%, -1.5%, 0) scaleX(1.01) rotate(.2deg); }
    to { transform: translate3d(-3%, 2.5%, 0) scaleX(.99) rotate(-.2deg); }
}
[data-home-hero] .hero__grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 54rem);
    justify-content: center;
    align-items: center;
    min-height: inherit;
}
[data-home-hero].hero--image-copy .hero__copy { display: grid; }
[data-home-hero] .hero__copy {
    display: grid;
    justify-items: center;
    width: 100%;
    max-width: 54rem;
    margin-inline: auto;
    text-align: center;
}
[data-home-hero] .hero__copy-slide { width: 100%; max-width: 54rem; }
.js-ready [data-home-hero] .hero__copy-slide:not(.is-active) { display: none; }
.js-ready [data-home-hero].hero--image-copy .hero__copy-slide:first-child {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}
[data-home-hero] .hero__copy-slide .eyebrow {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-bottom: 1rem;
    color: var(--white);
    letter-spacing: .16em;
}
[data-home-hero] .hero__copy-slide .eyebrow::before,
[data-home-hero] .hero__copy-slide .eyebrow::after {
    content: "";
    width: clamp(1.4rem, 3vw, 2.75rem);
    height: 1px;
    background: rgba(143,195,211,.68);
    transform: scaleX(1);
}
[data-home-hero] .hero__copy-slide h1 {
    position: relative;
    max-width: 18ch; word-spacing: 0.15em;
    margin: 0 auto 1.75rem;
    padding-bottom: .35rem;
    color: var(--white);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(2.55rem, 6.2vw, 5.4rem);
    font-weight: 650;
    letter-spacing: -.045em;
    line-height: 1.06;
    text-shadow: 0 .35rem 1.4rem rgba(2,18,37,.42), 0 0 2.8rem rgba(143,195,211,.12);
}
[data-home-hero] .hero__copy-slide h1::after {
    content: "";
    position: absolute;
    bottom: -.45rem;
    left: 50%;
    width: clamp(3rem, 9vw, 6.5rem);
    height: 2px;
    background: var(--gold);
    box-shadow: 0 0 1.2rem rgba(216,184,124,.52);
    opacity: .82;
    transform: translateX(-50%) scaleX(1);
    transform-origin: center;
}
[data-home-hero] .hero__lead {
    max-width: 42rem;
    margin-inline: auto;
    color: var(--white);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.75;
    text-shadow: none;
}
[data-home-hero] .hero__lead-group {
    display: grid;
    gap: .5rem;
    max-width: 42rem;
    margin-inline: auto;
}
[data-home-hero] .hero__lead-group .hero__lead { margin: 0; }
[data-home-hero] .hero__assurances {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .55rem 1.25rem;
    max-width: 48rem;
    margin: 1.4rem auto 2rem;
}
[data-home-hero] .hero__assurances li {
    color: rgba(255,253,247,.78);
    font-size: .86rem;
}
[data-home-hero] .hero__assurances li::before {
    width: .38rem;
    height: .38rem;
    flex-basis: .38rem;
    background: var(--gold);
    box-shadow: 0 0 0 .2rem rgba(216,184,124,.13);
}
[data-home-hero] .hero__copy-slide > p:last-child {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
}
[data-home-hero] .button {
    min-height: 3.1rem;
    padding-inline: 1.45rem;
    border-radius: .3rem;
    border-color: var(--teal-light);
    background: var(--teal-light);
    color: var(--ink);
    box-shadow: 0 .7rem 1.8rem rgba(2,18,37,.25);
}
[data-home-hero] .button:hover,
[data-home-hero] .button:focus-visible { border-color: var(--white); background: var(--white); color: var(--ink); transform: translateY(-2px); }
[data-home-hero] .button--ghost { border-color: rgba(255,253,247,.55); background: rgba(255,253,247,.04); color: var(--white); }
[data-home-hero] .button--ghost:hover,
[data-home-hero] .button--ghost:focus-visible { border-color: var(--teal-light); background: rgba(143,195,211,.14); color: var(--white); }
[data-home-hero] .hero__media {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: .12;
    pointer-events: none;
}
[data-home-hero] .hero__media .hero__slides,
[data-home-hero] .hero__media .hero__slide { height: 100%; }
[data-home-hero] .hero__media .hero__image { filter: saturate(.35) contrast(1.08); }
[data-home-hero] .hero-carousel__controls { pointer-events: auto; }
[data-home-hero] .hero-carousel__controls button { color: var(--white); }
[data-home-hero] .hero-carousel__controls button:hover,
[data-home-hero] .hero-carousel__controls button:focus-visible { background: rgba(143,195,211,.2); color: var(--white); }

.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) .eyebrow[data-hero-line] {
    animation: home-hero-eyebrow-reveal .72s cubic-bezier(.22,.8,.28,1) .08s both;
}
.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) .eyebrow[data-hero-line]::before,
.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) .eyebrow[data-hero-line]::after {
    animation: home-hero-rule-draw .7s cubic-bezier(.22,.8,.28,1) .38s both;
}
.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) h1[data-hero-line] {
    animation: home-hero-title-reveal .95s cubic-bezier(.16,1,.3,1) .18s both;
}
.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) h1[data-hero-line]::after {
    animation: home-hero-accent-draw .82s cubic-bezier(.22,.8,.28,1) .76s both;
}
.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) .hero__lead[data-hero-line] {
    animation: home-hero-copy-focus .78s cubic-bezier(.22,.8,.28,1) .62s both;
}
.js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) .hero__lead:nth-child(2)[data-hero-line] {
    animation-delay: .76s;
}
@keyframes home-hero-eyebrow-reveal {
    from { opacity: 0; filter: blur(.25rem); letter-spacing: .28em; transform: translateY(.6rem); }
    to { opacity: 1; filter: blur(0); letter-spacing: .16em; transform: none; }
}
@keyframes home-hero-rule-draw {
    from { opacity: 0; transform: scaleX(0); }
    to { opacity: 1; transform: scaleX(1); }
}
@keyframes home-hero-title-reveal {
    0% { opacity: 0; clip-path: inset(0 0 100% 0); filter: blur(.45rem); transform: translateY(1.3rem) scale(.98); }
    62% { opacity: 1; text-shadow: 0 .35rem 1.4rem rgba(2,18,37,.42), 0 0 3.4rem rgba(143,195,211,.3); }
    100% { opacity: 1; clip-path: inset(0); filter: blur(0); transform: none; }
}
@keyframes home-hero-accent-draw {
    from { opacity: 0; transform: translateX(-50%) scaleX(0); }
    to { opacity: .82; transform: translateX(-50%) scaleX(1); }
}
@keyframes home-hero-copy-focus {
    from { opacity: 0; filter: blur(.32rem); transform: translateY(.9rem); }
    to { opacity: 1; filter: blur(0); transform: none; }
}

@media (max-width: 1200px) {
    body.home .primary-nav { border-bottom-color: rgba(255,253,247,.62); background: transparent; }
    body.home .primary-nav.is-open { border-bottom-color: var(--line); background: var(--white); }
    body.home .primary-nav a { color: rgba(255,253,247,.92); }
    body.home .primary-nav .sub-menu a { color: var(--navy); }
    body.home .primary-nav.is-open > ul > li > a,
    body.home .primary-nav.is-open > .menu > li > a,
    body.home .primary-nav.is-open .sub-menu a,
    body.home .primary-nav.is-open .submenu-toggle { color: var(--navy); }
    body.home .primary-nav.is-open > ul > li > a::after,
    body.home .primary-nav.is-open > .menu > li > a::after { background: var(--navy); }
    body.home .primary-nav.is-open > ul > li > a:hover,
    body.home .primary-nav.is-open > ul > li > a:focus-visible,
    body.home .primary-nav.is-open > .menu > li > a:hover,
    body.home .primary-nav.is-open > .menu > li > a:focus-visible,
    body.home .primary-nav.is-open .submenu-toggle:hover,
    body.home .primary-nav.is-open .submenu-toggle:focus-visible { color: var(--teal); }
    body.home .primary-nav.is-open .submenu-toggle:hover,
    body.home .primary-nav.is-open .submenu-toggle:focus-visible { background: var(--teal-soft); }
}
@media (max-width: 768px) {
    [data-home-hero] { min-height: min(38.707rem, calc(80.64svh - 54.835px)); padding-block: 2.352rem 3.024rem; }
    [data-home-hero] .hero__grid { min-height: inherit; }
    [data-home-hero] .hero__copy-slide h1 { max-width: 14ch; font-size: clamp(2.25rem, 11vw, 3.7rem); }
    [data-home-hero] .hero__lead { max-width: 31rem; font-size: 1rem; }
    [data-home-hero] .hero__assurances { display: grid; gap: .4rem; justify-items: center; }
    [data-home-hero] .hero__copy-slide > p:last-child { width: 100%; }
    [data-home-hero] .button { width: min(100%, 18rem); }
    [data-home-hero] .hero__ambient-orbit--one { left: -44%; width: 34rem; }
    [data-home-hero] .hero__ambient-orbit--two { right: -46%; width: 37rem; }
    [data-home-hero] .hero__ambient-orbit--three { top: 13%; right: -7%; width: 12rem; }
    [data-home-hero] .hero__silk-lines { right: -35%; left: -35%; height: 8rem; opacity: .68; }
}
@media (prefers-reduced-motion: reduce) {
    [data-home-hero] .hero__ambient-orbit { animation: none; }
    [data-home-hero] .hero__ambient .hero__depth-grid { animation: none; }
    [data-home-hero] .hero__silk-line { animation: none; }
    .js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) [data-hero-line],
    .js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) [data-hero-line]::before,
    .js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) [data-hero-line]::after {
        opacity: 1;
        clip-path: none;
        filter: none;
        transform: none;
        animation: none;
    }
    .js-ready [data-home-hero] .hero__copy-slide.is-active:not(.is-animating) h1[data-hero-line]::after {
        transform: translateX(-50%) scaleX(1);
    }
    [data-home-hero] .button:hover,
    [data-home-hero] .button:focus-visible { transform: none; }
}

/* Hero text split-letter effects */
[data-home-hero] h1[data-split-text] {
    font-family: 'Orbitron', 'Rajdhani', 'Exo 2', Inter, system-ui, sans-serif;
    font-weight: 700;
    letter-spacing: .02em;
}
[data-home-hero] h1[data-split-text] .hero-letter {
    display: inline-block;
    animation: hero-letter-float 2.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    transform-origin: center bottom;
}
[data-home-hero] h1[data-split-text] .hero__heading-break {
    display: block;
    height: 0;
}
@keyframes hero-letter-float {
    0% {
        opacity: 0;
        transform: translateY(80%) rotateX(90deg) scale(0.3);
        filter: blur(12px);
    }
    30% {
        opacity: 0.6;
        transform: translateY(20%) rotateX(45deg) scale(0.8);
        filter: blur(4px);
    }
    60% {
        opacity: 1;
        transform: translateY(-8%) rotateX(-5deg) scale(1.05);
        filter: blur(0);
    }
    80% {
        transform: translateY(2%) rotateX(2deg) scale(0.98);
    }
    100% {
        opacity: 1;
        transform: translateY(0) rotateX(0) scale(1);
        filter: blur(0);
    }
}
}
@media (prefers-reduced-motion: reduce) {
    [data-home-hero] h1[data-split-text] .hero-letter {
        animation: hero-letter-fade 0.8s ease-out both;
    }
    @keyframes hero-letter-fade {
        from { opacity: 0; }
        to { opacity: 1; }
    }
}
