/**
 * Site-wide unified text system — load last in <head> (after site-ui-polish.css).
 * Normalizes typography on pages with legacy inline <style> blocks (enroll, FAQ, home, partner).
 * Uses design tokens from tokens.css for consistent, responsive, interactive text.
 */

/* —— Core body copy (Inter — not Playfair) —— */
html.ha-unified body {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-main) !important;
    font-weight: 400 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html.ha-unified main p,
html.ha-unified main li,
html.ha-unified main td,
html.ha-unified main th,
html.ha-unified main label,
html.ha-unified main blockquote,
html.ha-unified main figcaption,
html.ha-unified main .section-text,
html.ha-unified main .section-text p,
html.ha-unified .content-card p,
html.ha-unified .content-card li,
html.ha-unified .legal-content p,
html.ha-unified .legal-content li {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-main) !important;
}

/* —— Heading scale (Playfair Display, fluid) —— */
html.ha-unified main h1,
html.ha-unified .page-title h1 {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: var(--text-3xl) !important;
    line-height: var(--leading-tight) !important;
    letter-spacing: var(--tracking-tight) !important;
    color: var(--dark-green) !important;
}

html.ha-unified main h2,
html.ha-unified .section-header h2 {
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    font-size: var(--text-2xl) !important;
    line-height: var(--leading-tight) !important;
    letter-spacing: var(--tracking-tight) !important;
    color: var(--dark-green) !important;
}

html.ha-unified main h3,
html.ha-unified .card-title,
html.ha-unified .step-card h3,
html.ha-unified .step-card h4 {
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    font-size: var(--text-xl) !important;
    line-height: var(--leading-tight) !important;
    color: var(--dark-green) !important;
}

html.ha-unified main h4,
html.ha-unified main h5 {
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    font-size: var(--text-lg) !important;
    line-height: var(--leading-tight) !important;
    color: var(--dark-green) !important;
}

/* —— Section titles & leads (site-wide pattern) —— */
html.ha-unified main .section-title,
html.ha-unified .content-card .section-title,
html.ha-unified .section-header .section-title {
    font-family: var(--font-display) !important;
    font-size: clamp(1.35rem, 2.8vw, 1.75rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: var(--dark-green) !important;
    margin: 0 0 10px !important;
    text-wrap: balance;
}

/* Content blocks — title, lead, and body stay left-aligned together */
html.ha-unified main .content-card,
html.ha-unified main > section.content-card,
html.ha-unified main > section.content-card--power,
html.ha-unified .content-card--power:not(.programs-page__card) {
    text-align: left;
}

html.ha-unified main .content-card .section-title,
html.ha-unified main > section.content-card .section-title,
html.ha-unified .content-card .section-title,
html.ha-unified main .content-card [class*="-head"] .section-title {
    text-align: left !important;
}

html.ha-unified main .section-power-lead,
html.ha-unified .content-card .section-power-lead {
    font-family: var(--font-body) !important;
    font-size: clamp(0.98rem, 1.8vw, 1.08rem) !important;
    font-weight: 500 !important;
    line-height: var(--leading-body) !important;
    color: var(--text-light) !important;
    max-width: 65ch !important;
    margin: 0 0 16px !important;
    text-align: left !important;
}

/* Centered section intros (home, enroll, calendar utility heroes) */
html.ha-unified .section-header {
    text-align: center;
}

html.ha-unified .section-header h2,
html.ha-unified .section-header .section-title {
    text-align: center !important;
}

html.ha-unified .section-header p,
html.ha-unified .section-header .section-power-lead {
    font-family: var(--font-body) !important;
    font-size: clamp(0.98rem, 1.8vw, 1.08rem) !important;
    font-weight: 500 !important;
    line-height: var(--leading-body) !important;
    color: var(--text-light) !important;
    max-width: 65ch !important;
    margin: 0 auto 16px !important;
    text-align: center !important;
}

html.ha-unified main .section-text,
html.ha-unified .content-card .section-text {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-main) !important;
    max-width: 72ch;
    text-align: left;
}

html.ha-unified main .section-text p + p,
html.ha-unified .content-card .section-text p + p {
    margin-top: 0.85em;
}

/* —— Cards & program tiles —— */
html.ha-unified .card-title,
html.ha-unified .program-card .card-title,
html.ha-unified .program-showcase-card .card-title {
    font-family: var(--font-display) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--dark-green) !important;
    text-wrap: balance;
}

html.ha-unified .card-desc,
html.ha-unified .program-card .card-desc,
html.ha-unified .program-showcase-card .card-desc {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-main) !important;
}

/* —— FAQ accordion text —— */
html.ha-unified .faq-category-header {
    font-family: var(--font-display) !important;
    font-size: clamp(1.05rem, 2.2vw, 1.25rem) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--dark-green) !important;
}

html.ha-unified .faq-question {
    font-family: var(--font-body) !important;
    font-size: clamp(0.95rem, 1.8vw, 1.05rem) !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    color: var(--text-main) !important;
}

html.ha-unified .faq-answer-inner,
html.ha-unified .faq-answer-inner p,
html.ha-unified .faq-answer-inner li {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-light) !important;
}

/* —— Enroll / step cards —— */
html.ha-unified .step-card,
html.ha-unified .step-card p,
html.ha-unified .step-card li,
html.ha-unified .enrollment-process p,
html.ha-unified .enrollment-process li {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-main) !important;
}

html.ha-unified .step-card h3,
html.ha-unified .step-card h4 {
    margin-bottom: 0.65em;
}

/* —— Legal & policy pages —— */
html.ha-unified .legal-content h3 {
    font-family: var(--font-display) !important;
    font-size: var(--text-xl) !important;
    font-weight: 600 !important;
    color: var(--dark-green) !important;
    margin-top: 1.75em;
    margin-bottom: 0.65em;
}

html.ha-unified .legal-content p,
html.ha-unified .legal-content li {
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-light) !important;
}

html.ha-unified .legal-content .policy-contact-cta p,
html.ha-unified .legal-content .policy-contact-cta__lead {
    color: rgba(255, 255, 255, 0.92) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

/* —— Tables —— */
html.ha-unified table,
html.ha-unified .ha-fee-table {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    line-height: 1.5 !important;
}

html.ha-unified th {
    font-weight: 700 !important;
    color: var(--dark-green) !important;
}

/* —— Buttons — readable, sentence case —— */
html.ha-unified .btn,
html.ha-unified a.btn,
html.ha-unified button.btn,
html.ha-unified .top-action-btn a {
    font-family: var(--font-body) !important;
    font-size: var(--text-sm) !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    line-height: 1.25 !important;
}

/* —— Muted / secondary text —— */
html.ha-unified .text-light,
html.ha-unified .muted,
html.ha-unified .card-meta,
html.ha-unified .programs-section__desc {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    line-height: var(--leading-body) !important;
    color: var(--text-light) !important;
}

html.ha-unified strong,
html.ha-unified b {
    font-weight: 700;
    color: var(--dark-green);
}

html.ha-unified .policy-contact-cta strong,
html.ha-unified .policy-contact-cta__headline strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* —— Interactive links in content —— */
html.ha-unified main a:not(.btn):not(.btn-card):not(.read-more):not(.nav-links a):not(.nav-logo):not([class*="-quick-nav"] a):not(.con-action-btn):not(.con-help-link):not(.programs-filter-bar button):not(.filter-btn):not([class*="program-action-bar"]):not(.program-hero-btn):not(.ha-syllabus-download__btn):not(.program-overview-facts a):not(.program-overview-summary a):not(.program-overview-fee-btn):not(.policy-contact-cta__chip):not(.policy-contact-cta__btn):not(.policy-meta__chip):not(.policy-download-btn):not(.policy-badge--link):not(.co-legal-link):not(.co-back-link):not(.co-detail-card__action):not(.home-cta-action):not(.calendar-hero-btn):not(.inst-training-cta) {
    color: var(--primary-green) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    text-decoration-color: rgba(0, 115, 5, 0.35);
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

html.ha-unified main a:not(.btn):not(.btn-card):not(.read-more):not(.nav-links a):not(.nav-logo):not([class*="-quick-nav"] a):not(.con-action-btn):not(.con-help-link):not(.programs-filter-bar button):not(.filter-btn):not([class*="program-action-bar"]):not(.program-hero-btn):not(.ha-syllabus-download__btn):not(.program-overview-facts a):not(.program-overview-summary a):not(.program-overview-fee-btn):not(.policy-contact-cta__chip):not(.policy-contact-cta__btn):not(.policy-meta__chip):not(.policy-download-btn):not(.policy-badge--link):not(.co-legal-link):not(.co-back-link):not(.co-detail-card__action):not(.home-cta-action):not(.calendar-hero-btn):not(.inst-training-cta):hover {
    color: var(--primary-hover) !important;
    text-decoration-color: var(--primary-hover);
}

html.ha-unified main a:not(.btn):focus-visible {
    outline: 2px solid var(--accent-blue);
    outline-offset: 3px;
    border-radius: 2px;
}

/* —— Text selection —— */
html.ha-unified ::selection {
    background: rgba(0, 115, 5, 0.18);
    color: var(--dark-green);
}

/* —— Lists —— */
html.ha-unified main ul:not(.nav-links):not(.footer-grid ul):not(.themes-list),
html.ha-unified main ol {
    padding-left: 1.25em;
    margin: 0 0 1.1em;
}

html.ha-unified main li {
    margin-bottom: 0.45em;
}

/* —— Site-wide text alignment (heroes, CTAs, legal, programs) —— */
html.ha-unified [class*="-hero"]:not(.content-card),
html.ha-unified section.hero,
html.ha-unified .program-hero,
html.ha-unified .page-hero {
    text-align: center;
}

html.ha-unified .programs-section__head,
html.ha-unified .programs-section__head .section-title,
html.ha-unified .programs-section__head .programs-section__desc {
    text-align: center;
}

html.ha-unified .con-action-band,
html.ha-unified .con-power-cta,
html.ha-unified .infra-power-cta,
html.ha-unified .ins-power-cta,
html.ha-unified .ins-path-band,
html.ha-unified .hwt-power-cta,
html.ha-unified .hwt-why-band,
html.ha-unified .about-power-cta,
html.ha-unified .programs-power-cta,
html.ha-unified .programs-cta-band,
html.ha-unified .cta-section:not(.content-card),
html.ha-unified .global-cta,
html.ha-unified .inst-card {
    text-align: center;
}

html.ha-unified .con-action-band .section-title,
html.ha-unified .con-action-band .section-power-lead,
html.ha-unified .con-power-cta .section-title,
html.ha-unified .con-power-cta .section-power-lead,
html.ha-unified .infra-power-cta .section-title,
html.ha-unified .infra-power-cta .section-power-lead,
html.ha-unified .infra-power-cta .section-text,
html.ha-unified .ins-power-cta .section-title,
html.ha-unified .ins-power-cta .section-power-lead,
html.ha-unified .ins-path-band .section-title,
html.ha-unified .ins-path-band .section-power-lead,
html.ha-unified .hwt-power-cta .section-title,
html.ha-unified .hwt-power-cta .section-power-lead,
html.ha-unified .hwt-power-cta .section-text,
html.ha-unified .about-power-cta .section-title,
html.ha-unified .about-power-cta .section-power-lead,
html.ha-unified .cta-section:not(.content-card) h2,
html.ha-unified .cta-section:not(.content-card) p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

html.ha-unified .legal-content,
html.ha-unified .legal-content p,
html.ha-unified .legal-content li,
html.ha-unified .legal-content h3,
html.ha-unified .faq-answer-inner,
html.ha-unified .faq-answer-inner p,
html.ha-unified article.prose,
html.ha-unified .blog-content,
html.ha-unified .page-blog-article__body {
    text-align: left;
}

html.ha-unified .page-title:not(.content-card .page-title) {
    text-align: center;
}

/* Card grids that are intentionally centered (stats, feature tiles) */
html.ha-unified .infra-why-card,
html.ha-unified .stat-item,
html.ha-unified .stats-grid .stat-item,
html.ha-unified .inst-card__icon {
    text-align: center;
}

/* Refund policy — dark contact CTA band */
html.ha-unified .policy-contact-cta,
html.ha-unified .legal-content .policy-contact-cta {
    text-align: left !important;
}

html.ha-unified .policy-contact-cta p,
html.ha-unified .policy-contact-cta__headline,
html.ha-unified .policy-contact-cta__lead,
html.ha-unified .legal-content .policy-contact-cta p,
html.ha-unified .legal-content .policy-contact-cta__headline,
html.ha-unified .legal-content .policy-contact-cta__lead {
    text-align: left !important;
    color: rgba(255, 255, 255, 0.94) !important;
    -webkit-text-fill-color: currentColor !important;
}

html.ha-unified .policy-contact-cta strong,
html.ha-unified .policy-contact-cta__headline strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.ha-unified a.policy-contact-cta__chip,
html.ha-unified .policy-contact-cta a.policy-contact-cta__chip {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.ha-unified a.policy-contact-cta__btn,
html.ha-unified .policy-contact-cta a.policy-contact-cta__btn,
html.ha-unified .legal-content a.policy-contact-cta__btn {
    color: #004b04 !important;
    -webkit-text-fill-color: #004b04 !important;
    text-decoration: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
}

html.ha-unified a.policy-contact-cta__btn:hover,
html.ha-unified a.policy-contact-cta__btn:focus-visible,
html.ha-unified .policy-contact-cta a.policy-contact-cta__btn:hover,
html.ha-unified .policy-contact-cta a.policy-contact-cta__btn:focus-visible {
    color: #004b04 !important;
    -webkit-text-fill-color: #004b04 !important;
}

html.ha-unified .policy-contact-cta__btn i {
    color: #c0392b !important;
    -webkit-text-fill-color: currentColor !important;
}

html.ha-unified .calendar-hero-btn.btn-outline,
html.ha-unified .calendar-hero-btn.btn-primary {
    text-decoration: none !important;
}

html.ha-unified .calendar-hero-btn.btn-outline {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.ha-unified .calendar-hero-btn.btn-primary {
    color: #004b04 !important;
    -webkit-text-fill-color: #004b04 !important;
}

html.ha-unified .inst-training-cta {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

html.ha-unified .co-back-link,
html.ha-unified .legal-content a.co-back-link {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

/* Policy meta — download PDF pill (dark green button, white label) */
html.ha-unified .policy-download-btn,
html.ha-unified .legal-content .policy-download-btn,
html.ha-unified .policy-meta .policy-download-btn {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
}

html.ha-unified .policy-download-btn:hover,
html.ha-unified .policy-download-btn:focus-visible {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.ha-unified .policy-download-btn i {
    color: #fecaca !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Dark CTA bands — never inherit main body text color */
html.ha-unified .programs-power-cta h2,
html.ha-unified .programs-power-cta p,
html.ha-unified .programs-power-cta .programs-cta-lead,
html.ha-unified .programs-cta-band h2,
html.ha-unified .programs-cta-band p,
html.ha-unified .programs-cta-band .programs-cta-lead {
    color: rgba(255, 255, 255, 0.94) !important;
}

html.ha-unified .programs-power-cta h2,
html.ha-unified .programs-cta-band h2 {
    color: #ffffff !important;
}

html.ha-unified .programs-power-cta .programs-cta-eyebrow,
html.ha-unified .programs-cta-band .programs-cta-eyebrow {
    color: #d1fae5 !important;
}

/* About page — learning sequence on dark band */
html.ha-unified .about-sequence-strip p,
html.ha-unified .about-seq-band p,
html.ha-unified .about-seq-title,
html.ha-unified .about-seq-hint {
    color: rgba(255, 255, 255, 0.94) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.94) !important;
}

html.ha-unified .content-card .about-sequence-strip p,
html.ha-unified .content-card .about-seq-band p,
html.ha-unified .content-card .about-seq-title,
html.ha-unified .content-card .about-seq-hint {
    color: rgba(255, 255, 255, 0.94) !important;
}

html.ha-unified .about-seq-step {
    color: #ffffff !important;
}

html.ha-unified .about-seq-step.is-active {
    color: var(--dark-green, #004b04) !important;
}

/* How We Train — learning sequence on dark band */
html.ha-unified .hwt-sequence-strip,
html.ha-unified .hwt-sequence-strip p,
html.ha-unified .hwt-seq-title,
html.ha-unified .hwt-sequence-flow span {
    color: #ffffff !important;
    -webkit-text-fill-color: currentColor !important;
}

html.ha-unified .content-card .hwt-sequence-strip p,
html.ha-unified .content-card .hwt-seq-title,
html.ha-unified .content-card .hwt-sequence-flow span {
    color: #ffffff !important;
    -webkit-text-fill-color: currentColor !important;
}

html.ha-unified .hwt-sequence-flow i,
html.ha-unified .about-seq-arrow,
html.ha-unified .about-sequence-flow i {
    color: #86efac !important;
    -webkit-text-fill-color: #86efac !important;
}

/* Insights — learning path on dark band */
html.ha-unified .ins-path-band .ins-path-step:not(.is-active) h3,
html.ha-unified .ins-path-band .ins-path-step:not(.is-active) p,
html.ha-unified .ins-path-band .ins-path-step:not(.is-active) .ins-path-step__action,
html.ha-unified .ins-path-band .ins-path-step:not(.is-active) .ins-path-step__action i {
    color: #ffffff !important;
    -webkit-text-fill-color: currentColor !important;
}

html.ha-unified .ins-path-band .ins-path-step:not(.is-active) p {
    color: rgba(255, 255, 255, 0.9) !important;
}

html.ha-unified .ins-path-band .ins-path-step:not(.is-active) .ins-path-step__action {
    color: rgba(255, 255, 255, 0.86) !important;
}

html.ha-unified .ins-path-band .ins-path-step.is-active h3 {
    color: var(--dark-green, #004b04) !important;
    -webkit-text-fill-color: currentColor !important;
}

html.ha-unified .ins-path-band .ins-path-step.is-active p {
    color: var(--text-light, #525a54) !important;
}

html.ha-unified .ins-path-band .ins-path-step.is-active .ins-path-step__action,
html.ha-unified .ins-path-band .ins-path-step.is-active .ins-path-step__action i {
    color: var(--primary-green, #007305) !important;
}

html.ha-unified .ins-path-band .ins-path-arrow,
html.ha-unified .ins-path-band .ins-path-arrow i {
    color: rgba(255, 255, 255, 0.55) !important;
    -webkit-text-fill-color: currentColor !important;
}

/* —— Scroll-reveal text polish —— */
html.ha-unified .js-interactive-reveal-target .section-title,
html.ha-unified .js-interactive-reveal-target .section-text,
html.ha-unified .js-interactive-reveal-target .card-title,
html.ha-unified .js-interactive-reveal-target .faq-question {
    transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1), transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

/* —— Responsive type scale —— */
@media (max-width: 768px) {
    html.ha-unified main h1,
    html.ha-unified .page-title h1 {
        font-size: clamp(1.75rem, 7vw, 2.35rem) !important;
    }

    html.ha-unified main h2,
    html.ha-unified .section-header h2 {
        font-size: clamp(1.45rem, 5.5vw, 1.85rem) !important;
    }

    html.ha-unified main .section-title {
        font-size: clamp(1.2rem, 4.5vw, 1.5rem) !important;
    }

    html.ha-unified .step-card {
        padding: clamp(20px, 5vw, 32px) !important;
    }
}

@media (max-width: 480px) {
    html.ha-unified main h3,
    html.ha-unified .card-title {
        font-size: clamp(1.05rem, 4.2vw, 1.2rem) !important;
    }

    html.ha-unified .faq-question {
        padding: 14px 16px !important;
        font-size: clamp(0.92rem, 3.8vw, 1rem) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.ha-unified main a {
        transition: none !important;
    }
}

/* Program detail — dark pill fee button (wins over green link rules) */
html.ha-unified body.page-program-detail .program-overview-fee-btn,
html.ha-unified body.page-program-detail .program-overview-facts a.program-overview-fee-btn {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

html.ha-unified body.page-program-detail .program-overview-fee-btn:hover,
html.ha-unified body.page-program-detail .program-overview-fee-btn:focus-visible {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html.ha-unified body.page-program-detail .program-overview-fee-btn i {
    color: #ecfdf5 !important;
    -webkit-text-fill-color: #ecfdf5 !important;
}

/* Program detail — syllabus download CTA (wins over link rules) */
html.ha-unified body.page-program-detail .ha-syllabus-download__btn,
html.ha-unified body.page-program-detail .ha-syllabus-download__btn:hover,
html.ha-unified body.page-program-detail .ha-syllabus-download__btn:focus-visible {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #007a05 0%, #004b04 100%) !important;
}

html.ha-unified body.page-program-detail .ha-syllabus-download__btn:hover,
html.ha-unified body.page-program-detail .ha-syllabus-download__btn:focus-visible {
    background: linear-gradient(135deg, #008806 0%, #005805 100%) !important;
}

html.ha-unified body.page-program-detail .ha-syllabus-download__btn i,
html.ha-unified body.page-program-detail .ha-syllabus-download__btn-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Partner page — form checkbox/radio alignment */
html.ha-unified body.page-partner .proposal-form,
html.ha-unified body.page-partner .proposal-form .form-group {
    text-align: left !important;
}

html.ha-unified body.page-partner .checkbox-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 10px !important;
    text-align: left !important;
}

html.ha-unified body.page-partner .checkbox-label {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
    cursor: pointer;
    text-wrap: wrap !important;
    word-break: normal !important;
}

html.ha-unified body.page-partner .checkbox-label input[type="checkbox"],
html.ha-unified body.page-partner .checkbox-label input[type="radio"] {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--primary-green, #007305);
    cursor: pointer;
}

html.ha-unified body.page-partner .checkbox-label span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
    line-height: 1.45 !important;
    font-size: 0.95rem !important;
    text-wrap: wrap !important;
    word-break: normal !important;
}

html.ha-unified body.page-partner .radio-group {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 12px 18px !important;
    width: 100% !important;
    margin-top: 10px !important;
    text-align: left !important;
}

html.ha-unified body.page-partner .radio-group .checkbox-label {
    width: auto !important;
    flex: 0 1 auto !important;
}

/* =============================================================================
   Site-wide padding — final cascade lock (loads last in stack)
   ============================================================================= */
html.ha-unified body.page-about > header + .about-hero + main#about-main,
html.ha-unified body.page-infrastructure > header + .infra-hero + main#infra-main,
html.ha-unified body.page-how-we-train > header + .hwt-hero + main#hwt-main,
html.ha-unified body.page-insights > header + .ins-hero + main#ins-main,
html.ha-unified body.page-contact > header + .con-hero + main#con-main {
    margin-top: 0 !important;
}

html.ha-unified body.page-programs main.container,
html.ha-unified body.page-programs main.programs-page {
    margin-top: 0 !important;
}

html.ha-unified main#program-main:has(.batch-info-strip) {
    margin-top: 0 !important;
}

html.ha-unified .about-power-stats,
html.ha-unified .infra-power-stats,
html.ha-unified .hwt-power-stats,
html.ha-unified .con-power-stats,
html.ha-unified .ins-power-stats,
html.ha-unified .programs-power-stats {
    margin-top: clamp(12px, 3vw, 20px) !important;
    margin-bottom: clamp(12px, 3vw, 20px) !important;
    padding-inline: clamp(12px, 4vw, 20px) !important;
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    html.ha-unified .container,
    html.ha-unified main.container,
    html.ha-unified main.calendar-main {
        padding-inline: var(--gutter) !important;
        box-sizing: border-box !important;
    }

    html.ha-unified body.ha-mobile-bottom-nav-on main,
    html.ha-unified body.ha-mobile-bottom-nav-on main.container,
    html.ha-unified body.ha-mobile-bottom-nav-on main.calendar-main,
    html.ha-unified body.ha-mobile-bottom-nav-on #program-main {
        padding-bottom: var(--ha-page-pad-nav-clear) !important;
    }

    html.ha-unified body.ha-mobile-bottom-nav-on footer.ha-footer,
    html.ha-unified body.ha-mobile-bottom-nav-on footer#contact {
        padding-bottom: var(--ha-page-pad-nav-clear) !important;
    }

    html.ha-unified body.page-calendar main.calendar-main {
        padding-top: clamp(16px, 3.5vw, 28px) !important;
        padding-bottom: clamp(36px, 7vw, 56px) !important;
    }

    html.ha-unified body.page-program-detail main#program-main {
        padding-bottom: var(--ha-page-pad-nav-clear) !important;
    }

    html.ha-unified body.page-about > header + .about-hero,
    html.ha-unified body.page-infrastructure > header + .infra-hero,
    html.ha-unified body.page-how-we-train > header + .hwt-hero,
    html.ha-unified body.page-insights > header + .ins-hero,
    html.ha-unified body.page-contact > header + .con-hero,
    html.ha-unified body.page-calendar > header + .calendar-hero {
        padding-bottom: clamp(56px, 9vw, 72px) !important;
    }
}

/* Mobile menu — header toggle hidden when bottom dock is active */
@media (max-width: 1200px) {
    html.ha-unified body.ha-mobile-bottom-nav-on #mobile-toggle.mobile-toggle,
    html.ha-unified body.ha-mobile-bottom-nav-on .mobile-toggle {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html.ha-unified body:not(.ha-mobile-bottom-nav-on) #mobile-toggle.mobile-toggle,
    html.ha-unified body:not(.ha-mobile-bottom-nav-on) .mobile-toggle {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

html.ha-unified .calendar-hero__actions {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html.ha-unified .calendar-hero-btn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 768px) {
    html.ha-unified body.page-calendar .calendar-hero__actions {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: min(360px, 92vw) !important;
        margin-inline: auto !important;
        padding-inline: clamp(12px, 4vw, 20px) !important;
    }

    html.ha-unified body.page-calendar .calendar-hero-btn {
        width: 100% !important;
        min-height: 46px !important;
    }
}

/* ==========================================================================
   Site-wide layout lock — no left/right white gutter (all public pages)
   ========================================================================== */
html.ha-unified,
html.ha-unified body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html.ha-unified body > header#header,
html.ha-unified body > section.hero,
html.ha-unified body > section.page-hero,
html.ha-unified body > section.programs-hero,
html.ha-unified body > section.program-hero,
html.ha-unified body > section[class*="-hero"],
html.ha-unified body > footer {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    box-sizing: border-box;
}

html.ha-unified section.page-hero,
html.ha-unified section.programs-hero,
html.ha-unified section.program-hero,
html.ha-unified section.about-hero,
html.ha-unified section.infra-hero,
html.ha-unified section.hwt-hero,
html.ha-unified section.ins-hero,
html.ha-unified section.con-hero,
html.ha-unified section.calendar-hero,
html.ha-unified body.page-home section.hero {
    overflow-x: clip !important;
}

html.ha-unified main,
html.ha-unified main.container,
html.ha-unified main[class*="-main"],
html.ha-unified main.calendar-main,
html.ha-unified main.programs-page {
    width: 100% !important;
    max-width: min(var(--container-max, 1280px), 100%) !important;
    margin-inline: auto !important;
    padding-inline: var(--gutter, clamp(16px, 4vw, 40px)) !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

html.ha-unified body.page-how-to-enroll #how-to-enroll {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    overflow-x: clip !important;
}

html.ha-unified body.page-how-to-enroll #how-to-enroll > .container {
    width: 100% !important;
    max-width: min(var(--container-max, 1280px), 100%) !important;
    margin-inline: auto !important;
    padding-inline: var(--gutter, clamp(16px, 4vw, 40px)) !important;
    box-sizing: border-box;
}

html.ha-unified body.page-home main#main {
    max-width: 100% !important;
    padding-inline: 0 !important;
}

html.ha-unified main .content-card,
html.ha-unified main [class*="-power-stats"],
html.ha-unified main [class*="-hero-content"],
html.ha-unified main [class*="-hero-cta"],
html.ha-unified main [class*="-hero-actions"],
html.ha-unified main [class*="-hero__actions"],
html.ha-unified .table-responsive,
html.ha-unified [class*="-compare-wrap"],
html.ha-unified [class*="-batch-strip"] {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    html.ha-unified [class*="-hero-cta"],
    html.ha-unified [class*="-hero-actions"],
    html.ha-unified [class*="-hero__actions"],
    html.ha-unified .hero .btn-group,
    html.ha-unified .calendar-hero__actions {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html.ha-unified [class*="-hero-cta"] .btn,
    html.ha-unified [class*="-hero-actions"] .btn,
    html.ha-unified [class*="-hero__actions"] .btn,
    html.ha-unified [class*="-hero__actions"] .btn,
    html.ha-unified .hero .btn-group .btn,
    html.ha-unified .page-hero .btn,
    html.ha-unified .calendar-hero-btn,
    html.ha-unified [class*="-hero-cta"] .ha-book-counselling,
    html.ha-unified [class*="-hero-cta"] .ha-counselling-trigger {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html.ha-unified [class*="-hero-stats"],
    html.ha-unified [class*="-power-stats"],
    html.ha-unified .hero-stats,
    html.ha-unified .programs-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ==========================================================================
   Mobile bottom navigation — phone only (final cascade lock)
   ========================================================================== */
@media (max-width: 640px) {
    html.ha-unified .ha-mobile-bottom-nav {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 10052 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: clamp(6px, 2vw, 10px) !important;
        height: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
        min-height: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
        max-height: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
        padding: 10px clamp(8px, 3vw, 14px) calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        margin: 0 !important;
        background: linear-gradient(180deg, rgba(0, 91, 8, 0.97) 0%, rgba(0, 50, 8, 0.99) 100%) !important;
        border-top: 1px solid rgba(200, 255, 210, 0.42) !important;
        box-shadow:
            0 -10px 32px rgba(0, 0, 0, 0.38),
            0 -2px 0 rgba(184, 255, 196, 0.12),
            inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
        backdrop-filter: blur(18px) saturate(1.35) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.35) !important;
    }

    html.ha-unified .ha-mobile-bottom-nav.is-sheet-open {
        box-shadow:
            0 -12px 36px rgba(0, 0, 0, 0.42),
            0 0 24px rgba(52, 211, 153, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
    }

    html.ha-unified .ha-mobile-bottom-nav.is-ready {
        opacity: 1 !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item,
    html.ha-unified a.ha-mobile-bottom-nav__item,
    html.ha-unified button.ha-mobile-bottom-nav__item {
        appearance: none !important;
        -webkit-appearance: none !important;
        position: relative !important;
        overflow: hidden !important;
        flex: 1 1 0 !important;
        align-self: stretch !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: clamp(4px, 1.6vw, 7px) !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 clamp(8px, 2.8vw, 12px) !important;
        box-sizing: border-box !important;
        border: 1px solid rgba(200, 255, 210, 0.28) !important;
        border-radius: 999px !important;
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.07) 100%) !important;
        color: #ffffff !important;
        font-family: 'Inter', system-ui, sans-serif !important;
        text-decoration: none !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
        text-transform: uppercase !important;
        font-weight: 800 !important;
        letter-spacing: 0.05em !important;
        line-height: 1 !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.1),
            0 2px 8px rgba(0, 0, 0, 0.12) !important;
        transition:
            background 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease,
            transform 0.18s cubic-bezier(0.22, 1, 0.36, 1) !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item:hover,
    html.ha-unified .ha-mobile-bottom-nav__item:focus-visible {
        background: rgba(255, 255, 255, 0.18) !important;
        border-color: rgba(220, 255, 225, 0.45) !important;
        outline: none !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item.is-pressed {
        background: rgba(255, 255, 255, 0.22) !important;
        transform: scale(0.96) !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        border-radius: inherit !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, transparent 52%) !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item::after {
        content: '' !important;
        position: absolute !important;
        bottom: 5px !important;
        left: 50% !important;
        width: 0 !important;
        height: 3px !important;
        border-radius: 999px !important;
        background: linear-gradient(90deg, rgba(184, 255, 196, 0.2), rgba(220, 255, 225, 0.95), rgba(184, 255, 196, 0.2)) !important;
        box-shadow: 0 0 10px rgba(184, 255, 196, 0.55) !important;
        transform: translateX(-50%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        z-index: 2 !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item.is-active,
    html.ha-unified .ha-mobile-bottom-nav__item[aria-expanded="true"] {
        background: linear-gradient(145deg, rgba(184, 255, 196, 0.36) 0%, rgba(120, 220, 140, 0.22) 100%) !important;
        border-color: rgba(220, 255, 225, 0.68) !important;
        color: #ffffff !important;
        transform: translateY(-2px) scale(1.03) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.22),
            0 0 0 1px rgba(184, 255, 196, 0.28),
            0 6px 18px rgba(0, 0, 0, 0.24) !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item.is-active::after,
    html.ha-unified .ha-mobile-bottom-nav__item[aria-expanded="true"]::after {
        width: clamp(18px, 28%, 28px) !important;
        opacity: 1 !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__icon {
        position: relative !important;
        z-index: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: clamp(22px, 6vw, 26px) !important;
        height: clamp(22px, 6vw, 26px) !important;
        flex: 0 0 clamp(22px, 6vw, 26px) !important;
        font-size: clamp(1.1rem, 4.2vw, 1.35rem) !important;
        line-height: 1 !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__icon .ha-bottom-nav-svg,
    html.ha-unified .ha-mobile-bottom-nav__icon svg {
        display: block !important;
        width: 1.45rem !important;
        height: 1.45rem !important;
        flex-shrink: 0 !important;
        color: #ffffff !important;
        fill: currentColor !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__icon i {
        font-family: "Font Awesome 6 Free" !important;
        font-weight: 900 !important;
        font-size: 1.45rem !important;
        line-height: 1 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__label {
        display: inline !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item.is-active .ha-mobile-bottom-nav__icon {
        transform: scale(1.08) !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__label {
        color: rgba(255, 255, 255, 0.88) !important;
        -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
        font-size: clamp(0.58rem, 2.6vw, 0.68rem) !important;
        font-weight: 800 !important;
        letter-spacing: 0.05em !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }

    html.ha-unified .ha-mobile-bottom-nav__item.is-active .ha-mobile-bottom-nav__label,
    html.ha-unified .ha-mobile-bottom-nav__item[aria-expanded="true"] .ha-mobile-bottom-nav__label {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    /* Admission Open — vertical side tab (phone) */
    html.ha-unified .ha-admission-side-tab,
    html.ha-unified .ha-admission-side-tab.is-ready {
        display: flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
        opacity: 1 !important;
        top: auto !important;
        bottom: calc(var(--ha-mobile-bottom-nav-h, 84px) + 110px) !important;
        right: 0 !important;
        transform: none !important;
        z-index: 10055 !important;
    }

    html.ha-unified .ha-admission-side-tab__btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 40px !important;
        padding: 16px 9px !important;
        border: none !important;
        border-radius: 12px 0 0 12px !important;
        background: linear-gradient(180deg, #006b04 0%, #004b04 52%, #003208 100%) !important;
        color: #ffffff !important;
        text-transform: none !important;
        font-size: inherit !important;
        letter-spacing: normal !important;
        line-height: 1 !important;
        box-shadow:
            -5px 0 20px rgba(0, 0, 0, 0.28),
            inset 1px 0 0 rgba(255, 255, 255, 0.14) !important;
    }

    html.ha-unified .ha-admission-side-tab__text {
        display: block !important;
        writing-mode: vertical-rl !important;
        transform: rotate(180deg) !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-family: 'Inter', system-ui, sans-serif !important;
        font-size: 0.66rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    html.ha-unified .ha-admission-side-tab.is-mobile-dock .ha-admission-side-panel.is-open {
        bottom: calc(var(--ha-mobile-bottom-nav-h, 84px) + 16px) !important;
        transform: none !important;
    }

    html.ha-unified .ha-admission-side-tab.is-open {
        z-index: 10110 !important;
    }

    html.ha-unified .ha-admission-side-panel.is-open {
        position: fixed !important;
        right: 48px !important;
        top: auto !important;
        bottom: calc(var(--ha-mobile-bottom-nav-h, 84px) + 16px) !important;
        transform: none !important;
        width: min(280px, calc(100vw - 56px)) !important;
        z-index: 10112 !important;
        pointer-events: auto !important;
        border-radius: 16px !important;
    }

    html.ha-unified .ha-admission-side-panel__link {
        pointer-events: auto !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
    }

    /* No blur on sheet/tab backdrops — dim overlay only */
    html.ha-unified .ha-mobile-admission-backdrop,
    html.ha-unified .ha-mobile-admission-backdrop.is-visible,
    html.ha-unified .ha-admission-side-tab__backdrop,
    html.ha-unified .ha-admission-side-tab__backdrop.is-visible {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        filter: none !important;
    }

    html.ha-unified body.ha-mobile-sheet-open,
    html.ha-unified body.ha-admission-side-open {
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* Admission Open — vertical side tab (tablet + desktop) */
@media (min-width: 641px) {
    html.ha-unified .ha-admission-side-tab.is-ready {
        display: flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
        opacity: 1 !important;
        right: 0 !important;
        z-index: 10055 !important;
    }

    html.ha-unified .ha-admission-side-tab__btn {
        text-transform: none !important;
        font-size: inherit !important;
        letter-spacing: normal !important;
        line-height: 1 !important;
    }

    html.ha-unified .ha-admission-side-tab__text {
        display: block !important;
        writing-mode: vertical-rl !important;
        transform: rotate(180deg) !important;
        text-transform: uppercase !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }
}

/* Homepage section intros (no <main> wrapper) — Inter body + Playfair titles */
html.ha-unified body.page-home .section-header h2,
html.ha-unified body.page-home .section-header .home-section-title {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: var(--text-2xl) !important;
    line-height: var(--leading-tight) !important;
    letter-spacing: var(--tracking-tight) !important;
    color: var(--dark-green) !important;
    display: block !important;
    width: 100%;
    text-align: center !important;
}

html.ha-unified body.page-home .section-header .home-lead {
    font-family: var(--font-body) !important;
    font-size: var(--text-lg) !important;
    font-weight: 600 !important;
    line-height: var(--leading-loose) !important;
    color: var(--text-main) !important;
    text-align: center !important;
}

html.ha-unified body.page-home .section-header .home-body {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    font-weight: 500 !important;
    line-height: var(--leading-loose) !important;
    color: var(--text-light) !important;
    text-align: center !important;
}

html.ha-unified body.page-home .section-header p:not(.home-lead):not(.home-body) {
    font-family: var(--font-body) !important;
    font-size: var(--text-base) !important;
    font-weight: 500 !important;
    line-height: var(--leading-loose) !important;
    color: var(--text-main) !important;
    text-align: center !important;
}

/* Font Awesome — keep icon font (Inter/Playfair overrides break glyphs) */
html.ha-unified i.fa,
html.ha-unified i.fas,
html.ha-unified i.far,
html.ha-unified i.fab,
html.ha-unified i.fa-solid,
html.ha-unified i.fa-regular,
html.ha-unified i.fa-brands,
html.ha-unified .fas,
html.ha-unified .far,
html.ha-unified .fab {
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
}

html.ha-unified i.fab,
html.ha-unified i.fa-brands,
html.ha-unified .fab,
html.ha-unified .fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

html.ha-unified i.fas,
html.ha-unified i.fa-solid,
html.ha-unified .fas,
html.ha-unified .fa-solid,
html.ha-unified i.fa:not(.fab):not(.fa-brands):not(.far):not(.fa-regular) {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

html.ha-unified i.far,
html.ha-unified i.fa-regular,
html.ha-unified .far,
html.ha-unified .fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

html.ha-unified .btn i.fas,
html.ha-unified .btn i.fa-solid,
html.ha-unified a.btn i.fas,
html.ha-unified a.btn i.fa-solid,
html.ha-unified button.btn i.fas,
html.ha-unified button.btn i.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

html.ha-unified .btn i.fab,
html.ha-unified .btn i.fa-brands,
html.ha-unified a.btn i.fab,
html.ha-unified a.btn i.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* About hero — match Insights: mint sans accent under white serif lead */
html.ha-unified body.page-about .about-hero-title .programs-title-line--sub {
    font-family: var(--font-body), 'Inter', system-ui, sans-serif !important;
    font-size: clamp(0.95rem, 1.8vw + 0.35rem, 1.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.02em !important;
    color: #86efac !important;
}

/* Phone-only — hide bottom dock on tablet, laptop, desktop */
@media (min-width: 641px) {
    html.ha-unified .ha-mobile-bottom-nav,
    html.ha-unified .ha-mobile-admission-sheet,
    html.ha-unified .ha-mobile-admission-backdrop {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    html.ha-unified body.ha-mobile-bottom-nav-on {
        --ha-mobile-bottom-nav-h: 0px;
    }
}
