/*!
  Template:  Cargonix | Logistics & Freight HTML Template
  Version:   1.0.0
  Author:    MOONSHOTS
  Website:   https://m00nshots.dev
  Contact:   build@m00nshots.dev
  Copyright: (c) 2026 m00nshots. All rights reserved.
*/
/* ==========================================================================
   CARGONIX THEME — Logistics & Freight
   Design language: industrial / engineering. Hard square corners, hazard
   stripes, container-corrugation textures, mono data labels, bordered grids
   with visible 1px rules, two-row header, rectangular buttons with arrow block.
   --------------------------------------------------------------------------
   01. Tokens (light + dark)          08. Quote calculator
   02. Base & typography              09. Network map
   03. Buttons, tags, textures        10. Tables, boards, tabs, meters
   04. Two-row header & drawer        11. Home compositions (1–4)
   05. Core component restyles        12. Inner pages
   06. Shared Cargonix blocks         13. CTA, footer, 404
   07. Tracking widget                14. Responsive tweaks
   ========================================================================== */

/* 01. Tokens ------------------------------------------------------------- */
:root {
  --orange: #ff5f00; --navy: #0f1b2d; --navy-2: #16263d; --concrete: #eceff1; --signal: #ffd23f;
  --bg: #eceff1; --bg-2: #e1e5e9; --surface: #ffffff; --surface-2: #f3f5f7;
  --text: #0f1b2d; --muted: #4b586b; --line: rgba(15, 27, 45, .16); --line-strong: rgba(15, 27, 45, .5);
  --primary: #ff5f00; --primary-2: #e65400; --primary-ink: #c94700; --on-primary: #0f1b2d; --accent: #ffd23f;
  --ok: #148a4c; --warn: #b88a00;
  --font-head: "Archivo", "Arial Narrow", system-ui, sans-serif;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --font-logo: "Saira Stencil One", "Archivo", sans-serif; --logo-weight: 400; --logo-size: 1.55rem; --logo-tracking: .04em; --logo-case: uppercase;
  --head-weight: 800; --head-tracking: -0.01em;
  --radius-sm: 0; --radius: 0; --radius-lg: 0; --radius-btn: 0;
  --header-h: 72px; --cg-top: 38px;
  --gradient: linear-gradient(135deg, #ff5f00, #ff8a1f);
  --shadow: 8px 8px 0 rgba(15, 27, 45, .12); --shadow-lg: 14px 14px 0 rgba(15, 27, 45, .14);
  --hazard: repeating-linear-gradient(-45deg, var(--signal) 0 12px, var(--navy) 12px 24px);
  --ribs: repeating-linear-gradient(90deg, rgba(0, 0, 0, .12) 0 2px, transparent 2px 9px, rgba(255, 255, 255, .16) 9px 11px, transparent 11px 18px);
}
[data-theme="dark"] {
  --bg: #0a1320; --bg-2: #0d1829; --surface: #101d30; --surface-2: #16263c;
  --text: #e7ecf2; --muted: #9aa8bb; --line: rgba(231, 236, 242, .13); --line-strong: rgba(231, 236, 242, .45);
  --primary: #ff6a14; --primary-2: #ff5f00; --primary-ink: #ff8a3d; --on-primary: #0a1320;
  --ok: #3fcf82; --warn: #ffd23f;
  --shadow: 8px 8px 0 rgba(0, 0, 0, .35); --shadow-lg: 14px 14px 0 rgba(0, 0, 0, .4);
}
/* Always-dark zones (hero 1, page headers, dark bands, footer, calculator output) */
.cg-dark, .cg-h1, .cg-ph, .cg-foot, .cg-calc__out, .cg-map__frame, .cg-h3__stat, .plan--featured {
  --text: #eef2f6; --muted: #a6b3c4; --line: rgba(255, 255, 255, .15); --line-strong: rgba(255, 255, 255, .5);
  --surface: #13223a; --surface-2: #1a2d48; --primary-ink: #ff7a2e; color: var(--text);
}

/* 02. Base & typography -------------------------------------------------- */
body { font-size: 16px; }
h1, h2, h3, h4 { font-stretch: 112%; }
.hero__title, .page-header h1, .h2 { text-transform: uppercase; font-stretch: 125%; font-weight: 800; line-height: .98; letter-spacing: -0.015em; }
.h2 { font-size: clamp(1.75rem, 3.7vw, 3rem); }
.h3 { font-stretch: 112%; }
.hero__title em, .page-header h1 em, .h2 em { font-style: normal; color: var(--primary-ink); }
.lead { color: var(--muted); }
:focus-visible { border-radius: 0; outline-color: var(--primary); }
.eyebrow { font-family: var(--font-mono); font-weight: 500; font-size: .74rem; letter-spacing: .14em; color: var(--primary-ink); gap: 10px; }
.eyebrow::before { width: 9px; height: 9px; border-radius: 0; background: var(--primary); }
.section-head:not(.section-head--row) { max-width: 820px; }
.cg-split .section-head { margin-bottom: 20px; }
.section-head--row > div { max-width: 700px; }
.section-head .h2 { margin-bottom: .4em; }
.cg-mono { font-family: var(--font-mono); font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.hide-sm { display: none !important; }
.hide-md { display: none !important; }
@media (min-width: 640px) { .hide-sm { display: inline-flex !important; } }
@media (min-width: 1024px) { .hide-md { display: inline-flex !important; } }
.section { padding-block: clamp(64px, 9vw, 128px); }
.section--alt { background: var(--bg-2); border-block: 1px solid var(--line); }
.cg-dark { background: var(--navy); border-block: 0; --band: var(--navy); --ok: #3fcf82; --warn: #ffd23f; }
[data-theme="dark"] .cg-dark { background: #060e19; --band: #060e19; }
.cg-h4 { --band: var(--bg); }
.cg-dark .eyebrow { color: #ff7a2e; }
.section--tight { padding-block: clamp(40px, 5vw, 72px); }

/* 03. Buttons, tags, textures ------------------------------------------- */
/* Rectangular button; a trailing icon becomes a separate square "arrow block". */
.btn {
  border-radius: 0; font-family: var(--font-head); font-stretch: 112%; font-weight: 700; text-transform: uppercase;
  letter-spacing: .03em; font-size: .88rem; min-height: 54px; padding: 0 22px; gap: 12px; border: 1.5px solid var(--btn-bg); justify-content: space-between;
}
.btn > .ti:last-child {
  align-self: stretch; display: grid; place-items: center; width: 52px; margin: -1.5px -23.5px -1.5px 6px;
  background: rgba(15, 27, 45, .14); border-left: 1.5px solid rgba(15, 27, 45, .3); font-size: 1.2rem; transition: background .3s, color .3s;
}
.btn:hover > .ti:last-child { background: var(--navy); color: var(--orange); transform: none; }
.btn:hover { box-shadow: 5px 5px 0 var(--line-strong); transform: translate(-2px, -2px); }
.btn::after { background: rgba(255, 255, 255, .16); }
.btn--sm { min-height: 44px; padding: 0 16px; font-size: .78rem; }
.btn--sm > .ti:last-child { width: 42px; margin-right: -17.5px; }
.btn--lg { min-height: 60px; padding: 0 26px; font-size: .92rem; }
.btn--lg > .ti:last-child { width: 60px; margin-right: -27.5px; }
.btn--navy { --btn-bg: var(--navy); --btn-fg: #fff; }
[data-theme="dark"] .btn--navy { --btn-bg: #eef2f6; --btn-fg: #0a1320; }
.btn--navy > .ti:last-child { background: var(--orange); color: var(--navy); border-left-color: transparent; }
.btn--navy:hover > .ti:last-child { background: var(--signal); color: var(--navy); }
.btn--ghost { --btn-bg: transparent; --btn-fg: var(--text); border-color: var(--text); }
.btn--ghost > .ti:last-child { background: transparent; border-left-color: currentColor; }
.btn--ghost::after { background: color-mix(in srgb, var(--text) 8%, transparent); }
.cg-on-dark { --btn-fg: #fff; border-color: rgba(255, 255, 255, .7); }
.cg-on-orange { --btn-fg: var(--navy); border-color: var(--navy); }
.btn--block { width: 100%; justify-content: space-between; }
.btn-group { gap: 14px; }
.icon-btn { border-radius: 0; width: 42px; height: 42px; border-color: var(--line-strong); }
.icon-box { border-radius: 0; background: var(--primary); color: var(--navy); }
.chip { border-radius: 0; }
.cg-tag { display: inline-flex; align-items: center; gap: 10px; padding: 7px 12px; border: 1px solid var(--line-strong); font-family: var(--font-mono); font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 24px; background: var(--surface); }
.cg-tag .ti { color: var(--primary); font-size: 1.05rem; }
.cg-hazard { height: 12px; background: var(--hazard); }
.cg-dot { width: 10px; height: 10px; background: #2fd07a; flex: none; animation: cg-blink 1.4s steps(2) infinite; }
@keyframes cg-blink { 50% { opacity: .25; } }
.cg-link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--primary-ink); }
.cg-link .ti { transition: transform .3s var(--ease); }
.cg-link:hover .ti { transform: translateX(4px); }
/* Container door plate: corrugated orange steel with stencil markings */
.cg-plate {
  display: grid; gap: 2px; padding: 16px 20px; color: var(--navy); border: 3px solid var(--navy);
  background: var(--ribs), linear-gradient(180deg, #ff7424, #ff5f00 60%, #e85600); box-shadow: 6px 6px 0 rgba(15, 27, 45, .35);
}
.cg-plate b { font-family: var(--font-logo); font-weight: 400; font-size: 1.6rem; line-height: 1; letter-spacing: .04em; margin-bottom: 4px; }
.cg-plate span { font-family: var(--font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .1em; }
.cg-ticks { display: grid; gap: 10px; margin-top: 24px; }
.cg-ticks li { display: flex; gap: 12px; align-items: flex-start; font-weight: 500; }
.cg-ticks .ti { color: var(--primary); font-size: 1.3rem; flex: none; margin-top: 1px; }

/* 04. Two-row header & drawer ------------------------------------------- */
body:not(:has(.cg-topbar)) { --cg-top: 0px; }
.cg-topbar {
  position: fixed; top: 0; left: 0; right: 0; height: var(--cg-top); z-index: 101; background: var(--navy); color: #c9d2dd;
  font-family: var(--font-mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; transition: transform .45s var(--ease);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
[data-theme="dark"] .cg-topbar { background: #050b14; }
.cg-topbar__in { height: 100%; display: flex; align-items: center; gap: 24px; }
.cg-topbar .ti { color: var(--orange); font-size: .95rem; }
.cg-topbar b { color: #fff; font-weight: 500; }
.cg-topbar__geo, .cg-topbar__utc { align-items: center; gap: 8px; white-space: nowrap; }
.cg-topbar__right { margin-left: auto; display: flex; align-items: center; height: 100%; min-width: 0; }
.cg-topbar__right a { display: inline-flex; align-items: center; gap: 7px; height: 100%; padding: 0 12px; border-left: 1px solid rgba(255, 255, 255, .12); white-space: nowrap; transition: background .3s, color .3s; }
.cg-topbar__right a:first-child { border-left: 0; padding-left: 0; }
.cg-topbar__right a:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.cg-topbar__right a:first-child:hover { background: none; }
.cg-topbar__right a > span { display: none; }
@media (min-width: 640px) { .cg-topbar__right a > span { display: inline; color: #8e9bad; } .cg-topbar__right a:first-child { padding-left: 12px; } }
.site-header {
  top: var(--cg-top); height: var(--header-h); background: var(--surface); border-bottom: 1px solid var(--line);
  transition: top .45s var(--ease), transform .5s var(--ease), height .4s, box-shadow .4s;
}
.site-header::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.site-header.is-scrolled { top: 0; height: 64px; background: var(--surface); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
.site-header.is-scrolled::after { transform: scaleX(1); }
.site-header.is-scrolled ~ main .cg-topbar { transform: translateY(-100%); }
.logo { color: var(--text); gap: 12px; }
.logo__mark { width: 38px; height: 38px; border-radius: 0; background: var(--primary); color: var(--navy); font-size: 1.3rem; box-shadow: inset 0 -5px 0 rgba(15, 27, 45, .25); }
.nav__link { border-radius: 0; font-family: var(--font-head); font-stretch: 112%; font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; padding: 10px 14px; }
.nav__link:hover, .nav__link.is-active { color: var(--primary-ink); }
.nav__link.is-active { box-shadow: inset 0 -3px 0 var(--primary); }
@media (min-width: 1024px) { .nav__menu { gap: 0; height: var(--header-h); } .nav__menu > li { border-left: 1px solid var(--line); } .nav__menu > li:last-child { border-right: 1px solid var(--line); } }
.dropdown { border-radius: 0; padding: 0; border: 1px solid var(--line-strong); box-shadow: var(--shadow); top: calc(100% + 1px); }
.dropdown a { border-radius: 0; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: .88rem; }
.dropdown a:last-child { border-bottom: 0; }
.dropdown a:hover { background: var(--primary); color: var(--navy); }
.cg-hbtn { --btn-bg: var(--primary); }
.drawer__panel { border-left: 6px solid var(--primary); }
.drawer__nav a { font-family: var(--font-head); font-stretch: 112%; font-weight: 700; text-transform: uppercase; font-size: 1rem; letter-spacing: .02em; }
.drawer__nav .sub { font-family: var(--font-body); text-transform: none; font-weight: 500; font-stretch: 100%; }
.hero, .page-header { padding-top: calc(var(--header-h) + var(--cg-top) + clamp(40px, 6vw, 88px)); }
.preloader__bar { border-radius: 0; height: 8px; width: 180px; }
.preloader__bar::after { background: var(--hazard); width: 50%; }

/* 05. Core component restyles ------------------------------------------- */
.card { border-radius: 0; }
.logos-title { font-family: var(--font-mono); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
.logos span { font-family: var(--font-head); font-stretch: 112%; font-weight: 800; text-transform: uppercase; font-size: 1.05rem; letter-spacing: .02em; }
.logos .ti { color: var(--primary); }
.section--tight:has(.logos) { border-bottom: 1px solid var(--line); background: var(--surface); }
.text-band { border-block: 1px solid var(--line); background: var(--surface); padding-block: 22px; }
.text-band .marquee__track span { text-transform: uppercase; font-stretch: 125%; font-weight: 900; font-size: clamp(1.8rem, 4.4vw, 3.4rem); }
.text-band .marquee__track .ti { color: var(--primary); }
.text-band .outline { -webkit-text-stroke: 1.5px var(--text); }
.accordion { border-top: 2px solid var(--text); }
.accordion__btn { font-stretch: 112%; font-weight: 700; }
.accordion__icon { border-radius: 0; border-color: var(--line-strong); }
.accordion__item.is-open .accordion__icon { background: var(--primary); color: var(--navy); }
.input, .select, .textarea { border-radius: 0; border: 1px solid var(--line-strong); background: var(--surface); }
.input:focus, .select:focus, .textarea:focus { border-color: var(--primary); box-shadow: 4px 4px 0 color-mix(in srgb, var(--primary) 35%, transparent); }
.field label { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.form-success { border-radius: 0; border-left: 4px solid var(--ok); }
.newsletter { border-radius: 0; padding: 0; border: 1px solid var(--line-strong); }
.newsletter .btn { min-height: 52px; }
.billing-toggle { border-radius: 0; padding: 4px; }
.billing-toggle button { border-radius: 0; font-family: var(--font-mono); text-transform: uppercase; font-size: .76rem; letter-spacing: .08em; }
.billing-toggle button.is-active { background: var(--primary); color: var(--navy); }
.billing-toggle small { color: var(--ok); }
.billing-toggle button.is-active small { color: var(--navy); }
.pricing { gap: 0; border: 1px solid var(--line); }
@media (min-width: 1024px) { .pricing > * + * { border-left: 1px solid var(--line); } }
.plan { border-radius: 0; border: 0; border-bottom: 1px solid var(--line); }
@media (min-width: 1024px) { .plan { border-bottom: 0; } }
.plan--featured { background: var(--navy); box-shadow: inset 0 6px 0 var(--primary); }
.plan--featured::before { display: none; }
.plan__tag { background: var(--signal); color: var(--navy); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; }
.plan__price { font-stretch: 125%; font-weight: 900; }
.plan .h3 { text-transform: uppercase; }
.check-list .ti { border-radius: 0; background: var(--primary); color: var(--navy); }
.member__img { border-radius: 0; border: 1px solid var(--line); }
.member__img::after { content: "CREW"; position: absolute; top: 12px; left: 12px; padding: 4px 8px; background: var(--signal); color: var(--navy); font-family: var(--font-mono); font-size: .64rem; font-weight: 600; letter-spacing: .12em; }
.member h3 { text-transform: uppercase; font-stretch: 112%; }
.member__social a { border-radius: 0; }
.socials a { border-radius: 0; }
.to-top { border-radius: 0; background: var(--primary); color: var(--navy); }
.cursor { border-radius: 0; background: var(--primary); }
.breadcrumb { font-family: var(--font-mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-list .icon-box { width: 46px; height: 46px; }
.contact-list li { border-bottom-color: var(--line); }
.form.card { border: 1px solid var(--line-strong); box-shadow: var(--shadow); }

/* 06. Shared Cargonix blocks -------------------------------------------- */
/* Bordered grid with visible 1px rules */
.cg-grid { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); grid-template-columns: 1fr; }
@media (min-width: 640px) { .cg-grid--3, .cg-grid--2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cg-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.cg-grid > * { background: var(--surface); min-width: 0; }
.cg-cell { position: relative; display: flex; flex-direction: column; gap: 12px; padding: clamp(24px, 3vw, 36px); transition: background .35s; }
.cg-cell__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; color: var(--muted); }
.cg-cell__top .ti { display: grid; place-items: center; width: 52px; height: 52px; font-size: 1.6rem; background: var(--primary); color: var(--navy); }
.cg-cell h3 { font-size: 1.3rem; text-transform: uppercase; margin: 0; }
.cg-cell p { color: var(--muted); margin: 0; }
.cg-cell .cg-link { margin-top: auto; padding-top: 12px; }
.cg-cell::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 4px; background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.cg-cell:hover::after { transform: scaleX(1); }
.cg-split { display: grid; gap: 48px; align-items: center; }
.cg-split > * { min-width: 0; }
@media (min-width: 1024px) { .cg-split { grid-template-columns: 1fr 1fr; gap: 72px; } .cg-split--reverse > :first-child { order: 2; } }
.cg-split--top { align-items: start; }
.cg-media { position: relative; border: 1px solid var(--line-strong); }
.cg-media img { width: 100%; aspect-ratio: 9/10; }
.cg-media--short img { aspect-ratio: 16/10; }
.cg-media__tag { position: absolute; left: -1px; bottom: -1px; padding: 8px 12px; background: var(--navy); color: #fff; }
.cg-media__plate { position: absolute; top: 24px; right: 12px; }
@media (min-width: 1280px) { .cg-media__plate { right: -28px; } }
/* Rows list (services on home 2) */
.cg-rows { border-top: 2px solid var(--text); }
.cg-row { display: grid; grid-template-columns: auto 1fr auto; gap: 6px 16px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); transition: background .3s, padding .4s var(--ease); }
.cg-row__n { color: var(--muted); grid-row: 1; }
.cg-row__ic { display: none; }
.cg-row h3 { grid-column: 2; margin: 0; font-size: 1.12rem; text-transform: uppercase; }
.cg-row p { grid-column: 2 / 4; margin: 0; color: var(--muted); font-size: .95rem; }
.cg-row__go { grid-row: 1; grid-column: 3; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line-strong); transition: all .3s; }
.cg-row:hover { background: var(--surface); padding-inline: 14px; }
.cg-row:hover .cg-row__go { background: var(--primary); color: var(--navy); border-color: var(--primary); }
@media (min-width: 768px) {
  .cg-row { grid-template-columns: 44px 44px 1fr auto; }
  .cg-row__ic { display: grid; place-items: center; grid-row: 1 / 3; grid-column: 2; width: 44px; height: 44px; background: var(--surface-2); border: 1px solid var(--line); font-size: 1.3rem; color: var(--primary-ink); }
  .cg-row__n { grid-row: 1 / 3; }
  .cg-row h3 { grid-column: 3; }
  .cg-row p { grid-column: 3; }
  .cg-row__go { grid-column: 4; grid-row: 1 / 3; }
}
/* Process lane */
.cg-steps { display: grid; gap: 0; grid-template-columns: 1fr; list-style: none; padding: 0; margin: 0; counter-reset: s; }
@media (min-width: 768px) { .cg-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .cg-steps { grid-template-columns: repeat(5, 1fr); } .cg-steps:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); } }
.cg-split .cg-steps { grid-template-columns: 1fr !important; }
.cg-steps li { position: relative; padding: 32px 24px 28px 0; border-top: 2px dashed var(--line-strong); }
.cg-steps li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; background: var(--primary); }
.cg-steps__n { font-family: var(--font-mono); font-size: .74rem; font-weight: 600; letter-spacing: .1em; color: var(--muted); }
.cg-steps__ic { display: block; margin: 14px 0 12px; font-size: 1.9rem; color: var(--primary-ink); }
.cg-split .cg-steps li { display: grid; grid-template-columns: 44px 44px 1fr; gap: 4px 12px; padding: 22px 0; align-items: start; }
.cg-split .cg-steps__ic { margin: 0; font-size: 1.5rem; grid-row: 1 / 3; grid-column: 2; }
.cg-split .cg-steps__n { grid-row: 1 / 3; padding-top: 4px; }
.cg-split .cg-steps h3, .cg-split .cg-steps p { grid-column: 3; }
.cg-steps h3 { font-size: 1.15rem; text-transform: uppercase; margin-bottom: 6px; }
.cg-steps p { color: var(--muted); margin: 0; font-size: .95rem; }
/* KPIs */
.cg-kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 48px; }
@media (min-width: 1024px) { .cg-kpis { grid-template-columns: repeat(4, 1fr); } }
.cg-kpi { background: var(--surface); padding: 24px clamp(16px, 2.4vw, 28px); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.cg-dark .cg-kpis { margin-bottom: 0; }
.cg-dark .cg-kpi { background: var(--band); }
.cg-kpi .cg-mono { color: var(--muted); }
.cg-kpi strong { font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1; letter-spacing: -0.02em; }
/* Testimonials */
.cg-quote { display: flex; flex-direction: column; gap: 20px; padding: clamp(24px, 3vw, 36px); }
.cg-quote__k { color: var(--primary-ink); }
.cg-quote blockquote { margin: 0; font-size: 1.06rem; line-height: 1.6; }
.cg-quote figcaption { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px dashed var(--line-strong); }
.cg-quote img { width: 52px; height: 52px; filter: grayscale(1) contrast(1.05); border: 2px solid var(--primary); }
.cg-quote strong { display: block; font-family: var(--font-head); font-stretch: 112%; text-transform: uppercase; font-size: .95rem; }
.cg-quote figcaption span { font-size: .88rem; color: var(--muted); }

/* 07. Tracking widget --------------------------------------------------- */
.cg-trackbar { display: grid; grid-template-columns: 1fr; gap: 0; border: 1px solid var(--line-strong); background: var(--surface); }
.cg-trackbar__lbl { display: flex; align-items: center; gap: 10px; padding: 12px 18px; font-family: var(--font-mono); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: var(--primary); color: var(--navy); }
.cg-trackbar__in { min-width: 0; border: 0; background: transparent; padding: 16px 18px; font-family: var(--font-mono); font-size: 1.15rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; min-height: 60px; }
.cg-trackbar__in:focus { outline: none; box-shadow: inset 0 -3px 0 var(--primary); }
.cg-trackbar .btn, .cg-tracker__form .btn { margin: 0; justify-content: space-between; }
.cg-trackbar__hint { grid-column: 1 / -1; padding: 8px 18px; border-top: 1px solid var(--line); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .06em; color: var(--muted); }
.cg-trackbar--dark { background: rgba(8, 15, 26, .78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-color: rgba(255, 255, 255, .3); color: #fff; }
@media (min-width: 768px) { .cg-trackbar { grid-template-columns: auto 1fr auto; } .cg-trackbar__lbl { min-width: 200px; } }
.cg-tracker { border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow); }
.cg-tracker__form { display: grid; gap: 14px; padding: clamp(18px, 3vw, 28px); border-bottom: 1px solid var(--line); background: var(--surface-2); }
@media (min-width: 640px) { .cg-tracker__form { grid-template-columns: 1fr auto; align-items: end; } }
.cg-tracker__field label { display: block; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; margin-bottom: 8px; }
.cg-tracker__field .input { font-family: var(--font-mono); font-size: 1.1rem; letter-spacing: .08em; text-transform: uppercase; min-height: 60px; }
.cg-tracker__samples, .cg-tracker__err { grid-column: 1 / -1; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cg-tracker__samples .cg-mono { color: var(--muted); }
.cg-tracker__err { color: #d62839; font-weight: 600; font-size: .92rem; }
.cg-tracker__err:empty { display: none; }
.cg-chip { padding: 5px 10px; border: 1px dashed var(--line-strong); font-family: var(--font-mono); font-size: .76rem; letter-spacing: .05em; transition: all .25s; }
.cg-chip:hover, .cg-chip.is-active { background: var(--primary); color: var(--navy); border: 1px solid var(--primary); }
.cg-tracker__loading { padding: 32px; margin: 0; color: var(--muted); }
.cg-trk__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 20px clamp(18px, 3vw, 28px); border-bottom: 1px solid var(--line); }
.cg-trk__no { display: block; font-family: var(--font-mono); font-size: clamp(1.1rem, 2.4vw, 1.45rem); font-weight: 600; letter-spacing: .06em; }
.cg-trk__head .cg-mono { color: var(--muted); }
.cg-status { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; font-family: var(--font-mono); font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: var(--signal); color: var(--navy); }
.cg-status::before { content: ""; width: 8px; height: 8px; background: currentColor; animation: cg-blink 1.2s steps(2) infinite; }
.cg-status--done { background: var(--ok); color: #fff; }
.cg-status--done::before { animation: none; }
.cg-status--hold { background: #d62839; color: #fff; }
.cg-trk__route { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 28px clamp(18px, 3vw, 28px) 22px; }
.cg-trk__pt strong { display: block; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(1.6rem, 4vw, 2.6rem); line-height: 1; }
.cg-trk__pt span { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; }
.cg-trk__pt--end { text-align: right; }
.cg-prog { position: relative; height: 14px; background: var(--surface-2); border: 1px solid var(--line-strong); }
.cg-prog__fill { position: absolute; inset: 0 auto 0 0; background: repeating-linear-gradient(-45deg, var(--primary) 0 8px, #ff8a3d 8px 16px); background-size: 22.6px 22.6px; animation: cg-stripes 1s linear infinite; }
@keyframes cg-stripes { to { background-position: 22.6px 0; } }
.cg-prog__pin { position: absolute; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 38px; height: 38px; background: var(--navy); color: var(--orange); font-size: 1.2rem; border: 2px solid var(--orange); }
.cg-prog__pct { position: absolute; top: calc(100% + 8px); font-family: var(--font-mono); font-size: .7rem; font-weight: 600; transform: translateX(-50%); white-space: nowrap; }
.cg-trk__meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border-block: 1px solid var(--line); margin-top: 18px; }
@media (min-width: 768px) { .cg-trk__meta { grid-template-columns: repeat(4, 1fr); } }
.cg-trk__meta > div { background: var(--surface); padding: 16px clamp(16px, 2.4vw, 24px); min-width: 0; }
.cg-trk__meta dt { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cg-trk__meta dd { margin: 4px 0 0; font-family: var(--font-head); font-stretch: 112%; font-weight: 700; font-size: 1.05rem; }
.cg-trk__meta dd.is-eta { color: var(--primary-ink); }
.cg-trk__steps { list-style: none; margin: 0; padding: 12px clamp(18px, 3vw, 28px) 24px; }
.cg-trk__steps li { position: relative; display: grid; grid-template-columns: 20px 1fr; gap: 4px 16px; padding: 14px 0; }
@media (min-width: 768px) { .cg-trk__steps li { grid-template-columns: 150px 20px 1fr; } }
.cg-trk__steps time { font-family: var(--font-mono); font-size: .76rem; color: var(--muted); grid-column: 2; grid-row: 2; }
@media (min-width: 768px) { .cg-trk__steps time { grid-column: 1; grid-row: 1; padding-top: 2px; } }
.cg-trk__dot { position: relative; grid-column: 1; grid-row: 1 / 3; width: 14px; height: 14px; margin: 4px 3px 0; border: 2px solid var(--line-strong); background: var(--surface); z-index: 1; }
@media (min-width: 768px) { .cg-trk__dot { grid-column: 2; } }
.cg-trk__steps li::before { content: ""; position: absolute; left: 9px; top: 26px; bottom: -16px; border-left: 2px dashed var(--line-strong); }
@media (min-width: 768px) { .cg-trk__steps li::before { left: 175px; } }
.cg-trk__steps li:last-child::before { display: none; }
.cg-trk__steps li.is-done .cg-trk__dot { background: var(--text); border-color: var(--text); }
.cg-trk__steps li.is-done::before { border-left-style: solid; border-color: var(--text); }
.cg-trk__steps li.is-current .cg-trk__dot { background: var(--primary); border-color: var(--primary); box-shadow: 0 0 0 5px color-mix(in srgb, var(--primary) 25%, transparent); }
.cg-trk__txt strong { display: block; font-family: var(--font-head); font-stretch: 112%; font-weight: 700; text-transform: uppercase; font-size: .98rem; }
.cg-trk__txt span { color: var(--muted); font-size: .92rem; }
.cg-trk__steps li:not(.is-done):not(.is-current) .cg-trk__txt { opacity: .6; }
.cg-trk__txt em { font-style: normal; font-family: var(--font-mono); font-size: .72rem; color: var(--primary-ink); margin-left: 6px; }
.cg-alerts { display: grid; gap: 14px; margin-top: 24px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--line-strong); background: var(--surface); }
.cg-alerts h3 { margin: 4px 0 0; text-transform: uppercase; font-size: 1.15rem; }
.cg-alerts .form-success { grid-column: 1 / -1; }
.cg-alerts.is-sent .form-success { display: block; }
@media (min-width: 1024px) { .cg-alerts { grid-template-columns: 1fr 1.2fr auto; align-items: center; } }

/* 08. Quote calculator --------------------------------------------------- */
.cg-calc { display: grid; border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow-lg); }
@media (min-width: 1024px) { .cg-calc { grid-template-columns: 1.45fr 1fr; } }
.cg-calc__form { display: grid; gap: 22px; padding: clamp(20px, 3.4vw, 40px); min-width: 0; }
.cg-calc__lbl { display: block; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; margin-bottom: 8px; }
.cg-calc__grid { display: grid; gap: 16px; }
@media (min-width: 640px) { .cg-calc__grid { grid-template-columns: 1fr 1fr; } }
.cg-seg { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line-strong); }
.cg-seg__opt { position: relative; cursor: pointer; }
.cg-seg__opt + .cg-seg__opt { border-left: 1px solid var(--line-strong); }
.cg-seg__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.cg-seg__opt span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; font-family: var(--font-head); font-stretch: 112%; font-weight: 700; text-transform: uppercase; font-size: .9rem; transition: background .25s, color .25s; }
.cg-seg__opt span .ti { font-size: 1.3rem; }
.cg-seg__opt:hover span { background: var(--surface-2); }
.cg-seg__opt input:checked + span { background: var(--primary); color: var(--navy); }
.cg-seg__opt input:focus-visible + span { outline: 2px solid var(--text); outline-offset: -4px; }
.cg-unit { position: relative; }
.cg-unit .input { padding-right: 52px; font-family: var(--font-mono); font-size: 1.05rem; }
.cg-unit span { position: absolute; right: 0; top: 0; bottom: 0; width: 46px; display: grid; place-items: center; border-left: 1px solid var(--line); font-family: var(--font-mono); font-size: .8rem; color: var(--muted); pointer-events: none; }
.cg-checks { display: flex; flex-wrap: wrap; gap: 10px; }
.cg-checks label, .cg-check { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--line-strong); font-size: .92rem; font-weight: 500; cursor: pointer; }
.cg-checks input, .cg-check input { accent-color: var(--primary); width: 18px; height: 18px; }
.cg-calc__out { position: relative; display: flex; flex-direction: column; gap: 6px; padding: clamp(22px, 3.4vw, 40px); background: var(--ribs), var(--navy); background-blend-mode: soft-light; min-width: 0; overflow: hidden; }
[data-theme="dark"] .cg-calc__out { background-color: #060e19; }
.cg-calc__out::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 8px; background: var(--hazard); }
.cg-calc__lane { display: flex; align-items: center; gap: 10px; margin: 12px 0 18px; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: 1.7rem; }
.cg-calc__lane i { flex: 1; height: 0; border-top: 2px dashed rgba(255, 255, 255, .45); }
.cg-calc__lane .cg-calc__mode { flex: none; height: auto; border: 0; font-size: 1.5rem; color: var(--orange); }
.cg-calc__k { color: var(--muted); margin: 0; }
.cg-calc__price { margin: 0; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1.05; color: var(--orange); letter-spacing: -0.02em; }
.cg-calc__range { color: var(--muted); margin: 0 0 14px; }
.cg-calc__dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 0 0 16px; }
.cg-calc__dl > div { padding: 12px 14px; background: rgba(15, 27, 45, .88); min-width: 0; }
[data-theme="dark"] .cg-calc__dl > div { background: #0a1424; }
.cg-calc__dl dt { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cg-calc__dl dd { margin: 2px 0 0; font-family: var(--font-mono); font-weight: 600; font-size: 1rem; color: #fff; }
.cg-calc__warn { margin: 0 0 12px; padding: 10px 12px; background: var(--signal); color: var(--navy); font-size: .88rem; font-weight: 600; }
.cg-calc__warn:empty { display: none; }
.cg-calc__note { margin: 12px 0 0; font-size: .8rem; color: var(--muted); }
.cg-calc.is-na .cg-calc__price { color: var(--muted); }

/* 09. Network map -------------------------------------------------------- */
.cg-map__frame {
  position: relative; border: 1px solid rgba(255, 255, 255, .18); padding: clamp(28px, 4vw, 48px) clamp(8px, 2vw, 24px) clamp(20px, 3vw, 32px);
  background: radial-gradient(ellipse at 50% 40%, #17304f, #0b1728 70%);
}
.cg-map__corner { position: absolute; color: #8fa0b6; font-size: .64rem; }
.cg-map__corner.tl { top: 10px; left: 12px; } .cg-map__corner.bl { bottom: 10px; left: 12px; } .cg-map__corner.tr { top: 10px; right: 12px; }
.cg-map__corner b { color: #fff; font-weight: 500; }
.cg-map__svg { width: 100%; height: auto; overflow: hidden; }
.cg-map__land { fill: rgba(170, 190, 215, .30); }
.cg-map__grat line { stroke: rgba(255, 255, 255, .06); stroke-width: 1; }
.cg-map__lane { fill: none; stroke: rgba(255, 255, 255, .32); stroke-width: 1.4; stroke-dasharray: 3 6; }
.cg-map__flow { fill: none; stroke: var(--orange); stroke-width: 2.6; stroke-linecap: square; stroke-dasharray: 60 940; animation: cg-flow 6s linear infinite; }
@keyframes cg-flow { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: 0; } }
.cg-map__hub circle { fill: var(--orange); }
.cg-map__hub .ring { fill: none; stroke: var(--orange); stroke-width: 1.4; opacity: .5; transform-box: fill-box; transform-origin: center; animation: cg-ping 2.6s ease-out infinite; }
.cg-map__hub.is-main circle:not(.ring) { fill: var(--signal); }
.cg-map__hub text { fill: #fff; font-family: var(--font-mono); font-size: 13px; font-weight: 600; letter-spacing: .06em; }
.cg-map__hub.lbl-l text { text-anchor: end; }
.cg-map__hub.lbl-none text { display: none; }
@keyframes cg-ping { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(2.2); opacity: 0; } }
.cg-map__legend { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; padding: 12px 0; font-size: .85rem; color: var(--muted); }
.cg-map__legend .cg-mono { margin-left: auto; }
.cg-map__legend i { display: inline-block; vertical-align: middle; margin-right: 8px; }
.lg-hub { width: 10px; height: 10px; background: var(--orange); }
.lg-lane { width: 28px; border-top: 2px dashed var(--muted); }
.cg-map__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
@media (min-width: 1024px) { .cg-map__stats { grid-template-columns: repeat(4, 1fr); } }
.cg-map__stats > div { background: var(--bg); padding: 18px clamp(14px, 2vw, 24px); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cg-dark .cg-map__stats > div, .cg-h4 .cg-map__stats > div { background: var(--band); }
.cg-map__stats .cg-mono { color: var(--muted); }
.cg-map__stats strong { font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(1.6rem, 3.4vw, 2.6rem); line-height: 1; }
.cg-map__stats [data-live] { color: var(--primary-ink); font-variant-numeric: tabular-nums; }
@media (max-width: 767px) {
  .cg-map__hub text { font-size: 30px; }
  .cg-map__hub circle:not(.ring) { r: 8; }
  .cg-map__lane { stroke-width: 2.4; }
  .cg-map__flow { stroke-width: 4; }
  .cg-map__corner.bl { display: none; }
  .cg-map__hub.m-hide text { display: none; }
}

/* 10. Tables, boards, tabs, meters -------------------------------------- */
.cg-table-wrap { border: 1px solid var(--line-strong); background: var(--surface); overflow-x: auto; }
@media (min-width: 768px) { .cg-table td, .cg-table tbody th { white-space: nowrap; } }
.cg-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cg-table th, .cg-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
.cg-table thead th { font-family: var(--font-mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; background: var(--surface-2); color: var(--muted); border-bottom: 2px solid var(--text); }
.cg-table tbody th { font-family: var(--font-head); font-stretch: 112%; font-weight: 700; }
.cg-table tbody tr { transition: background .25s; }
.cg-table tbody tr:hover { background: color-mix(in srgb, var(--primary) 7%, transparent); }
.cg-table tbody tr:last-child > * { border-bottom: 0; }
.cg-table td + td, .cg-table th + td, .cg-table thead th + th { border-left: 1px solid var(--line); }
.cg-table--board td { font-family: var(--font-mono); font-size: .84rem; }
.cg-table--board tbody th { font-family: var(--font-mono); font-weight: 600; font-stretch: 100%; white-space: nowrap; }
.cg-table--board tbody th .ti { color: var(--primary-ink); margin-right: 4px; }
@media (max-width: 767px) {
  .cg-table, .cg-table tbody, .cg-table tr, .cg-table th, .cg-table td { display: block; }
  .cg-table thead { display: none; }
  .cg-table tbody tr { padding: 14px 16px; border-bottom: 1px solid var(--line-strong); }
  .cg-table tbody tr:last-child { border-bottom: 0; }
  .cg-table th, .cg-table td { padding: 4px 0; border: 0 !important; }
  .cg-table tbody th { font-size: 1.05rem; padding-bottom: 8px; }
  .cg-table td { position: relative; padding-left: 44%; }
  .cg-table td::before { content: attr(data-l); position: absolute; left: 0; top: 7px; width: 40%; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
}
.cg-board { border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow); }
.cg-board .cg-table-wrap { border: 0; }
.cg-board__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 14px 18px; background: var(--navy); color: #fff; font-family: var(--font-head); font-stretch: 112%; font-weight: 700; text-transform: uppercase; font-size: .9rem; }
.cg-board__head > span { display: inline-flex; align-items: center; gap: 10px; }
.cg-board__head .ti { color: var(--orange); font-size: 1.2rem; }
.cg-board__head .cg-mono { color: #9fb0c5; font-weight: 500; }
.cg-board__head b { color: #fff; font-weight: 500; }
.cg-dark .cg-board { background: #0c1829; }
.cg-st { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cg-st::before { content: ""; width: 7px; height: 7px; background: currentColor; }
.cg-st--go { color: var(--ok); background: color-mix(in srgb, var(--ok) 14%, transparent); }
.cg-st--go::before { animation: cg-blink 1.2s steps(2) infinite; }
.cg-st--wait { color: var(--warn); background: color-mix(in srgb, var(--signal) 20%, transparent); }
.cg-st--done { color: var(--muted); background: color-mix(in srgb, var(--muted) 14%, transparent); }
.cg-bar { display: inline-block; vertical-align: middle; width: 100%; max-width: 140px; height: 8px; background: var(--surface-2); border: 1px solid var(--line-strong); position: relative; }
.cg-bar i { position: absolute; inset: 0 auto 0 0; background: var(--primary); }
.cg-bar.is-hot i { background: #e03444; }
.cg-tabs .tabs__list { gap: 0; border: 1px solid var(--line-strong); display: inline-flex; margin-bottom: 32px; max-width: 100%; }
.tabs__btn { border-radius: 0; border: 0; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-head); font-stretch: 112%; text-transform: uppercase; font-size: .86rem; padding: 14px 20px; }
.tabs__btn + .tabs__btn { border-left: 1px solid var(--line-strong); }
.tabs__btn.is-active, .tabs__btn:hover { background: var(--primary); color: var(--navy); border-color: var(--line-strong); }
@media (max-width: 639px) { .cg-tabs .tabs__list { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; } .tabs__btn { justify-content: center; } .tabs__btn:nth-child(3) { border-left: 0; } .tabs__btn:nth-child(n+3) { border-top: 1px solid var(--line-strong); } }
.cg-tabpanel { display: grid; gap: 24px; align-items: start; }
.cg-tabpanel > * { min-width: 0; }
@media (min-width: 1024px) { .cg-tabpanel { grid-template-columns: 1fr 1.7fr; gap: 32px; } }
.cg-tabpanel__media { position: relative; border: 1px solid var(--line-strong); }
.cg-tabpanel__media img { width: 100%; aspect-ratio: 4/3; }
.cg-tabpanel__tag { position: absolute; left: -1px; right: -1px; bottom: -1px; padding: 10px 12px; background: var(--navy); color: #fff; }
.cg-meter { position: relative; display: block; height: 16px; background: repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), var(--line) calc(10% - 1px) 10%), var(--surface-2); border: 1px solid var(--line-strong); }
.cg-meter i { position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--primary); }
.cg-cap { border-top: 2px solid var(--text); }
.cg-cap__row { display: grid; grid-template-columns: auto 1fr; gap: 12px 18px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
.cg-cap__id { padding: 6px 8px; background: var(--navy); color: #fff; }
.cg-cap__name strong { display: block; font-family: var(--font-head); font-stretch: 112%; text-transform: uppercase; font-size: 1.05rem; }
.cg-cap__name span { font-size: .88rem; color: var(--muted); }
.cg-cap__meter { grid-column: 1 / -1; display: grid; gap: 6px; }
.cg-cap__meter .cg-mono { color: var(--muted); }
.cg-cap__pp { grid-column: 1 / -1; font-size: .9rem; color: var(--muted); }
.cg-cap__pp b { font-family: var(--font-head); font-stretch: 125%; font-size: 1.3rem; color: var(--text); margin-right: 4px; }
@media (min-width: 1024px) { .cg-cap__row { grid-template-columns: 80px 1.1fr 1.6fr 200px; gap: 24px; } .cg-cap__meter, .cg-cap__pp { grid-column: auto; } .cg-cap__pp { text-align: right; } }

/* 11. Home compositions -------------------------------------------------- */
/* Home 1: full-bleed terminal photo, headline, track bar dock */
.cg-h1 { min-height: 100svh; display: flex; align-items: flex-end; padding-bottom: 0; isolation: isolate; background: var(--navy); }
.cg-h1 > .container { width: 100%; }
.cg-h1__bg { position: absolute; inset: 0; z-index: -2; }
.cg-h1__bg img { width: 100%; height: 100%; }
.cg-h1::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 19, 32, .92) 0%, rgba(10, 19, 32, .7) 55%, rgba(10, 19, 32, .35) 100%), linear-gradient(0deg, rgba(10, 19, 32, .9) 0%, transparent 45%); }
.cg-h1__labels { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 28px; color: #c7d1de; }
.cg-h1__labels .cg-mono { display: inline-flex; align-items: center; gap: 8px; }
.cg-h1__labels .ti { color: var(--orange); font-size: 1rem; }
.cg-h1 .hero__title { max-width: 15ch; font-size: clamp(2.3rem, 6.2vw, 5.6rem); }
.cg-h1 .hero__title em { color: var(--orange); }
.cg-h1 .lead { color: #c7d1de; max-width: 56ch; }
.cg-h1__dock { margin-top: clamp(40px, 6vw, 72px); }
.cg-h1__modes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .18); border-top: 0; }
@media (min-width: 1024px) { .cg-h1__modes { grid-template-columns: repeat(4, 1fr); } }
.cg-h1__mode { display: flex; gap: 14px; align-items: flex-start; padding: 18px clamp(14px, 2vw, 22px); background: rgba(8, 15, 26, .82); min-width: 0; }
.cg-h1__mode > .ti { font-size: 1.6rem; color: var(--orange); flex: none; }
.cg-h1__mode .cg-mono { display: block; color: #9fb0c5; }
.cg-h1__mode strong { display: block; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: 1.6rem; line-height: 1.1; }
.cg-h1__mode small { color: #c7d1de; font-size: .82rem; }
.cg-sec-rule { border-bottom: 1px solid var(--line); }
/* Home 2: split truck hero */
.cg-h2 { --grid: color-mix(in srgb, var(--text) 7%, transparent); background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size: 72px 72px; background-position: -1px -1px; border-bottom: 1px solid var(--line); }
.cg-h2__grid { display: grid; gap: 56px; align-items: center; }
.cg-h2__grid > * { min-width: 0; }
@media (min-width: 1024px) { .cg-h2__grid { grid-template-columns: 1.1fr 1fr; gap: 64px; } }
.cg-h2 .hero__title { font-size: clamp(2.2rem, 4.4vw, 4.1rem); }
.cg-h2__kpis { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 40px; border: 1px solid var(--line-strong); background: var(--surface); }
.cg-h2__kpis > div { padding: 14px clamp(10px, 2vw, 20px); min-width: 0; }
.cg-h2__kpis > div + div { border-left: 1px solid var(--line-strong); }
.cg-h2__kpis strong { display: block; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(1.25rem, 2.6vw, 2rem); line-height: 1.1; }
.cg-h2__kpis .cg-mono { color: var(--muted); font-size: .64rem; }
.cg-h2__visual { position: relative; padding: 0 0 12px; }
.cg-h2__img { border: 1px solid var(--line-strong); }
.cg-h2__img img { width: 100%; aspect-ratio: 10/11; }
.cg-h2__hz { position: absolute; left: 0; right: 0; bottom: 0; height: 14px; }
.cg-h2__plate { position: absolute; top: -18px; right: 12px; }
@media (min-width: 1280px) { .cg-h2__plate { right: -28px; top: 40px; } }
.cg-h2__live { position: absolute; left: 12px; bottom: 40px; display: flex; gap: 14px; align-items: center; padding: 14px 18px; background: var(--navy); color: #fff; box-shadow: var(--shadow); }
.cg-h2__live strong { display: block; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: 1.6rem; line-height: 1; }
.cg-h2__live .cg-mono { color: #9fb0c5; }
@media (min-width: 1280px) { .cg-h2__live { left: -32px; } }
/* Home 3: rack-labelled mosaic */
.cg-h3 { border-bottom: 1px solid var(--line); padding-bottom: clamp(48px, 6vw, 80px); }
.cg-h3__top { display: grid; gap: 28px; align-items: end; margin-bottom: clamp(36px, 5vw, 56px); }
@media (min-width: 1024px) { .cg-h3__top { grid-template-columns: 1.35fr 1fr; gap: 56px; } }
.cg-h3__top > * { min-width: 0; }
.cg-h3 .hero__title { font-size: clamp(2.2rem, 5vw, 4.6rem); margin-bottom: 0; }
.cg-h3__side .lead { margin-bottom: 24px; }
.cg-h3__mosaic { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.cg-h3__mosaic > * { position: relative; min-width: 0; margin: 0; border: 1px solid var(--line-strong); overflow: hidden; }
.cg-h3__mosaic img { width: 100%; height: 100%; }
.cg-h3__mosaic .m1 { grid-column: 1 / -1; aspect-ratio: 4/3; }
.cg-h3__mosaic .m2, .cg-h3__mosaic .m3 { aspect-ratio: 1/1; }
.cg-h3__mosaic .m4 { grid-column: 1 / -1; }
@media (min-width: 1024px) {
  .cg-h3__mosaic { grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 260px 220px; }
  .cg-h3__mosaic .m1 { grid-column: 1; grid-row: 1 / 3; aspect-ratio: auto; }
  .cg-h3__mosaic .m2, .cg-h3__mosaic .m3 { aspect-ratio: auto; }
  .cg-h3__mosaic .m4 { grid-column: 2 / 4; grid-row: 2; }
}
.cg-rack { position: absolute; left: 12px; bottom: 12px; padding: 6px 10px; background: var(--signal); color: var(--navy); font-family: var(--font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .1em; border: 2px solid var(--navy); }
.cg-h3__stat { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: clamp(20px, 3vw, 32px); background: var(--ribs), var(--navy); background-blend-mode: soft-light; }
.cg-h3__stat .cg-mono { color: var(--muted); }
.cg-h3__stat strong { font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: 1; color: var(--orange); font-variant-numeric: tabular-nums; }
.cg-h3__stat .cg-bar { max-width: none; height: 12px; background: rgba(255, 255, 255, .08); }
.cg-integ { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
@media (min-width: 768px) { .cg-integ { grid-template-columns: repeat(4, 1fr); } }
.cg-integ span { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 96px; padding: 12px; background: var(--surface); font-family: var(--font-head); font-stretch: 112%; font-weight: 700; text-transform: uppercase; font-size: .9rem; text-align: center; transition: background .3s, color .3s; }
.cg-integ .ti { font-size: 1.5rem; color: var(--primary-ink); }
.cg-integ span:hover { background: var(--primary); color: var(--navy); }
.cg-integ span:hover .ti { color: var(--navy); }
/* Home 4: dark hero over the network map */
.cg-h4 { background: radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 60%); }
.cg-h4__head { text-align: center; max-width: 980px; margin: 0 auto clamp(36px, 5vw, 56px); }
.cg-h4__head .lead { margin-inline: auto; }
.cg-h4__head .btn-group { justify-content: center; }
.cg-h4 .hero__title { font-size: clamp(2.3rem, 6.4vw, 5.8rem); }
.cg-duo { display: grid; gap: 24px; }
@media (min-width: 1024px) { .cg-duo { grid-template-columns: 1fr 1fr; gap: 32px; } }
.cg-duo__card { border: 1px solid var(--line-strong); background: var(--surface); min-width: 0; }
.cg-duo__card img { width: 100%; aspect-ratio: 16/10; border-bottom: 6px solid var(--primary); }
.cg-duo__body { padding: clamp(22px, 3vw, 36px); display: grid; gap: 12px; justify-items: start; }
.cg-duo__body .cg-mono { color: var(--primary-ink); }
.cg-duo__body h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); text-transform: uppercase; font-stretch: 125%; margin: 0; }
.cg-duo__body p { color: var(--muted); margin: 0; }
.cg-spec { width: 100%; margin: 8px 0 12px; border-top: 1px solid var(--line-strong); }
.cg-spec li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px dashed var(--line-strong); font-size: .95rem; }
.cg-spec b { font-family: var(--font-mono); font-weight: 600; text-align: right; }
.cg-spec .ti { color: var(--primary-ink); }
.cg-boxes { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); grid-template-columns: 1fr; }
@media (min-width: 640px) { .cg-boxes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .cg-boxes { grid-template-columns: repeat(4, 1fr); } }
.cg-box-card { background: var(--surface); padding: clamp(22px, 3vw, 32px); min-width: 0; }
.cg-box-card h3 { font-stretch: 125%; font-size: 1.6rem; margin: 20px 0 10px; }
.cg-box-card dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.cg-box-card dl div { padding-top: 10px; }
.cg-box-card dt { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cg-box-card dd { margin: 0; font-family: var(--font-mono); font-weight: 600; }
.cg-box { position: relative; height: 96px; width: calc(var(--len) / 44 * 100%); border: 2px solid var(--navy); background: var(--ribs), linear-gradient(180deg, #ff7424, #e85600); display: flex; align-items: flex-end; padding: 8px 10px; }
.cg-box::before { content: ""; position: absolute; right: 12%; top: 10px; bottom: 10px; width: 2px; background: rgba(15, 27, 45, .5); box-shadow: 10px 0 0 rgba(15, 27, 45, .5); }
.cg-box span { font-family: var(--font-mono); font-size: .62rem; font-weight: 600; color: var(--navy); letter-spacing: .06em; white-space: nowrap; }
.cg-box--rf { background: var(--ribs), linear-gradient(180deg, #f4f6f8, #cfd6dd); }
[data-theme="dark"] .cg-box { border-color: #000; }

/* 12. Inner pages -------------------------------------------------------- */
.cg-ph { background: var(--navy); overflow: hidden; padding-bottom: clamp(56px, 7vw, 96px); }
[data-theme="dark"] .cg-ph { background: #060e19; }
.cg-ph__ribs { position: absolute; top: 0; bottom: 0; right: 0; width: 42%; background: var(--ribs), linear-gradient(90deg, rgba(255, 95, 0, 0), rgba(255, 95, 0, .16)); opacity: .9; -webkit-mask-image: linear-gradient(90deg, transparent, #000 50%); mask-image: linear-gradient(90deg, transparent, #000 50%); }
.cg-ph .container { position: relative; }
.cg-ph__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-bottom: 26px; color: var(--muted); }
.cg-ph__meta .breadcrumb { margin: 0; }
.cg-ph h1 { font-size: clamp(2.3rem, 6.4vw, 5.6rem); max-width: 14ch; margin-bottom: 24px; }
.cg-ph h1 em { color: var(--orange); }
.cg-ph .lead { color: #c7d1de; }
.cg-ph__code { display: none; position: absolute; right: 16px; bottom: -40px; font-family: var(--font-logo); font-size: clamp(5rem, 16vw, 14rem); line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .16); pointer-events: none; }
@media (min-width: 768px) { .cg-ph__code { display: block; } }
.cg-ph__hz { position: absolute; left: 0; right: 0; bottom: 0; }
.cg-srvs { display: grid; gap: clamp(56px, 8vw, 110px); }
.cg-srv { display: grid; gap: 32px; align-items: center; }
.cg-srv > * { min-width: 0; }
@media (min-width: 1024px) { .cg-srv { grid-template-columns: 1fr 1fr; gap: 72px; } .cg-srv--rev .cg-srv__media { order: 2; } }
.cg-srv__media { position: relative; border: 1px solid var(--line-strong); }
.cg-srv__media img { width: 100%; aspect-ratio: 9/7; }
.cg-srv__code { position: absolute; left: -1px; top: -1px; padding: 8px 14px; background: var(--primary); color: var(--navy); font-family: var(--font-logo); font-size: 2rem; line-height: 1; }
.cg-srv__body .cg-mono { color: var(--primary-ink); }
.cg-srv__body .h2 { display: flex; align-items: center; gap: 14px; margin: 12px 0 16px; }
.cg-srv__body .h2 .ti { color: var(--primary-ink); font-size: .8em; }
.cg-trk-sec { padding-top: clamp(48px, 6vw, 80px); }
.cg-quote-grid { display: grid; gap: 32px; align-items: start; }
.cg-quote-grid > * { min-width: 0; }
@media (min-width: 1024px) { .cg-quote-grid { grid-template-columns: 1.6fr 1fr; gap: 48px; } }
.cg-form { padding: clamp(22px, 3.4vw, 40px); border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow); }
.cg-form__h { border-bottom: 2px solid var(--text); padding-bottom: 14px; }
.cg-form__h .cg-mono { color: var(--primary-ink); }
.cg-form__h .h3 { text-transform: uppercase; margin: 6px 0 0; }
.cg-form fieldset { border: 1px solid var(--line); padding: 18px; margin: 0; display: grid; gap: 16px; min-width: 0; }
.cg-form legend { padding: 4px 8px; background: var(--navy); color: #fff; }
.cg-form .btn { justify-self: start; }
.cg-aside { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line-strong); background: var(--surface); display: grid; gap: 20px; }
@media (min-width: 1024px) { .cg-aside { position: sticky; top: 100px; } }
.cg-aside > .cg-mono { color: var(--primary-ink); }
.cg-aside__steps { list-style: none; margin: 0; padding: 0; border-left: 2px dashed var(--line-strong); }
.cg-aside__steps li { position: relative; padding: 0 0 18px 20px; }
.cg-aside__steps li::before { content: ""; position: absolute; left: -7px; top: 5px; width: 12px; height: 12px; background: var(--primary); }
.cg-aside__steps b { display: block; font-family: var(--font-mono); font-size: .8rem; }
.cg-aside__hz { height: 8px; }
.cg-aside__call { display: flex; gap: 14px; align-items: center; }
.cg-aside__call > .ti { display: grid; place-items: center; width: 52px; height: 52px; background: var(--primary); color: var(--navy); font-size: 1.5rem; flex: none; }
.cg-aside__call .cg-mono { display: block; color: var(--muted); }
.cg-aside__call a { font-family: var(--font-head); font-stretch: 112%; font-weight: 800; font-size: 1.25rem; }
.cg-tl { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 2px solid var(--text); }
@media (min-width: 768px) { .cg-tl { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .cg-tl { grid-template-columns: repeat(6, 1fr); } }
.cg-tl li { position: relative; padding: 26px 20px 26px 0; border-bottom: 1px solid var(--line); }
.cg-tl li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; background: var(--primary); }
.cg-tl__y { display: block; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: 2rem; line-height: 1; margin-bottom: 10px; }
.cg-tl p { margin: 0; color: var(--muted); font-size: .95rem; }
.cg-offices { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 32px; }
@media (min-width: 640px) { .cg-offices { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .cg-offices { grid-template-columns: repeat(4, 1fr); } }
.cg-office { background: var(--surface); padding: clamp(22px, 3vw, 30px); display: grid; gap: 8px; align-content: start; min-width: 0; }
.cg-office__code { font-family: var(--font-logo); font-size: 2.6rem; line-height: 1; color: var(--primary-ink); }
.cg-office h3 { margin: 6px 0 0; text-transform: uppercase; font-size: 1.1rem; }
.cg-office p { margin: 0; color: var(--muted); font-size: .94rem; }
.cg-office a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.cg-office .cg-mono { color: var(--muted); padding-top: 10px; border-top: 1px dashed var(--line-strong); }

/* 13. CTA, footer, 404 --------------------------------------------------- */
.cg-cta { position: relative; overflow: hidden; color: var(--navy); background: var(--ribs), linear-gradient(180deg, #ff7424, #ff5f00 55%, #ec5700); border: 3px solid var(--navy); }
.cg-cta__stripe { height: 16px; border-bottom: 3px solid var(--navy); }
.cg-cta__body { display: grid; gap: 28px; padding: clamp(28px, 5vw, 64px); position: relative; z-index: 1; }
@media (min-width: 1024px) { .cg-cta__body { grid-template-columns: 1.4fr 1fr; align-items: end; padding-right: clamp(28px, 5vw, 64px); } }
.cg-cta__body > * { min-width: 0; }
.cg-cta .cg-mono { display: inline-block; padding: 5px 9px; background: var(--navy); color: #fff; margin-bottom: 18px; }
.cg-cta .h2 { color: var(--navy); max-width: 16ch; }
.cg-cta .h2 em { color: #fff; }
.cg-cta .lead { color: rgba(15, 27, 45, .85); margin: 0; }
.cg-cta__acts { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.cg-cta__acts .btn { justify-content: space-between; }
.cg-cta .btn--navy { --btn-bg: var(--navy); --btn-fg: #fff; }
.cg-cta .btn--ghost::after { background: rgba(15, 27, 45, .1); }
.cg-cta__plate { display: none; }
.footer-mega { font-family: var(--font-logo); font-weight: 400; letter-spacing: .02em; color: var(--orange); opacity: .14; }
.cg-foot { background: var(--navy); padding-top: 0; }
[data-theme="dark"] .cg-foot { background: #050b14; }
.cg-foot__hz { margin-bottom: clamp(48px, 6vw, 88px); }
.cg-foot .logo { color: #fff; }
.cg-foot__top { display: grid; gap: 36px; padding-bottom: 48px; border-bottom: 1px solid var(--line); }
@media (min-width: 1024px) { .cg-foot__top { grid-template-columns: 1.2fr 1fr 1.2fr; gap: 48px; } }
.cg-foot__top > * { min-width: 0; }
.cg-foot__brand p { color: var(--muted); max-width: 40ch; margin: 18px 0 0; }
.cg-foot__ops .cg-mono { color: var(--muted); }
.cg-foot__tel { display: block; font-family: var(--font-head); font-stretch: 125%; font-weight: 900; font-size: clamp(1.5rem, 3vw, 2rem); color: var(--orange); margin: 8px 0 18px; }
.cg-foot__hubs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cg-foot__hubs li { background: var(--navy); padding: 10px 12px; font-size: .88rem; color: var(--muted); }
[data-theme="dark"] .cg-foot__hubs li { background: #050b14; }
.cg-foot__hubs b { display: block; font-family: var(--font-mono); color: #fff; }
.cg-foot__news { padding: 24px; border: 1px solid var(--line); }
.cg-foot__news h4 { text-transform: uppercase; margin-bottom: 6px; }
.cg-foot__news p { color: var(--muted); }
.cg-foot .newsletter { background: transparent; border-color: rgba(255, 255, 255, .3); }
.cg-foot .newsletter .input { color: #fff; }
.cg-foot__grid { display: grid; gap: 32px 24px; grid-template-columns: repeat(2, 1fr); padding-block: 48px; }
@media (min-width: 1024px) { .cg-foot__grid { grid-template-columns: 1fr 1fr 1fr 1.6fr; } }
.cg-foot__grid > :last-child { grid-column: 1 / -1; }
@media (min-width: 1024px) { .cg-foot__grid > :last-child { grid-column: auto; } }
.cg-foot__col h4 { font-family: var(--font-mono); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; font-weight: 600; }
.cg-foot .footer-links a { color: var(--muted); }
.cg-foot .footer-links a:hover { color: #fff; }
.cg-foot .cg-trackbar { grid-template-columns: 1fr auto; background: transparent; border-color: rgba(255, 255, 255, .3); }
.cg-foot .cg-trackbar__lbl, .cg-foot .cg-trackbar__hint { display: none; }
.cg-foot .cg-trackbar__in { color: #fff; min-height: 54px; font-size: .95rem; }
.cg-foot .socials a { border-color: var(--line); color: #fff; }
.cg-foot .socials a:hover { background: var(--orange); color: var(--navy); }
.cg-foot__bottom { border-top: 1px solid var(--line); color: var(--muted); }
.cg-foot__bottom .cg-mono { color: #7f8ea3; }
.error-page { position: relative; background: var(--bg); }
.error-page::before, .error-page::after { content: ""; position: absolute; left: 0; right: 0; height: 16px; background: var(--hazard); }
.error-page::before { top: var(--header-h); }
.error-page::after { bottom: 0; }
.error-page .code { font-family: var(--font-logo); font-weight: 400; letter-spacing: 0; background: none; -webkit-text-fill-color: currentColor; color: var(--primary); }
.error-page .h2 { text-transform: uppercase; }

.error-page .btn > .ti { width: auto; margin: 0; background: none; border: 0; align-self: center; }

/* 14. Responsive tweaks -------------------------------------------------- */
@media (max-width: 479px) {
  .logo { font-size: 1.3rem; }
  .logo__mark { width: 34px; height: 34px; }
  .btn--lg { padding-left: 20px; font-size: .84rem; }
  .btn-group .btn { flex: 1 1 100%; justify-content: space-between; }
  .cg-trk__route { grid-template-columns: 1fr; }
  .cg-trk__pt--end { text-align: left; }
  .cg-prog { margin: 14px 0 24px; }
  .cg-calc__lane { font-size: 1.35rem; }
  .cg-seg__opt span { flex-direction: column; gap: 2px; font-size: .78rem; }
}
@media (min-width: 1536px) { .cg-h1 .hero__title { font-size: 6rem; } }
@media (min-width: 1920px) { body { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .cg-map__flow { stroke-dasharray: none; opacity: .5; } .cg-map__hub .ring { display: none; } }
/* Laptop (1024–1279): keep the two-row header on one line */
.site-header .logo { flex-shrink: 0; }
@media (min-width: 1024px) and (max-width: 1279px) {
  .nav__link { padding: 10px 10px; font-size: .74rem; letter-spacing: .04em; }
  .nav__actions .btn { display: none; }
}
