/* Across Lifespan visual refresh — original illustrative imagery, not clinic photography. */
:root { --soft-gold:#c9ad7e; --deep-forest:#173a34; --sand:#ede4d6; }

body { background:#fbfaf6; }
.container { width:min(100% - 72px,1560px); }
.section { padding:clamp(64px,6vw,98px) 0; }
.page-hero .container { max-width:1560px; }
h1,h2 { letter-spacing:-.052em; }
h1 i,h2 i { color:#9b9a77; }
.eyebrow,.card-overline { color:#887b60; }
.section-heading .eyebrow::before,.intro-grid .eyebrow::before,.page-hero .eyebrow::before { content:"";display:inline-block;width:23px;height:1px;background:var(--soft-gold);vertical-align:middle;margin-right:12px; }
.button { border-radius:2px;letter-spacing:.035em;padding-inline:25px; }
.button-primary { background:#20483f;box-shadow:0 10px 22px rgba(24,59,54,.16); }
.button-primary:hover { background:#14352e; }
.text-link { display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:11px 19px;border:1px solid #42645a;border-radius:2px;background:rgba(255,255,255,.77);color:var(--forest);font-size:.78rem;font-weight:700;line-height:1.35;letter-spacing:.02em;text-align:center;text-decoration:none;box-shadow:0 7px 18px rgba(29,54,43,.07);transition:background .25s ease,box-shadow .25s ease,transform .25s ease; }
.text-link:hover { background:#e9f0e7;color:var(--forest);box-shadow:0 11px 23px rgba(29,54,43,.13);transform:translateY(-2px); }
.text-link span { flex:none; }
.button-ghost { border-color:#43675b;background:rgba(255,255,255,.64); }

/* Landing hero */
.home-hero { background:radial-gradient(circle at 6% 10%,#fffdf7 0,transparent 35%),linear-gradient(120deg,#f8f5ec,#e9eee8);padding-top:68px;padding-bottom:40px; }
.home-hero::before { content:"";position:absolute;left:-140px;bottom:-220px;width:540px;height:540px;border:1px solid rgba(141,160,136,.17);border-radius:50%;box-shadow:0 0 0 80px rgba(141,160,136,.04),0 0 0 160px rgba(141,160,136,.025);pointer-events:none; }
.hero-grid { grid-template-columns:1fr 1.08fr;gap:clamp(55px,6vw,105px); }
.hero-copy h1 { font-size:clamp(4.7rem,6.5vw,7.7rem);line-height:.98;margin-bottom:34px; }
.hero-copy h1 i { color:#969e79; }
.hero-lead { font-size:1.12rem; }
.hero-visual { height:min(680px,58vw); }
.hero-visual::before { content:"";position:absolute;inset:16px -17px -16px 17px;border:1px solid rgba(112,132,112,.45);border-radius:220px 220px 5px 5px;pointer-events:none; }
.hero-visual img { position:relative;box-shadow:0 27px 70px rgba(30,51,42,.22); }
.image-label { border-top:3px solid var(--soft-gold);padding:19px 25px; }
.hero-foot { margin-top:76px; }

/* Subpage image-led hero. The images are decorative and do not represent the clinic. */
.page-hero { position:relative;overflow:hidden;padding:48px 0 66px;background:radial-gradient(circle at 38% 15%,#fffdf8,transparent 48%),linear-gradient(125deg,#f7f5ed,#e7eee7); }
.page-hero::before { content:"";position:absolute;inset:-10px;background:linear-gradient(90deg,rgba(248,247,242,.65),rgba(248,247,242,.2) 55%,rgba(248,247,242,.82)),url('/assets/clinic-exterior.jpg') center 55%/cover;opacity:.16;filter:blur(2px) saturate(.55);pointer-events:none; }
.page-hero::after { content:"";position:absolute;width:530px;height:530px;left:-275px;bottom:-300px;border:1px solid rgba(130,150,123,.14);border-radius:50%;box-shadow:0 0 0 72px rgba(130,150,123,.035),0 0 0 144px rgba(130,150,123,.025);pointer-events:none; }
.page-hero-grid { position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(370px,.78fr);gap:clamp(42px,6vw,100px);align-items:center; }
.page-hero-copy { position:relative;z-index:1;padding:0 0 25px; }
.page-hero .breadcrumbs ol { margin-bottom:78px; }
.page-hero h1 { font-size:clamp(3.7rem,5vw,6.4rem);line-height:1.02;margin:28px 0;max-width:760px; }
.page-hero .lead { font-size:1.13rem;max-width:640px; }
.page-hero-art { width:100%;height:490px;margin:0;position:relative; }
.page-hero-art::before { content:"";position:absolute;inset:16px -15px -16px 15px;border:1px solid rgba(117,137,105,.48);border-radius:240px 240px 4px 4px; }
.page-hero-art img { position:relative;width:100%;height:100%;object-fit:cover;border-radius:240px 240px 4px 4px;box-shadow:0 25px 65px rgba(26,55,43,.18); }

/* Editorial imagery through the story */
.intro-section { padding-block:clamp(88px,8vw,130px);background:linear-gradient(100deg,rgba(252,251,246,.95),rgba(249,249,243,.88) 54%,rgba(243,247,239,.78)),url('/assets/clinic-entrance.jpg') center 49%/cover;color:var(--forest);border-bottom:1px solid #e0e6dc; }
.intro-grid { position:relative;gap:30px; }
.intro-grid>div:first-child,.intro-grid>div:last-child { grid-column:1/-1; }
.intro-grid h2 { max-width:none;margin-bottom:0;color:var(--forest);font-size:clamp(4rem,7vw,8rem);line-height:1.02; }
.intro-grid h2 i { color:#879a82; }
.intro-grid .eyebrow { color:#806d4e; }
.intro-grid .large-copy { max-width:900px;margin:0;color:#40564b; }
.intro-grid .text-link { display:inline-flex;flex:none; }
.intro-grid>div:last-child { display:flex;align-items:center;justify-content:space-between;gap:36px;padding-top:0;max-width:none; }
.services-section { background:linear-gradient(#f5f2e9,#eee9dd); }
.service-grid .card { padding:0 0 32px;overflow:hidden;min-height:420px;border:1px solid #e5dfd2;box-shadow:0 9px 26px rgba(38,54,41,.055); }
.service-grid .card::before { content:"";display:block;height:155px;flex:0 0 155px;background-size:cover;background-position:center;filter:saturate(.8);transition:transform .35s ease; }
.service-grid .card:nth-child(4n+1)::before { background-image:url('/assets/clinic-entrance.jpg'); }
.service-grid .card:nth-child(4n+2)::before { background-image:url('/assets/clinic-consultation-room.jpg');background-position:center 58%; }
.service-grid .card:nth-child(4n+3)::before { background-image:url('/assets/clinic-exterior.jpg'); }
.service-grid .card:nth-child(4n+4)::before { background-image:url('/assets/clinic-seating-room.jpg'); }
.service-grid .card:hover::before { transform:scale(1.025); }
.service-grid .card-overline,.service-grid .card h3,.service-grid .card p,.service-grid .card .text-link,.service-grid .card .status-pill { margin-left:27px;margin-right:27px; }
.service-grid .card-overline { margin-top:24px; }
.service-grid .card h3 { margin-top:23px; }
.service-grid .card .status-pill { margin-left:27px; }

.life-section { background:#edf0e9; }
.life-art { background:linear-gradient(90deg,rgba(19,49,39,.55),rgba(20,48,38,.22)),url('/assets/clinic-consultation-room.jpg') center 58%/cover; }
.life-circle { background:rgba(21,53,42,.73);backdrop-filter:blur(8px);box-shadow:0 0 0 42px rgba(255,255,255,.07),0 0 0 92px rgba(255,255,255,.035); }
.life-circle em { color:#d7d1ab; }
.pillars-section { background:#f6efea; }
.pillars-heading { max-width:1120px;margin-bottom:54px; }
.pillars-heading h2 { margin:0 0 22px;color:var(--forest);font-size:clamp(3.7rem,5.6vw,7rem);line-height:1.04; }
.pillars-heading h2 i { color:#8e9d83; }
.pillars-heading>p:last-child { max-width:760px;margin:0;color:#4c6155;font-size:1.13rem;line-height:1.75; }
.pillars-feature { display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(35px,5vw,80px);align-items:stretch; }
.pillars-photo { position:relative;min-height:670px;margin:0;overflow:hidden;background:#dce3dc;box-shadow:0 22px 50px rgba(35,48,37,.12); }
.pillars-photo img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%; }
.pillars-details { align-self:center;min-width:0;padding-block:15px; }
.pillars-details .eyebrow { color:#806d4e; }
.pillar-list { margin:0 0 27px;border-top:1px solid #d8d4c9; }
.pillar-list article { display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:20px 0;border-bottom:1px solid #d8d4c9; }
.pillar-list article>span { color:#8b7858;font-size:.75rem;font-weight:700;letter-spacing:.13em; }
.pillar-list h3 { margin:0 0 6px;color:var(--forest);font-size:1.65rem; }
.pillar-list p { max-width:570px;margin:0;color:#51665a;font-size:.91rem;line-height:1.65; }
.provider-feature { background:radial-gradient(circle at 80% 50%,#f2efe7,transparent 40%),#fffdfa; }
.home-team-layout { display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(42px,5vw,90px);align-items:center; }
.home-team-copy p { color:var(--muted);max-width:530px;font-size:1.05rem; }
.home-team-copy .button { margin-top:18px; }
.home-team-portraits { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.home-team-tile { position:relative;min-width:0;aspect-ratio:3/4;overflow:hidden;background:#dfe8dd;text-decoration:none;box-shadow:0 12px 35px rgba(27,52,42,.13); }
.home-team-tile::after { content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(11,34,29,.78));pointer-events:none; }
.home-team-tile img { width:100%;height:100%;object-fit:cover;object-position:50% 26%;transition:transform .4s ease; }
.home-team-tile:hover img { transform:scale(1.035); }
.home-team-tile span { position:absolute;z-index:1;bottom:15px;left:14px;right:10px;color:#fff;font-family:var(--serif);font-size:1.1rem;line-height:1.12;text-shadow:0 1px 10px #102c27; }
.team-section { background:radial-gradient(circle at 90% 5%,#e9eee5,transparent 38%),#fffdfa; }
.team-section .section-heading { max-width:980px; }
.team-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch; }
.team-card { min-width:0;background:#fff;border:1px solid #e3e4db;box-shadow:0 14px 34px rgba(29,50,40,.07);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease; }
.team-card:hover { transform:translateY(-5px);box-shadow:0 22px 42px rgba(29,50,40,.13); }
.team-card-photo { aspect-ratio:4/4.6;overflow:hidden;background:#e8ebe5; }
.team-card-photo img { width:100%;height:100%;object-fit:cover;object-position:50% 25%; }
.team-card-body { padding:27px 27px 31px; }
.team-card h3 { color:var(--forest);font-size:clamp(1.7rem,2vw,2.15rem);margin:17px 0 3px; }
.team-card .card-overline { display:block;font-size:.62rem;line-height:1.5;min-height:2.8em; }
.team-credentials { color:#85785e!important;font-size:.8rem!important;font-weight:700;letter-spacing:.05em;margin-bottom:18px; }
.team-card-body>p:last-child { color:var(--muted);font-size:.89rem;line-height:1.7;margin-bottom:0; }
.team-source { margin:28px 0 0;color:var(--muted);font-size:.79rem; }
.team-source a { text-decoration-color:#a79770;text-underline-offset:3px; }
.team-values { background:linear-gradient(90deg,rgba(248,246,239,.94),rgba(248,246,239,.79)),url('/assets/clinic-consultation-room.jpg') center 58%/cover; }
.team-values p { color:#53675c;font-size:1.05rem; }
.published-facts { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:center; }
.published-facts p { color:var(--muted);max-width:520px; }
.published-facts ul { list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px;padding:0;margin:0;border-top:1px solid #cfd7cb; }
.published-facts li { padding:17px 10px 17px 0;border-bottom:1px solid #cfd7cb;color:var(--forest);font-weight:600;font-size:.92rem; }
.condition-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:34px 0; }
.condition-list>div { position:relative;min-height:225px;padding:26px;border:1px solid #dfe4db;background:linear-gradient(145deg,#fffdfa,#edf1e9); }
.condition-list>div:nth-child(3n+2) { background:linear-gradient(145deg,#f7f3e9,#e8eee7); }
.condition-list h3 { margin:0 0 16px;color:var(--forest);font-size:1.55rem; }
.condition-list p { margin:0;color:var(--muted);font-size:.89rem;line-height:1.7; }
.patient-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.patient-steps>div { border-top:2px solid #b6b192;background:linear-gradient(160deg,#fffefa,#eef0e9);padding:29px 25px 34px;min-height:270px; }
.patient-steps b { font-size:.75rem;letter-spacing:.16em;color:#827b5e; }
.patient-steps h3 { margin:38px 0 16px;color:var(--forest); }
.patient-steps p { color:var(--muted);font-size:.9rem;line-height:1.7; }
.faq-page { background:linear-gradient(90deg,rgba(252,251,247,.96),rgba(252,251,247,.89)),url('/assets/clinic-consultation-room.jpg') center/cover; }
.faq-page .faq-list { background:rgba(255,255,255,.8);padding:12px 30px;border:1px solid #e2e5da;box-shadow:0 16px 40px rgba(25,49,39,.06); }
.notfound { min-height:0;padding:90px 0;background:linear-gradient(90deg,rgba(248,247,242,.94),rgba(248,247,242,.72)),url('/assets/clinic-exterior.jpg') center/cover; }
.quote-panel { background:linear-gradient(90deg,rgba(22,57,47,.84),rgba(21,51,42,.6)),url('/assets/clinic-entrance.jpg') center/cover;color:#fff;box-shadow:0 20px 55px rgba(20,43,34,.15); }
.quote-panel i { color:#dfd8bb; }
.quote-mark,.quote-caption { color:#e6dcc2; }
.visit-section { background:linear-gradient(90deg,rgba(14,47,42,.96),rgba(20,51,44,.79)),url('/assets/clinic-exterior.jpg') center 55%/cover;color:#fff; }
.visit-section .eyebrow { color:#d0c4a2; }
.visit-lines>div { border-color:rgba(230,230,209,.33); }
.visit-section .text-link { color:#fff; }
.resource-grid .card { overflow:hidden;min-height:375px;padding:0 30px 30px;box-shadow:0 12px 34px rgba(37,58,45,.08); }
.resource-grid .card::before { content:"";display:block;height:142px;margin:0 -30px 28px;background:url('/assets/clinic-consultation-room.jpg') center 63%/cover; }
.resource-grid .card:nth-child(2)::before { background-image:url('/assets/clinic-exterior.jpg'); }
.resource-grid .card h3 { margin-top:18px; }
.new-patient-strip { background:linear-gradient(90deg,#f8f4ea 0%,#f8f4ea 62%,rgba(248,244,234,.36) 78%),url('/assets/clinic-exterior.jpg') right center/auto 100% no-repeat; }
.cta-band { position:relative;background-color:#102c27;background-image:linear-gradient(to bottom,rgba(16,44,39,0) 0%,rgba(16,44,39,.15) 52%,#102c27 100%),linear-gradient(90deg,rgba(17,54,45,.96),rgba(17,54,45,.79)),url('/assets/clinic-entrance.jpg');background-size:cover,cover,cover;background-repeat:no-repeat; }
.cta-band .eyebrow { color:#e2d6b8; }
.cta-band h2 i { color:#e0d5b6; }
.footer { background:#102c27; }

/* Real Google Maps address pin; the suite remains pending clinic confirmation. */
.live-map { position:relative;height:390px;overflow:hidden;background:#e4e9df;border:8px solid #fff;box-shadow:0 18px 50px rgba(30,51,41,.16); }
.live-map iframe { display:block;width:100%;height:100%;border:0; }
.map-open { position:absolute;left:18px;bottom:18px;z-index:2;padding:12px 17px;background:#173e34;color:#fff;box-shadow:0 7px 22px rgba(19,47,39,.2);font-size:.76rem;font-weight:700;text-decoration:none; }
.map-open:hover { background:#295a4b;color:#fff; }
.map-open span { margin-left:13px; }
.contact-map-section { padding:0 0 clamp(82px,9vw,145px);background:#fffdfa; }
.contact-map-heading { max-width:680px;margin-bottom:28px; }
.contact-map-heading h2 { font-size:clamp(2.8rem,4.3vw,5rem);color:var(--forest);margin-bottom:16px; }
.contact-map-heading p { color:var(--muted); }
.contact-map-section .live-map { height:460px; }

/* Scroll progress, calm entrance transitions, and restrained image parallax. */
.site-header { transition:box-shadow .3s ease; }
.site-header.scrolled { box-shadow:0 10px 30px rgba(19,44,37,.09); }
.site-header::after { content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--soft-gold);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none; }
.reveal { opacity:.32;transform:translate3d(0,16px,0);transition:opacity .48s ease,transform .56s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms); }
.reveal.is-visible { opacity:1;filter:none;transform:translate3d(0,0,0); }
.card.reveal.is-visible:hover { transform:translateY(-5px); }
.hero-visual img { object-position:55% calc(50% + var(--scroll-shift,0px)); }
.page-hero-art img { object-position:50% calc(50% + var(--scroll-shift,0px)); }
.life-art { background-position:center calc(58% + var(--scroll-shift,0px)); }
.visit-section { background-position:center,center calc(55% + var(--scroll-shift,0px)); }
.cta-band { background-position:center,center,center calc(42% + var(--scroll-shift,0px)); }
.back-to-top { position:fixed;right:25px;bottom:25px;z-index:80;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 10px 26px rgba(21,46,37,.25);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);cursor:pointer;transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background .25s ease; }
.back-to-top.visible { opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0); }
.back-to-top:hover { background:#315e51;transform:translateY(-3px); }
.back-to-top.on-dark { background:#f8f5ea;color:#173e34;border-color:#f8f5ea; }
.back-to-top.on-dark:hover { background:#e9e4d2; }
.back-to-top svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.back-to-top:focus-visible { outline:3px solid #b08235;outline-offset:4px; }

/* Current location stays highlighted while the page scrolls. */
.primary-nav>a:not(.button) { position:relative;padding:9px 11px;margin:-9px -11px;border-radius:999px;transition:background .25s ease,color .25s ease,box-shadow .25s ease; }
.primary-nav>a:not(.button):hover { text-decoration:none;background:rgba(214,226,212,.6); }
.primary-nav>a[aria-current="page"]:not(.button),.primary-nav>a[data-active-section="true"]:not(.button) { color:#133b31;background:#e0e9dd;box-shadow:inset 0 0 0 1px rgba(61,103,80,.14);text-decoration:none; }
.primary-nav>a[aria-current="page"]:not(.button)::after,.primary-nav>a[data-active-section="true"]:not(.button)::after { content:"";position:absolute;left:50%;bottom:4px;width:18px;height:2px;border-radius:2px;background:#a9874f;transform:translateX(-50%); }
.primary-nav>.nav-cta[aria-current="page"] { background:#14382f;box-shadow:0 0 0 3px #d1ba8b,0 10px 22px rgba(24,59,54,.16); }

/* A scroll-led visual chapter between the introduction and the services. */
.cinematic-story { --story-progress:0;position:relative;height:178vh;background:#132b27; }
.story-sticky { position:sticky;top:84px;height:calc(100vh - 84px);min-height:570px;overflow:hidden;display:flex;align-items:center;isolation:isolate;color:#fff; }
.story-image,.story-shade { position:absolute;inset:0;width:100%;height:100%; }
.story-image { object-fit:cover;object-position:center 54%;transform:scale(var(--story-scale,1.13)) translate3d(0,var(--story-offset,18px),0);will-change:transform; }
.story-shade { background:linear-gradient(90deg,rgba(12,37,31,.91),rgba(14,42,34,.59) 56%,rgba(14,42,34,.38)),linear-gradient(0deg,rgba(9,32,27,.55),transparent 33%); }
.story-content { position:relative;z-index:1;padding-block:90px 110px;transform:translate3d(0,var(--story-copy-offset,11px),0); }
.story-content .eyebrow { color:#e5d3ad; }
.story-content h2 { max-width:1100px;font-size:clamp(4.2rem,7.3vw,8.8rem);line-height:1.01;margin:0 0 28px;color:#fff; }
.story-content h2 i { color:#d7ccaa; }
.story-content>p:not(.eyebrow) { max-width:550px;color:#e8eee8;font-size:clamp(1.02rem,1.2vw,1.2rem);line-height:1.7;margin-bottom:31px; }
.story-scroll-cue { position:absolute;right:max(36px,calc((100vw - 1560px)/2));bottom:44px;z-index:1;display:flex;align-items:center;gap:14px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#e9e0ca; }
.story-cue-line { width:80px;height:1px;background:rgba(255,255,255,.5); }
.story-progress { position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.22);z-index:2; }
.story-progress span { display:block;width:100%;height:100%;background:#d6bb83;transform:scaleX(var(--story-progress));transform-origin:left; }

/* Refined page entrances and interactive detail. */
@keyframes premium-rise { from { opacity:.25;transform:translate3d(0,24px,0); } to { opacity:1;transform:translate3d(0,0,0); } }
@keyframes premium-image { from { opacity:.4;clip-path:inset(9% 0 0 0 round 220px 220px 5px 5px);transform:scale(.97); } to { opacity:1;clip-path:inset(0 0 0 0 round 220px 220px 5px 5px);transform:scale(1); } }
.motion-ready .home-hero .hero-copy>* , .motion-ready .page-hero-copy>* { animation:premium-rise .8s cubic-bezier(.18,.72,.24,1) both; }
.motion-ready .home-hero .hero-copy>*:nth-child(2),.motion-ready .page-hero-copy>*:nth-child(2) { animation-delay:.08s; }
.motion-ready .home-hero .hero-copy>*:nth-child(3),.motion-ready .page-hero-copy>*:nth-child(3) { animation-delay:.16s; }
.motion-ready .home-hero .hero-copy>*:nth-child(n+4),.motion-ready .page-hero-copy>*:nth-child(n+4) { animation-delay:.24s; }
.motion-ready .hero-visual,.motion-ready .page-hero-art { animation:premium-image 1s cubic-bezier(.18,.72,.24,1) both; }
.team-card-photo img { transition:transform .65s cubic-bezier(.18,.72,.24,1); }
.team-card:hover .team-card-photo img { transform:scale(1.055); }
.home-team-tile img { transition:transform .65s cubic-bezier(.18,.72,.24,1); }
.home-team-tile:hover img { transform:scale(1.075); }
.team-card.reveal.is-visible:hover,.condition-list>div.reveal.is-visible:hover,.patient-steps>div.reveal.is-visible:hover { transform:translateY(-6px); }
.condition-list>div,.patient-steps>div { transition:transform .3s ease,box-shadow .3s ease; }
.condition-list>div:hover,.patient-steps>div:hover { box-shadow:0 20px 42px rgba(30,54,42,.12); }
.card,.team-card,.condition-list>div,.patient-steps>div { position:relative;isolation:isolate; }
.card::after,.team-card::after,.condition-list>div::after,.patient-steps>div::after { content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(290px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(224,202,154,.18),transparent 70%);opacity:0;transition:opacity .28s ease; }
.card:hover::after,.team-card:hover::after,.condition-list>div:hover::after,.patient-steps>div:hover::after { opacity:1; }
.button { position:relative;overflow:hidden; }
.button::after { content:"";position:absolute;inset:-40% auto -40% -80%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-24deg);transition:left .55s ease;pointer-events:none; }
.button:hover::after { left:135%; }

/* One contrast rule for every action: dark on light surfaces, light on dark surfaces. */
.button,.text-link { background:#173e34;border-color:#173e34;color:#fff;box-shadow:0 9px 21px rgba(20,50,39,.16); }
.button:hover,.text-link:hover { background:#295a4b;border-color:#295a4b;color:#fff;box-shadow:0 13px 27px rgba(20,50,39,.22); }
.cta-band,.visit-section,.cinematic-story,.bg-forest,.quote-panel { color:#fff; }
.cta-band p,.visit-section p,.cinematic-story p,.bg-forest p,.quote-panel p { color:#eef2ec; }
.cta-band h2,.visit-section h2,.cinematic-story h2,.bg-forest h2,.quote-panel h2 { color:#fff; }
.cta-band .button,.visit-section .button,.cinematic-story .button,.bg-forest .button,
.cta-band .text-link,.visit-section .text-link,.cinematic-story .text-link,.bg-forest .text-link { background:#f8f5ea;border-color:#f8f5ea;color:#173e34;box-shadow:0 9px 21px rgba(0,0,0,.16); }
.cta-band .button:hover,.visit-section .button:hover,.cinematic-story .button:hover,.bg-forest .button:hover,
.cta-band .text-link:hover,.visit-section .text-link:hover,.cinematic-story .text-link:hover,.bg-forest .text-link:hover { background:#e9e4d2;border-color:#e9e4d2;color:#173e34;box-shadow:0 13px 27px rgba(0,0,0,.22); }

/* Smaller screens retain the imagery without crowding the copy. */
@media(max-width:1100px) {
  .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-team-layout { grid-template-columns:1fr; }
  .condition-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .patient-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-hero-grid { grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:40px; }
  .page-hero-art { height:420px; }
  .page-hero .breadcrumbs ol { margin-bottom:48px; }
}
@media(max-width:850px) {
  .intro-section { background-position:center,58% center; }
  .primary-nav>a:not(.button) { margin:2px 0;padding:12px 15px;border-radius:4px; }
  .primary-nav>a[aria-current="page"]:not(.button)::after,.primary-nav>a[data-active-section="true"]:not(.button)::after { left:4px;top:50%;bottom:auto;width:3px;height:21px;transform:translateY(-50%); }
  .story-sticky { position:relative;top:auto;height:auto;min-height:670px; }
  .cinematic-story { height:auto; }
  .story-image,.story-content { transform:none; }
  .story-content { padding-block:100px 110px; }
  .story-content h2 { font-size:clamp(4rem,9vw,6.8rem); }
  .story-scroll-cue { display:none; }
  .container { width:min(100% - 38px,1560px); }
  .section { padding:70px 0; }
  .published-facts { grid-template-columns:1fr;gap:22px; }
  .home-team-portraits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-hero { padding-top:30px; }
  .hero-grid,.page-hero-grid { grid-template-columns:1fr; }
  .hero-copy h1 { font-size:clamp(4rem,11vw,6rem); }
  .hero-visual { height:550px; }
  .page-hero { padding:38px 0 50px; }
  .page-hero-copy { padding:0; }
  .page-hero-art { height:370px;max-width:600px; }
  .page-hero .breadcrumbs ol { margin-bottom:40px; }
  .intro-grid { gap:32px; }
  .intro-grid>div:last-child { align-items:flex-start;flex-direction:column;gap:24px; }
  .pillars-feature { grid-template-columns:1fr;gap:38px; }
  .pillars-photo { min-height:480px; }
  .pillars-details { padding-block:0; }
  .new-patient-strip { background:#f8f4ea; }
}
@media(max-width:560px) {
  .intro-grid h2 { font-size:clamp(3.15rem,12vw,4.5rem); }
  .pillars-heading h2 { font-size:clamp(3.15rem,11vw,4.7rem); }
  .pillars-photo { min-height:390px; }
  .pillar-list article { grid-template-columns:36px minmax(0,1fr);gap:10px; }
  .story-sticky { min-height:630px; }
  .story-content { padding-block:75px 90px; }
  .story-content h2 { font-size:clamp(3.45rem,12vw,5rem); }
  .story-content>p:not(.eyebrow) { font-size:1rem; }
  .section { padding:58px 0; }
  .condition-list,.patient-steps,.published-facts ul { grid-template-columns:1fr; }
  .patient-steps>div { min-height:0; }
  .faq-page .faq-list { padding:8px 18px; }
  .team-grid { grid-template-columns:1fr;gap:22px; }
  .team-card-photo { aspect-ratio:4/3.8; }
  .team-card h3 { font-size:2rem; }
  .home-team-portraits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-team-tile { aspect-ratio:4/4.5; }
  .notfound { min-height:0;padding:75px 0;background:linear-gradient(90deg,rgba(248,247,242,.9),rgba(248,247,242,.72)),url('/assets/clinic-exterior.jpg') center/cover; }
  .home-hero::before,.page-hero::after { display:none; }
  .hero-copy h1 { font-size:clamp(3.65rem,14vw,5.2rem); }
  .hero-visual { height:420px; }
  .hero-visual::before,.page-hero-art::before { inset:10px -8px -10px 8px; }
  .page-hero h1 { font-size:clamp(3.25rem,12vw,4.7rem); }
  .page-hero-art { height:280px;max-width:100%; }
  .page-hero-art img,.page-hero-art::before { border-radius:150px 150px 4px 4px; }
  .service-grid .card { min-height:0; }
  .service-grid .card::before { height:145px;flex-basis:145px; }
  .life-art { min-height:390px; }
  .quote-panel { min-height:330px; }
  .resource-grid .card { min-height:0; }
  .cta-band { background-position:center,center,54% center; }
  .live-map { height:300px;border-width:5px; }
  .contact-map-section .live-map { height:330px; }
  .map-open { left:10px;bottom:10px;padding:10px 12px; }
  .back-to-top { right:13px;bottom:13px;width:42px;height:42px; }
}
@media(prefers-reduced-motion:reduce) {
  .text-link { transition:none; }
  .text-link:hover { transform:none; }
  .cinematic-story { height:auto; }
  .story-sticky { position:relative;top:auto;height:auto;min-height:620px; }
  .story-image,.story-content { transform:none;will-change:auto; }
  .motion-ready .home-hero .hero-copy>*,.motion-ready .page-hero-copy>*,.motion-ready .hero-visual,.motion-ready .page-hero-art { animation:none; }
  .card::after,.team-card::after,.condition-list>div::after,.patient-steps>div::after,.button::after { display:none; }
  .team-card-photo img,.home-team-tile img,.condition-list>div,.patient-steps>div,.primary-nav>a:not(.button) { transition:none; }
  .service-grid .card::before,.site-header,.reveal,.back-to-top { transition:none; }
  .reveal { opacity:1;filter:none;transform:none; }
}

/* Across Lifespan palette: teal, peach, light blue, and midnight blue. */
:root {
  --forest:#142d43;
  --deep:#0d2236;
  --ivory:#faf8f5;
  --sage:#9bc9cd;
  --champagne:#f0c5b5;
  --charcoal:#183346;
  --line:#cbdde2;
  --muted:#506676;
  --soft-gold:#e7ad99;
  --deep-forest:#112b42;
  --sand:#f8e9e3;
  --teal:#0b6971;
  --teal-deep:#07575f;
  --peach:#f0c5b5;
  --peach-soft:#fbeee9;
  --light-blue:#e7f3f6;
  --midnight:#142d43;
  --paper:#fcfbf8;
}

body { background:var(--paper);color:var(--charcoal); }
.bg-ivory { background:#f1f8f9; }
.bg-forest { background:var(--midnight);color:#fff; }
.draft-strip { background:var(--peach);color:var(--midnight); }
.site-header { background:rgba(252,251,248,.96); }
.site-header.scrolled { box-shadow:0 10px 30px rgba(20,45,67,.1); }
.wordmark,.primary-nav>a:not(.button) { color:var(--midnight); }
.primary-nav>a:not(.button):hover { background:var(--light-blue); }
.primary-nav>a[aria-current="page"]:not(.button),
.primary-nav>a[data-active-section="true"]:not(.button) { color:var(--midnight);background:#d8edf1;box-shadow:inset 0 0 0 1px #a9d4dc; }
.primary-nav>a[aria-current="page"]:not(.button)::after,
.primary-nav>a[data-active-section="true"]:not(.button)::after { background:var(--teal); }
.primary-nav>.nav-cta[aria-current="page"] { background:var(--teal-deep);box-shadow:0 0 0 3px var(--peach),0 10px 22px rgba(20,45,67,.18); }
.eyebrow,.card-overline,.intro-grid .eyebrow,.pillars-details .eyebrow { color:var(--teal); }
.section-heading h2,.hero-copy h1,.page-hero h1,.intro-grid h2,
.pillars-heading h2,.contact-map-heading h2,.notfound h1 { color:var(--midnight); }
h1 i,h2 i,.hero-copy h1 i,.intro-grid h2 i,.pillars-heading h2 i { color:var(--teal); }
.section-heading p,.hero-lead,.page-hero .lead,.large-copy,.intro-grid .large-copy,
.pillars-heading>p:last-child,.pillar-list p,.team-values p { color:var(--muted); }
.breadcrumbs ol,.hero-foot,.hero-index { color:#496b79; }

/* On light surfaces, actions are dark and copy stays dark. */
.button,.text-link,.map-open { background:var(--teal-deep);border-color:var(--teal-deep);color:#fff;box-shadow:0 9px 21px rgba(20,45,67,.17); }
.button:hover,.text-link:hover,.map-open:hover { background:var(--midnight);border-color:var(--midnight);color:#fff;box-shadow:0 13px 27px rgba(20,45,67,.23); }
.button:focus-visible,.text-link:focus-visible,.map-open:focus-visible,
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--teal);outline-offset:4px; }

/* Pale blue and peach surfaces keep the image-led layouts calm. */
.home-hero { background:radial-gradient(circle at 7% 8%,#fff 0,transparent 38%),linear-gradient(120deg,#f9f7f4 0%,#e4f2f5 72%,#f8ebe5 100%); }
.home-hero::before { border-color:rgba(11,105,113,.18);box-shadow:0 0 0 80px rgba(171,219,226,.09),0 0 0 160px rgba(240,197,181,.08); }
.hero-visual::before,.page-hero-art::before { border-color:rgba(190,125,105,.55); }
.hero-visual img,.page-hero-art img { box-shadow:0 27px 70px rgba(20,45,67,.19); }
.image-label { border-top-color:var(--peach); }
.page-hero { background:radial-gradient(circle at 37% 13%,#fff,transparent 49%),linear-gradient(125deg,#f9f7f4,#e0eff3 74%,#f8e9e3); }
.page-hero::after { border-color:rgba(11,105,113,.17);box-shadow:0 0 0 72px rgba(171,219,226,.09),0 0 0 144px rgba(240,197,181,.06); }
.intro-section { background:linear-gradient(100deg,rgba(252,251,248,.97),rgba(234,245,247,.91) 55%,rgba(249,235,229,.84)),url('/assets/clinic-entrance.jpg') center 49%/cover;border-bottom-color:#cbdde2; }
.services-section { background:linear-gradient(145deg,#f0f8f9,#e2f0f3 65%,#f9eee9); }
.service-grid .card,.team-card,.resource-grid .card { background:#fff;border-color:#cddfe3;box-shadow:0 12px 34px rgba(20,45,67,.08); }
.life-section { background:#e8f3f5; }
.life-art { background:linear-gradient(90deg,rgba(14,40,62,.73),rgba(11,82,91,.35)),url('/assets/clinic-consultation-room.jpg') center 58%/cover; }
.life-circle { background:rgba(16,42,63,.77);border-color:#9bc9cd; }
.life-circle em,.visit-grid h2 i { color:var(--peach); }
.stage-list span { border-color:#abd6dd;color:var(--midnight);background:rgba(255,255,255,.45); }
.life-copy p { color:var(--muted); }
.pillars,.pillars>div,.steps>div { border-color:#c9dfe4; }
.pillars b,.steps b,.vertical-steps b,.article-meta { color:var(--teal)!important; }
.pillars-section { background:linear-gradient(125deg,#fbeee9,#f8e3dc 60%,#f3e7e5); }
.pillars-photo { background:#d9eaf0;box-shadow:0 22px 50px rgba(20,45,67,.14); }
.pillar-list,.pillar-list article { border-color:#e2c7c0; }
.pillar-list article>span,.patient-steps b,.team-credentials { color:#825747!important; }
.provider-feature { background:radial-gradient(circle at 80% 50%,#e9f4f6,transparent 42%),#fcfbf8; }
.team-section { background:radial-gradient(circle at 90% 5%,#dceff2,transparent 42%),#f8fbfb; }
.home-team-tile,.team-card-photo { background:#dbecef; }
.home-team-tile::after { background:linear-gradient(transparent,rgba(13,34,54,.82)); }
.team-values { background:linear-gradient(90deg,rgba(241,248,249,.95),rgba(241,248,249,.83)),url('/assets/clinic-consultation-room.jpg') center 58%/cover; }
.published-facts ul,.published-facts li { border-color:#c6dfe4; }
.condition-list>div { border-color:#cbdfe4;background:linear-gradient(145deg,#fff,#e9f4f6); }
.condition-list>div:nth-child(3n+2) { background:linear-gradient(145deg,#fff9f6,#f7e9e4); }
.patient-steps>div { border-top-color:var(--peach);background:linear-gradient(160deg,#fffaf8,#f0f7f8); }
.faq-page { background:linear-gradient(90deg,rgba(241,248,249,.97),rgba(241,248,249,.9)),url('/assets/clinic-consultation-room.jpg') center/cover; }
.faq-page .faq-list { border-color:#cbdfe4;background:rgba(255,255,255,.88); }
.new-patient-strip { background:linear-gradient(90deg,#eaf5f7 0%,#eaf5f7 62%,rgba(234,245,247,.5) 80%),url('/assets/clinic-exterior.jpg') right center/auto 100% no-repeat; }
.note { background:#e7f3f6;border-left-color:var(--teal); }
.note p,.narrow>p { color:var(--muted); }
.provider-placeholder { background:#e6f3f6; }
.provider-placeholder span { border-color:#a9d4dc; }
.map-art { background:#e3f1f4;background-image:linear-gradient(28deg,transparent 49%,#bad9e0 49% 50%,transparent 50%),linear-gradient(155deg,transparent 49%,#bad9e0 49% 50%,transparent 50%); }
.map-art::before,.map-art::after { background:#c7e1e7; }
.map-pin { box-shadow:0 0 0 12px rgba(11,105,113,.18); }
.contact-box { background:#f1f8f9;border-color:#cbdfe4; }
.status-pill { border-color:#d7a998;color:#674637;background:var(--peach-soft); }
.notfound { background:linear-gradient(90deg,rgba(241,248,249,.95),rgba(241,248,249,.72)),url('/assets/clinic-exterior.jpg') center/cover; }
.live-map { background:#e4f1f4;border-color:#fff;box-shadow:0 18px 50px rgba(20,45,67,.16); }
.contact-map-section { background:var(--paper); }

/* Midnight blue chapters use light text and light buttons. */
.cinematic-story { background:var(--midnight); }
.story-shade { background:linear-gradient(90deg,rgba(13,34,54,.94),rgba(15,48,68,.67) 56%,rgba(10,79,88,.4)),linear-gradient(0deg,rgba(13,34,54,.62),transparent 35%); }
.story-content .eyebrow,.visit-section .eyebrow,.cta-band .eyebrow,
.bg-forest .eyebrow,.quote-panel .eyebrow { color:var(--peach); }
.story-content h2 i,.cta-band h2 i,.quote-panel i { color:var(--peach); }
.story-content>p:not(.eyebrow),.cta-band p,.visit-section p,
.bg-forest p,.quote-panel p { color:#e5f1f4; }
.story-progress span { background:var(--peach); }
.quote-panel { background:linear-gradient(90deg,rgba(13,34,54,.91),rgba(9,72,80,.71)),url('/assets/clinic-entrance.jpg') center/cover;color:#fff; }
.quote-mark,.quote-caption { color:var(--peach); }
.visit-section { background:linear-gradient(90deg,rgba(13,34,54,.96),rgba(9,72,80,.79)),url('/assets/clinic-exterior.jpg') center 55%/cover;color:#fff; }
.visit-lines>div { border-color:rgba(205,230,235,.36); }
.visit-lines span { color:var(--peach); }
.cta-band { background-color:var(--midnight);background-image:linear-gradient(to bottom,rgba(13,34,54,0) 0%,rgba(13,34,54,.2) 52%,var(--midnight) 100%),linear-gradient(90deg,rgba(13,34,54,.96),rgba(9,72,80,.79)),url('/assets/clinic-entrance.jpg'); }
.footer { background:var(--deep);color:#e2f0f3; }
.footer h2 { color:var(--peach); }
.footer-brand p,.footer-main p,.footer-bottom { color:#c4dce3; }
.footer-bottom { border-top-color:#426275; }
.footer a:hover { color:var(--peach); }
.cta-band .button,.visit-section .button,.cinematic-story .button,.bg-forest .button,.quote-panel .button,
.cta-band .text-link,.visit-section .text-link,.cinematic-story .text-link,.bg-forest .text-link,.quote-panel .text-link { background:var(--light-blue);border-color:var(--light-blue);color:var(--midnight);box-shadow:0 9px 21px rgba(0,0,0,.18); }
.cta-band .button:hover,.visit-section .button:hover,.cinematic-story .button:hover,.bg-forest .button:hover,.quote-panel .button:hover,
.cta-band .text-link:hover,.visit-section .text-link:hover,.cinematic-story .text-link:hover,.bg-forest .text-link:hover,.quote-panel .text-link:hover { background:var(--peach);border-color:var(--peach);color:var(--midnight); }
.cta-band a:focus-visible,.visit-section a:focus-visible,.cinematic-story a:focus-visible,
.bg-forest a:focus-visible,.quote-panel a:focus-visible { outline-color:var(--peach); }
.back-to-top { background:var(--midnight);color:#fff;box-shadow:0 10px 26px rgba(13,34,54,.28); }
.back-to-top:hover { background:var(--teal-deep); }
.back-to-top.on-dark { background:var(--light-blue);border-color:var(--light-blue);color:var(--midnight); }
.back-to-top.on-dark:hover { background:var(--peach); }

@media(max-width:850px) {
  .primary-nav { background:var(--paper); }
  .new-patient-strip { background:#eaf5f7; }
}
@media(max-width:560px) {
  .notfound { background:linear-gradient(90deg,rgba(241,248,249,.95),rgba(241,248,249,.76)),url('/assets/clinic-exterior.jpg') center/cover; }
}

/* A first-screen story: an inviting image, a clear promise, and immediate care details. */
.home-hero {
  display:flex;
  flex-direction:column;
  isolation:isolate;
  min-height:min(850px,calc(100svh - 110px));
  padding:0;
  background:#eaf4f5;
}
.home-hero::before {
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:
    linear-gradient(90deg,rgba(250,251,249,.99) 0%,rgba(242,249,249,.98) 31%,rgba(231,245,247,.8) 52%,rgba(231,245,247,.12) 76%),
    linear-gradient(0deg,rgba(232,246,248,.48),transparent 48%);
  z-index:1;
}
.home-hero .hero-visual {
  position:absolute;
  inset:0;
  z-index:0;
  height:100%;
  min-height:0;
}
.home-hero .hero-visual::before { display:none; }
.home-hero .hero-visual img {
  width:100%;
  height:100%;
  border-radius:0;
  box-shadow:none;
  object-fit:cover;
  object-position:center calc(55% + var(--scroll-shift,0px));
}
.home-hero .hero-grid {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  flex:1;
  min-height:640px;
}
.home-hero .hero-copy {
  width:min(59%,790px);
  max-width:790px;
  padding:clamp(76px,8vw,125px) 0 70px;
}
.home-hero .hero-copy .eyebrow { color:var(--teal-deep);font-weight:800; }
.home-hero .hero-copy h1 {
  max-width:790px;
  margin-bottom:28px;
  color:var(--midnight);
  font-size:clamp(4.7rem,6.15vw,8rem);
  line-height:.96;
  text-wrap:balance;
}
.home-hero .hero-copy h1 i { display:block;color:var(--teal); }
.home-hero .hero-lead {
  max-width:590px;
  color:var(--midnight);
  font-size:clamp(1.08rem,1.25vw,1.25rem);
  line-height:1.68;
}
.home-hero .hero-actions { margin-top:30px; }
.home-hero .hero-actions .button { min-height:56px; }
.home-hero .hero-actions .button-ghost {
  background:var(--midnight);
  border-color:var(--midnight);
  color:#fff;
}
.home-hero .hero-actions .button-ghost:hover { background:var(--teal-deep);border-color:var(--teal-deep); }
.home-hero .hero-proof {
  position:relative;
  z-index:2;
  background:rgba(233,246,248,.94);
  border-top:1px solid rgba(20,45,67,.13);
  backdrop-filter:blur(18px);
}
.home-hero .hero-proof-inner {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  padding:24px 0;
}
.home-hero .hero-proof span {
  display:flex;
  align-items:center;
  gap:15px;
  color:var(--midnight);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  line-height:1.45;
  text-transform:uppercase;
}
.home-hero .hero-proof b { color:var(--teal);font-size:.66rem; }
@keyframes hero-scene-enter {
  from { opacity:.55;transform:scale(1.025); }
  to { opacity:1;transform:scale(1); }
}
.motion-ready .home-hero .hero-visual { animation:hero-scene-enter 1.2s ease both; }

@media(max-width:850px) {
  .home-hero { min-height:0;background:#f0f8f9; }
  .home-hero::before {
    background:radial-gradient(circle at 0% 0%,rgba(240,197,181,.34),transparent 45%);
    z-index:0;
  }
  .home-hero .hero-grid { order:1;display:block;min-height:0; }
  .home-hero .hero-copy { width:100%;max-width:700px;padding:56px 0 35px; }
  .home-hero .hero-copy h1 { font-size:clamp(4rem,10.5vw,6rem); }
  .home-hero .hero-visual {
    order:2;
    position:relative;
    inset:auto;
    z-index:1;
    width:min(calc(100% - 38px),680px);
    height:450px;
    margin:0 auto 20px;
    overflow:hidden;
    border-radius:180px 180px 4px 4px;
  }
  .home-hero .hero-proof { order:3; }
  .home-hero .hero-proof-inner { gap:12px;padding:20px 0; }
}
@media(max-width:560px) {
  .home-hero .hero-copy { padding:42px 0 30px; }
  .home-hero .hero-copy .eyebrow { margin-bottom:18px; }
  .home-hero .hero-copy h1 { font-size:clamp(3.45rem,13vw,5.2rem);margin-bottom:20px; }
  .home-hero .hero-lead { font-size:1rem;line-height:1.6; }
  .home-hero .hero-actions { gap:10px;margin-top:25px; }
  .home-hero .hero-actions .button { width:100%; }
  .home-hero .hero-visual { height:340px;border-radius:130px 130px 4px 4px; }
  .home-hero .hero-proof-inner { grid-template-columns:1fr;gap:0;padding:12px 0; }
  .home-hero .hero-proof span { padding:10px 0;border-bottom:1px solid rgba(20,45,67,.11); }
  .home-hero .hero-proof span:last-child { border-bottom:0; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready .home-hero .hero-visual { animation:none; }
}

/* Give the promise its own light editorial chapter after the photo-led hero. */
.intro-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:clamp(78px,7vw,112px);
  background:linear-gradient(116deg,#f8e9e3 0%,#faf4f1 44%,#e8f4f6 100%);
  border-top:1px solid #e6cec6;
  border-bottom:1px solid #c7dfe4;
}
.intro-section::before {
  content:"";
  position:absolute;
  top:-250px;
  right:-180px;
  width:570px;
  height:570px;
  border:1px solid rgba(11,105,113,.17);
  border-radius:50%;
  box-shadow:0 0 0 76px rgba(11,105,113,.035),0 0 0 152px rgba(240,197,181,.08);
  pointer-events:none;
}
.intro-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.75fr);
  gap:clamp(50px,7vw,120px);
  align-items:end;
}
.intro-grid>div:first-child,.intro-grid>div:last-child { grid-column:auto; }
.intro-grid h2 {
  max-width:790px;
  margin-bottom:0;
  font-size:clamp(3.7rem,5vw,6.2rem);
  line-height:1.03;
}
.intro-grid .eyebrow { color:var(--teal-deep); }
.intro-grid>div:last-child {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  max-width:530px;
  padding:0 0 8px;
}
.intro-grid .large-copy {
  max-width:530px;
  margin:0 0 26px;
  color:var(--midnight);
  font-size:clamp(1.05rem,1.2vw,1.2rem);
  line-height:1.75;
}
.intro-grid .text-link { margin-top:0; }
@media(max-width:1150px) {
  .intro-grid { grid-template-columns:1fr;gap:30px; }
  .intro-grid>div:last-child { max-width:680px;padding:0; }
}
@media(max-width:850px) {
  .intro-section { padding-block:70px; }
  .intro-grid { grid-template-columns:1fr;gap:28px; }
  .intro-grid>div:last-child { max-width:680px;padding:0; }
}
@media(max-width:560px) {
  .intro-section { padding-block:58px; }
  .intro-grid h2 { font-size:clamp(3.1rem,11.7vw,4.2rem); }
}

/* Motion details on the first view; every element remains readable without motion. */
.home-hero .hero-visual { overflow:hidden; }
.home-hero .hero-visual img {
  transform:translate3d(var(--hero-move-x,0px),var(--hero-move-y,0px),0) scale(1.045);
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.home-hero .hero-visual::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--hero-x,74%) var(--hero-y,38%),rgba(255,244,225,.29),transparent 35%);
}
.home-hero .hero-copy h1 i::after {
  content:"";
  display:block;
  width:69%;
  height:4px;
  margin-top:11px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--peach),var(--teal));
  transform:scaleX(1);
  transform-origin:left;
}
.motion-ready .home-hero .hero-copy h1 i::after {
  animation:hero-line-draw .9s cubic-bezier(.18,.72,.24,1) .7s both;
}
@keyframes hero-line-draw {
  from { transform:scaleX(0); }
  to { transform:scaleX(1); }
}
.home-hero .hero-scroll-cue {
  position:absolute;
  right:0;
  bottom:36px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:9px 9px 9px 18px;
  border:1px solid rgba(231,243,246,.6);
  border-radius:2px;
  background:var(--midnight);
  box-shadow:0 14px 32px rgba(20,45,67,.23);
  color:var(--light-blue);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.home-hero .hero-scroll-cue:hover {
  background:var(--teal-deep);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(20,45,67,.3);
}
.home-hero .hero-scroll-cue:focus-visible { outline:3px solid var(--teal);outline-offset:4px; }
.home-hero .hero-scroll-arrow {
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(231,243,246,.45);
  border-radius:50%;
  font-size:1.1rem;
  line-height:1;
}
.motion-ready .home-hero .hero-scroll-arrow { animation:hero-arrow-float 2.2s ease-in-out infinite; }
@keyframes hero-arrow-float {
  0%,100% { transform:translateY(-2px); }
  50% { transform:translateY(3px); }
}
.home-hero .hero-proof { overflow:hidden; }
.home-hero .hero-proof::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--teal),var(--peach),var(--light-blue));
}
.motion-ready .home-hero .hero-proof span {
  animation:premium-rise .72s cubic-bezier(.18,.72,.24,1) both;
}
.motion-ready .home-hero .hero-proof span:nth-child(1) { animation-delay:.52s; }
.motion-ready .home-hero .hero-proof span:nth-child(2) { animation-delay:.67s; }
.motion-ready .home-hero .hero-proof span:nth-child(3) { animation-delay:.82s; }
#home-intro { scroll-margin-top:84px; }
.intro-grid h2 i { display:inline-block; }
.motion-ready .intro-grid>div.reveal h2 i {
  clip-path:inset(0 100% 0 0);
  transform:translateY(.14em);
  transition:clip-path .9s cubic-bezier(.18,.72,.24,1) .1s,transform .9s cubic-bezier(.18,.72,.24,1) .1s;
}
.motion-ready .intro-grid>div.reveal.is-visible h2 i {
  clip-path:inset(0 0 0 0);
  transform:translateY(0);
}
.motion-ready .intro-section::before { animation:intro-orbit 14s ease-in-out infinite alternate; }
@keyframes intro-orbit {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(-18px,12px,0); }
}
@media(max-width:850px) {
  .home-hero .hero-scroll-cue { display:none; }
  .home-hero .hero-visual img { transform:none;transition:none; }
  #home-intro { scroll-margin-top:72px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-hero .hero-visual img { transform:none;transition:none; }
  .motion-ready .home-hero .hero-copy h1 i::after,
  .motion-ready .home-hero .hero-scroll-arrow,
  .motion-ready .home-hero .hero-proof span,
  .motion-ready .intro-section::before { animation:none; }
  .motion-ready .intro-grid>div.reveal h2 i { clip-path:none;transform:none;transition:none; }
}

/* Give each part of the journey its own photograph; keep reusable CTAs graphic. */
.page-hero::before {
  background:radial-gradient(circle at 78% 30%,rgba(214,235,240,.7),transparent 34%),
    radial-gradient(circle at 10% 88%,rgba(248,226,213,.55),transparent 37%);
  filter:none;
  opacity:1;
}
.intro-section {
  background:linear-gradient(100deg,#fcfbf8 0%,#eaf5f7 56%,#f9ebe5 100%);
}
.service-grid .card:nth-child(4n+1)::before { background-image:url('/assets/clinic-entrance.jpg'); }
.service-grid .card:nth-child(4n+2)::before { background-image:url('/assets/clinic-consultation-room.jpg');background-position:center 58%; }
.service-grid .card:nth-child(4n+3)::before { background-image:url('/assets/clinic-exterior.jpg'); }
.service-grid .card:nth-child(4n+4)::before { background-image:url('/assets/clinic-suite-door.jpg'); }
.life-art {
  background:linear-gradient(90deg,rgba(13,34,54,.79),rgba(11,82,91,.42)),
    url('/assets/clinic-seating-room.jpg') center/cover;
}
.visit-section {
  background:linear-gradient(90deg,rgba(13,34,54,.92),rgba(13,34,54,.52)),
    url('/assets/clinic-exterior.jpg') center/cover;
}
.team-values {
  background:radial-gradient(circle at 88% 20%,rgba(224,240,244,.9),transparent 38%),
    linear-gradient(110deg,#f9f6f0,#f2f6f4);
}
.faq-page {
  background:radial-gradient(circle at 92% 15%,rgba(213,234,238,.66),transparent 36%),
    linear-gradient(135deg,#f8faf9,#f9ede7);
}
.resource-grid .card::before { background-image:url('/assets/clinic-consultation-room.jpg'); }
.resource-grid .card:nth-child(2)::before { background-image:url('/assets/clinic-entrance.jpg'); }
.resource-grid .card:nth-child(3)::before { background-image:url('/assets/clinic-entrance.jpg'); }
.resource-grid .card:nth-child(4)::before { background-image:url('/assets/clinic-exterior.jpg'); }
.new-patient-strip {
  background:radial-gradient(circle at 95% 0%,rgba(244,204,187,.62),transparent 29%),
    linear-gradient(100deg,#eaf5f7,#f7f3ed);
}
.cta-band {
  background:#0d2236;
  background-image:radial-gradient(circle at 78% 10%,rgba(29,116,121,.36),transparent 40%),
    radial-gradient(circle at 5% 100%,rgba(225,167,143,.18),transparent 42%),
    linear-gradient(120deg,#0d2236,#123f51);
}

/* Page portraits retain their composition instead of being cut by an oversized arch. */
.page-hero-art {
  height:auto;
  aspect-ratio:8/5;
}
.page-hero-art::before { content:none; }
.page-hero-art img {
  border-radius:18px;
  object-position:center;
  box-shadow:0 22px 48px rgba(20,45,67,.15);
}
@keyframes page-photo-enter {
  from { opacity:.55;transform:translateY(12px); }
  to { opacity:1;transform:translateY(0); }
}
.motion-ready .page-hero-art {
  animation:page-photo-enter .8s cubic-bezier(.18,.72,.24,1) both;
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready .page-hero-art { animation:none; }
}

/* Shared first-screen treatment for every inner page. Keep the photograph behind
   the copy, with the same pale veil, typography and actions as the home hero. */
.page-hero {
  display:flex;
  flex-direction:column;
  isolation:isolate;
  min-height:min(780px,calc(100svh - 110px));
  padding:0;
  background:#eaf4f5;
}
.page-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(250,251,249,.99) 0%,rgba(242,249,249,.98) 31%,rgba(231,245,247,.8) 52%,rgba(231,245,247,.12) 76%),linear-gradient(0deg,rgba(232,246,248,.35),transparent 48%);
  filter:none;
  opacity:1;
  pointer-events:none;
}
.page-hero::after { display:none; }
.page-hero-visual {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.page-hero-visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
}
.page-hero-grid {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  flex:1;
  min-height:640px;
}
.page-hero-copy {
  width:min(59%,790px);
  max-width:790px;
  padding:clamp(68px,7vw,110px) 0 78px;
}
.page-hero .breadcrumbs ol {
  margin:0 0 38px;
  color:var(--midnight);
  font-size:.76rem;
  font-weight:700;
}
.page-hero .breadcrumbs a:hover { color:var(--teal);text-decoration:underline;text-underline-offset:4px; }
.page-hero .eyebrow { margin-bottom:22px;color:var(--teal-deep);font-weight:800; }
.page-hero .eyebrow::before { display:none; }
.page-hero h1 {
  max-width:790px;
  margin:0 0 28px;
  color:var(--midnight);
  font-size:clamp(4.4rem,5.9vw,7.5rem);
  line-height:.98;
  text-wrap:balance;
}
.page-hero h1 i { color:var(--teal); }
.page-hero-long h1 { font-size:clamp(3.6rem,4.8vw,6rem); }
.page-hero .lead {
  max-width:590px;
  margin:0;
  color:var(--midnight);
  font-size:clamp(1.08rem,1.25vw,1.25rem);
  line-height:1.68;
}
.page-hero .hero-actions { margin-top:30px; }
.page-hero .hero-actions .button { min-height:56px; }
.page-hero .hero-actions .button-ghost { background:var(--midnight);border-color:var(--midnight);color:#fff; }
.page-hero .hero-actions .button-ghost:hover { background:var(--teal-deep);border-color:var(--teal-deep); }
.page-hero .hero-scroll-cue {
  position:absolute;
  right:0;
  bottom:36px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:9px 9px 9px 18px;
  border:1px solid rgba(231,243,246,.6);
  border-radius:2px;
  background:var(--midnight);
  box-shadow:0 14px 32px rgba(20,45,67,.23);
  color:var(--light-blue);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .25s ease,transform .25s ease;
}
.page-hero .hero-scroll-cue:hover { background:var(--teal-deep);color:#fff;transform:translateY(-3px); }
.page-hero .hero-scroll-arrow { width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(231,243,246,.45);border-radius:50%;font-size:1.1rem;line-height:1; }
.scroll-target { height:0;scroll-margin-top:84px; }
.motion-ready .page-hero-visual { animation:hero-scene-enter 1.2s ease both; }

@media(max-width:850px) {
  .page-hero { min-height:0;padding:0;background:#f0f8f9; }
  .page-hero::before { z-index:0;background:radial-gradient(circle at 0% 0%,rgba(240,197,181,.34),transparent 45%); }
  .page-hero-grid { order:1;display:block;min-height:0; }
  .page-hero-copy { width:100%;max-width:700px;padding:40px 0 35px; }
  .page-hero .breadcrumbs ol { margin-bottom:32px; }
  .page-hero h1 { font-size:clamp(4rem,10.5vw,6rem); }
  .page-hero-long h1 { font-size:clamp(3.6rem,9vw,5.2rem); }
  .page-hero-visual { order:2;position:relative;inset:auto;z-index:1;width:min(calc(100% - 38px),680px);height:450px;margin:0 auto 20px;border-radius:180px 180px 4px 4px; }
  .page-hero .hero-scroll-cue { display:none; }
}
@media(max-width:560px) {
  .page-hero-copy { padding:30px 0; }
  .page-hero .breadcrumbs ol { margin-bottom:24px; }
  .page-hero .eyebrow { margin-bottom:18px; }
  .page-hero h1 { font-size:clamp(3.45rem,13vw,5.2rem);margin-bottom:20px; }
  .page-hero-long h1 { font-size:clamp(3.1rem,10.5vw,4.4rem); }
  .page-hero .lead { font-size:1rem;line-height:1.6; }
  .page-hero .hero-actions { gap:10px;margin-top:25px; }
  .page-hero .hero-actions .button { width:100%; }
  .page-hero-visual { height:340px;border-radius:130px 130px 4px 4px; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready .page-hero-visual { animation:none; }
}

/* Real clinic photographs, booking links, and inquiry forms. */
.booking-links { display:flex;flex-wrap:wrap;gap:12px;align-items:center; }
.booking-links .button { white-space:normal;text-align:center; }
.photo-frame { min-height:380px;border-radius:220px 220px 4px 4px;overflow:hidden;box-shadow:0 22px 65px rgba(20,45,67,.16); }
.photo-frame img { width:100%;height:100%;min-height:380px;object-fit:cover; }
.condition-service-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 34px; }
.condition-service-grid article { padding:32px;background:#fff;border:1px solid #cbdde2; }
.condition-service-grid h2 { font-size:clamp(1.7rem,2.5vw,2.4rem);margin-bottom:12px; }
.condition-service-grid p { color:var(--muted);margin:0; }
.price-card h2 { font-size:clamp(3.8rem,5vw,5rem);color:var(--teal);margin:35px 0 18px; }
.clinic-gallery-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.clinic-gallery-grid figure { margin:0;background:#fff;box-shadow:0 12px 35px rgba(20,45,67,.1); }
.clinic-gallery-grid img { width:100%;height:270px;object-fit:cover; }
.clinic-gallery-grid figcaption { padding:14px 17px;color:var(--midnight);font-weight:700;font-size:.84rem; }
.inquiry-section { background:linear-gradient(120deg,#e8f4f6,#fbf6f2); }
.inquiry-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,6vw,90px);align-items:start; }
.inquiry-grid>div:first-child { position:sticky;top:115px; }
.inquiry-grid h2 { max-width:650px;color:var(--midnight); }
.inquiry-grid p { max-width:650px;color:var(--muted); }
.inquiry-grid p a { color:var(--teal-deep);font-weight:700; }
.inquiry-form { display:grid;gap:19px;padding:clamp(25px,4vw,50px);background:#fff;border:1px solid #d5e2e5;box-shadow:0 24px 70px rgba(20,45,67,.1); }
.inquiry-form .form-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.inquiry-form label { display:grid;gap:8px;color:var(--midnight);font-size:.82rem;font-weight:750;letter-spacing:.02em; }
.inquiry-form label span { color:#b75245; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { width:100%;min-height:48px;border:1px solid #b8cbd0;border-radius:2px;padding:11px 13px;background:#fbfdfd;color:var(--midnight);font:400 1rem/1.5 var(--sans); }
.inquiry-form textarea { min-height:145px;resize:vertical; }
.inquiry-form :is(input,select,textarea):focus { outline:3px solid #b0dfe4;outline-offset:1px;border-color:var(--teal); }
.inquiry-form button { justify-self:start;cursor:pointer; }
.inquiry-form button:disabled { opacity:.7;cursor:wait; }
.inquiry-form .form-honeypot { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.form-status { margin:0!important;font-size:.9rem; }
.form-status.success { color:#15654e!important; }
.form-status.error { color:#a53327!important; }
@media(max-width:1000px) { .clinic-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .inquiry-grid { grid-template-columns:1fr; }.inquiry-grid>div:first-child { position:static; } }
@media(max-width:560px) { .condition-service-grid,.clinic-gallery-grid,.inquiry-form .form-row { grid-template-columns:1fr; }.booking-links { flex-direction:column;align-items:stretch; }.booking-links .button { width:100%; }.inquiry-form { padding:23px; }.photo-frame,.photo-frame img { min-height:300px; } }

/* Homepage: an editorial first impression using photographs of the actual clinic. */
.home-hero-editorial {
  min-height:0;
  padding:0;
  background:linear-gradient(112deg,#f9f7f4 0%,#f1f8f9 58%,#dfeef0 100%);
}
.home-hero-editorial::before {
  z-index:0;
  background:radial-gradient(circle at -8% 75%,rgba(239,193,177,.32),transparent 33%),
    radial-gradient(circle at 94% 8%,rgba(105,171,177,.2),transparent 34%);
}
.home-hero-editorial .hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(38px,5vw,96px);
  align-items:center;
  min-height:clamp(630px,75svh,790px);
  padding-block:clamp(48px,5vw,82px);
}
.home-hero-editorial .hero-copy {
  position:relative;
  z-index:2;
  width:auto;
  max-width:780px;
  padding:0 0 10px;
}
.home-hero-editorial .hero-copy .eyebrow {
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:32px;
  color:var(--teal-deep);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.17em;
}
.home-hero-editorial .hero-copy .eyebrow::before {
  content:"";
  width:30px;
  height:2px;
  background:var(--peach);
}
.home-hero-editorial .hero-copy h1 {
  max-width:780px;
  margin-bottom:28px;
  color:var(--midnight);
  font-size:clamp(4.5rem,6.4vw,8.4rem);
  line-height:.97;
  text-wrap:balance;
}
.home-hero-editorial .hero-copy h1 i {
  display:inline-block;
  color:var(--teal);
  white-space:nowrap;
}
.home-hero-editorial .hero-copy h1 i::after {
  width:95%;
  height:3px;
  margin-top:13px;
}
.home-hero-editorial .hero-lead {
  max-width:600px;
  margin-bottom:0;
  color:#365267;
  font-size:clamp(1.08rem,1.25vw,1.25rem);
  line-height:1.7;
}
.home-hero-editorial .hero-actions { margin-top:30px; }
.home-hero-editorial .hero-text-option {
  margin:20px 0 0;
  color:#4e6b76;
  font-size:.88rem;
}
.home-hero-editorial .hero-text-option a {
  color:var(--teal-deep);
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.home-hero-editorial .hero-visual {
  position:relative;
  inset:auto;
  z-index:1;
  width:100%;
  height:clamp(520px,48vw,680px);
  min-height:0;
  margin:0;
  overflow:visible;
  border-radius:0;
}
.home-hero-editorial .hero-visual::after { display:none; }
.home-hero-editorial .hero-visual figure { margin:0; }
.home-hero-editorial .hero-main-photo {
  position:absolute;
  inset:0 0 24px 13%;
  overflow:hidden;
  border-radius:200px 200px 10px 10px;
  background:#d8e5e7;
  box-shadow:0 28px 65px rgba(20,45,67,.17);
}
.home-hero-editorial .hero-visual img {
  display:block;
  width:100%;
  height:100%;
  border-radius:0;
  object-fit:cover;
  transform:none;
  transition:none;
  box-shadow:none;
}
.home-hero-editorial .hero-main-photo img { object-position:55% 48%; }
.home-hero-editorial .hero-detail-photo {
  position:absolute;
  left:0;
  bottom:0;
  width:35%;
  height:42%;
  overflow:hidden;
  border:7px solid #f5faf9;
  border-radius:110px 110px 7px 7px;
  background:#b87639;
  box-shadow:0 18px 42px rgba(20,45,67,.22);
}
.home-hero-editorial .hero-detail-photo img { object-position:center 48%; }
.home-hero-editorial .hero-photo-caption {
  position:absolute;
  right:-14px;
  bottom:44px;
  display:grid;
  gap:4px;
  max-width:290px;
  padding:17px 21px;
  background:var(--midnight);
  color:#fff;
  box-shadow:0 14px 35px rgba(20,45,67,.23);
}
.home-hero-editorial .hero-photo-caption span {
  color:#c3e9ed;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-hero-editorial .hero-photo-caption strong { font-size:.82rem;line-height:1.4; }
.home-hero-editorial .hero-proof { background:rgba(229,244,246,.88); }
.home-hero-editorial .hero-proof-inner { padding-block:22px; }
@media(max-width:1050px) {
  .home-hero-editorial .hero-grid { gap:35px;min-height:0; }
  .home-hero-editorial .hero-copy h1 { font-size:clamp(3.7rem,6vw,6.2rem); }
  .home-hero-editorial .hero-visual { height:520px; }
}
@media(max-width:850px) {
  .home-hero-editorial .hero-grid { grid-template-columns:1fr;gap:35px;padding-block:42px 46px; }
  .home-hero-editorial .hero-copy { order:2;width:100%;max-width:700px;padding:0; }
  .home-hero-editorial .hero-visual { order:1;width:min(100%,680px);height:410px;margin:0 auto; }
  .home-hero-editorial .hero-copy h1 { font-size:clamp(4.1rem,9vw,6.3rem); }
  .home-hero-editorial .hero-main-photo { inset:0 7% 20px 7%;border-radius:170px 170px 9px 9px; }
  .home-hero-editorial .hero-detail-photo { left:0;width:27%;height:43%; }
  .home-hero-editorial .hero-photo-caption { right:0;bottom:35px; }
}
@media(max-width:560px) {
  .home-hero-editorial .hero-grid { gap:28px;padding-block:22px 35px; }
  .home-hero-editorial .hero-visual { height:285px; }
  .home-hero-editorial .hero-main-photo { inset:0 4% 13px 4%;border-radius:125px 125px 7px 7px; }
  .home-hero-editorial .hero-main-photo img { object-position:center 54%; }
  .home-hero-editorial .hero-detail-photo { width:30%;height:48%;border-width:4px;border-radius:75px 75px 5px 5px; }
  .home-hero-editorial .hero-photo-caption { right:0;bottom:23px;max-width:62%;padding:10px 12px; }
  .home-hero-editorial .hero-photo-caption span { font-size:.51rem;letter-spacing:.08em; }
  .home-hero-editorial .hero-photo-caption strong { font-size:.65rem; }
  .home-hero-editorial .hero-copy .eyebrow { margin-bottom:18px;font-size:.62rem;letter-spacing:.12em; }
  .home-hero-editorial .hero-copy h1 { font-size:clamp(3.15rem,11.7vw,4.7rem);margin-bottom:21px; }
  .home-hero-editorial .hero-copy h1 i { white-space:normal; }
  .home-hero-editorial .hero-copy h1 i::after { margin-top:8px; }
  .home-hero-editorial .hero-lead { font-size:1rem;line-height:1.6; }
  .home-hero-editorial .hero-actions { margin-top:22px; }
  .home-hero-editorial .hero-actions .button { width:100%; }
  .home-hero-editorial .hero-proof-inner { padding-block:10px; }
}
