/* Shared burgundy editorial system. Content, route and media behavior stay intact. */
:root { --wine-deep:#361124; --wine:#6b203b; --wine-soft:#f6e9ee; --wine-line:#e5cbd6; }
.header { border-bottom:1px solid var(--wine-line); box-shadow:0 5px 24px #47162b0b; }
.header .identity-copy strong { color:#5b2038; }
.header .button { background:#75213e; }
.header .button:hover { background:#4c142b; }
/* Keep foreground/background paired: prose links and header accents must not leak into CTAs. */
.consultation-inline,.about-booking-links { --booking-ink:#602038; --booking-surface:#fff2f8; --booking-active-ink:#ffffff; --booking-active-surface:#481329; }
.consultation-inline a.button,.about-booking-links a.button { color:var(--booking-ink)!important; background:var(--booking-surface)!important; border:1px solid #efd2df; text-decoration:none; }
.consultation-inline a.button:hover,.consultation-inline a.button:focus-visible,.about-booking-links a.button:hover,.about-booking-links a.button:focus-visible { color:var(--booking-active-ink)!important; background:var(--booking-active-surface)!important; border-color:var(--booking-active-surface); }
.consultation-inline a.button:focus-visible,.about-booking-links a.button:focus-visible { outline:3px solid #a05776; outline-offset:3px; }
/* Different ornamental motifs, shared palette. No overlay is allowed to intercept input. */
.page-heading,.encyclopedia-hero,.article-hero-wine,.article-heading.watch-layout {
 position:relative; isolation:isolate; color:#fff6fa; background:radial-gradient(ellipse at 10% 10%,#91395066,transparent 60%),linear-gradient(125deg,#351124,#6d203b); border:0;
}
.page-heading { padding-block:58px 62px; }
.page-heading::after,.encyclopedia-hero::after,.article-hero-wine::after { content:''; position:absolute; pointer-events:none; z-index:-1; inset:0; opacity:.18; background:repeating-linear-gradient(125deg,transparent 0 54px,#edb9d035 55px 56px,transparent 57px 108px); mask-image:linear-gradient(90deg,#000,transparent 65%); }
.page-heading h1,.encyclopedia-hero h1,.article-hero-wine h1,.article-heading.watch-layout h1 { color:#fff8fb; text-wrap:balance; overflow-wrap:anywhere; }
.page-heading .eyebrow,.encyclopedia-hero .eyebrow,.article-hero-wine .eyebrow,.article-heading.watch-layout .eyebrow { color:#f3c9d9; }
.page-heading .lead,.encyclopedia-hero__copy>p,.article-hero-wine .lead,.article-heading.watch-layout .lead { color:#f0dbe4; }
.page-heading .science-art { opacity:.2; color:#f8cede; }
.page-heading .science-art i { border-color:#ecc0d0; }
.encyclopedia-hero { padding-block:54px 64px; }
.encyclopedia-hero::after { background:radial-gradient(#ffdaea66 1px,transparent 1px); background-size:24px 24px; }
.encyclopedia-hero__aside { color:#ffe9f2; background:#ffffff0b; border:1px solid #dea6bc55; border-radius:24px 24px 60px 24px; }
.encyclopedia-hero__aside :is(span,strong,small) { color:inherit; }
.encyclopedia-controls { position:relative; margin-top:24px; padding-block:22px; border-bottom:1px solid var(--wine-line); }
.knowledge-topics a[aria-current="page"] { background:#6b203b; color:white; border-color:#6b203b; }
.knowledge-featured>a { background:linear-gradient(130deg,#fff,#f8ecf1); border:1px solid var(--wine-line); border-radius:26px; overflow:hidden; }
.knowledge-featured__copy { padding:28px; }
.knowledge-archive .article-card,.services-grid .service-card { border-color:var(--wine-line); box-shadow:0 8px 24px #41152a08; }
.knowledge-archive .article-card__footer,.service-card .text-link { color:#73233f; }
/* Article title and an uncropped photograph form a compact two-column masthead. */
.article-heading.article-hero-wine { max-width:none; width:100%; margin:0; padding:44px 0; text-align:start; }
.article-hero-wine__grid { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:40px; }
.article-hero-wine__grid:not(:has(.article-visual)) { grid-template-columns:1fr; max-width:960px; }
.article-hero-wine__copy { min-width:0; }
.article-hero-wine .article-heading__meta { justify-content:flex-start; color:#e9b8cc; flex-wrap:wrap; gap:10px 18px; }
.article-hero-wine .article-heading__meta a { color:#62213b; background:#ffedf5; }
.article-hero-wine .article-heading__meta>span { color:#ebc4d3; }
.article-hero-wine h1 { font-size:clamp(1.7rem,2.6vw,2.6rem); line-height:1.65; margin-block:20px 16px; }
.article-hero-wine .lead { margin-inline:0; font-size:1rem; line-height:2; }
.article-hero-wine .meta { color:#e4bbca; font-size:.78rem; margin-top:20px; }
.article-heading.article-hero-wine .article-visual { width:100%; margin:0; padding:10px; border:1px solid #e0b4c655; border-radius:24px; background:#fff6fa; box-shadow:0 18px 46px #1a08162e; }
.article-heading.article-hero-wine .article-cover { display:block; border-radius:16px; width:100%; height:auto; max-height:430px; object-fit:contain; }
.reading-layout--editorial { padding-top:42px; }
.reading-layout--editorial .reading-nav { border-top:4px solid #7b2d49; background:linear-gradient(#f7eaf0,#fffafb); }
.reading-layout--editorial .reading-author strong { color:#63223a; }
.reading-layout--editorial .reading-nav nav a:hover { background:#f0dce5; color:#5d1c35; border-radius:8px; }
.prose--encyclopedia { counter-reset:chapter; }
.prose--encyclopedia h2.content-heading { counter-increment:chapter; position:relative; display:flex; align-items:flex-start; gap:15px; padding:22px; margin-block:44px 22px; border:1px solid var(--wine-line); border-inline-start:4px solid #7c2a46; border-radius:16px; background:linear-gradient(115deg,#fdf7f9,#f2e2ea); line-height:1.8; }
.prose--encyclopedia h2.content-heading::before { content:counter(chapter,decimal-leading-zero); content:counter(chapter,decimal-leading-zero) / ''; position:static; inset:auto; direction:ltr; flex:none; display:grid; place-items:center; width:42px; height:auto; min-height:42px; font-size:1.08rem; font-weight:500; color:#fff5fa; background:#72253f; border-radius:12px; font-variant-numeric:tabular-nums; }
.prose--encyclopedia h2.content-heading:nth-of-type(3n+2) { background:#fffafa; border-inline-start-color:#a24662; }
.prose--encyclopedia h3.content-heading { padding-bottom:10px; border-bottom:1px solid #ead6df; }
.prose--encyclopedia figure { padding:10px; border:1px solid var(--wine-line); box-shadow:0 10px 28px #54243a08; }
.prose--encyclopedia blockquote { border-inline-start:3px solid #8b3452; padding:20px 24px; margin-inline:0; background:#f8edf2; border-radius:14px; }
.prose--encyclopedia :is(ul,ol) li { padding-block:5px; }
.prose--encyclopedia :is(ul,ol) li::marker { color:#792744; }
.prose--encyclopedia .sources { background:#f7ecf1; border-top:3px solid #79314c; }
.prose--encyclopedia .faq { border-color:var(--wine-line); background:#fffcfd; border-radius:12px; }
.article-heading.watch-layout { border-radius:0 0 26px 26px; padding:40px 28px; }
.service-guide-intro { border-inline-start:4px solid #792744; padding-inline-start:24px; }
.service-story { border-color:var(--wine-line); }
.tools-grid .card { border-top:3px solid #81334e; background:linear-gradient(145deg,#fff,#f8edf2); }
.tool-panel { border-top:4px solid #732740; }
.consultation { background:radial-gradient(ellipse at 0 0,#993b58,transparent 60%),linear-gradient(115deg,#421329,#74233d); }
.consultation :is(h2,p,.eyebrow) { color:#fff1f7; }
.footer { background:radial-gradient(ellipse at 100% 0,#6f233d,transparent 65%),#2f101e; }
/* More burgundy on the homepage without deleting or reordering any section. */
.homepage-art .home-hero { background:radial-gradient(ellipse at 8% 20%,#a1466555,transparent 65%),linear-gradient(115deg,#361124,#6a203b); color:#fff6fa; }
.homepage-art .home-hero :is(h1,.lead) { color:#fff4f9; }
.homepage-art .home-hero .eyebrow { color:#f4c7d9; }
.homepage-art .home-hero::before { background-image:radial-gradient(#f5c5d833 1px,transparent 1px); }
.homepage-art .home-hero .hero-orbits { stroke:#ecc0d1; opacity:.3; }
.homepage-art .home-hero .hero-ecg-background { color:#efbbd1; }
.homepage-art .home-hero .button { background:#fff1f7; color:#621b35!important; border-color:#efd2df; }
.homepage-art .home-hero .button:hover { background:white; color:#401127!important; }
.homepage-art .home-hero .text-link { color:#ffe1ee; border-color:#cc91a8; }
.homepage-art .home-hero .hero-note { color:#edcad9; }
.homepage-art .home-credentials,.homepage-art .home-credentials span { color:#ebcbd8; }
.homepage-art .home-credentials b { color:#fff1f8; }
.homepage-art .trust-rail { background:linear-gradient(100deg,#3e1228,#72243e); border-top:1px solid #dfabc333; }
.homepage-art .home-services { background:linear-gradient(180deg,#f0dbe4,#fcf4f7 55%,#f5e6ed); }
.homepage-art .home-services .section-title { border-inline-start:4px solid #772641; padding-inline-start:20px; }
.homepage-art .doctor-intro::before { background:radial-gradient(ellipse at 90% 50%,#8d35514d,transparent 65%),#4a172e; }
.homepage-art .doctor-intro :is(h2,.lead,p) { color:#f7e8ef; }
.homepage-art .doctor-intro .eyebrow { color:#eebdd0; }
.homepage-art .doctor-intro .care-list li { color:#f4dbe6; }
.homepage-art .doctor-ecg { opacity:.3; bottom:2%; }
.homepage-art .doctor-ecg path { stroke:#fff2f9; stroke-width:2.5; }
.homepage-art .hero-ecg-background { stroke:#fff1f8; opacity:.24; }
.homepage-art .doctor-intro .text-link { color:#ffdeed; border-color:#cc91a8; }
.homepage-art .doctor-intro .button { background:#fff0f7; color:#66213a!important; }
.homepage-art .home-location-copy { border-inline-start:3px solid #87314d; padding-inline-start:24px; }
.homepage-art .home-testimonials-clinic .section-title h2 { color:#602139; }
@media(max-width:850px) {
 .article-hero-wine__grid { grid-template-columns:1fr; gap:24px; }
 .article-heading.article-hero-wine { padding-block:30px; }
 .article-heading.article-hero-wine .article-visual { max-width:600px; }
 .article-hero-wine .article-heading__meta { font-size:.76rem; }
 .article-hero-wine h1 { font-size:clamp(1.45rem,5.5vw,2rem); }
 .page-heading,.encyclopedia-hero { padding-block:36px 40px; }
 .reading-layout--editorial { padding-top:26px; }
 .prose--encyclopedia h2.content-heading { padding:16px 12px; gap:10px; font-size:1.18rem; margin-top:32px; }
 .prose--encyclopedia h2.content-heading::before { width:34px; min-height:34px; font-size:.92rem; border-radius:9px; }
 .knowledge-featured__copy { padding:22px; }
}
@media(max-width:1160px) { .header .nav-row nav.open { max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; } }
@media(prefers-reduced-motion:reduce) { .article-hero-wine::after,.page-heading::after { animation:none; } }
