/* Header and homepage finishing layer. Keep content, routes and natural photo colors intact. */
.care-ribbon { background:#fcf2f4; color:#743044; border-bottom:1px solid #f1e0e5; }
.care-ribbon a { color:#743044; }
.header { background:#fffefdf5; box-shadow:0 5px 25px #521d2b06; backdrop-filter:blur(14px); }
.header .nav-row { min-height:88px; }
.header .identity>img { width:46px; height:46px; padding:5px; border:1px solid #eedbe1; border-radius:15px; background:#fff; }
.header .identity-copy strong { font-weight:800; letter-spacing:0; }
.header .identity-copy small { margin-top:3px; color:#795e67; }
.header .nav-row nav>a,.header .mega>summary { padding-block:10px; white-space:nowrap; }
.header .nav-row nav>a:hover,.header .mega>summary:hover { color:#a52342; }
.header .languages { background:#fff; border-color:#eee1e5; padding:5px; gap:5px; }
.header .languages a { min-width:36px; height:36px; }
.header .languages [aria-current] { box-shadow:0 0 0 1.5px #922b42; }
.header .nav-actions>.button { box-shadow:none; border-radius:13px; }
.header .mobile-toggle { border:1px solid #ead5dc; border-radius:12px; background:#fff7f9; }
/* Explicit foreground/background pairs prevent inherited hover colors from colliding. */
.header .mega-panel { z-index:20; padding:16px; background:#fffafc; border:1px solid #e6cbd5; border-top:3px solid #9d2949; box-shadow:0 22px 56px #35132626; }
.header .mega-panel a { display:flex; align-items:center; min-height:48px; padding:12px 14px; background:#f7edf1; color:#462333; border:1px solid transparent; transition:background-color .18s,color .18s,border-color .18s; }
.header .mega-panel a:hover,.header .mega-panel a:focus-visible { background:#75223e; color:#fff; border-color:#75223e; }
.header .mega-panel .mega-all { background:#3d1b2c; color:#fff; }
.header .mega-panel a:focus-visible { outline:3px solid #cb8ca3; outline-offset:2px; }
.header .nav-row nav>a,.header .mega>summary { position:relative; min-height:44px; display:flex; align-items:center; }
.header .nav-row nav>a::after,.header .mega>summary::after { content:''; position:absolute; bottom:3px; inset-inline:0; height:2px; border-radius:2px; background:linear-gradient(90deg,#56213e,#b4233b); transform:scaleX(0); transition:transform .2s ease; }
.header .nav-row nav>a:hover::after,.header .nav-row nav>a:focus-visible::after,.header .mega[open]>summary::after { transform:scaleX(1); }
.header .mega>summary { cursor:pointer; }
.header .mega[open]>summary { color:#84213e; }
.header .mega>summary>span { transition:transform .2s ease; }
.header .mega[open]>summary>span { transform:rotate(180deg); }
@media(max-width:1160px) { .header .mega-panel { max-height:60vh; max-height:60dvh; overflow-y:auto; overscroll-behavior:contain; } }
@media(max-width:540px) { .header .mega-panel { grid-template-columns:1fr; padding:10px; } .header .mega-panel a { font-size:.9rem; } }
@media(prefers-reduced-motion:reduce) { .header .mega-panel,.header .mega-panel a,.header .mega>summary>span,.header .nav-row nav>a::after,.header .mega>summary::after { animation:none; transition:none; } }
.home-hero { position:relative; isolation:isolate; background:radial-gradient(ellipse at 5% 40%,#f5dfe680,transparent 55%),linear-gradient(120deg,#fffdfd,#fff8fa); }
.home-hero-grid { position:relative; z-index:1; min-height:570px; padding-block:54px 64px; gap:54px; }
.home-hero-copy h1 { font-size:clamp(2.1rem,3.5vw,3.3rem); line-height:1.6; letter-spacing:-.025em; text-wrap:balance; }
.home-hero-copy .eyebrow { border:0; padding:0; background:none; color:#8b2941; gap:9px; align-items:center; }
.home-hero-copy .eyebrow::before { content:''; width:24px; height:2px; background:#b14860; border-radius:2px; }
.home-hero-copy .lead { color:#705960; font-size:1.02rem; line-height:2.1; }
.home-hero-copy .actions>.button { border-radius:14px; box-shadow:0 10px 24px #89263d19; }
.home-hero-copy .actions>.text-link { font-size:.94rem; border-color:#ddbac5; }
.home-credentials { gap:24px; margin-top:27px; padding-top:22px; border-top:1px solid #ead5dc; width:fit-content; }
.home-credentials span { min-width:0; padding:0; border:0; border-radius:0; background:none; font-size:.76rem; gap:3px; }
.home-credentials span+span { border-inline-start:1px solid #e5cbd4; padding-inline-start:24px; }
.home-credentials b { font-size:1rem; }
.home-hero .home-media { border-radius:24px; border:1px solid #ead9df; padding:10px 10px 82px; background:#fff; box-shadow:0 22px 55px #63233912; overflow:hidden; }
.home-media .portrait-slide { border-radius:16px; object-fit:contain; opacity:0; pointer-events:none; }
.home-media .portrait-slide.active { opacity:1; }
.hero-photo-caption { position:absolute; bottom:19px; inset-inline-start:20px; display:flex; align-items:center; gap:10px; max-width:calc(100% - 177px); }
.hero-photo-caption svg { width:37px; height:37px; flex:0 0 37px; fill:none; stroke:#992c48; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hero-photo-caption span { display:flex; flex-direction:column; }
.hero-photo-caption b { color:#532032; font-size:.92rem; }
.hero-photo-caption small { color:#7b616b; font-size:.68rem; }
.home-media .slider-controls { bottom:20px; inset-inline-end:18px; gap:6px; }
.home-media .slider-controls button { width:38px; height:40px; min-width:38px; border-radius:11px; box-shadow:none; background:#fcf4f6; border:1px solid #efdee4; }
.home-media .slider-controls button:hover { background:#f5e3e9; }
.home-media .slider-controls button:focus-visible { outline:2px solid #922b42; outline-offset:2px; }
.hero-ecg-background { position:absolute; bottom:12px; inset-inline-start:0; width:100%; height:135px; fill:none; stroke:#96354e; stroke-width:1.5; opacity:.065; pointer-events:none; z-index:0; }
.hero-ecg-trace { stroke-width:3; stroke-dasharray:120 1600; }
.home-hero+.trust-rail { position:relative; overflow:hidden; background:linear-gradient(110deg,#6c2035,#952e47 52%,#6c2035); border:0; }
.home-hero+.trust-rail .trust-grid { padding-block:25px; gap:32px; }
.home-hero+.trust-rail .trust-grid>div { position:relative; padding-inline-start:21px; }
.home-hero+.trust-rail .trust-grid>div::before { content:''; position:absolute; inset-inline-start:0; top:8px; bottom:8px; width:2px; border-radius:2px; background:#edb2c3; }
.home-hero+.trust-rail b { color:#fff; font-size:1.03rem; }
.home-hero+.trust-rail span { color:#f8e5eb; font-size:.84rem; }
.home-services { background:#fffafc; }
@media(max-width:700px) { .chat-widget .chat-toggle { min-height:44px; padding:8px 12px; font-size:.72rem; box-shadow:0 4px 14px #53203214; } .chat-widget { bottom:12px; inset-inline-end:12px; } }
@media(min-width:1161px) { .header .nav-row { column-gap:24px; } .header .nav-row nav { justify-content:center; gap:21px; } }
@media(min-width:701px) and (max-width:1050px) { .home-hero-grid { gap:30px; min-height:520px; } .hero-photo-caption svg { display:none; } .hero-photo-caption b { font-size:.8rem; } .hero-photo-caption small { font-size:.6rem; } }
@media(max-width:1160px) { .header .nav-row nav.open { padding:12px 0 22px; border-top:1px solid #f0e1e6; gap:10px 22px; flex-wrap:wrap; } .header .nav-row nav.open>a { padding:7px 10px; border-radius:9px; background:#fcf6f8; } }
@media(max-width:700px) { .home-hero-grid { min-height:0; padding-block:32px 36px; gap:28px; } .home-hero-copy h1 { font-size:clamp(1.85rem,7.5vw,2.6rem); line-height:1.65; } .home-hero-copy .lead { font-size:.96rem; } .home-hero-copy .eyebrow { font-size:.8rem; } .home-credentials { margin-top:22px; } .home-hero .home-media { max-height:none; border-radius:20px; } .home-hero+.trust-rail .trust-grid { gap:18px; padding-block:24px; } }
@media(max-width:540px) { .header .nav-row { min-height:76px; } .header .identity-copy strong { font-size:.9rem; } .header .nav-row nav.open { margin-top:4px; } .header .languages { gap:2px; padding:3px; } .header .languages a { min-width:32px; width:32px; height:32px; } .hero-photo-caption { inset-inline-start:14px; max-width:calc(100% - 155px); gap:7px; } .hero-photo-caption svg { display:none; } .hero-photo-caption b { font-size:.78rem; } .hero-photo-caption small { font-size:.58rem; } .home-media .slider-controls { inset-inline-end:12px; } .home-media .slider-controls button { min-width:36px; width:36px; } .home-credentials { display:flex; width:auto; } .home-hero+.trust-rail .trust-grid { grid-template-columns:1fr; } .home-hero+.trust-rail .trust-grid>div { border:0; text-align:start; } }
@media(prefers-reduced-motion:no-preference) { .hero-ecg-trace { animation:hero-ecg-pass 9s linear infinite; } }
@keyframes hero-ecg-pass { from { stroke-dashoffset:1720; } to { stroke-dashoffset:0; } }
@media(prefers-reduced-motion:reduce) { .hero-ecg-trace { animation:none; } }
