/* ==========================================================================
   Hempcare Group AG · Design-Layer 2026
   Visuelle Sprache aus dem Information Memorandum 2026.
   Wird nach style.css und responsive.css geladen und überschreibt das Template.
   ========================================================================== */

@font-face{font-family:'Space Grotesk';src:url('../fonts/space-grotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'Inter';src:url('../fonts/inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Plex Mono';src:url('../fonts/plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Plex Mono';src:url('../fonts/plex-mono-1.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Plex Mono';src:url('../fonts/plex-mono-2.ttf') format('truetype');font-weight:600;font-display:swap}

:root{
  --hc-ink:#14201A;
  --hc-paper:#F4F5F1;
  --hc-panel:#FBFBF9;
  --hc-panel2:#EEF0EA;
  --hc-moss:#35502E;
  --hc-moss2:#4C6B3B;
  --hc-sage:#93A886;
  --hc-mist:#E4E8DF;
  --hc-coral:#E24A30;
  --hc-coral-soft:#F4DCD5;
  --hc-muted:#5C6660;
  --hc-muted2:#7C857E;
  --hc-line:#D8DDD2;
  --hc-disp:'Space Grotesk',sans-serif;
  --hc-body:'Inter',sans-serif;
  --hc-mono:'Plex Mono',monospace;
}

/* --------------------------------------------------------------------------
   1. Grundtypografie: Template-Schriften ersetzen
   -------------------------------------------------------------------------- */
body,
body p,
.primary-font,
.form-control,
.btn{font-family:var(--hc-body)}

body{color:var(--hc-ink);background:var(--hc-paper)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

h1,h2,h3,h4,h5,h6,
.alt-font,
.card-title{font-family:var(--hc-disp)!important;letter-spacing:-.02em;line-height:1.04}

h1,h2,h3{font-weight:600!important}

p{color:var(--hc-muted);line-height:1.62}

strong,b{color:var(--hc-ink);font-weight:600}

a{text-decoration:none}

::selection{background:var(--hc-coral);color:#fff}

/* Template-Farbklassen auf die Memorandum-Palette umlegen */
.text-dark-gray{color:var(--hc-ink)!important}
.text-dark-gray-hover:hover{color:var(--hc-coral)!important}
.bg-dark-gray{background-color:var(--hc-ink)!important}
.bg-very-light-gray{background-color:var(--hc-panel2)!important}
.border-color-extra-medium-gray{border-color:var(--hc-line)!important}

/* --------------------------------------------------------------------------
   2. Kopfzeile und Navigation
   -------------------------------------------------------------------------- */
/* Die Navigation ist fixiert und damit fensterbreit, der Seiteninhalt liegt in
   .box-layout mit seitlichem Rand. Deshalb muss die Navigationsfläche exakt den
   Seitenhintergrund treffen, sonst entsteht eine versetzt wirkende Kante.
   Kein backdrop-filter: er würde die Navigation zum Bezugsrahmen für
   position:fixed machen und das Investor-Login-Overlay im Header verankern. */
.box-layout{background:var(--hc-paper)}
header .navbar{background:var(--hc-paper)!important;border-bottom:0}
/* Beim Scrollen setzt style.css rgba(255,255,255,.85) !important auf den Header.
   Weiss passt nicht zum Papierton der Seite, deshalb hier mit gleicher
   Spezifitaet auf den Papierton gezogen. Der Weichzeichner darf bleiben, seit
   das Investor-Login-Overlay ausserhalb von <nav> liegt. */
header.sticky.sticky-appear .header-reverse-back-scroll.glass-effect,
header.sticky.sticky-active .header-reverse.glass-effect{background-color:rgba(244,245,241,.92)!important}
header .navbar-brand img{max-height:44px;width:auto}
/* Höhere Spezifität als blogger.css und style.css, sonst greift die Mono-Optik nicht */
header .navbar .navbar-nav .nav-link{font-family:var(--hc-mono)!important;font-size:11.5px!important;line-height:22px;letter-spacing:.14em!important;text-transform:uppercase!important;font-weight:500!important;color:var(--hc-ink)!important;padding:10px 16px}
header .navbar .navbar-nav .nav-item:hover .nav-link,
header .navbar .navbar-nav .nav-item.active .nav-link{color:var(--hc-coral)!important}
.navbar-toggler-line{background-color:var(--hc-ink)!important}

/* --------------------------------------------------------------------------
   3. Schaltflächen
   -------------------------------------------------------------------------- */
.btn{font-family:var(--hc-mono)!important;letter-spacing:.1em;text-transform:uppercase;font-weight:500;border-radius:100px}
.btn-dark-gray{background-color:var(--hc-ink)!important;border-color:var(--hc-ink)!important;color:var(--hc-paper)!important}
.btn-dark-gray:hover{background-color:var(--hc-coral)!important;border-color:var(--hc-coral)!important;color:#fff!important}
.hc-btn-coral{background-color:var(--hc-coral)!important;border-color:var(--hc-coral)!important;color:#fff!important}
.hc-btn-coral:hover{background-color:var(--hc-ink)!important;border-color:var(--hc-ink)!important;color:#fff!important}
.hc-btn-ghost{background:transparent!important;border:1px solid rgba(255,255,255,.45)!important;color:#fff!important}
.hc-btn-ghost:hover{background:#fff!important;border-color:#fff!important;color:var(--hc-ink)!important}

/* --------------------------------------------------------------------------
   4. Bausteine aus dem Memorandum
   -------------------------------------------------------------------------- */
.hc-section{padding:96px 0}
.hc-section.tight{padding:64px 0}
.hc-paper{background:var(--hc-paper)}
.hc-panel{background:var(--hc-panel2)}
/* Farbe erbt jeder .hc-dark-Kontext, die Fläche nur ganze Abschnitte.
   So lassen sich Kennzahlen auch über einem Bild hell setzen. */
.hc-dark{color:var(--hc-paper)}
section.hc-dark{background:var(--hc-ink)}
.hc-dark h1,.hc-dark h2,.hc-dark h3,.hc-dark h4{color:var(--hc-paper)}
.hc-dark p{color:#c9d2c8}
.hc-dark strong{color:#fff}

.hc-eyebrow{display:block;font-family:var(--hc-mono);font-weight:500;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--hc-coral);margin-bottom:18px}
.hc-eyebrow.sage{color:var(--hc-sage)}

.hc-kicker{font-family:var(--hc-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--hc-moss2);font-weight:500}

.hc-rule{height:3px;width:64px;background:var(--hc-coral);border:0;border-radius:2px;opacity:1;margin:0 0 28px}

.hc-display{font-size:clamp(38px,5.4vw,64px);line-height:1;letter-spacing:-.03em;font-weight:600}
.hc-h-xl{font-size:clamp(30px,3.6vw,48px);line-height:1.02;letter-spacing:-.025em;font-weight:600}
.hc-h-lg{font-size:clamp(26px,2.6vw,38px);line-height:1.04;letter-spacing:-.02em;font-weight:600}
.hc-h-md{font-size:clamp(20px,1.8vw,26px);line-height:1.1;font-weight:600}

.hc-lead{font-size:18px;line-height:1.62;color:#3c463f}
.hc-dark .hc-lead{color:#d6ddd3}
.hc-mono{font-family:var(--hc-mono)}

/* Statuschips */
.hc-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--hc-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:100px}
.hc-chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.hc-chip.new{background:var(--hc-coral);color:#fff}
.hc-chip.ok{background:#e7efe1;color:var(--hc-moss)}
.hc-chip.plan{background:transparent;color:var(--hc-muted);border:1px solid var(--hc-line)}
.hc-dark .hc-chip.ok{background:rgba(147,168,134,.18);color:#bccdb4}
.hc-dark .hc-chip.plan{color:#a9b4a8;border-color:rgba(255,255,255,.22)}

/* Karten */
.hc-card{background:var(--hc-panel);border:1px solid var(--hc-line);border-radius:16px;padding:30px;height:100%}
.hc-card .num{font-family:var(--hc-mono);font-size:12px;font-weight:500;color:var(--hc-muted2);letter-spacing:.06em}
.hc-card h4{font-size:21px;margin:12px 0 10px}
.hc-card p{font-size:14.5px;margin-bottom:0}
.hc-card .code{font-family:var(--hc-mono);font-size:11px;color:var(--hc-muted2);letter-spacing:.02em;margin-top:14px;display:block}

/* Bildkarte mit Verlauf */
/* height:100% lässt die Karte die Spaltenhöhe füllen, damit nebeneinander
   liegende Bildkarten trotz unterschiedlich langer Texte gleich hoch sind. */
.hc-lcard{position:relative;border-radius:18px;overflow:hidden;min-height:340px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;padding:28px}
.hc-lcard .lc-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease}
.hc-lcard:hover .lc-img{transform:scale(1.04)}
.hc-lcard .lc-grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,22,16,.94) 8%,rgba(12,22,16,.36) 62%,rgba(12,22,16,.14) 100%)}
.hc-lcard .lc-in{position:relative}
.hc-lcard h4{color:#fff;font-size:22px;margin:12px 0 0}
.hc-lcard .qa{margin-top:16px}
.hc-lcard .qa .q{font-family:var(--hc-disp);font-weight:600;font-size:14px;color:#fff}
.hc-lcard .qa .a{font-size:13.5px;line-height:1.5;margin:3px 0 14px;color:#cdd6cd}
/* Chips auf dem Bildverlauf brauchen helle Werte */
.hc-lcard .hc-chip.ok{background:rgba(255,255,255,.18);color:#e2e9df}
.hc-lcard .hc-chip.plan{color:#cdd6cd;border-color:rgba(255,255,255,.4)}

/* Registerzeilen */
.hc-reg{border-top:1px solid var(--hc-line)}
.hc-reg-row{display:grid;grid-template-columns:32px 1fr auto;gap:20px;align-items:center;padding:20px 2px;border-bottom:1px solid var(--hc-line)}
.hc-reg-ix{font-family:var(--hc-mono);font-size:12px;color:var(--hc-muted2);font-weight:500}
.hc-reg-name{font-family:var(--hc-disp);font-weight:600;font-size:19px;letter-spacing:-.01em;color:var(--hc-ink)}
.hc-reg-sub{font-size:13.5px;color:var(--hc-muted);margin-top:4px}

/* Kennzahlen */
.hc-stat{border-top:2px solid var(--hc-ink);padding-top:14px}
.hc-dark .hc-stat{border-top-color:var(--hc-sage)}
.hc-stat .n{font-family:var(--hc-disp);font-weight:600;font-size:clamp(30px,3.2vw,42px);letter-spacing:-.02em;line-height:1;color:var(--hc-ink)}
.hc-dark .hc-stat .n{color:#fff}
.hc-stat .n .u{font-size:.44em;color:var(--hc-muted);margin-left:4px}
.hc-dark .hc-stat .n .u{color:var(--hc-sage)}
.hc-stat .l{font-size:13px;color:var(--hc-muted);margin-top:9px;line-height:1.45}
.hc-dark .hc-stat .l{color:#a9b4a8}

.hc-kpi{background:var(--hc-panel);border:1px solid var(--hc-line);border-radius:16px;padding:24px;height:100%}
.hc-kpi .kn{font-family:var(--hc-disp);font-weight:600;font-size:clamp(26px,2.8vw,34px);letter-spacing:-.02em;line-height:1;color:var(--hc-ink)}
.hc-kpi .kn.c{color:var(--hc-coral)}
.hc-kpi .kn .u{font-size:.46em;color:var(--hc-muted2);margin-left:3px}
.hc-kpi .kl{font-size:13px;line-height:1.45;color:var(--hc-muted);margin:10px 0 0}

/* Wertschöpfungskette */
.hc-vc{display:flex;flex-direction:column;gap:14px}
.hc-vc-seg{position:relative;border-radius:16px;display:flex;align-items:center;gap:20px;padding:22px 26px;color:#fff;overflow:hidden}
.hc-vc-num{font-family:var(--hc-mono);font-size:12px;opacity:.72;font-weight:500}
.hc-vc-t{font-family:var(--hc-disp);font-weight:600;font-size:21px;letter-spacing:-.01em;color:#fff}
.hc-vc-s{font-size:13px;opacity:.85;margin:3px 0 0;color:#fff}
.hc-vc-badge{margin-left:auto;font-family:var(--hc-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:100px;background:rgba(255,255,255,.16);white-space:nowrap}
.hc-vc-badge.new{background:var(--hc-coral)}

/* Tabelle */
.hc-tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.hc-tbl th{font-family:var(--hc-mono);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--hc-muted2);text-align:left;padding:0 14px 14px;border-bottom:1px solid var(--hc-line)}
.hc-tbl td{padding:15px 14px;border-bottom:1px solid var(--hc-line);vertical-align:top;color:#3c463f}
.hc-tbl td.num{font-family:var(--hc-mono);font-weight:500;color:var(--hc-ink);text-align:right;white-space:nowrap}
.hc-tbl tr.hl td{background:#eef2ea}
.hc-tbl tr.hl .co{font-family:var(--hc-disp);font-weight:600;color:var(--hc-moss)}
.hc-tbl-wrap{overflow-x:auto}
.hc-tag{font-family:var(--hc-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:5px;background:var(--hc-coral);color:#fff;margin-left:8px;vertical-align:middle}

/* Zeitachse */
.hc-tl{border-left:2px solid var(--hc-line);padding-left:34px;margin-left:8px}
.hc-tl-item{position:relative;padding-bottom:38px}
.hc-tl-item:last-child{padding-bottom:0}
.hc-tl-item::before{content:'';position:absolute;left:-43px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--hc-moss);border:3px solid var(--hc-paper);box-shadow:0 0 0 1px var(--hc-moss)}
.hc-tl-item.new::before{background:var(--hc-coral);box-shadow:0 0 0 1px var(--hc-coral),0 0 0 6px var(--hc-coral-soft)}
.hc-tl-item.plan::before{background:var(--hc-paper);box-shadow:0 0 0 1px var(--hc-line)}
.hc-tl-year{font-family:var(--hc-mono);font-weight:600;font-size:13px;letter-spacing:.06em;color:var(--hc-ink)}
.hc-tl-item.new .hc-tl-year{color:var(--hc-coral)}
.hc-tl-item.plan .hc-tl-year{color:var(--hc-muted2)}
.hc-tl-t{font-family:var(--hc-disp);font-weight:600;font-size:19px;margin:6px 0 5px;color:var(--hc-ink)}
.hc-tl-d{font-size:14px;line-height:1.55;color:var(--hc-muted);margin:0}
.hc-legend{display:flex;gap:26px;flex-wrap:wrap;align-items:center;margin-top:34px}
.hc-legend .li{display:flex;align-items:center;gap:9px;font-family:var(--hc-mono);font-size:11px;letter-spacing:.06em;color:var(--hc-muted);text-transform:uppercase}
.hc-legend .sw{width:12px;height:12px;border-radius:50%}

/* Phasen */
.hc-phase{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--hc-line)}
.hc-phase-y{font-family:var(--hc-mono);font-weight:600;font-size:14px;color:var(--hc-coral);letter-spacing:.04em}
.hc-phase-t{font-family:var(--hc-disp);font-weight:600;font-size:18px;color:var(--hc-ink)}
.hc-phase-d{font-size:14px;color:var(--hc-muted);margin:5px 0 0;line-height:1.55}
.hc-dark .hc-phase{border-top-color:rgba(255,255,255,.14)}
.hc-dark .hc-phase-t{color:#fff}
.hc-dark .hc-phase-d{color:#a9b4a8}

/* Mittelverwendung */
.hc-fbar{display:grid;grid-template-columns:200px 1fr 90px;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid var(--hc-line)}
.hc-fbar-lab{font-family:var(--hc-disp);font-weight:600;font-size:16px;color:var(--hc-ink)}
.hc-fbar-lab span{display:block;font-family:var(--hc-mono);font-size:10.5px;font-weight:400;color:var(--hc-muted2);letter-spacing:.05em;margin-top:3px;text-transform:uppercase}
.hc-fbar-track{height:14px;background:var(--hc-panel2);border-radius:8px;overflow:hidden}
.hc-fbar-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--hc-moss2),var(--hc-moss))}
.hc-fbar-fill.c{background:linear-gradient(90deg,var(--hc-coral),#c93c24)}
.hc-fbar-val{font-family:var(--hc-mono);font-weight:600;font-size:17px;text-align:right;color:var(--hc-ink)}

/* Umsatzsäulen */
.hc-rc{display:flex;align-items:stretch;gap:20px;height:260px}
.hc-rc-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
/* flex:1 gibt dem Balken eine feste Bezugshöhe, damit die Segmente in Prozent
   angegeben werden können und auf schmalen Fenstern mitskalieren. */
.hc-rc-bar{width:100%;max-width:78px;flex:1;min-height:0;display:flex;flex-direction:column-reverse;border-radius:8px;overflow:hidden}
.hc-rc-seg{width:100%}
.hc-rc-tot{font-family:var(--hc-mono);font-weight:600;font-size:14px;margin-bottom:9px;color:var(--hc-ink)}
.hc-rc-yr{font-family:var(--hc-mono);font-size:11.5px;color:var(--hc-muted2);margin-top:12px;letter-spacing:.04em}
.hc-leg{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px}
.hc-leg .li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--hc-muted)}
.hc-leg .sw{width:12px;height:12px;border-radius:3px}

/* Glossar */
.hc-gl{columns:2;column-gap:56px}
.hc-gl .item{break-inside:avoid;margin-bottom:22px}
.hc-gl .t{font-family:var(--hc-disp);font-weight:600;font-size:16px;color:var(--hc-ink)}
.hc-gl .t .abbr{font-family:var(--hc-mono);color:var(--hc-coral);font-weight:500}
.hc-gl .d{font-size:13.5px;line-height:1.55;color:var(--hc-muted);margin:5px 0 0}

/* ESG */
.hc-esg{display:grid;grid-template-columns:58px 1fr;gap:20px;margin-top:30px}
.hc-esg-n{width:46px;height:46px;border-radius:50%;background:var(--hc-coral);color:#fff;font-family:var(--hc-disp);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:16px}
.hc-esg-t{font-family:var(--hc-disp);font-weight:600;font-size:20px;color:var(--hc-ink)}
.hc-esg-d{font-size:14px;line-height:1.55;color:var(--hc-muted);margin:6px 0 0}

/* Hinweisblock */
.hc-callout{background:#eef2ea;border-left:3px solid var(--hc-coral);border-radius:8px;padding:20px 24px}
.hc-callout p{font-size:15px;color:#2f3a33;margin:0}
.hc-dark .hc-callout{background:rgba(255,255,255,.06);border-left-color:var(--hc-coral)}
.hc-dark .hc-callout p{color:#d6ddd3}

.hc-note{font-family:var(--hc-mono);font-size:11px;letter-spacing:.04em;color:var(--hc-muted2);line-height:1.6}

/* Abstand, den das Template nicht mitbringt */
.mt-12px{margin-top:12px!important}

/* Bühne */
.hc-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden}
.hc-hero-img{position:absolute;inset:0;background-size:cover;background-position:center}
.hc-hero-grad{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,16,.94) 0%,rgba(12,22,16,.72) 44%,rgba(12,22,16,.2) 100%),linear-gradient(0deg,rgba(12,22,16,.88) 0%,rgba(12,22,16,0) 52%)}
.hc-hero-in{position:relative;width:100%;padding:150px 0 76px;color:#fff}
.hc-hero-in h1{color:#fff}
.hc-hero-in p{color:#d6ddd3}

/* Zitat */
.hc-quote{border-left:3px solid var(--hc-coral);padding-left:28px}
.hc-quote p{font-family:var(--hc-disp);font-weight:500;font-size:clamp(19px,2vw,25px);line-height:1.35;letter-spacing:-.015em;color:var(--hc-ink)}
.hc-quote .who{font-family:var(--hc-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--hc-muted2);margin-top:16px}

/* Logogitter */
.hc-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.hc-logos .lg{background:#fff;border:1px solid var(--hc-line);border-radius:14px;height:110px;display:flex;align-items:center;justify-content:center;padding:22px}
.hc-logos .lg img{max-height:46px;max-width:80%;object-fit:contain}

/* --------------------------------------------------------------------------
   5. Formulare, Fusszeile, Cookiebanner
   -------------------------------------------------------------------------- */
.form-label{font-family:var(--hc-mono)!important;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--hc-muted2)!important}
.form-control{border-color:var(--hc-line);color:var(--hc-ink)}
.form-control:focus{border-color:var(--hc-coral);box-shadow:none}
.form-control::placeholder{color:var(--hc-muted2)}

footer.bg-dark-gray{background-color:var(--hc-ink)!important}
footer .footer-navbar .nav-link{font-family:var(--hc-mono);font-size:11px!important;letter-spacing:.12em;text-transform:uppercase}
footer .footer-navbar .nav-link:hover{color:var(--hc-coral)!important}
footer .contact-info{font-size:14.5px}

.cookie-message{background:var(--hc-ink)!important}

/* Investor-Login: liegt im <nav>, deshalb hier explizit am Fenster verankern
   statt sich auf die Reihenfolge der Template-Dateien zu verlassen. */
.popup-overlay{position:fixed;inset:0;width:100%;height:100%;background:rgba(12,22,16,.62);display:flex;align-items:center;justify-content:center;z-index:1050;padding:24px}
.popup-content{background:var(--hc-panel);border:1px solid var(--hc-line);border-radius:16px;padding:36px;width:100%;max-width:430px;position:relative;text-align:left;max-height:90vh;overflow-y:auto}
.popup-content h3{font-size:24px;margin-bottom:22px}
.popup-content .form-control{margin-bottom:0}
.close-btn{position:absolute;top:14px;right:18px;font-size:24px;line-height:1;cursor:pointer;color:var(--hc-muted2)}
.close-btn:hover{color:var(--hc-coral)}
@media (max-width:575px){
  .popup-content{padding:26px}
  .popup-content h3{font-size:21px}
}

/* --------------------------------------------------------------------------
   6. Kleinere Ansichten
   -------------------------------------------------------------------------- */
/* Umbruchsicherheit: lange Fachbegriffe dürfen keine Zeile sprengen */
h1,h2,h3,h4,.hc-reg-name,.hc-vc-t,.hc-phase-t,.hc-tl-t{overflow-wrap:break-word}
.hc-chip{max-width:100%}
.hc-chip .dot{flex:0 0 7px}
.hc-tbl-wrap{-webkit-overflow-scrolling:touch}
.hc-tbl-wrap.wide .hc-tbl{min-width:560px}

@media (max-width:1199px){
  .hc-logos{grid-template-columns:repeat(3,1fr)}
  .hc-fbar{grid-template-columns:170px 1fr 80px;gap:16px}
}
@media (max-width:991px){
  .hc-section{padding:68px 0}
  .hc-section.tight{padding:48px 0}
  .hc-gl{columns:1}
  .hc-fbar{grid-template-columns:1fr;gap:12px}
  .hc-fbar-val{text-align:left}
  .hc-logos{grid-template-columns:repeat(2,1fr)}
  .hc-hero{min-height:auto}
  .hc-hero-in{padding:132px 0 56px}
  .hc-card{padding:26px}
}
@media (max-width:767px){
  .hc-section{padding:56px 0}
  .hc-section.tight{padding:40px 0}
  .hc-vc-seg{flex-wrap:wrap;gap:12px;padding:20px}
  .hc-vc-badge{margin-left:0}
  .hc-phase{grid-template-columns:1fr;gap:8px}
  .hc-rc{height:210px;gap:10px}
  .hc-rc-tot{font-size:12.5px;margin-bottom:6px}
  .hc-rc-yr{font-size:10.5px;margin-top:9px}
  .hc-reg-row{grid-template-columns:28px 1fr;gap:14px;align-items:start}
  .hc-reg-row .hc-chip{grid-column:2;justify-self:start;margin-top:12px}
  .hc-esg{grid-template-columns:1fr;gap:14px}
  .hc-card{padding:24px}
  .hc-lcard{min-height:300px;padding:24px}
  .hc-tbl{font-size:13.5px}
  .hc-tbl th{padding:0 10px 12px}
  .hc-tbl td{padding:13px 10px}
  .hc-quote{padding-left:20px}
  .hc-callout{padding:16px 18px}
}
@media (max-width:575px){
  .hc-display{font-size:32px}
  .hc-h-xl{font-size:27px}
  .hc-h-lg{font-size:23px}
  .hc-lead{font-size:16px}
  .hc-hero-in{padding:118px 0 46px}
  .hc-chip{font-size:10px;letter-spacing:.06em;padding:6px 11px}
  .hc-eyebrow{font-size:11px;letter-spacing:.26em}
  .hc-rc{height:180px;gap:7px}
  .hc-card{padding:22px}
  .hc-kpi{padding:20px}
}
