/* =========================================
   Gujarat Hospital -- Custom Theme Stylesheet
   PLACEHOLDER colors below in --gh-primary,
   --gh-primary-dark, --gh-accent variables.
   Replace with real brand hex values once confirmed.
   ========================================= */

:root {
    /* Pass 60 palette: maroon carries the brand, cream carries the page, orange is the one action per screen, gold does labels and dividers. */
    --gh-primary: #892728;        /* brand maroon */
    --gh-primary-dark: #892728;   /* brand maroon (header, headings, links) */
    --gh-deep: #5E1719;           /* deep burgundy: hero gradients, sticky call, footer bottom */
    --gh-accent: #EE7D05;         /* legacy alias of --gh-orange */
    --gh-orange: #EE7D05;         /* primary action only */
    --gh-orange-hover: #BE6404;
    --gh-gold: #C98A2E;           /* labels, dividers, step numbers, icon circles */
    --gh-gold-hover: #A8711F;
    --gh-gold-light: #E9C27A;     /* gold on maroon */
    --gh-gold-soft: #FBF1E6;      /* icon circle fill */
    --gh-red: #B3261E;            /* emergency only */
    --gh-bg-ivory: #FAF6F0;       /* cream page background */
    --gh-bg-sand: #F4ECE2;        /* soft sand: alternate sections, hover */
    --gh-line: #E6DACB;           /* borders */
    --gh-text-light: #ffffff;
    --gh-text-body: #2A2220;      /* charcoal ink, not pure black */
    --gh-footer-text: #e6e6e6;
    --gh-max-width: 1200px;
    --gh-font-base: 'Montserrat', sans-serif;
    --gh-font-sans: 'Montserrat', sans-serif;
}

body { background: var(--gh-bg-ivory); font-family: var(--gh-font-sans); }
h1, h2, h3, .site-logo { font-family: var(--gh-font-base); }

* { box-sizing: border-box; }

html, body {
    overflow-x: hidden;
    max-width: 100%;
}
body {
    margin: 0;
    font-family: var(--gh-font-base);
    color: var(--gh-text-body);
    line-height: 1.5;
}

img { max-width: 100%; height: auto; }

a { color: inherit; }

.site-skip-link {
    position: absolute;
    left: -999px;
    top: auto;
    background: #fff;
    color: #000;
    padding: 10px 16px;
    z-index: 1000;
}
.site-skip-link:focus {
    left: 10px;
    top: 10px;
}

.site-header {
    background: var(--gh-primary);
    color: var(--gh-text-light);
}

.site-topbar {
    background: var(--gh-primary-dark);
    font-size: 13px;
    padding: 6px 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.site-btn-primary {
    text-decoration: none;
    color: var(--gh-text-light);
    font-weight: bold;
}

.site-header-main .site-container {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    flex-wrap: nowrap;
    gap: 16px;
}

.site-logo {
    color: var(--gh-text-light);
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
}

.site-nav-list {
    list-style: none;
    display: flex;
    gap: 22px;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}
/* pass 119: tablet rules retired (769-1099px now uses the phone menu) */
.site-nav-list > li > a {
    color: var(--gh-text-light);
    text-decoration: none;
    font-size: 15px;
}
.site-nav-list > li > a:hover,
.site-nav-list > li > a:focus {
    color: var(--gh-gold-light);
}

.gh-header-cta {
    background: var(--gh-orange);
    color: var(--gh-primary-dark);
    padding: 8px 18px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    white-space: nowrap;
}

@media (max-width: 1099px) {
    .site-nav-list {
        display: none;
    }
}

.gh-footer {
    background: var(--gh-primary);
    color: var(--gh-footer-text);
    padding: 40px 20px 20px;
    margin-top: 40px;
}

.gh-footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
    max-width: var(--gh-max-width);
    margin: 0 auto;
}

.gh-footer-heading {
    color: var(--gh-text-light);
    font-size: 16px;
    margin: 0 0 12px;
}

.gh-footer-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.gh-footer-nav-list li { margin-bottom: 8px; }
.gh-footer-nav-list a {
    color: var(--gh-footer-text);
    text-decoration: none;
}
.gh-footer-nav-list a:hover,
.gh-footer-nav-list a:focus {
    color: var(--gh-gold-light);
}

.gh-footer-bottom {
    text-align: center;
    margin-top: 30px;
    padding-top: 15px;
    border-top: 1px solid var(--gh-primary-dark);
    font-size: 13px;
}

.site-mobile-toggle {
    display: none;
    background: transparent;
    border: 1px solid #4A1517;
    color: #4A1517;
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
}

@media (max-width: 1099px) {
    .site-mobile-toggle {
        display: inline-block;
    }
    .site-nav-list.open {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 10px;
        padding: 12px 0 0;
    }
}

.site-logo img {
    background: #ffffff;
    padding: 8px 14px;
    border-radius: 4px;
    max-height: 80px;
    display: block;
}

/* Dropdown submenu styling */
.gh-nav-list li {
    position: relative;
}

.gh-nav-list .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--gh-primary-dark);
    list-style: none;
    margin: 0;
    padding: 8px 0;
    min-width: 260px;
    z-index: 100;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.gh-nav-list .sub-menu li {
    width: 100%;
}

.gh-nav-list .sub-menu a {
    display: block;
    padding: 8px 18px;
    white-space: nowrap;
    font-size: 14px;
}

.gh-nav-list .sub-menu a:hover,
.gh-nav-list .sub-menu a:focus {
    background: var(--gh-primary);
    color: var(--gh-deep);
}

.gh-nav-list li:hover > .sub-menu,
.gh-nav-list li.gh-submenu-open > .sub-menu {
    display: block;
}

.menu-item-has-children > a::after {
    content: " \25BE";
    font-size: 11px;
}

@media (max-width: 768px) {
    .gh-nav-list .sub-menu {
        position: static;
        box-shadow: none;
        padding-left: 15px;
        display: none;
    }
    .gh-nav-list li.gh-submenu-open > .sub-menu {
        display: block;
    }
}

.site-logo img {
    border: 2px solid #ffffff;
}

.site-mobile-toggle {
    font-size: 22px;
    line-height: 1;
    padding: 6px 12px;
}

/* Doctor pages */
.gh-content-wrap {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 30px 20px;
}

.gh-page-title {
    color: var(--gh-primary);
}

.gh-doctor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 24px;
}

.gh-doctor-card {
    display: block;
    text-decoration: none;
    color: var(--gh-text-body);
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 16px;
    transition: box-shadow 0.2s;
}
.gh-doctor-card:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}
.gh-doctor-card h2 {
    color: var(--gh-primary);
    font-size: 18px;
    margin: 12px 0 6px;
}
.gh-doctor-card-photo img {
    border-radius: 4px;
    width: 100%;
}

.gh-doctor-header {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.gh-doctor-photo img {
    border-radius: 6px;
    max-width: 220px;
}
.gh-doctor-specialty {
    color: var(--gh-primary-dark);
    font-weight: bold;
}
.gh-doctor-cta {
    margin-top: 30px;
}

/* ===== Homepage ===== */

.gh-hero {
    background-size: cover;
    background-position: center;
    position: relative;
    color: var(--gh-text-light);
    padding: 100px 20px;
}
.gh-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(74,21,23,0.85) 0%, rgba(74,21,23,0.55) 55%, rgba(74,21,23,0.25) 100%);
}
.gh-hero h1,
.gh-hero-sub {
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.gh-hero-inner {
    position: relative;
    z-index: 1;
}
.gh-hero-inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: left;
}
.gh-hero h1 {
    font-size: 40px;
    line-height: 1.25;
    margin: 0 0 20px;
    color: var(--gh-text-light);
}
.gh-hero-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #f0e6e0;
    margin-bottom: 32px;
}
.gh-hero-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.gh-btn-primary {
    background: var(--gh-orange);
    color: #fff;
    padding: 12px 28px;
    text-decoration: none;
    border-radius: 3px;
    font-weight: bold;
    display: inline-block;
}
.gh-btn-secondary {
    background: transparent;
    color: var(--gh-text-light);
    border: 1px solid var(--gh-text-light);
    padding: 12px 28px;
    text-decoration: none;
    border-radius: 3px;
    display: inline-block;
}

.gh-mission-grid {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 50px 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
}
.gh-mission-item {
    border-left: 3px solid var(--gh-gold);
    padding-left: 18px;
}
.gh-mission-item h3 {
    margin: 0 0 8px;
    font-size: 19px;
    color: var(--gh-primary);
}
.gh-mission-item p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

.gh-departments {
    background: var(--gh-bg-sand);
    padding: 60px 20px;
}
.gh-departments h2,
.gh-doctors-home h2,
.gh-faq-home h2 {
    text-align: center;
    color: var(--gh-primary);
    max-width: var(--gh-max-width);
    margin: 0 auto 36px;
}
.gh-department-grid {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}
.gh-department-card {
    background: #fff;
    border-left: 4px solid var(--gh-primary);
    padding: 26px;
}
.gh-department-card h3 {
    color: var(--gh-primary);
    margin: 0 0 10px;
}
.gh-department-card p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 14px;
}
.gh-department-card a {
    color: var(--gh-primary-dark);
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}

.gh-doctors-home {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 60px 20px;
}

.gh-faq-home {
    background: var(--gh-bg-sand);
    padding: 60px 20px;
}
.gh-faq-list {
    max-width: 760px;
    margin: 0 auto;
}
.gh-faq-list details {
    background: #fff;
    border: 1px solid #ddd;
    padding: 16px 20px;
    margin-bottom: 12px;
}
.gh-faq-list summary {
    font-weight: bold;
    cursor: pointer;
    color: var(--gh-primary);
}
.gh-faq-list p {
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 1.6;
}

.gh-final-cta {
    background: var(--gh-primary-dark);
    color: var(--gh-text-light);
    text-align: center;
    padding: 60px 20px;
}
.gh-final-cta h2 {
    color: var(--gh-text-light);
    margin: 0 0 24px;
}

.gh-social-icons {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.gh-social-icons a {
    color: var(--gh-text-light);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--gh-footer-text);
    border-radius: 50%;
    transition: background 0.2s, border-color 0.2s;
}
.gh-social-icons a:hover {
    background: var(--gh-primary-dark);
    border-color: var(--gh-primary-dark);
}
.gh-social-icons svg {
    display: block;
}

.gh-footer-map {
    max-width: var(--gh-max-width);
    margin: 30px auto 0;
    padding: 0 20px;
}
.gh-footer-map iframe {
    display: block;
    width: 100%;
}

.gh-doctor-card-specialty {
    color: var(--gh-primary);
    font-weight: bold;
    font-size: 14px;
    margin: 4px 0 10px;
}
.gh-doctor-card-summary {
    font-size: 14px;
    line-height: 1.6;
    color: var(--gh-text-body);
    margin-bottom: 12px;
}
.gh-doctor-card-link {
    color: var(--gh-primary-dark);
    font-weight: bold;
    font-size: 14px;
}

/* ===== Hero trust row ===== */
.gh-hero-trust {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 28px;
    font-size: 13px;
}
.gh-hero-trust span {
    border-top: 2px solid var(--gh-gold);
    padding-top: 8px;
    color: #f0e6e0;
}

/* ===== Highlights strip ===== */
.gh-highlights {
    background: var(--gh-primary-dark);
    padding: 40px 20px;
}
.gh-highlights-grid {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}
.gh-highlight-item h3 {
    color: var(--gh-text-light);
    font-size: 17px;
    margin: 0 0 8px;
}
.gh-highlight-item p {
    color: #e6d9d0;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* ===== About ===== */
.gh-about {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 70px 20px;
}
.gh-about-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 50px;
    align-items: center;
}
.gh-about-text h2 {
    color: var(--gh-primary);
    margin-top: 0;
}
.gh-about-text p {
    line-height: 1.7;
    font-size: 15px;
}
.gh-about-list {
    margin: 20px 0;
    padding-left: 20px;
}
.gh-about-list li {
    margin-bottom: 8px;
    line-height: 1.6;
}
.gh-about-image img {
    width: 100%;
    border-radius: 4px;
    display: block;
}
@media (max-width: 768px) {
    .gh-about-grid { grid-template-columns: 1fr; }
}

/* ===== Section sub-headline ===== */
.gh-section-sub {
    text-align: center;
    max-width: var(--gh-max-width);
    margin: -20px auto 30px;
    color: #6b5f58;
    font-size: 15px;
}

/* ===== Procedure list inside department cards ===== */
.gh-procedure-list {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}
.gh-procedure-list li {
    font-size: 13px;
    color: var(--gh-text-body);
    padding: 3px 0 3px 14px;
    position: relative;
}
.gh-procedure-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: var(--gh-gold);
    border-radius: 50%;
}

/* ===== Facilities ===== */
.gh-facilities {
    background: var(--gh-bg-sand);
    padding: 60px 20px;
}
.gh-facilities-grid {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}
.gh-facility-item {
    background: #fff;
    padding: 26px;
    border-top: 3px solid var(--gh-gold);
}
.gh-facility-item h3 {
    color: var(--gh-primary);
    margin: 0 0 10px;
    font-size: 17px;
}
.gh-facility-item p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* ===== Testimonials ===== */
.gh-testimonials {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 60px 20px;
}
.gh-testimonials h2 {
    text-align: center;
    color: var(--gh-primary);
}
.gh-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 30px;
}
.gh-testimonial-card {
    background: var(--gh-bg-sand);
    padding: 28px;
    border-left: 3px solid var(--gh-primary);
}
.gh-testimonial-card p {
    font-style: italic;
    line-height: 1.7;
    margin: 0 0 14px;
}
.gh-testimonial-author {
    font-weight: bold;
    color: var(--gh-primary);
    font-size: 14px;
}

/* ===== Appointment section ===== */
.gh-appointment-section {
    background: var(--gh-primary);
    padding: 60px 20px;
}
.gh-appointment-inner {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}
.gh-appointment-text h2 {
    color: var(--gh-text-light);
    margin-top: 0;
}
.gh-appointment-text p {
    color: #f0e6e0;
    line-height: 1.6;
}
.gh-appointment-contacts {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 20px;
}
.gh-appointment-form {
    background: #fff;
    padding: 24px;
    border-radius: 4px;
}
@media (max-width: 768px) {
    .gh-appointment-inner { grid-template-columns: 1fr; }
}

/* ===== Location ===== */
.gh-location {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 60px 20px;
}
.gh-location h2 {
    text-align: center;
    color: var(--gh-primary);
    margin-bottom: 30px;
}
.gh-location-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 40px;
    align-items: start;
}
.gh-location-text p {
    line-height: 1.7;
    font-size: 15px;
}
.gh-location-map iframe {
    width: 100%;
    display: block;
    border-radius: 4px;
}
@media (max-width: 768px) {
    .gh-location-grid { grid-template-columns: 1fr; }
}

/* ===== Sticky header ===== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 200;
}

.gh-header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.gh-whatsapp-btn {
    background: #25D366;
    color: #fff;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: bold;
    white-space: nowrap;
}
.gh-whatsapp-btn:hover {
    opacity: 0.9;
}

/* ===== How It Works / Process ===== */
.gh-process {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 60px 20px;
}
.gh-process h2 {
    text-align: center;
    color: var(--gh-primary);
}
.gh-process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin-top: 20px;
}
.gh-process-step {
    text-align: left;
}
.gh-process-num {
    display: block;
    font-family: var(--gh-font-base);
    font-size: 32px;
    color: var(--gh-gold-light);
    margin-bottom: 8px;
}
.gh-process-step h3 {
    color: var(--gh-primary);
    font-size: 16px;
    margin: 0 0 8px;
}
.gh-process-step p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* ===== Before Your Visit ===== */
.gh-before-visit {
    background: var(--gh-bg-sand);
    padding: 60px 20px;
}
.gh-before-visit h2 {
    text-align: center;
    color: var(--gh-primary);
}
.gh-checklist-grid {
    max-width: var(--gh-max-width);
    margin: 20px auto 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}
.gh-checklist-item {
    background: #fff;
    padding: 20px;
    border-radius: 4px;
}
.gh-checklist-item h3 {
    color: var(--gh-primary);
    font-size: 15px;
    margin: 0 0 6px;
}
.gh-checklist-item p {
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    color: #6b5f58;
}

/* ===== Design polish pass: type scale ===== */
h1 { font-size: clamp(28px, 4vw, 44px); line-height: 1.2; }
h2 { font-size: clamp(22px, 2.8vw, 32px); line-height: 1.3; }
h3 { font-size: clamp(16px, 1.8vw, 19px); line-height: 1.4; }

/* Modern button micro-interactions */
.gh-btn-primary, .gh-btn-secondary {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    display: inline-block;
}
.gh-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(184,121,46,0.35);
}
.gh-btn-secondary:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,0.08);
}
.gh-header-cta {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gh-header-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(184,121,46,0.4);
}

/* Modern nav active/hover underline */
.site-nav-list > li > a {
    position: relative;
}
.site-nav-list > li > a::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gh-gold);
    transition: width 0.2s ease;
}
.site-nav-list > li > a:hover::after {
    width: 100%;
}
.gh-departments h2, .gh-doctors-home h2, .gh-faq-home h2,
.gh-process h2, .gh-before-visit h2, .gh-testimonials h2,
.gh-location h2 { font-size: 28px; }

/* ===== Card hover states (micro-interactions) ===== */
.gh-department-card,
.gh-facility-item,
.gh-process-step,
.gh-checklist-item {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gh-department-card:hover,
.gh-facility-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(74,21,23,0.12);
}
.gh-doctor-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gh-doctor-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(74,21,23,0.14);
}
.gh-testimonial-card {
    transition: box-shadow 0.2s ease;
}
.gh-testimonial-card:hover {
    box-shadow: 0 8px 20px rgba(74,21,23,0.1);
}

/* ===== Hero depth card (overlapping the photo edge) ===== */
.gh-hero {
    padding-bottom: 60px;
}
.gh-hero-quickfacts {
    position: relative;
    z-index: 2;
    margin-top: 40px;
    background: #fff;
    border-radius: 6px;
    padding: 20px 24px;
    display: inline-flex;
    gap: 28px;
    flex-wrap: wrap;
    box-shadow: 0 14px 30px rgba(0,0,0,0.2);
}
.gh-hero-quickfacts div {
    display: flex;
    flex-direction: column;
}
.gh-hero-quickfacts span:first-child {
    font-family: var(--gh-font-base);
    font-size: 15px;
    font-weight: bold;
    color: var(--gh-primary);
}
.gh-hero-quickfacts span:last-child {
    font-size: 12px;
    color: #6b5f58;
}

/* ===== Section rhythm variation ===== */
.gh-highlights { background: var(--gh-primary-dark); }
.gh-about { background: var(--gh-bg-ivory); }
.gh-departments { background: var(--gh-bg-sand); }
.gh-doctors-home { background: var(--gh-bg-ivory); }
.gh-facilities { background: var(--gh-bg-sand); }
.gh-process { background: var(--gh-bg-ivory); }
.gh-before-visit { background: var(--gh-bg-sand); }
.gh-testimonials { background: var(--gh-bg-ivory); }
.gh-faq-home { background: var(--gh-bg-sand); }

/* ===== Editorial Hero ===== */
.gh-hero-editorial {
    background: var(--gh-bg-ivory);
    padding: 60px 20px 80px;
    overflow: hidden;
}
.gh-hero-editorial-grid {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.gh-eyebrow {
    display: inline-block;
    color: var(--gh-gold);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    margin-bottom: 14px;
}
.gh-hero-editorial-text h1 {
    color: var(--gh-primary);
    margin: 0 0 18px;
    font-size: 42px;
    line-height: 1.2;
}
.gh-hero-editorial-text .gh-hero-sub {
    color: var(--gh-text-body);
    font-size: 16px;
    line-height: 1.7;
    max-width: 480px;
}
.gh-hero-editorial-text .gh-btn-secondary {
    color: var(--gh-primary);
    border-color: var(--gh-primary);
}
.gh-hero-editorial-text .gh-hero-trust {
    margin-top: 30px;
}
.gh-hero-editorial-text .gh-hero-trust span {
    color: var(--gh-primary-dark);
    border-top-color: var(--gh-gold);
}

.gh-hero-editorial-media {
    position: relative;
}
.gh-hero-editorial-media img {
    width: 100%;
    display: block;
    border-radius: 6px;
    box-shadow: 0 20px 40px rgba(74,21,23,0.18);
}
.gh-hero-floating-card {
    position: absolute;
    bottom: -24px;
    left: -24px;
    background: #fff;
    padding: 16px 22px;
    border-radius: 6px;
    box-shadow: 0 14px 30px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    border-left: 3px solid var(--gh-gold);
}
.gh-hero-floating-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #9c8f86;
}
.gh-hero-floating-value {
    font-family: var(--gh-font-base);
    font-weight: 600;
    color: var(--gh-primary);
    font-size: 16px;
}
.gh-hero-floating-sub {
    font-size: 12px;
    color: #6b5f58;
}

@media (max-width: 900px) {
    .gh-hero-editorial-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .gh-hero-floating-card {
        left: 16px;
        bottom: -20px;
    }
    .gh-hero-editorial-text h1 {
        font-size: 30px;
    }
}

/* ===== Conditions We Treat ===== */
.gh-conditions {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 60px 20px;
}
.gh-conditions h2 {
    text-align: center;
    color: var(--gh-primary);
}
.gh-conditions-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 30px;
    margin-top: 30px;
}
.gh-conditions-group h3 {
    color: var(--gh-primary);
    border-bottom: 2px solid var(--gh-gold);
    padding-bottom: 10px;
    margin-bottom: 14px;
    font-size: 17px;
}
.gh-conditions-group ul {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}
.gh-conditions-group li {
    margin-bottom: 8px;
}
.gh-conditions-group a {
    color: var(--gh-text-body);
    text-decoration: none;
    font-size: 14px;
}
.gh-conditions-group li a:hover {
    color: var(--gh-deep);
}
.gh-conditions-viewall {
    color: var(--gh-primary-dark) !important;
    font-weight: 600;
    font-size: 13px;
}

/* ===== Floating WhatsApp button ===== */
.gh-floating-whatsapp {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 52px;
    height: 52px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(0,0,0,0.25);
    z-index: 500;
    transition: transform 0.2s ease;
}
.gh-floating-whatsapp:hover {
    transform: scale(1.08);
}
@media (max-width: 768px) {
    .gh-floating-whatsapp {
        bottom: 16px;
        right: 16px;
        width: 48px;
        height: 48px;
    }
}

/* ===== Why This Hospital (editorial split) ===== */
.gh-why-hospital {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 70px 20px;
}
.gh-why-hospital-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 50px;
    align-items: center;
}
.gh-why-hospital-media img {
    width: 100%;
    border-radius: 6px;
    display: block;
}
.gh-why-hospital-text h2 {
    color: var(--gh-primary);
    margin: 10px 0 20px;
}
.gh-why-list {
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
}
.gh-why-list li {
    padding: 10px 0 10px 22px;
    border-bottom: 1px solid #e8ddd2;
    position: relative;
    font-size: 15px;
    line-height: 1.5;
}
.gh-why-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    width: 8px;
    height: 8px;
    background: var(--gh-gold);
    border-radius: 50%;
}
@media (max-width: 900px) {
    .gh-why-hospital-grid { grid-template-columns: 1fr; }
}

/* ===== Hybrid OT Feature (dark full-width band) ===== */
.gh-hybrid-feature {
    background: var(--gh-primary-dark);
    padding: 70px 20px;
}
.gh-hybrid-feature-grid {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}
.gh-hybrid-feature-text h2 {
    color: #fff;
    margin: 10px 0 18px;
    font-size: 30px;
}
.gh-hybrid-feature-text p {
    color: #e6d9d0;
    line-height: 1.7;
    margin-bottom: 26px;
}
.gh-hybrid-feature-media img {
    width: 100%;
    border-radius: 6px;
    display: block;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}
@media (max-width: 900px) {
    .gh-hybrid-feature-grid { grid-template-columns: 1fr; }
    .gh-hybrid-feature-media { order: -1; }
}

/* ===== Process timeline (connecting line) ===== */
.gh-process-grid {
    position: relative;
    counter-reset: step;
}
@media (min-width: 901px) {
    .gh-process-grid {
        display: flex;
        justify-content: space-between;
        gap: 0;
    }
    .gh-process-grid::before {
        content: "";
        position: absolute;
        top: 22px;
        left: 5%;
        right: 5%;
        height: 2px;
        background: #e8ddd2;
        z-index: 0;
    }
    .gh-process-step {
        flex: 1;
        position: relative;
        z-index: 1;
        padding: 0 12px;
    }
    .gh-process-num {
        background: var(--gh-bg-ivory);
        width: 44px;
        height: 44px;
        border: 2px solid var(--gh-gold);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
    }
}

/* ===== FAQ accordion restyle ===== */
.gh-faq-list details {
    border: none;
    border-bottom: 1px solid #e8ddd2;
    background: transparent;
    padding: 18px 0;
    margin-bottom: 0;
}
.gh-faq-list summary {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--gh-font-base);
    font-size: 16px;
}
.gh-faq-list summary::-webkit-details-marker { display: none; }
.gh-faq-list summary::after {
    content: "+";
    font-size: 22px;
    color: var(--gh-gold);
    margin-left: 12px;
    flex-shrink: 0;
}
.gh-faq-list details[open] summary::after {
    content: "\\2212";
}
.gh-faq-list p {
    color: #6b5f58;
}

/* ===== Testimonials restyle ===== */
.gh-testimonial-card {
    position: relative;
    background: #fff;
    border-left: 3px solid var(--gh-gold);
    padding: 32px 28px 24px;
}
.gh-testimonial-quote-mark {
    font-family: var(--gh-font-base);
    font-size: 48px;
    color: var(--gh-gold);
    opacity: 0.4;
    line-height: 1;
    display: block;
    margin-bottom: 4px;
}
.gh-testimonial-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}
.gh-testimonial-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--gh-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    flex-shrink: 0;
}
.gh-testimonial-author {
    font-size: 14px;
    color: var(--gh-primary);
    font-weight: 600;
    line-height: 1.3;
}
.gh-testimonial-author small {
    font-weight: 400;
    color: #6b5f58;
}

/* ===== Appointment section polish ===== */
.gh-appointment-section {
    background: linear-gradient(135deg, var(--gh-primary) 0%, var(--gh-primary-dark) 100%);
}
.gh-appointment-form {
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

/* ===== Final CTA polish ===== */
.gh-final-cta {
    background: var(--gh-primary-dark);
    padding: 80px 20px;
    text-align: center;
    position: relative;
}
.gh-final-cta h2 {
    font-size: 32px;
    max-width: 640px;
    margin: 0 auto 28px;
}
.gh-final-cta .gh-btn-primary {
    font-size: 16px;
    padding: 14px 36px;
}

/* ===== Photo-ready placeholder component ===== */
.gh-photo-placeholder {
    background: repeating-linear-gradient(135deg, var(--gh-bg-sand), var(--gh-bg-sand) 10px, #fff 10px, #fff 20px);
    border: 1px dashed #c9b8a8;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--gh-primary);
    min-height: 220px;
    padding: 20px;
    text-align: center;
}
.gh-photo-placeholder-label {
    font-family: var(--gh-font-base);
    font-weight: 600;
    font-size: 15px;
}
.gh-photo-placeholder-sub {
    font-size: 12px;
    color: #9c8f86;
}

/* Hybrid OT placeholder sits inside the dark feature band -- needs light variant */
.gh-hybrid-feature-media.gh-photo-placeholder {
    background: repeating-linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.06) 10px, transparent 10px, transparent 20px);
    border-color: rgba(255,255,255,0.3);
    color: #fff;
    min-height: 320px;
}
.gh-hybrid-feature-media .gh-photo-placeholder-sub {
    color: #cbb6a8;
}

/* ===== Team collage (Why This Hospital) ===== */
.gh-team-collage {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}
.gh-team-collage-item {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid #fff;
    box-shadow: 0 8px 20px rgba(74,21,23,0.15);
    margin-left: -20px;
}
.gh-team-collage-item:first-child { margin-left: 0; }
.gh-team-collage-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gh-team-collage-caption {
    display: block;
    text-align: center;
    font-size: 13px;
    color: #6b5f58;
    letter-spacing: 0.02em;
}

/* ===== Inside the Hospital grid ===== */
.gh-inside-hospital {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 60px 20px;
}
.gh-inside-hospital h2 {
    text-align: center;
    color: var(--gh-primary);
}
.gh-inside-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

/* ===== When Should You See a Specialist ===== */
.gh-seek-specialist {
    background: var(--gh-bg-sand);
    padding: 60px 20px;
}
.gh-seek-specialist h2 {
    text-align: center;
    color: var(--gh-primary);
}
.gh-seek-grid {
    max-width: 800px;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
}
.gh-seek-col h3 {
    color: var(--gh-primary);
    border-left: 3px solid var(--gh-gold);
    padding-left: 12px;
}
.gh-seek-col ul {
    list-style: none;
    margin: 0;
    padding: 0 0 0 15px;
}
.gh-seek-col li {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.5;
}

/* ===== Appointment department chips ===== */
.gh-department-chips {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 16px 0 24px;
}
.gh-department-chips span {
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
}

/* ===== Doctors editorial (alternating large profiles) ===== */
.gh-doctors-editorial {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 70px 20px;
}
.gh-doctors-editorial > h2 {
    color: var(--gh-primary);
    max-width: 600px;
    margin: 8px 0 50px;
}
.gh-doctor-editorial {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 50px;
    align-items: center;
    margin-bottom: 70px;
    padding-bottom: 70px;
    border-bottom: 1px solid #e8ddd2;
}
.gh-doctor-editorial:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.gh-doctor-editorial-reverse {
    direction: rtl;
}
.gh-doctor-editorial-reverse > * {
    direction: ltr;
}
.gh-doctor-editorial-media img {
    width: 100%;
    border-radius: 6px;
    display: block;
    box-shadow: 0 16px 32px rgba(74,21,23,0.14);
}
.gh-doctor-editorial-num {
    font-family: var(--gh-font-base);
    font-size: 46px;
    color: var(--gh-gold);
    opacity: 0.5;
    display: block;
    line-height: 1;
}
.gh-doctor-editorial-text h3 {
    color: var(--gh-primary);
    font-size: 26px;
    margin: 6px 0 8px;
}
.gh-doctor-editorial-specialty {
    color: var(--gh-gold);
    font-weight: 600;
    margin-bottom: 16px;
}
.gh-doctor-editorial-summary {
    line-height: 1.7;
    margin-bottom: 24px;
    color: var(--gh-text-body);
}
.gh-doctor-editorial-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.gh-doctor-editorial-text .gh-btn-secondary {
    color: var(--gh-primary);
    border-color: var(--gh-primary);
}
@media (max-width: 800px) {
    .gh-doctor-editorial,
    .gh-doctor-editorial-reverse {
        grid-template-columns: 1fr;
        direction: ltr;
    }
}

/* ===== Departments asymmetric ===== */
.gh-departments-editorial {
    background: var(--gh-bg-sand);
    padding: 70px 20px;
}
.gh-departments-editorial > h2 {
    max-width: 640px;
    color: var(--gh-primary);
    margin: 8px 0 40px;
}
.gh-departments-asym {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 30px;
}
.gh-dept-featured {
    background: var(--gh-primary);
    color: #fff;
    padding: 40px;
    border-radius: 6px;
}
.gh-dept-featured h3 {
    color: #fff;
    font-size: 26px;
    margin: 10px 0 14px;
}
.gh-dept-featured p {
    color: #f0e6e0;
    line-height: 1.7;
    margin-bottom: 16px;
}
.gh-dept-featured .gh-procedure-list li {
    color: #f0e6e0;
}
.gh-dept-featured .gh-procedure-list li::before {
    background: var(--gh-gold);
}
.gh-dept-num {
    font-family: var(--gh-font-base);
    font-size: 40px;
    opacity: 0.5;
}
.gh-dept-featured .gh-btn-secondary {
    color: #fff;
    border-color: #fff;
}
.gh-dept-supporting-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.gh-dept-supporting {
    background: #fff;
    padding: 28px;
    border-radius: 6px;
    flex: 1;
}
.gh-dept-supporting h3 {
    color: var(--gh-primary);
    font-size: 19px;
    margin: 8px 0 10px;
}
.gh-dept-supporting .gh-dept-num {
    color: var(--gh-gold);
    opacity: 0.6;
    font-size: 30px;
}
.gh-dept-supporting p {
    font-size: 14px;
    line-height: 1.6;
}
.gh-dept-supporting a {
    color: var(--gh-primary-dark);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
}
@media (max-width: 850px) {
    .gh-departments-asym { grid-template-columns: 1fr; }
}

/* ===== Full-bleed editorial hero (replaces boxed grid hero) ===== */
.gh-hero-fullbleed {
    position: relative;
    min-height: 88vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    color: #fff;
}
.gh-hero-fb-media {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.gh-hero-fb-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.gh-hero-fb-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(30,10,11,0.75) 0%, rgba(74,21,23,0.55) 45%, rgba(74,21,23,0.92) 100%);
}
.gh-hero-fb-content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    padding: 0 40px;
    margin-top: -60px;
}
.gh-eyebrow-light {
    color: #f0c987;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 20px;
}
.gh-hero-fb-content h1 {
    font-size: clamp(34px, 6vw, 68px);
    line-height: 1.08;
    margin: 0 0 22px;
    color: #fff;
    font-weight: 600;
}
.gh-hero-fb-content .gh-hero-sub {
    font-size: clamp(16px, 1.6vw, 19px);
    color: #f0e6e0;
    max-width: 560px;
    line-height: 1.6;
    margin-bottom: 34px;
}
.gh-hero-fb-content .gh-hero-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.gh-hero-fb-panel {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 60px;
    background: rgba(0,0,0,0.25);
    backdrop-filter: blur(6px);
    border-top: 1px solid rgba(255,255,255,0.2);
}
.gh-hero-fb-panel-item {
    flex: 1;
    min-width: 200px;
    padding: 22px 40px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-right: 1px solid rgba(255,255,255,0.15);
}
.gh-hero-fb-panel-item:last-child {
    border-right: none;
}
.gh-hero-fb-panel-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #d9c3b6;
}
.gh-hero-fb-panel-value {
    font-family: var(--gh-font-base);
    font-size: 17px;
    font-weight: 600;
    color: #fff;
}

@media (max-width: 700px) {
    .gh-hero-fullbleed { min-height: 80vh; }
    .gh-hero-fb-content { padding: 0 22px; margin-top: -20px; }
    .gh-hero-fb-panel-item { padding: 16px 22px; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); }
}

/* ===== Fluent Forms styling to match design system ===== */
.gh-appointment-form .ff-el-group {
    margin-bottom: 20px;
}
.gh-appointment-form .ff-el-input--label label {
    display: block;
    font-family: var(--gh-font-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--gh-primary);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.gh-appointment-form .ff-el-form-control {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ddd0c4;
    border-radius: 4px;
    font-family: var(--gh-font-sans);
    font-size: 15px;
    color: var(--gh-text-body);
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}
.gh-appointment-form .ff-el-form-control:focus {
    outline: none;
    border-color: var(--gh-gold);
    box-shadow: 0 0 0 3px rgba(184,121,46,0.15);
}
.gh-appointment-form textarea.ff-el-form-control {
    resize: vertical;
    min-height: 110px;
}
.gh-appointment-form .ff-t-container {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.gh-appointment-form .ff-t-cell {
    flex: 1;
    min-width: 200px;
}
.gh-appointment-form .ff-btn-submit {
    background: var(--gh-orange);
    color: #fff;
    border: none;
    padding: 13px 32px;
    border-radius: 4px;
    font-family: var(--gh-font-sans);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.gh-appointment-form .ff-btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(184,121,46,0.35);
}
.gh-appointment-form .asterisk-right label:after {
    content: " *";
    color: var(--gh-gold);
}

/* ===== Trust strip (institutional, not cards) ===== */
.gh-trust-strip {
    background: var(--gh-primary-dark);
    padding: 0;
}
.gh-trust-strip-inner {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.gh-trust-item {
    flex: 1;
    min-width: 220px;
    padding: 32px 30px;
    border-right: 1px solid rgba(255,255,255,0.12);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.gh-trust-item:last-child {
    border-right: none;
}
.gh-trust-num {
    font-family: var(--gh-font-base);
    font-size: 13px;
    color: var(--gh-gold);
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}
.gh-trust-label {
    font-family: var(--gh-font-base);
    font-size: 17px;
    font-weight: 600;
    color: #fff;
}
.gh-trust-detail {
    font-size: 13px;
    color: #d9c3b6;
    line-height: 1.5;
}
@media (max-width: 700px) {
    .gh-trust-item {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.12);
    }
}

/* Fix specificity conflict: Fluent Forms' own inline style
   (form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style))
   was overriding our button colour with its blue default. */
.gh-appointment-form form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style) {
    background-color: var(--gh-orange) !important;
    color: #fff !important;
}

/* ===== Conditions -- editorial typographic layout ===== */
.gh-conditions-editorial {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 80px 20px;
}
.gh-conditions-intro {
    max-width: 600px;
    margin-bottom: 50px;
}
.gh-conditions-intro h2 {
    color: var(--gh-primary);
    margin: 8px 0 12px;
}
.gh-conditions-intro p {
    color: #6b5f58;
    font-size: 16px;
}
.gh-conditions-editorial .gh-conditions-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.gh-conditions-editorial .gh-conditions-group {
    padding: 0 36px;
    border-left: 1px solid #e8ddd2;
}
.gh-conditions-editorial .gh-conditions-group:first-child {
    padding-left: 0;
    border-left: none;
}
.gh-conditions-editorial .gh-conditions-group h3 {
    font-family: var(--gh-font-base);
    font-size: 20px;
    color: var(--gh-primary);
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 20px;
}
.gh-conditions-editorial .gh-conditions-group ul {
    margin-bottom: 20px;
}
.gh-conditions-editorial .gh-conditions-group li {
    margin-bottom: 14px;
}
.gh-conditions-editorial .gh-conditions-group li a {
    font-size: 16px;
    position: relative;
    display: inline-block;
}
.gh-conditions-editorial .gh-conditions-group li a::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--gh-gold);
    transition: width 0.2s ease;
}
.gh-conditions-editorial .gh-conditions-group li a:hover::after {
    width: 100%;
}
@media (max-width: 800px) {
    .gh-conditions-editorial .gh-conditions-tabs {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .gh-conditions-editorial .gh-conditions-group {
        border-left: none;
        padding: 0;
        border-top: 1px solid #e8ddd2;
        padding-top: 24px;
    }
    .gh-conditions-editorial .gh-conditions-group:first-child {
        border-top: none;
        padding-top: 0;
    }
}

/* ===== Compact photo placeholder variant ===== */
.gh-photo-placeholder-sm {
    min-height: 90px;
    margin-bottom: 16px;
    padding: 10px;
}
.gh-photo-placeholder-sm .gh-photo-placeholder-label {
    font-size: 12px;
    color: #9c8f86;
    font-weight: 500;
}

/* Ensure conditions/facility items support the placeholder cleanly */
.gh-conditions-editorial .gh-conditions-group {
    display: flex;
    flex-direction: column;
}

/* ===== Facilities -- asymmetric editorial ===== */
.gh-facilities-editorial {
    background: var(--gh-bg-sand);
    padding: 80px 20px;
}
.gh-facilities-editorial > h2 {
    max-width: 640px;
    color: var(--gh-primary);
    margin: 8px 0 40px;
}
.gh-facilities-asym {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
.gh-facility-featured {
    background: var(--gh-primary);
    color: #fff;
    padding: 40px;
    border-radius: 6px;
}
.gh-facility-featured h3 {
    color: #fff;
    font-size: 24px;
    margin: 14px 0 12px;
}
.gh-facility-featured p {
    color: #f0e6e0;
    line-height: 1.7;
}
.gh-facility-featured .gh-photo-placeholder {
    border-color: rgba(255,255,255,0.3);
    background: repeating-linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.06) 10px, transparent 10px, transparent 20px);
    color: #fff;
    min-height: 130px;
}
.gh-facility-supporting-col {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.gh-facility-supporting {
    background: #fff;
    padding: 26px;
    border-radius: 6px;
    flex: 1;
}
.gh-facility-supporting h3 {
    color: var(--gh-primary);
    font-size: 18px;
    margin: 12px 0 8px;
}
.gh-facility-supporting p {
    font-size: 14px;
    line-height: 1.6;
}
@media (max-width: 800px) {
    .gh-facilities-asym { grid-template-columns: 1fr; }
}

/* ===== Footer refinement (institutional depth) ===== */
.gh-footer {
    background: var(--gh-primary-dark);
}
.gh-footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
}
@media (max-width: 900px) {
    .gh-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 560px) {
    .gh-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== Hybrid OT -- signature infrastructure statement ===== */
.gh-hybrid-signature {
    background: var(--gh-primary-dark);
    color: #fff;
    padding: 90px 40px;
    text-align: center;
}
.gh-hybrid-signature h2 {
    font-size: clamp(28px, 4.5vw, 46px);
    color: #fff;
    margin: 14px 0 20px;
    line-height: 1.2;
}
.gh-hybrid-lead {
    max-width: 640px;
    margin: 0 auto 50px;
    font-size: 17px;
    color: #f0e6e0;
    line-height: 1.7;
}
.gh-hybrid-capabilities {
    max-width: var(--gh-max-width);
    margin: 0 auto 50px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
.gh-hybrid-cap-item {
    padding: 20px;
    border-left: 1px solid rgba(255,255,255,0.15);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.gh-hybrid-cap-item:first-child {
    border-left: none;
}
.gh-hybrid-cap-num {
    font-family: var(--gh-font-base);
    font-size: 28px;
    color: var(--gh-gold);
    opacity: 0.7;
}
.gh-hybrid-cap-label {
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    line-height: 1.4;
}
@media (max-width: 800px) {
    .gh-hybrid-capabilities {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 0;
    }
    .gh-hybrid-cap-item {
        border-left: none;
    }
}

/* ===== Why This Hospital -- stronger typography ===== */
.gh-why-hospital-text h2 {
    font-size: clamp(24px, 3vw, 34px);
}
.gh-why-list li {
    font-size: 16px;
    padding: 14px 0 14px 24px;
}
.gh-why-list li strong {
    color: var(--gh-primary);
}

/* ===== Testimonials -- asymmetric featured layout ===== */
.gh-testimonial-grid {
    grid-template-columns: 1.4fr 1fr;
    align-items: stretch;
}
.gh-testimonial-grid .gh-testimonial-card:first-child {
    padding: 44px 40px;
}
.gh-testimonial-grid .gh-testimonial-card:first-child p {
    font-size: 19px;
    line-height: 1.6;
}
.gh-testimonial-grid .gh-testimonial-card:first-child .gh-testimonial-quote-mark {
    font-size: 64px;
}
@media (max-width: 800px) {
    .gh-testimonial-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== Location -- institutional heading scale ===== */
.gh-location h2 {
    font-size: clamp(26px, 3.5vw, 36px);
}
.gh-location-text p strong {
    font-family: var(--gh-font-base);
    font-size: 19px;
}

/* ===== Illustration component (replaces "Image" placeholders) =====
   Deliberately styled as illustration, not photography -- solid
   tinted background + icon + label, clearly tagged "Illustrative"
   so it never reads as a real facility photo. */
.gh-illustration {
    background: var(--gh-bg-sand);
    border-radius: 6px;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 18px;
    color: var(--gh-primary);
    text-align: center;
}
.gh-illustration-label {
    font-family: var(--gh-font-base);
    font-weight: 600;
    font-size: 14px;
    color: var(--gh-primary);
}
.gh-illustration-tag {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9c8f86;
}

/* Illustration sitting on a dark background (Hybrid feature / facility-featured panel) needs light variant */
.gh-facility-featured .gh-illustration,
.gh-hybrid-feature-media .gh-illustration {
    background: rgba(255,255,255,0.1);
    color: #fff;
}
.gh-facility-featured .gh-illustration-label,
.gh-hybrid-feature-media .gh-illustration-label {
    color: #fff;
}
.gh-facility-featured .gh-illustration-tag,
.gh-hybrid-feature-media .gh-illustration-tag {
    color: #d9c3b6;
}

/* ===== Department -> Doctor connection link ===== */
.gh-dept-doctor-link {
    display: block;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 14px;
    padding-top: 12px;
    border-top: 1px dashed rgba(0,0,0,0.15);
}
.gh-dept-featured .gh-dept-doctor-link {
    color: #f0c987;
    border-top-color: rgba(255,255,255,0.25);
}
.gh-dept-supporting .gh-dept-doctor-link {
    color: var(--gh-primary-dark);
    border-top-color: #e8ddd2;
}

/* ===== Institutional section (merged Why-This-Hospital + Hybrid OT) ===== */
.gh-institutional {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 80px 20px;
}
.gh-institutional-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 50px;
    align-items: start;
}
.gh-institutional-intro {
    position: sticky;
    top: 100px;
}
.gh-institutional-intro h2 {
    color: var(--gh-primary);
    font-size: clamp(24px, 3vw, 32px);
    margin: 10px 0 26px;
    line-height: 1.3;
}
.gh-institutional-bands {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.gh-band {
    border-radius: 6px;
    padding: 24px 28px;
}
.gh-band-sm {
    background: var(--gh-bg-sand);
}
.gh-band-sm h3 {
    color: var(--gh-primary);
    font-size: 17px;
    margin: 0 0 8px;
}
.gh-band-sm p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    color: var(--gh-text-body);
}
.gh-band-lg {
    background: var(--gh-primary);
    color: #fff;
    padding: 40px;
}
.gh-band-lg h3 {
    color: #fff;
    font-size: clamp(20px, 2.5vw, 28px);
    margin: 10px 0 16px;
}
.gh-band-lg p {
    color: #f0e6e0;
    line-height: 1.7;
    margin-bottom: 20px;
}
.gh-band-capabilities {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}
.gh-band-capabilities li {
    font-size: 13px;
    color: #fff;
    padding-left: 16px;
    position: relative;
}
.gh-band-capabilities li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    background: var(--gh-gold);
    border-radius: 50%;
}
.gh-band-link {
    color: #f0c987;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
}

@media (max-width: 900px) {
    .gh-institutional-grid {
        grid-template-columns: 1fr;
    }
    .gh-institutional-intro {
        position: static;
    }
    .gh-band-capabilities {
        grid-template-columns: 1fr;
    }
}

/* ===== Conditions -- deepened entries with symptom detail ===== */
.gh-conditions-group-desc {
    font-size: 14px;
    color: #6b5f58;
    line-height: 1.5;
    margin-bottom: 18px;
}
.gh-conditions-editorial .gh-conditions-group li {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.gh-condition-symptom {
    font-size: 12px;
    color: #9c8f86;
    font-style: italic;
}

/* ===== Hero action row (replaces info panel with real actions) ===== */
.gh-hero-actionrow {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 40px;
    padding: 0 40px 50px;
}
.gh-action-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 12px 22px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s ease, transform 0.15s ease;
}
.gh-action-pill:hover {
    background: rgba(255,255,255,0.22);
    transform: translateY(-2px);
}
.gh-action-primary {
    background: var(--gh-orange);
    border-color: var(--gh-orange);
}
.gh-action-primary:hover {
    background: #a06a28;
}

/* ===== Quick Specialities strip ===== */
.gh-quick-specialities {
    max-width: var(--gh-max-width);
    margin: -40px auto 0;
    position: relative;
    z-index: 3;
    background: #fff;
    display: flex;
    box-shadow: 0 12px 30px rgba(74,21,23,0.12);
    border-radius: 6px;
    overflow: hidden;
}
.gh-quick-spec-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 26px 16px;
    text-decoration: none;
    color: var(--gh-primary);
    text-align: center;
    border-right: 1px solid #e8ddd2;
    transition: background 0.2s ease;
}
.gh-quick-spec-item:last-child {
    border-right: none;
}
.gh-quick-spec-item:hover {
    background: var(--gh-bg-sand);
}
.gh-quick-spec-item span {
    font-size: 14px;
    font-weight: 600;
}
@media (max-width: 700px) {
    .gh-quick-specialities {
        flex-direction: column;
        margin-top: 0;
    }
    .gh-quick-spec-item {
        border-right: none;
        border-bottom: 1px solid #e8ddd2;
    }
}

/* ===== Discovery tabs (Conditions/Procedures/Technology) ===== */
.gh-discovery {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 80px 20px;
    text-align: center;
}
.gh-discovery h2 {
    color: var(--gh-primary);
    margin: 8px 0 30px;
}
.gh-discovery-tabs {
    display: inline-flex;
    gap: 6px;
    background: var(--gh-bg-sand);
    padding: 6px;
    border-radius: 6px;
    margin-bottom: 40px;
}
.gh-discovery-tab {
    background: transparent;
    border: none;
    padding: 10px 24px;
    font-family: var(--gh-font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--gh-text-body);
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.gh-discovery-tab.is-active {
    background: var(--gh-primary);
    color: #fff;
}
.gh-discovery-panel {
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}
.gh-discovery-panel.is-active {
    display: flex;
}
.gh-discovery-panel a,
.gh-discovery-static {
    background: #fff;
    border: 1px solid #e8ddd2;
    padding: 12px 22px;
    border-radius: 4px;
    text-decoration: none;
    color: var(--gh-primary);
    font-size: 15px;
    font-weight: 500;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.gh-discovery-panel a:hover {
    border-color: var(--gh-gold);
    color: var(--gh-deep);
}

/* ===== Facilities -- numbered horizontal rhythm ===== */
.gh-facilities-numbered {
    background: var(--gh-bg-sand);
    padding: 80px 20px;
}
.gh-facilities-numbered > h2 {
    max-width: var(--gh-max-width);
    margin: 8px auto 40px;
    color: var(--gh-primary);
}
.gh-facility-row {
    max-width: var(--gh-max-width);
    margin: 0 auto 30px;
    display: grid;
    grid-template-columns: 60px 140px 1fr;
    gap: 24px;
    align-items: center;
    background: #fff;
    padding: 30px;
    border-radius: 6px;
}
.gh-facility-row-num {
    font-family: var(--gh-font-base);
    font-size: 32px;
    color: var(--gh-gold);
    opacity: 0.6;
}
.gh-facility-row .gh-illustration {
    min-height: 100px;
}
.gh-facility-row-text h3 {
    color: var(--gh-primary);
    margin: 0 0 8px;
    font-size: 19px;
}
.gh-facility-row-text p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
@media (max-width: 700px) {
    .gh-facility-row {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

/* ===== Footer -- 5 columns now ===== */
.gh-footer-grid {
    grid-template-columns: 1.1fr 0.9fr 0.9fr 0.9fr 0.9fr;
}
@media (max-width: 1000px) {
    .gh-footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 560px) {
    .gh-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   LIGHT VISUAL SYSTEM OVERRIDE
   Replacing full-width dark/solid-colour section
   backgrounds with white/light surfaces + brand-colour
   accents (borders, text, icons, buttons) only.
   ===================================================== */

/* --- Hero: lighter overlay, more photo visible --- */
.gh-hero-fb-overlay {
    background: linear-gradient(90deg, rgba(30,10,11,0.55) 0%, rgba(74,21,23,0.3) 50%, rgba(74,21,23,0.1) 100%);
}

/* --- Trust strip: white surface, maroon accents only --- */
.gh-trust-strip {
    background: #fff;
    border-top: 1px solid #e8ddd2;
    border-bottom: 1px solid #e8ddd2;
}
.gh-trust-label {
    color: var(--gh-primary);
}
.gh-trust-detail {
    color: #6b5f58;
}
.gh-trust-item {
    border-right-color: #e8ddd2;
}

/* --- Departments featured panel: white + left accent, not solid fill --- */
.gh-dept-featured {
    background: #fff;
    border: 1px solid #e8ddd2;
    border-left: 4px solid var(--gh-primary);
    box-shadow: 0 4px 16px rgba(74,21,23,0.06);
}
.gh-dept-featured h3,
.gh-dept-featured .gh-dept-num {
    color: var(--gh-primary);
}
.gh-dept-featured p {
    color: var(--gh-text-body);
}
.gh-dept-featured .gh-procedure-list li {
    color: var(--gh-text-body);
}
.gh-dept-featured .gh-procedure-list li::before {
    background: var(--gh-gold);
}
.gh-dept-featured .gh-btn-secondary {
    color: var(--gh-primary);
    border-color: var(--gh-primary);
}
.gh-dept-featured .gh-dept-doctor-link {
    color: var(--gh-primary-dark);
    border-top-color: #e8ddd2;
}

/* --- Facilities: white surface, accent border per row --- */
.gh-facilities-numbered {
    background: #fff;
}
.gh-facility-row {
    background: #fff;
    border: 1px solid #e8ddd2;
    border-left: 4px solid var(--gh-gold);
}

/* --- Appointment section: light surface, strong accents --- */
.gh-appointment-section {
    background: #fff;
    border-top: 1px solid #e8ddd2;
    border-bottom: 1px solid #e8ddd2;
}
.gh-appointment-text h2 {
    color: var(--gh-primary);
}
.gh-appointment-text p {
    color: var(--gh-text-body);
}
.gh-appointment-text .gh-btn-secondary {
    color: var(--gh-primary);
    border-color: var(--gh-primary);
}
.gh-department-chips span {
    background: var(--gh-bg-sand);
    color: var(--gh-primary);
    border-color: #e8ddd2;
}

/* ===== Fresh Hero (post-reset, Medanta-informed) ===== */
.hp-btn {
    display: inline-block;
    padding: 14px 30px;
    margin: 0 8px 10px 8px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}
.hp-btn-primary {
    background-color: #B8792E;
    color: #ffffff !important;
    border: 2px solid #B8792E;
}
.hp-btn-secondary {
    background-color: transparent;
    color: #ffffff !important;
    border: 2px solid #ffffff;
}
@media (max-width: 700px) {
}

/* ===== Hero v2 -- Medanta-style split layout + floating overlapping action bar ===== */
@media (max-width: 700px) {
}

/* =========================================================
   LIGHT HEADER OVERRIDE (Medanta-style: white nav, no dark
   full-width backgrounds). Appended last to win the cascade.
   ========================================================= */
.site-header {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e3d9cc;
}
.site-topbar {
    background-color: #faf6f0 !important;
}
.gh-topbar-phone {
    color: #6B1F21 !important;
}
.site-btn-primary {
    color: #6B1F21 !important;
}
.site-nav-list > li > a {
    color: #F8F1E7 !important;
    font-weight: 700 !important;
}
.site-nav-list > li > a:hover {
    color: var(--gh-gold-light) !important;
}
.site-logo img {
    background: transparent !important;
    border: none !important;
}
.gh-header-cta {
    background-color: #B8792E !important;
    color: #ffffff !important;
}

/* ===== Dropdown menu item icons (Medanta-style) ===== */
.gh-nav-list .sub-menu li a {
    display: flex !important;
    align-items: center;
    gap: 10px;
}
.gh-nav-list .sub-menu li a::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #B8792E;
    flex-shrink: 0;
}

/* ===== Dropdown panel fix: light background + relevant icon instead of bullet ===== */
.gh-nav-list .sub-menu {
    background-color: #ffffff !important;
    border: 1px solid #e3d9cc !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}
.gh-nav-list .sub-menu li a {
    color: #2A2220 !important;
}
.gh-nav-list .sub-menu li a:hover {
    background-color: #faf6f0 !important;
    color: #6B1F21 !important;
}
.gh-nav-list .sub-menu li a::before {
    content: "" !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: #faf6f0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8792E' stroke-width='2'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px 12px !important;
    flex-shrink: 0 !important;
}

/* ===== Hero v3 -- Medanta-scale split composition ===== */
@media (max-width: 900px) {
}



/* =========================================================
   FINAL HERO FIX -- removing the fragile negative-margin
   overlap technique entirely. Simple robust stacked layout:
   hero split, then action bar directly below, no overlap,
   no negative margins, no possibility of mystery gaps.
   ========================================================= */

/* =========================================================
   FRESH HERO -- new isolated namespace (ghhero-), zero
   collision risk with any previous hero attempt. Simple,
   explicit, tested structure.
   ========================================================= */
.ghhero-wrap {
    width: 100%;
    background-color: #ffffff;
}
.ghhero-row {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.ghhero-text-col {
    display: table-cell;
    width: 45%;
    vertical-align: middle;
    background-color: #faf6f0;
    padding: 60px 50px;
}
.ghhero-img-col {
    display: table-cell;
    width: 55%;
    vertical-align: middle;
    height: 600px;
}
.ghhero-img {
    width: 100%;
    height: 600px;
    object-fit: cover;
    display: block;
}
.ghhero-eyebrow {
    color: #B8792E !important;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 20px 0;
    display: block;
}
.ghhero-title {
    color: #6B1F21 !important;
    font-size: 42px;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 20px 0;
}
.ghhero-subtitle {
    color: #333333 !important;
    font-size: 17px;
    line-height: 1.7;
    margin: 0;
}
.ghhero-actions-row {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.ghhero-action-a,
.ghhero-action-b {
    display: table-cell;
    text-align: center;
    padding: 26px 20px;
    text-decoration: none;
}
.ghhero-action-a {
    background-color: #6B1F21;
}
.ghhero-action-b {
    background-color: #B8792E;
}
.ghhero-action-text {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    display: inline-block;
}
@media (max-width: 800px) {
    .ghhero-row, .ghhero-text-col, .ghhero-img-col { display: block; width: 100%; }
    .ghhero-text-col { padding: 40px 24px; }
    .ghhero-img-col, .ghhero-img { height: 280px; }
    .ghhero-title { font-size: 28px; }
    .ghhero-actions-row, .ghhero-action-a, .ghhero-action-b { display: block; width: 100%; }
}

/* ===== Hero visual refinement (cosmetic only -- no layout/position changes) ===== */
.ghhero-wrap {
    padding: 24px 24px 0 24px;
    background-color: #f0e9dd;
}
.ghhero-row {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(107,31,33,0.15);
}
.ghhero-text-col {
    background-image: radial-gradient(circle at 1px 1px, rgba(107,31,33,0.06) 1px, transparent 0);
    background-size: 16px 16px;
    background-color: #faf6f0;
}
.ghhero-title {
    font-size: 46px !important;
    letter-spacing: -0.5px;
}
.ghhero-eyebrow {
    background-color: rgba(184,121,46,0.12);
    display: inline-block !important;
    padding: 6px 14px;
    border-radius: 20px;
}
.ghhero-actions-row {
    max-width: 900px;
    margin: -30px auto 0 auto;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0,0,0,0.22);
    position: relative;
    z-index: 10;
}
.ghhero-action-a,
.ghhero-action-b {
    display: table-cell !important;
    vertical-align: middle;
}
.ghhero-action-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-color: rgba(255,255,255,0.2);
    border-radius: 50%;
    padding: 8px;
    line-height: 0;
}
.ghhero-action-text {
    vertical-align: middle;
}
@media (max-width: 800px) {
    .ghhero-wrap { padding: 0; }
    .ghhero-row { border-radius: 0; }
    .ghhero-actions-row { margin-top: 0; border-radius: 0; }
}

/* =========================================================
   MEGA MENU / DROPDOWN PANEL DEFAULT STATE
   These panels (.site-mega-panel, .site-dropdown-panel) had
   zero CSS controlling them, so browsers rendered them inline
   at full content height instead of as hidden dropdowns. That
   stretched every nav <li> via flexbox's default
   align-items:stretch, pushing all page content below the
   header off-screen. This restores normal dropdown behavior:
   hidden by default, shown on hover (works today) and also on
   [aria-expanded="true"] (works automatically if/when the
   site's own JS starts toggling that attribute on click).
   ========================================================= */
.site-has-mega,
.site-has-dropdown {
    position: relative;
}
.site-mega-panel,
.site-dropdown-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 1px solid #e3d9cc;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 20px;
    z-index: 100;
    min-width: 260px;
}
.site-mega-panel {
    min-width: 640px;
    gap: 24px;
}
.site-has-mega:hover > .site-mega-panel,
.site-mega-trigger[aria-expanded="true"] + .site-mega-panel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1099px) {
    .site-mega-panel,
    .site-dropdown-panel {
        position: static;
        min-width: 0;
        width: 100%;
        box-shadow: none;
        border: none;
        padding: 12px 0 0 16px;
    }
    .site-has-mega:hover > .site-mega-panel,
    .site-mega-trigger[aria-expanded="true"] + .site-mega-panel {
        grid-template-columns: 1fr;
    }
}
.site-has-dropdown:hover > .site-dropdown-panel,
.site-mega-trigger[aria-expanded="true"] + .site-dropdown-panel {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.site-mega-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.site-mega-col li {
    margin-bottom: 6px;
}
.site-mega-col-title {
    display: block;
    font-weight: 700;
    color: #6B1F21;
    margin-bottom: 10px;
    font-size: 15px;
    text-decoration: none;
}
.site-mega-col a,
.site-dropdown-panel a {
    color: #2A2220;
    text-decoration: none;
    font-size: 14px;
    display: block;
    padding: 4px 0;
}
.site-mega-col a:hover,
.site-dropdown-panel a:hover {
    color: #B8792E;
}

/* =========================================================
   HEADER RESTYLE (matches doctor-approved static prototype):
   topbar removed; logo + phone pill + Request Call Back on
   one row, flat nav row below with plain-text mega-menu
   triggers instead of boxed buttons.
   ========================================================= */
.site-header-main-inner {
    flex-wrap: nowrap;
}
@media (max-width: 1099px) {
    .site-header-main .site-container {
        justify-content: flex-start;
        gap: 20px;
    }
}
.site-header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}
.site-phone-pill {
    background: var(--gh-orange);
    color: #ffffff !important;
    padding: 10px 20px;
    border-radius: 24px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
    transition: background 0.2s ease;
}
.site-phone-pill:hover {
    background: #9c6526;
}
.site-header-actions .site-btn-primary {
    display: inline-block;
    background: var(--gh-primary) !important;
    color: #ffffff !important;
    padding: 10px 22px;
    border-radius: 24px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}
.site-header-actions .site-btn-primary:hover {
    background: var(--gh-primary-dark) !important;
}
.site-nav-row {
    background: var(--gh-primary-dark);
    border-top: 1px solid var(--gh-primary-dark);
    border-bottom: 1px solid var(--gh-primary-dark);
}
.site-nav-row .site-container {
    max-width: var(--gh-max-width);
    margin: 0 auto;
    padding: 12px 20px;
}
.site-mega-trigger {
    background: none;
    border: none;
    font: inherit;
    color: #F8F1E7;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    font-size: 15px;
}
.site-mega-trigger:hover {
    color: var(--gh-gold-light);
}
@media (max-width: 768px) {
    .site-header-actions {
        display: none;
    }
}

/* Orange top bar (restored to match old site branding) */
.site-header-topbar {
    background: var(--gh-orange);
    padding: 8px 20px;
}
.site-header-topbar-inner {
    display: flex;
    justify-content: flex-end;
    gap: 24px;
}
.site-header-topbar a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}
.site-header-topbar a:hover {
    text-decoration: underline;
}
@media (max-width: 768px) {
    .site-header-topbar-inner { justify-content: center; gap: 16px; }
}

/* ---------- BRANCHES / LOCATIONS PAGE ---------- */
.gh-branches-page { padding: 20px 0 60px; }
.gh-branch-page-title { font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; color: var(--gh-primary-dark); margin-bottom: 10px; }
.gh-branch-page-desc { font-size: 15px; color: #6B5F5A; max-width: 620px; margin: 0 auto; }

.gh-branch-main { background: var(--gh-bg-ivory); border-radius: 14px; padding: 32px; border: 1px solid #e3d9cc; }
.gh-branch-main h2 { font-size: 20px; font-weight: 700; color: var(--gh-primary-dark); margin: 0 0 10px; }
.gh-branch-main-address { font-size: 14.5px; color: #6B5F5A; margin-bottom: 14px; }
.gh-branch-main-phones { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 20px; }
.gh-branch-main-phones a { color: var(--gh-primary); font-weight: 600; text-decoration: none; font-size: 14.5px; }
.gh-branch-main-phones a:hover { color: var(--gh-deep); }

.gh-branch-section-title { font-size: clamp(20px, 2.6vw, 26px); font-weight: 700; color: var(--gh-primary-dark); }

.gh-branch-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.gh-branch-card { background: white; border-radius: 14px; padding: 22px; border: 1px solid #e3d9cc; text-align: center; transition: all 0.25s; }
.gh-branch-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.08); transform: translateY(-3px); }
.gh-branch-icon { font-size: 34px; margin-bottom: 8px; }
.gh-branch-card h4 { font-size: 16px; font-weight: 700; color: var(--gh-primary-dark); margin-bottom: 8px; }
.gh-branch-address { font-size: 12.5px; color: #6B5F5A; line-height: 1.5; margin-bottom: 12px; min-height: 55px; }
.gh-branch-phone { font-size: 12.5px; margin-bottom: 4px; }
.gh-branch-phone-label { color: #6B5F5A; font-weight: 600; margin-right: 4px; }
.gh-branch-phone a { color: var(--gh-primary); font-weight: 600; text-decoration: none; }
.gh-branch-phone a:hover { color: var(--gh-deep); }

@media (max-width: 1024px) {
	.gh-branch-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.gh-branch-grid { grid-template-columns: 1fr; }
	.gh-branch-main { padding: 22px; }
}

/* ---------- BRANCHES PAGE v2 additions ---------- */
.gh-branch-note {
    background: var(--gh-bg-sand);
    border-left: 4px solid var(--gh-gold);
    border-radius: 8px;
    padding: 14px 18px;
    font-size: 13.5px;
    color: #4a4340;
    margin-bottom: 30px;
}
.gh-branch-main-badge {
    display: inline-block;
    background: var(--gh-gold);
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.gh-branch-hospital-name {
    font-weight: 700;
    color: var(--gh-primary);
    font-size: 14.5px;
    margin: 0 0 6px;
}
.gh-branch-hospital-name-sm {
    font-weight: 700;
    color: var(--gh-primary);
    font-size: 12px;
    margin: 0 0 6px;
}
.gh-branch-timings, .gh-branch-timings-sm {
    background: var(--gh-bg-sand);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 12.5px;
    color: #4a4340;
    margin-bottom: 14px;
}
.gh-branch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}
.gh-branch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}
.gh-branch-btn-primary {
    background: var(--gh-primary);
    color: #fff !important;
}
.gh-branch-btn-primary:hover {
    background: var(--gh-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}
.gh-branch-btn-wa {
    background: #25D366;
    color: #fff !important;
}
.gh-branch-btn-wa:hover {
    background: #1ebe59;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37,211,102,0.3);
}

/* Fade-up scroll entrance animation */
.gh-fade-up {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.gh-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---------- BRANCHES PAGE v3: heading colors, small maps, stronger effects ---------- */
.gh-heading-black { color: #1a1a1a; }
.gh-heading-orange { color: var(--gh-orange); }

.gh-loc-map-sm { margin-top: 4px; margin-bottom: 12px; border-radius: 10px; overflow: hidden; border: 1px solid #e3d9cc; }
.gh-loc-map-sm iframe { width: 100%; height: 150px; border: 0; display: block; }

/* Stronger card hover: lift + scale + deeper shadow */
.gh-branch-card {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s;
}
.gh-branch-card:hover {
    transform: translateY(-8px) scale(1.015);
    box-shadow: 0 20px 45px rgba(74,21,23,0.18);
    border-color: var(--gh-gold);
}
.gh-branch-main {
    transition: box-shadow 0.35s ease;
}
.gh-branch-main:hover {
    box-shadow: 0 16px 40px rgba(74,21,23,0.12);
}

/* Stronger button hover: lift + scale */
.gh-branch-btn:hover {
    transform: translateY(-3px) scale(1.04);
}

/* Stronger fade-up: larger travel distance, slight scale-in, smoother easing */
.gh-fade-up {
    opacity: 0;
    transform: translateY(40px) scale(0.97);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.gh-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
/* Stagger satellite cards slightly for a premium cascading feel */
.gh-branch-grid .gh-branch-card:nth-child(1) { transition-delay: 0s; }
.gh-branch-grid .gh-branch-card:nth-child(2) { transition-delay: 0.08s; }
.gh-branch-grid .gh-branch-card:nth-child(3) { transition-delay: 0.16s; }
.gh-branch-grid .gh-branch-card:nth-child(4) { transition-delay: 0.24s; }

/* .gh-loc-map base sizing (needed on pages where homepage.css is not loaded,
   e.g. the Branches page) */
.gh-loc-map {
    margin-top: 16px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e3d9cc;
}
.gh-loc-map iframe {
    width: 100%;
    height: 260px;
    border: 0;
    display: block;
}

/* ---------- STICKY ACTION TOOLBAR + BACK TO TOP ---------- */
.gh-sticky-toolbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    display: flex;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.12);
}
.gh-sticky-btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px 4px;
    text-decoration: none;
    font-size: 10.5px;
    white-space: nowrap;
    font-weight: 700;
    color: #fff !important;
    transition: filter 0.2s ease;
}
.gh-sticky-btn:hover { filter: brightness(0.92); }
.gh-sticky-icon { font-size: 18px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.gh-sticky-btn-call { background: var(--gh-primary); }
.gh-sticky-btn-wa { background: #25D366; }
.gh-sticky-btn-book { background: var(--gh-orange); }

.gh-back-to-top {
    position: fixed;
    right: 16px;
    bottom: 68px;
    z-index: 998;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--gh-primary-dark);
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.gh-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.gh-back-to-top:hover { background: var(--gh-primary); }

@media (min-width: 769px) {
    .gh-sticky-toolbar { max-width: 360px; left: auto; right: 16px; bottom: 16px; border-radius: 14px; overflow: hidden; }
    .gh-back-to-top { bottom: 68px; }
}

/* ---------- BRANCH CARDS v4: centred buttons + row alignment ----------
   Applies to the satellite cards on BOTH the Branches page and the homepage.
   1) Buttons were left-aligned: .gh-branch-actions had no justify-content.
   2) Maps / phones / buttons sat at different heights because address lengths differ.
      Each card now shares its row tracks with its neighbours (subgrid), so every part
      lines up across the row. Flex fallback for browsers without subgrid. */
.gh-branch-card .gh-branch-actions { justify-content: center; }
.gh-branch-card .gh-branch-btn { flex: 1 1 auto; }
.gh-branch-card { display: flex; flex-direction: column; }
.gh-branch-card .gh-branch-address { min-height: 0; }
.gh-branch-card .gh-branch-info { display: flex; flex-direction: column; flex: 1 0 auto; }
.gh-branch-card .gh-branch-info .gh-branch-timings-sm { margin-top: auto; }
@supports (grid-template-rows: subgrid) {
    .gh-branch-grid > .gh-branch-card {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 7;
        row-gap: 0;
    }
    .gh-branch-grid > .gh-branch-card > * { min-width: 0; }
    .gh-branch-grid > .gh-branch-card > .gh-branch-icon { grid-row: 1; }
    .gh-branch-grid > .gh-branch-card > h4 { grid-row: 2; }
    .gh-branch-grid > .gh-branch-card > .gh-branch-hospital-name-sm { grid-row: 3; }
    .gh-branch-grid > .gh-branch-card > .gh-branch-info { grid-row: 4; }
    .gh-branch-grid > .gh-branch-card > .gh-loc-map-sm { grid-row: 5; }
    .gh-branch-grid > .gh-branch-card > .gh-branch-phones { grid-row: 6; }
    .gh-branch-grid > .gh-branch-card > .gh-branch-actions { grid-row: 7; align-self: end; }
}

/* ---------- STICKY TOOLBAR v2: visible Call icon + back-to-top clear of the toolbar ----------
   Root cause of the overlap: on desktop the toolbar is lifted 16px off the bottom, but the
   back-to-top button kept the mobile offset (68px). Both now derive from one toolbar height. */
:root { --gh-toolbar-h: 58px; }
.gh-sticky-btn { height: var(--gh-toolbar-h); padding-top: 0; padding-bottom: 0; line-height: 1.2; box-sizing: border-box; }
.gh-sticky-icon svg { display: block; }
.gh-sticky-btn-call { background: var(--gh-primary-dark, #892728); }
.gh-back-to-top { bottom: calc(var(--gh-toolbar-h) + 12px); }
@media (min-width: 769px) {
    .gh-back-to-top { bottom: calc(16px + var(--gh-toolbar-h) + 14px); }
}

/* ---------- FOOTER v2: Branches column + legal bar ---------- */
.gh-footer-grid { grid-template-columns: 1.25fr repeat(5, minmax(0, 0.9fr)); gap: 26px; }
@media (max-width: 1199px) { .gh-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .gh-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .gh-footer-grid { grid-template-columns: minmax(0, 1fr); } }
.gh-footer-col { min-width: 0; overflow-wrap: anywhere; }
.gh-footer-bottom.gh-footer-legal { max-width: var(--gh-max-width, 1200px); margin: 30px auto 0; padding: 16px 0 0; border-top: 1px solid rgba(255,255,255,0.18); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; text-align: left; font-size: 13px; }
.gh-footer-copy { margin: 0; color: var(--gh-footer-text, #e6e6e6); }
.gh-footer-legal-links { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; }
.gh-footer-legal-links a { color: var(--gh-footer-text, #e6e6e6); text-decoration: none; display: inline-block; padding: 6px 0; }
.gh-footer-legal-links a:hover, .gh-footer-legal-links a:focus { color: var(--gh-gold-light); text-decoration: underline; }
/* keep the legal bar clear of the floating Call / WhatsApp / Book bar and the back-to-top button */
@media (min-width: 769px) { .gh-footer { padding-bottom: calc(16px + var(--gh-toolbar-h, 58px) + 20px); } }
@media (max-width: 768px) { .gh-footer { padding-bottom: calc(var(--gh-toolbar-h, 58px) + 12px + 42px + 18px); } .gh-footer-bottom.gh-footer-legal { justify-content: center; text-align: center; } .gh-footer-legal-links { justify-content: center; } }
/* legal pages: comfortable reading width */
.gh-content-wrap .gh-entry-content h2 { margin-top: 28px; }

/* ---------- BRANCHES PAGE: container width + centred headings ----------
   .site-container only had rules inside the header, and .gh-text-center lives in homepage.css
   (homepage only), so this page ran edge to edge with its headings stuck to the left. */
.gh-branches-page .site-container { max-width: var(--gh-max-width, 1200px); margin: 0 auto; padding: 0 20px; }
.gh-branches-page .gh-text-center { text-align: center; }

/* ---------- DOCTOR PROFILE v2 (single-doctor.php, archive-doctor.php) ---------- */
.gh-docp { --gh-docp-maroon: #892728; --gh-docp-orange: var(--gh-gold); --gh-docp-border: #E6DACB; --gh-docp-muted: #6B5F5A; background: #FAF6F0; padding-bottom: 40px; }
.gh-docp .gh-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.gh-docp-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 16px; padding-bottom: 16px; font-size: 13px; color: var(--gh-docp-muted); }
.gh-docp-crumbs a { color: var(--gh-docp-maroon); text-decoration: none; font-weight: 600; }
.gh-docp-crumbs a:hover { text-decoration: underline; }
.gh-docp-hero { background: radial-gradient(600px 320px at 100% 0%, rgba(238,125,5,0.30), transparent 65%), linear-gradient(135deg, #892728 0%, #4f1617 100%); color: #fff; padding: 32px 0; }
.gh-docp-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.gh-docp-photo { max-width: 320px; margin: 0 auto; }
.gh-docp-img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 20px; border: 4px solid rgba(255,255,255,0.22); box-shadow: 0 20px 44px rgba(0,0,0,0.28); background: #fff; }
.gh-docp-noimg { display: grid; place-items: center; color: var(--gh-docp-maroon); background: #FBF1E6; }
.gh-docp-intro { text-align: center; }
.gh-docp-dept { display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.3); color: #FFD9A8; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; margin-bottom: 14px; }
.gh-docp-dept:hover { background: var(--gh-primary-dark); color: #fff; }
.gh-docp-name { margin: 0 0 8px; font-size: clamp(28px, 4vw, 42px); line-height: 1.15; font-weight: 800; color: #fff; }
.gh-docp-desig { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: #FFD9A8; }
.gh-docp-focus { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.9); }
.gh-docp-quals { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.gh-docp-quals li { padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.28); font-size: 13px; font-weight: 600; }
.gh-docp-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.gh-docp-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 12px; font-size: 14.5px; font-weight: 700; text-decoration: none; transition: transform 0.2s ease, background 0.2s ease; }
.gh-docp-btn:hover { transform: translateY(-2px); }
.gh-docp-btn-book { background: var(--gh-orange); color: #fff; }
.gh-docp-btn-book:hover { background: #BE6404; color: #fff; }
.gh-docp-btn-call { background: #fff; color: var(--gh-docp-maroon); }
.gh-docp-btn-wa { background: #25D366; color: #fff; }
.gh-docp-btn:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
.gh-docp-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 28px; }
.gh-docp-card { background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 18px; padding: 24px; box-shadow: 0 2px 8px rgba(74,21,23,0.05); }
.gh-docp-card + .gh-docp-card { margin-top: 20px; }
.gh-docp-h2 { margin: 0 0 14px; font-size: 20px; font-weight: 800; color: var(--gh-docp-maroon); line-height: 1.3; }
.gh-docp-prose { font-size: 15px; line-height: 1.75; color: #3a302c; }
.gh-docp-prose p { margin: 0 0 12px; }
.gh-docp-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.gh-docp-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.5; color: #3a302c; }
.gh-docp-list .gh-ico { flex: 0 0 auto; margin-top: 2px; width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--gh-gold-soft); border: 1.5px solid var(--gh-gold); color: var(--gh-primary-dark); }
.gh-docp-note { margin: 14px 0 0; font-size: 13px; line-height: 1.6; color: var(--gh-docp-muted); }
.gh-docp-emergency { background: #FFF4F4; border-color: rgba(137,39,40,0.3); }
.gh-docp-emergency p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.65; color: #3a302c; }
.gh-docp-emnums a { color: var(--gh-docp-maroon); font-weight: 700; text-decoration: none; }
.gh-docp-emnums a:hover { text-decoration: underline; }
.gh-docp-opdrow { padding: 14px 0; border-top: 1px solid var(--gh-docp-border); display: grid; gap: 3px; }
.gh-docp-opdrow:first-of-type { border-top: 0; padding-top: 0; }
.gh-docp-opdbranch { display: flex; align-items: center; gap: 6px; font-weight: 800; color: var(--gh-docp-maroon); font-size: 15px; }
.gh-docp-opdbranch .gh-ico { color: var(--gh-gold); }
.gh-docp-opddays { font-size: 14px; font-weight: 600; color: #3a302c; }
.gh-docp-opdhours { font-size: 15px; font-weight: 800; color: #3a302c; }
.gh-docp-opdaddr { font-size: 13px; line-height: 1.5; color: var(--gh-docp-muted); }
.gh-docp-opdphone { display: inline-block; margin-top: 4px; font-size: 14px; font-weight: 700; color: var(--gh-docp-maroon); text-decoration: none; }
.gh-docp-opdphone:hover { text-decoration: underline; }
.gh-docp-visiting { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--gh-docp-border); }
.gh-docp-visitlabel { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-gold); margin-bottom: 8px; }
.gh-docp-visiting ul { margin: 0; padding-left: 18px; font-size: 13.5px; line-height: 1.6; color: #3a302c; }
.gh-docp-peers { margin-top: 36px; padding: 32px 0 8px; background: #fff; border-top: 1px solid var(--gh-docp-border); }
.gh-docp-peergrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.gh-docp-peer { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 16px 12px; border: 1px solid var(--gh-docp-border); border-radius: 16px; text-decoration: none; background: #FAF6F0; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gh-docp-peer:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(74,21,23,0.10); }
.gh-docp-peer img, .gh-docp-peer-noimg { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: top; display: grid; place-items: center; background: #FBF1E6; color: var(--gh-docp-maroon); }
.gh-docp-peer-name { font-weight: 800; color: var(--gh-docp-maroon); font-size: 15px; }
.gh-docp-peer-desig { font-size: 12.5px; color: var(--gh-docp-muted); line-height: 1.4; }
.gh-docp-disclaimer { margin: 28px auto 0; font-size: 12.5px; line-height: 1.6; color: var(--gh-docp-muted); }
.gh-docp-disclaimer a { color: var(--gh-docp-maroon); font-weight: 600; }
@media (min-width: 700px) {
    .gh-docp-hero-inner { grid-template-columns: 300px minmax(0, 1fr); gap: 36px; }
    .gh-docp-photo { margin: 0; }
    .gh-docp-intro { text-align: left; }
    .gh-docp-quals, .gh-docp-actions { justify-content: flex-start; }
    .gh-docp-list-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
    .gh-docp-peergrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .gh-docp-hero { padding: 44px 0; }
    .gh-docp-hero-inner { grid-template-columns: 340px minmax(0, 1fr); gap: 48px; }
    .gh-docp-body { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; }
    .gh-docp-side { position: static; }
    .gh-docp-peergrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* archive */
.gh-docarch-head { padding: 8px 0 28px; text-align: center; }
.gh-docarch-title { margin: 8px 0 12px; font-size: clamp(26px, 3.6vw, 38px); font-weight: 800; color: #2a1d1a; line-height: 1.2; }
.gh-docarch-lead { max-width: 760px; margin: 0 auto; font-size: 15.5px; line-height: 1.7; color: var(--gh-docp-muted); }
.gh-docarch-group { margin-bottom: 34px; }
.gh-docarch-h2 { margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid var(--gh-gold); display: inline-block; font-size: 22px; font-weight: 800; color: var(--gh-docp-maroon); }
.gh-docarch-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.gh-docarch-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; height: 100%; box-sizing: border-box; padding: 22px 18px; background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 18px; text-decoration: none; transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.gh-docarch-card:hover { transform: translateY(-5px); border-color: rgba(238,125,5,0.45); box-shadow: 0 18px 36px rgba(74,21,23,0.12); }
.gh-docarch-photo img, .gh-docarch-photo .gh-docp-peer-noimg { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; object-position: top; border: 3px solid #FBF1E6; }
.gh-docarch-name { margin-top: 6px; font-size: 17px; font-weight: 800; color: var(--gh-docp-maroon); }
.gh-docarch-desig { font-size: 13.5px; font-weight: 700; color: var(--gh-gold); line-height: 1.4; }
.gh-docarch-quals { font-size: 12.5px; color: var(--gh-docp-muted); line-height: 1.5; }
.gh-docarch-focus { font-size: 13px; color: #3a302c; line-height: 1.5; }
.gh-docarch-more { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: var(--gh-docp-maroon); }
@media (min-width: 600px) { .gh-docarch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-docarch-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
@media (prefers-reduced-motion: reduce) { .gh-docp-btn, .gh-docp-peer, .gh-docarch-card { transition: none; } }
.gh-docarch-label { display: inline-block; padding: 6px 14px; border-radius: 999px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.32); color: #892728; font-size: 12px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }

/* ---------- FOOTER v2.1: credit line ---------- */
.gh-footer-bottom.gh-footer-legal .gh-footer-copy { flex: 1 1 100%; }
.gh-footer-credit { flex: 1 1 auto; margin: 0; font-size: 12.5px; color: var(--gh-footer-text, #e6e6e6); opacity: 0.85; }
.gh-footer-credit a { color: var(--gh-gold-light); text-decoration: none; font-weight: 600; }
.gh-footer-credit a:hover { text-decoration: underline; }
@media (min-width: 769px) { .gh-footer-bottom.gh-footer-legal { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; } .gh-footer-legal-links { grid-column: 2; grid-row: 1 / span 2; align-self: center; } }

/* ---------- PASS 14: consent checkbox, submit button, footer contact row, sticky Call button ---------- */
/* the width:100% cap from APPOINTMENT v2.1 must not apply to checkboxes/radios */
.gh-apptx-formcard .fluentform input[type="checkbox"], .gh-apptx-formcard .fluentform input[type="radio"], .gh-apptx-formcard .fluentform .ff-el-form-check-input { width: 18px; min-width: 18px; max-width: 18px; height: 18px; flex: 0 0 18px; }
.gh-apptx-formcard .fluentform .ff-el-form-check-label { display: flex; align-items: flex-start; gap: 10px; }
.gh-apptx-formcard .fluentform .ff-el-form-check-label > span, .gh-apptx-formcard .fluentform .ff-el-form-check-label > .ff-el-form-check-text { flex: 1 1 auto; min-width: 0; }
/* submit button never clips its label */
.gh-apptx-formcard .fluentform .ff-btn-submit { height: auto; min-height: 52px; padding: 12px 16px; white-space: normal; line-height: 1.3; }
@media (max-width: 420px) { .gh-apptx-formcard .fluentform .ff-btn-submit { font-size: 13px; letter-spacing: 0.2px; } }
/* footer: contact lines and social icons on one row */
@media (min-width: 1200px) { .gh-footer-grid { grid-template-columns: 1.1fr repeat(4, minmax(0, 0.8fr)) minmax(0, 1.45fr); gap: 20px; } }
.gh-footer-col:last-child p { white-space: nowrap; font-size: 14px; }
.gh-footer-col:last-child p a { display: inline; }
.gh-social-icons { flex-wrap: nowrap; gap: 8px; }
.gh-social-icons a { width: 34px; height: 34px; flex: 0 0 34px; }
@media (max-width: 1199px) { .gh-footer-col:last-child p { white-space: normal; } }
/* sticky bar: the Call button was the same maroon as the footer; make it read on any background */
.gh-sticky-toolbar, .gh-sticky-bar { box-shadow: 0 -6px 18px rgba(0,0,0,0.18); }
.gh-sticky-btn-call { background: #fff !important; color: var(--gh-primary-dark, #892728) !important; box-shadow: inset 0 3px 0 var(--gh-primary-dark, #892728); }
.gh-sticky-btn-call .gh-sticky-icon, .gh-sticky-btn-call svg { color: var(--gh-primary-dark, #892728); fill: var(--gh-primary-dark, #892728) !important; }

/* ---------- PASS 15: sticky Call button - maroon by default, white only while the bar overlaps the footer ---------- */
.gh-sticky-btn-call { background: var(--gh-primary-dark, #892728) !important; color: #fff !important; box-shadow: none; transition: background 0.25s ease, color 0.25s ease; }
.gh-sticky-btn-call .gh-sticky-icon, .gh-sticky-btn-call svg { color: #fff; fill: #fff !important; transition: fill 0.25s ease; }
.gh-sticky-toolbar.is-on-footer .gh-sticky-btn-call { background: #fff !important; color: var(--gh-primary-dark, #892728) !important; box-shadow: inset 0 3px 0 var(--gh-primary-dark, #892728); }
.gh-sticky-toolbar.is-on-footer .gh-sticky-btn-call .gh-sticky-icon, .gh-sticky-toolbar.is-on-footer .gh-sticky-btn-call svg { color: var(--gh-primary-dark, #892728); fill: var(--gh-primary-dark, #892728) !important; }

/* ---------- PASS 16: white Call button keeps its full size (no inset bar) ---------- */
.gh-sticky-toolbar.is-on-footer .gh-sticky-btn-call { box-shadow: none; border-top: 0; }

/* ---------- DOCTOR PROFILE v2.1: educational videos ---------- */
.gh-docp-videos-intro { margin: -4px 0 16px; font-size: 14.5px; line-height: 1.6; color: #4a3d36; }
.gh-docp-videogrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.gh-docp-video { min-width: 0; }
.gh-docp-videoel { display: block; width: 100%; aspect-ratio: 16 / 9; background: #1a0f0f; border-radius: 14px; border: 1px solid var(--gh-docp-border, #E6DACB); }
.gh-docp-videocap { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; font-weight: 600; color: var(--gh-docp-maroon, #892728); }
@media (min-width: 600px) { .gh-docp-videogrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- DOCTOR PROFILE v2.2: the videos are portrait (reels), so the players are portrait too ---------- */
.gh-docp-videoel { aspect-ratio: 9 / 16; max-height: 560px; object-fit: contain; background: #1a0f0f; }
.gh-docp-videogrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (min-width: 600px) { .gh-docp-videogrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1024px) { .gh-docp-videogrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } }
.gh-docp-videocap { font-size: 12.5px; }

/* ---------- DOCTOR PROFILE v3: educational videos - one featured player + selector cards ---------- */
.gh-vid-eyebrow { display: inline-block; margin-bottom: 8px; padding: 5px 12px; border-radius: 999px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.32); color: #892728; font-size: 11.5px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.gh-vid-stage { --gh-vid-ratio: 16/9; position: relative; width: 100%; border-radius: 16px; overflow: hidden; background: radial-gradient(600px 300px at 50% 0%, rgba(137,39,40,0.55), transparent 70%), #1a0f0f; border: 1px solid var(--gh-docp-border, #E6DACB); display: flex; justify-content: center; }
.gh-vid-player { display: block; width: 100%; max-width: 100%; aspect-ratio: var(--gh-vid-ratio); max-height: min(78vh, 640px); background: transparent; }
/* portrait clips sit centred on the stage instead of stretching a 16:9 frame with black bars */
.gh-vid-stage[style*="9/16"] .gh-vid-player { width: 100%; height: auto; }
@media (min-width: 700px) { .gh-vid-stage[style*="9/16"] .gh-vid-player { width: auto; height: min(78vh, 640px); max-width: 100%; } }
.gh-vid-now { display: flex; flex-direction: column; gap: 2px; margin: 12px 0 18px; }
.gh-vid-nowlabel { font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-gold); }
.gh-vid-nowtitle { margin: 0; font-size: 15px; line-height: 1.45; font-weight: 700; color: #892728; }
.gh-vid-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.gh-vid-cards li { min-width: 0; }
.gh-vid-card { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 6px; width: 100%; min-height: 44px; padding: 10px 10px 12px; border: 2px solid var(--gh-docp-border, #E6DACB); border-radius: 14px; background: #FAF6F0; text-align: left; font: inherit; color: inherit; cursor: pointer; transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; -webkit-tap-highlight-color: transparent; }
.gh-vid-card:hover { border-color: rgba(238,125,5,0.6); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(74,21,23,0.10); }
.gh-vid-card:focus-visible { outline: 3px solid #E9C27A; outline-offset: 2px; }
.gh-vid-card.is-active { border-color: #892728; box-shadow: 0 10px 24px rgba(137,39,40,0.16); background: #fff; }
.gh-vid-thumb { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, #892728 0%, #4f1617 100%) center / cover no-repeat; }
.gh-vid-play { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,0.92); color: #892728; box-shadow: 0 4px 12px rgba(0,0,0,0.25); transition: transform 0.2s ease, background 0.2s ease; }
.gh-vid-play svg { margin-left: 2px; }
.gh-vid-card:hover .gh-vid-play, .gh-vid-card.is-active .gh-vid-play { background: var(--gh-orange); color: #fff; transform: scale(1.06); }
.gh-vid-num { position: absolute; left: 8px; top: 8px; padding: 2px 7px; border-radius: 6px; background: rgba(0,0,0,0.45); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; }
.gh-vid-topic { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gh-gold); }
.gh-vid-short { font-size: 13.5px; line-height: 1.35; font-weight: 700; color: #892728; overflow-wrap: anywhere; }
.gh-vid-state { display: none; margin-top: 2px; font-size: 11px; font-weight: 700; color: #892728; }
.gh-vid-state::before { content: "✓ "; }
.gh-vid-card.is-active .gh-vid-state { display: block; }
@media (min-width: 700px) { .gh-vid-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .gh-vid-card { padding: 12px 12px 14px; } }
@media (min-width: 700px) and (max-width: 1023px) { .gh-vid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 379px) { .gh-vid-cards { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .gh-vid-card, .gh-vid-play { transition: none; } .gh-vid-card:hover { transform: none; } }

/* ---------- DOCTOR PROFILE v3.1: full video titles on the selector cards ---------- */
.gh-vid-short { font-size: 12.5px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; hyphens: auto; }
.gh-vid-card { min-height: 100%; }
.gh-vid-cards li { display: flex; }
@media (min-width: 1024px) { .gh-vid-short { font-size: 12px; } }

/* ---------- DOCTOR PROFILE v3.2: title bar on the featured player (shown when paused or on hover, hidden while playing) ---------- */
.gh-vid-overlay { position: absolute; left: 0; right: 0; top: 0; z-index: 2; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 34px; background: linear-gradient(180deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 70%, rgba(0,0,0,0) 100%); color: #fff; pointer-events: none; opacity: 1; transition: opacity 0.35s ease; }
.gh-vid-overlay-badge { align-self: flex-start; padding: 3px 9px; border-radius: 999px; background: var(--gh-gold, #C98A2E); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.gh-vid-overlay-title { font-size: 15px; line-height: 1.4; font-weight: 700; text-shadow: 0 1px 2px rgba(0,0,0,0.5); overflow-wrap: anywhere; }
.gh-vid-stage.is-playing .gh-vid-overlay { opacity: 0; }
@media (hover: hover) { .gh-vid-stage.is-playing:hover .gh-vid-overlay { opacity: 1; } }
@media (max-width: 480px) { .gh-vid-overlay { padding: 10px 12px 28px; } .gh-vid-overlay-title { font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .gh-vid-overlay { transition: none; } }

/* ---------- PASS 24: sitewide emergency strip above the footer + disclaimer line ---------- */
.gh-emg { background: #FFF4F4; border-top: 3px solid #892728; border-bottom: 1px solid rgba(137,39,40,0.2); }
.gh-emg-inner { max-width: var(--gh-max-width, 1200px); margin: 0 auto; padding: 16px 20px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; align-items: start; }
.gh-emg-badge { display: inline-block; padding: 5px 11px; border-radius: 999px; background: #892728; color: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-top: 2px; }
.gh-emg-text { margin: 0; font-size: 14px; line-height: 1.6; color: #3a302c; }
.gh-emg-links { grid-column: 2; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.gh-emg-links a { color: #892728; font-weight: 700; font-size: 14px; text-decoration: none; }
.gh-emg-links a:hover { text-decoration: underline; }
@media (max-width: 600px) { .gh-emg-inner { grid-template-columns: minmax(0, 1fr); } .gh-emg-links { grid-column: 1; } }
.gh-footer-disclaimer { flex: 1 1 100%; margin: 4px 0 8px; font-size: 12px; line-height: 1.6; color: var(--gh-footer-text, #e6e6e6); opacity: 0.85; }
@media (min-width: 769px) { .gh-footer-bottom.gh-footer-legal .gh-footer-disclaimer { grid-column: 1 / -1; grid-row: 3; } .gh-footer-legal-links { grid-row: 1 / span 2; } }

/* ---------- CARE v1: "Find the Right Care" (homepage block + /care/ pages) ---------- */
.gh-care-desc { max-width: 760px; margin-left: auto; margin-right: auto; }
.gh-care-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.gh-care-card { position: relative; min-width: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid #E6DACB; border-radius: 20px; padding: 22px 20px 20px; box-shadow: 0 2px 6px rgba(74,21,23,0.05); transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }
.gh-care-head { position: relative; padding-right: 56px; margin-bottom: 14px; }
.gh-care-icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: #FBF1E6; color: #892728; margin-bottom: 12px; transition: background 0.3s ease, color 0.3s ease; }
.gh-care-num { position: absolute; right: 0; top: 0; font-size: 34px; font-weight: 800; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(238,125,5,0.4); }
.gh-care-title { margin: 0 0 4px; font-size: 19px; line-height: 1.3; font-weight: 800; }
.gh-care-title a { color: #892728; text-decoration: none; }
.gh-care-title a:hover { color: var(--gh-deep); }
.gh-care-tagline { margin: 0; font-size: 13px; line-height: 1.5; color: #6B5F5A; }
.gh-care-items { flex: 1 1 auto; display: grid; align-content: start; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.gh-care-items li a { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 9px; background: #FAF6F0; color: #3a302c; font-size: 13.5px; font-weight: 600; line-height: 1.35; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.gh-care-items li a::before { content: ""; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: var(--gh-gold); }
.gh-care-items li a:hover { background: #892728; color: #fff; }
.gh-care-link { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; min-height: 42px; padding: 0 14px; border-radius: 10px; background: #FBF1E6; color: #892728; font-size: 13.5px; font-weight: 700; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.gh-care-link:hover { background: var(--gh-primary-dark); color: #fff; }
@media (hover: hover) { .gh-care-card:hover { transform: translateY(-5px); border-color: rgba(238,125,5,0.45); box-shadow: 0 18px 38px rgba(74,21,23,0.12); } .gh-care-card:hover .gh-care-icon { background: #892728; color: #fff; } }
.gh-care-foot { margin-top: 26px; padding: 20px 22px; border-radius: 16px; background: linear-gradient(135deg, #FFF6EA 0%, #FBEBD6 100%); border: 1px solid rgba(238,125,5,0.25); display: grid; gap: 10px; }
.gh-care-symptoms { margin: 0; font-size: 14px; line-height: 1.7; color: #4a3d36; }
.gh-care-note { margin: 0; font-size: 12.5px; color: #6B5F5A; }
.gh-care-note a { color: #892728; font-weight: 600; }
.gh-care-cta { justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 18px; border-radius: 10px; background: #892728; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.gh-care-cta:hover { background: #6e1f20; color: #fff; }
@media (min-width: 640px) { .gh-care-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-care-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }
.gh-reveal-on .gh-care-card[data-gh-reveal]:nth-child(2) { transition-delay: 0.06s; } .gh-reveal-on .gh-care-card[data-gh-reveal]:nth-child(3) { transition-delay: 0.12s; } .gh-reveal-on .gh-care-card[data-gh-reveal]:nth-child(4) { transition-delay: 0.06s; } .gh-reveal-on .gh-care-card[data-gh-reveal]:nth-child(5) { transition-delay: 0.12s; } .gh-reveal-on .gh-care-card[data-gh-reveal]:nth-child(6) { transition-delay: 0.18s; }
.gh-reveal-on .gh-care-card.is-revealed { transition: opacity 0.55s ease, transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .gh-care-card, .gh-care-icon, .gh-care-items li a, .gh-care-link { transition: none; } .gh-care-card:hover { transform: none; } }
/* care pages */
.gh-carep { background: #FAF6F0; padding-bottom: 40px; }
.gh-carep .gh-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.gh-carep .gh-docp-card { background: #fff; border: 1px solid #E6DACB; border-radius: 18px; padding: 24px; box-shadow: 0 2px 8px rgba(74,21,23,0.05); }
.gh-carep .gh-docp-card + .gh-docp-card { margin-top: 20px; }
.gh-carep .gh-docp-h2 { margin: 0 0 14px; font-size: 20px; font-weight: 800; color: #892728; }
.gh-carep .gh-docp-note { margin: 14px 0 0; font-size: 13px; line-height: 1.6; color: #6B5F5A; }
.gh-carep .gh-docp-emergency { background: #FFF4F4; border-color: rgba(137,39,40,0.3); } .gh-carep .gh-docp-emergency p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.65; color: #3a302c; } .gh-carep .gh-docp-emnums a { color: #892728; font-weight: 700; text-decoration: none; }
.gh-carep-hero { color: #fff; padding: 30px 0; background: radial-gradient(600px 320px at 100% 0%, rgba(238,125,5,0.30), transparent 65%), linear-gradient(135deg, #892728 0%, #4f1617 100%); }
.gh-carep-hero-inner { display: flex; align-items: center; gap: 18px; }
.gh-carep-icon { flex: 0 0 auto; width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.28); }
.gh-carep-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #FFD9A8; margin-bottom: 6px; }
.gh-carep-title { margin: 0 0 6px; font-size: clamp(26px, 3.6vw, 38px); line-height: 1.15; font-weight: 800; color: #fff; }
.gh-carep-tagline { margin: 0; font-size: 15px; color: rgba(255,255,255,0.9); }
.gh-carep-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 24px; }
.gh-carep-intro { margin: 0; font-size: 15px; line-height: 1.75; color: #3a302c; }
.gh-carep-list { margin: 0; display: grid; gap: 10px; }
.gh-carep-item { padding: 12px 14px; border-radius: 12px; background: #FAF6F0; border: 1px solid #E6DACB; scroll-margin-top: 120px; }
.gh-carep-item dt { font-size: 15px; font-weight: 800; color: #892728; margin-bottom: 4px; }
.gh-carep-item dd { margin: 0; font-size: 14px; line-height: 1.6; color: #3a302c; }
.gh-carep-item:target { border-color: var(--gh-gold); box-shadow: 0 0 0 3px rgba(238,125,5,0.2); }
.gh-carep-docs { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.gh-carep-docs a { display: flex; align-items: center; gap: 12px; text-decoration: none; padding: 8px; border-radius: 12px; }
.gh-carep-docs a:hover { background: #FAF6F0; }
.gh-carep-docs img, .gh-carep-docs .gh-docp-peer-noimg { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: top; flex: 0 0 auto; display: grid; place-items: center; background: #FBF1E6; color: #892728; }
.gh-carep-docs strong { display: block; font-size: 14.5px; color: #892728; } .gh-carep-docs em { display: block; font-style: normal; font-size: 12.5px; color: #6B5F5A; line-height: 1.4; }
.gh-carep-others { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.gh-carep-others a { display: block; padding: 8px 12px; border-radius: 9px; background: #FAF6F0; color: #892728; font-weight: 700; font-size: 13.5px; text-decoration: none; }
.gh-carep-others a:hover { background: #892728; color: #fff; }
@media (min-width: 1024px) { .gh-carep-body { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; } .gh-carep-hero { padding: 40px 0; } }


/* ---------- STEP 3: care CTA colour, emergency strip v2, journey v2, decide v1, FAQ page, footer address ---------- */
.gh-home a.gh-care-cta { color: #fff; }
.gh-home a.gh-care-cta:hover { color: #fff; }
/* emergency strip v2 */
.gh-emg { background: linear-gradient(135deg, #892728 0%, #5c1a1b 100%); border: 0; color: #fff; }
.gh-emg-inner { max-width: var(--gh-max-width, 1200px); margin: 0 auto; padding: 18px 20px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: center; }
.gh-emg-lead { display: flex; gap: 14px; align-items: flex-start; }
.gh-emg-icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: var(--gh-red); color: #fff; box-shadow: 0 6px 16px rgba(0,0,0,0.25); }
.gh-emg-title { font-size: 16px; font-weight: 800; margin-bottom: 4px; }
.gh-emg-text { margin: 0; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,0.88); }
.gh-emg-links { display: flex; flex-wrap: wrap; gap: 10px; }
.gh-emg-links a { display: flex; flex-direction: column; min-width: 0; padding: 9px 14px; border-radius: 12px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.28); color: #fff; text-decoration: none; transition: background 0.2s ease, transform 0.2s ease; }
.gh-emg-links a:hover { background: #fff; color: #892728; transform: translateY(-2px); }
.gh-emg-linklabel { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.85; }
.gh-emg-num { font-size: 15px; font-weight: 800; white-space: nowrap; }
@media (min-width: 900px) { .gh-emg-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; } .gh-emg-links a { min-width: 200px; } }
/* journey v2 */
.gh-home .gh-journey-steps { list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; counter-reset: none; }
.gh-journey-step { position: relative; padding: 16px 16px 16px 60px; border-radius: 14px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); }
.gh-journey-num { position: absolute; left: 14px; top: 14px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--gh-gold); color: #fff; font-size: 12.5px; font-weight: 800; }
.gh-home .gh-journey-title { margin: 0 0 4px; font-size: 15px; font-weight: 800; color: #fff; }
.gh-home .gh-journey-text { margin: 0; font-size: 13px; line-height: 1.55; color: rgba(255,255,255,0.75); }
@media (min-width: 640px) { .gh-home .gh-journey-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
@media (min-width: 1024px) { .gh-home .gh-journey-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .gh-journey-step { padding: 20px 18px 18px 66px; } .gh-journey-num { left: 16px; top: 18px; } }
/* decide v1 */
.gh-decide { background: #fff; }
.gh-decide-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.gh-home .gh-decide-list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.gh-decide-list li { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: 12px; background: #FAF6F0; border: 1px solid #E6DACB; font-size: 14.5px; line-height: 1.5; color: #3a302c; }
.gh-decide-list .gh-ico { flex: 0 0 auto; margin-top: 2px; width: 22px; height: 22px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: #892728; color: #fff; }
.gh-decide-card { padding: 26px 24px; border-radius: 20px; color: #fff; background: radial-gradient(420px 240px at 100% 0%, rgba(238,125,5,0.35), transparent 65%), linear-gradient(135deg, #892728 0%, #5c1a1b 100%); box-shadow: 0 18px 40px rgba(74,21,23,0.22); }
.gh-decide-badge { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--gh-gold); font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px; }
.gh-home .gh-decide-h3 { margin: 0 0 10px; font-size: 22px; font-weight: 800; color: #fff; }
.gh-home .gh-decide-card p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.65; color: rgba(255,255,255,0.92); }
.gh-home .gh-decide-bring { margin: 0 0 18px; padding-left: 20px; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.92); }
.gh-home a.gh-decide-cta { display: inline-flex; align-items: center; gap: 6px; min-height: 46px; padding: 0 18px; border-radius: 12px; background: #fff; color: #892728; font-size: 14px; font-weight: 700; text-decoration: none; transition: transform 0.2s ease; }
.gh-home a.gh-decide-cta:hover { transform: translateY(-2px); color: #892728; }
@media (min-width: 1024px) { .gh-decide-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; } }
/* homepage FAQ: view-all link */
.gh-home a.gh-faqx-all { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 18px; font-size: 14px; font-weight: 700; color: #892728; }
.gh-home a.gh-faqx-all:hover { color: var(--gh-deep); }
/* FAQ page: accordion styles copied from the homepage block (homepage.css does not load here) */
/* ---------- FAQ v2 ---------- */
.gh-faqx { background: linear-gradient(180deg, #fff 0%, var(--gh-ivory, #FAF6F0) 100%); }
.gh-faqx-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
.gh-faqpage .gh-faqx-lead { margin: 0 0 22px; font-size: 15px; line-height: 1.7; color: var(--gh-muted, #6B5F5A); max-width: 460px; }
.gh-faqx-help { padding: 22px; border-radius: 18px; color: #fff; background: radial-gradient(360px 200px at 100% 0%, rgba(238,125,5,0.35), transparent 65%), linear-gradient(135deg, #892728 0%, #5c1a1b 100%); box-shadow: 0 16px 36px rgba(74,21,23,0.2); }
.gh-faqx-helptitle { font-size: 18px; font-weight: 800; margin-bottom: 4px; }
.gh-faqpage .gh-faqx-helptext { margin: 0 0 16px; font-size: 14px; color: rgba(255,255,255,0.9); }
.gh-faqx-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.gh-faqpage a.gh-faqx-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 700; text-decoration: none; transition: transform 0.2s ease, background 0.2s ease; }
.gh-faqpage a.gh-faqx-btn-call { background: #fff; color: #892728; }
.gh-faqpage a.gh-faqx-btn-wa { background: #25D366; color: #fff; }
.gh-faqpage a.gh-faqx-btn:hover { transform: translateY(-2px); }
.gh-faqx-btn:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
.gh-faqx-list { display: grid; gap: 10px; min-width: 0; }
.gh-faqx-item { background: #fff; border: 1px solid var(--gh-border, #E6DACB); border-radius: 14px; overflow: hidden; transition: border-color 0.25s ease, box-shadow 0.25s ease; }
.gh-faqx-item.is-open { border-color: rgba(238,125,5,0.5); box-shadow: 0 10px 26px rgba(74,21,23,0.09); }
.gh-faqpage .gh-faqx-q { margin: 0; font-size: inherit; }
.gh-faqx-btnq { width: 100%; display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 12px 16px; border: 0; background: transparent; text-align: left; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--gh-primary-dark, #892728); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.gh-faqx-btnq:focus-visible { outline: 3px solid #E9C27A; outline-offset: -3px; border-radius: 14px; }
.gh-faqx-n { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--gh-gold-soft, #FBF1E6); color: var(--gh-gold); font-size: 12.5px; font-weight: 800; transition: background 0.25s ease, color 0.25s ease; }
.gh-faqx-item.is-open .gh-faqx-n { background: var(--gh-primary-dark, #892728); color: #fff; }
.gh-faqx-qtext { flex: 1 1 auto; min-width: 0; }
.gh-faqx-chev { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--gh-border, #E6DACB); color: var(--gh-primary-dark, #892728); transition: transform 0.3s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
.gh-faqx-item.is-open .gh-faqx-chev { transform: rotate(180deg); background: var(--gh-gold); border-color: var(--gh-gold); color: #fff; }
.gh-faqx-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.35s ease; }
.gh-faqx-item.is-open .gh-faqx-a { grid-template-rows: 1fr; }
.gh-faqx-ainner { min-height: 0; overflow: hidden; }
.gh-faqpage .gh-faqx-ainner p { margin: 0; padding: 0 18px 18px 64px; font-size: 14.5px; line-height: 1.75; color: #4a3d36; }
@media (max-width: 479px) { .gh-faqpage .gh-faqx-ainner p { padding-left: 18px; } .gh-faqx-btnq { gap: 10px; padding: 12px; font-size: 14.5px; } }
@media (min-width: 1024px) { .gh-faqx-grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; } }

.gh-faqpage .gh-faqx-list { display: grid; gap: 10px; max-width: 900px; margin: 0 auto; }
.gh-faqpage-help { max-width: 900px; margin: 26px auto 0; }

/* ---------- JOURNEY v3: timeline with scroll-driven progress ---------- */
.gh-home .gh-journey-steps { display: none; }
.gh-jt { position: relative; margin-top: 40px; }
.gh-jt-track { position: absolute; left: 22px; top: 0; bottom: 0; width: 3px; border-radius: 3px; background: rgba(255,255,255,0.14); overflow: hidden; }
.gh-jt-fill { position: absolute; left: 0; top: 0; width: 100%; height: var(--gh-jt-progress, 0%); background: linear-gradient(180deg, #E9C27A, #C98A2E); box-shadow: 0 0 14px rgba(238,125,5,0.7); transition: height 0.25s linear; }
.gh-home .gh-jt-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.gh-jt-step { position: relative; display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; align-items: start; outline: none; }
.gh-jt-node { position: relative; width: 46px; height: 46px; display: grid; place-items: center; }
.gh-jt-ring { position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255,255,255,0.35); background: #5c1a1b; transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease; }
.gh-jt-num { position: relative; z-index: 1; font-size: 13px; font-weight: 800; color: rgba(255,255,255,0.8); transition: color 0.35s ease; }
.gh-jt-card { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease; }
.gh-home .gh-jt-title { margin: 0 0 4px; font-size: 15px; font-weight: 800; color: #fff; }
.gh-home .gh-jt-text { margin: 0; font-size: 13px; line-height: 1.55; color: rgba(255,255,255,0.72); }
.gh-jt-step.is-active .gh-jt-ring { border-color: var(--gh-orange); background: var(--gh-orange); transform: scale(1.08); box-shadow: 0 0 0 8px rgba(238,125,5,0.18); }
.gh-jt-step.is-active .gh-jt-num { color: #fff; }
.gh-jt-step.is-active .gh-jt-card { background: rgba(255,255,255,0.12); border-color: rgba(238,125,5,0.6); box-shadow: 0 14px 30px rgba(0,0,0,0.22); }
.gh-jt-step.is-done .gh-jt-ring { border-color: var(--gh-gold); background: #5c1a1b; }
.gh-jt-step.is-done .gh-jt-num { color: #FFC27A; }
.gh-jt-step:hover .gh-jt-card, .gh-jt-step:focus-visible .gh-jt-card { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.35); transform: translateY(-2px); }
.gh-jt-step:focus-visible .gh-jt-ring { box-shadow: 0 0 0 4px #FFC27A; }
@keyframes ghJtPulse { 0% { box-shadow: 0 0 0 0 rgba(238,125,5,0.55); } 70% { box-shadow: 0 0 0 14px rgba(238,125,5,0); } 100% { box-shadow: 0 0 0 0 rgba(238,125,5,0); } }
.gh-jt-step.is-active .gh-jt-ring::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; animation: ghJtPulse 1.8s ease-out infinite; }
@media (min-width: 1200px) {
    .gh-jt { padding-top: 26px; }
    .gh-jt-track { left: 5.5%; right: 5.5%; top: 22px; bottom: auto; width: auto; height: 3px; }
    .gh-jt-fill { width: var(--gh-jt-progress, 0%); height: 100%; background: linear-gradient(90deg, #E9C27A, #C98A2E); transition: width 0.25s linear; }
    .gh-home .gh-jt-steps { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 10px; }
    .gh-jt-step { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; justify-items: center; text-align: center; gap: 14px; }
    .gh-home .gh-jt-steps { align-items: stretch; }
    .gh-jt-node { width: 46px; height: 46px; margin-top: -4px; }
    .gh-jt-card { width: 100%; height: 100%; padding: 14px 8px; min-height: 160px; box-sizing: border-box; }
    .gh-home .gh-jt-title { font-size: 13px; overflow-wrap: anywhere; hyphens: auto; }
    .gh-home .gh-jt-text { font-size: 11.5px; }
}
@media (min-width: 1400px) { .gh-jt-card { padding: 16px 10px; } .gh-home .gh-jt-title { font-size: 14px; } .gh-home .gh-jt-text { font-size: 12.5px; } }
@media (prefers-reduced-motion: reduce) { .gh-jt-fill, .gh-jt-ring, .gh-jt-card, .gh-jt-num { transition: none; } .gh-jt-step.is-active .gh-jt-ring::after { animation: none; } }
/* heading consistency on care group heroes */
.gh-carep-title-a { color: #fff; } .gh-carep-title-b { color: #FFC27A; }

/* ---------- STEP 4: data-driven mega menus, department pages, About, Contact ---------- */
.site-mega-col-text { margin: -4px 0 10px; font-size: 12.5px; line-height: 1.5; color: #6b5f5a; }
.site-has-mega:hover > .site-mega-care, .site-mega-trigger[aria-expanded="true"] + .site-mega-care { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 820px; }
.site-mega-care .site-mega-col li { margin-bottom: 2px; }
.site-mega-care .site-mega-col a { font-size: 13.5px; padding: 3px 0; }
.site-mega-all { grid-column: 1 / -1; margin-top: 4px; padding-top: 12px; border-top: 1px solid #eee4d9; font-size: 14px; font-weight: 700; color: #892728 !important; }
.site-mega-all:hover { color: var(--gh-gold-light) !important; }
.site-mega-col-title:hover { color: var(--gh-gold-light); }
@media (min-width: 1100px) { .site-nav { position: relative; } .site-nav-list > li.site-has-mega:has(> .site-mega-care) { position: static; } .site-has-mega:hover > .site-mega-care, .site-mega-trigger[aria-expanded="true"] + .site-mega-care { grid-template-columns: repeat(6, minmax(0, 1fr)); min-width: 0; left: 0; right: 0; width: 100%; box-sizing: border-box; } }
@media (max-width: 1099px) { .site-has-mega:hover > .site-mega-care, .site-mega-trigger[aria-expanded="true"] + .site-mega-care { grid-template-columns: 1fr; min-width: 0; } .site-mega-col-text { display: none; }
}
/* DEPT v1 */
.gh-deptp-groups { display: grid; gap: 18px; }
.gh-deptp-grouptitle { margin: 0 0 8px; font-size: 16px; font-weight: 800; }
.gh-deptp-grouptitle a { color: #892728; text-decoration: none; }
.gh-deptp-grouptitle a:hover { color: var(--gh-deep); }
.gh-deptp-items { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-deptp-items a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #FAF6F0; border: 1px solid #E6DACB; color: #3a302c; font-size: 13.5px; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.gh-deptp-items a:hover { background: #892728; border-color: #892728; color: #fff; }
.gh-deptp-when { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gh-deptp-when li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: #3a302c; }
.gh-deptp-when .gh-ico { flex: 0 0 auto; margin-top: 2px; width: 22px; height: 22px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: #892728; color: #fff; }
@media (min-width: 640px) { .gh-deptp-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* ABOUTP v1 */
.gh-aboutp-hero { display: grid; gap: 22px; align-items: center; margin: 8px 0 40px; }
.gh-aboutp-photo img { width: 100%; height: auto; border-radius: 20px; display: block; box-shadow: 0 18px 40px rgba(74,21,23,0.16); }
.gh-aboutp-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-aboutp-facts li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid #e9e0d6; font-size: 14.5px; line-height: 1.5; color: #3a302c; }
.gh-aboutp-facts .gh-ico { flex: 0 0 auto; color: var(--gh-gold); margin-top: 1px; }
.gh-aboutp-section { margin: 0 0 44px; }
.gh-aboutp-section .gh-section-title { font-size: 28px; margin: 0 0 16px; }
.gh-aboutp-values { display: grid; gap: 14px; }
.gh-aboutp-value { padding: 20px; border-radius: 16px; background: linear-gradient(135deg, #892728 0%, #5c1a1b 100%); color: #fff; }
.gh-aboutp-value h3 { margin: 0 0 6px; font-size: 18px; color: #FFC27A; }
.gh-aboutp-value p { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.9); }
.gh-aboutp-cards, .gh-aboutp-depts, .gh-aboutp-support { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.gh-aboutp-card, .gh-aboutp-dept, .gh-aboutp-supportcard { position: relative; padding: 20px 20px 18px; border-radius: 16px; background: #fff; border: 1px solid #e9e0d6; box-shadow: 0 8px 24px rgba(74,21,23,0.06); }
.gh-aboutp-num { position: absolute; top: 14px; right: 16px; font-size: 22px; font-weight: 900; color: #f2e6d8; }
.gh-aboutp-ico { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #FAF6F0; color: #892728; margin-bottom: 10px; }
.gh-aboutp-card h3, .gh-aboutp-dept h3, .gh-aboutp-supportcard h3 { margin: 0 0 6px; font-size: 16.5px; }
.gh-aboutp-dept h3 a { color: #892728; text-decoration: none; }
.gh-aboutp-dept h3 a:hover { color: var(--gh-deep); }
.gh-aboutp-card p, .gh-aboutp-dept p, .gh-aboutp-supportcard p { margin: 0; font-size: 14px; line-height: 1.6; color: #5a4f4a; }
.gh-aboutp-lead { margin-top: 8px !important; font-weight: 700; }
.gh-aboutp-lead a { color: #892728; text-decoration: none; }
.gh-aboutp-qual { font-size: 12.5px; color: #892728; font-weight: 700; margin-bottom: 2px; }
.gh-aboutp-sdept { font-size: 12.5px; color: var(--gh-gold); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px; }
.gh-aboutp-more { margin: 16px 0 0; }
.gh-aboutp-more a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #892728; text-decoration: none; }
.gh-aboutp-more a:hover { color: var(--gh-deep); }
.gh-aboutp-cta { padding: 28px; border-radius: 20px; background: #FAF6F0; border: 1px solid #e9e0d6; }
.gh-aboutp-cta .gh-docp-actions { justify-content: flex-start; }
@media (min-width: 640px) { .gh-aboutp-cards, .gh-aboutp-support { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gh-aboutp-values, .gh-aboutp-depts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-aboutp-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 36px; } .gh-aboutp-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } .gh-aboutp-support { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* CONTACTP v1 */
.gh-contactp-grid { display: grid; gap: 16px; margin-bottom: 28px; }
.gh-contactp-card { position: relative; }
.gh-contactp-ico { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #FAF6F0; color: #892728; margin-bottom: 10px; }
.gh-contactp-emg .gh-contactp-ico { background: #892728; color: #fff; }
.gh-contactp-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.gh-contactp-list a { color: #892728; font-weight: 700; text-decoration: none; }
.gh-contactp-list a:hover { color: var(--gh-deep); }
.gh-contactp-label { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #6b5f5a; margin-bottom: 2px; }
.gh-contactp-addr { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: #3a302c; }
.gh-contactp-addr a { color: #892728; }
.gh-contactp-formmap { display: grid; gap: 20px; margin-bottom: 40px; }
.gh-contactp-map { min-height: 320px; border-radius: 20px; overflow: hidden; border: 1px solid #e9e0d6; }
.gh-contactp-map iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }
.gh-contactp-branches { margin-bottom: 20px; }
.gh-contactp-branches .gh-section-title { font-size: 28px; margin: 0 0 8px; }
.gh-contactp-branches .gh-section-desc { margin: 0 0 18px; }
@media (min-width: 900px) { .gh-contactp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gh-contactp-formmap { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } }

/* ---------- DEPTHUB v1: /departments/ index ---------- */
.gh-depthub-grid { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 18px; }
.gh-depthub-card { position: relative; padding: 24px 22px 22px; border-radius: 18px; background: #fff; border: 1px solid #e9e0d6; box-shadow: 0 8px 24px rgba(74,21,23,0.06); display: flex; flex-direction: column; }
.gh-depthub-head { margin-bottom: 14px; }
.gh-depthub-ico { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #FAF6F0; color: #892728; margin-bottom: 10px; }
.gh-depthub-num { position: absolute; top: 16px; right: 18px; font-size: 24px; font-weight: 900; color: #f2e6d8; }
.gh-depthub-title { margin: 0 0 6px; font-size: 20px; font-weight: 800; }
.gh-depthub-title a { color: #892728; text-decoration: none; }
.gh-depthub-title a:hover { color: var(--gh-deep); }
.gh-depthub-tagline { margin: 0; font-size: 14px; line-height: 1.55; color: #5a4f4a; }
.gh-depthub-listlabel { font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-gold); margin: 6px 0 8px; }
.gh-depthub-groups, .gh-depthub-docs { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-depthub-groups a, .gh-depthub-docs a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #FAF6F0; border: 1px solid #E6DACB; color: #3a302c; font-size: 13.5px; text-decoration: none; }
.gh-depthub-groups a:hover, .gh-depthub-docs a:hover { background: #892728; border-color: #892728; color: #fff; }
.gh-depthub-link { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; min-height: 44px; padding: 0 16px; border-radius: 12px; background: #892728; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.gh-depthub-link:hover { background: var(--gh-primary-dark); color: #fff; }
@media (min-width: 900px) { .gh-depthub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- NAV v2: trigger links + current-item state ---------- */
a.site-mega-trigger { text-decoration: none; display: inline-block; }
.site-nav-list > li.site-nav-current > a, .site-nav-list > li.site-nav-current > .site-mega-trigger { color: var(--gh-gold-light); }

/* ---------- STEP 5: emergency page, patient information hub ---------- */
.gh-emg-more { color: #FFC27A; font-weight: 700; text-decoration: none; white-space: nowrap; }
.gh-emg-more:hover { color: #fff; text-decoration: underline; }
/* EMGP v1 */
.gh-emgp-numbers { display: grid; gap: 12px; margin: 0 0 26px; }
.gh-emgp-num { display: flex; flex-direction: column; padding: 16px 18px; border-radius: 16px; background: linear-gradient(135deg, #892728 0%, #5c1a1b 100%); color: #fff; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gh-emgp-num:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(74,21,23,0.25); color: #fff; }
.gh-emgp-num-alt { background: #fff; color: #892728; border: 1px solid #e9e0d6; }
.gh-emgp-num-alt:hover { color: #892728; }
.gh-emgp-numlabel { font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.85; }
.gh-emgp-numval { font-size: 22px; font-weight: 800; line-height: 1.3; }
.gh-emgp-numalt { font-size: 13px; opacity: 0.85; }
.gh-emgp-grid { display: grid; gap: 20px; align-items: start; }
.gh-emgp-signs { display: grid; gap: 16px; }
.gh-emgp-signgroup h3 { margin: 0 0 8px; font-size: 15px; font-weight: 800; color: #892728; }
.gh-emgp-signgroup ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.gh-emgp-signgroup li { display: flex; gap: 8px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: #3a302c; }
.gh-emgp-signgroup .gh-ico { flex: 0 0 auto; margin-top: 3px; width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: #892728; color: #fff; }
.gh-emgp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.gh-emgp-steps li { display: flex; gap: 12px; align-items: flex-start; }
.gh-emgp-steps strong { display: block; font-size: 15px; color: #1a1a1a; margin-bottom: 2px; }
.gh-emgp-steps p { margin: 0; font-size: 13.5px; line-height: 1.55; color: #5a4f4a; }
.gh-emgp-stepnum { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--gh-gold); color: #fff; font-size: 13px; font-weight: 800; }
.gh-emgp-varachha a { color: #892728; font-weight: 700; }
@media (min-width: 640px) { .gh-emgp-numbers { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gh-emgp-signs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-emgp-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } }
/* PINFO v1 */
.gh-pinfo-top { display: grid; gap: 20px; margin-bottom: 30px; align-items: start; }
.gh-pinfo-steps { counter-reset: gh-pinfo; list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-pinfo-steps li { counter-increment: gh-pinfo; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: #FAF6F0; border: 1px solid #E6DACB; font-size: 13.5px; font-weight: 700; color: #3a302c; }
.gh-pinfo-steps li::before { content: counter(gh-pinfo, decimal-leading-zero); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--gh-gold); color: #fff; font-size: 11px; font-weight: 800; }
.gh-pinfo-journey a { color: #892728; font-weight: 700; }
.gh-pinfo-h2 { font-size: 28px; margin: 0 0 16px; }
.gh-pinfo-grid { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 14px; }
.gh-pinfo-card { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 20px; border-radius: 16px; background: #fff; border: 1px solid #e9e0d6; text-decoration: none; color: #3a302c; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.gh-pinfo-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(74,21,23,0.10); border-color: rgba(137,39,40,0.35); color: #3a302c; }
.gh-pinfo-ico { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #FAF6F0; color: #892728; margin-bottom: 12px; }
.gh-pinfo-card strong { font-size: 16px; color: #1a1a1a; margin-bottom: 6px; }
.gh-pinfo-text { font-size: 13.5px; line-height: 1.55; color: #5a4f4a; margin-bottom: 12px; }
.gh-pinfo-more { margin-top: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 700; color: #892728; }
@media (min-width: 640px) { .gh-pinfo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .gh-pinfo-top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (min-width: 1024px) { .gh-pinfo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- STEP 6: technology page, second opinion, legal pages, sitemap ---------- */
.gh-techp-list { list-style: none; margin: 0 0 40px; padding: 0; display: grid; gap: 18px; }
.gh-techp-item { display: grid; gap: 18px; padding: 22px; border-radius: 18px; background: #fff; border: 1px solid #e9e0d6; box-shadow: 0 8px 24px rgba(74,21,23,0.06); }
.gh-techp-img img { width: 100%; height: auto; border-radius: 12px; display: block; background: #FAF6F0; }
.gh-techp-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.gh-techp-head h2 { margin: 0; font-size: 20px; font-weight: 800; color: #1a1a1a; }
.gh-techp-ico { flex: 0 0 auto; display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #FAF6F0; color: #892728; }
.gh-techp-num { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; color: var(--gh-gold); }
.gh-techp-dl { margin: 0; display: grid; gap: 4px; }
.gh-techp-dl dt { font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-gold); margin-top: 6px; }
.gh-techp-dl dd { margin: 0; font-size: 14.5px; line-height: 1.6; color: #3a302c; }
.gh-techp-link { display: inline-flex; align-items: center; gap: 4px; margin-top: 12px; font-size: 13.5px; font-weight: 700; color: #892728; text-decoration: none; }
.gh-techp-link:hover { color: var(--gh-deep); }
.gh-techp-gallery { margin: 0 0 30px; }
.gh-techp-gallery .gh-section-title { font-size: 28px; margin: 0 0 16px; }
.gh-techp-photos { display: grid; gap: 16px; }
.gh-techp-photos figure { margin: 0; }
.gh-techp-photos img { width: 100%; height: auto; border-radius: 16px; display: block; }
.gh-techp-photos figcaption { margin-top: 8px; font-size: 13px; color: #6b5f5a; }
.gh-techp-cta { margin-bottom: 20px; }
@media (min-width: 700px) { .gh-techp-item.has-img { grid-template-columns: 300px minmax(0, 1fr); align-items: start; } .gh-techp-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-techp-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gh-techp-item.has-img { grid-column: 1 / -1; grid-template-columns: 380px minmax(0, 1fr); } }
/* SECOP v1 */
.gh-secop-grid { padding-top: 0; }
/* legal + sitemap */
.gh-legal .gh-entry-content h2 { font-size: 19px; margin-top: 26px; }
.gh-legal .gh-entry-content p, .gh-legal .gh-entry-content li { font-size: 15px; line-height: 1.7; color: #3a302c; }
.gh-legal .gh-entry-content ul { padding-left: 22px; }
.gh-legal .gh-entry-content code { background: #FAF6F0; padding: 1px 6px; border-radius: 6px; }
.gh-sitemap-grid { display: grid; gap: 22px; margin-top: 10px; }
.gh-sitemap-group h2 { font-size: 17px; margin: 0 0 8px; color: #892728; }
.gh-sitemap-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.gh-sitemap-group a { color: #3a302c; text-decoration: none; font-size: 14.5px; }
.gh-sitemap-group a:hover { color: var(--gh-deep); }
@media (min-width: 640px) { .gh-sitemap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-sitemap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gh-page-title-split { font-size: clamp(26px, 3.2vw, 36px); font-weight: 800; margin: 10px 0 18px; }


/* ---------- SUBP v1: condition and procedure sub-pages (pass 40) ---------- */
/* fix: the .gh-docp-* colour variables were only defined on .gh-docp, so "Book an Appointment" rendered white-on-white on .gh-carep pages (care groups, departments). Defined globally now. */
:root { --gh-docp-maroon: #892728; --gh-docp-orange: #EE7D05; --gh-docp-border: #E6DACB; --gh-docp-muted: #6B5F5A; }
.gh-subp-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.gh-subp-jump a { display: inline-block; padding: 7px 13px; border-radius: 999px; background: #fff; border: 1px solid #E6DACB; color: #892728; font-size: 13px; font-weight: 700; text-decoration: none; transition: background 0.2s ease, color 0.2s ease; }
.gh-subp-jump a:hover { background: #892728; border-color: #892728; color: #fff; }
.gh-subp .gh-docp-card { scroll-margin-top: 120px; }
.gh-subp .gh-carep-intro + .gh-carep-intro { margin-top: 12px; }
.gh-subp .gh-docp-emergency .gh-deptp-when { margin: 10px 0 14px; }
.gh-subp .gh-docp-emergency .gh-deptp-when .gh-ico { background: #c0392b; }
.gh-subp .gh-docp-emergency .gh-docp-emnums { margin: 0; font-size: 14px; line-height: 1.7; color: #3a302c; }
.gh-subp .gh-docp-emergency .gh-docp-emnums a { color: #892728; font-weight: 700; text-decoration: none; }
.gh-subp .gh-docp-emergency .gh-docp-emnums a:hover { color: var(--gh-deep); }
.gh-subp-steps { counter-reset: none; }
.gh-subp-steps li { align-items: center; } /* pass 69c: the number circle sits on the vertical middle line of its text, whether the text is one line or three */
.gh-subp-steps p { font-size: 14.5px; line-height: 1.6; color: #3a302c; padding-top: 0; }
.gh-subp-faqs { display: grid; gap: 10px; }
.gh-subp-faq { border: 1px solid #E6DACB; border-radius: 12px; background: #FAF6F0; overflow: hidden; }
.gh-subp-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 16px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 700; color: #1a1a1a; }
.gh-subp-faq summary::-webkit-details-marker { display: none; }
.gh-subp-faq summary .gh-ico { flex: 0 0 auto; color: #892728; transition: transform 0.2s ease; }
.gh-subp-faq[open] summary { background: #fff; border-bottom: 1px solid #E6DACB; }
.gh-subp-faq[open] summary .gh-ico { transform: rotate(180deg); }
.gh-subp-faq p { margin: 0; padding: 12px 16px 16px; font-size: 14.5px; line-height: 1.7; color: #3a302c; background: #fff; }
.gh-subp .gh-docp-note a { color: #892728; font-weight: 700; }
.gh-subp .gh-carep-others a.gh-subp-back { background: #892728; color: #fff; }
.gh-subp .gh-carep-others a.gh-subp-back:hover { background: var(--gh-primary-dark); }
@media (min-width: 1024px) { .gh-subp .gh-carep-title { font-size: clamp(24px, 2.8vw, 32px); } }
.gh-carep-item dt a { color: #892728; text-decoration: none; } .gh-carep-item dt a:hover { color: var(--gh-deep); }
a.gh-carep-more { white-space: nowrap; color: #892728; font-weight: 700; text-decoration: none; } a.gh-carep-more:hover { color: var(--gh-deep); }

/* ---------- MEGA-DEPTS v2 (pass 41): procedure pages listed under each department ---------- */
.site-has-mega:hover > .site-mega-depts, .site-mega-trigger[aria-expanded="true"] + .site-mega-depts { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 860px; }
.site-mega-depts .site-mega-col li { margin-bottom: 2px; }
.site-mega-depts .site-mega-col a { font-size: 13.5px; padding: 3px 0; }
.site-mega-depts .site-mega-col a.site-mega-col-more { margin-top: 6px; font-weight: 700; color: #892728; }
.site-mega-depts .site-mega-col a.site-mega-col-more:hover { color: var(--gh-gold-light); }
@media (max-width: 1099px) { .site-has-mega:hover > .site-mega-depts, .site-mega-trigger[aria-expanded="true"] + .site-mega-depts { grid-template-columns: 1fr; min-width: 0; }
}

/* ---------- MEGA-CARE v2 (pass 44): a care group with more than 8 conditions takes two columns in the panel ---------- */
@media (min-width: 1100px) { .site-has-mega:hover > .site-mega-care, .site-mega-trigger[aria-expanded="true"] + .site-mega-care { grid-template-columns: repeat(7, minmax(0, 1fr)); } .site-mega-care .site-mega-col-wide { grid-column: span 2; } .site-mega-care .site-mega-col-wide ul { column-count: 2; column-gap: 18px; } .site-mega-care .site-mega-col-wide li { break-inside: avoid; } }
.gh-home .gh-care-items .gh-care-more a { font-weight: 700; color: #892728; }
.gh-home .gh-care-items .gh-care-more a:hover { color: var(--gh-deep); }
/* ---------- SPACING FIX (pass 49c): ".gh-docp .gh-container" / ".gh-carep .gh-container" (margin: 0 auto; padding: 0 20px) outrank these single-class rules, so their vertical spacing never applied ---------- */
.gh-docp .gh-container.gh-docp-crumbs, .gh-carep .gh-container.gh-docp-crumbs { padding-top: 16px; padding-bottom: 16px; }
.gh-docp .gh-container.gh-docp-body, .gh-carep .gh-container.gh-docp-body { padding-top: 28px; }
.gh-docp .gh-container.gh-carep-body, .gh-carep .gh-container.gh-carep-body { padding-top: 24px; }
.gh-docp .gh-container.gh-docp-disclaimer, .gh-carep .gh-container.gh-docp-disclaimer { margin-top: 28px; }
.gh-docp .gh-container.gh-post { padding-bottom: 20px; }/* pass 49d: a note followed by buttons gets a gap; sidebar consultation cards stack their buttons full-width (same as the blog sidebar) */
.gh-docp-note + .gh-docp-actions { margin-top: 14px; }
.gh-carep-cta .gh-docp-actions { flex-direction: column; align-items: stretch; }
.gh-carep-cta .gh-docp-btn { width: 100%; justify-content: center; box-sizing: border-box; }
/* pass 49e: intro paragraph followed by a checklist (Patient Information, department pages) gets a gap */
.gh-carep-intro + .gh-deptp-when { margin-top: 12px; }
/* ---------- HOME BLOG (pass 51): latest articles on the homepage ---------- */
.gh-homeblog { background: #fff; }
.gh-homeblog .gh-section-desc { margin-bottom: 0; max-width: 640px; }
.gh-home .gh-homeblog-grid, .gh-homeblog-grid { margin: 0 0 34px; }
.gh-homeblog-more .gh-docp-btn { display: inline-flex; }
/* ---------- TOUR v1 (pass 53): /virtual-tour/ ---------- */
.gh-tourp .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.gh-tour { margin: 0 0 28px; }
.gh-tour-tabs { display: flex; gap: 8px; margin: 0 -20px 14px; padding: 4px 20px 8px; overflow-x: auto; scrollbar-width: none; }
.gh-tour-tabs::-webkit-scrollbar { display: none; }
.gh-tour-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--gh-docp-border); color: var(--gh-docp-maroon); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.gh-tour-tab:hover { border-color: var(--gh-gold); background: #FBF1E6; }
.gh-tour-tab.is-active { background: var(--gh-docp-maroon); border-color: var(--gh-docp-maroon); color: #fff; }
.gh-tour-tab:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
@media (min-width: 700px) { .gh-tour-tabs { margin: 0 0 14px; padding: 0 0 8px; overflow: visible; flex-wrap: wrap; justify-content: center; } }
.gh-tour-stage { position: relative; width: 100%; aspect-ratio: 4 / 3; background: #1a0f0f; border-radius: 20px; overflow: hidden; box-shadow: 0 14px 34px rgba(74,21,23,0.16); border: 1px solid var(--gh-docp-border); }
.gh-tour-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.gh-tour-nav { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 999px; background: rgba(42,29,26,0.82); color: #fff; backdrop-filter: blur(4px); }
.gh-tour-arrow { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--gh-orange); color: #fff; cursor: pointer; padding: 0; transition: background 0.2s ease; }
.gh-tour-arrow:hover { background: #BE6404; }
.gh-tour-arrow:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
.gh-tour-arrow[data-dir="-1"] .gh-icon { transform: rotate(90deg); }
.gh-tour-arrow[data-dir="1"] .gh-icon { transform: rotate(-90deg); }
.gh-tour-count { font-size: 13.5px; font-weight: 700; letter-spacing: 0.04em; padding: 0 4px; }
.gh-tour-hint { margin: 12px 0 0; text-align: center; font-size: 13.5px; color: var(--gh-docp-muted); }
@media (min-width: 900px) { .gh-tour-stage { aspect-ratio: 16 / 9; } }
.gh-tour-grid { display: grid; gap: 20px; margin-top: 8px; }
.gh-tour-grid .gh-docp-card + .gh-docp-card { margin-top: 0; }
.gh-tour-grid .gh-docp-actions { justify-content: flex-start; }
.gh-tourp .gh-carep-cta .gh-docp-actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
.gh-tourp .gh-carep-cta .gh-docp-btn { width: auto; }
@media (min-width: 900px) { .gh-tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gh-tour-cta { margin-top: 28px; }
.gh-tour-cta .gh-docp-btn { display: inline-flex; }
/* ---------- HOME TOUR (pass 53b): 360° virtual tour teaser under the facilities carousel on the homepage ---------- */
.gh-home-tour { display: grid; gap: 22px; margin-top: 30px; padding: 24px; border-radius: 20px; background: linear-gradient(135deg, #FFF8F0 0%, #FAF1E6 100%); border: 1px solid rgba(238,125,5,0.22); box-shadow: 0 10px 30px rgba(107,31,33,0.06); }
.gh-home-tour-text { min-width: 0; }
.gh-home .gh-home-tour .gh-section-label { margin-bottom: 14px; }
.gh-home .gh-home-tour .gh-section-title { font-size: clamp(21px, 2.4vw, 27px); margin: 0 0 10px; }
.gh-home .gh-home-tour .gh-section-desc { max-width: 520px; margin: 0 0 16px; }
.gh-home .gh-home-tour-points, .gh-home-tour-points { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.gh-home-tour-points li { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; font-weight: 600; color: var(--gh-text-body, #2A2220); line-height: 1.45; }
.gh-home-tour-points .gh-ico { flex: 0 0 auto; width: 20px; height: 20px; padding: 2px; border-radius: 50%; background: var(--gh-orange); color: #fff; margin-top: 1px; }
.gh-home-tour-text .gh-docp-btn { display: inline-flex; }
.gh-home-tour-preview { position: relative; width: 100%; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: #1a0f0f; border: 1px solid rgba(107,31,33,0.14); box-shadow: 0 14px 34px rgba(74,21,23,0.16); }
.gh-home-tour-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; pointer-events: none; }
.gh-home-tour-open { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 14px; color: #fff; text-decoration: none; background: linear-gradient(180deg, rgba(26,15,15,0.05) 0%, rgba(26,15,15,0) 45%, rgba(26,15,15,0.62) 100%); transition: background 0.25s ease; }
.gh-home-tour-open:hover, .gh-home-tour-open:focus-visible { background: linear-gradient(180deg, rgba(26,15,15,0.18) 0%, rgba(26,15,15,0.14) 45%, rgba(26,15,15,0.72) 100%); color: #fff; }
.gh-home-tour-open:focus-visible { outline: 3px solid #FFC27A; outline-offset: -3px; }
.gh-home-tour-badge { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: var(--gh-orange); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; box-shadow: 0 4px 12px rgba(0,0,0,0.25); }
.gh-home-tour-open-label { align-self: center; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 999px; background: rgba(255,255,255,0.94); color: var(--gh-primary-dark, #892728); font-size: 14px; font-weight: 700; box-shadow: 0 6px 18px rgba(0,0,0,0.22); transition: transform 0.2s ease, background 0.2s ease; }
.gh-home-tour-open:hover .gh-home-tour-open-label { background: #fff; transform: translateY(-2px); }
@media (max-width: 899px) { .gh-home-tour-preview { order: -1; } }
@media (min-width: 900px) {
    .gh-home-tour { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: 36px; padding: 32px 36px; }
    .gh-home-tour-preview { aspect-ratio: 16 / 10; }
}
/* ---------- HOME TOUR (pass 53c): badge moved to the bottom-left so it never covers Google's place-name panel ---------- */
.gh-home-tour-open { flex-direction: row; justify-content: center; align-items: flex-end; padding: 14px 14px 34px; }
.gh-home-tour-open-label { align-self: flex-end; }
.gh-home-tour-badge { position: absolute; left: 14px; bottom: 40px; }
/* ---------- FACTS (pass 54): hospital facts from the questionnaire - patient-information admission card spacing; technology grid never leaves a lone card ---------- */
.gh-pinfo-adm { margin-bottom: 30px; }
@media (min-width: 1024px) { .gh-techp-list .gh-techp-item:last-child:nth-child(even) { grid-column: 1 / -1; } }
/* ---------- DOCTOR v3 (pass 55): experience line, education / awards cards, external profile links ---------- */
.gh-docp-exp { display: inline-flex; align-items: center; gap: 8px; margin: -6px 0 18px; padding: 7px 14px; border-radius: 999px; background: rgba(238,125,5,0.18); border: 1px solid rgba(255,194,122,0.5); color: #fff; font-size: 13.5px; font-weight: 700; }
.gh-docp-exp .gh-ico { color: #FFC27A; }
.gh-docp-social { display: flex; flex-wrap: wrap; gap: 10px; }
.gh-docp-social-link { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--gh-docp-border); color: var(--gh-docp-maroon); font-size: 14px; font-weight: 700; text-decoration: none; transition: border-color 0.2s ease, background 0.2s ease; }
.gh-docp-social-link:hover { border-color: var(--gh-gold); background: #FBF1E6; color: var(--gh-docp-maroon); }
.gh-docp-social-link:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
/* ---------- SOCIAL v2 (pass 56): brand icons in brand colours on the doctor profile links ---------- */
.gh-docp-social-link { padding: 0 16px 0 6px; gap: 9px; }
.gh-docp-social-ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--gh-docp-maroon); color: #fff; transition: transform 0.2s ease; }
.gh-docp-social-link:hover .gh-docp-social-ico { transform: scale(1.08); }
.gh-docp-social-link[data-brand="linkedin"] .gh-docp-social-ico { background: #0A66C2; }
.gh-docp-social-link[data-brand="facebook"] .gh-docp-social-ico { background: #0866FF; }
.gh-docp-social-link[data-brand="instagram"] .gh-docp-social-ico { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.gh-docp-social-link[data-brand="x"] .gh-docp-social-ico { background: #000; }
.gh-docp-social-link[data-brand="youtube"] .gh-docp-social-ico { background: #FF0000; }
.gh-docp-social-link[data-brand="practo"] .gh-docp-social-ico { background: #28328C; }
/* ---------- SOCIAL v3 (pass 57): profile links as brand badges in the doctor hero (the bottom "Connect online" card is gone) ---------- */
.gh-docp-socialbar { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 18px 0 0; }
.gh-docp-socialbar-link { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--gh-docp-maroon); border: 2px solid rgba(255,255,255,0.55); box-shadow: 0 4px 14px rgba(0,0,0,0.22); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.gh-docp-socialbar-link:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.3); }
.gh-docp-socialbar-link:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
.gh-docp-socialbar-link .gh-ico { width: 20px; height: 20px; }
.gh-docp-socialbar-link[data-brand="linkedin"] { background: #0A66C2; color: #fff; }
.gh-docp-socialbar-link[data-brand="facebook"] { background: #0866FF; color: #fff; }
.gh-docp-socialbar-link[data-brand="instagram"] { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); color: #fff; }
.gh-docp-socialbar-link[data-brand="x"] { background: #000; color: #fff; }
.gh-docp-socialbar-link[data-brand="youtube"] { background: #FF0000; color: #fff; }
.gh-docp-socialbar-link[data-brand="practo"] { background: #28328C; color: #fff; }
@media (min-width: 700px) { .gh-docp-socialbar { justify-content: flex-start; } }
.gh-docp-socialbar-link { position: relative; }
.gh-docp-socialbar-tag { position: absolute; left: 50%; bottom: -9px; transform: translateX(-50%); padding: 1px 6px; border-radius: 999px; background: #fff; color: #B30000; font-size: 9px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.3; box-shadow: 0 2px 6px rgba(0,0,0,0.25); white-space: nowrap; }
/* ---------- BOOK v1 (pass 59): /book-appointment/ ---------- */
.gh-bookp-grid { display: grid; gap: 20px; align-items: start; }
.gh-bookp-grid .gh-carep-side { display: grid; gap: 20px; }
.gh-bookp-grid .gh-carep-side .gh-docp-card + .gh-docp-card { margin-top: 0; }
.gh-bookp .gh-carep-cta .gh-docp-actions { flex-direction: column; align-items: stretch; }
.gh-bookp .gh-carep-cta .gh-docp-btn { width: 100%; justify-content: center; }
.gh-bookp-form .fluentform { margin-top: 6px; }
@media (min-width: 1024px) { .gh-bookp-grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 24px; } }
.gh-bookp-main { display: grid; gap: 20px; min-width: 0; }
.gh-bookp-main .gh-docp-card + .gh-docp-card { margin-top: 0; }
@media (min-width: 700px) { .gh-bookp-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } .gh-bookp-steps li { flex-direction: column; gap: 10px; } }
/* ---------- HERO (pass 60d): all hero + proof-bar rules now live in homepage.css 'HERO v4' (it loads after this file) ---------- */

/* ---------- ICONS v2 (pass 60): one icon treatment everywhere - maroon line on a gold-tinted circle on cream, white line on translucent white on maroon ---------- */
.gh-care-icon, .gh-depthub-ico, .gh-pinfo-ico, .gh-techp-ico, .gh-aboutp-ico, .gh-qa-icon, .gh-capx-light .gh-capx-icon, .gh-pj-ico, .gh-apptx-ico, .gh-emg-icon, .gh-aboutp-supportcard .gh-aboutp-ico { border-radius: 50%; background: var(--gh-gold-soft, #FBF1E6); border: 1px solid var(--gh-line, #E6DACB); color: var(--gh-primary-dark, #892728); box-shadow: none; }
.gh-care-icon, .gh-depthub-ico, .gh-pinfo-ico, .gh-techp-ico, .gh-aboutp-ico, .gh-qa-icon { width: 44px; height: 44px; }
.gh-care-link:hover .gh-care-icon, .gh-care-card:hover .gh-care-icon, .gh-qa-card:hover .gh-qa-icon, .gh-qa-card:focus-visible .gh-qa-icon, .gh-pinfo-card:hover .gh-pinfo-ico, .gh-depthub-card:hover .gh-depthub-ico { background: var(--gh-primary-dark, #892728); border-color: var(--gh-primary-dark, #892728); color: #fff; }
.gh-emg-icon { background: var(--gh-red, #B3261E); border-color: var(--gh-red, #B3261E); color: #fff; }
.gh-deptx-icon, .gh-capx-dark .gh-capx-icon, .gh-whyx-icon { border-radius: 50%; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.28); color: #fff; }
.gh-facility-card-icon { height: 150px; background: linear-gradient(135deg, var(--gh-gold-soft, #FBF1E6) 0%, var(--gh-bg-sand, #F4ECE2) 100%); font-size: 0; }
.gh-facility-card-icon .gh-ico { width: 60px; height: 60px; padding: 17px; border-radius: 50%; background: #fff; border: 1px solid var(--gh-line, #E6DACB); color: var(--gh-primary-dark, #892728); box-sizing: border-box; }
.gh-aboutp-facts .gh-ico, .gh-loc-row svg, .gh-about-chip .gh-ico, .gh-docp-opdbranch .gh-ico { color: var(--gh-gold, #C98A2E); }
.gh-deptp-when .gh-ico, .gh-emgp-signs .gh-ico, .gh-home-tour-points .gh-ico { background: var(--gh-gold-soft, #FBF1E6); border: 1.5px solid var(--gh-gold, #C98A2E); color: var(--gh-primary-dark, #892728); }
.gh-subp .gh-docp-emergency .gh-deptp-when .gh-ico { background: var(--gh-red, #B3261E); border-color: var(--gh-red, #B3261E); color: #fff; }

/* ---------- VIDEO LIBRARY v1 (pass 60): "Health explained by our doctors" - filters, featured player, card grid; homepage, /videos/ and doctor profiles ---------- */
.gh-vlib-filters { display: grid; gap: 10px; margin: 0 0 18px; }
.gh-vlib-filtergroup { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gh-vlib-filterlabel { display: inline-flex; align-items: center; gap: 5px; margin-right: 2px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-gold, #C98A2E); }
.gh-vlib-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); color: var(--gh-primary-dark, #892728); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.gh-vlib-chip:hover { border-color: var(--gh-gold, #C98A2E); background: var(--gh-gold-soft, #FBF1E6); }
.gh-vlib-chip.is-active { background: var(--gh-primary-dark, #892728); border-color: var(--gh-primary-dark, #892728); color: #fff; }
.gh-vlib-chip:focus-visible { outline: 3px solid var(--gh-gold-light, #E9C27A); outline-offset: 2px; }
.gh-vlib-featured { display: grid; gap: 14px; margin: 0 0 18px; }
.gh-vlib-now { display: grid; gap: 4px; align-content: start; }
.gh-vlib-nowmeta { margin: 0; font-size: 13.5px; color: var(--gh-docp-muted, #6B5F5A); }
.gh-vlib-ask { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 13.5px; font-weight: 700; color: var(--gh-primary-dark, #892728); text-decoration: none; }
.gh-vlib-ask:hover { text-decoration: underline; }
.gh-vlib-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gh-vlib-cards > li[hidden] { display: none; }
.gh-vlib-tag { position: absolute; left: 8px; top: 8px; max-width: calc(100% - 16px); padding: 3px 9px; border-radius: 999px; background: var(--gh-gold, #C98A2E); color: #fff; font-size: 10.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gh-vlib-lang { position: absolute; right: 8px; top: 8px; padding: 3px 8px; border-radius: 999px; background: rgba(0,0,0,0.5); color: #fff; font-size: 10.5px; font-weight: 700; }
.gh-vlib-doc { display: flex; align-items: center; gap: 8px; margin-top: 2px; font-size: 12px; line-height: 1.3; color: var(--gh-docp-muted, #6B5F5A); text-align: left; }
.gh-vlib-doc img, .gh-vlib-doc-ph { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.gh-vlib-doc-ph { display: grid; place-items: center; background: var(--gh-gold-soft, #FBF1E6); border: 1px solid var(--gh-line, #E6DACB); color: var(--gh-primary-dark, #892728); }
.gh-vlib-doc strong { color: var(--gh-primary-dark, #892728); }
.gh-vlib-empty { margin: 8px 0 0; font-size: 14px; color: var(--gh-docp-muted, #6B5F5A); }
.gh-vlib-more { margin: 18px 0 0; text-align: center; }
.gh-vlib-more .gh-docp-btn { display: inline-flex; }
.gh-vid-stage[style*="9/16"] { max-width: 420px; margin: 0 auto; }
.gh-videosp-card { padding: 18px; }
.gh-videosp-docs { margin-top: 20px; }
.gh-videosp-doclist { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.gh-videosp-doclist a { display: inline-flex; align-items: center; gap: 8px; color: var(--gh-primary-dark, #892728); text-decoration: none; font-size: 14.5px; }
.gh-videosp-doclist a:hover { text-decoration: underline; }
.gh-videosp-doclist .gh-ico { color: var(--gh-gold, #C98A2E); }
@media (min-width: 700px) { .gh-vlib-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gh-videosp-card { padding: 24px; } }
@media (min-width: 1024px) { .gh-vlib-featured { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: center; gap: 24px; } .gh-vlib-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } .gh-vlib-filters { grid-template-columns: auto auto; justify-content: space-between; } }
.gh-docp-videos .gh-vlib-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gh-docp-videos .gh-vlib-featured { grid-template-columns: minmax(0, 1fr); }
.gh-docp .gh-hvid-more { margin: 16px 0 0; text-align: center; }
.gh-docp .gh-hvid-more a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--gh-primary-dark, #892728); text-decoration: none; }
.gh-docp .gh-hvid-more a:hover { color: var(--gh-deep, #5E1719); text-decoration: underline; }
@media (max-width: 699px) { .gh-vlib-tag, .gh-vlib-lang { display: none; } .gh-vlib-doc span { font-size: 11.5px; } }

/* ---------- SUBPAGE EXTRAS v1 (pass 65, 65a, 66): feature image, "why here" card, where-notice, see/related links on department & procedure pages ---------- */
.gh-subp-figure { margin: -14px auto 0; padding-top: 22px; }
.gh-subp-figure img { display: block; width: auto; max-width: 100%; height: auto; max-height: 460px; margin: 0 auto; object-fit: contain; background: #fff; border-radius: 16px; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 14px 34px rgba(74,21,23,0.12); } /* SUBPAGE FIGURE v2 (pass 69a): every illustration shown whole - no banner crop */
.gh-subp-figure figcaption { margin: 10px 4px 0; font-size: 13.5px; line-height: 1.5; color: var(--gh-muted, #6B5F5A); }
.gh-subp-whyhere { border: 1px solid var(--gh-gold-light, #E9C27A); background: linear-gradient(180deg, #fff 0%, var(--gh-gold-soft, #FBF1E6) 100%); }
.gh-subp-whyhere .gh-deptp-when .gh-ico { background: var(--gh-gold, #C98A2E); border-color: var(--gh-gold, #C98A2E); color: #fff; }
.gh-subp-see { display: block; margin-top: 3px; font-size: 13px; color: var(--gh-muted, #6B5F5A); }
.gh-subp-see a, .gh-subp-related a { color: var(--gh-primary-dark, #892728); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(137,39,40,0.35); text-underline-offset: 3px; }
.gh-subp-see-label { font-weight: 700; color: var(--gh-gold, #C98A2E); }
.gh-subp-related { margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed var(--gh-line, #E6DACB); font-size: 14px; line-height: 1.6; }
.gh-subp-authority { margin: 14px 0 0; padding: 12px 14px; border-left: 3px solid var(--gh-gold, #C98A2E); background: var(--gh-gold-soft, #FBF1E6); border-radius: 0 10px 10px 0; font-size: 13.5px; line-height: 1.6; color: #3a302c; }
.gh-subp-where .gh-docp-h2 { display: flex; align-items: center; gap: 8px; }
.gh-subp-where .gh-docp-h2 .gh-ico { color: var(--gh-gold, #C98A2E); }
.gh-subp-where .gh-docp-note a { color: var(--gh-primary-dark, #892728); font-weight: 600; }
@media (min-width: 1024px) { .gh-subp-figure { margin-top: -24px; padding-top: 32px; } .gh-subp-figure img { max-height: 640px; } }
.gh-subp-figure-portrait img { max-height: 420px; }
@media (min-width: 1024px) { .gh-subp-figure-portrait img { max-height: 520px; } }
.gh-subp-feel { margin: 16px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--gh-gold-soft, #FBF1E6); border: 1px solid var(--gh-line, #E6DACB); font-size: 14.5px; line-height: 1.6; color: #3a302c; }
.gh-subp-feel strong { color: var(--gh-primary-dark, #892728); }
.gh-subp-visit-steps { margin-top: 14px; }
.gh-subp-visit-steps li > div { padding-top: calc((30px - 1.5em) / 2); } /* pass 67a: step title centred on its number */
.gh-subp-visit-steps li > div strong { line-height: 1.5; }
.gh-subp-whyhere .gh-carep-intro { margin-bottom: 12px; }
.gh-deptp-when li span strong { color: var(--gh-primary-dark, #892728); }

/* ---------- HERO ORANGE v1 (pass 67, 67a): per-page orange hero on department/procedure pages (data key hero_theme = "orange") ----------
   Orange from the top utility bar, a little deeper towards the bottom-right so it reads warm rather than harsh; the page name in deep
   maroon (contrast 4.8:1 on the orange), the rest of the heading and the paragraph white, label in deep maroon, icon maroon-on-white. */
.gh-carep-hero.gh-carep-hero-orange { background: radial-gradient(720px 360px at 100% 0%, rgba(255,255,255,0.16), transparent 65%), linear-gradient(180deg, #F08A22 0%, #EE7D05 42%, #CF6500 100%); }
.gh-carep-hero-orange .gh-carep-icon { background: #fff; border-color: rgba(94,23,25,0.18); color: var(--gh-deep, #5E1719); box-shadow: 0 8px 20px rgba(94,23,25,0.18); }
.gh-carep-hero-orange .gh-carep-eyebrow { color: var(--gh-deep, #5E1719); opacity: 0.9; }
.gh-carep-hero-orange .gh-carep-title-a { color: var(--gh-deep, #5E1719); }
.gh-carep-hero-orange .gh-carep-title-b { color: #fff; text-shadow: 0 1px 2px rgba(94,23,25,0.25); }
.gh-carep-hero-orange .gh-carep-tagline { color: #fff; font-weight: 500; text-shadow: 0 1px 3px rgba(94,23,25,0.35); }

/* ---------- EMERGENCY BAND LIGHT v1 (pass 68a): light warm cream band, red accent bar + red icon, deep-maroon text, orange "What to do",
   phone numbers as solid emergency-red cards. Orange = action, red = emergency, maroon = brand/footer. Content and numbers unchanged. */
aside.gh-emg { background: linear-gradient(180deg, #FDF8F2 0%, #FAF1E8 100%); color: var(--gh-deep, #5E1719); border: 0; border-top: 1px solid var(--gh-line, #E6DACB); border-bottom: 1px solid var(--gh-line, #E6DACB); }
aside.gh-emg .gh-emg-lead { padding-left: 16px; border-left: 5px solid var(--gh-red, #B3261E); }
aside.gh-emg .gh-emg-icon { background: var(--gh-red, #B3261E); color: #fff; box-shadow: 0 6px 16px rgba(179,38,30,0.25); }
aside.gh-emg .gh-emg-title { color: var(--gh-deep, #5E1719); }
aside.gh-emg .gh-emg-text { color: #4a3330; }
aside.gh-emg .gh-emg-more { color: var(--gh-orange, #EE7D05); }
aside.gh-emg .gh-emg-more:hover { color: var(--gh-gold-hover, #BE6404); text-decoration: underline; }
aside.gh-emg .gh-emg-links a { background: var(--gh-red, #B3261E); border: 1px solid var(--gh-red, #B3261E); color: #fff; box-shadow: 0 6px 16px rgba(179,38,30,0.22); }
aside.gh-emg .gh-emg-links a:hover { background: #961F18; border-color: #961F18; color: #fff; transform: translateY(-2px); }
aside.gh-emg .gh-emg-linklabel { color: #FFD3CF; opacity: 1; }
aside.gh-emg .gh-emg-num { color: #fff; font-size: 16px; }

/* ---------- EMERGENCY BAND MOBILE v1 (pass 69b): below 900px the red accent bar spans the whole band (text + phone cards), the phone cards
   fill the width (two equal columns from 480px, one column below) instead of hanging left at content width. Desktop unchanged. */
@media (max-width: 899px) {
  aside.gh-emg .gh-emg-inner { border-left: 5px solid var(--gh-red, #B3261E); padding-left: 16px; margin: 0 20px; }
  aside.gh-emg .gh-emg-lead { padding-left: 0; border-left: 0; }
  aside.gh-emg .gh-emg-links { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
  aside.gh-emg .gh-emg-links a { width: 100%; min-width: 0; }
  aside.gh-emg .gh-emg-num { white-space: normal; }
}
@media (max-width: 479px) { aside.gh-emg .gh-emg-links { grid-template-columns: minmax(0, 1fr); } }

/* ---------- HERO TITLE SEP v1 (pass 70): "|" between the two parts of the page H1 */
.gh-carep-title-sep { opacity: 0.55; font-weight: 400; margin: 0 2px; }

/* ---------- HUB v2 (pass 74): /departments/ and the three department pages - orange split hero, alternating cream/white bands,
   department cards, why cards, procedure image cards (whole image, 16:10 frame, never cropped), condition cards + when panel,
   doctor cards, where-care tiles, maroon booking band. Mobile-first grids: 3/2/1 (procedures, why), 4/2/1 (doctors). */
.gh-hub { padding-bottom: 0; background: var(--gh-bg-ivory, #FAF6F0); }
.gh-hub .gh-docp-crumbs { padding-top: 14px; padding-bottom: 14px; }
.gh-hub-hero { padding: 0; }
.gh-hub .gh-hub-hero .gh-hub-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: center; padding-top: 34px; padding-bottom: 38px; } /* 74a: 3 classes - .gh-carep/.gh-docp .gh-container reset padding to 0 20px */
.gh-hub-hero .gh-carep-title { font-size: clamp(28px, 4vw, 42px); margin: 6px 0 12px; }
.gh-hub-hero .gh-carep-tagline { font-size: 16px; line-height: 1.6; max-width: 600px; }
.gh-hub-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.gh-hub-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 20px; border-radius: 12px; font-weight: 800; font-size: 14.5px; line-height: 1.2; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.gh-hub-btn svg { flex: none; }
.gh-hub-btn:hover { transform: translateY(-2px); }
.gh-hub-btn-white { background: #fff; color: var(--gh-deep, #5E1719); box-shadow: 0 8px 20px rgba(94,23,25,0.18); }
.gh-hub-btn-white:hover { color: var(--gh-primary, #892728); box-shadow: 0 12px 26px rgba(94,23,25,0.24); }
.gh-hub-btn-ghost { border: 2px solid rgba(255,255,255,0.8); color: #fff; }
.gh-hub-btn-ghost:hover { background: rgba(255,255,255,0.14); color: #fff; }
.gh-hub-btn-orange { background: var(--gh-orange, #EE7D05); color: #fff; box-shadow: 0 8px 18px rgba(238,125,5,0.25); }
.gh-hub-btn-orange:hover { background: var(--gh-orange-hover, #BE6404); color: #fff; }
.gh-hub-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gh-hub-chips li { margin: 0; padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; line-height: 1.3; }
.gh-hub-chips-hero { margin-top: 20px; }
.gh-hub-chips-hero li { background: rgba(94,23,25,0.2); border: 1px solid rgba(255,255,255,0.4); color: #fff; }
.gh-hub-chips-soft { margin: 0 0 18px; }
.gh-hub-chips-soft li { background: var(--gh-gold-soft, #FBF1E6); border: 1px solid rgba(238,125,5,0.28); color: var(--gh-deep, #5E1719); }
/* hero image (department pages): whole image in a white frame */
.gh-hub-hero-fig { margin: 0; }
.gh-hub-hero-frame { background: #fff; border-radius: 22px; padding: 8px; box-shadow: 0 24px 50px rgba(94,23,25,0.28); }
.gh-hub-hero-img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; border-radius: 16px; margin: 0 auto; }
.gh-hub-hero-fig figcaption { margin-top: 12px; font-size: 13px; line-height: 1.5; color: #fff; opacity: 0.95; text-shadow: 0 1px 2px rgba(94,23,25,0.35); }
/* hero collage (/departments/): three whole images, overlapping */
.gh-hub-collage { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: start; }
.gh-hub-collage-item { background: #fff; border-radius: 18px; padding: 6px; box-shadow: 0 18px 40px rgba(94,23,25,0.28); }
.gh-hub-collage-img { display: block; width: 100%; height: auto; border-radius: 13px; }
.gh-hub-collage-1 { grid-column: 1 / 6; grid-row: 1; position: relative; z-index: 1; }
.gh-hub-collage-2 { grid-column: 3 / 7; grid-row: 2; margin-top: -18%; position: relative; z-index: 2; }
.gh-hub-collage-3 { grid-column: 1 / 4; grid-row: 2; margin-top: 8%; position: relative; z-index: 3; }
/* bands */
.gh-hub-sec { padding: 48px 0; }
.gh-hub-sec-cream { background: var(--gh-bg-ivory, #FAF6F0); }
.gh-hub-sec-white { background: #fff; border-top: 1px solid var(--gh-line, #E6DACB); border-bottom: 1px solid var(--gh-line, #E6DACB); }
.gh-hub .gh-container.gh-hub-narrow { max-width: 900px; }
.gh-hub-kicker { font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gh-gold, #C98A2E); margin-bottom: 6px; }
.gh-hub-h2 { position: relative; margin: 0 0 14px; padding-left: 16px; font-size: clamp(22px, 2.6vw, 29px); line-height: 1.25; font-weight: 800; color: var(--gh-primary, #892728); }
.gh-hub-h2::before { content: ""; position: absolute; left: 0; top: 0.18em; bottom: 0.18em; width: 5px; border-radius: 3px; background: linear-gradient(180deg, var(--gh-orange, #EE7D05), var(--gh-primary, #892728)); }
.gh-hub-lead { margin: 0 0 26px; max-width: 820px; font-size: 15.5px; line-height: 1.65; color: #4a3f3b; }
.gh-hub-intro { margin: 0; padding: 4px 0 4px 18px; border-left: 3px solid rgba(137,39,40,0.22); font-size: 16.5px; line-height: 1.75; color: var(--gh-text-body, #2A2220); }
.gh-hub-label { font-size: 11.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gh-gold, #C98A2E); margin: 2px 0 8px; }
.gh-hub-textlink { color: var(--gh-primary, #892728); font-weight: 800; font-size: 14px; text-decoration: none; border-bottom: 2px solid rgba(137,39,40,0.25); }
.gh-hub-textlink:hover { color: var(--gh-orange, #EE7D05); border-bottom-color: rgba(238,125,5,0.5); }
/* department cards (/departments/) */
.gh-hub-dept { list-style: none; margin: 0; padding: 0; display: grid; gap: 26px; }
.gh-hub-dept-card { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 24px; overflow: hidden; box-shadow: 0 18px 40px rgba(74,21,23,0.08); }
.gh-hub-dept-img { position: relative; display: flex; align-items: center; justify-content: center; padding: 22px; background: linear-gradient(135deg, #F3E7D9 0%, #FBF6EF 100%); }
.gh-hub-dept-imgel { display: block; width: 100%; height: auto; max-height: 380px; object-fit: contain; border-radius: 14px; box-shadow: 0 12px 28px rgba(74,21,23,0.14); background: #fff; }
.gh-hub-dept-num { position: absolute; top: 14px; left: 14px; background: var(--gh-orange, #EE7D05); color: #fff; font-weight: 800; font-size: 14px; border-radius: 12px; padding: 7px 11px; box-shadow: 0 6px 14px rgba(238,125,5,0.3); }
.gh-hub-dept-body { padding: 26px 22px 28px; }
.gh-hub-dept-title { margin: 0 0 8px; font-size: clamp(22px, 2.4vw, 27px); line-height: 1.25; font-weight: 800; }
.gh-hub-dept-title a { color: var(--gh-primary, #892728); text-decoration: none; }
.gh-hub-dept-title a:hover { color: var(--gh-orange, #EE7D05); }
.gh-hub-dept-tag { margin: 0 0 16px; font-size: 15.5px; line-height: 1.6; color: #3a302c; }
.gh-hub-dept-conds { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.gh-hub-dept-conds li { margin: 0; }
.gh-hub-dept-conds a { color: var(--gh-primary, #892728); font-weight: 700; font-size: 14px; text-decoration: underline; text-decoration-color: rgba(137,39,40,0.3); text-underline-offset: 3px; }
.gh-hub-dept-conds a:hover { color: var(--gh-orange, #EE7D05); }
.gh-hub-avs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 22px; }
.gh-hub-avs ul { list-style: none; margin: 0; padding: 0 0 0 8px; display: flex; }
.gh-hub-avs li { margin: 0 0 0 -8px; }
.gh-hub-avs a { display: block; text-decoration: none; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; border: 3px solid #fff; box-shadow: 0 3px 8px rgba(74,21,23,0.2); transition: transform .18s ease; position: relative; }
.gh-hub-avs a:hover { transform: translateY(-3px); z-index: 2; }
.gh-hub-avs .gh-hub-docimg { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.gh-hub-avs .gh-hub-mono { width: 100%; height: 100%; font-size: 14px; }
.gh-hub-avs-label { font-size: 13.5px; font-weight: 700; color: #6B5F5A; }
.gh-hub-dept-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.gh-hub .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* why cards */
.gh-hub-why { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.gh-hub-whycard { margin: 0; background: var(--gh-bg-ivory, #FAF6F0); border: 1px solid var(--gh-line, #E6DACB); border-radius: 18px; padding: 22px; font-size: 14.5px; line-height: 1.6; color: #4a3f3b; transition: transform .18s ease, box-shadow .18s ease; }
.gh-hub-whycard:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(74,21,23,0.08); }
.gh-hub-whyico { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 13px; background: #fff; border: 1px solid rgba(238,125,5,0.25); color: var(--gh-orange, #EE7D05); margin-bottom: 14px; }
.gh-hub-whycard strong { color: var(--gh-deep, #5E1719); font-weight: 800; }
/* procedure cards */
.gh-hub-pgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.gh-hub-pcard { margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 18px; overflow: hidden; box-shadow: 0 6px 16px rgba(74,21,23,0.04); transition: transform .2s ease, box-shadow .2s ease; scroll-margin-top: 120px; }
.gh-hub-pcard:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(74,21,23,0.12); }
.gh-hub-pimg { position: relative; display: block; aspect-ratio: 16 / 10; min-height: 0; overflow: hidden; padding: 0; background: linear-gradient(135deg, #FDFAF6 0%, #F3E9DD 100%); border-bottom: 1px solid var(--gh-line, #E6DACB); }
.gh-hub-pimg-el { position: absolute; top: 10px; left: 10px; width: calc(100% - 20px); height: calc(100% - 20px); max-width: none; object-fit: contain; border-radius: 10px; }
.gh-hub-pimg-none { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--gh-gold, #C98A2E); }
.gh-hub-ptag { position: absolute; top: 10px; right: 10px; background: var(--gh-red, #B3261E); color: #fff; font-size: 12px; font-weight: 800; padding: 5px 9px; border-radius: 8px; }
.gh-hub-pbody { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.gh-hub-pname { margin: 0 0 6px; font-size: 18px; line-height: 1.3; font-weight: 800; }
.gh-hub-pname a { color: var(--gh-primary, #892728); text-decoration: none; }
.gh-hub-pname a:hover { color: var(--gh-orange, #EE7D05); }
.gh-hub-pbody p { flex: 1; margin: 0 0 16px; font-size: 14.5px; line-height: 1.6; color: #4a3f3b; }
.gh-hub-more { align-self: flex-start; color: var(--gh-orange, #EE7D05); font-weight: 800; font-size: 14px; text-decoration: none; border-bottom: 2px solid rgba(238,125,5,0.35); }
.gh-hub-more:hover { color: var(--gh-orange-hover, #BE6404); border-bottom-color: var(--gh-orange-hover, #BE6404); }
/* conditions + when */
.gh-hub-cond { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.gh-hub-cond-groups { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.gh-hub-cgroup { background: var(--gh-bg-ivory, #FAF6F0); border: 1px solid var(--gh-line, #E6DACB); border-radius: 18px; padding: 20px 22px; }
.gh-hub-cgtitle { margin: 0 0 10px; font-size: 16.5px; font-weight: 800; }
.gh-hub-cgtitle a { color: var(--gh-deep, #5E1719); text-decoration: none; }
.gh-hub-cgtitle a:hover { color: var(--gh-orange, #EE7D05); }
.gh-hub-clist { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.gh-hub-clist li { margin: 0; position: relative; padding-left: 16px; font-size: 14.5px; line-height: 1.45; }
.gh-hub-clist li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 7px; height: 7px; border-radius: 50%; background: var(--gh-gold, #C98A2E); }
.gh-hub-clist a { color: var(--gh-primary, #892728); text-decoration: none; font-weight: 600; }
.gh-hub-clist a:hover { color: var(--gh-orange, #EE7D05); text-decoration: underline; }
.gh-hub-cond-single .gh-hub-clist { grid-template-columns: minmax(0, 1fr); }
.gh-hub-when { background: var(--gh-gold-soft, #FBF1E6); border: 1px solid var(--gh-gold-light, #E9C27A); border-radius: 18px; padding: 22px; }
.gh-hub-when-title { margin: 0 0 12px; font-size: 18px; font-weight: 800; color: var(--gh-deep, #5E1719); }
.gh-hub-when .gh-deptp-when { margin-bottom: 12px; }
.gh-hub-when-em svg { color: var(--gh-red, #B3261E); }
.gh-hub-when-em span { color: var(--gh-red, #B3261E); font-weight: 700; }
.gh-hub-when-em a { color: var(--gh-red, #B3261E); font-weight: 800; white-space: nowrap; }
/* doctor cards */
.gh-hub-dgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-hub-dcard { margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 18px; overflow: hidden; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.gh-hub-dcard:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(74,21,23,0.12); }
.gh-hub-dphoto { position: relative; display: block; aspect-ratio: 1 / 1; min-height: 0; background: linear-gradient(160deg, #F3E7D9, #FBF6EF); overflow: hidden; }
.gh-hub-dphoto .gh-hub-docimg, .gh-hub-dphoto .gh-hub-mono { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; display: block; }
.gh-hub-dphoto .gh-hub-mono { display: flex; }
.gh-hub-mono { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: linear-gradient(160deg, #8A3A33 0%, #5E1719 100%); color: #fff; font-weight: 800; font-size: clamp(36px, 5vw, 54px); letter-spacing: 0.04em; }
.gh-hub-dbody { flex: 1; padding: 14px 14px 12px; }
.gh-hub-dname { margin: 0 0 4px; font-size: 16.5px; font-weight: 800; }
.gh-hub-dname a { color: var(--gh-primary, #892728); text-decoration: none; }
.gh-hub-dbody p { margin: 0; font-size: 13.5px; line-height: 1.45; color: #6B5F5A; }
.gh-hub-dlink { display: block; padding: 11px; border-top: 1px solid var(--gh-line, #E6DACB); color: var(--gh-orange, #EE7D05); font-weight: 800; font-size: 13.5px; text-decoration: none; }
.gh-hub-dlink:hover { background: var(--gh-gold-soft, #FBF1E6); color: var(--gh-orange-hover, #BE6404); }
/* where care is provided */
.gh-hub-where { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.gh-hub-where-text p { margin: 0 0 12px; font-size: 15px; line-height: 1.7; color: #3a302c; }
.gh-hub-where-branch { font-weight: 600; color: var(--gh-deep, #5E1719) !important; }
.gh-hub-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.gh-hub-tile { margin: 0; display: flex; gap: 10px; align-items: flex-start; background: var(--gh-bg-ivory, #FAF6F0); border: 1px solid var(--gh-line, #E6DACB); border-radius: 14px; padding: 13px 14px; color: var(--gh-deep, #5E1719); }
.gh-hub-tile svg { flex: none; margin-top: 2px; color: var(--gh-gold, #C98A2E); }
.gh-hub-tile strong { display: block; font-size: 14px; line-height: 1.35; }
.gh-hub-tile em { display: block; font-style: normal; font-size: 12.5px; color: #6B5F5A; margin-top: 2px; }
.gh-hub-tile-main { grid-column: 1 / -1; background: linear-gradient(135deg, var(--gh-primary, #892728), var(--gh-deep, #5E1719)); border-color: transparent; color: #fff; }
.gh-hub-tile-main svg { color: var(--gh-gold-light, #E9C27A); }
.gh-hub-tile-main em { color: rgba(255,255,255,0.85); }
/* booking band */
.gh-hub-others { margin: 18px 0 0; font-size: 14px; color: #6B5F5A; }
.gh-hub-others span { font-weight: 700; }
.gh-hub-others a { color: var(--gh-primary, #892728); font-weight: 700; }
.gh-hub > .gh-docp-disclaimer { padding-top: 0; padding-bottom: 28px; margin-top: 0; }
#book.gh-hub-sec { padding-bottom: 30px; }
@media (min-width: 640px) {
  .gh-hub-why, .gh-hub-pgrid, .gh-hub-dgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gh-hub-cond-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gh-hub-cond-single { grid-template-columns: minmax(0, 1fr); }
  .gh-hub-cond-single .gh-hub-clist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .gh-hub .gh-hub-hero .gh-hub-hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: 44px; padding-top: 46px; padding-bottom: 50px; }
  .gh-hub-sec { padding: 60px 0; }
  .gh-hub-why, .gh-hub-pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gh-hub-dgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gh-hub-dgrid-2 { grid-template-columns: repeat(2, minmax(0, 280px)); justify-content: center; }
  .gh-hub-dgrid-3 { grid-template-columns: repeat(3, minmax(0, 280px)); justify-content: center; }
  .gh-hub-dept-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .gh-hub-dept-rev .gh-hub-dept-img { order: 2; }
  .gh-hub-dept-img { padding: 34px; }
  .gh-hub-dept-num { top: 18px; left: 18px; }
  .gh-hub-dept-rev .gh-hub-dept-num { left: auto; right: 18px; }
  .gh-hub-dept-body { padding: 36px 38px; align-self: center; }
  .gh-hub-cond { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .gh-hub-cond-single .gh-hub-clist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gh-hub-where { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 34px; }
}
@media (max-width: 639px) {
  .gh-hub-btns .gh-hub-btn { width: 100%; }
  .gh-hub-dept-actions .gh-hub-btn { width: 100%; }
  .gh-hub-tiles { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- HUB v2b (pass 74b): wide doctor cards when a department has 1-2 doctors (fill the row, no empty block);
   booking section as a white card with three action tiles and an orange team/locations panel (replaces the flat maroon band). */
.gh-hub-dgrid.gh-hub-dgrid-wide { grid-template-columns: minmax(0, 1fr); }
.gh-hub-dgrid-wide .gh-hub-dcard { flex-direction: row; align-items: stretch; text-align: left; }
.gh-hub-dgrid-wide .gh-hub-dphoto { flex: 0 0 38%; max-width: 230px; aspect-ratio: auto; min-height: 210px; }
.gh-hub-dgrid-wide .gh-hub-dbody { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4px; padding: 22px 24px; }
.gh-hub-dgrid-wide .gh-hub-dname { font-size: 20px; }
.gh-hub-dgrid-wide .gh-hub-dbody p { font-size: 14.5px; }
.gh-hub-dfocus { display: inline-block; margin-top: 8px; padding: 5px 11px; border-radius: 999px; background: var(--gh-gold-soft, #FBF1E6); border: 1px solid rgba(238,125,5,0.28); color: var(--gh-deep, #5E1719); font-size: 12.5px; font-weight: 700; }
.gh-hub-dacts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 16px; }
.gh-hub-dacts .gh-hub-btn { padding: 10px 16px; font-size: 13.5px; }
.gh-hub-cta2 { display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 24px; overflow: hidden; box-shadow: 0 20px 44px rgba(74,21,23,0.10); }
.gh-hub-cta2-main { padding: 28px 22px; }
.gh-hub-cta2-lead { margin: 0 0 20px; font-size: 15.5px; line-height: 1.6; color: #4a3f3b; }
.gh-hub-acts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.gh-hub-acts li { margin: 0; }
.gh-hub-act { display: flex; align-items: center; gap: 14px; height: 100%; padding: 16px; border-radius: 16px; background: var(--gh-bg-ivory, #FAF6F0); border: 1px solid var(--gh-line, #E6DACB); text-decoration: none; color: var(--gh-deep, #5E1719); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.gh-hub-act:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(74,21,23,0.12); border-color: rgba(238,125,5,0.45); color: var(--gh-deep, #5E1719); }
.gh-hub-act-ico { flex: none; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; color: #fff; }
.gh-hub-act-book .gh-hub-act-ico { background: var(--gh-orange, #EE7D05); box-shadow: 0 8px 16px rgba(238,125,5,0.3); }
.gh-hub-act-call .gh-hub-act-ico { background: var(--gh-primary, #892728); box-shadow: 0 8px 16px rgba(137,39,40,0.28); }
.gh-hub-act-wa .gh-hub-act-ico { background: #1FA855; box-shadow: 0 8px 16px rgba(31,168,85,0.28); }
.gh-hub-act-txt strong { display: block; font-size: 15px; font-weight: 800; line-height: 1.3; }
.gh-hub-act-txt em { display: block; font-style: normal; font-size: 13px; color: #6B5F5A; margin-top: 2px; line-height: 1.4; }
.gh-hub-cta2-side { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 28px 22px; color: #fff; background: radial-gradient(420px 240px at 100% 0%, rgba(255,255,255,0.18), transparent 65%), linear-gradient(160deg, #F08A22 0%, #EE7D05 45%, #CF6500 100%); }
.gh-hub-cta2-team { list-style: none; margin: 0; padding: 0 0 0 10px; display: flex; flex-wrap: wrap; row-gap: 8px; }
.gh-hub-cta2-team li { margin: 0 0 0 -10px; }
.gh-hub-cta2-team a { display: block; text-decoration: none; position: relative; width: 58px; height: 58px; border-radius: 50%; overflow: hidden; border: 3px solid #fff; box-shadow: 0 6px 14px rgba(94,23,25,0.25); transition: transform .18s ease; }
.gh-hub-cta2-team a:hover { transform: translateY(-3px); z-index: 2; }
.gh-hub-cta2-team .gh-hub-docimg { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.gh-hub-cta2-team .gh-hub-mono { width: 100%; height: 100%; font-size: 16px; }
.gh-hub-cta2-label { margin: 0; font-size: 16px; font-weight: 800; color: #fff; text-shadow: 0 1px 2px rgba(94,23,25,0.25); }
.gh-hub-cta2-place { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14.5px; line-height: 1.55; font-weight: 600; color: #fff; text-shadow: 0 1px 2px rgba(94,23,25,0.25); }
.gh-hub-cta2-place svg { flex: none; margin-top: 2px; color: var(--gh-deep, #5E1719); background: #fff; border-radius: 8px; padding: 3px; width: 24px; height: 24px; }
.gh-hub-cta2-link { align-self: flex-start; color: var(--gh-deep, #5E1719); background: #fff; font-weight: 800; font-size: 13.5px; text-decoration: none; padding: 9px 14px; border-radius: 10px; box-shadow: 0 6px 14px rgba(94,23,25,0.18); }
.gh-hub-cta2-link:hover { color: var(--gh-primary, #892728); transform: translateY(-2px); }
@media (min-width: 640px) {
  .gh-hub-acts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gh-hub-act { flex-direction: column; align-items: flex-start; }
}
@media (min-width: 900px) {
  .gh-hub-dgrid.gh-hub-dgrid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .gh-hub-cta2 { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
  .gh-hub-cta2-main { padding: 38px 40px; }
  .gh-hub-cta2-side { padding: 38px 34px; }
}
@media (max-width: 479px) {
  .gh-hub-dgrid-wide .gh-hub-dcard { flex-direction: column; text-align: center; }
  .gh-hub-dgrid-wide .gh-hub-dphoto { flex: none; max-width: none; aspect-ratio: 1 / 1; min-height: 0; }
  .gh-hub-dgrid-wide .gh-hub-dbody { align-items: center; }
  .gh-hub-dacts { justify-content: center; }
}

/* ---------- HUB v2c (pass 74c): no empty grid slots. Procedure grid ends with a "Not sure which test or treatment?" card that fills
   exactly the empty slots of the last row (class gh-hub-pfill-3-N / -2-N = empty slots at 3 / 2 columns; 0 = hidden). Why cards: the
   last row stretches to the full width (5 points = 3 + 2 wide, 4 = 3 + 1 full). */
.gh-hub-pfill { margin: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 26px 24px; border-radius: 18px; color: #fff; background: radial-gradient(420px 240px at 100% 0%, rgba(255,255,255,0.18), transparent 65%), linear-gradient(160deg, #F08A22 0%, #EE7D05 45%, #CF6500 100%); box-shadow: 0 14px 30px rgba(207,101,0,0.22); }
.gh-hub-pfill-ico { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: #fff; color: var(--gh-orange, #EE7D05); margin-bottom: 14px; box-shadow: 0 8px 16px rgba(94,23,25,0.18); }
.gh-hub-pfill-title { margin: 0 0 8px; font-size: 21px; line-height: 1.3; font-weight: 800; color: #fff; text-shadow: 0 1px 2px rgba(94,23,25,0.25); }
.gh-hub-pfill-text p { margin: 0; font-size: 15px; line-height: 1.6; color: #fff; text-shadow: 0 1px 2px rgba(94,23,25,0.2); }
.gh-hub-pfill-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.gh-hub-pfill-btns .gh-hub-btn { padding: 11px 16px; font-size: 14px; }
@media (min-width: 640px) {
  .gh-hub-pfill.gh-hub-pfill-2-0 { display: none; }
  .gh-hub-why > li:nth-child(2n+1):last-child { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
  .gh-hub-pfill.gh-hub-pfill-3-0 { display: none; }
  .gh-hub-pfill.gh-hub-pfill-3-1, .gh-hub-pfill.gh-hub-pfill-3-2 { display: flex; }
  .gh-hub-pfill.gh-hub-pfill-3-2 { grid-column: span 2; flex-direction: row; align-items: center; padding: 34px 38px; }
  .gh-hub-pfill.gh-hub-pfill-3-2 .gh-hub-pfill-text { flex: 1; }
  .gh-hub-pfill.gh-hub-pfill-3-2 .gh-hub-pfill-btns { flex: none; flex-direction: column; width: 270px; }
  .gh-hub-pfill.gh-hub-pfill-3-2 .gh-hub-pfill-title { font-size: 24px; }
  .gh-hub-why { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gh-hub-why > li { grid-column: span 2; }
  .gh-hub-why > li:nth-child(2n+1):last-child { grid-column: span 2; }
  .gh-hub-why > li:nth-child(3n+1):nth-last-child(2), .gh-hub-why > li:nth-child(3n+1):nth-last-child(2) ~ li { grid-column: span 3; }
  .gh-hub-why > li:nth-child(3n+1):last-child { grid-column: 1 / -1; }
}

/* ---------- SUBPAGE FIGURE v3 (pass 74e): image + caption as one media block. .gh-subp-media is as wide as the image displays
   (aspect ratio --gh-ar x the max height), centred; the image fills it and the caption sits directly below, same left/right edges. */
.gh-subp-media { --gh-mh: 460px; width: 100%; max-width: calc(var(--gh-mh) * var(--gh-ar, 1.5)); margin: 0 auto; }
.gh-subp-figure-portrait .gh-subp-media { --gh-mh: 420px; }
.gh-subp-figure .gh-subp-media img { box-sizing: border-box; width: 100%; max-width: 100%; height: auto; max-height: none; margin: 0; }
.gh-subp-figure .gh-subp-media figcaption { margin: 10px 0 0; padding: 0 2px; text-align: left; }
@media (min-width: 1024px) { .gh-subp-media { --gh-mh: 640px; } .gh-subp-figure-portrait .gh-subp-media { --gh-mh: 520px; } }

/* ---------- CARE HUB v1 (pass 75): condition image cards on a care group page (/care/<group>/) - reuses the HUB v2 procedure cards,
   2 per row inside the main column (6 conditions = 3 full rows). */
.gh-carehub-grid { margin-top: 6px; }
@media (min-width: 640px) { .gh-carep-main .gh-carehub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .gh-carep-main .gh-carehub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
.gh-carehub-grid .gh-hub-pname { font-size: 17px; }

/* ---------- COND ENRICH v1 (pass 75a): condition-page additions - "What to expect" line under each test, "The usual path" steps
   above the treatment list, note paragraph under the causes list. */
.gh-subp-expect { display: block; margin-top: 8px; padding: 8px 12px; background: var(--gh-gold-soft, #FBF1E6); border-left: 3px solid var(--gh-gold, #C98A2E); border-radius: 0 8px 8px 0; font-size: 13.5px; line-height: 1.55; color: #3a302c; }
.gh-subp-expect strong { color: var(--gh-deep, #5E1719); }
.gh-subp-pathlabel { margin: 4px 0 10px; font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gh-gold, #C98A2E); }
.gh-subp-path { margin-bottom: 18px; }
.gh-subp-note2 { margin-top: 12px; }

/* ---------- CARE FILL v1 (pass 76): care hubs with an odd number of condition cards end with a consultation card that fills the
   empty slot of the 2-column grid (page-care.php adds it only when the count is odd). Buttons stacked at equal width. */
.gh-carehub-grid .gh-carehub-fill .gh-hub-pfill-btns { flex-direction: column; align-items: stretch; }
.gh-carehub-grid .gh-carehub-fill .gh-hub-pfill-btns .gh-hub-btn { justify-content: center; }

/* ---------- CARE HUB v2 (pass 78): the six condition-group hubs use the department-hub layout (HUB v2) - orange split hero with the
   group image, full-width sections, 3-column condition cards with a filler card, first-visit steps, urgent band, why cards, doctors. */
.gh-carehub2-intro p { margin: 0; }
.gh-carehub2-intro p + p { margin-top: 14px; }
.gh-carehub2 #about .gh-subp-related { margin-top: 22px; }
.gh-carehub2 .gh-hub-note { margin: 22px 0 0; text-align: center; }
.gh-carehub2-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.gh-carehub2-steps > li { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 18px; padding: 22px 20px; box-shadow: 0 10px 24px rgba(94,23,25,0.06); }
.gh-carehub2-steps > li p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.6; }
.gh-carehub2-urgent { display: flex; gap: 18px; align-items: flex-start; padding: 26px 24px; border-radius: 20px; background: #FDF1EF; border: 1px solid #F1C9C1; border-left: 6px solid #B3261E; }
.gh-carehub2-urgent .gh-hub-h2 { margin: 0 0 8px; text-align: left; }
.gh-carehub2-urgent p { margin: 0 0 10px; line-height: 1.65; }
.gh-carehub2-urgent-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: #B3261E; color: #fff; }
@media (min-width: 640px) { .gh-carehub2-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gh-carehub2-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- MEGA-DOCS v1 (pass 78): Our Doctors dropdown - doctor profiles in three department columns, name + designation ---------- */
.site-has-mega:hover > .site-mega-docs, .site-mega-trigger[aria-expanded="true"] + .site-mega-docs { grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 760px; }
.site-mega-docs .site-mega-col li { margin-bottom: 4px; }
.site-mega-docs a.site-mega-doc { display: flex; flex-direction: column; gap: 1px; padding: 6px 8px; margin: 0 -8px; border-radius: 8px; }
.site-mega-docs a.site-mega-doc strong { font-size: 14px; font-weight: 700; color: #2A2220; }
.site-mega-docs a.site-mega-doc span { font-size: 12px; line-height: 1.4; color: #6b5f5a; }
.site-mega-docs a.site-mega-doc:hover { background: #FAF6F0; }
.site-mega-docs a.site-mega-doc:hover strong { color: #892728; }
@media (min-width: 1100px) { .site-nav-list > li.site-has-mega:has(> .site-mega-docs) { position: static; } .site-has-mega:hover > .site-mega-docs, .site-mega-trigger[aria-expanded="true"] + .site-mega-docs { left: auto; right: 0; } }
@media (max-width: 1099px) { .site-has-mega:hover > .site-mega-docs, .site-mega-trigger[aria-expanded="true"] + .site-mega-docs { grid-template-columns: 1fr; min-width: 0; }
}


/* ---------- DOCTOR PHOTOS v1 (pass 80): one portrait set (uploads/2026/10/portraits/<slug>-sq.jpg / -profile.jpg) on every page,
   one circle style, and a maroon initials badge for a doctor without a photo. Sizes stay with each page's own rules. ---------- */
.gh-docphoto { display: block; object-fit: cover; object-position: 50% 30%; }
.gh-docarch-photo .gh-docphoto, .gh-docarch-photo .gh-docmono,
.gh-docp-peer .gh-docphoto, .gh-docp-peer .gh-docmono,
.gh-carep-docs .gh-docphoto, .gh-carep-docs .gh-docmono,
.gh-post-spec-photo .gh-docphoto, .gh-post-spec-photo .gh-docmono { box-sizing: border-box; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px #EADFD2, 0 6px 16px rgba(74,21,23,0.16); background: #FBF1E6; }
.gh-docarch-photo .gh-docphoto, .gh-docarch-photo .gh-docmono { width: 132px; height: 132px; }
.gh-docmono { display: grid !important; place-items: center; container-type: inline-size; overflow: hidden; background: linear-gradient(160deg, #8A3A33 0%, #5E1719 100%) !important; color: #fff !important; font-weight: 800; letter-spacing: 0.04em; line-height: 1; }
.gh-docmono > span { font-size: 34cqw; }
.gh-docp-img.gh-docmono > span { font-size: 30cqw; }
.gh-docp-img.gh-docmono { background: linear-gradient(160deg, #FBF1E6 0%, #F0DFCB 100%) !important; color: #892728 !important; }

/* ---------- CARE INDEX v2 (pass 81): /care/ in the hub style ---------- */
.gh-careidx-mosaic { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gh-careidx-mosaic li { position: relative; margin: 0; border-radius: 14px; overflow: hidden; background: #fff; padding: 4px; box-shadow: 0 14px 30px rgba(94,23,25,0.24); }
.gh-careidx-mosaic img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px; }
.gh-careidx-mosaic span { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 4px 8px; border-radius: 8px; background: rgba(42,34,32,0.72); color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1.3; text-align: center; }
.gh-careidx-mosaic li:nth-child(2), .gh-careidx-mosaic li:nth-child(5) { transform: translateY(18px); }
.gh-careidx-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.gh-careidx-card { margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; overflow: hidden; box-shadow: 0 14px 34px rgba(74,21,23,0.07); transition: transform .2s ease, box-shadow .2s ease; }
.gh-careidx-card:hover { transform: translateY(-3px); box-shadow: 0 22px 44px rgba(74,21,23,0.12); }
.gh-careidx-img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #FDFAF6 0%, #F3E9DD 100%); }
.gh-careidx-imgel { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gh-careidx-card:hover .gh-careidx-imgel { transform: scale(1.04); }
.gh-careidx-num { position: absolute; left: 14px; top: 14px; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--gh-orange, #EE7D05); color: #fff; font-weight: 800; font-size: 16px; box-shadow: 0 8px 18px rgba(207,101,0,0.35); }
.gh-careidx-count { position: absolute; right: 14px; bottom: 14px; padding: 6px 12px; border-radius: 999px; background: #fff; color: #892728; font-size: 12.5px; font-weight: 700; box-shadow: 0 6px 14px rgba(42,34,32,0.18); }
.gh-careidx-body { display: flex; flex-direction: column; flex: 1; gap: 12px; padding: 22px 22px 24px; }
.gh-careidx-head { display: flex; align-items: center; gap: 12px; }
.gh-careidx-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: #FBF1E6; color: #892728; }
.gh-careidx-title { margin: 0; font-size: 22px; line-height: 1.25; font-weight: 800; }
.gh-careidx-title a { color: #892728; text-decoration: none; }
.gh-careidx-title a:hover { color: var(--gh-orange, #EE7D05); }
.gh-careidx-tag { margin: 0; font-size: 15px; line-height: 1.55; color: #5b4f4a; }
.gh-careidx-conds { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-careidx-conds a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #FAF6F0; border: 1px solid #EADFD2; color: #2A2220; font-size: 13.5px; font-weight: 600; text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.gh-careidx-conds a:hover { background: #fff; border-color: var(--gh-orange, #EE7D05); color: #892728; }
.gh-careidx-more a { background: #fff; border-color: #892728; color: #892728; }
.gh-careidx-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid #F0E7DC; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.gh-careidx-foot .gh-hub-avs a { width: 40px; height: 40px; }
.gh-careidx-help { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: stretch; }
.gh-careidx-help-card { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border-radius: 20px; color: #fff; background: radial-gradient(420px 240px at 100% 0%, rgba(255,255,255,0.18), transparent 65%), linear-gradient(160deg, #F08A22 0%, #EE7D05 45%, #CF6500 100%); box-shadow: 0 14px 30px rgba(207,101,0,0.22); }
.gh-careidx-help-title { margin: 6px 0 0; font-size: 22px; line-height: 1.3; font-weight: 800; color: #fff; }
.gh-careidx-help-card p { margin: 0 0 6px; font-size: 15px; line-height: 1.6; color: #fff; }
.gh-careidx-help .gh-carehub2-urgent { margin: 0; height: 100%; }
@media (min-width: 760px) { .gh-careidx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .gh-careidx-help { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); } }
@media (max-width: 899px) { .gh-careidx-mosaic { margin-top: 26px; } }
@media (max-width: 520px) { .gh-careidx-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } .gh-careidx-mosaic span { display: none; } .gh-careidx-mosaic li:nth-child(2), .gh-careidx-mosaic li:nth-child(5) { transform: none; } .gh-careidx-title { font-size: 20px; } .gh-careidx-body { padding: 18px 16px 20px; } .gh-careidx-foot .gh-hub-btn { width: 100%; justify-content: center; } }

/* ---------- FOOTER v2 (pass 82): six clear columns, white semi-bold links (8.8:1 on the maroon), bold gold headings, mobile tap-to-open lists ---------- */
.gh-footer.gh-footer2 { background: var(--gh-primary-dark, #892728); color: #fff; padding-top: 52px; }
.gh-footer2 .gh-footer2-grid { max-width: var(--gh-max-width, 1200px); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; }
.gh-footer2 .gh-footer-col { min-width: 0; }
.gh-footer2 .gh-footer-heading { position: relative; margin: 0 0 18px; padding-bottom: 10px; font-size: 17px; line-height: 1.3; font-weight: 800; letter-spacing: 0.01em; color: #F3D08F; }
.gh-footer2 .gh-footer-heading::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; border-radius: 3px; background: var(--gh-orange, #EE7D05); }
.gh-footer2 .gh-footer-nav-list li { margin: 0 0 4px; }
.gh-footer2 .gh-footer-nav-list a { display: inline-block; padding: 4px 0; color: #fff; font-size: 15px; line-height: 1.45; font-weight: 600; text-decoration: none; transition: color .15s ease; }
.gh-footer2 .gh-footer-nav-list a:hover, .gh-footer2 .gh-footer-nav-list a:focus-visible { color: #F3D08F; text-decoration: underline; text-underline-offset: 3px; }
.gh-footer2 .gh-footer2-all a { color: #fff; font-weight: 700; }
.gh-footer2-line { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; font-size: 15px; line-height: 1.55; font-weight: 600; color: #fff; }
.gh-footer2-line a { color: #fff; text-decoration: none; overflow-wrap: anywhere; }
.gh-footer2-line a:hover, .gh-footer2-line a:focus-visible { color: #F3D08F; text-decoration: underline; }
.gh-footer2-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-top: -3px; border-radius: 9px; background: rgba(255,255,255,0.12); color: #F3D08F; }
.gh-footer2-about .gh-footer-heading { font-size: 19px; }
.gh-footer2-logo { display: inline-block; margin: 0 0 18px; padding: 10px 16px; border-radius: 12px; background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,0.18); line-height: 0; }
.gh-footer2-logo img { display: block; width: 220px; max-width: 100%; height: auto; }
.gh-footer2-logo:focus-visible { outline: 3px solid #F3D08F; outline-offset: 3px; }
.gh-footer2-acts { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.gh-footer2-act { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; border-radius: 12px; background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.18); text-decoration: none; transition: background .15s ease, border-color .15s ease; }
.gh-footer2-act strong { color: #fff; font-size: 15px; font-weight: 700; line-height: 1.3; }
.gh-footer2-act span { color: #fff; font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.gh-footer2-act:hover, .gh-footer2-act:focus-visible { background: rgba(255,255,255,0.16); border-color: #F3D08F; }
.gh-footer2-act-emg { border-color: rgba(238,125,5,0.65); }
.gh-footer2-act span span { white-space: nowrap; }
.gh-footer2 .gh-social-icons { display: flex; flex-wrap: wrap; gap: 10px; }
.gh-footer2-top { max-width: var(--gh-max-width, 1200px); margin: 0 auto 38px; padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,0.22); display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: center; }
.gh-footer2-top .gh-footer2-acts { margin: 0; grid-template-columns: minmax(0, 1fr); }
.gh-footer2-top-h { margin-bottom: 4px !important; }
@media (min-width: 700px) { .gh-footer2-top .gh-footer2-acts { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; } }
@media (min-width: 1100px) { .gh-footer2-top { grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; } .gh-footer2-top-h { margin: 0 !important; } }
.gh-footer2 .gh-social-icons a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: rgba(255,255,255,0.10); border: 1.5px solid rgba(255,255,255,0.55); transition: background .15s ease, color .15s ease, border-color .15s ease; }
.gh-footer2 .gh-social-icons a:hover, .gh-footer2 .gh-social-icons a:focus-visible { background: #F3D08F; border-color: #F3D08F; color: #892728; }
/* pass 82a: official brand colours - Facebook blue, X black, Instagram gradient, YouTube red logo on white; white ring keeps each clear on maroon */
.gh-footer2 .gh-social-brand { flex-wrap: nowrap; }
.gh-footer2 .gh-social-brand a.gh-soc { flex: 0 0 44px; width: 44px; height: 44px; box-sizing: border-box; border: 2px solid #fff; box-shadow: 0 4px 12px rgba(0,0,0,0.22); transition: transform .15s ease, box-shadow .15s ease; }
.gh-footer2 .gh-social-brand a.gh-soc-fb { background: #1877F2; }
.gh-footer2 .gh-social-brand a.gh-soc-x { background: #000; }
.gh-footer2 .gh-social-brand a.gh-soc-ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.gh-footer2 .gh-social-brand a.gh-soc-yt { background: #fff; }
.gh-footer2 .gh-social-brand a.gh-soc:hover, .gh-footer2 .gh-social-brand a.gh-soc:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,0.3); border-color: #F3D08F; }
.gh-footer2 .gh-social-brand a.gh-soc-fb:hover, .gh-footer2 .gh-social-brand a.gh-soc-fb:focus-visible { background: #1877F2; }
.gh-footer2 .gh-social-brand a.gh-soc-x:hover, .gh-footer2 .gh-social-brand a.gh-soc-x:focus-visible { background: #000; }
.gh-footer2 .gh-social-brand a.gh-soc-ig:hover, .gh-footer2 .gh-social-brand a.gh-soc-ig:focus-visible { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.gh-footer2 .gh-social-brand a.gh-soc-yt:hover, .gh-footer2 .gh-social-brand a.gh-soc-yt:focus-visible { background: #fff; }
.gh-footer2 .gh-footer-bottom.gh-footer-legal { border-top-color: rgba(255,255,255,0.28); }
.gh-footer2 .gh-footer-copy { color: #fff; font-weight: 600; }
.gh-footer2 .gh-footer-credit a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 769px) { .gh-footer2 .gh-footer-bottom.gh-footer-legal { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; } .gh-footer2 .gh-footer-legal-links { order: 4; justify-content: flex-start; align-self: flex-start; grid-column: auto; grid-row: auto; } }

.gh-footer2 .gh-footer-credit, .gh-footer2 .gh-footer-disclaimer { color: #F6E9E4; opacity: 1; font-weight: 500; }
.gh-footer2 .gh-footer-legal-links a { color: #fff; font-weight: 600; }
.gh-footer2 .gh-footer-legal-links a:hover, .gh-footer2 .gh-footer-legal-links a:focus-visible { color: #F3D08F; }
@media (min-width: 600px) { .gh-footer2 .gh-footer2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 30px; } }
@media (min-width: 900px) { .gh-footer2 .gh-footer2-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gh-footer2 .gh-footer2-grid { grid-template-columns: 1.4fr 1.05fr 1fr 1fr 0.8fr; gap: 28px; } }
.gh-footer2-line a.gh-footer2-mail { white-space: nowrap; font-size: 14px; overflow-wrap: normal; }
@media (max-width: 599px) { .gh-footer2 .gh-footer2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; } .gh-footer2 .gh-footer2-about { grid-column: 1 / -1; } .gh-footer2 .gh-footer-heading { font-size: 16px; } .gh-footer2-about .gh-footer-heading { font-size: 19px; } .gh-footer2 .gh-footer-nav-list a { font-size: 14.5px; } }

/* ---------- INFO PAGES v1 (pass 85): About Us, Patient Information, Contact Us in the hub style ---------- */
.gh-infop .gh-hub-lead { max-width: 820px; margin: -6px 0 22px; font-size: 16px; line-height: 1.65; color: #5b4f4a; }
.gh-infop-ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 13px; background: #FBF1E6; color: #892728; flex: none; }
.gh-infop h3 { margin: 0; color: #892728; font-size: 18px; line-height: 1.3; font-weight: 800; }
.gh-infop-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-infop-card { position: relative; margin: 0; display: flex; flex-direction: column; gap: 12px; padding: 24px 22px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 20px; box-shadow: 0 10px 26px rgba(74,21,23,0.06); }
.gh-hub-sec-white .gh-infop-card { background: #FDFAF6; }
.gh-infop-card p { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-infop-num { position: absolute; top: 18px; right: 20px; font-size: 26px; font-weight: 800; color: rgba(137,39,40,0.14); }
.gh-infop-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.gh-infop-facts li { display: flex; align-items: flex-start; gap: 14px; padding: 18px 18px; border-radius: 16px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); font-size: 15px; line-height: 1.55; color: #4a3f3b; }
.gh-infop-facts strong { color: #2A2220; }
.gh-infop-factico { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; flex: none; color: #fff; background: linear-gradient(160deg, #F08A22 0%, #CF6500 100%); box-shadow: 0 6px 14px rgba(207,101,0,0.25); }
.gh-infop-values { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-infop-value { margin: 0; padding: 26px 24px; border-radius: 20px; color: #fff; background: radial-gradient(420px 240px at 100% 0%, rgba(255,255,255,0.14), transparent 65%), linear-gradient(160deg, #9b2f30 0%, #6b1f21 100%); box-shadow: 0 14px 30px rgba(94,23,25,0.2); }
.gh-infop-value h3 { color: #F3D08F; font-size: 22px; margin-bottom: 8px; }
.gh-infop-value p { margin: 0; font-size: 15.5px; line-height: 1.6; color: #fff; }
.gh-infop-why { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-infop-whycard { margin: 0; display: flex; flex-direction: column; gap: 12px; padding: 24px 22px; border-radius: 20px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); border-top: 4px solid var(--gh-orange, #EE7D05); }
.gh-infop-whycard p { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-infop-depts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.gh-infop-dept { margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; overflow: hidden; box-shadow: 0 14px 34px rgba(74,21,23,0.07); }
.gh-infop-deptimg { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, #FDFAF6 0%, #F3E9DD 100%); }
.gh-infop-deptimgel { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gh-infop-dept:hover .gh-infop-deptimgel { transform: scale(1.04); }
.gh-infop-deptbody { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 20px 22px 24px; }
.gh-infop-deptbody h3 a { color: #892728; text-decoration: none; }
.gh-infop-deptbody p { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-infop-deptbody .gh-hub-btn { margin-top: auto; align-self: flex-start; }
.gh-infop-lead { font-weight: 600; }
.gh-infop-lead a { color: #892728; }
.gh-infop-morelink { margin: 26px 0 0; text-align: center; }
.gh-infop-support { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.gh-infop-supportcard { margin: 0; display: flex; flex-direction: column; gap: 6px; padding: 20px 20px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 18px; }
.gh-infop-supportcard .gh-infop-ico { width: 40px; height: 40px; margin-bottom: 6px; }
.gh-infop-supportcard h3 { font-size: 17px; }
.gh-infop-qual { font-size: 13px; font-weight: 700; color: #C98A2E; }
.gh-infop-sdept { font-size: 13.5px; font-weight: 700; color: #2A2220; }
.gh-infop-supportcard p { margin: 4px 0 0; font-size: 14.5px; line-height: 1.55; color: #4a3f3b; }
/* patient information */
.gh-infop-journey { align-self: center; padding: 26px 24px; border-radius: 24px; background: rgba(255,255,255,0.96); box-shadow: 0 24px 48px rgba(94,23,25,0.28); }
.gh-infop-journey-title { margin: 0 0 16px; font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #C98A2E; }
.gh-infop-journey ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-infop-journey li { position: relative; display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: #FDFAF6; border: 1px solid #F0E4D6; }
.gh-infop-journey li + li::before { content: ""; position: absolute; left: 36px; top: -11px; width: 2px; height: 10px; background: #EE7D05; }
.gh-infop-journey-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: #fff; background: linear-gradient(160deg, #F08A22 0%, #CF6500 100%); flex: none; }
.gh-infop-journey-n { font-size: 13px; font-weight: 800; color: #C98A2E; }
.gh-infop-journey-t { font-size: 17px; font-weight: 800; color: #892728; }
.gh-infop-two { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-infop-panel { display: flex; flex-direction: column; gap: 12px; padding: 26px 24px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; box-shadow: 0 12px 28px rgba(74,21,23,0.06); }
.gh-hub-sec-white .gh-infop-panel { background: #FDFAF6; }
.gh-infop-panel p { margin: 0; font-size: 15.5px; line-height: 1.65; color: #4a3f3b; }
.gh-infop-panel-main { border-color: rgba(137,39,40,0.35); box-shadow: 0 14px 30px rgba(94,23,25,0.12); }
.gh-infop-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 4px; }
.gh-infop-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gh-infop-checks li { display: flex; align-items: flex-start; gap: 10px; font-size: 15.5px; line-height: 1.5; color: #2A2220; font-weight: 600; }
.gh-infop-checks .gh-ico { flex: none; margin-top: 3px; color: #1f7a3a; }
.gh-infop-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; counter-reset: none; }
.gh-infop-steps li { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px 20px; border-radius: 18px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); }
.gh-infop-steps p { margin: 0; font-size: 15px; line-height: 1.55; color: #4a3f3b; }
.gh-infop-stepnum { position: absolute; top: 16px; right: 18px; font-size: 24px; font-weight: 800; color: rgba(238,125,5,0.35); }
.gh-infop-steps .gh-infop-ico { width: 42px; height: 42px; }
.gh-infop-emgnote { margin: 6px 0 0 !important; font-size: 14.5px; font-weight: 600; }
.gh-infop-emgnote a { color: #892728; }
.gh-infop-quick { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 26px; }
.gh-infop-quick > div { padding: 20px 22px; border-radius: 18px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); }
.gh-infop-quickh { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #C98A2E; }
.gh-infop-quick ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-infop-quick a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #FAF6F0; border: 1px solid #EADFD2; color: #2A2220; font-size: 14px; font-weight: 600; text-decoration: none; }
.gh-infop-quick a:hover { border-color: #EE7D05; color: #892728; background: #fff; }
/* contact */
.gh-infop-herofig figcaption { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
.gh-infop-herofig figcaption strong { width: 100%; }
.gh-infop-dirlink { font-weight: 800; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.gh-infop-reach { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-infop-nums { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-infop-nums li { font-size: 18px; font-weight: 800; color: #2A2220; line-height: 1.4; }
.gh-infop-nums a { color: #2A2220; text-decoration: none; }
.gh-infop-nums a:hover { color: #892728; text-decoration: underline; }
.gh-infop-numlabel { display: block; font-size: 12.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #B42318; }
.gh-infop-panel-emg { border: 1px solid rgba(180,35,24,0.35); border-left: 5px solid #B42318; background: #FFF7F5 !important; }
.gh-infop-panel-emg .gh-infop-ico { background: #B42318; color: #fff; }
.gh-infop-panel-emg h3 { color: #B42318; }
.gh-infop-wa { align-self: flex-start; background: #25D366; color: #fff; border-color: #25D366; }
.gh-infop-wa:hover { background: #1ebe5a; color: #fff; }
.gh-infop-addr { font-size: 15.5px; line-height: 1.6; }
.gh-infop-addr a { color: #892728; font-weight: 700; }
.gh-infop-formwrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.gh-infop-formcard { padding: 26px 24px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; box-shadow: 0 12px 28px rgba(74,21,23,0.06); }
.gh-infop-formside { display: grid; gap: 14px; }
.gh-infop-sidebox { display: flex; flex-direction: column; gap: 8px; padding: 20px 20px; border-radius: 18px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); }
.gh-infop-sidebox p { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-infop-sidebox-emg { border-left: 5px solid #B42318; background: #FFF7F5; }
.gh-infop-sidebox-emg h3 { color: #B42318; }
.gh-infop-sidenums { display: grid; gap: 4px; }
.gh-infop-sidenums a { font-weight: 800; color: #B42318; text-decoration: none; }
.gh-infop-map { position: relative; border-radius: 24px; overflow: hidden; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 16px 36px rgba(74,21,23,0.1); background: #F3E9DD; }
.gh-infop-map iframe { display: block; width: 100%; height: 420px; border: 0; }
.gh-infop-mapcard { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px; background: #fff; }
.gh-infop-mapcard strong { font-size: 18px; color: #892728; }
.gh-infop-mapcard p { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-infop-mapcard .gh-hub-btn { align-self: flex-start; }
@media (min-width: 640px) {
	.gh-infop-cards-4, .gh-infop-facts, .gh-infop-support, .gh-infop-why, .gh-infop-steps, .gh-infop-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gh-infop-values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.gh-infop-cards-4, .gh-infop-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.gh-infop-cards-3, .gh-infop-depts, .gh-infop-why, .gh-infop-steps, .gh-infop-support, .gh-infop-reach { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gh-infop-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gh-infop-formwrap { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
	.gh-infop-map { display: grid; grid-template-columns: 340px minmax(0, 1fr); }
	.gh-infop-mapcard { order: -1; justify-content: center; padding: 32px 28px; border-right: 1px solid var(--gh-line, #E6DACB); }
	.gh-infop-map iframe { height: 480px; }
}
@media (max-width: 899px) { .gh-infop-journey { margin-top: 24px; } }
.gh-infop-nums a { white-space: nowrap; }
.gh-infop .gh-carehub2-urgent .gh-docp-emnums a { display: block; color: #892728; font-weight: 700; text-decoration: none; }
.gh-infop .gh-carehub2-urgent .gh-docp-emnums a { margin-bottom: 8px; font-size: 18px; font-weight: 800; color: #2A2220; white-space: nowrap; }
.gh-infop .gh-carehub2-urgent .gh-docp-emnums .gh-infop-numlabel { display: block; }
.gh-infop .gh-carehub2-urgent .gh-docp-emnums a:hover { text-decoration: underline; }
@media (max-width: 639px) { .gh-infop .gh-carehub2-urgent { flex-direction: column; gap: 12px; padding: 22px 18px; } }

/* ---------- TECH / EMERGENCY / BRANCHES v1 (pass 87): Technology, Emergency 24x7 and Branches in the hub style ---------- */
.gh-techp2-head { display: flex; align-items: center; gap: 14px; }
.gh-techp2-head h3 { flex: 1; }
.gh-techp2-dl { margin: 0; display: grid; gap: 4px; }
.gh-techp2-dl dt { margin-top: 8px; font-size: 12.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #C98A2E; }
.gh-techp2-dl dt:first-child { margin-top: 0; }
.gh-techp2-dl dd { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-techp2-links { list-style: none; margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid #F0E4D6; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-techp2-links a { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: #FAF6F0; border: 1px solid #EADFD2; color: #892728; font-size: 13.5px; font-weight: 700; text-decoration: none; }
.gh-techp2-links a::after { content: "›"; margin-left: 6px; color: #EE7D05; }
.gh-techp2-links a:hover { border-color: #EE7D05; background: #fff; }
.gh-techp2-core { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.gh-techp2-card { margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; overflow: hidden; box-shadow: 0 14px 34px rgba(74,21,23,0.07); }
.gh-techp2-img { aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #FDFAF6 0%, #F3E9DD 100%); }
.gh-techp2-imgel { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gh-techp2-card:hover .gh-techp2-imgel { transform: scale(1.04); }
.gh-techp2-body { display: flex; flex-direction: column; flex: 1; gap: 14px; padding: 22px 24px 24px; }
.gh-techp2-body .gh-techp2-links { margin-top: auto; }
.gh-techp2-support { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-techp2-scard { margin: 0; display: flex; flex-direction: column; gap: 14px; padding: 22px 22px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); border-radius: 20px; }
.gh-techp2-scard .gh-techp2-links { margin-top: auto; }
.gh-techp2-gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-techp2-gallery figure { margin: 0; border-radius: 22px; overflow: hidden; background: #F3E9DD; box-shadow: 0 14px 34px rgba(74,21,23,0.1); }
.gh-techp2-galimg { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gh-techp2-gallery figcaption { padding: 14px 18px; font-size: 14.5px; font-weight: 700; color: #892728; background: #fff; }
/* emergency */
.gh-emgp2-panel { align-self: center; display: grid; gap: 12px; padding: 22px 20px; border-radius: 24px; background: rgba(255,255,255,0.97); box-shadow: 0 24px 48px rgba(94,23,25,0.28); }
.gh-emgp2-paneltitle { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #B42318; }
.gh-emgp2-num { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border-radius: 16px; background: #FFF7F5; border: 1px solid rgba(180,35,24,0.25); border-left: 5px solid #B42318; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.gh-emgp2-num:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(180,35,24,0.15); }
.gh-emgp2-numlabel { font-size: 12.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #B42318; }
.gh-emgp2-numval { font-size: 26px; font-weight: 800; color: #2A2220; line-height: 1.2; white-space: nowrap; }
.gh-emgp2-numalt { font-size: 14px; font-weight: 700; color: #6b5d57; }
.gh-emgp2-num-alt { background: #FDFAF6; border-color: #EADFD2; border-left-color: #892728; }
.gh-emgp2-num-alt .gh-emgp2-numlabel { color: #892728; }
.gh-emgp2-num-alt .gh-emgp2-numval { font-size: 21px; }
.gh-emgp2-signs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-emgp2-signcard { margin: 0; display: flex; flex-direction: column; gap: 14px; padding: 24px 22px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-top: 4px solid #B42318; border-radius: 20px; box-shadow: 0 12px 28px rgba(74,21,23,0.06); }
.gh-emgp2-signico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 13px; background: #FDEDEB; color: #B42318; flex: none; }
.gh-emgp2-signcard ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-emgp2-signcard li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.5; color: #2A2220; font-weight: 600; }
.gh-emgp2-signcard li .gh-ico { flex: none; margin-top: 4px; color: #B42318; }
.gh-emgp2-note { margin: 20px 0 0; font-size: 14.5px; color: #5b4f4a; font-style: italic; }
.gh-emgp2-where { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: stretch; }
.gh-emgp2-fig { margin: 0; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 14px 34px rgba(74,21,23,0.08); }
.gh-emgp2-photo { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.gh-emgp2-fig figcaption { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-emgp2-fig figcaption strong { font-size: 18px; color: #892728; }
.gh-emgp2-fig figcaption .gh-hub-btn { align-self: flex-start; margin-top: 4px; }
.gh-emgp2-only { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 28px 26px; border-radius: 22px; background: #FFF7F5; border: 1px solid rgba(180,35,24,0.3); border-left: 6px solid #B42318; }
.gh-emgp2-onlyico { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: #B42318; color: #fff; }
.gh-emgp2-only h3 { color: #B42318; font-size: 20px; }
.gh-emgp2-only p { margin: 0; font-size: 15.5px; line-height: 1.65; color: #3a302c; }
.gh-emgp2-varachha { padding-top: 12px; border-top: 1px dashed rgba(180,35,24,0.3); }
.gh-emgp2-varachha a { font-size: 18px; font-weight: 800; color: #2A2220; text-decoration: none; white-space: nowrap; }
.gh-emgp2-help { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.gh-emgp2-help li { margin: 0; }
.gh-emgp2-helpcard { height: 100%; display: flex; flex-direction: column; gap: 8px; padding: 22px 20px; border-radius: 18px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.gh-emgp2-helpcard:hover { border-color: #EE7D05; transform: translateY(-2px); }
.gh-emgp2-helpcard strong { font-size: 17px; color: #892728; }
.gh-emgp2-helpcard span:not(.gh-infop-ico) { font-size: 14.5px; line-height: 1.55; color: #4a3f3b; }
.gh-emgp2-helpcard em { margin-top: auto; font-style: normal; font-weight: 800; color: #EE7D05; }
.gh-emgp2 .gh-docp-disclaimer { margin-top: 28px; }
/* branches */
.gh-brp2-main { display: grid; grid-template-columns: minmax(0, 1fr); border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid rgba(137,39,40,0.3); box-shadow: 0 16px 36px rgba(74,21,23,0.1); }
.gh-brp2-maincard { display: flex; flex-direction: column; gap: 12px; padding: 28px 26px; }
.gh-brp2-badge { align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: #892728; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.gh-brp2-maincard h3 { font-size: 24px; }
.gh-brp2-hname { margin: -6px 0 0; font-size: 14.5px; font-weight: 700; color: #C98A2E; }
.gh-brp2-addr { margin: 0; font-size: 15px; line-height: 1.6; color: #4a3f3b; }
.gh-brp2-svc { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-brp2-svc li { padding: 5px 12px; border-radius: 999px; background: #FBF1E6; color: #892728; font-size: 13px; font-weight: 700; }
.gh-brp2-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.gh-brp2-mainmap { min-height: 320px; background: #F3E9DD; }
.gh-brp2-mainmap iframe, .gh-brp2-satmap iframe { display: block; width: 100%; height: 100%; min-height: 320px; border: 0; }
.gh-brp2-opd { margin-top: 18px; padding: 20px 22px; border-radius: 18px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); }
.gh-brp2-opdh { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #C98A2E; }
.gh-brp2-opd ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.gh-brp2-opd li { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 14px; background: #FDFAF6; border: 1px solid #F0E4D6; }
.gh-brp2-opdphoto { flex: none; display: block; width: 58px; height: 58px; }
.gh-brp2-opd .gh-docphoto, .gh-brp2-opd .gh-docmono { box-sizing: border-box; width: 58px; height: 58px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px #EADFD2, 0 4px 10px rgba(74,21,23,0.14); background: #FBF1E6; }
.gh-brp2-opdtext { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gh-brp2-opddoc { font-size: 15px; font-weight: 800; color: #892728; text-decoration: none; }
.gh-brp2-opddoc:hover { text-decoration: underline; }
.gh-brp2-opdrow { display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 14px; line-height: 1.5; color: #4a3f3b; }
.gh-brp2-opdhours { font-weight: 700; color: #2A2220; }
.gh-brp2-opdnote { margin: 12px 0 0; font-size: 13.5px; font-style: italic; color: #5b4f4a; }
.gh-brp2-sats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.gh-brp2-sat { margin: 0; display: flex; flex-direction: column; gap: 12px; padding: 24px 22px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; box-shadow: 0 12px 28px rgba(74,21,23,0.06); }
.gh-brp2-sathead { display: flex; align-items: center; gap: 14px; }
.gh-brp2-sathead h3 { font-size: 21px; }
.gh-brp2-only { display: inline-block; margin-top: 4px; padding: 3px 10px; border-radius: 999px; background: #EAF4EC; color: #1f6b35; font-size: 12.5px; font-weight: 800; }
.gh-brp2-phones { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.gh-brp2-phones a { font-size: 17px; font-weight: 800; color: #2A2220; text-decoration: none; white-space: nowrap; }
.gh-brp2-phones .gh-infop-numlabel { color: #892728; }
.gh-brp2-sat .gh-brp2-opd { margin-top: 0; }
.gh-brp2-satmap { flex: 1 1 auto; display: flex; min-height: 200px; border-radius: 16px; overflow: hidden; background: #F3E9DD; }
.gh-brp2-satmap iframe { flex: 1; min-height: 200px; height: auto; }
.gh-brp2-sat .gh-brp2-acts { margin-top: 4px; }
.gh-brp2-band .gh-brp2-bandlinks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 4px 0 0; }
.gh-brp2-bandlinks a { font-weight: 800; color: #892728; }
@media (min-width: 640px) {
	.gh-techp2-support, .gh-emgp2-help, .gh-techp2-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gh-brp2-opd-main ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.gh-techp2-core, .gh-brp2-sats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gh-techp2-support, .gh-emgp2-signs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gh-techp2-why { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.gh-emgp2-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.gh-emgp2-help { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.gh-emgp2-where { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
	.gh-brp2-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
	.gh-brp2-opd-main ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) { .gh-emgp2-panel { margin-top: 24px; } }

/* ---------- FAQ / APPOINTMENT / DOCTORS / TOUR v1 (pass 89): FAQs, Appointment, Doctors list and Virtual Tour in the hub style ---------- */
.gh-faqp2-jump { align-self: center; padding: 24px 22px; border-radius: 24px; background: rgba(255,255,255,0.96); box-shadow: 0 24px 48px rgba(94,23,25,0.28); }
.gh-faqp2-jump ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-faqp2-jump a { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: #FDFAF6; border: 1px solid #F0E4D6; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.gh-faqp2-jump a:hover { border-color: #EE7D05; transform: translateX(2px); }
.gh-faqp2-jt { flex: 1; font-size: 16px; font-weight: 800; color: #892728; line-height: 1.3; }
.gh-faqp2-jn { flex: none; min-width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #FBF1E6; color: #C98A2E; font-size: 13px; font-weight: 800; }
.gh-faqp2 .gh-hub-h2 { margin-bottom: 18px; }
.gh-faqp2-help { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: stretch; }
.gh-faqp2-helpmain { display: flex; flex-direction: column; gap: 10px; padding: 28px 26px; border-radius: 22px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 12px 28px rgba(74,21,23,0.06); }
.gh-faqp2-helpmain p { margin: 0; font-size: 16px; line-height: 1.6; color: #4a3f3b; }
.gh-faqp2-helpmain .gh-hub-btns { margin-top: 6px; }
.gh-faqp2-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.gh-faqp2-links li { margin: 0; }
/* appointment */
.gh-bookp2 .gh-infop-formcard > .gh-docp-note { margin: 0 0 16px; }
.gh-bookp2-depts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-bookp2-dept { padding: 22px 22px; border-radius: 20px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 10px 24px rgba(74,21,23,0.05); }
.gh-bookp2-dept h3 { margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid #F3E2CF; }
.gh-bookp2-dept h3 a { color: #892728; text-decoration: none; }
.gh-bookp2-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.gh-bookp2-docs a { display: flex; text-decoration: none !important; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 14px; background: #FDFAF6; border: 1px solid #F0E4D6; text-decoration: none; transition: border-color .15s ease; }
.gh-bookp2-docs a:hover { border-color: #EE7D05; }
.gh-bookp2-photo { flex: none; width: 58px; height: 58px; }
.gh-bookp2-docs .gh-docphoto, .gh-bookp2-docs .gh-docmono { box-sizing: border-box; width: 58px; height: 58px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px #EADFD2, 0 4px 10px rgba(74,21,23,0.14); background: #FBF1E6; }
.gh-bookp2-dtext { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gh-bookp2-dtext strong { font-size: 15.5px; color: #892728; }
.gh-bookp2-dtext span { font-size: 13.5px; line-height: 1.45; color: #5b4f4a; }
/* doctors list */
.gh-docarch2-mosaic { align-self: center; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 20px; border-radius: 24px; background: rgba(255,255,255,0.96); box-shadow: 0 24px 48px rgba(94,23,25,0.28); }
.gh-docarch2-mosaic span { display: block; aspect-ratio: 1 / 1; }
.gh-docarch2-mosaic .gh-docphoto { box-sizing: border-box; width: 100%; height: 100%; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px #EADFD2, 0 6px 14px rgba(74,21,23,0.16); background: #FBF1E6; }
.gh-docarch2-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.gh-docarch2-card { margin: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-radius: 22px; overflow: hidden; box-shadow: 0 14px 34px rgba(74,21,23,0.07); transition: transform .2s ease, box-shadow .2s ease; }
.gh-hub-sec-white .gh-docarch2-card { background: #FDFAF6; }
.gh-docarch2-card:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(74,21,23,0.12); }
.gh-docarch2-photo { position: relative; display: block; text-decoration: none; aspect-ratio: 1 / 1; overflow: hidden; background: linear-gradient(160deg, #FBF1E6 0%, #F0DFCB 100%); }
.gh-docarch2-photo .gh-docphoto { width: 100%; height: 100%; }
.gh-docarch2-photo .gh-docmono { width: 100%; height: 100%; }
.gh-docarch2-photo .gh-docmono > span { font-size: 22cqw; }
.gh-docarch2-lead { position: absolute; left: 12px; top: 12px; padding: 5px 11px; border-radius: 999px; background: #892728; color: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.gh-docarch2-body { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 16px; text-align: center; }
.gh-docarch2-name a { color: #892728; text-decoration: none; }
.gh-docarch2-name { font-size: 19px !important; }
.gh-docarch2-desig { margin: 0; font-size: 14.5px; font-weight: 700; line-height: 1.45; color: #2A2220; }
.gh-docarch2-quals { margin: 0; font-size: 13px; line-height: 1.5; color: #6b5d57; }
.gh-docarch2-focus { margin: 2px 0 0; font-size: 13.5px; font-weight: 700; line-height: 1.45; color: #C98A2E; }
.gh-docarch2-at { margin-top: auto; padding-top: 10px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.gh-docarch2-atl { font-size: 11.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #8a7d77; }
.gh-docarch2-at ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.gh-docarch2-at li { padding: 4px 10px; border-radius: 999px; background: #FBF1E6; color: #892728; font-size: 12.5px; font-weight: 700; }
.gh-docarch2-more { display: block; padding: 13px 16px; border-top: 1px solid #F0E4D6; text-align: center; font-size: 15px; font-weight: 800; color: #EE7D05; text-decoration: none; }
.gh-docarch2-more:hover { color: #892728; }
/* virtual tour */
.gh-tourp2-card { padding: 22px; border-radius: 24px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 16px 36px rgba(74,21,23,0.08); }
.gh-tourp2-card .gh-tour-hint { margin-bottom: 0; }
@media (min-width: 640px) {
	.gh-docarch2-grid, .gh-bookp2-depts, .gh-faqp2-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gh-bookp2-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.gh-docarch2-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 268px)); justify-content: center; }
	.gh-faqp2-help { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
	.gh-faqp2-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) { .gh-faqp2-jump, .gh-docarch2-mosaic { margin-top: 24px; } }
@media (max-width: 639px) { .gh-docarch2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .gh-docarch2-card:only-child { grid-column: 1 / -1; justify-self: center; width: 100%; max-width: 280px; } .gh-docarch2-body { padding: 14px 12px; } .gh-docarch2-name { font-size: 16px !important; } }

/* pass 90: hero images instead of white panels - FAQ topic strip and Emergency number row */
.gh-faqp2-strip { background: #fff; border-bottom: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 6px 16px rgba(74,21,23,0.05); }
.gh-faqp2-strip .gh-container { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding-top: 14px; padding-bottom: 14px; }
.gh-faqp2-striplabel { flex: none; font-size: 12.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #C98A2E; }
.gh-faqp2-strip ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-faqp2-strip a { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 8px 14px; border-radius: 999px; background: #FDFAF6; border: 1px solid #EADFD2; color: #892728; font-size: 14px; font-weight: 700; text-decoration: none; }
.gh-faqp2-strip a:hover { border-color: #EE7D05; }
.gh-faqp2-strip a .gh-ico { flex: none; color: #EE7D05; }
.gh-faqp2-strip em { font-style: normal; font-size: 12px; font-weight: 800; color: #C98A2E; background: #FBF1E6; border-radius: 999px; padding: 1px 7px; }
.gh-emgp2-nums { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.gh-emgp2-numsec .gh-emgp2-num { padding: 20px 22px; }
.gh-emgp2-numsec .gh-emgp2-numval { font-size: 28px; }
@media (min-width: 900px) { .gh-emgp2-nums { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) { .gh-emgp2 .gh-hub-collage { display: none; } }
@media (max-width: 639px) { /* pass 91: FAQ topic strip - label on its own line, four topics in a 2 x 2 grid, no sideways scrolling */
	.gh-faqp2-striplabel { width: 100%; }
	.gh-faqp2-strip ul { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gh-faqp2-strip a { width: 100%; height: 100%; box-sizing: border-box; white-space: normal; align-items: center; padding: 10px 12px; border-radius: 14px; font-size: 13.5px; line-height: 1.3; }
	.gh-faqp2-strip a span { flex: 1; }
} /* phones: emergency numbers straight after the hero */

/* ---------- BLOG v2 (pass 48, 48b, 48c, 48d, 49b): health & wellness resource centre - hub, topic archives, search, single article ---------- */
.gh-blogp, .gh-postp { --gh-blog-ink: #2a1d1a; --gh-blog-body: #3a302c; --gh-blog-soft: #FBF1E6; }
.gh-blog-h2 { margin: 0 0 18px; font-size: clamp(22px, 2.6vw, 28px); font-weight: 800; line-height: 1.25; color: var(--gh-blog-ink); }
.gh-blog-section, .gh-docp .gh-container.gh-blog-section { margin: 6px auto 44px; }
.gh-blog-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 20px; margin-bottom: 4px; }
.gh-blog-section-head .gh-blog-h2 { margin-bottom: 14px; }
.gh-blog-more { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--gh-docp-maroon); text-decoration: none; transition: color 0.2s ease, gap 0.2s ease; }
.gh-blog-more:hover { color: var(--gh-deep); gap: 9px; }
.gh-blog-more:focus-visible, .gh-blog-cat:focus-visible, .gh-blog-chips a:focus-visible, .gh-blog-topics a:focus-visible, .gh-blog-title a:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; border-radius: 6px; }
.gh-blog-cat { display: inline-block; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--gh-blog-soft); border: 1px solid rgba(238,125,5,0.32); color: var(--gh-docp-maroon); font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; }
.gh-blog-cat:hover { background: var(--gh-primary-dark); border-color: var(--gh-primary-dark); color: #fff; }
.gh-blog-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; font-size: 13px; color: var(--gh-docp-muted); }

/* hero */
.gh-blog-hero, .gh-docp .gh-container.gh-blog-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: center; padding: 6px 20px 22px; }
.gh-blog-h1 { margin: 12px 0 10px; font-size: clamp(30px, 4.4vw, 46px); font-weight: 800; line-height: 1.15; color: var(--gh-blog-ink); }
.gh-blog-lead { margin: 0 0 18px; max-width: 560px; font-size: 16.5px; line-height: 1.65; color: var(--gh-blog-body); }
.gh-blog-hero-note { margin: 10px 0 0; font-size: 12.5px; color: var(--gh-docp-muted); }
.gh-blog-hero-media { margin: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 16px 36px rgba(74,21,23,0.16); background: var(--gh-blog-soft); }
.gh-blog-hero-media img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 900px) { .gh-blog-hero, .gh-docp .gh-container.gh-blog-hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 40px; padding: 10px 20px 30px; } .gh-blog-hero-media img { aspect-ratio: 4 / 3; } }

/* search */
.gh-blog-search { position: relative; display: flex; align-items: stretch; max-width: 560px; background: #fff; border: 1.5px solid var(--gh-docp-border); border-radius: 14px; box-shadow: 0 2px 8px rgba(74,21,23,0.05); overflow: hidden; }
.gh-blog-search:focus-within { border-color: var(--gh-gold); box-shadow: 0 0 0 3px rgba(238,125,5,0.18); }
.gh-blog-search-icon { display: grid; place-items: center; padding: 0 0 0 14px; color: var(--gh-docp-maroon); }
.gh-blog-search input { flex: 1 1 auto; min-width: 0; min-height: 50px; padding: 0 12px; border: 0; background: transparent; font: inherit; font-size: 15.5px; color: var(--gh-blog-ink); }
.gh-blog-search input::placeholder { color: #9a8f88; }
.gh-blog-search input:focus { outline: none; }
.gh-blog-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.gh-blog-search button { flex: 0 0 auto; margin: 5px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--gh-orange); color: #fff; font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; transition: background 0.2s ease; }
.gh-blog-search button:hover { background: #BE6404; }
.gh-blog-search button:focus-visible { outline: 3px solid #FFC27A; outline-offset: 1px; }
.gh-docarch-head .gh-blog-search { margin: 18px auto 0; }

/* topic navigation */
.gh-blog-topics { margin: 0 -20px 26px; padding: 0 20px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.gh-blog-topics::-webkit-scrollbar { display: none; }
.gh-blog-topics ul { display: flex; gap: 8px; margin: 0; padding: 4px 0 8px; list-style: none; width: max-content; min-width: 100%; }
.gh-blog-topics a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 15px; border-radius: 999px; background: #fff; border: 1px solid var(--gh-docp-border); color: var(--gh-docp-maroon); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.gh-blog-topics a:hover { border-color: var(--gh-gold); background: var(--gh-blog-soft); }
.gh-blog-topics a[aria-current="page"] { background: var(--gh-docp-maroon); border-color: var(--gh-docp-maroon); color: #fff; }
.gh-blog-topics-n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--gh-blog-soft); color: var(--gh-docp-maroon); font-size: 11.5px; }
.gh-blog-topics a[aria-current="page"] .gh-blog-topics-n { background: rgba(255,255,255,0.2); color: #fff; }
@media (min-width: 900px) { .gh-blog-topics { margin: 0 0 30px; padding: 0; overflow: visible; } .gh-blog-topics ul { flex-wrap: wrap; width: auto; } }
.gh-blog-topic-pages { margin: -10px 0 22px; font-size: 14px; color: var(--gh-docp-muted); text-align: center; }
.gh-blog-topic-pages a { color: var(--gh-docp-maroon); font-weight: 700; text-decoration: none; }
.gh-blog-topic-pages a:hover { text-decoration: underline; }

/* explore topics */
.gh-blog-topic-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.gh-blog-topic-card { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 20px; background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 18px; box-shadow: 0 2px 8px rgba(74,21,23,0.05); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.gh-blog-topic-card:hover { transform: translateY(-4px); border-color: rgba(238,125,5,0.45); box-shadow: 0 16px 32px rgba(74,21,23,0.12); }
.gh-blog-topic-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--gh-blog-soft); color: var(--gh-docp-maroon); }
.gh-blog-topic-title { margin: 4px 0 0; font-size: 18px; font-weight: 800; line-height: 1.3; }
.gh-blog-topic-title a { color: var(--gh-blog-ink); text-decoration: none; } .gh-blog-topic-title a:hover { color: var(--gh-docp-maroon); }
.gh-blog-topic-desc { margin: 0; font-size: 14px; line-height: 1.6; color: var(--gh-blog-body); flex: 1 1 auto; }
.gh-blog-topic-links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 2px 0 6px; padding: 0; list-style: none; }
.gh-blog-topic-links a { font-size: 13px; font-weight: 700; color: var(--gh-docp-maroon); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(137,39,40,0.35); }
.gh-blog-topic-links a:hover { color: var(--gh-deep); }
@media (min-width: 640px) { .gh-blog-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-blog-topic-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } .gh-blog-topic-card:nth-child(4), .gh-blog-topic-card:nth-child(5) { grid-column: span 1; } }
@media (min-width: 1200px) { .gh-blog-topic-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; } .gh-blog-topic-card { padding: 20px 18px 18px; } }

/* featured guide */
.gh-blog-featured { display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 22px; overflow: hidden; box-shadow: 0 10px 28px rgba(74,21,23,0.10); border-left: 6px solid var(--gh-gold); }
.gh-blog-featured-media { display: block; background: var(--gh-blog-soft); }
.gh-blog-featured-media img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.gh-blog-featured-body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px 22px 26px; }
.gh-blog-featured-title { margin: 0; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; line-height: 1.25; }
.gh-blog-featured-title a { color: var(--gh-blog-ink); text-decoration: none; } .gh-blog-featured-title a:hover { color: var(--gh-docp-maroon); }
.gh-blog-featured-excerpt { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--gh-blog-body); }
.gh-blog-featured-btn { margin-top: 4px; }
@media (min-width: 900px) { .gh-blog-featured { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); } .gh-blog-featured-media img { aspect-ratio: auto; min-height: 100%; } .gh-blog-featured-body { padding: 34px 36px; justify-content: center; } }

/* article cards */
.gh-blog-grid { list-style: none; margin: 0 0 26px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-blog-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 18px; overflow: hidden; box-shadow: 0 2px 8px rgba(74,21,23,0.05); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
.gh-blog-card:hover { transform: translateY(-4px); border-color: rgba(238,125,5,0.45); box-shadow: 0 16px 32px rgba(74,21,23,0.12); }
.gh-blog-thumb { display: block; aspect-ratio: 16 / 9; background: var(--gh-blog-soft); overflow: hidden; }
.gh-blog-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.gh-blog-card:hover .gh-blog-thumb img { transform: scale(1.04); }
.gh-blog-noimg { display: grid; place-items: center; height: 100%; color: var(--gh-docp-maroon); }
.gh-blog-body { display: flex; flex-direction: column; gap: 9px; padding: 18px 20px 20px; flex: 1 1 auto; }
.gh-blog-title { margin: 0; font-size: 18px; line-height: 1.35; font-weight: 800; }
.gh-blog-title a { color: var(--gh-blog-ink); text-decoration: none; } .gh-blog-title a:hover { color: var(--gh-docp-maroon); }
.gh-blog-excerpt { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--gh-blog-body); flex: 1 1 auto; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gh-blog-body .gh-blog-more { margin-top: 2px; }
@media (min-width: 640px) { .gh-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }

/* pagination */
.gh-blog-pagination { margin: 0 0 10px; display: flex; justify-content: center; }
.gh-blogp .screen-reader-text, .gh-postp .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.gh-blog-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.gh-blog-pagination .page-numbers { display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border-radius: 10px; background: #fff; border: 1px solid var(--gh-docp-border); color: var(--gh-docp-maroon); font-weight: 700; text-decoration: none; }
.gh-blog-pagination .page-numbers.current, .gh-blog-pagination a.page-numbers:hover { background: var(--gh-docp-maroon); border-color: var(--gh-docp-maroon); color: #fff; }
.gh-blog-pagination .page-numbers.dots { border: 0; background: transparent; }

/* patient guides */
.gh-blog-guides { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.gh-blog-guide { display: flex; gap: 14px; padding: 18px 18px 16px; background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 16px; box-shadow: 0 2px 8px rgba(74,21,23,0.05); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.gh-blog-guide:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(74,21,23,0.10); }
.gh-blog-guide-icon { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--gh-blog-soft); color: var(--gh-docp-maroon); }
.gh-blog-guide-title { margin: 4px 0 6px; font-size: 16.5px; font-weight: 800; line-height: 1.3; }
.gh-blog-guide-title a { color: var(--gh-blog-ink); text-decoration: none; } .gh-blog-guide-title a:hover { color: var(--gh-docp-maroon); }
.gh-blog-guide-excerpt { margin: 0 0 8px; font-size: 14px; line-height: 1.6; color: var(--gh-blog-body); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 768px) { .gh-blog-guides { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }

/* popular topic chips */
.gh-blog-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.gh-blog-chips a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--gh-docp-border); color: var(--gh-docp-maroon); font-size: 14px; font-weight: 700; text-decoration: none; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.gh-blog-chips a:hover { background: var(--gh-primary-dark); border-color: var(--gh-primary-dark); color: #fff; }

/* specialists on the hub */
.gh-blog-docs { margin-bottom: 0; }
@media (min-width: 1024px) { .gh-blog-docs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* help band, disclaimer, emergency */
.gh-blog-help { display: grid; gap: 18px; margin: 12px 0 0; padding: 28px 24px; border-radius: 22px; background: var(--gh-docp-maroon); color: #fff; box-shadow: 0 14px 34px rgba(74,21,23,0.22); }
.gh-blog-help .gh-blog-h2 { margin: 0 0 6px; }
.gh-blog-help .gh-heading-black { color: #fff; }
.gh-blog-help p { margin: 0; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,0.86); }
.gh-blog-help .gh-docp-actions { justify-content: flex-start; }
.gh-blog-help .gh-docp-btn-call { background: #fff; color: var(--gh-docp-maroon); }
@media (min-width: 900px) { .gh-blog-help { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 32px 36px; } }
.gh-blog-foot { margin-top: 26px; }
.gh-blogp .gh-docp-disclaimer, .gh-postp .gh-docp-disclaimer { margin-top: 0; }
.gh-blog-empty { padding: 24px; background: #fff; border: 1px dashed var(--gh-docp-border); border-radius: 16px; text-align: center; }
.gh-blog-empty .gh-docp-note { margin: 0 0 14px; font-size: 14.5px; }
.gh-blog-empty .gh-blog-chips { justify-content: center; }

/* ===== single article ===== */
.gh-post { padding-bottom: 20px; }
.gh-post-head { text-align: center; max-width: 860px; margin: 4px auto 24px; }
.gh-post-head .gh-blog-cat { margin-bottom: 4px; }
.gh-post-title { margin: 12px 0 14px; font-size: clamp(27px, 3.8vw, 42px); font-weight: 800; line-height: 1.18; color: var(--gh-blog-ink); }
.gh-post-intro { max-width: 720px; margin: 0 auto 20px; font-size: 16.5px; line-height: 1.65; color: var(--gh-blog-body); }
.gh-post-byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 16px; padding: 14px 18px; background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 14px; text-align: left; }
.gh-post-by-logo { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--gh-blog-soft); color: var(--gh-docp-maroon); flex: 0 0 auto; }
.gh-post-by-name { display: block; font-size: 14.5px; font-weight: 800; color: var(--gh-docp-maroon); }
.gh-post-by-role { display: block; font-size: 12.5px; color: var(--gh-docp-muted); }
.gh-post-byline .gh-post-meta { margin: 0; justify-content: center; width: 100%; }
.gh-post-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; font-size: 13.5px; color: var(--gh-docp-muted); }
.gh-post-meta-k { font-weight: 700; color: var(--gh-blog-body); }
@media (min-width: 640px) { .gh-post-byline { justify-content: space-between; } .gh-post-byline .gh-post-meta { width: auto; margin-left: auto; } }
.gh-post-hero { margin: 0 auto 28px; max-width: 1040px; border-radius: 20px; overflow: hidden; box-shadow: 0 14px 34px rgba(74,21,23,0.14); background: var(--gh-blog-soft); }
.gh-post-hero img { display: block; width: 100%; height: auto; }
.gh-post-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.gh-post-main { display: grid; gap: 22px; min-width: 0; }
.gh-post-content { background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 18px; padding: 26px 22px; font-size: 16.5px; line-height: 1.78; color: var(--gh-blog-body); overflow-wrap: anywhere; }
.gh-post-content p { margin: 0 0 16px; }
.gh-post-content h2 { margin: 32px 0 12px; padding-top: 6px; font-size: 22px; font-weight: 800; line-height: 1.3; color: var(--gh-docp-maroon); scroll-margin-top: 90px; }
.gh-post-content h3 { margin: 22px 0 8px; font-size: 17.5px; font-weight: 800; color: var(--gh-blog-ink); }
.gh-post-content > :first-child { margin-top: 0; }
.gh-post-content ul, .gh-post-content ol { margin: 0 0 16px; padding-left: 22px; }
.gh-post-content li { margin-bottom: 7px; }
.gh-post-content a { color: var(--gh-docp-maroon); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(137,39,40,0.4); }
.gh-post-content a:hover { color: var(--gh-deep); }
.gh-post-content strong { color: var(--gh-blog-ink); }
.gh-post-content img { max-width: 100%; height: auto; border-radius: 12px; }
.gh-post-content table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; display: block; overflow-x: auto; }
.gh-post-content th, .gh-post-content td { padding: 10px 12px; border: 1px solid var(--gh-docp-border); text-align: left; vertical-align: top; }
.gh-post-content th { background: var(--gh-blog-soft); color: var(--gh-docp-maroon); }
/* boxes */
.gh-post-box { padding: 20px 22px; background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 18px; box-shadow: 0 2px 8px rgba(74,21,23,0.05); }
.gh-post-box-h { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 18px; font-weight: 800; line-height: 1.3; color: var(--gh-docp-maroon); }
.gh-post-box-h .gh-icon { color: var(--gh-gold); flex: 0 0 auto; }
.gh-post-box ul { margin: 0; padding-left: 22px; font-size: 15.5px; line-height: 1.65; color: var(--gh-blog-body); }
.gh-post-box li { margin-bottom: 8px; } .gh-post-box li:last-child { margin-bottom: 0; }
.gh-post-box-note { margin: -4px 0 12px; font-size: 14px; line-height: 1.6; color: var(--gh-docp-muted); }
.gh-post-takeaways { background: linear-gradient(180deg, #FFF8EF 0%, #fff 100%); border-color: rgba(238,125,5,0.4); border-left: 5px solid var(--gh-gold); }
.gh-post-takeaways li::marker { color: var(--gh-gold); font-weight: 800; }
.gh-post-see { border-left: 5px solid var(--gh-docp-maroon); }
.gh-post-see .gh-docp-btn { margin-top: 16px; }
.gh-post-glance dl { display: grid; gap: 10px; margin: 0; }
.gh-post-glance dl > div { display: grid; gap: 3px; padding: 10px 0 0; border-top: 1px solid var(--gh-docp-border); }
.gh-post-glance dl > div:first-child { padding-top: 0; border-top: 0; }
.gh-post-glance dt { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gh-gold); }
.gh-post-glance dd { margin: 0; font-size: 15px; line-height: 1.6; color: var(--gh-blog-body); }
@media (min-width: 640px) { .gh-post-glance dl > div { grid-template-columns: 180px minmax(0, 1fr); gap: 14px; align-items: start; } .gh-post-glance dt { padding-top: 3px; } }
.gh-post-links { display: grid; gap: 22px; }
.gh-post-linkbox ul { list-style: none; padding: 0; display: grid; gap: 6px; }
.gh-post-linkbox li { margin: 0; }
.gh-post-linkbox a { display: inline-flex; align-items: center; gap: 4px; padding: 6px 0; font-size: 15px; font-weight: 700; color: var(--gh-docp-maroon); text-decoration: none; border-bottom: 1px solid transparent; }
.gh-post-linkbox a:hover { color: var(--gh-deep); }
.gh-post-linkbox .gh-icon { flex: 0 0 auto; opacity: 0.6; }
@media (min-width: 700px) { .gh-post-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* table of contents */
.gh-post-toc details { background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 16px; padding: 4px 18px; }
.gh-post-toc summary { display: flex; align-items: center; gap: 10px; padding: 12px 0; list-style: none; cursor: pointer; font-size: 16px; font-weight: 800; color: var(--gh-docp-maroon); }
.gh-post-toc summary::-webkit-details-marker { display: none; }
.gh-post-toc summary .gh-icon-chevron-down { margin-left: auto; transition: transform 0.25s ease; }
.gh-post-toc details[open] summary .gh-icon-chevron-down { transform: rotate(180deg); }
.gh-post-toc summary:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; border-radius: 8px; }
.gh-post-toc ul { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 2px; font-size: 14.5px; line-height: 1.5; }
.gh-post-toc li { position: relative; padding-left: 16px; }
.gh-post-toc li::before { content: ''; position: absolute; left: 0; top: 13px; width: 8px; height: 2px; border-radius: 2px; background: var(--gh-gold); }
.gh-post-toc a { display: inline-block; padding: 4px 0; color: var(--gh-blog-body); font-weight: 600; text-decoration: none; }
.gh-post-toc a:hover { color: var(--gh-docp-maroon); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 700px) { .gh-post-toc ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; } }
/* FAQ accordion */
.gh-post-faq .gh-blog-h2 { margin-bottom: 14px; }
.gh-post-faq-list { display: grid; gap: 10px; }
.gh-post-faq-item { background: #fff; border: 1px solid var(--gh-docp-border); border-radius: 14px; overflow: hidden; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.gh-post-faq-item[open] { border-color: rgba(238,125,5,0.45); box-shadow: 0 8px 20px rgba(74,21,23,0.08); }
.gh-post-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 18px; list-style: none; cursor: pointer; font-size: 16px; font-weight: 800; line-height: 1.4; color: var(--gh-blog-ink); }
.gh-post-faq-item summary::-webkit-details-marker { display: none; }
.gh-post-faq-item summary:hover { color: var(--gh-docp-maroon); }
.gh-post-faq-item summary:focus-visible { outline: 3px solid #FFC27A; outline-offset: -3px; border-radius: 12px; }
.gh-post-faq-item summary .gh-icon { flex: 0 0 auto; color: var(--gh-gold); transition: transform 0.25s ease; }
.gh-post-faq-item[open] summary .gh-icon { transform: rotate(180deg); }
.gh-post-faq-a { padding: 0 18px 16px; font-size: 15.5px; line-height: 1.7; color: var(--gh-blog-body); animation: gh-faq-in 0.25s ease; }
.gh-post-faq-a p { margin: 0; }
@keyframes gh-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* sidebar */
.gh-post-side { display: grid; gap: 20px; min-width: 0; }
.gh-post-side .gh-docp-card + .gh-docp-card { margin-top: 0; }
.gh-post-side .gh-docp-actions { justify-content: flex-start; }
.gh-post-side .gh-docp-btn { width: 100%; justify-content: center; box-sizing: border-box; }
.gh-post-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 14px 18px; }
.gh-post-share-label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gh-docp-maroon); }
.gh-post-share ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gh-post-share a, .gh-post-copy { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gh-blog-soft); border: 1px solid transparent; color: var(--gh-docp-maroon); cursor: pointer; text-decoration: none; transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; font: inherit; padding: 0; }
.gh-post-share a:hover, .gh-post-copy:hover { background: var(--gh-docp-maroon); color: #fff; transform: translateY(-2px); }
.gh-post-share a:focus-visible, .gh-post-copy:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
.gh-post-copy { position: relative; }
.gh-post-copy.is-done { background: #1f8a4c; color: #fff; }
.gh-post-copy-msg { position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); padding: 4px 8px; border-radius: 6px; background: var(--gh-blog-ink); color: #fff; font-size: 12px; white-space: nowrap; pointer-events: none; }
.gh-post-copy-msg:empty { display: none; }
.gh-post-spec-list { display: grid; gap: 10px; margin: 14px 0 16px; padding: 0; list-style: none; }
.gh-post-spec { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--gh-docp-border); border-radius: 14px; background: #FAF6F0; text-decoration: none; transition: border-color 0.2s ease, transform 0.2s ease; }
.gh-post-spec:hover { border-color: rgba(238,125,5,0.5); transform: translateY(-2px); }
.gh-post-spec-photo img, .gh-post-spec-photo .gh-docp-peer-noimg { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: top; display: grid; place-items: center; background: var(--gh-blog-soft); color: var(--gh-docp-maroon); flex: 0 0 auto; }
.gh-post-spec-text { display: grid; gap: 1px; min-width: 0; }
.gh-post-spec-name { font-size: 15px; font-weight: 800; color: var(--gh-docp-maroon); }
.gh-post-spec-role { font-size: 12.5px; line-height: 1.4; color: var(--gh-docp-muted); }
.gh-post-spec-more { font-size: 12.5px; font-weight: 700; color: var(--gh-gold); }
.gh-post-specialists .gh-docp-note { margin-top: 0; }
.gh-post-related { margin-top: 34px; margin-bottom: 10px; }
.gh-postp .gh-blog-foot { margin-top: 10px; }
@media (min-width: 1024px) { .gh-post-layout { grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr); gap: 28px; } .gh-post-content { padding: 34px 38px; } .gh-post-side { max-height: calc(100vh - var(--gh-side-top, 16px) - 16px); overflow-y: auto; scrollbar-width: thin; padding-right: 2px; will-change: transform; } }
@media (prefers-reduced-motion: reduce) { .gh-blog-card, .gh-blog-topic-card, .gh-blog-guide, .gh-post-spec, .gh-blog-more, .gh-post-share a, .gh-post-copy, .gh-blog-thumb img, .gh-post-faq-item summary .gh-icon, .gh-post-toc summary .gh-icon-chevron-down { transition: none; } .gh-blog-card:hover, .gh-blog-topic-card:hover, .gh-blog-guide:hover, .gh-post-spec:hover { transform: none; } .gh-blog-card:hover .gh-blog-thumb img { transform: none; } .gh-post-faq-a { animation: none; } }
/* main navigation: keep the 10 items on one row (Blog added a 10th) */
@media (min-width: 1100px) { .site-nav-list { gap: 12px; } .site-nav-list > li > a, .site-nav-list > li > .site-mega-trigger { font-size: 14px; white-space: nowrap; }
}
@media (min-width: 1100px) { .site-nav-list { flex-wrap: nowrap; } }
@media (min-width: 1100px) and (max-width: 1279px) { .site-nav-list { gap: 9px; } .site-nav-list > li > a, .site-nav-list > li > .site-mega-trigger { font-size: 13px; }
}

/* ---------- BLOG v3 (pass 94): blog hub, topic pages and articles in the hub style - orange split hero with the featured article
   as a photo card, topic filter strip, photo-first article cards with the topic on the photo, cream/white bands, portrait doctor
   cards, help band with Book an Appointment / Contact Us; articles get a cream header band, wider reading type and the contents
   list in the sidebar on desktop. ---------- */
.gh-blog3 .gh-hub-hero .gh-blog-search { margin-top: 22px; border: 0; box-shadow: 0 14px 30px rgba(94,23,25,0.22); }
.gh-blog3 .gh-hub-hero .gh-blog-search button { background: var(--gh-deep, #5E1719); }
.gh-blog3 .gh-hub-hero .gh-blog-search button:hover { background: var(--gh-primary, #892728); }
.gh-blog3-searchnote { margin: 9px 0 0; font-size: 13px; color: #fff; opacity: 0.92; text-shadow: 0 1px 2px rgba(94,23,25,0.3); }
.gh-blog3-feat { position: relative; display: flex; min-height: 340px; border: 6px solid #fff; border-radius: 26px; overflow: hidden; background: var(--gh-deep, #5E1719); box-shadow: 0 26px 52px rgba(94,23,25,0.32); }
.gh-blog3-featimg { position: absolute; inset: 0; display: block; }
.gh-blog3-featimg img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.gh-blog3-featimg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,10,10,0) 30%, rgba(30,10,10,0.55) 58%, rgba(30,10,10,0.9) 100%); }
.gh-blog3-feat:hover .gh-blog3-featimg img { transform: scale(1.04); }
.gh-blog3-featbody { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 10px; width: 100%; padding: 26px 26px 24px; color: #fff; }
.gh-blog3-featlabel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.gh-blog3-featlabel > span { font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #FFC27A; }
.gh-blog3-featlabel .gh-blog-cat { background: rgba(255,255,255,0.95); border-color: transparent; }
.gh-blog3-feattitle { margin: 0; font-size: clamp(21px, 2.3vw, 27px); line-height: 1.25; font-weight: 800; }
.gh-blog3-feattitle a { color: #fff; text-decoration: none; text-shadow: 0 1px 8px rgba(0,0,0,0.35); }
.gh-blog3-feattitle a:hover { color: #FFE2BF; }
.gh-blog3-feat .gh-blog-meta { color: rgba(255,255,255,0.88); }
.gh-blog3-featbtn { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 11px 18px; border-radius: 12px; background: #fff; color: var(--gh-deep, #5E1719); font-size: 14.5px; font-weight: 800; text-decoration: none; transition: transform 0.18s ease, gap 0.18s ease; }
.gh-blog3-featbtn:hover { gap: 11px; color: var(--gh-primary, #892728); }
.gh-blog3-featbtn:focus-visible, .gh-blog3-feattitle a:focus-visible { outline: 3px solid #FFC27A; outline-offset: 3px; border-radius: 8px; }
@media (min-width: 900px) { .gh-blog3-feat { min-height: 430px; } }
/* topic filter strip */
.gh-blog3-strip { background: #fff; border-bottom: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 6px 16px rgba(74,21,23,0.05); }
.gh-blog3-strip .gh-container { padding-top: 14px; padding-bottom: 12px; }
.gh-blog3-strip .gh-blog-topics { margin-bottom: 0; }
.gh-blog3-strip .gh-blog-topics ul { padding: 2px 0 4px; }
.gh-blog3-strip .gh-blog-topics a { background: #FDFAF6; border-color: #EADFD2; }
.gh-blog3-strip .gh-blog-topics a:hover { border-color: var(--gh-orange, #EE7D05); background: #fff; }
.gh-blog3-strip .gh-blog-topics a[aria-current="page"] { background: var(--gh-orange, #EE7D05); border-color: var(--gh-orange, #EE7D05); color: #fff; }
.gh-blog3-strip .gh-blog-topic-pages { margin: 8px 0 2px; text-align: left; }
@media (min-width: 900px) { .gh-blog3-strip .gh-blog-topics { margin: 0; } }
.gh-blog3 .gh-hub-h2 { margin-bottom: 20px; }
.gh-blog3-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; }
.gh-blog3-head .gh-blog-more { margin-bottom: 20px; }
/* article cards (hub, topics, search, related) */
.gh-blog-card { border: 0; border-radius: 20px; box-shadow: 0 10px 26px rgba(74,21,23,0.08); }
.gh-blog-card:hover { box-shadow: 0 20px 40px rgba(74,21,23,0.14); }
.gh-blog-thumbwrap { position: relative; }
.gh-blog-thumb { aspect-ratio: 16 / 10; }
.gh-blog-cat-onimg { position: absolute; left: 14px; top: 14px; z-index: 1; background: rgba(255,255,255,0.96); border-color: transparent; box-shadow: 0 4px 12px rgba(30,10,10,0.18); }
.gh-blog-body { gap: 10px; padding: 18px 20px 18px; }
.gh-blog-title { font-size: 18.5px; }
.gh-blog-excerpt { flex: 0 0 auto; max-height: calc(1.65em * 3); }
.gh-blog-cardfoot { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid #F0E6DA; }
.gh-blog-cardfoot .gh-blog-meta { font-size: 12.5px; }
.gh-blog-body .gh-blog-cardfoot .gh-blog-more { margin-top: 0; }
.gh-hub-sec-white .gh-blog-card { box-shadow: 0 2px 4px rgba(74,21,23,0.04), 0 12px 28px rgba(74,21,23,0.08); border: 1px solid #F0E6DA; }
/* patient guides */
.gh-blog3-guides { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.gh-blog3-guide { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 14px; align-items: start; padding: 12px; background: #FDFAF6; border: 1px solid #EFE4D7; border-radius: 18px; transition: border-color 0.2s ease, transform 0.2s ease; }
.gh-blog3-guide:hover { border-color: rgba(238,125,5,0.5); transform: translateY(-2px); }
.gh-blog3-guideimg { display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 13px; overflow: hidden; background: #FBF1E6; color: var(--gh-docp-maroon); }
.gh-blog3-guideimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gh-blog3-guide .gh-blog-guide-title { margin: 2px 0 6px; }
@media (min-width: 900px) { .gh-blog3-guides { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } }
/* topics + popular chips on the bands */
.gh-blog3 .gh-blog-topic-card { border-radius: 20px; }
.gh-hub-sec-white .gh-blog-chips a { background: #FDFAF6; border-color: #EADFD2; }
/* specialists */
.gh-blog3-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.gh-blog3-doc a { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 20px; overflow: hidden; text-decoration: none; box-shadow: 0 10px 26px rgba(74,21,23,0.08); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.gh-blog3-doc a:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(74,21,23,0.14); }
.gh-blog3-docphoto { display: block; aspect-ratio: 1 / 1; background: linear-gradient(160deg, #ece3d9, #d8c9bd); overflow: hidden; }
.gh-blog3-docphoto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; }
.gh-blog3-docmono { display: grid !important; place-items: center; width: 100%; height: 100%; background: var(--gh-docp-maroon, #892728); color: #fff; font-size: 40px; font-weight: 800; text-decoration: none; }
.gh-blog3-doctext { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; flex: 1 1 auto; }
.gh-blog3-doctext strong { font-size: 16px; line-height: 1.3; color: var(--gh-docp-maroon, #892728); }
.gh-blog3-doctext span { font-size: 13px; line-height: 1.45; color: var(--gh-docp-muted, #6B5F5A); flex: 1 1 auto; }
.gh-blog3-doctext em { margin-top: 6px; font-style: normal; font-size: 13px; font-weight: 800; color: var(--gh-orange, #EE7D05); }
@media (min-width: 1024px) { .gh-blog3-docs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
/* help band (hub, topics, articles) */
.gh-blog3 .gh-blog-help, .gh-post3 .gh-blog-help { grid-template-columns: minmax(0, 1fr); margin: 0; padding: 30px 26px; background: radial-gradient(620px 300px at 100% 0%, rgba(238,125,5,0.35), transparent 70%), var(--gh-docp-maroon, #892728); }
.gh-blog3 .gh-blog-help .gh-docp-actions, .gh-post3 .gh-blog-help .gh-docp-actions { gap: 10px; }
@media (min-width: 900px) { .gh-blog3 .gh-blog-help, .gh-post3 .gh-blog-help { padding: 34px 38px; } }
.gh-blog3-helpsec .gh-blog-foot { margin-top: 22px; }
/* topic page hero */
.gh-blog3-tophero.gh-hub-hero .gh-hub-hero-grid { padding-top: 30px; padding-bottom: 34px; }
.gh-blog3-topimg { margin: 0; border: 6px solid #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 48px rgba(94,23,25,0.3); aspect-ratio: 16 / 10; background: #FBF1E6; }
.gh-blog3-topimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 899px) { .gh-blog3-topimg { display: none; } }
/* article */
.gh-post3-band { background: linear-gradient(180deg, #FAF6F0 0%, #FDFBF8 100%); border-bottom: 1px solid var(--gh-line, #E6DACB); padding: 6px 0 34px; }
.gh-post3 .gh-post-head { margin-bottom: 26px; }
.gh-post-title-sep { color: var(--gh-orange, #EE7D05); }
.gh-post3 .gh-post-hero { margin-bottom: 0; }
.gh-post3 .gh-post-hero img { max-height: 500px; object-fit: cover; }
.gh-post3 .gh-post-layout { margin-top: 34px; }
.gh-post3 .gh-post-content { font-size: 17.5px; line-height: 1.82; color: #2f2623; border: 0; box-shadow: 0 10px 28px rgba(74,21,23,0.06); }
.gh-post3 .gh-post-content p { margin-bottom: 18px; }
.gh-post3 .gh-post-content h2 { position: relative; margin: 38px 0 14px; padding: 0 0 0 16px; font-size: 23.5px; }
.gh-post3 .gh-post-content h2::before { content: ""; position: absolute; left: 0; top: 0.2em; bottom: 0.2em; width: 5px; border-radius: 3px; background: linear-gradient(180deg, var(--gh-orange, #EE7D05), var(--gh-primary, #892728)); }
.gh-post3 .gh-post-content h3 { font-size: 18.5px; margin-top: 26px; }
.gh-post3 .gh-post-content li::marker { color: var(--gh-orange, #EE7D05); }
.gh-post3 .gh-post-content li { margin-bottom: 9px; }
.gh-post3 .gh-post-box { border-radius: 20px; }
.gh-post3 .gh-post-toc-side { display: none; }
.gh-post3 .gh-post-toc-side ul { grid-template-columns: minmax(0, 1fr); }
.gh-post3 .gh-post-toc-side details { padding: 4px 18px; }
.gh-docp .gh-container.gh-post3-help { padding-top: 44px; }
.gh-post3 .gh-post-related { margin-top: 44px; }
@media (min-width: 1024px) {
	.gh-post3 .gh-post-toc-top { display: none; }
	.gh-post3 .gh-post-toc-side { display: block; }
	.gh-post3 .gh-post-content { padding: 40px 48px; }
}

/* ---------- LEGAL v2 (pass 94): Privacy Policy, Terms of Use, Medical Disclaimer, Appointment Terms, Cookie Policy, Accessibility
   Statement and the Sitemap - light cream header band, readable column, "On this page" (sticky on desktop, collapsible on phones),
   "Other policies" row. Text unchanged. ---------- */
.gh-docp.gh-legal2 { background: #fff; }
.gh-docp.gh-legal2-sitemap { background: #FAF6F0; }
.gh-legal2-band { background: linear-gradient(180deg, #FAF6F0 0%, #FDFAF6 100%); border-bottom: 1px solid var(--gh-line, #E6DACB); }
.gh-legal2 .gh-docp-crumbs { padding-top: 14px; padding-bottom: 6px; }
.gh-docp .gh-container.gh-legal2-head { padding-top: 6px; padding-bottom: 34px; }
.gh-legal2-title { margin: 0; font-size: clamp(30px, 3.8vw, 42px); font-weight: 800; line-height: 1.15; }
.gh-legal2-title .gh-heading-black { color: var(--gh-deep, #5E1719); }
.gh-docp .gh-container.gh-legal2-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; padding-top: 30px; padding-bottom: 48px; }
.gh-legal2-body { max-width: 760px; min-width: 0; font-size: 17px; line-height: 1.8; color: #2f2623; overflow-wrap: anywhere; }
.gh-legal2-body > :first-child { margin-top: 0; }
.gh-legal2-body p { margin: 0 0 16px; font-size: inherit; line-height: inherit; color: inherit; }
.gh-legal2-body > p:first-child:has(> strong:first-child) { display: inline-block; margin-bottom: 22px; padding: 6px 14px; border-radius: 999px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.25); font-size: 14px; line-height: 1.5; color: var(--gh-deep, #5E1719); }
.gh-legal2-body h2 { margin: 36px 0 12px; padding-top: 24px; border-top: 1px solid #EFE5D9; font-size: 21px; font-weight: 800; line-height: 1.3; color: var(--gh-primary, #892728); scroll-margin-top: 110px; }
.gh-legal2-body h3 { margin: 24px 0 8px; font-size: 18px; font-weight: 800; color: var(--gh-deep, #5E1719); }
.gh-legal2-body ul, .gh-legal2-body ol { margin: 0 0 18px; padding-left: 24px; }
.gh-legal2-body li { margin-bottom: 9px; font-size: inherit; line-height: 1.7; color: inherit; }
.gh-legal2-body li::marker { color: var(--gh-orange, #EE7D05); }
.gh-legal2-body a { color: var(--gh-primary, #892728); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(137,39,40,0.45); }
.gh-legal2-body a:hover { color: var(--gh-deep, #5E1719); text-decoration-color: currentColor; }
.gh-legal2-body strong { color: #1f1614; }
.gh-legal2-body code { background: #FAF6F0; padding: 1px 6px; border-radius: 6px; font-size: 0.9em; }
.gh-legal2-toc details { background: #FDFAF6; border: 1px solid #EFE4D7; border-radius: 16px; padding: 4px 18px; }
.gh-legal2-toc summary { display: flex; align-items: center; gap: 10px; padding: 12px 0; list-style: none; cursor: pointer; font-size: 12.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #C98A2E; }
.gh-legal2-toc summary::-webkit-details-marker { display: none; }
.gh-legal2-toc summary .gh-ico, .gh-legal2-toc summary svg { margin-left: auto; transition: transform 0.25s ease; color: var(--gh-primary, #892728); }
.gh-legal2-toc details[open] summary svg { transform: rotate(180deg); }
.gh-legal2-toc summary:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; border-radius: 8px; }
.gh-legal2-toc ul { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 2px; }
.gh-legal2-toc a { display: block; padding: 6px 0 6px 12px; border-left: 2px solid #EADFD2; font-size: 14.5px; font-weight: 600; line-height: 1.4; color: #3a302c; text-decoration: none; }
.gh-legal2-toc a:hover { color: var(--gh-primary, #892728); border-left-color: var(--gh-orange, #EE7D05); }
@media (min-width: 1024px) {
	.gh-docp .gh-container.gh-legal2-wrap { padding-top: 40px; padding-bottom: 60px; }
	.gh-docp.gh-legal2-hastoc .gh-container.gh-legal2-wrap { grid-template-columns: 250px minmax(0, 1fr); gap: 56px; align-items: start; }
	.gh-legal2-toc { will-change: transform; } /* kept in view by the script in inc/gh-legal.php (body overflow-x: hidden stops CSS sticky) */
	.gh-legal2-toc summary { pointer-events: none; }
	.gh-legal2-toc summary svg { display: none; }
	.gh-docp.gh-legal2:not(.gh-legal2-hastoc):not(.gh-legal2-sitemap) .gh-container.gh-legal2-wrap { max-width: 860px; }
}
.gh-legal2-more { background: #FAF6F0; border-top: 1px solid var(--gh-line, #E6DACB); }
.gh-docp .gh-legal2-more .gh-container { padding-top: 28px; padding-bottom: 36px; }
.gh-legal2-more-h { margin: 0 0 14px; font-size: 12.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #C98A2E; }
.gh-legal2-more ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gh-legal2-more a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid #EADFD2; color: var(--gh-primary, #892728); font-size: 14px; font-weight: 700; text-decoration: none; }
.gh-legal2-more a:hover { border-color: var(--gh-orange, #EE7D05); }
.gh-legal2-more a svg { flex: none; color: var(--gh-orange, #EE7D05); }
/* sitemap: groups as white cards in columns */
.gh-legal2-sitemap .gh-legal2-body { max-width: none; font-size: 15px; line-height: 1.6; }
.gh-legal2-sitemap .gh-sitemap-grid { display: block; columns: 300px 3; column-gap: 20px; margin: 0; }
.gh-legal2-sitemap .gh-sitemap-group { break-inside: avoid; margin: 0 0 20px; padding: 18px 20px; background: #fff; border: 1px solid #EFE4D7; border-radius: 18px; box-shadow: 0 6px 18px rgba(74,21,23,0.05); }
.gh-legal2-sitemap .gh-sitemap-group h2 { margin: 0 0 10px; padding: 0; border: 0; font-size: 16.5px; }
.gh-legal2-sitemap .gh-sitemap-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.gh-legal2-sitemap .gh-sitemap-group li { margin: 0; line-height: 1.45; }
.gh-legal2-sitemap .gh-sitemap-group a { display: block; padding: 4px 0; font-weight: 600; color: #3a302c; text-decoration: none; }
.gh-legal2-sitemap .gh-sitemap-group a:hover { color: var(--gh-primary, #892728); text-decoration: underline; text-underline-offset: 3px; }
/* a card left alone on the last row spans the row as a wide card (photo left, text right) - no empty slots */
@media (min-width: 640px) and (max-width: 1023px) {
	.gh-blog-grid > .gh-blog-card:last-child:nth-child(2n+1) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.gh-blog-grid > .gh-blog-card:last-child:nth-child(2n+1) .gh-blog-thumb { height: 100%; aspect-ratio: auto; min-height: 240px; }
	.gh-blog-grid > .gh-blog-card:last-child:nth-child(2n+1) .gh-blog-body { padding: 24px 26px; justify-content: center; }
}
@media (min-width: 1024px) {
	.gh-blog-grid > .gh-blog-card:last-child:nth-child(3n+1) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
	.gh-blog-grid > .gh-blog-card:last-child:nth-child(3n+1) .gh-blog-thumb { height: 100%; aspect-ratio: auto; min-height: 280px; }
	.gh-blog-grid > .gh-blog-card:last-child:nth-child(3n+1) .gh-blog-body { padding: 30px 34px; justify-content: center; }
}

/* ---------- SECOND OPINION v2 (pass 95): /second-opinion/ in the hub style - the three department leads' portraits in the hero,
   "when" cards, four steps, a bring checklist, department photo cards and the shared booking band. ---------- */
.gh-secop2-leads { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: end; }
.gh-secop2-lead { position: relative; display: block; border: 5px solid #fff; border-radius: 22px; overflow: hidden; background: #FBF1E6; box-shadow: 0 22px 44px rgba(94,23,25,0.3); text-decoration: none; aspect-ratio: 4 / 5; transition: transform 0.25s ease; }
.gh-secop2-lead:hover { transform: translateY(-4px); }
.gh-secop2-lead img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; }
.gh-secop2-lead::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,10,10,0) 55%, rgba(30,10,10,0.82) 100%); }
.gh-secop2-leadtxt { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px 12px; color: #fff; }
.gh-secop2-leadtxt strong { font-size: 14.5px; line-height: 1.25; }
.gh-secop2-leadtxt em { font-style: normal; font-size: 11.5px; line-height: 1.3; color: #FFD9B0; }
.gh-secop2-lead-1 { transform: translateY(-18px); }
.gh-secop2-lead-1:hover { transform: translateY(-22px); }
.gh-secop2-lead:focus-visible { outline: 3px solid #FFC27A; outline-offset: 3px; }
@media (max-width: 899px) { .gh-secop2-leads { margin-top: 30px; } .gh-secop2-lead-1, .gh-secop2-lead-1:hover { transform: none; } }
@media (max-width: 479px) { .gh-secop2-leadtxt em { display: none; } .gh-secop2-leadtxt strong { font-size: 12.5px; } .gh-secop2-leads { gap: 8px; } }
/* when */
.gh-secop2-when { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.gh-secop2-when li { display: flex; align-items: flex-start; gap: 14px; padding: 20px; border-radius: 18px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); box-shadow: 0 8px 22px rgba(74,21,23,0.05); }
.gh-secop2-when p { margin: 2px 0 0; font-size: 15.5px; line-height: 1.55; color: #2f2623; font-weight: 600; }
@media (min-width: 640px) { .gh-secop2-when { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-secop2-when { grid-template-columns: repeat(6, minmax(0, 1fr)); } .gh-secop2-when li { grid-column: span 2; } .gh-secop2-when li:nth-child(4) { grid-column: 2 / span 2; } }
/* steps + note */
.gh-secop2-steps h3 { margin: 0; font-size: 17px; font-weight: 800; color: var(--gh-primary, #892728); }
@media (min-width: 1024px) { .gh-infop-steps.gh-secop2-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gh-secop2-note { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0 0; padding: 18px 20px; border-radius: 16px; background: #FBF1E6; border-left: 5px solid var(--gh-orange, #EE7D05); font-size: 15.5px; line-height: 1.65; color: #3a2a26; }
.gh-secop2-note svg { flex: none; margin-top: 2px; color: var(--gh-orange, #EE7D05); }
/* bring */
.gh-secop2-bring { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.gh-secop2-bring li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); font-size: 15px; font-weight: 600; color: #2f2623; line-height: 1.4; }
.gh-secop2-bico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: #FBF1E6; color: var(--gh-primary, #892728); }
@media (min-width: 640px) { .gh-secop2-bring { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .gh-secop2-bring { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
/* departments */
.gh-secop2-depts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.gh-secop2-dept { display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid #F0E6DA; box-shadow: 0 2px 4px rgba(74,21,23,0.04), 0 14px 32px rgba(74,21,23,0.08); }
.gh-secop2-deptimg { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #FBF1E6; }
.gh-secop2-deptimgel { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.gh-secop2-dept:hover .gh-secop2-deptimgel { transform: scale(1.04); }
.gh-secop2-deptbody { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 20px; flex: 1 1 auto; }
.gh-secop2-deptbody h3 { margin: 0; font-size: 19px; line-height: 1.3; font-weight: 800; }
.gh-secop2-deptbody h3 a { color: var(--gh-primary, #892728); text-decoration: none; }
.gh-secop2-deptbody p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #4a3f3b; flex: 1 1 auto; }
.gh-secop2-deptfoot { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-top: 14px; border-top: 1px solid #F0E6DA; }
.gh-secop2-deptlead { display: inline-flex; align-items: center; gap: 10px; }
.gh-secop2-deptlead .gh-hub-docimg, .gh-secop2-deptlead .gh-hub-mono { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; flex: none; }
.gh-secop2-deptlead > span { display: flex; flex-direction: column; line-height: 1.25; }
.gh-secop2-deptlead em { font-style: normal; font-size: 11.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #C98A2E; }
.gh-secop2-deptlead strong { font-size: 14px; color: #2f2623; }
@media (min-width: 900px) { .gh-secop2-depts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }

/* ---------- MENU v2 (pass 96): header that stays at the top (overflow-x: clip instead of hidden, so CSS sticky works), emergency
   numbers in the orange bar, nav with dropdown arrows and an orange underline, card-style dropdowns with icons and doctor
   portraits, and a phone menu with tidy sections and action buttons. Links and their order unchanged (two duplicates removed
   from Patient Information). ---------- */
@supports (overflow-x: clip) { html, body { overflow-x: clip; } }
.site-header { position: sticky; top: calc(-1 * var(--gh-topbar-h, 0px)); z-index: 300; transition: box-shadow 0.25s ease; }
.site-header.is-stuck { box-shadow: 0 10px 28px rgba(74,21,23,0.16); }
/* orange bar */
.site-header-topbar { padding: 0 20px; background: linear-gradient(90deg, #E87102 0%, #EE7D05 55%, #F28A1F 100%); }
.site-header-topbar-inner { max-width: var(--gh-max-width, 1200px); margin: 0 auto; min-height: 40px; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 6px 22px; }
.site-header-topbar .gh-lang { margin-right: 0; }
.site-topbar-emg { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 18px; margin-right: auto; }
.site-topbar-emg-label { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; background: rgba(94,23,25,0.28); color: #fff; font-size: 12.5px; font-weight: 800; letter-spacing: 0.02em; }
.site-header-topbar .site-topbar-emg a { font-size: 13.5px; font-weight: 700; }
.site-header-topbar .site-topbar-emg a [data-gh-notranslate] { font-weight: 800; }
.site-header-topbar a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 4px; }
.site-topbar-emg-m { display: none !important; }
/* logo row */
.site-header-main .site-container { padding-top: 10px; padding-bottom: 10px; }
.site-header-actions .site-btn-primary, .site-phone-pill { border-radius: 12px; padding: 11px 20px; font-weight: 700; box-shadow: 0 6px 14px rgba(74,21,23,0.12); }
/* nav row */
.site-nav-row { background: linear-gradient(180deg, #7A2224 0%, #6B1F21 100%); border: 0; }
.site-nav-row .site-container { padding-top: 0; padding-bottom: 0; }
.site-nav-list { align-items: stretch; }
.site-nav-list > li { display: flex; align-items: stretch; }
.site-nav-list > li > a, .site-nav-list > li > .site-mega-trigger { display: inline-flex !important; align-items: center; gap: 5px; padding: 15px 2px; color: #FBF1E6 !important; font-weight: 700 !important; }
.site-nav-list > li > a::after { bottom: 8px; left: 2px; height: 3px; border-radius: 3px; background: var(--gh-orange, #EE7D05); transition: width 0.22s ease; }
.site-nav-list > li > a:hover, .site-nav-list > li > a:focus-visible, .site-nav-list > li:hover > a { color: #fff !important; }
.site-nav-list > li:hover > a::after, .site-nav-list > li > a:focus-visible::after { width: calc(100% - 4px); }
.site-nav-list > li.site-nav-current > a, .site-nav-list > li.site-nav-current > .site-mega-trigger { color: #fff !important; }
.site-nav-list > li.site-nav-current > a::after { width: calc(100% - 4px); }
.site-nav-chev { flex: none; opacity: 0.85; transition: transform 0.2s ease; }
.site-has-mega:hover > a .site-nav-chev, .site-mega-trigger[aria-expanded="true"] .site-nav-chev { transform: rotate(180deg); }
.site-nav-list > li > a:focus-visible { outline: 2px solid #FFC27A; outline-offset: -2px; border-radius: 4px; }
/* dropdown cards */
@keyframes gh-menu-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.site-mega-panel, .site-dropdown-panel { border: 0; border-top: 3px solid var(--gh-orange, #EE7D05); border-radius: 0 0 20px 20px; box-shadow: 0 26px 50px rgba(74,21,23,0.2); padding: 22px 24px 20px; }
.site-has-mega:hover > .site-mega-panel, .site-mega-trigger[aria-expanded="true"] + .site-mega-panel, .site-has-dropdown:hover > .site-dropdown-panel, .site-mega-trigger[aria-expanded="true"] + .site-dropdown-panel { animation: gh-menu-in 0.18s ease-out; }
.site-mega-col-title { display: flex !important; align-items: center; gap: 10px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #F0E6DA; color: #892728 !important; font-size: 14.5px; }
.site-mega-col-title:hover { color: var(--gh-orange, #EE7D05) !important; }
.site-mega-ico, .site-drop-ico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 32px; height: 32px; border-radius: 10px; background: #FBF1E6; color: #892728; }
.site-mega-col li { margin-bottom: 1px; }
.site-mega-col a:not(.site-mega-col-title) { padding: 5px 10px; margin: 0 -10px; border-radius: 8px; font-size: 13.5px; color: #2f2623; transition: background 0.15s ease, color 0.15s ease; }
.site-mega-col a:not(.site-mega-col-title):hover { background: #FAF6F0; color: #892728; }
.site-mega-all { justify-self: start; display: inline-flex !important; align-items: center; margin-top: 6px !important; padding: 10px 18px !important; border: 0 !important; border-radius: 10px; background: var(--gh-orange, #EE7D05); color: #fff !important; font-size: 14px; text-decoration: none !important; box-shadow: 0 8px 18px rgba(238,125,5,0.25); }
.site-mega-all:hover { background: #BE6404; color: #fff !important; }
/* doctors: portraits */
.site-mega-docs a.site-mega-doc { flex-direction: row !important; align-items: center; gap: 10px !important; }
.site-mega-docph { flex: none; width: 40px; height: 40px; }
.site-mega-docimg, .site-mega-docmono { display: grid !important; place-items: center; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; border: 2px solid #fff; box-shadow: 0 0 0 1px #EADFD2; background: #FBF1E6; color: #892728; font-size: 13px; font-weight: 800; text-decoration: none; }
.site-mega-doctxt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
/* patient information */
.site-dropdown-panel { min-width: 290px; padding: 14px 14px 14px; }
.site-has-dropdown:hover > .site-dropdown-panel, .site-mega-trigger[aria-expanded="true"] + .site-dropdown-panel { gap: 2px; }
.site-dropdown-panel a { display: flex !important; align-items: center; gap: 12px; padding: 9px 10px !important; border-radius: 12px; font-size: 14.5px !important; font-weight: 700; color: #2f2623 !important; }
.site-dropdown-panel a:hover { background: #FAF6F0; color: #892728 !important; }
.site-drop-ico-emg { background: #FDECEA; color: #B42318; }
.site-nav-mcta { display: none !important; }
/* phones */
.site-mobile-toggle { width: 46px; height: 46px; padding: 0; border-radius: 12px; border: 1.5px solid #E6DACB; background: #FAF6F0; color: #892728; font-size: 20px; line-height: 1; }
@media (max-width: 768px) {
	.site-topbar-emg { display: none; }
	.site-topbar-emg-m { display: inline-flex !important; align-items: center; gap: 6px; margin-right: auto; padding: 3px 10px; border-radius: 999px; background: rgba(94,23,25,0.28); font-size: 13px !important; font-weight: 800 !important; }
	.site-header-topbar-inner { justify-content: flex-start; gap: 6px 14px; padding: 4px 0; }
	.site-header-topbar .gh-lang { order: 5; }
}
@media (max-width: 1099px) {
	.site-header-main .site-container { justify-content: space-between !important; }
	.site-nav-row .site-container { padding: 0 16px; }
	.site-nav-list.open { flex-wrap: nowrap !important; gap: 0 !important; padding: 6px 0 18px !important; max-height: calc(100dvh - var(--gh-hdr-h, 130px)); overflow-y: auto; overscroll-behavior: contain; }
	.site-nav-list.open > li { display: block; border-bottom: 1px solid rgba(255,255,255,0.1); }
	.site-nav-list.open > li > a, .site-nav-list.open > li > .site-mega-trigger { display: flex !important; justify-content: space-between; width: 100%; padding: 14px 4px; font-size: 15.5px; }
	.site-nav-list.open > li > a::after { display: none; }
	.site-nav-list.open > li.site-nav-current > a { color: #FFC27A !important; }
	.site-nav-chev { width: 16px; height: 16px; }
	.site-mega-trigger[aria-expanded="true"] + .site-mega-panel, .site-mega-trigger[aria-expanded="true"] + .site-dropdown-panel { margin: 0 0 14px; padding: 12px 14px !important; border-radius: 16px; border-top-width: 3px; box-shadow: none; }
	.site-mega-depts .site-mega-col, .site-mega-care .site-mega-col { margin-bottom: 8px; } /* pass 98a: procedure / condition links shown on phones, as in Our Doctors */
	.site-mega-trigger[aria-expanded="true"] + .site-mega-panel { gap: 4px !important; }
	.site-mega-docs .site-mega-col { margin-bottom: 8px; }
	.site-nav-list.open > li.site-nav-mcta { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 16px 0 4px; border-bottom: 0; }
	.site-nav-mcta a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 12px; border-radius: 12px; font-size: 14px; font-weight: 800; text-decoration: none; text-align: center; line-height: 1.2; }
	.site-nav-mcta-book { grid-column: 1 / -1; background: var(--gh-orange, #EE7D05); color: #fff; }
	.site-nav-mcta-call { background: #fff; color: #892728; }
	.site-nav-mcta-wa { background: #25D366; color: #fff; }
	.site-nav-mcta-br { grid-column: 1 / -1; background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.25); }
}
@media (prefers-reduced-motion: reduce) { .site-mega-panel, .site-dropdown-panel { animation: none !important; } .site-nav-chev, .site-header { transition: none; } }
.site-mega-docmono { background: #892728 !important; color: #fff !important; box-shadow: 0 0 0 1px #EADFD2; }
@media (max-width: 1099px) {
	.site-nav-list.open > li.site-nav-mcta > a { justify-content: center !important; gap: 8px; width: auto; padding: 0 12px !important; font-size: 14px; }
	.site-nav-list.open > li.site-nav-mcta > a.site-nav-mcta-book, .site-nav-list.open > li.site-nav-mcta > a.site-nav-mcta-wa, .site-nav-list.open > li.site-nav-mcta > a.site-nav-mcta-br { color: #fff !important; }
	.site-nav-list.open > li.site-nav-mcta > a.site-nav-mcta-call { color: #892728 !important; }
}
/* tablets and small laptops: one-line nav (arrows hidden; hover still opens the dropdowns) and a one-line orange bar */
@media (min-width: 1100px) and (max-width: 1179px) { .site-nav-chev { display: none; } .site-nav-list > li > a, .site-nav-list > li > .site-mega-trigger { gap: 0; padding-left: 0; padding-right: 0; } .site-nav-list > li > a::after { left: 0; } .site-nav-list > li:hover > a::after, .site-nav-list > li.site-nav-current > a::after { width: 100%; }
}
@media (min-width: 769px) and (max-width: 1099px) {
	.site-topbar-emg { display: none; }
	.site-topbar-emg-m { display: inline-flex !important; align-items: center; gap: 6px; margin-right: auto; padding: 3px 10px; border-radius: 999px; background: rgba(94,23,25,0.28); font-size: 13px !important; font-weight: 800 !important; }
}
/* in-page links (FAQ topics, "In This Article", "On this page", condition lists) land below the header that now stays at the top */
html { scroll-padding-top: calc(var(--gh-stick-h, 120px) + 16px); }
html body .gh-carep-item, html body .gh-subp .gh-docp-card, html body .gh-hub-pcard, html body .gh-post-content h2, html body .gh-legal2-body h2 { scroll-margin-top: 0; }

/* ---------- MENU v3 (pass 97): one font weight (600, semi-bold) across the top bar, main menu, dropdown titles and every dropdown
   link; an icon on every Departments / Conditions link (inc/gh-menu-icons.php). Structure and links unchanged. ---------- */
.site-header-topbar a, .site-header-topbar .site-topbar-emg a, .site-header-topbar .site-topbar-emg a [data-gh-notranslate], .site-topbar-emg-label, .site-topbar-emg-m,
.site-header-topbar .gh-lang-btn { font-weight: 600 !important; }
.site-nav-list > li > a, .site-nav-list > li > .site-mega-trigger { font-weight: 600 !important; }
.site-mega-col-title, .site-mega-col-title span { font-weight: 600 !important; }
.site-mega-col a:not(.site-mega-col-title), .site-dropdown-panel a, .site-mega-docs a.site-mega-doc strong, .site-mega-all, .site-nav-mcta a, .site-header-actions .site-btn-primary, .site-phone-pill { font-weight: 600 !important; }
.site-mega-col a:not(.site-mega-col-title) { display: flex !important; align-items: center; gap: 9px; }
.site-mi { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 26px; height: 26px; border-radius: 8px; background: #FBF1E6; color: #892728; transition: background 0.15s ease, color 0.15s ease; }
.site-mega-col a:not(.site-mega-col-title):hover .site-mi { background: var(--gh-orange, #EE7D05); color: #fff; }
.site-mega-care .site-mega-col a:not(.site-mega-col-title) { line-height: 1.3; padding-top: 4px; padding-bottom: 4px; }
.site-mega-care .site-mega-col a:not(.site-mega-col-title) { gap: 7px; font-size: 13px; }
.site-mega-care .site-mi { width: 22px; height: 22px; border-radius: 6px; }
.site-mega-care .site-mi svg { width: 13px; height: 13px; }
@media (min-width: 1100px) { .site-has-mega:hover > .site-mega-care, .site-mega-trigger[aria-expanded="true"] + .site-mega-care { column-gap: 18px; padding-left: 20px; padding-right: 20px; } }
/* hierarchy (pass 97, 12 Oct): group headings clearly stronger than the links under them - headings 800 / 15.5px / deep maroon,
   every dropdown link 500 / softer brown (same in all four dropdowns); top bar and main menu stay semi-bold */
.site-mega-col-title, .site-mega-col-title span:not(.site-mega-ico) { font-weight: 800 !important; font-size: 15.5px !important; color: #5E1719 !important; letter-spacing: 0.005em; }
.site-mega-col-title { border-bottom-color: #EADCCB !important; }
.site-mega-col-title .site-mega-ico { width: 34px; height: 34px; background: #892728; color: #fff; }
.site-mega-col-title:hover, .site-mega-col-title:hover span:not(.site-mega-ico) { color: var(--gh-orange, #EE7D05) !important; }
.site-mega-col-title .site-mega-ico { color: #fff !important; }
.site-mega-col-title:hover .site-mega-ico { background: var(--gh-orange, #EE7D05); }
.site-mega-col a:not(.site-mega-col-title), .site-dropdown-panel a, .site-mega-docs a.site-mega-doc strong { font-weight: 500 !important; color: #4a3f3b !important; }
.site-mega-col a:not(.site-mega-col-title):hover, .site-dropdown-panel a:hover, .site-mega-docs a.site-mega-doc:hover strong { color: #892728 !important; }
.site-mega-docs a.site-mega-doc span { font-weight: 400; color: #7a6d66; }

/* ---------- MENU v4 (pass 98): a dropdown never runs past the bottom of the window - its height is capped to the space below the
   header (--gh-hdr-bottom, kept current by main.js) and it scrolls inside itself when taller. Big screens: unchanged. ---------- */
@media (min-width: 1100px) {
	.site-mega-panel, .site-dropdown-panel { max-height: calc(100vh - var(--gh-hdr-bottom, 180px) - 14px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #D9C6B2 transparent; }
	.site-mega-panel::-webkit-scrollbar, .site-dropdown-panel::-webkit-scrollbar { width: 8px; }
	.site-mega-panel::-webkit-scrollbar-thumb, .site-dropdown-panel::-webkit-scrollbar-thumb { background: #D9C6B2; border-radius: 8px; }
}
/* group headings stay visible at the top of a dropdown while its links scroll underneath */
@media (min-width: 1100px) {
	.site-mega-panel .site-mega-col-title { position: sticky; top: -22px; z-index: 2; margin-top: -22px; padding-top: 22px; background: #fff; box-shadow: 0 8px 10px -8px rgba(74,21,23,0.12); }
}
/* tablets / small laptops (769-1099px): the wide dropdowns (Departments, Conditions, Our Doctors) span the menu width instead of starting at their
   menu item, so they never run off the right edge of the window */
/* pass 119: tablet rules retired (769-1099px now uses the phone menu) */
/* initials badge (doctors without a photo): white letters on maroon - the inner span was picking up the designation colour */
.site-mega-docs a.site-mega-doc .site-mega-docmono span { color: #fff !important; font-weight: 800; font-size: 13px; letter-spacing: 0.02em; }

/* ---------- MENU v4b (pass 98a) phones: (1) while the phone menu is open the fixed Call / WhatsApp / Book bar at the bottom of the
   screen is hidden - it covered the last rows of the menu, and the menu carries the same Book / Call / WhatsApp buttons at its end;
   (2) the orange top bar is one row: Emergency 24x7 on the left, the language switch on the right. Contact and Branches stay in
   the menu (Contact link, "Branches and OPD timings" button), so nothing is lost. ---------- */
@media (max-width: 1099px) {
	body:has(.site-nav-list.open) .gh-sticky-toolbar, body.gh-menu-open .gh-sticky-toolbar, body:has(.site-nav-list.open) .gh-back-to-top, body.gh-menu-open .gh-back-to-top { display: none !important; }
	.site-nav-list.open { padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (max-width: 560px) {
	.site-header-topbar .site-topbar-link { display: none !important; }
	.site-header-topbar-inner { flex-wrap: nowrap; justify-content: space-between; min-height: 0; padding: 6px 0; }
	.site-topbar-emg-m { margin-right: 0; white-space: nowrap; flex: 0 0 auto; }
	.site-header-topbar .gh-lang { order: 5; margin-left: auto; flex: 0 0 auto; }
}

/* ---------- MENU v5 (pass 99): every dropdown fits the screen with nothing hidden. Same layout as before (all groups and links side
   by side); Departments now spans the menu width like Conditions / Treatments and Our Doctors. When a screen is too short for a
   dropdown (laptops, 125% / 150% display scaling), main.js shrinks that dropdown evenly - text, icons and spacing together - just
   enough to fit the space below the menu, and widens it by the same amount so it still fills the menu width. ---------- */
@media (min-width: 1100px) {
	.site-nav-list > li.site-has-mega:has(> .site-mega-depts) { position: static; }
	.site-has-mega:hover > .site-mega-depts, .site-mega-trigger[aria-expanded="true"] + .site-mega-depts { left: 0; right: 0; width: 100%; min-width: 0; box-sizing: border-box; }
}
/* a little tighter than before (rows, icons, panel padding) so less shrinking is needed */
@media (min-width: 1100px) {
	.site-mega-depts .site-mega-col a:not(.site-mega-col-title), .site-mega-care .site-mega-col a:not(.site-mega-col-title) { padding-top: 3px !important; padding-bottom: 3px !important; line-height: 1.25; }
	.site-mega-depts .site-mi, .site-mega-care .site-mi { width: 22px; height: 22px; border-radius: 6px; }
	.site-mega-depts .site-mi svg, .site-mega-care .site-mi svg { width: 13px; height: 13px; }
	.site-mega-depts .site-mega-col li, .site-mega-care .site-mega-col li { margin-bottom: 1px !important; }
	.site-has-mega:hover > .site-mega-panel, .site-mega-trigger[aria-expanded="true"] + .site-mega-panel { padding-top: 18px !important; padding-bottom: 16px !important; row-gap: 14px !important; }
	.site-mega-panel .site-mega-col-title { top: -18px; margin-top: -18px; padding-top: 18px; }
	.site-mega-docs .site-mega-col a.site-mega-doc { padding-top: 3px !important; padding-bottom: 3px !important; }
}
/* tablets / small laptops (769-1099px): Conditions / Treatments uses the same one-row layout as on desktop (six groups side by side,
   Vascular Conditions in two columns) instead of two rows of three - half the height; group titles a size smaller to fit */
/* pass 119: tablet rules retired (769-1099px now uses the phone menu) */
/* the floating Call / WhatsApp / Book buttons step aside while a dropdown is open, so they never cover its last links */
@media (min-width: 1100px) {
	body:has(.site-has-mega:hover > .site-mega-panel) .gh-sticky-toolbar, body:has(.site-mega-trigger[aria-expanded="true"] + .site-mega-panel) .gh-sticky-toolbar,
	body:has(.site-has-mega:hover > .site-mega-panel) .gh-back-to-top, body:has(.site-mega-trigger[aria-expanded="true"] + .site-mega-panel) .gh-back-to-top { opacity: 0 !important; pointer-events: none !important; transition: opacity 0.15s ease; }
}
@media (min-width: 1100px) {
	.site-mega-panel.gh-fit { transform-origin: 0 0; max-height: none !important; overflow: visible !important; }
}
/* "All patient information" - phones only (on bigger screens the menu item itself opens that page) */
.site-dropdown-panel a.site-drop-all { display: none !important; }
@media (max-width: 1099px) { .site-dropdown-panel a.site-drop-all { display: inline-flex !important; justify-self: start; align-self: flex-start; width: auto; margin-top: 8px !important; padding: 10px 18px !important; border-radius: 10px; background: var(--gh-orange, #EE7D05); color: #fff !important; font-size: 14px !important; }
}
/* pass 99a - phones: a dropdown is open only while its tap says so. Root cause of "second tap does not close it": a phone keeps the
   tapped item in its :hover state, and the desktop hover rules kept the panel shown and the arrow turned up after the second tap. */
@media (max-width: 1099px) {
	.site-has-mega:hover > .site-mega-trigger:not([aria-expanded="true"]) + .site-mega-panel,
	.site-has-mega:hover > .site-mega-trigger:not([aria-expanded="true"]) + .site-dropdown-panel,
	.site-has-dropdown:hover > .site-mega-trigger:not([aria-expanded="true"]) + .site-dropdown-panel { display: none !important; }
	.site-has-mega:hover > a.site-mega-trigger:not([aria-expanded="true"]) .site-nav-chev { transform: none !important; }
}

/* pass 102 - phones: the Emergency 24x7 pill a little more compact so it shares one row with the language switch */
@media (max-width: 480px) {
	.site-header-topbar .site-topbar-emg-m { padding: 3px 9px !important; gap: 5px !important; font-size: 12.5px !important; flex: 0 1 auto; min-width: 0; white-space: nowrap; }
}
@media (max-width: 349px) {
	.site-header-topbar .site-container.site-header-topbar-inner { padding-left: 10px; padding-right: 10px; }
	.site-header-topbar .site-topbar-emg-m { padding: 3px 7px !important; gap: 4px !important; font-size: 12px !important; }
	.site-header-topbar .site-topbar-emg-m svg { width: 13px; height: 13px; }
}

/* ===== PASS 103 (doctor tracker) ===== */
/* top bar: one emergency number */
.site-topbar-emg-one { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.site-topbar-emg-num { font-weight: 800 !important; letter-spacing: 0.02em; white-space: nowrap; }
.site-header-topbar .site-topbar-emg-one .site-topbar-emg-num { font-size: 15px; }
.site-topbar-emg-m .site-topbar-emg-num { margin-left: 2px; }
/* Departments dropdown: Cancer Care link across the panel */
.site-mega-feature { grid-column: 1 / -1; display: flex !important; align-items: center; gap: 10px; margin-top: 6px; padding: 10px 14px !important; border-radius: 12px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.3); color: #5E1719 !important; text-decoration: none; }
.site-mega-feature strong { font-weight: 800; color: #892728; margin-right: 6px; }
.site-mega-feature em { font-style: normal; font-size: 13px; font-weight: 600; color: #6B5F5A; }
.site-mega-feature:hover { background: #F6E3CF; }
.site-mega-feature .site-mega-ico { color: #892728; display: inline-flex; flex: none; }
@media (max-width: 1099px) { .site-mega-feature em { display: block; font-size: 12px; } .site-mega-feature { margin: 6px 0 2px; }
}
/* motto */
.gh-motto { margin: 0; font-weight: 800; letter-spacing: 0.16em; color: #892728; display: inline-flex; align-items: center; gap: 10px; }
.gh-motto::before { content: ""; width: 28px; height: 2px; background: #EE7D05; flex: none; }
.gh-motto-hero { margin-top: 16px; font-size: 14px; }
.gh-motto-band { margin: -4px 0 22px; font-size: clamp(15px, 2vw, 19px); }
/* ABOUT 103: neutral cream / soft-sand hero instead of the orange one */
.gh-carep-hero.gh-carep-hero-orange.gh-aboutp2-hero { background: radial-gradient(720px 360px at 100% 0%, rgba(137,39,40,0.04), transparent 65%), linear-gradient(180deg, #FAF7F2 0%, #F3ECE3 100%); color: #2A2220; border-bottom: 1px solid #E6DACB; }
.gh-aboutp2-hero .gh-carep-eyebrow { color: #C98A2E; opacity: 1; }
.gh-aboutp2-hero .gh-carep-title-a { color: #5E1719; }
.gh-aboutp2-hero .gh-carep-title-b { color: #B85F00; text-shadow: none; }
.gh-aboutp2-hero .gh-carep-tagline { color: #4a3f3b; text-shadow: none; }
.gh-aboutp2-hero .gh-hub-btn-white { background: var(--gh-orange, #EE7D05); color: #fff; }
.gh-aboutp2-hero .gh-hub-btn-ghost { border-color: #892728; color: #892728; }
.gh-aboutp2-hero .gh-hub-chips-hero li { background: #fff; border-color: #E6DACB; color: #5E1719; }
/* About: departments grouped */
.gh-infop-dgroup { margin-bottom: 30px; }
.gh-infop-dgroup-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.gh-infop .gh-infop-dgroup-head h3 { font-size: 21px; color: #2A2220; }
.gh-infop-dgroup-head p { margin: 2px 0 0; font-size: 14.5px; font-weight: 600; color: #6B5F5A; }
.gh-infop-dgroup-head .gh-infop-ico { background: linear-gradient(135deg, #892728 0%, #5E1719 100%); color: #fff; }
.gh-infop-deptbody h4 { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 800; }
.gh-infop-deptbody h4 a { color: #892728; text-decoration: none; }
.gh-infop-unit, .gh-hub-dept-unit { align-self: flex-start; display: inline-block; padding: 4px 10px; border-radius: 999px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.25); font-size: 11.5px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #892728; }
.gh-hub-dept-unit { margin-bottom: 8px; }
.gh-infop-team.gh-hub-avs { margin: 4px 0 6px; }
@media (min-width: 900px) { .gh-infop-depts-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .gh-infop-depts-1 { grid-template-columns: minmax(0, 1fr) !important; max-width: 50%; } }
/* Departments hub: group headings */
.gh-hub-dgroup-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 30px 0 16px; padding: 14px 18px; border-radius: 16px; background: #fff; border: 1px solid #E6DACB; border-left: 5px solid #892728; }
.gh-hub-dgroup-head:first-of-type { margin-top: 8px; }
.gh-hub-dgroup-num { font-size: 11.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #C98A2E; }
.gh-hub-dgroup-title { margin: 0; font-size: clamp(20px, 2.2vw, 24px); font-weight: 800; color: #2A2220; }
.gh-hub-dgroup-team { margin: 0; flex-basis: 100%; font-size: 14.5px; font-weight: 600; color: #6B5F5A; }
/* Second opinion: department team */
.gh-secop2-team.gh-hub-avs { margin: 0; }
.gh-secop2-team.gh-hub-avs a { width: 40px; height: 40px; }
/* Emergency: the one number first */
.gh-emgp2-num-main { grid-column: 1 / -1; background: #B42318; border-color: #B42318; }
.gh-emgp2-num-main .gh-emgp2-numlabel, .gh-emgp2-num-main .gh-emgp2-numval, .gh-emgp2-num-main .gh-emgp2-numalt { color: #fff !important; }
.gh-emgp2-numsec .gh-emgp2-num-main .gh-emgp2-numval { font-size: 34px; }
/* CANCER CARE PAGE (pass 103) */
.gh-cancerp-treat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin-bottom: 14px; }
.gh-cancerp-pathbox { padding: 22px; border-radius: 20px; background: #FDFAF6; border: 1px solid var(--gh-line, #E6DACB); }
.gh-cancerp-options { margin: 0; display: grid; gap: 12px; }
.gh-cancerp-options > div { padding: 16px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-left: 4px solid #EE7D05; }
.gh-cancerp-options dt { font-weight: 800; color: #892728; font-size: 16px; margin-bottom: 4px; }
.gh-cancerp-options dd { margin: 0; font-size: 14.5px; line-height: 1.6; color: #4a3f3b; }
@media (min-width: 1000px) { .gh-cancerp-treat { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: start; } }
@media (min-width: 900px) { .gh-infop-cards.gh-cancerp-diag { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* phone top bar: "Emergency 24×7: 90333 62020" + language switcher on one row; "24×7" drops on narrow phones */
.site-topbar-emg-m { gap: 5px !important; }
.site-topbar-emg-m .site-topbar-m-247 { font-weight: 700; }
@media (max-width: 430px) { .site-topbar-emg-m .site-topbar-m-247 { display: none; } }
@media (max-width: 359px) { .site-topbar-emg-m svg { display: none; } }
@media (max-width: 400px) {
	.site-header-topbar .site-topbar-emg-m { font-size: 11.5px !important; padding: 3px 7px !important; gap: 4px !important; letter-spacing: 0 !important; }
	.site-header-topbar .site-topbar-emg-m svg { display: none; }
	.site-header-topbar .site-topbar-emg-m .site-topbar-emg-num { letter-spacing: 0; }
}
@media (max-width: 340px) { .site-header-topbar .site-topbar-emg-m { font-size: 11px !important; } .site-header-topbar .site-container.site-header-topbar-inner { padding-left: 6px; padding-right: 6px; } }
/* ===== PASS 105: Departments dropdown grouped under the two departments ===== */
.site-mega-dgroup { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; padding: 0 0 8px; margin: 0 0 2px; border-bottom: 2px solid #892728; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #892728; }
.site-mega-dgroup-num { color: #C98A2E; }
.site-mega-dgroup-sep { color: #C98A2E; }
.site-mega-unit-sep { color: #C98A2E; margin: 0 2px; }
.site-mega-unit { font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #8a7d77; white-space: nowrap; }
@media (min-width: 1100px) {
	.site-mega-depts .site-mega-dgroup-1 { grid-column: 1 / 3; grid-row: 1; }
	.site-mega-depts .site-mega-dgroup-2 { grid-column: 3; grid-row: 1; }
	.site-mega-depts .site-mega-dcol-1 { grid-column: 1; grid-row: 2; }
	.site-mega-depts .site-mega-dcol-2 { grid-column: 2; grid-row: 2; }
	.site-mega-depts .site-mega-dcol-3 { grid-column: 3; grid-row: 2; }
}
@media (max-width: 1099px) {
	.site-mega-dgroup { margin: 10px 0 6px; padding-bottom: 6px; font-size: 11.5px; }
	.site-mega-dgroup-1 { margin-top: 2px; }
}
/* 105: headings sit on one line - the longer one may wrap, both borders line up at the bottom; the unit sits on its own line under the
   column title and the three column titles share one height, so the link lists start level */
@media (min-width: 1100px) {
	.site-mega-depts .site-mega-dgroup { align-self: end; }
	.site-mega-depts .site-mega-col-title > span:last-child { display: flex; flex-direction: column; gap: 2px; }
	.site-mega-depts .site-mega-unit-sep { display: none; }
	.site-mega-depts .site-mega-col-title { min-height: 52px; box-sizing: border-box; }
}
/* 105a: in the Departments dropdown the column titles no longer pull up 22px (pass 98 sticky trick) - that slid them over the department
   headings and hid the headings' underline except in the gap between columns */
@media (min-width: 1100px) {
	.site-mega-depts .site-mega-col-title { margin-top: 0; padding-top: 0; top: 0; }
	.site-mega-depts .site-mega-dgroup { position: relative; z-index: 3; }
}
/* 105b: the Departments dropdown was taller than the others (Cancer Care strip and "All departments" each on their own row), so on
   shorter screens the pass-99 fit-to-screen step shrank it more than the other dropdowns and its text looked smaller. Root fix - make it
   shorter so it is shrunk no more than Conditions / Treatments: Cancer Care and "All departments" share one row, and the link rows are
   a little tighter. Text size is unchanged. */
@media (min-width: 1100px) {
	.site-mega-depts .site-mega-feature { grid-column: 1 / 3; grid-row: 3; margin-top: 0; padding: 8px 14px !important; }
	.site-mega-depts .site-mega-all { grid-column: 3; grid-row: 3; align-self: center; justify-self: end; margin-top: 0 !important; }
	.site-mega-depts .site-mega-col a:not(.site-mega-col-title) { padding-top: 2px; padding-bottom: 2px; }
	.site-mega-depts .site-mi { width: 20px; height: 20px; }
	.site-mega-depts .site-mega-dgroup { font-size: 11.5px; letter-spacing: 0.05em; }
}
/* 105c: "Department 01" / "Department 02" sit on their own small line above the department name, so both headings are always two lines
   and match (before, the longer Vascular heading wrapped and the Gastroenterology one did not) */
.site-mega-depts .site-mega-dgroup { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 3px; }
.site-mega-depts .site-mega-dgroup-sep { display: none; }
.site-mega-depts .site-mega-dgroup-num { font-size: 10.5px; letter-spacing: 0.08em; }
/* 105d: the Cancer Care strip read as a label, not a link - it now ends in an "About Cancer Care" button (same wording as the hero
   button), and the whole strip lifts and darkens its border on hover/focus */
.site-mega-feature { cursor: pointer; transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.site-mega-feature-cta { display: inline-flex; align-items: center; gap: 6px; flex: none; margin-left: auto; padding: 7px 14px; border-radius: 999px; border: 1.5px solid #892728; background: #fff; color: #892728; font-size: 13px; font-weight: 700; line-height: 1.2; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
.site-mega-feature-cta svg { width: 14px; height: 14px; flex: none; }
.site-mega-feature:hover, .site-mega-feature:focus-visible { border-color: #892728; box-shadow: 0 6px 16px rgba(137,39,40,0.12); }
.site-mega-feature:hover .site-mega-feature-cta, .site-mega-feature:focus-visible .site-mega-feature-cta { background: #892728; color: #fff; }
.site-mega-feature:hover strong { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1099px) {
	.site-mega-feature { flex-wrap: wrap; }
	.site-mega-feature-cta { margin-left: 28px; margin-top: 4px; padding: 6px 12px; font-size: 12.5px; }
}
/* 105d layout: title and description stack beside the icon, the button sits at the right (desktop) or on its own line (phone) */
.site-mega-depts .site-mega-feature > span:nth-child(2) { flex: 1 1 0; min-width: 0; }
.site-mega-depts .site-mega-feature em { display: block; margin-top: 1px; line-height: 1.4; }
@media (max-width: 1099px) {
	.site-mega-depts .site-mega-feature-cta { margin-left: 42px; }
	.site-mega-depts .site-mega-feature > span:nth-child(2) { flex-basis: calc(100% - 46px); }
}
/* ===== PASS 106: Cancer Care page - 1 Symptoms, 2 Diagnosis, 3 Treatment, 4 FAQs (doctor's order); department cards without doctors/counts ===== */
.gh-cancerp-steps { margin-top: 22px; margin-bottom: 0; justify-content: center; }
.gh-cancerp-steps a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 8px; font-size: 14px; }
.gh-cancerp-stepn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #892728; color: #fff; font-size: 12.5px; font-weight: 800; }
.gh-cancerp-steps a:hover .gh-cancerp-stepn { background: #fff; color: #892728; }
.gh-cancerp-sym { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.gh-cancerp-sym .gh-deptp-when { margin: 0; }
.gh-cancerp-urgent { margin: 0; }
.gh-cancerp-urgent .gh-docp-h2 { font-size: 19px; }
.gh-cancerp-faqs { max-width: 900px; }
@media (min-width: 900px) { .gh-cancerp-sym { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 32px; } }
.gh-hub-dept-links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 8px; }
.gh-cancerp .gh-cancerp-steps { margin: 26px auto 0; }
.gh-cancerp-diag .gh-infop-card h3 { padding-right: 44px; } /* the 01-05 number no longer runs into a long title ("Blood tests and tumour markers") */
/* ===== PASS 107: Departments page cards use the homepage "What we treat" list ===== */
.gh-hub-dept-treat { list-style: none; margin: 0 0 4px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gh-hub-dept-treat li { padding: 5px 11px; border-radius: 999px; background: #FAF6F0; border: 1px solid #EADFD2; color: #2A2220; font-size: 13px; font-weight: 600; line-height: 1.35; }
/* 107: one emergency number - the footer link spans the row, the Emergency page shows two cards */
aside.gh-emg .gh-emg-links { grid-template-columns: minmax(0, 1fr) !important; }
@media (min-width: 900px) { .gh-emgp2-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; } }
/* ===== DIGESTIVE HEALTH (pass 108): /digestive-health/ - nine organ cards, shared row, teams ===== */
.gh-dhp-jump { margin: 22px auto 0; justify-content: center; }
.gh-dhp-jump a { display: inline-flex; align-items: center; gap: 7px; }
.gh-dhp-jico { display: inline-flex; color: #892728; }
.gh-dhp-jump a:hover .gh-dhp-jico { color: #fff; }
.gh-dhp-grid { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-dhp-organ { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); border-top: 3px solid #EE7D05; box-shadow: 0 12px 30px rgba(74,21,23,0.07); scroll-margin-top: 120px; }
.gh-dhp-head { display: flex; align-items: center; gap: 12px; }
.gh-dhp-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: #892728; color: #fff; }
.gh-dhp-ico svg { width: 22px; height: 22px; }
.gh-dhp-name { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.25; color: #2A2220; }
.gh-dhp-line { margin: 0; font-size: 14.5px; line-height: 1.6; color: #4a3f3b; }
.gh-dhp-label { margin-top: 4px; font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #C98A2E; }
.gh-dhp-conds { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.gh-dhp-conds a { display: flex; align-items: center; gap: 9px; padding: 6px 8px; margin: 0 -8px; border-radius: 10px; color: #892728; font-size: 14.5px; font-weight: 700; text-decoration: none; }
.gh-dhp-conds a:hover, .gh-dhp-conds a:focus-visible { background: #FBF1E6; }
.gh-dhp-conds .site-mi { width: 24px; height: 24px; border-radius: 7px; }
.gh-dhp-procs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gh-dhp-procs a { display: inline-block; padding: 5px 11px; border-radius: 999px; background: #FAF6F0; border: 1px solid #EADFD2; color: #2A2220; font-size: 13px; font-weight: 600; text-decoration: none; }
.gh-dhp-procs a:hover, .gh-dhp-procs a:focus-visible { border-color: #EE7D05; color: #892728; }
.gh-dhp-shared { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gh-dhp-shared a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 12px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.3); color: #5E1719; font-size: 14.5px; font-weight: 700; text-decoration: none; }
.gh-dhp-shared a:hover, .gh-dhp-shared a:focus-visible { background: #892728; border-color: #892728; color: #fff; }
.gh-dhp-teams { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.gh-dhp-team { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--gh-line, #E6DACB); }
.gh-dhp-team h3 { margin: 0; font-size: 19px; font-weight: 800; } .gh-dhp-team h3 a { color: #892728; text-decoration: none; }
.gh-dhp-team p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #4a3f3b; }
@media (min-width: 700px) { .gh-dhp-grid, .gh-dhp-teams { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gh-dhp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* ===== PASS 108 MENU: Digestive Health (9 organs) + Vascular & Endovascular Care ===== */
.site-mega-dh-organs { grid-column: 1 / -1; column-gap: 22px; }
.site-mega-dh-organs .site-mega-col { break-inside: avoid; margin-bottom: 14px; display: flow-root; }
.site-mega-dh-organs .site-mega-col-title { margin-top: 0 !important; }
.site-mega-dh .site-mega-feature, .site-mega-dh .site-mega-dh-foot, .site-mega-vasc .site-mega-all { grid-column: 1 / -1; }
.site-mega-dh-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; }
.site-mega-dh-teams { font-size: 13.5px; font-weight: 600; color: #4a3f3b; }
.site-mega-dh-tlabel { font-weight: 800; color: #892728; margin-right: 4px; }
.site-mega-dh-teams a { color: #892728; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(137,39,40,0.3); text-underline-offset: 3px; }
.site-mega-dh-foot .site-mega-all { margin-top: 0 !important; }
.site-mega-dh .site-mega-col-title, .site-mega-vasc .site-mega-col-title { font-size: 14.5px !important; }
.site-mega-dh .site-mega-col-title span:not(.site-mega-ico), .site-mega-vasc .site-mega-col-title span:not(.site-mega-ico) { font-size: 14.5px !important; }
@media (min-width: 1100px) {
	.site-has-mega:hover > .site-mega-dh, .site-mega-trigger[aria-expanded="true"] + .site-mega-dh { grid-template-columns: minmax(0, 1fr) !important; row-gap: 12px; }
	.site-mega-dh-organs { column-count: 3; }
	.site-has-mega:hover > .site-mega-vasc, .site-mega-trigger[aria-expanded="true"] + .site-mega-vasc { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important; }
	.site-mega-vasc .site-mega-vasc-conds { grid-column: 1; }
	.site-mega-vasc .site-mega-vasc-conds ul { column-count: 2; column-gap: 16px; }
	.site-mega-vasc .site-mega-vasc-conds li { break-inside: avoid; }
}
@media (min-width: 1100px) {
	.site-mega-dh-organs { column-count: 5; }
	.site-has-mega:hover > .site-mega-vasc, .site-mega-trigger[aria-expanded="true"] + .site-mega-vasc { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) !important; }
	.site-mega-vasc .site-mega-vasc-conds ul { column-count: 3; }
}
@media (max-width: 1099px) { .site-mega-dh-organs { column-count: 1; } .site-mega-dh-foot { flex-direction: column; align-items: flex-start; }
}

/* ===== PASS 108 CONDITION PAGES: Symptoms → Diagnosis → Investigations → Treatment → FAQs (numbered) ===== */
.gh-condp-jump a { display: inline-flex; align-items: center; gap: 6px; }
.gh-condp-jn { display: inline-grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: #892728; color: #fff; font-size: 11px; font-weight: 800; line-height: 1; flex: 0 0 auto; }
.gh-condp-jump a:hover .gh-condp-jn { background: #fff; color: #892728; }
.gh-condp-jump a.gh-condp-jurgent { border-color: #E9B4B0; color: #A3201B; background: #FFF4F2; }
.gh-condp-jump a.gh-condp-jurgent:hover { background: #A3201B; border-color: #A3201B; color: #fff; }
.gh-carep .gh-condp-h2n { display: flex; align-items: flex-start; gap: 12px; }
.gh-condp-n { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-top: -2px; border-radius: 50%; background: linear-gradient(135deg, #892728, #B33A2C); color: #fff; font-size: 16px; font-weight: 800; line-height: 1; flex: 0 0 auto; box-shadow: 0 3px 8px rgba(137,39,40,0.22); }
.gh-condp-h3 { margin: 22px 0 10px; font-size: 16.5px; font-weight: 800; color: #892728; line-height: 1.35; scroll-margin-top: 120px; }
.gh-condp-tgroup { margin-top: 16px; padding: 14px 16px 6px; border: 1px solid #EFE3D4; border-left: 4px solid #C98A2E; border-radius: 12px; background: #FFFCF8; }
.gh-condp-tgroup .gh-condp-tlabel { margin: 0 0 6px; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: #9A6417; }
.gh-condp-tgroup-m { border-left-color: #3C8D5A; } .gh-condp-tgroup-m .gh-condp-tlabel { color: #2E7048; }
.gh-condp-tgroup-e { border-left-color: #2F6FA3; } .gh-condp-tgroup-e .gh-condp-tlabel { color: #285E8A; }
.gh-condp-tgroup-s { border-left-color: #892728; } .gh-condp-tgroup-s .gh-condp-tlabel { color: #892728; }
.gh-condp-tgroup-o { border-left-color: #C98A2E; }
.gh-condp-tech { margin-top: 18px; padding-top: 4px; border-top: 1px dashed #E6DACB; }
.gh-subp .gh-condp-tgroup + .gh-docp-note, .gh-subp .gh-condp-tech + .gh-docp-note { margin-top: 14px; }
@media (max-width: 600px) {
	.gh-condp-n { width: 28px; height: 28px; font-size: 14px; }
	.gh-carep .gh-condp-h2n { gap: 10px; }
	.gh-condp-tgroup { padding: 4px 0 0 12px; border: 0; border-left: 4px solid #C98A2E; border-radius: 0; background: none; }
}
html[data-gh-lang="hi"] .gh-condp-tgroup .gh-condp-tlabel, html[data-gh-lang="gu"] .gh-condp-tgroup .gh-condp-tlabel { letter-spacing: 0; font-size: 14.5px; }

/* ===== PASS 109 MENU: Tests & Procedures in the Digestive Health dropdown (all 21 procedure pages) ===== */
.site-mega-dh-procs { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 22px; padding-top: 12px; border-top: 1px solid #EFE3D4; }
.site-mega-dh-plabel { grid-column: 1 / -1; font-size: 11.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #9A6417; }
html[data-gh-lang="hi"] .site-mega-dh-plabel, html[data-gh-lang="gu"] .site-mega-dh-plabel { letter-spacing: 0; font-size: 13px; }
.site-mega-dh-procs .site-mega-col-title { margin-top: 0 !important; }
.site-mega-dh-pgroup ul { column-gap: 18px; }
.site-mega-dh-pgroup li { break-inside: avoid; }
@media (min-width: 1100px) {
	.site-mega-dh-procs { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
	.site-mega-dh-pgroup ul { column-count: 2; }
	.site-mega-dh-pgroup-gastro-surgery ul { column-count: 3; }
}
/* pass 119: tablet rules retired (769-1099px now uses the phone menu) */
/* pass 109: compact Digestive Health dropdown so organs + 21 procedures fit without small text */
.site-mega-dh-ptitle { display: flex; align-items: center; justify-content: space-between; gap: 6px 14px; flex-wrap: wrap; margin-bottom: 6px; border-bottom: 1px solid #EADCCB; }
.site-mega-dh-ptitle .site-mega-col-title { border-bottom: 0 !important; margin-bottom: 0 !important; padding-bottom: 6px !important; }
.site-mega-dh-pteam { padding-bottom: 6px; font-size: 12.5px; font-weight: 700; color: #892728 !important; text-decoration: underline; text-decoration-color: rgba(137,39,40,0.3); text-underline-offset: 3px; white-space: nowrap; }
@media (min-width: 1100px) {
	.site-has-mega:hover > .site-mega-dh, .site-mega-trigger[aria-expanded="true"] + .site-mega-dh { row-gap: 10px !important; padding-top: 16px !important; padding-bottom: 14px !important; }
	.site-mega-dh .site-mega-col li a:not(.site-mega-col-title) { padding-top: 2px !important; padding-bottom: 2px !important; }
	.site-mega-dh .site-mi { width: 19px !important; height: 19px !important; border-radius: 5px !important; }
	.site-mega-dh .site-mi svg { width: 12px; height: 12px; }
	.site-mega-dh .site-mega-col li { margin: 0 !important; }
	.site-mega-dh-organs .site-mega-col-title { padding-top: 0 !important; padding-bottom: 6px !important; margin-bottom: 4px !important; }
	.site-mega-dh-organs .site-mega-col { margin-bottom: 10px; }
	.site-mega-dh-procs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; padding-top: 8px; }
	.site-mega-dh-pgroup ul, .site-mega-dh-pgroup-gastro-surgery ul { column-count: 2; }
	/* Cancer Care strip and "All of Digestive Health" share one row */
	.site-has-mega:hover > .site-mega-dh, .site-mega-trigger[aria-expanded="true"] + .site-mega-dh { grid-template-columns: minmax(0, 1fr) auto !important; }
	.site-mega-dh .site-mega-feature { grid-column: 1 !important; margin-top: 0; padding: 7px 14px !important; }
	.site-mega-dh .site-mega-dh-foot { grid-column: 2 !important; }
}
@media (min-width: 1100px) {
	.site-mega-dh-pgroup ul, .site-mega-dh-pgroup-gastro-surgery ul { column-count: 3; }
}
/* pass 109: organs in five fixed columns; Tests & Procedures under columns 1-4 beside the tall fifth column (same reading order) */
.site-mega-dh-main { grid-column: 1 / -1; min-width: 0; }
.site-mega-dh-ocol { display: contents; }
@media (min-width: 1100px) { .site-mega-dh-procs { margin-top: 10px; }
}
@media (min-width: 1100px) {
	.site-mega-dh-main { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 22px; row-gap: 4px; align-items: start; }
	.site-mega-dh-main .site-mega-dh-organs { display: contents; }
	.site-mega-dh-ocol { display: block; grid-row: 1; min-width: 0; }
	.site-mega-dh-ocol-1 { grid-column: 1; } .site-mega-dh-ocol-2 { grid-column: 2; } .site-mega-dh-ocol-3 { grid-column: 3; } .site-mega-dh-ocol-4 { grid-column: 4; }
	.site-mega-dh-ocol-5 { grid-column: 5; grid-row: 1 / span 2; }
	.site-mega-dh-main .site-mega-dh-procs { grid-column: 1 / 5; grid-row: 2; margin-top: 0; }
	.site-mega-dh-pgroup ul, .site-mega-dh-pgroup-gastro-surgery ul { column-count: 2; }
}
@media (min-width: 1100px) {
	/* the "Tests & Procedures" label sits on the dividing line, so it adds no height */
	.site-mega-dh-procs { position: relative; padding-top: 16px !important; }
	.site-mega-dh-plabel { position: absolute; top: -8px; left: 0; padding-right: 12px; background: #fff; line-height: 16px; }
	.site-mega-dh .site-mega-col-title .site-mega-ico { width: 26px !important; height: 26px !important; }
	.site-mega-dh-organs .site-mega-col-title { padding-bottom: 5px !important; margin-bottom: 3px !important; }
	.site-mega-dh-organs .site-mega-col { margin-bottom: 8px; }
	.site-mega-dh-ptitle { margin-bottom: 4px; }
	.site-mega-dh-ptitle .site-mega-col-title { padding-bottom: 5px !important; }
}
/* pass 109: a dropdown that has reached its smallest allowed size scrolls inside instead of shrinking further (Digestive Health: 0.92 = 12px text) */
.site-mega-panel.gh-fit.gh-fit-scroll { max-height: var(--gh-fit-max) !important; overflow-y: auto !important; overscroll-behavior: contain; }
@media (min-width: 1100px) {
	.site-mega-dh .site-mega-col-title { position: static !important; box-shadow: none !important; }
	.site-mega-dh-ptitle .site-mega-col-title { padding-top: 0 !important; margin-top: 0 !important; }
}
/* pass 110: a doctor without a portrait keeps the full photo frame on phones (the initials badge collapsed to a dot) */
.gh-docp-photo { width: 100%; }
/* pass 112: doctor OPD timings - one block per branch, its slots listed underneath */
.gh-docp-opdslots { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.gh-docp-opdslots li { position: relative; padding-left: 16px; font-size: 14px; line-height: 1.45; color: #3a302c; }
.gh-docp-opdslots li::before { content: ""; position: absolute; left: 2px; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--gh-gold, #C98A2E); }
.gh-docp-opdslots .gh-docp-opddays { font-size: 14px; font-weight: 600; }
.gh-docp-opdslots .gh-docp-opdhours { font-size: 14px; font-weight: 800; white-space: nowrap; }
.gh-docp-opdrow .gh-docp-opdphone { margin-top: 2px; }

/* ---------- PASS 115: one-line "where" strip + hospital facts as tags under "Why choose" ---------- */
.gh-hub-wherestrip-sec { padding-top: 26px !important; padding-bottom: 26px !important; }
.gh-hub-wherestrip { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 14px 18px; background: var(--gh-bg-ivory, #FAF6F0); border: 1px solid var(--gh-line, #E6DACB); border-radius: 14px; font-size: 15px; line-height: 1.55; color: #3a302c; }
.gh-hub-wherestrip > .gh-icon { color: var(--gh-orange, #EE7D05); flex: none; }
.gh-hub-wherestrip strong { color: var(--gh-deep, #5E1719); font-weight: 800; }
.gh-hub-ws-sep { color: #b9a99a; }
.gh-hub-wherestrip .gh-hub-textlink { margin: 0 0 0 auto; white-space: nowrap; }
@media (max-width: 1100px) { .gh-hub-ws-sep { display: none; } .gh-hub-wherestrip { column-gap: 18px; } }
@media (max-width: 900px) { .gh-hub-wherestrip .gh-hub-textlink { margin-left: 0; } }
@media (max-width: 640px) { .gh-hub-ws-sep, .gh-hub-wherestrip > .gh-icon { display: none; } .gh-hub-wherestrip { flex-direction: column; align-items: flex-start; gap: 6px; } }
.gh-whytags { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gh-whytags li { margin: 0; padding: 5px 12px; border-radius: 999px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.25); color: #892728; font-size: 13px; font-weight: 700; line-height: 1.4; }
.gh-whytags li::before { content: none !important; }
.gh-infop-prepline { margin: 14px 0 0; font-size: 14.5px; line-height: 1.6; color: #3a302c; font-weight: 600; }

/* ---------- PASS 117: doctor role line, registration line, website link ---------- */
.gh-docp-role { margin: -6px 0 14px; font-size: 14px; font-weight: 700; color: #FFD9A8; }
.gh-docp-reg { margin: -8px 0 16px; font-size: 13px; color: rgba(255,255,255,0.85); }
.gh-docp-socialbar-link[data-brand="website"] { background: #892728; color: #fff; }

/* ---------- PASS 118: YouTube videos in the video library - picture + play button, player loads only when pressed ---------- */
.gh-vid-player[hidden], .gh-vid-yt[hidden] { display: none !important; }
.gh-vid-yt { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: min(78vh, 640px); background: #1a0f0f; }
.gh-vid-yt iframe, .gh-vid-ytbtn { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.gh-vid-ytbtn { display: block; padding: 0; margin: 0; background: #1a0f0f; cursor: pointer; }
.gh-vid-ytbtn[hidden] { display: none; }
.gh-vid-ytimg { display: block; width: 100%; height: 100%; object-fit: cover; }
.gh-vid-ytbtn .gh-vid-play { position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; transform: translate(-50%, -50%); background: var(--gh-orange, #EE7D05); color: #fff; }
.gh-vid-ytbtn:hover .gh-vid-play, .gh-vid-ytbtn:focus-visible .gh-vid-play { transform: translate(-50%, -50%) scale(1.08); }
.gh-vid-ytbtn:focus-visible { outline: 3px solid #E9C27A; outline-offset: -3px; }
.gh-vid-thumbimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gh-vid-thumb .gh-vid-play { position: relative; z-index: 1; }
.gh-vid-thumb .gh-vlib-tag, .gh-vid-thumb .gh-vlib-lang { z-index: 1; }
@media (max-width: 480px) { .gh-vid-ytbtn .gh-vid-play { width: 54px; height: 54px; } }

/* ---------- PASS 118a: video card doctor line stays inside the card on phones (the job title pushed past the edge: a flex item
   cannot shrink below its longest word). On phones the card shows the doctor's name only; the title stays on wider screens. ---------- */
.gh-vlib-doctext { min-width: 0; overflow-wrap: break-word; }
@media (max-width: 699px) { .gh-vlib-docrole { display: none; } .gh-vlib-doc { align-items: center; } }

/* ---------- PASS 119: responsive QA fixes (20 Oct 2026) ---------- */
/* Tablets (769-1099px) now use the phone-style menu (breakpoints moved in the header rules above). The Call / Book buttons stay
   visible beside the menu button on tablets, next to it on the right. */
@media (min-width: 769px) and (max-width: 1099px) {
	.site-header-actions { margin-left: auto; }
	.site-header-main .site-container { gap: 14px; }
}
/* Homepage - Your Patient Journey on phones: icon beside the text in a compact row instead of a tall empty block above it */
@media (max-width: 639px) {
	.gh-home .gh-pj-grid { gap: 10px; }
	.gh-home .gh-pj-card { flex-direction: row; align-items: flex-start; }
	.gh-home .gh-pj-card .gh-pj-visual { flex: none; aspect-ratio: auto; display: block; padding: 16px 0 0 14px; background: none; border-bottom: 0; }
	.gh-home .gh-pj-card .gh-pj-ico { width: 46px; height: 46px; }
	.gh-home .gh-pj-card .gh-pj-ico svg { width: 22px; height: 22px; }
	.gh-home .gh-pj-card .gh-pj-body { min-width: 0; padding: 14px 16px 16px 14px; }
	.gh-home .gh-pj-num { margin-bottom: 4px; }
}
/* Email addresses: the line breaks after the @ (marked in the markup); inside the address only as a last resort on very narrow screens */
a[href^="mailto:"] { overflow-wrap: break-word; word-break: normal; }
/* Branches on phones: the doctors' OPD timings inside a satellite OPD card lose their extra boxes, so names and times use the full width */
@media (max-width: 560px) {
	.gh-brp2-sat { padding: 20px 16px; }
	.gh-brp2-sat .gh-brp2-opd { padding: 0; border: 0; border-radius: 0; background: none; }
	.gh-brp2-sat .gh-brp2-opd li { padding: 10px 0; gap: 12px; border: 0; border-top: 1px solid #F0E4D6; border-radius: 0; background: none; }
	.gh-brp2-sat .gh-brp2-opdphoto, .gh-brp2-sat .gh-brp2-opd .gh-docphoto, .gh-brp2-sat .gh-brp2-opd .gh-docmono { width: 48px; height: 48px; }
}
/* Small labels: nothing below 11.5px */
.gh-sticky-label, .gh-review-verified, .gh-vid-state, .gh-vlib-tag, .gh-vlib-lang, .gh-vid-overlay-badge, .gh-emg-linklabel, .gh-docp-socialbar-tag { font-size: 11.5px !important; }
/* Digestive Health: space between the orange hero and the organ chip row (a more specific page rule had reset it to 0) */
.gh-docp .gh-dhp-jump { margin-top: 22px; }
/* Tablets: the Digestive Health and Vascular lists in the phone-style menu use two columns, so the open menu is half as long */
@media (min-width: 769px) and (max-width: 1099px) {
	.site-mega-dh-organs { column-count: 2; column-gap: 28px; }
	.site-mega-dh-organs .site-mega-col, .site-mega-dh-ocol { break-inside: avoid; }
	.site-mega-dh-ocol { display: contents; }
	.site-mega-vasc .site-mega-vasc-conds ul { column-count: 2; column-gap: 24px; }
	.site-mega-vasc .site-mega-vasc-conds li { break-inside: avoid; }
}
/* PASS 119a: the floating Call / WhatsApp / Book box (769px and up) has a set width - Call and WhatsApp equal, Book wider for its
   longer label. Before, the box sized itself to its labels, which squeezed "Call" to about 28px */
@media (min-width: 769px) {
	.gh-sticky-toolbar { width: 372px; max-width: calc(100vw - 32px); }
	.gh-sticky-toolbar .gh-sticky-btn { flex: 1 1 0; min-width: 0; padding-left: 8px; padding-right: 8px; }
	.gh-sticky-toolbar .gh-sticky-btn-book { flex-grow: 1.6; }
}
/* logged-in admins only: the WordPress admin bar sits over the top of the page, so the pinned header starts below it */
.admin-bar .site-header { top: calc(32px - var(--gh-topbar-h, 0px)); }
@media screen and (max-width: 782px) { .admin-bar .site-header { top: calc(46px - var(--gh-topbar-h, 0px)); } }
@media screen and (max-width: 600px) { .admin-bar .site-header { top: calc(-1 * var(--gh-topbar-h, 0px)); } }

/* ===== PASS 122: internal links - department line, Cancer Care strip, videos on this topic, doctor's pages, emergency "Read about", virtual tour / about links ===== */
.gh-subp-deptline { margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed var(--gh-line, #E6DACB); font-size: 14px; line-height: 1.6; }
.gh-subp-deptline a, .gh-emgp2-read a, .gh-vlib-read a { color: var(--gh-primary-dark, #892728); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(137,39,40,0.35); text-underline-offset: 3px; }
.gh-cancer-strip { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 12px 16px; border-radius: 14px; background: #FBF1E6; border: 1px solid rgba(238,125,5,0.3); color: #5E1719; text-decoration: none; }
.gh-cancer-strip:hover, .gh-cancer-strip:focus-visible { border-color: rgba(137,39,40,0.45); box-shadow: 0 6px 18px rgba(137,39,40,0.08); }
.gh-cancer-strip-ico { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: #fff; color: #892728; }
.gh-cancer-strip-txt { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.5; }
.gh-cancer-strip-txt strong { display: inline; margin-right: 6px; font-weight: 800; color: #892728; }
.gh-cancer-strip-txt em { font-style: normal; color: #5a4a46; }
.gh-cancer-strip-cta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; border: 1.5px solid #892728; color: #892728; font-weight: 700; font-size: 13.5px; white-space: nowrap; background: #fff; }
.gh-cancer-strip-dept { margin: 26px 0 0; }
@media (max-width: 640px) { .gh-cancer-strip { flex-wrap: wrap; } .gh-cancer-strip-txt { flex-basis: calc(100% - 52px); } .gh-cancer-strip-cta { margin-left: 50px; } }
.gh-subp-videos .gh-docp-h2 { display: flex; align-items: center; gap: 8px; }
.gh-subp-videos .gh-docp-h2 svg { color: var(--gh-orange, #EE7D05); flex: 0 0 auto; }
.gh-docp-pages-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 26px; margin-top: 8px; }
.gh-docp-pages-h3 { margin: 6px 0 6px; font-size: 13px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gh-gold, #C98A2E); }
@media (max-width: 640px) { .gh-docp-pages-grid { grid-template-columns: minmax(0, 1fr); } }
.gh-cancerp-doch { margin: 34px 0 14px; font-size: 18px; font-weight: 800; color: #2A2220; }
.gh-cancerp .gh-subp-deptline { margin-top: 18px; border-top: 0; padding-top: 0; }
.gh-emgp2-read { margin: 12px 0 0; padding-top: 10px; border-top: 1px dashed rgba(137,39,40,0.2); font-size: 13.5px; line-height: 1.7; }
.gh-emgp2-readlabel, .gh-vlib-readlabel { font-weight: 700; color: var(--gh-gold, #C98A2E); }
.gh-vlib-cards > li { display: flex; flex-direction: column; }
.gh-vlib-read { margin: 6px 4px 0; font-size: 12.5px; line-height: 1.55; }
.gh-vtlink { display: inline-flex; align-items: center; gap: 6px; }
.gh-vtlink svg { flex: 0 0 auto; }
.gh-infop-panel .gh-vtlink, .gh-infop-mapcard .gh-vtlink, .gh-brp2-maincard .gh-vtlink { margin-top: 12px; }
.gh-about-more { margin: 18px 0 0; }
.gh-cancerp #team h3.gh-cancerp-doch { margin: 40px 0 16px; }
@media (min-width: 1100px) { .gh-hub-dgrid.gh-cancerp-docs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 700px) and (max-width: 1099px) { .gh-hub-dgrid.gh-cancerp-docs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gh-vlib-cards > li > .gh-vid-card { min-height: 0; flex: 1 1 auto; }
.gh-vlib-read { flex: 0 0 auto; }
.gh-hub-when .gh-docp-emnums { margin: 12px 0 0; font-size: 14.5px; line-height: 1.6; }
.gh-hub-when .gh-docp-emnums a { color: #892728; font-weight: 700; text-decoration: none; }
.gh-hub-when .gh-docp-emnums a:hover { text-decoration: underline; }
.gh-vlib-read { min-height: 3.1em; }

/* ===== PASS 123: doctor profiles - one "Conditions and procedures" card (links + specific treatments and interests) ===== */
.gh-docp-detail { margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--gh-line, #E6DACB); }
.gh-docp-detail .gh-docp-list { margin-top: 4px; }
.gh-docp-pages > .gh-docp-note:last-child { margin-top: 14px; margin-bottom: 0; }

/* ===== PASS 124: 20 new doctor videos - frame fallback for cards without a poster; Cancer Care video section ===== */
.gh-vid-thumbvid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; background: #4f1617; }
.gh-cancerp-videos .gh-hub-lead { margin-bottom: 22px; }
/* pass 124a/124b: portrait (9/16) videos - the whole tall poster is shown in the card (dark bars at the sides), so the face is
   never cropped wherever it sits in the frame */
.gh-vid-thumb.gh-vid-thumb-tall { background-color: #1f1514; background-image: none; background-size: contain; background-position: center; background-repeat: no-repeat; }
.gh-vid-thumb.gh-vid-thumb-tall[style] { background-color: #1f1514; }
.gh-vid-thumb-tall .gh-vid-thumbvid { object-fit: contain; object-position: center; background: #1f1514; }

/* ===== PASS 125: homepage "Patient Stories" - 4 patient experience videos (links to /videos/), under Google Reviews ===== */
.gh-section.gh-pstory { padding-top: 0; }
.gh-pstory-cards { margin: 0; }
.gh-pstory-card { text-decoration: none; color: inherit; }
.gh-pstory-card:hover .gh-vid-short, .gh-pstory-card:focus-visible .gh-vid-short { text-decoration: underline; }
.gh-pstory-note { margin: 18px auto 0; max-width: 760px; text-align: center; font-size: 13px; line-height: 1.6; color: #6B5F5A; font-style: italic; }
/* pass 125a: pop-up player for Patient Stories */
.gh-pstory-more { margin: 14px 0 0; text-align: center; }
.gh-pstory-more a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--gh-primary-dark, #892728); text-decoration: none; }
.gh-pstory-more a:hover { text-decoration: underline; }
.gh-pmodal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(20, 12, 11, 0.82); }
.gh-pmodal[hidden] { display: none; }
.gh-pmodal-box { position: relative; width: min(960px, 100%); }
.gh-pmodal-frame { position: relative; aspect-ratio: 16 / 9; width: 100%; background: #000; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.45); }
.gh-pmodal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.gh-pmodal-title { margin: 12px 4px 0; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.45; }
.gh-pmodal-close { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: #fff; color: #892728; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,0.3); }
.gh-pmodal-close:hover, .gh-pmodal-close:focus-visible { background: #FBF1E6; outline: 2px solid #EE7D05; outline-offset: 2px; }
html.gh-pmodal-open, html.gh-pmodal-open body { overflow: hidden; }
@media (max-width: 640px) { .gh-pmodal { padding: 12px; } .gh-pmodal-frame { border-radius: 8px; } }

/* ===== PASS 126: shared pop-up video player - Previous / Next bar, portrait videos ===== */
.gh-pmodal-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin-top: 12px; }
.gh-pmodal-bar .gh-pmodal-title { flex: 1 1 260px; margin: 0 4px; }
.gh-pmodal-nav { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.gh-pmodal-nav[hidden] { display: none; }
.gh-pmodal-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 14px; border: 0; border-radius: 999px; background: #fff; color: #892728; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.gh-pmodal-btn:hover, .gh-pmodal-btn:focus-visible { background: #FBF1E6; outline: 2px solid #EE7D05; outline-offset: 2px; }
.gh-pmodal-btn:disabled { opacity: 0.4; cursor: default; outline: 0; background: #fff; }
.gh-pmodal-count { color: #fff; font-size: 13px; font-weight: 700; min-width: 46px; text-align: center; }
.gh-pmodal-frame video { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; }
.gh-pmodal { overflow-y: auto; }
.gh-pmodal-box { margin: auto; }
.gh-pmodal-box.is-tall { width: min(100%, calc((100vh - 270px) * 9 / 16), 420px); min-width: 220px; }
.gh-pmodal-frame.is-tall { aspect-ratio: 9 / 16; }
.gh-pmodal-box.is-tall .gh-pmodal-bar { flex-direction: column; align-items: stretch; }
.gh-pmodal-box.is-tall .gh-pmodal-nav { justify-content: space-between; }
@media (max-width: 640px) {
	.gh-pmodal { align-items: center; }
	.gh-pmodal-box.is-tall { width: min(100%, calc((100vh - 250px) * 9 / 16)); }
	.gh-pmodal-close { top: -46px; }
	.gh-pmodal-bar { flex-direction: column; align-items: stretch; }
	.gh-pmodal-nav { justify-content: space-between; }
}
/* pass 126: stacked bar - title takes only its own height; room above the box for the close button */
.gh-pmodal { padding-top: 64px; }
.gh-pmodal-box.is-tall .gh-pmodal-bar .gh-pmodal-title { flex: 0 0 auto; }
@media (max-width: 640px) { .gh-pmodal { padding: 58px 12px 12px; } .gh-pmodal-bar .gh-pmodal-title { flex: 0 0 auto; } }
/* pass 126a: portrait videos - the Previous / Next bar stays within the video's width, centred under it */
@media (min-height: 700px) { .gh-pmodal-box.is-tall { min-width: min(100%, 296px); } }
@media (max-height: 699px) { .gh-pmodal-box.is-tall .gh-pmodal-btn { padding: 7px 9px; font-size: 13px; gap: 4px; } .gh-pmodal-box.is-tall .gh-pmodal-nav { gap: 4px; } .gh-pmodal-box.is-tall .gh-pmodal-count { min-width: 34px; font-size: 12px; } }
.gh-pmodal-box.is-tall .gh-pmodal-bar { width: 100%; }
.gh-pmodal-box.is-tall .gh-pmodal-nav { width: 100%; gap: 6px; }
.gh-pmodal-box.is-tall .gh-pmodal-btn { padding: 8px 12px; font-size: 13.5px; }
.gh-pmodal-box.is-tall .gh-pmodal-count { min-width: 40px; }
.gh-pmodal-box.is-tall .gh-pmodal-title { margin: 0 2px; }
.gh-pmodal-box:not(.is-tall) { width: min(960px, 100%, calc((100vh - 190px) * 16 / 9)); } /* pass 126a: wide videos also fit short screens */
/* pass 126b: Copy link button in the pop-up player */
.gh-pmodal-copy { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.55); }
.gh-pmodal-copy:hover, .gh-pmodal-copy:focus-visible { background: rgba(255,255,255,0.12); color: #fff; }
.gh-pmodal-copy.is-copied { background: #fff; color: #1f7a3f; border-color: #fff; }
.gh-pmodal-box.is-tall .gh-pmodal-copy { align-self: center; }
@media (max-width: 640px) { .gh-pmodal-copy { align-self: center; } }
.gh-pmodal .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* ===== PASS 126c: Copy link polish - same style as Previous / Next, in one row, small "Link copied" pill above it ===== */
.gh-pmodal-btn[hidden], .gh-pmodal-count[hidden] { display: none; }
.gh-pmodal-copy, .gh-pmodal-copy:hover, .gh-pmodal-copy:focus-visible, .gh-pmodal-copy.is-copied { position: relative; border: 0; color: #892728; }
.gh-pmodal-copy { background: #fff; }
.gh-pmodal-copy:hover, .gh-pmodal-copy:focus-visible { background: #FBF1E6; }
.gh-pmodal-copy.is-copied { background: #fff; }
.gh-pmodal-copy.is-copied svg { color: #1f7a3f; }
.gh-pmodal-nav .gh-pmodal-copy { margin-left: 6px; }
.gh-pmodal-copied { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 2; padding: 5px 11px; border-radius: 999px; background: #1f7a3f; color: #fff; font-size: 12.5px; font-weight: 700; line-height: 1.3; white-space: nowrap; box-shadow: 0 6px 16px rgba(0,0,0,0.3); pointer-events: none; animation: ghCopiedIn 0.18s ease-out; }
.gh-pmodal-copied::after { content: ""; position: absolute; right: 18px; top: 100%; border: 6px solid transparent; border-top-color: #1f7a3f; }
.gh-pmodal-copied[hidden] { display: none; }
@keyframes ghCopiedIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
/* narrow players (portrait videos, phones): Copy link shows its icon only so the row fits */
.gh-pmodal-box.is-tall .gh-pmodal-copytext { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gh-pmodal-box.is-tall .gh-pmodal-copy { padding-left: 11px; padding-right: 11px; margin-left: 0; }
.gh-pmodal-box.is-tall .gh-pmodal-copy, .gh-pmodal-box.is-tall .gh-pmodal-copy:hover { align-self: auto; }
@media (max-width: 640px) {
	.gh-pmodal-copytext { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.gh-pmodal-copy { padding-left: 11px; padding-right: 11px; align-self: auto; }
	.gh-pmodal-nav .gh-pmodal-copy { margin-left: 0; }
}
.gh-pmodal-nav .gh-pmodal-copy, .gh-pmodal-box.is-tall .gh-pmodal-nav .gh-pmodal-copy { margin-left: auto; } /* pass 126c: Copy link always ends the row (room for the pill) */
@media (max-width: 640px) { .gh-pmodal-nav .gh-pmodal-copy { margin-left: auto; } }

/* ==========================================================================
   PASS 126e - featured video above the /videos/ and doctor-profile libraries opens the pop-up player
   ========================================================================== */
.gh-vid-stagebtn { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.gh-vid-stagebtn[hidden] { display: none; }
.gh-vid-stagebtn .gh-vid-play { width: 68px; height: 68px; background: var(--gh-orange, #EE7D05); color: #fff; }
.gh-vid-stagebtn:hover .gh-vid-play, .gh-vid-stagebtn:focus-visible .gh-vid-play { transform: scale(1.08); }
.gh-vid-stagebtn:focus-visible { outline: 3px solid #E9C27A; outline-offset: -3px; border-radius: 16px; }
.gh-vlib-featured.is-vp .gh-vid-stage:has(> .gh-vid-stagebtn:not([hidden])) .gh-vid-ytbtn .gh-vid-play { display: none; } /* one play button: ours */
[data-gh-vp-group] .gh-vid-state { display: none !important; }
@media (max-width: 480px) { .gh-vid-stagebtn .gh-vid-play { width: 54px; height: 54px; } }

/* ==========================================================================
   PASS 127 - "For Appointment in Bharuch, Navsari and Vapi: 9925522337" (gh_satellite_appt_line in inc/gh-branches-data.php)
   ========================================================================== */
.gh-opdappt { margin: 12px 0 0; font-size: 15px; line-height: 1.5; color: #2A2220; overflow-wrap: anywhere; }
.gh-opdappt-label { font-weight: 600; }
.gh-opdappt a.gh-opdappt-num { font-weight: 800; color: #892728; text-decoration: none; white-space: nowrap; }
.gh-opdappt a.gh-opdappt-num:hover, .gh-opdappt a.gh-opdappt-num:focus-visible { text-decoration: underline; }
.gh-opdappt-lead { margin: 0 0 22px; font-size: 16px; }
.gh-visit-satellites .gh-opdappt-lead { margin: -4px auto 22px; text-align: center; }
.gh-opdappt-box { padding: 10px 12px; border-radius: 10px; background: #FBF4EA; border: 1px solid #EBDCC6; font-size: 14.5px; }
.gh-opdappt-box .gh-opdappt-label { display: block; font-size: 13.5px; color: #5A4A44; }
.gh-opdappt-box a.gh-opdappt-num { font-size: 17px; }
.gh-opdappt-emg { margin-top: 12px; }
.gh-opdappt-footer { font-weight: 500; }
.gh-opdappt-footer .gh-opdappt-label { font-weight: 500; }
.gh-opdappt-footer a.gh-opdappt-num { color: #fff; font-weight: 700; text-decoration: none; white-space: nowrap; }

/* ==========================================================================
   PASS 128 - GALLERY (/gallery/, page-gallery.php, main.js ghGallery)
   ========================================================================== */
.gh-galp-jump { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 22px; padding-bottom: 6px; }
.gh-galp-jump a { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 14px; border: 1px solid #E6DACB; border-radius: 999px; background: #fff; color: #892728; font-size: 14px; font-weight: 700; text-decoration: none; }
.gh-galp-jump a:hover, .gh-galp-jump a:focus-visible { background: #FBF1E6; border-color: #EE7D05; }
.gh-galp-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 960px) { .gh-galp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 520px) { .gh-galp-grid { grid-template-columns: minmax(0, 1fr); } }
.gh-galp-item { margin: 0; }
.gh-galp-link { display: block; overflow: hidden; border-radius: 14px; border: 1px solid #E6DACB; background: #1a0f0f; aspect-ratio: 3 / 2; }
.gh-galp-link img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.gh-galp-link:hover img, .gh-galp-link:focus-visible img { transform: scale(1.04); }
.gh-galp-link:focus-visible { outline: 3px solid #EE7D05; outline-offset: 3px; }
.gh-galp-cap { margin: 8px 2px 0; font-size: 14.5px; line-height: 1.45; font-weight: 600; color: #2A2220; }
@media (prefers-reduced-motion: reduce) { .gh-galp-link img { transition: none; } .gh-galp-link:hover img { transform: none; } }
.gh-galp-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.gh-galp-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 16px; border-radius: 999px; background: #fff; border: 1px solid #E6DACB; color: #892728; font-weight: 700; text-decoration: none; }
.gh-galp-links a:hover, .gh-galp-links a:focus-visible { border-color: #EE7D05; background: #FBF1E6; }
/* viewer */
.gh-galp-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 64px 16px 16px; background: rgba(20, 12, 11, 0.9); }
.gh-galp-modal[hidden] { display: none; }
html.gh-galp-open, html.gh-galp-open body { overflow: hidden; }
.gh-galp-box { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; max-width: 1200px; max-height: 100%; }
.gh-galp-fig { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; min-height: 0; max-width: 100%; }
.gh-galp-fig img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 190px); max-height: calc(100dvh - 190px); border-radius: 10px; background: #1a0f0f; object-fit: contain; }
.gh-galp-fig figcaption { color: #fff; font-size: 15px; font-weight: 600; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.gh-galp-close { position: absolute; top: -52px; right: 0; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: #fff; color: #892728; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,0.3); }
.gh-galp-close:focus-visible { outline: 3px solid #EE7D05; outline-offset: 2px; }
.gh-galp-nav { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: nowrap; }
.gh-galp-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 8px 16px; border: 0; border-radius: 999px; background: #fff; color: #892728; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.gh-galp-btn:hover, .gh-galp-btn:focus-visible { background: #FBF1E6; outline: 2px solid #EE7D05; outline-offset: 2px; }
.gh-galp-count { min-width: 56px; text-align: center; color: #fff; font-size: 14px; font-weight: 700; }
@media (max-width: 480px) { .gh-galp-btn { padding: 8px 12px; font-size: 13.5px; } .gh-galp-fig img { max-height: calc(100vh - 210px); max-height: calc(100dvh - 210px); } }
.gh-galink { display: inline-flex; align-items: center; gap: 6px; }
.gh-galink svg { flex: 0 0 auto; }
.gh-infop-panel .gh-galink { margin-top: 12px; }
.gh-infop-morelink .gh-vtlink + .gh-galink { margin-left: 18px; }
.gh-techp2-galmore { margin-top: 16px; }
.gh-galp .gh-galp-jump { padding-top: 28px; padding-bottom: 8px; } /* pass 128a: space below the orange hero */
/* pass 128b: full rows (6-column grid: large photos span 3, smaller span 2), tighter sections */
.gh-galp .gh-galp-sec { padding: 40px 0; }
.gh-galp .gh-galp-sec .gh-hub-h2 { margin-bottom: 18px; }
.gh-galp .gh-galp-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.gh-galp .gh-galp-s3 { grid-column: span 3; }
.gh-galp .gh-galp-s2 { grid-column: span 2; }
@media (max-width: 960px) { .gh-galp .gh-galp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .gh-galp .gh-galp-s3, .gh-galp .gh-galp-s2 { grid-column: auto; } .gh-galp .gh-galp-odd > li:first-child { grid-column: 1 / -1; } .gh-galp .gh-galp-sec { padding: 32px 0; } }
@media (max-width: 520px) { .gh-galp .gh-galp-grid { grid-template-columns: minmax(0, 1fr); } .gh-galp .gh-galp-odd > li:first-child { grid-column: auto; } }
/* pass 129: tour videos row on /gallery/ */
.gh-galp-tour .gh-hub-lead { margin-bottom: 16px; }
.gh-galp-tour .gh-vid-short { font-weight: 700; }
/* pass 131: operation theatre clips (/gallery/ + Technology page) - upright phone clips shown in tall cards */
.gh-galp-thumbtall { aspect-ratio: 9 / 16; }
.gh-galp-clips5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gh-galp-clips5 > li:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 6px); }
@media (min-width: 700px) { .gh-galp-clips5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gh-galp-clips5 > li:last-child:nth-child(odd) { grid-column: auto; width: auto; justify-self: stretch; } }
@media (min-width: 1000px) { .gh-galp-clips5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.gh-galp-clips2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 480px; }
@media (min-width: 700px) { .gh-galp-clips2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gh-techp2-otvid { margin-top: 26px; }
.gh-techp2-otvid-h { margin: 0 0 12px; font-size: 19px; font-weight: 800; color: #892728; }
.gh-techp2-otvid-more { margin: 10px 0 0; }

/* ---------- TOUR MOBILE PLAYER (pass 138): /virtual-tour/ on phones - a view opens in a full-screen 360° player ---------- */
.gh-tour-cover, .gh-tour-hint-mob { display: none; }
@media (max-width: 899px) {
	.gh-tour-cover { display: flex; position: absolute; inset: 0; z-index: 2; flex-direction: column; align-items: center; justify-content: center; gap: 10px; border: 0; padding: 20px; margin: 0; cursor: pointer; background-color: #2A0E0F; background-size: cover; background-position: center; color: #fff; font: inherit; text-align: center; }
	.gh-tour-cover::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42,14,15,0.30), rgba(42,14,15,0.78)); }
	.gh-tour-cover > span { position: relative; }
	.gh-tour-cover-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 999px; background: var(--gh-orange, #EE7D05); font-weight: 800; font-size: 16px; box-shadow: 0 8px 20px rgba(0,0,0,0.25); }
	.gh-tour-cover-note { font-size: 13px; font-weight: 600; opacity: 0.92; }
	.gh-tour-cover:focus-visible { outline: 3px solid #FFC27A; outline-offset: -3px; }
	.gh-tour-stage .gh-tour-nav, .gh-tour-hint-desk { display: none; }
	.gh-tour-hint-mob { display: block; }
}
.gh-tourm { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: #140A0A; color: #fff; padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); }
.gh-tourm[hidden] { display: none; }
.gh-tourm-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px 8px 18px; background: var(--gh-primary-dark, #892728); }
.gh-tourm-title { margin: 0; font-weight: 800; font-size: 16px; color: #fff; }
.gh-tourm-close { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.16); color: #fff; cursor: pointer; padding: 0; }
.gh-tourm-close:focus-visible { outline: 3px solid #FFC27A; outline-offset: 2px; }
.gh-tourm-stage { position: relative; flex: 1 1 auto; min-height: 0; background: #000; }
.gh-tourm-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.gh-tourm-foot { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 10px 12px 14px; }
.gh-tourm-hint { margin: 0; font-size: 13px; color: rgba(255,255,255,0.85); text-align: center; }
.gh-tourm .gh-tourm-nav { position: static; transform: none; }
.gh-tourm [data-tourm-dir="-1"] .gh-ico, .gh-tourm [data-tourm-dir="-1"] .gh-icon { transform: rotate(90deg); }
.gh-tourm [data-tourm-dir="1"] .gh-ico, .gh-tourm [data-tourm-dir="1"] .gh-icon { transform: rotate(-90deg); }
html.gh-tourm-open, html.gh-tourm-open body { overflow: hidden; }
html.gh-tourm-open .gh-sticky-toolbar, html.gh-tourm-open .gh-back-to-top { display: none !important; }
.gh-tour-arrow[data-dir="-1"] .gh-ico { transform: rotate(90deg); } /* pass 138: the arrows used .gh-icon, but the icons carry .gh-ico, so both pointed down */
.gh-tour-arrow[data-dir="1"] .gh-ico { transform: rotate(-90deg); }
/* ---------- HOME TOUR MOBILE (pass 139): on phones the teaser shows the hospital photo; a tap opens the full-screen 360° player ---------- */
.gh-home-tour-preview { background-size: cover; background-position: center; }
@media (max-width: 899px) { .gh-home-tour-frame { display: none; } }

/* ---------- PASS 141: layout fixes from the 31 Oct audit ---------- */
/* 1. doctor OPD timings wrap instead of running off the card */
.gh-docp-opdrow { grid-template-columns: minmax(0, 1fr); }
.gh-docp-opdrow > * { min-width: 0; }
.gh-docp-opdslots .gh-docp-opdhours { white-space: normal; }
/* 2. "Other doctors in ..." cards in one row are the same height */
.gh-docp-peergrid > li { display: flex; min-width: 0; }
.gh-docp-peergrid > li > .gh-docp-peer { flex: 1 1 auto; }
/* 3. doctor card grids: a part-filled last row is centred (same card widths as before) */
.gh-docp-peergrid { display: flex; flex-wrap: wrap; justify-content: center; }
.gh-docp-peergrid > li { flex: 0 0 calc((100% - 14px) / 2); }
@media (min-width: 700px) { .gh-docp-peergrid > li { flex-basis: calc((100% - 28px) / 3); } }
@media (min-width: 1024px) { .gh-docp-peergrid > li { flex-basis: calc((100% - 42px) / 4); } }
@media (min-width: 640px) {
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) { display: flex; flex-wrap: wrap; justify-content: center; }
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) > * { flex: 0 0 calc((100% - 18px) / 2); min-width: 0; }
}
@media (min-width: 900px) {
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) > * { flex-basis: calc((100% - 54px) / 4); }
  .gh-hub-dgrid.gh-hub-dgrid-2 > * { flex-basis: min(280px, calc((100% - 18px) / 2)); }
  .gh-hub-dgrid.gh-hub-dgrid-3 > * { flex-basis: min(280px, calc((100% - 36px) / 3)); }
}
@media (min-width: 700px) and (max-width: 1099px) { .gh-hub-dgrid.gh-cancerp-docs > * { flex-basis: calc((100% - 36px) / 3); } }
@media (min-width: 1100px) { .gh-hub-dgrid.gh-cancerp-docs > * { flex-basis: calc((100% - 64px) / 5); } }
.gh-docarch2-grid { display: flex; flex-wrap: wrap; justify-content: center; }
.gh-docarch2-grid > * { flex: 0 0 100%; min-width: 0; }
@media (max-width: 639px) { .gh-docarch2-grid > * { flex-basis: calc((100% - 14px) / 2); } .gh-docarch2-grid > .gh-docarch2-card:only-child { flex-basis: 100%; } }
@media (min-width: 640px) { .gh-docarch2-grid > * { flex-basis: calc((100% - 22px) / 2); } }
@media (min-width: 900px) { .gh-docarch2-grid > * { flex-basis: calc((100% - 44px) / 3); } }
@media (min-width: 1200px) { .gh-docarch2-grid > * { flex-basis: calc((100% - 66px) / 4); } }
/* the wider cards must not leave one branch chip alone on its line */
@media (min-width: 900px) { .gh-docarch2-at ul { display: block; text-align: center; text-wrap: balance; font-size: 0; } .gh-docarch2-at li { display: inline-block; margin: 3px; font-size: 12.5px; } }
/* 4. no "|" left hanging in page titles on phones - the second part starts its own line */
@media (max-width: 767px) {
  .gh-carep-title-sep { display: none; }
  .gh-carep-title-b { display: block; }
}
/* 5. footer legal links: lines balanced when they wrap, so no single link sits alone (centred on phones and tablets) */
.gh-footer-legal-links { display: block; text-wrap: balance; }
.gh-footer-legal-links li { display: inline-block; margin: 0 22px 0 0; }
.gh-footer-legal-links li:last-child { margin-right: 0; }
@media (max-width: 768px) {
  .gh-footer-legal-links { text-align: center; }
  .gh-footer-legal-links li, .gh-footer-legal-links li:last-child { margin: 0 9px; }
}

/* ---------- PASS 142: no text cut off on phones (incl. phones set to larger text) ---------- */
/* a word longer than its box (e.g. "Gastroenterologist" in a two-column card) breaks inside the box instead of being cut off */
@media (max-width: 767px) { main, .gh-footer { overflow-wrap: break-word; } }
/* /doctors/ two-column cards on small phones: room for the longest job-title word at normal text size */
@media (max-width: 400px) {
  .gh-docarch2-body { padding-left: 8px; padding-right: 8px; }
  .gh-docarch2-desig { font-size: 13px; }
  .gh-docarch2-quals { font-size: 12.5px; }
  .gh-docarch2-lead { left: 8px; top: 8px; padding: 4px 8px; font-size: 10px; letter-spacing: 0.03em; white-space: nowrap; }
}
/* homepage "hospital at a glance" line items may wrap on narrow screens instead of running off */
@media (max-width: 480px) { ul.gh-hc-proof > li, ul.gh-hc-proof > li > span { white-space: normal; min-width: 0; } }
/* long words in these flex rows may break inside their own box (they used to push the box wider than the screen) */
.gh-carep-hero-inner > div, .gh-deptx2-head, .gh-deptx2-head > .gh-deptx2-name, .gh-deptx2-body { min-width: 0; }
/* FAQ "Jump to a topic" boxes on small phones: one per line, so the topic name and its count badge always fit */
@media (max-width: 400px) {
  .gh-faqp2-strip ul { grid-template-columns: minmax(0, 1fr); }
  .gh-faqp2-strip a em { flex: none; }
}
/* page titles on small phones: one size smaller, so long medical words ("Cholangioscopy", "Atherosclerosis") fit on the line */
@media (max-width: 400px) { .gh-carep-title { font-size: 23px; } }

/* ---------- PASS 143: doctor grids never leave one card alone on a row ---------- */
/* /doctors/ on laptops and desktops: every group uses the same card size (four across);
   a group of five shows 3 + 2 and a group of six 3 + 3, both centred, so no card sits alone */
@media (min-width: 900px) {
  .gh-docarch2-grid > * { flex-basis: calc((100% - 66px) / 4); }
  .gh-docarch2-grid > :first-child:nth-last-child(5),
  .gh-docarch2-grid > :first-child:nth-last-child(6),
  .gh-docarch2-grid > :first-child:nth-last-child(6) ~ :nth-child(4) { margin-left: calc((100% - 66px) / 8 + 10px); }
  .gh-docarch2-grid > :first-child:nth-last-child(5) ~ :nth-child(3),
  .gh-docarch2-grid > :first-child:nth-last-child(6) ~ :nth-child(3),
  .gh-docarch2-grid > :first-child:nth-last-child(6) ~ :nth-child(6) { margin-right: calc((100% - 66px) / 8 + 10px); }
}
/* /doctors/ on phones and tablets (two across): in a group with an odd number of doctors the first card
   (the department lead) spans the full width and the rest pair up - on tablets as a wide card (photo left, details right),
   on phones as a featured card with a wider, shorter photo */
@media (max-width: 639px) {
  .gh-docarch2-grid > .gh-docarch2-card:first-child:nth-last-child(2n+3) { flex-basis: 100%; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) > .gh-docarch2-photo { aspect-ratio: 16 / 10; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) > .gh-docarch2-body { padding-left: 16px; padding-right: 16px; }
}
@media (min-width: 640px) and (max-width: 899px) {
  .gh-docarch2-grid > .gh-docarch2-card:first-child:nth-last-child(2n+3) { flex-basis: 100%; display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr); grid-template-rows: 1fr auto; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) > .gh-docarch2-photo { grid-row: 1 / span 2; align-self: start; aspect-ratio: 1 / 1; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) > .gh-docarch2-body { text-align: left; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) .gh-docarch2-at { align-items: flex-start; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) .gh-docarch2-at ul { justify-content: flex-start; }
  .gh-docarch2-card:first-child:nth-last-child(2n+3) > .gh-docarch2-more { grid-column: 2; text-align: left; border-top: 0; }
}
/* department and Cancer Care doctor lists: three or five doctors on a tablet show 3 across (3, or 3 + 2) */
@media (min-width: 640px) and (max-width: 899px) {
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) > :first-child:nth-last-child(3),
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) > :first-child:nth-last-child(3) ~ *,
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) > :first-child:nth-last-child(5),
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide) > :first-child:nth-last-child(5) ~ * { flex-basis: calc((100% - 36px) / 3); }
}
/* five doctors on a laptop/desktop (four across): 3 + 2, centred, same card size */
@media (min-width: 900px) {
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide):not(.gh-cancerp-docs) > :first-child:nth-last-child(5) { margin-left: calc((100% - 54px) / 8 + 8px); }
  .gh-hub-dgrid:not(.gh-hub-dgrid-wide):not(.gh-cancerp-docs) > :first-child:nth-last-child(5) ~ :nth-child(3) { margin-right: calc((100% - 54px) / 8 + 8px); }
}
/* "Other doctors in ..." on doctor profiles: four doctors on a tablet sit 4 across;
   on phones an odd last card spans the full width as a wide card (photo left, name right) */
@media (min-width: 700px) and (max-width: 1023px) {
  .gh-docp-peergrid > li:first-child:nth-last-child(4),
  .gh-docp-peergrid > li:first-child:nth-last-child(4) ~ li { flex-basis: calc((100% - 42px) / 4); }
}
@media (max-width: 699px) {
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) { flex-basis: 100%; }
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) > .gh-docp-peer { display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto; align-content: center; justify-items: start; column-gap: 14px; row-gap: 2px; text-align: left; padding: 12px 14px; }
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) > .gh-docp-peer > img,
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) > .gh-docp-peer > .gh-docp-peer-noimg,
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) > .gh-docp-peer > .gh-docmono { grid-row: 1 / span 2; width: 64px; height: 64px; align-self: center; }
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) .gh-docp-peer-name { grid-column: 2; align-self: end; }
  .gh-docp-peergrid > li:last-child:nth-child(odd):not(:only-child) .gh-docp-peer-desig { grid-column: 2; align-self: start; }
}

/* ---------- PASS 144: card grids never leave one card alone; smaller back-to-top button on phones ---------- */
/* Pattern: a three-across grid is drawn on six tracks (each card spans two), so an incomplete last row of two
   sits in the middle (3 + 2 centred). On tablets (700-899px) these grids go three across where that divides evenly. */
/* About Us - support specialists (5) */
@media (min-width: 700px) {
  .gh-infop-support { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gh-infop-support > * { grid-column: span 2; }
  .gh-infop-support > :nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
}
/* Cancer Care - care team (3), facilities (5), how a cancer is diagnosed (5) */
@media (min-width: 700px) {
  .gh-infop-why.gh-cancerp-team, .gh-infop-why.gh-cancerp-fac { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gh-cancerp-team > *, .gh-cancerp-fac > * { grid-column: span 2; }
  .gh-cancerp-fac > :nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
}
@media (min-width: 900px) {
  .gh-infop-cards.gh-cancerp-diag { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gh-cancerp-diag > * { grid-column: span 2; }
  .gh-cancerp-diag > :nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
}
/* Digestive Health - organ cards (9): 3 x 3 from tablet up */
@media (min-width: 700px) { .gh-dhp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* homepage "Your Patient Journey" (9 steps): 3 x 3 from tablet up */
@media (min-width: 700px) { .gh-home .gh-pj-grid.gh-pj-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* Patient Information - "What happens after you book" (9 steps): 3 x 3 from tablet up (grids of 3, 6 or 9 steps only) */
@media (min-width: 700px) and (max-width: 899px) {
  .gh-infop-steps:has(> :first-child:nth-last-child(9)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Branches - doctors' OPD timings at the main hospital: on tablets an odd last doctor takes the full row */
@media (min-width: 640px) and (max-width: 899px) {
  .gh-brp2-opd-main ul > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* Second Opinion - "When a second opinion is worth considering" (5): 3 + 2 centred from tablet up */
@media (min-width: 700px) {
  .gh-secop2-when { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gh-secop2-when li { grid-column: span 2; }
  .gh-secop2-when li:nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
}
/* Blog - "Browse by topic" (5): 3 + 2 centred on tablets and small laptops (five across from 1200px as before) */
@media (min-width: 700px) and (max-width: 1199px) {
  .gh-blog-topic-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gh-blog-topic-grid > .gh-blog-topic-card { grid-column: span 2; }
  .gh-blog-topic-grid > :nth-child(3n+1):nth-last-child(2) { grid-column: 2 / span 2; }
}
/* FAQs - help links (3): three across from tablet up */
@media (min-width: 700px) { .gh-faqp2-links { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* on narrow tablets (640-699px) still two across: an odd last card takes the full row instead of sitting alone */
@media (min-width: 640px) and (max-width: 699px) {
  .gh-infop-support > :last-child:nth-child(odd), .gh-cancerp-team > :last-child:nth-child(odd), .gh-cancerp-fac > :last-child:nth-child(odd),
  .gh-secop2-when > li:last-child:nth-child(odd), .gh-blog-topic-grid > :last-child:nth-child(odd), .gh-faqp2-links > :last-child:nth-child(odd),
  .gh-dhp-grid > :last-child:nth-child(odd), .gh-home .gh-pj-grid.gh-pj-grid > :last-child:nth-child(odd), .gh-infop-steps:not(.gh-bookp2-steps) > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* back-to-top on phones: smaller and tucked against the screen edge, so it covers far less of the page underneath */
@media (max-width: 768px) {
  .gh-back-to-top { width: 34px; height: 34px; right: 8px; bottom: calc(var(--gh-toolbar-h) + 8px); box-shadow: 0 4px 12px rgba(0,0,0,0.18); }
  .gh-back-to-top svg { width: 16px; height: 16px; }
}

/* ---------- PASS 145: About Us - a department group with one department shows it as one wide card (photo left, text right), not a half-width card with empty space beside it ---------- */
@media (min-width: 900px) {
  .gh-infop-depts.gh-infop-depts-1 { max-width: none; }
  .gh-infop-depts-1 .gh-infop-dept { flex-direction: row; }
  .gh-infop-depts-1 .gh-infop-deptimg { flex: 0 0 50%; aspect-ratio: 16 / 10; }
  .gh-infop-depts-1 .gh-infop-deptbody { justify-content: center; padding: 32px 36px; gap: 14px; }
  .gh-infop-depts-1 .gh-infop-deptbody p { font-size: 16px; }
  .gh-infop-depts-1 .gh-infop-deptbody .gh-hub-btn { margin-top: 6px; }
}
