/**
 * Light / dark mode — scoped colors, no layout shifts
 */

:root {
    color-scheme: light;
    --tollo-bg: #fbfcfb;
    --tollo-surface: #ffffff;
    --tollo-surface-alt: #f1f5f2;
    --tollo-text: #121816;
    --tollo-text-muted: #5c6b64;
    --tollo-heading: #0a241e;
    --tollo-border: #e4ebe7;
    --tollo-header-bg: rgba(251, 252, 251, 0.96);
    --tollo-header-text: #0a241e;
    --tollo-nav-text: #1a2e28;
    --tollo-nav-hover: #1f6f5b;
    --tollo-footer-cta-bg: #edf7f0;
    --tollo-footer-cta-heading: #0a241e;
    --tollo-footer-cta-text: #1f4d3d;
    --tollo-topbar-bg: #0f2f27;
    --tollo-card-shadow: 0 12px 28px rgba(15, 47, 39, 0.08);
    --tollo-map-idle: #d7ddd9;
    --tollo-map-active: #1f4d3d;
    --tollo-stats-bg: #0f2f27;
    --tollo-stats-number: #c8ef50;
    --tollo-stats-label: rgba(255, 255, 255, 0.82);
    --tollo-stats-unit: rgba(200, 239, 80, 0.75);
    --tollo-stats-border: rgba(255, 255, 255, 0.1);
    --tollo-trust-bg: #0f2f26;
    --tollo-eyebrow: #1f6f5b;
    --tollo-brand-strip-bg: #f3f7f4;
    --tollo-brand-chip-bg: #ffffff;
    --tollo-brand-chip-text: #0a241e;
    --tollo-brand-chip-border: #d0ddd6;
    --tollo-brand-chip-hover-bg: #edf7f0;
    --tollo-brand-outline-border: #1f4d3d;
    --tollo-brand-outline-text: #1f4d3d;
    --tollo-map-section-bg: #ffffff;
    --tollo-map-canvas-bg: #ffffff;
    --tollo-map-canvas-border: #e6ebe8;
    --tollo-hub-bg: #ffffff;
    --tollo-hub-border: #e6ebe8;
    --tollo-hub-title: #0a241e;
    --tollo-hub-meta: #1f6f5b;
    --tollo-hub-text: #5c6b64;
    --tollo-supply-title: #1f4d3d;
    --tollo-supply-intro: #5c6b64;
    --tollo-supply-rule: #1f4d3d;
    --tollo-transition-color: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, fill 0.2s ease;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --tollo-bg: #0b1411;
    --tollo-surface: #121f1a;
    --tollo-surface-alt: #182822;
    --tollo-text: #e8f0ec;
    --tollo-text-muted: #9eb0a8;
    --tollo-heading: #f4faf7;
    --tollo-border: #2a3d34;
    --tollo-header-bg: rgba(11, 20, 17, 0.96);
    --tollo-header-text: #e8f0ec;
    --tollo-nav-text: #c8ddd4;
    --tollo-nav-hover: #c8ef50;
    --tollo-footer-cta-bg: #142820;
    --tollo-footer-cta-heading: #f4faf7;
    --tollo-footer-cta-text: #c8ddd4;
    --tollo-topbar-bg: #07100d;
    --tollo-card-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
    --tollo-map-idle: #3a4a44;
    --tollo-map-active: #3d9a78;
    --tollo-stats-bg: #071510;
    --tollo-stats-number: #c8ef50;
    --tollo-stats-label: rgba(232, 240, 236, 0.85);
    --tollo-stats-unit: rgba(200, 239, 80, 0.7);
    --tollo-stats-border: rgba(255, 255, 255, 0.08);
    --tollo-trust-bg: #071510;
    --tollo-eyebrow: #7dd3b0;
    --tollo-brand-strip-bg: #101a16;
    --tollo-brand-chip-bg: #1a2e28;
    --tollo-brand-chip-text: #e8f0ec;
    --tollo-brand-chip-border: #3d564c;
    --tollo-brand-chip-hover-bg: #243830;
    --tollo-brand-outline-border: rgba(200, 239, 80, 0.65);
    --tollo-brand-outline-text: #c8ef50;
    --tollo-map-section-bg: #0b1411;
    --tollo-map-canvas-bg: #121f1a;
    --tollo-map-canvas-border: #2a3d34;
    --tollo-hub-bg: #1a2e28;
    --tollo-hub-border: #3d564c;
    --tollo-hub-title: #f4faf7;
    --tollo-hub-meta: #c8ef50;
    --tollo-hub-text: #9eb0a8;
    --tollo-supply-title: #c8ef50;
    --tollo-supply-intro: #9eb0a8;
    --tollo-supply-rule: #c8ef50;
}

html {
    scrollbar-gutter: stable;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body,
body.ag-corporate-body {
    background: var(--tollo-bg);
    color: var(--tollo-text);
    transition: var(--tollo-transition-color);
    -webkit-tap-highlight-color: rgba(31, 111, 91, 0.15);
}

/* Header — always readable brand + nav */
.ag-site-header {
    background: var(--tollo-header-bg) !important;
    border-bottom-color: var(--tollo-border) !important;
    transition: var(--tollo-transition-color);
    min-height: 72px;
}

.ag-site-header .ag-brand-name {
    color: var(--tollo-header-text) !important;
}

/* Brand logo image — transparent PNG, site palette */
.ag-brand-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}

.ag-brand-logo-img {
    display: block;
    height: auto;
    width: auto;
    max-height: 52px;
    max-width: min(190px, 44vw);
    object-fit: contain;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), filter 0.28s ease;
}

.ag-brand-link:hover .ag-brand-logo-img,
.ag-brand-link:focus-visible .ag-brand-logo-img {
    transform: scale(1.03);
    filter: brightness(1.04) saturate(1.06);
}

.ag-brand-logo-img--drawer {
    max-height: 46px;
    max-width: 160px;
}

.ag-brand-logo-img--footer {
    max-height: 64px;
    max-width: 220px;
    filter: brightness(1.28) saturate(1.08) contrast(1.02);
}

.ag-brand-link--footer:hover .ag-brand-logo-img {
    filter: brightness(1.36) saturate(1.12) contrast(1.02);
}

html[data-theme="dark"] .ag-brand-logo-img--header,
html[data-theme="dark"] .ag-brand-logo-img--drawer {
    filter: brightness(1.08) saturate(1.05);
}

html[data-theme="dark"] .ag-brand-link:hover .ag-brand-logo-img--header,
html[data-theme="dark"] .ag-brand-link:focus-visible .ag-brand-logo-img--drawer {
    filter: brightness(1.12) saturate(1.08);
}

@media (max-width: 640px) {
    .ag-brand-logo-img {
        max-height: 44px;
        max-width: min(150px, 52vw);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ag-brand-logo-img,
    .ag-brand-link:hover .ag-brand-logo-img,
    .ag-brand-link:focus-visible .ag-brand-logo-img {
        transition: none;
        transform: none;
    }
}

.ag-site-header .ag-nav-list > li > a,
.ag-site-header .ag-nav-item > a {
    color: var(--tollo-nav-text) !important;
    transition: var(--tollo-transition-color);
}

.ag-site-header .ag-nav-list > li > a:hover,
.ag-site-header .ag-nav-item > a:hover {
    color: var(--tollo-nav-hover) !important;
}

.ag-mobile-drawer {
    background: var(--tollo-surface);
    color: var(--tollo-text);
}

.ag-mobile-drawer .ag-brand-name {
    color: var(--tollo-heading) !important;
}

.ag-mobile-nav-list a {
    color: var(--tollo-nav-text);
}

.ag-topbar {
    background: var(--tollo-topbar-bg) !important;
    transition: var(--tollo-transition-color);
}

/* Hero — always light text on dark image (never inherit theme heading color) */
.tolo-hero .ag-hero-title,
.tolo-hero .ag-hero-lead,
.tolo-hero-brand-name,
.tolo-hero-brand-llc,
.tolo-hero-pill {
    color: #ffffff !important;
}

.tolo-hero .ag-hero-lead {
    color: rgba(255, 255, 255, 0.88) !important;
}

.tolo-hero-pill {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Card overlay labels stay white */
.ag-pmk-label h3,
.ag-pmk-label span {
    color: #fff !important;
}

/* Main content headings — high contrast on section backgrounds */
.ag-navigator-header h2,
.ag-section-header h2,
.ag-audience-card h3,
.ag-division-card h3,
.ag-standard-card h3,
.ag-resource-card h3,
.ag-cert-card h3,
.ag-sector-row h3,
.ag-pipeline-card h3,
.ag-proof-card h3,
.ag-content-band h2,
.ag-content-band h3,
.site-main h2:not(.ag-hero-title):not(.tolo-matcher-shell h2):not(.tolo-matcher h2):not(.ag-bento-split h2):not(.ag-viewport-copy h2):not(.ag-agency-panel h2):not(.ag-agency-panel h3):not(.ag-viewport-copy h3):not(.ag-aov-inquiry-panel h2):not(.ag-aov-inquiry-panel h3):not(.ag-cta-box h2):not(.ag-division-cta h2),
.site-main h3:not(.ag-pmk-label h3):not(.tolo-matcher-shell h3):not(.tolo-matcher h3):not(.ag-bento-split h3):not(.ag-viewport-copy h3):not(.ag-agency-panel h3):not(.ag-bento-title):not(.ag-aov-inquiry-panel h3):not(.ag-aov-pname):not(.ag-aseg-name):not(.ag-acap-title):not(.ag-cta-box h3):not(.ag-division-cta h3),
.site-main h4:not(.ag-agrid-name):not(.ag-bento-title):not(.ag-bento-vert h4):not(.ag-agrid-card h4):not(.ag-bento-card h4) {
    color: var(--tollo-heading) !important;
}

.ag-navigator-header p,
.ag-section-header p,
.ag-audience-card p,
.ag-division-card p,
.site-main p:not(.ag-hero-lead):not(.ag-page-header p):not(.tolo-matcher-shell p):not(.tolo-matcher p):not(.ag-bento-split p):not(.ag-viewport-copy p):not(.ag-agency-panel p):not(.ag-aov-inquiry-panel p):not(.ag-bento-desc):not(.ag-agrid-desc):not(.ag-aov-pdesc):not(.ag-aseg-body):not(.ag-acap-desc):not(.ag-cta-box p):not(.ag-division-cta p) {
    color: var(--tollo-text-muted);
}

.ag-eyebrow {
    color: var(--tollo-eyebrow) !important;
}

/* Section backgrounds in dark mode */
html[data-theme="dark"] .ag-audience-navigator,
html[data-theme="dark"] .ag-featured-catalog-section,
html[data-theme="dark"] .ag-divisions-overview-section,
html[data-theme="dark"] .ag-proof-section,
html[data-theme="dark"] .ag-about-overview-section,
html[data-theme="dark"] .ag-compliance-standards-section,
html[data-theme="dark"] .ag-milestones-section,
html[data-theme="dark"] .ag-pipeline-section,
html[data-theme="dark"] .ag-certs-section,
html[data-theme="dark"] .ag-content-band,
html[data-theme="dark"] .ag-breadcrumb,
html[data-theme="dark"] .ag-catalog-layout,
html[data-theme="dark"] .tolo-cat-explorer {
    background: var(--tollo-bg) !important;
}

html[data-theme="dark"] .ag-proof-section {
    background: var(--tollo-surface-alt) !important;
}

html[data-theme="dark"] .ag-proof-card:not(.ag-proof-card-featured) {
    background: var(--tollo-surface) !important;
    border-color: var(--tollo-border) !important;
}

/* Cards & surfaces */
.ag-audience-card,
.ag-division-card,
.ag-standard-card,
.ag-resource-card,
.ag-cert-card,
.ag-form-card,
.ag-contact-card,
.ag-sidebar-card,
.ag-sector-row,
.ag-pipeline-card,
.ag-spec-card,
.ag-hub-card,
.ag-product-card {
    background: var(--tollo-surface) !important;
    border-color: var(--tollo-border) !important;
    transition: var(--tollo-transition-color), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.ag-stats-section,
.ag-content-band,
.ag-breadcrumbs,
.ag-breadcrumb {
    transition: var(--tollo-transition-color);
}

/* Stats strip — always high contrast */
.ag-stats-section {
    background: var(--tollo-stats-bg) !important;
    padding: clamp(48px, 6vw, 75px) 0;
}

.ag-stats-section::before {
    display: none !important;
}

.ag-stat-number {
    color: var(--tollo-stats-number) !important;
}

.ag-stat-label {
    color: var(--tollo-stats-label) !important;
}

.ag-stat-unit {
    color: var(--tollo-stats-unit) !important;
}

.ag-stat-item {
    border-right-color: var(--tollo-stats-border) !important;
}

/* Trust strip */
.ag-trust-strip {
    background: var(--tollo-trust-bg) !important;
}

.ag-trust-badge {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* Footer CTA — high contrast in both modes */
.ag-footer-cta-strip {
    background: var(--tollo-footer-cta-bg) !important;
    transition: var(--tollo-transition-color);
}

.ag-footer-cta-text h3 {
    color: var(--tollo-footer-cta-heading) !important;
    font-weight: 700;
}

.ag-footer-cta-text p {
    color: var(--tollo-footer-cta-text) !important;
    opacity: 1;
    max-width: 52ch;
    line-height: 1.55;
}

html[data-theme="dark"] .ag-footer-cta-strip .ag-btn-outline-white {
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff;
}

html[data-theme="light"] .ag-footer-cta-strip .ag-btn-outline-white,
html:not([data-theme]) .ag-footer-cta-strip .ag-btn-outline-white {
    border-color: #1f4d3d;
    color: #1f4d3d;
}

html[data-theme="light"] .ag-footer-cta-strip .ag-btn-outline-white:hover,
html:not([data-theme]) .ag-footer-cta-strip .ag-btn-outline-white:hover {
    background: rgba(31, 77, 61, 0.08);
    color: #0a241e;
}

/* Supply network map — theme-aware contrast */
.ag-origin-map-section.ag-supply-network {
    background: var(--tollo-map-section-bg) !important;
    color: var(--tollo-hub-text);
}

.ag-supply-network-title {
    color: var(--tollo-supply-title) !important;
}

.ag-supply-network-header p {
    color: var(--tollo-supply-intro) !important;
}

.ag-supply-network-rule {
    background: var(--tollo-supply-rule) !important;
}

.ag-supply-network .ag-map-canvas {
    background: var(--tollo-map-canvas-bg) !important;
    border-color: var(--tollo-map-canvas-border) !important;
}

.ag-supply-network .ag-hub-card {
    background: var(--tollo-hub-bg) !important;
    border-color: var(--tollo-hub-border) !important;
}

.ag-supply-network .ag-hub-card h4 {
    color: var(--tollo-hub-title) !important;
    margin: 0 0 4px;
}

.ag-supply-network .ag-hub-meta {
    color: var(--tollo-hub-meta) !important;
    font-weight: 600;
}

.ag-supply-network .ag-hub-card p {
    color: var(--tollo-hub-text) !important;
    margin: 0;
}

.ag-supply-network .ag-hub-card.is-active,
.ag-supply-network .ag-hub-card:hover {
    border-color: var(--tollo-nav-hover) !important;
    box-shadow: var(--tollo-card-shadow);
}

html[data-theme="dark"] .ag-map-loading {
    background: rgba(11, 20, 17, 0.9) !important;
    color: var(--tollo-text-muted) !important;
}

html[data-theme="dark"] .ag-map-tooltip {
    background: var(--tollo-surface) !important;
    color: var(--tollo-text) !important;
    border-color: var(--tollo-border) !important;
}

html[data-theme="dark"] .ag-map-country {
    stroke: var(--tollo-map-canvas-bg) !important;
}

html[data-theme="dark"] .ag-supply-network {
    background: var(--tollo-map-section-bg) !important;
}

html[data-theme="dark"] .ag-map-country-idle {
    fill: var(--tollo-map-idle) !important;
}

html[data-theme="dark"] .ag-map-country-active {
    fill: var(--tollo-map-active) !important;
}

/* Matcher — always a dark feature band with light text */
.tolo-matcher {
    background: linear-gradient(135deg, #0d3329 0%, #134a3c 55%, #0d3329 100%) !important;
    color: #ffffff;
}

.tolo-matcher-intro h2,
.tolo-matcher-step h3,
.tolo-matcher-result h3 {
    color: #ffffff !important;
}

.tolo-matcher-intro p {
    color: rgba(255, 255, 255, 0.78) !important;
}

.tolo-matcher-intro .ag-eyebrow {
    color: #c8ef50 !important;
    background: rgba(200, 239, 80, 0.14) !important;
    border-color: rgba(200, 239, 80, 0.28) !important;
}

.tolo-matcher-panel {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

.tolo-matcher-step-label {
    color: rgba(255, 255, 255, 0.62) !important;
}

.tolo-match-opt {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

.tolo-match-opt strong {
    color: #ffffff !important;
}

.tolo-match-opt span {
    color: rgba(255, 255, 255, 0.72) !important;
}

.tolo-match-opt:hover,
.tolo-match-opt.is-selected {
    border-color: #c8ef50 !important;
    background: rgba(200, 239, 80, 0.12) !important;
    box-shadow: inset 3px 0 0 #c8ef50;
}

.tolo-matcher-result p {
    color: rgba(255, 255, 255, 0.78) !important;
}

.tolo-matcher-reset {
    color: rgba(255, 255, 255, 0.72) !important;
}

.tolo-matcher-reset:hover {
    color: #ffffff !important;
}

.tolo-matcher-panel .ag-btn-outline {
    border-color: rgba(200, 239, 80, 0.55) !important;
    color: #c8ef50 !important;
    background: transparent !important;
}

.tolo-matcher-panel .ag-btn-outline:hover {
    background: rgba(200, 239, 80, 0.12) !important;
    color: #ffffff !important;
}

/* Lead section — dark shell, light copy, white form card */
.ag-lead-section {
    background: var(--tollo-bg);
}

.ag-lead-shell {
    background: #0f2f27 !important;
    border: 1px solid rgba(184, 224, 74, 0.18) !important;
}

.ag-lead-section .ag-lead-shell .ag-lead-copy h2,
.ag-lead-section .ag-lead-shell .ag-lead-copy h2 [data-i18n],
.ag-lead-section .ag-lead-shell .ag-lead-copy h2 span {
    color: #ffffff !important;
}

.ag-lead-section .ag-lead-shell .ag-lead-copy .ag-eyebrow,
.ag-lead-section .ag-lead-shell .ag-lead-copy .ag-eyebrow [data-i18n],
.ag-lead-section .ag-lead-shell .ag-lead-copy .ag-eyebrow span {
    color: #c8ef50 !important;
    background: rgba(200, 239, 80, 0.12) !important;
    border-color: rgba(200, 239, 80, 0.24) !important;
}

.ag-lead-section .ag-lead-shell .ag-lead-copy p,
.ag-lead-section .ag-lead-shell .ag-lead-copy p [data-i18n],
.ag-lead-section .ag-lead-shell .ag-lead-copy p span {
    color: rgba(255, 255, 255, 0.78) !important;
}

.ag-lead-section .ag-lead-shell .ag-lead-points span,
.ag-lead-section .ag-lead-shell .ag-lead-points span [data-i18n],
.ag-lead-section .ag-lead-shell .ag-lead-points span span {
    color: #d7eead !important;
}

html[data-theme="dark"] .ag-lead-form-card {
    background: #11221b !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-theme="dark"] .ag-lform-header h3 {
    color: #ffffff !important;
}

html[data-theme="dark"] .ag-lform-header p {
    color: rgba(255, 255, 255, 0.65) !important;
}

html[data-theme="dark"] .ag-lform-header {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-theme="dark"] .ag-lform-label-text {
    color: #e2e8f0 !important;
}

html[data-theme="dark"] .ag-input-wrap .ag-input-icon {
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .ag-input-wrap input {
    background: #182e25 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    padding-left: 44px !important;
}

html[data-theme="dark"] .ag-input-wrap input::placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

html[data-theme="dark"] .ag-input-wrap input:focus {
    border-color: #a3e635 !important;
    box-shadow: 0 0 0 3px rgba(163, 230, 53, 0.2) !important;
}

html[data-theme="dark"] .ag-lform-privacy {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Header prefs controls — fixed size, no jump */
.tollo-header-prefs {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    min-width: 108px;
    min-height: 36px;
}

.tollo-lang-switch {
    position: relative;
    min-width: 88px;
    height: 36px;
}

.tollo-lang-select {
    appearance: none;
    width: 100%;
    height: 36px;
    padding: 0 28px 0 10px;
    border: 1px solid var(--tollo-border);
    border-radius: 6px;
    background: var(--tollo-surface);
    color: var(--tollo-text);
    font: 600 0.78rem var(--ag-font-body, sans-serif);
    cursor: pointer;
    transition: var(--tollo-transition-color);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6b64' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
}

.tollo-theme-toggle {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--tollo-border);
    border-radius: 6px;
    background: var(--tollo-surface);
    color: var(--tollo-text);
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--tollo-transition-color);
}

.tollo-theme-toggle:hover {
    border-color: #1f6f5b;
}

.tollo-theme-icon {
    font-size: 1rem;
    line-height: 1;
    grid-area: 1 / 1;
}

html[data-theme="light"] .tollo-theme-icon-dark,
html:not([data-theme]) .tollo-theme-icon-dark {
    opacity: 0;
    visibility: hidden;
}

html[data-theme="dark"] .tollo-theme-icon-light {
    opacity: 0;
    visibility: hidden;
}

.tollo-mobile-prefs {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 14px 18px;
    border-top: 1px solid var(--tollo-border);
    border-bottom: 1px solid var(--tollo-border);
    background: var(--tollo-surface-alt);
}

/* RTL — keep English admin blocks readable (fix punctuation flip) */
.tollo-en-content {
    direction: ltr;
    unicode-bidi: isolate;
}

html[dir="rtl"] .tollo-en-content {
    text-align: right;
}

html[dir="rtl"] .tollo-en-content .ag-hero-actions {
    justify-content: flex-end;
}

html[dir="rtl"] .tollo-en-content .tolo-hero-pills {
    justify-content: flex-end;
}

html[dir="rtl"] .ag-header-container,
html[dir="rtl"] .ag-topbar-inner,
html[dir="rtl"] .ag-footer-cta-inner,
html[dir="rtl"] .ag-navigator-header,
html[dir="rtl"] .ag-section-header {
    direction: rtl;
}

html[dir="rtl"] .tollo-lang-select {
    padding: 0 10px 0 28px;
    background-position: left 8px center;
}

html[dir="rtl"] .ag-check-list li {
    padding: 8px 28px 8px 0;
}

html[dir="rtl"] .ag-check-list li::before {
    left: auto;
    right: 0;
}

/* Touch-friendly targets */
@media (pointer: coarse) {
    .tollo-theme-toggle,
    .tollo-lang-select,
    .ag-btn,
    .ag-nav-list > li > a {
        min-height: 44px;
    }

    .tollo-theme-toggle { width: 44px; }
    .tollo-lang-select { height: 44px; }
}

@media (max-width: 1200px) {
    .tollo-header-prefs { display: none; }
}

@media (max-width: 480px) {
    .ag-topbar-item { display: none; }
}

/* Dark-band sections — keep light text */
.ag-page-header h1,
.ag-page-header h2,
.ag-page-header p {
    color: inherit;
}

.tolo-matcher-intro h2,
.tolo-matcher-intro p,
.tolo-matcher-intro .ag-eyebrow,
.tolo-matcher-step h3,
.tolo-matcher-result h3,
.tolo-matcher-result p,
.tolo-match-opt,
.tolo-match-opt strong,
.tolo-match-opt span {
    /* Matcher colors set in dedicated block above */
}

.ag-page-header h1,
.ag-page-header h2 {
    color: #ffffff !important;
}

.ag-page-header p {
    color: rgba(255, 255, 255, 0.82) !important;
}

.ag-page-header .ag-eyebrow {
    color: #c8ef50 !important;
}

.ag-link-arrow {
    color: var(--tollo-nav-hover) !important;
}

.ag-div-icon {
    color: var(--tollo-eyebrow) !important;
}

.ag-brand-item {
    background: var(--tollo-brand-chip-bg) !important;
    color: var(--tollo-brand-chip-text) !important;
    border-color: var(--tollo-brand-chip-border) !important;
    transition: var(--tollo-transition-color), transform 0.2s ease, box-shadow 0.2s ease;
}

.ag-brand-txt {
    color: var(--tollo-brand-chip-text) !important;
}

.ag-brand-item:hover {
    background: var(--tollo-brand-chip-hover-bg) !important;
    border-color: var(--tollo-nav-hover) !important;
    transform: translateY(-2px);
    box-shadow: var(--tollo-card-shadow);
}

.ag-brand-portfolio-strip {
    background: var(--tollo-brand-strip-bg) !important;
    border-top: 1px solid var(--tollo-border);
}

.ag-brand-portfolio-strip .ag-section-header h2 {
    color: var(--tollo-heading) !important;
}

.ag-brand-portfolio-strip .ag-section-header p {
    color: var(--tollo-text-muted) !important;
}

.ag-brand-portfolio-strip .ag-eyebrow {
    color: var(--tollo-eyebrow) !important;
}

.ag-brand-portfolio-strip .ag-btn-outline {
    border-color: var(--tollo-brand-outline-border) !important;
    color: var(--tollo-brand-outline-text) !important;
    background: transparent !important;
}

.ag-brand-portfolio-strip .ag-btn-outline:hover {
    background: var(--tollo-brand-chip-hover-bg) !important;
    border-color: var(--tollo-nav-hover) !important;
    color: var(--tollo-heading) !important;
}

html[data-theme="dark"] .ag-brand-portfolio-strip .ag-btn-outline:hover {
    background: rgba(200, 239, 80, 0.12) !important;
    color: #e8f0ec !important;
    border-color: #c8ef50 !important;
}

html[data-theme="dark"] .ag-brand-portfolio-strip,
html[data-theme="dark"] .ag-lead-section {
    background: var(--tollo-bg) !important;
}

html[data-theme="dark"] .ag-proof-card-featured {
    background: #0f2f27 !important;
}

html[data-theme="dark"] .ag-audience-card h3,
html[data-theme="dark"] .ag-division-card h3,
html[data-theme="dark"] .ag-standard-card h3 {
    color: var(--tollo-heading) !important;
}

html[data-theme="dark"] body.ag-corporate-body {
    background:
        radial-gradient(1200px 500px at 10% -10%, rgba(200, 239, 80, 0.04), transparent 55%),
        radial-gradient(900px 420px at 100% 0%, rgba(26, 122, 98, 0.04), transparent 50%),
        var(--tollo-bg) !important;
}
