/* Wyvern Freight — shared site styles (extracted from _template.html) */

/* ============================================================
   Wyvern Freight — DARK THEME
   Premium logistics typography: Saira Condensed + Inter
   ============================================================ */
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/323f71c0-adef-4e3f-8a23-1c672d9cb506") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/5ac7a420-06be-4202-bafe-8faa2dd6d901") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/a927c7da-bfe5-458f-a099-adba5fa11e62") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/3d9a8a3d-bd99-436c-a11c-6588b3d65ee7") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/c18b2cae-7ae6-43e6-8c33-2bcff7f09534") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/7b5807a4-92a1-4bd1-a5e6-bc55a3cdb4d9") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/323f71c0-adef-4e3f-8a23-1c672d9cb506") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/5ac7a420-06be-4202-bafe-8faa2dd6d901") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/a927c7da-bfe5-458f-a099-adba5fa11e62") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/3d9a8a3d-bd99-436c-a11c-6588b3d65ee7") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/c18b2cae-7ae6-43e6-8c33-2bcff7f09534") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/7b5807a4-92a1-4bd1-a5e6-bc55a3cdb4d9") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/39833897-26d8-4a0b-8a16-1d47c42eb4ae") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/4edce6ad-77a6-4f2c-b7dc-9ed523dbda66") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/1775f4f2-73c1-4030-852a-a3fecb082da2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/f8c991c0-2caa-4671-a8ff-f341e0ae483d") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/fc997b35-c6f3-4ad5-abdd-bd778e77900c") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/873963ac-01fe-4b93-8aea-a636adaa8f69") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/59776aa1-324d-4fa7-95ef-d63ee3e5bb0d") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/b15d3511-4f05-4d9a-acb0-414a3843b732") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/f989691c-86ac-4fd4-870d-018c2fa62c5a") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/db6a07d6-74b0-4288-94f4-17f98f877648") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/1d7139a8-931d-49f8-8648-0ae6c8ae7c89") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/2f0c3549-e736-44b5-b866-a535fc1f8465") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/71fb4f61-919e-45ab-bafb-f8942e1da56e") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/070d04bd-daf4-494c-89b9-a13811b263de") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/1bdaecb3-ec92-4853-9d69-febfa1dfaac5") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/d8d9335d-62ed-4832-909c-828079b3a5bb") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/044bb852-b930-4b79-9cf3-23a2c3e39484") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/wp-content/themes/wyvern-site/assets/5df75d8b-d595-476f-ace1-32ad6860af16") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  /* Palette — dark theme */
  --c-ink:        #050505;   /* near-black — used for darkest panels (topbar, footer, contrast bands) */
  --c-ink-2:      #0E0E0D;
  --c-ink-3:      #181816;
  --c-paper:      #0A0A09;   /* page background — warm pure black */
  --c-paper-2:    #14140F;   /* subtle elevated surface */
  --c-bone:       #1C1B16;   /* warmer card surface */
  --c-line:       rgba(245,239,227,.10);
  --c-line-soft:  rgba(245,239,227,.05);

  /* Foreground tones (text) */
  --c-fg:         #F5EFE3;   /* warm parchment — primary text */
  --c-fg-dim:     rgba(245,239,227,.78);
  --c-fg-faint:   rgba(245,239,227,.58);
  --c-mute:       #A8A399;
  --c-mute-2:     #7A756C;

  /* Accents — DHL red on black */
  --c-accent:     #D40511;   /* DHL red — buttons, large display accents */
  --c-accent-2:   #A00410;
  --c-accent-readable: #FF7A82; /* small caps / eyebrows on dark backgrounds */
  --c-clay:       #FFCC00;   /* DHL yellow — kept for sparing use */
  --c-bush:       #1A1812;

  /* Light surfaces — used sparingly for cards/inversions
     (the "paper" / "bone" tokens above are DARK in this dark theme;
     these are the genuine cream/off-white surfaces.) */
  --c-cream:      #F5EFE3;   /* light parchment card surface */
  --c-cream-2:    #ECE5D5;   /* dimmer cream for subtle panels */
  --c-text-on-cream:     #14140F; /* primary text on cream */
  --c-text-on-cream-mute:#5A554B; /* secondary text on cream */

  /* Compat — old "paper-dim/faint" map to fg variants */
  --c-paper-dim:  var(--c-fg-dim);
  --c-paper-faint:var(--c-fg-faint);

  /* Typography — logistics type system (2 families) */
  --font-heading: "Saira Condensed", "Arial Narrow", Arial, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ff-display: var(--font-heading);
  --ff-body: var(--font-body);
  --ff-mono: var(--font-body);
  --weight-heading: 800;
  --weight-heading-md: 700;
  --weight-body: 400;
  --weight-body-md: 500;
  --weight-button: 700;
  --weight-label: 600;
  --tracking-heading: 0.02em;
  --tracking-heading-tight: -0.008em;
  --tracking-label: 0.14em;
  --tracking-label-wide: 0.22em;
  --tracking-button: 0.1em;
  --line-heading: 0.95;
  --line-heading-relaxed: 1.06;
  --line-body: 1.65;
  --line-body-tight: 1.55;
  --text-body: clamp(15px, 0.35vw + 14px, 16px);
  --text-lede: clamp(17px, 0.45vw + 15px, 20px);
  --text-nav: clamp(14px, 0.25vw + 13px, 15px);

  /* Sizing */
  --content-w: 1280px;
  --content-pad: 32px;
  --nav-h: 76px;
  --topbar-h: 36px;

  /* Density (Tweak-controlled) */
  --density: 1;
  --sec-py: calc(120px * var(--density));
  --sec-py-sm: calc(72px * var(--density));

  /* Imagery */
  --img-filter: none;
}

[data-density="airy"]    { --density: 1.25; }
[data-density="compact"] { --density: 0.78; }
[data-photo="bw"]        { --img-filter: grayscale(1) contrast(1.05); }
[data-photo="duotone"]   { --img-filter: grayscale(1) contrast(1.1) sepia(.6) hue-rotate(345deg) saturate(1.3); }
[data-photo="warm"]      { --img-filter: saturate(1.05) contrast(1.02) hue-rotate(-4deg); }

/* ===== Palette variants (all dark; alternates only change the accent) ===== */
[data-palette="navyochre"] { --c-accent:#FFCC00; --c-accent-2:#E5B800; }    /* default DHL yellow */
[data-palette="mono"]      { --c-accent:#F5EFE3; --c-accent-2:#CFC9BC; }    /* monochrome cream */
[data-palette="redblack"]  { --c-accent:#D40511; --c-accent-2:#A20410; }    /* DHL red */
[data-palette="bluember"]  { --c-accent:#5DA9E9; --c-accent-2:#3F8BCC; }    /* cool blue */
[data-palette="bush"]      { --c-accent:#A8C572; --c-accent-2:#8AAA52; }    /* warm green */

/* ============================================================ */
/* Reset + base */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-body);
  line-height: var(--line-body);
  color: var(--c-fg);
  background: var(--c-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  line-height: var(--line-heading-relaxed);
  letter-spacing: var(--tracking-heading);
}

/* ============================================================ */
/* Type system */
.eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label-wide);
  text-transform: uppercase;
  color: var(--c-accent-readable);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.eyebrow::before {
  content: ""; width: 24px; height: 1px; background: var(--c-accent);
}
.eyebrow.no-rule::before { display: none; }

.display {
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: clamp(2.75rem, 6vw + 0.5rem, 5.75rem);
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-heading);
  text-transform: none;
}
.display .it { font-style: normal; color: var(--c-accent); font-weight: var(--weight-heading); }

.h1 {
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4.5vw + 0.5rem, 4.25rem);
  line-height: var(--line-heading);
  letter-spacing: var(--tracking-heading);
  font-weight: var(--weight-heading);
}
.h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 2.8vw + 0.5rem, 3.15rem);
  line-height: var(--line-heading-relaxed);
  letter-spacing: var(--tracking-heading);
  font-weight: var(--weight-heading-md);
}
.h3 {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 1.6vw + 0.5rem, 2rem);
  line-height: 1.12;
  letter-spacing: var(--tracking-heading-tight);
  font-weight: var(--weight-heading-md);
}
.h4 {
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.5vw + 0.9rem, 1.125rem);
  line-height: 1.35;
  font-weight: var(--weight-body-md);
  letter-spacing: 0.01em;
}

.lede {
  font-family: var(--font-body);
  font-size: var(--text-lede);
  font-weight: var(--weight-body);
  line-height: var(--line-body);
  color: var(--c-fg-dim);
  max-width: 62ch;
  text-wrap: pretty;
}
p {
  font-family: var(--font-body);
  line-height: var(--line-body);
  text-wrap: pretty;
}
.mono {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.label,
.crumbs,
.page-divider .wrap {
  font-family: var(--font-body);
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

/* Typography — section & component map */
.industry h3,
.partners__title,
.offer__card .h3,
.why__title,
.why__text h3,
.about-hero__title,
.about-section__title,
.ctaband__title,
.quote-news__title,
.pagehero .display,
.industries .industries__head h2 {
  font-family: var(--font-heading);
  letter-spacing: var(--tracking-heading);
}
.industry h3 {
  font-weight: var(--weight-heading);
  font-size: clamp(1.125rem, 1vw + 0.85rem, 1.375rem);
  line-height: 1.12;
}
.industries .industries__head h2 {
  font-size: clamp(1.75rem, 2.8vw + 0.5rem, 2.75rem);
  font-weight: var(--weight-heading);
  line-height: var(--line-heading-relaxed);
}
.industry p,
.offer__card p,
.why__text p,
.why__lede {
  font-family: var(--font-body);
  line-height: var(--line-body);
  color: var(--c-fg-dim);
}
.partner-mark { font-family: var(--font-heading); font-weight: var(--weight-heading-md); }
input, textarea, select, button,
.quote__panel label,
.track-panel label,
.contact-form label,
.form-field label {
  font-family: var(--font-body);
}
.foot h5,
.foot__col h5 {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label-wide);
  text-transform: uppercase;
}
.foot p, .foot a, .foot li a {
  font-size: var(--text-body);
  line-height: var(--line-body);
}
.hero__ticker .lbl,
.hero__map .label-row,
.nav-sub small {
  font-family: var(--font-body);
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.hero__ticker .num { font-family: var(--font-heading); font-weight: var(--weight-heading); }

/* ============================================================ */
/* Layout */
.wrap {
  max-width: var(--content-w);
  margin: 0 auto;
  padding: 0 var(--content-pad);
}
section { position: relative; }
.section { padding: var(--sec-py) 0; }
.section-sm { padding: var(--sec-py-sm) 0; }

.section--dark { background: var(--c-ink); color: var(--c-fg); }
.section--dark .lede { color: var(--c-paper-dim); }
.section--paper { background: var(--c-paper); }
.section--paper2 { background: var(--c-paper-2); }
.section--bone   { background: var(--c-bone); }
.section--paper2 { background: var(--c-paper-2); }

/* ============================================================ */
/* Page-divider (between scrolled pages) */
.page-divider {
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  background: var(--c-paper-2);
}
.page-divider .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 22px;
  padding-bottom: 22px;
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--c-mute);
}
.page-divider .num { color: var(--c-accent); }
.page-divider .title { color: var(--c-fg); font-weight: 600; }

/* ============================================================
   BUTTONS — Wyvern logistics CTA system
   .btn--accent primary · .btn--track secondary (tracking/portal)
   .btn--ghost outline · .btn--sm / .btn--lg scale
   3px radius, mono caps, status LED, offset shadow, hover lift, focus ring
   ============================================================ */
.btn {
  --btn-bg:        var(--c-accent);
  --btn-bg-hov:    #9A020E;
  --btn-fg:        var(--c-fg);
  --btn-led:       #FFE9D6;
  --btn-led-ring:  rgba(255,255,255,.32);
  --btn-stroke:    rgba(255,255,255,.16);
  --btn-edge:      #0A0A09;

  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  padding: 17px 26px 17px 44px;
  background: var(--btn-bg);
  color: var(--btn-fg);
  border: 0;
  border-radius: 3px;
  font-family: var(--font-heading);
  font-size: clamp(12px, 0.25vw + 11px, 13px);
  font-weight: var(--weight-button);
  letter-spacing: var(--tracking-button);
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    6px 6px 0 var(--btn-edge);
  transition: transform .2s cubic-bezier(.22,1,.36,1),
              box-shadow .2s cubic-bezier(.22,1,.36,1),
              background .25s ease,
              color .25s ease;
}
@media (hover: hover) {
  .btn:hover {
    transform: translateY(-2px);
    box-shadow:
      inset 0 0 0 1px var(--btn-stroke),
      8px 10px 0 var(--btn-edge),
      0 12px 28px rgba(0,0,0,.22);
  }
  .btn--lg:hover {
    box-shadow:
      inset 0 0 0 1px var(--btn-stroke),
      10px 12px 0 var(--btn-edge),
      0 16px 36px rgba(0,0,0,.28);
  }
  .btn--sm:hover {
    box-shadow:
      inset 0 0 0 1px var(--btn-stroke),
      5px 6px 0 var(--btn-edge),
      0 8px 20px rgba(0,0,0,.2);
  }
}
/* Status LED on the left side */
.btn::before {
  content: '';
  position: absolute;
  left: 22px; top: 50%;
  transform: translateY(-50%);
  width: 8px; height: 8px;
  background: var(--btn-led);
  border-radius: 50%;
  box-shadow:
    0 0 0 2px var(--btn-bg),
    0 0 0 3px var(--btn-led-ring);
  transition: box-shadow .25s ease, background .25s ease;
}
@keyframes btnLED {
  0%, 100% { box-shadow: 0 0 0 2px var(--btn-bg), 0 0 0 3px var(--btn-led-ring); }
  50%      { box-shadow: 0 0 0 2px var(--btn-bg), 0 0 0 10px transparent; }
}
.btn:hover::before { animation: btnLED 1.4s cubic-bezier(.4,0,.2,1) infinite; }

/* Traveling arrow — moves AND grows tail */
.btn .arrow {
  width: 18px; height: 11px;
  flex-shrink: 0;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.btn:hover { background: var(--btn-bg-hov); color: var(--btn-fg); }
.btn:hover .arrow { transform: translateX(6px); }

/* Hard physical press */
.btn:active {
  transform: translate(3px, 3px);
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    3px 3px 0 var(--btn-edge);
}
.btn:focus-visible {
  outline: 0;
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    6px 6px 0 var(--btn-edge),
    0 0 0 3px rgba(245,239,227,.85);
}

/* ---- Variants ---- */
.btn--ghost {
  --btn-bg: transparent;
  --btn-bg-hov: var(--c-accent);
  --btn-fg: var(--c-fg);
  --btn-led: var(--c-accent);
  --btn-led-ring: rgba(212,5,17,.22);
  --btn-stroke: rgba(245,239,227,.32);
  --btn-edge: rgba(245,239,227,.16);
}
.btn--ghost:hover {
  color: var(--c-fg);
  --btn-stroke: var(--c-accent);
  --btn-led: #FFE9D6;
  --btn-led-ring: rgba(255,255,255,.32);
}

.btn--paper {
  --btn-bg: var(--c-bone);
  --btn-bg-hov: var(--c-accent);
  --btn-fg: var(--c-ink);
  --btn-led: var(--c-accent);
  --btn-led-ring: rgba(212,5,17,.22);
  --btn-stroke: rgba(0,0,0,.10);
  --btn-edge: rgba(0,0,0,.22);
}
.btn--paper:hover {
  color: var(--c-fg);
  --btn-led: #FFE9D6;
  --btn-led-ring: rgba(255,255,255,.32);
}

.btn--accent {
  --btn-bg: var(--c-accent);
  --btn-bg-hov: #9A020E;
  --btn-fg: var(--c-fg);
  --btn-led: #FFE9D6;
  --btn-led-ring: rgba(255,255,255,.35);
}

/* Secondary — tracking / portal / paired hero CTA */
.btn--track {
  --btn-bg: transparent;
  --btn-bg-hov: rgba(212,5,17,.12);
  --btn-fg: var(--c-fg);
  --btn-led: var(--c-accent);
  --btn-led-ring: rgba(212,5,17,.35);
  --btn-stroke: rgba(212,5,17,.55);
  --btn-edge: rgba(212,5,17,.25);
}
.btn--track:hover { --btn-stroke: var(--c-accent); }

/* ---- Sizing ---- */
.btn--lg {
  font-size: 13px;
  letter-spacing: .3em;
  padding: 23px 32px 23px 52px;
  gap: 28px;
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    8px 8px 0 var(--btn-edge);
}
.btn--lg::before {
  left: 26px;
  width: 10px; height: 10px;
}
.btn--lg:active {
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    3px 3px 0 var(--btn-edge);
}
.btn--lg:focus-visible {
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    8px 8px 0 var(--btn-edge),
    0 0 0 3px rgba(245,239,227,.85);
}
.btn--lg .arrow { width: 22px; height: 14px; }

.btn--sm {
  font-size: 10px;
  letter-spacing: .24em;
  padding: 10px 18px 10px 32px;
  gap: 14px;
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    4px 4px 0 var(--btn-edge);
}
.btn--sm::before {
  left: 16px;
  width: 6px; height: 6px;
}
.btn--sm:active {
  box-shadow:
    inset 0 0 0 1px var(--btn-stroke),
    1px 1px 0 var(--btn-edge);
}
.btn--sm .arrow { width: 14px; height: 9px; }

.linkout {
  position: relative;
  display: inline-block;
  font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-fg);
  padding-bottom: 8px;
  transition: color .25s ease, letter-spacing .35s cubic-bezier(.22,1,.36,1);
}
/* Double-rule underline: hairline + accent bar that draws from left on hover */
.linkout::before,
.linkout::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  height: 1px;
}
.linkout::before { bottom: 4px; background: currentColor; opacity: .35; }
.linkout::after {
  bottom: 0; background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.linkout:hover { color: var(--c-accent); letter-spacing: .24em; }
.linkout:hover::after { transform: scaleX(1); }
.linkout:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 4px;
}

.btn .arrow,
.btn svg.arrow {
  display: block !important;
  flex-shrink: 0;
  opacity: .9;
}

/* Form / tracking CTAs — align with .btn system */
.careers-form__submit,
.contact-form__submit,
.trk-search__btn,
.quote-v2__btn--submit,
.quote-v2__btn--next {
  border-radius: 3px;
}
.careers-form__submit:focus-visible,
.contact-form__submit:focus-visible,
.trk-search__btn:focus-visible,
.quote-v2__btn:focus-visible,
.about-close__btn:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}
.trk-search__btn {
  border-radius: 0 3px 3px 0;
  box-shadow: 4px 4px 0 rgba(0,0,0,.35);
}
.trk-search__btn:hover {
  transform: translateY(-1px);
  box-shadow: 5px 6px 0 rgba(0,0,0,.4);
}
.trk-search__btn:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 rgba(0,0,0,.35);
}

/* ============================================================ */
/* Top utility bar */
.topbar {
  background: var(--c-ink);
  color: var(--c-fg);
  font-size: 12px;
  height: var(--topbar-h);
  display: flex; align-items: center;
}
.topbar .wrap {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; width: 100%;
}
.topbar a { color: var(--c-fg); display: inline-flex; align-items: center; gap: 8px; transition: color .2s; }
.topbar a:hover { color: var(--c-accent); }
.topbar ul { display: flex; gap: 22px; align-items: center; }
.topbar ul.right { gap: 14px; }
.topbar i, .topbar svg { width: 13px; height: 13px; opacity: .85; }

/* 24/7 corridor desk indicator in the topbar */
.topbar__corridor {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--c-fg-dim);
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.topbar__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--c-accent);
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(212,5,17,.18);
  animation: topbarPulse 2.4s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes topbarPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212,5,17,.45); }
  60%      { box-shadow: 0 0 0 8px rgba(212,5,17,0); }
}
@media (max-width: 900px) {
  .topbar__corridor { display: none; } /* fall back to nav-only on narrow screens */
}
@media (max-width: 740px) { .topbar ul.right { display: none; } .topbar { font-size: 11px; } }

/* ============================================================ */
/* Site header — primary nav + tier-2 child row (default for parents with children) */
.site-header {
  position: sticky;
  top: 0;
  z-index: 940;
  background: var(--c-paper);
}
.nav {
  position: relative;
  z-index: 2;
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-line);
  height: var(--nav-h);
  display: flex; align-items: center;
}
.site-header.is-tier2-open .nav {
  border-bottom-color: transparent;
}
.nav .wrap { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 24px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand__lockup { height: 58px; width: auto; display: block; }
.foot__brand .brand__lockup { height: 64px; }
@media (max-width: 600px) {
  .brand__lockup { height: 48px; }
  .foot__brand .brand__lockup { height: 56px; }
}

.nav-links { display: flex; align-items: center; gap: 4px; }
.nav-links a {
  position: relative;
  display: inline-flex; align-items: center;
  padding: 10px 14px;
  font-family: var(--font-body);
  font-size: var(--text-nav);
  font-weight: var(--weight-body-md);
  letter-spacing: 0.02em;
  color: var(--c-fg);
  transition: color .18s ease;
}
.nav-links a::before {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px;
  height: 1px; background: var(--c-accent); transform: scaleX(0); transform-origin: left;
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.nav-links a:hover::before, .nav-links a.active::before { transform: scaleX(1); }

/* Parents with children — tier-2 bar (default) or classic dropdown */
.nav-links__has-children { position: relative; }
.nav-links__has-children > a { display: inline-flex; align-items: center; gap: 6px; }
.nav-links__caret { transition: transform .25s ease, color .25s ease; opacity: .6; }
.nav-links__has-children--tier2:hover > a .nav-links__caret,
.nav-links__has-children--tier2:focus-within > a .nav-links__caret,
.nav-links__has-children:not(.nav-links__has-children--tier2):hover > a .nav-links__caret,
.nav-links__has-children:not(.nav-links__has-children--tier2):focus-within > a .nav-links__caret {
  transform: rotate(180deg);
  color: var(--c-accent);
  opacity: 1;
}
/* Classic flyout dropdown (only when NOT using tier-2) */
.nav-sub {
  position: absolute;
  top: 100%; left: 50%;
  transform: translate(-50%, 8px);
  min-width: 340px;
  margin: 0; padding: 8px 0;
  background: var(--c-ink);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  list-style: none;
  opacity: 0; visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, transform .3s cubic-bezier(.22,1,.36,1), visibility .25s;
  box-shadow: 0 30px 60px rgba(0,0,0,.55);
  z-index: 50;
}
.nav-links__has-children:not(.nav-links__has-children--tier2):hover .nav-sub,
.nav-links__has-children:not(.nav-links__has-children--tier2):focus-within .nav-sub {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translate(-50%, 0);
}
/* Hover bridge so the dropdown doesn't snap shut when the cursor crosses the gap */
.nav-sub::before {
  content: ''; position: absolute;
  top: -16px; left: 0; right: 0; height: 16px;
}
.nav-sub li { margin: 0; }
.nav-sub a {
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 2px;
  padding: 12px 20px;
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--c-fg);
  border-bottom: 1px solid var(--c-line);
  transition: background .2s ease, color .2s ease, padding-left .25s ease;
}
.nav-sub li:last-child a { border-bottom: 0; }
.nav-sub a::before { display: none; } /* kill the inherited nav-links underline */
.nav-sub a:hover { background: rgba(212,5,17,.08); color: var(--c-accent); padding-left: 24px; }
.nav-sub__num {
  grid-row: 1 / span 2;
  grid-column: 1;
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--c-accent);
  align-self: center;
}
.nav-sub a small {
  grid-row: 2; grid-column: 2;
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .04em;
  color: var(--c-fg-faint);
}
.nav-sub a:hover small { color: rgba(245,239,227,.78); }

/* Tier-2 child row — shown on hover or while on that section (not fixed on every page) */
.nav-tier2-host {
  display: none;
  position: relative;
  z-index: 1;
  border-bottom: 1px solid var(--c-line);
  background: var(--c-paper);
}
.nav-tier2-host.is-open { display: block; }
.nav-tier2 {
  display: none;
  background: var(--c-paper);
}
.nav-tier2.is-active { display: block; }
.nav-tier2__inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 var(--content-pad, 56px);
}
.nav-tier2__inner::-webkit-scrollbar { display: none; }
.nav-tier2__inner a {
  flex-shrink: 0;
  padding: 13px 18px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: var(--c-fg-dim);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
  transition: color .2s ease, border-color .2s ease;
}
.nav-tier2__inner a:hover { color: var(--c-fg); }
.nav-tier2__inner a.is-active {
  color: var(--c-fg);
  font-weight: 600;
  border-bottom-color: var(--c-accent);
}
/* Mobile: children under parent in burger overlay */
.nav-children-mobile {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 320px;
}
.nav-children-mobile a {
  display: block;
  padding: 10px 0;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  color: var(--c-fg-dim);
  text-decoration: none;
}
.nav-children-mobile a.is-active { color: var(--c-accent); }
body.menu-open .nav-links__has-children--tier2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
body.menu-open .nav-children-mobile { display: flex; flex-direction: column; align-items: center; }
@media (max-width: 980px) {
  .nav-tier2-host { display: none !important; }
  .nav-tier2__inner {
    justify-content: center;
    padding: 0 16px;
  }
  .nav-tier2__inner a {
    padding: 11px 12px;
    font-size: 12px;
  }
}

.nav-cta { display: inline-flex; gap: 12px; align-items: center; }

/* Login icon button — replaces the old Get-a-Quote CTA */
.nav-login {
  position: relative;
  display: inline-flex; align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 12px;
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  text-decoration: none;
  transition: border-color .25s ease, color .25s ease, background .25s ease;
}
.nav-login:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
  background: rgba(212,5,17,.06);
}
.nav-login svg {
  width: 18px; height: 18px;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.nav-login:hover svg { transform: translateX(2px); }
.nav-login__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.nav-login::before { display: none; } /* kill inherited nav-links underline */
@media (max-width: 720px) {
  .nav-login { padding: 8px 10px; }
  .nav-login__label { display: none; }
}
.nav-cta .quote-mini {
  font-family: var(--ff-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-mute); margin-right: 6px;
}
.nav-burger { display: none; width: 40px; height: 40px; background: transparent; border: 1px solid var(--c-line); }

@media (max-width: 1200px) {
  .nav-cta .quote-mini { display: none; }
}
@media (max-width: 1080px) {
  .nav-links a { padding: 10px 10px; font-size: 13px; }
}
@media (max-width: 980px) {
  .nav-links, .nav-cta .btn { display: none; }
  .nav-burger { display: inline-flex; align-items: center; justify-content: center; }
}

/* ============================================================ */
/* Hero (Home) with Slider capability */
.hero {
  background: var(--c-paper);
  position: relative;
  overflow: hidden;
  padding-top: 56px;
  padding-bottom: 0;
}
.hero__slider {
  position: relative;
  width: 100%;
}
.hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.8s;
  z-index: 1;
}
.hero__slide.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.hero__inner {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: end;
  min-height: 78vh;
}
.hero__copy { padding-bottom: 80px; }
.hero__copy .eyebrow { margin-bottom: 26px; }
.hero h1 { margin-bottom: 28px; max-width: 13ch; }
.hero h1 .it { display: inline-block; }
.hero p.lede { margin-bottom: 36px; max-width: 44ch; }
.hero__cta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.hero__visual {
  position: relative;
  align-self: stretch;
  display: flex; align-items: flex-end;
  padding-bottom: 0;
}
.hero__map {
  background: var(--c-ink);
  color: var(--c-fg);
  width: 100%;
  aspect-ratio: 4/5;
  padding: 28px;
  display: flex; flex-direction: column; gap: 18px;
  position: relative; overflow: hidden;
}
.hero__map .label-row { display: flex; justify-content: space-between; align-items: center; font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-paper-dim); }
.hero__map .label-row .live { color: var(--c-accent); display:inline-flex; align-items:center; gap:8px; }
.hero__map .live::before { content:""; width:6px; height:6px; background: var(--c-accent); border-radius: 50%; box-shadow: 0 0 0 4px rgba(217,122,44,.18); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{ box-shadow: 0 0 0 0 rgba(217,122,44,.45);} 50%{ box-shadow: 0 0 0 8px rgba(217,122,44,0);} }
.hero__map svg.map { flex: 1; width: 100%; height: 100%; }
.hero__map .legend { display:flex; gap: 22px; font-family: var(--ff-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-paper-dim); }
.hero__map .legend i { display: inline-block; width: 10px; height: 2px; background: var(--c-accent); margin-right: 6px; transform: translateY(-3px); }

/* Slider control arrows & indicators */
.slider-ctrl {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--c-bone);
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.25s ease;
}
.slider-ctrl:hover {
  background: var(--c-accent);
  color: var(--c-ink);
  border-color: var(--c-accent);
}
.slider-ctrl--prev { left: -56px; }
.slider-ctrl--next { right: -56px; }

.slider-indicators {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
  margin-bottom: 24px;
  position: relative;
  z-index: 5;
}
.slider-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-line);
  border: 0;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
}
.slider-indicator.active {
  background: var(--c-accent);
  transform: scale(1.3);
}

.hero__ticker {
  grid-column: 1 / -1;
  border-top: 1px solid var(--c-line);
  display: flex; gap: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 5;
}
.hero__ticker .item {
  flex: 1;
  padding: 22px 24px;
  border-right: 1px solid var(--c-line);
  display: flex; flex-direction: column; gap: 4px;
  font-size: 13px;
}
.hero__ticker .item:last-child { border-right: 0; }
.hero__ticker .num { font-family: var(--ff-display); font-size: 32px; line-height: 1; color: var(--c-fg); }
.hero__ticker .lbl { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-mute); }

@media (max-width: 1400px) {
  .slider-ctrl--prev { left: 16px; }
  .slider-ctrl--next { right: 16px; }
}

@media (max-width: 900px) {
  .hero__inner { grid-template-columns: 1fr; min-height: 0; gap: 32px; }
  .hero__copy { padding-bottom: 24px; }
  .hero__map { aspect-ratio: 4/3; }
  .hero__ticker { flex-wrap: wrap; }
  .hero__ticker .item { flex: 1 1 50%; }
  .slider-ctrl { display: none; }
}

/* ============================================================
   HERO — IMMERSIVE CINEMATIC REDESIGN
   Full-bleed photographic slides, dominant headline, floating
   tracking widget. Overrides base hero styles above.
   ============================================================ */
.hero {
  background: var(--c-ink);
  padding: 0;
  margin-bottom: 0;
}
.hero .wrap { max-width: none; width: 100%; padding: 0; }
.hero__slider { min-height: 92vh; }
.hero__slide {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity 1.1s cubic-bezier(.22,1,.36,1), visibility 1.1s;
}
/* Blood-moon veil — same atmospheric treatment as the Competitive
   Advantages band: a deep crimson wash bleeding into near-black on the
   right, with a vertical darkening at top + bottom for type contrast. */
.hero__slide::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(115deg,
      rgba(154,2,14,.78) 0%,
      rgba(120,6,14,.72) 32%,
      rgba(60,8,12,.68) 62%,
      rgba(8,4,4,.72) 100%);
}
.hero__slide::after {
  content:''; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.45) 0%, transparent 28%, transparent 68%, rgba(0,0,0,.6) 100%);
}
.hero__inner {
  position: relative; z-index: 2;
  grid-template-columns: 1fr;
  align-items: center;
  min-height: 92vh;
  max-width: 1320px;
  margin: 0 auto;
  padding: 140px 56px 200px;
  gap: 0;
}
.hero__copy { padding-bottom: 0; max-width: 720px; }
.hero__copy .eyebrow {
  display: inline-block;
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  margin-bottom: 32px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c-fg);
}
/* Hide the default .eyebrow::before pseudo-rule inside the hero —
   the new border-bottom is the rule, the leading dash was redundant
   and on the red veil it read as a glitch. */
.hero__copy .eyebrow::before { display: none; }
.hero h1.display {
  font-size: clamp(44px, 7.6vw, 104px);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.025em;
  color: var(--c-fg);
  text-transform: uppercase;
  margin-bottom: 30px;
  max-width: none;
}
.hero h1.display .it {
  display: block;
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.85);
  letter-spacing: -.015em;
}
.hero p.lede {
  font-size: 17px;
  line-height: 1.65;
  color: rgba(245,239,227,.82);
  max-width: 52ch;
  margin-bottom: 44px;
  font-weight: 300;
}
.hero__cta { gap: 28px; align-items: center; }
/* Hero adds an extra atmospheric red glow under the cinematic button
   while letting the base .btn handle structure, strap, arrow, press. */
.hero__cta .btn--lg {
  box-shadow: 7px 7px 0 rgba(0,0,0,.55), 0 24px 60px rgba(212,5,17,.28);
}
.hero__cta .btn--lg:active {
  box-shadow: 3px 3px 0 rgba(0,0,0,.55), 0 8px 24px rgba(212,5,17,.22);
}
.hero__cta .linkout {
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 4px;
}
.hero__cta .linkout::after {
  content:''; position:absolute; left:0; right:0; bottom:0;
  height: 1px; background: rgba(245,239,227,.4);
  transform: scaleX(.5); transform-origin: left;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.hero__cta .linkout:hover::after { transform: scaleX(1); background: var(--c-accent); }
.hero__visual { display: none; }
.hero__ticker { display: none; }

/* Floating tracking widget — overlaps hero edge */
.hero__track {
  position: absolute;
  z-index: 6;
  right: max(56px, calc(50% - 660px + 56px));
  bottom: 0;
  transform: translateY(40%);
  width: 380px;
  background: #0E2A4F;
  color: var(--c-fg);
  padding: 30px 30px 32px;
  border-top: 3px solid var(--c-accent);
  box-shadow: 0 30px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
}
.hero__track h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.005em;
  margin: 0 0 16px;
  color: var(--c-fg);
  text-transform: none;
}
.hero__track .div { height: 2px; background: var(--c-accent); width: 100%; margin-bottom: 22px; }
.hero__track form { display: grid; grid-template-columns: 1fr 56px; gap: 0; margin-bottom: 18px; }
.hero__track input {
  background: #FFFFFF;
  border: 0;
  padding: 16px 18px;
  font-family: var(--ff-mono);
  font-size: 12px;
  color: #0E2A4F;
  letter-spacing: .05em;
  outline: none;
}
.hero__track input::placeholder { color: rgba(14,42,79,.45); font-weight: 400; }
.hero__track button {
  background: var(--c-accent);
  color: var(--c-fg);
  border: 0;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .2s ease;
}
.hero__track button:hover { background: var(--c-accent-2); }
.hero__track .desc {
  font-size: 12px;
  line-height: 1.6;
  color: rgba(245,239,227,.72);
  font-weight: 300;
  margin: 0;
}

/* Slider control + indicators — repositioned for full-bleed */
.hero .slider-ctrl {
  background: rgba(255,255,255,.08);
  color: var(--c-fg);
  border-color: rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  top: 50%;
  transform: translateY(-50%);
  width: 52px; height: 52px;
}
.hero .slider-ctrl:hover { background: var(--c-accent); color: var(--c-fg); border-color: var(--c-accent); }
.hero .slider-ctrl--prev { left: 32px; }
.hero .slider-ctrl--next { right: 32px; }
.hero .slider-indicators {
  position: absolute;
  bottom: 56px;
  left: max(56px, calc(50% - 660px + 56px));
  margin: 0;
  justify-content: flex-start;
  z-index: 5;
  gap: 14px;
}
.hero .slider-indicator {
  width: 44px; height: 3px;
  border-radius: 0;
  background: rgba(255,255,255,.28);
  transition: all .35s ease;
}
.hero .slider-indicator.active {
  background: var(--c-accent);
  transform: none;
  width: 64px;
}
.hero .slider-indicator:hover { background: rgba(255,255,255,.55); }

/* Staggered reveal of copy on active slide */
.hero__slide.active .eyebrow { animation: heroFade .9s cubic-bezier(.22,1,.36,1) .15s both; }
.hero__slide.active h1.display { animation: heroFade 1s cubic-bezier(.22,1,.36,1) .3s both; }
.hero__slide.active p.lede { animation: heroFade 1s cubic-bezier(.22,1,.36,1) .5s both; }
.hero__slide.active .hero__cta { animation: heroFade 1s cubic-bezier(.22,1,.36,1) .7s both; }
@keyframes heroFade {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media (max-width: 1100px) {
  .hero__track { right: 32px; width: 340px; transform: translateY(35%); }
  .hero__inner { padding: 120px 32px 200px; }
  .hero .slider-indicators { left: 32px; }
}
@media (max-width: 820px) {
  .hero__slider { min-height: 88vh; }
  .hero__inner { min-height: 88vh; padding: 110px 24px 240px; }
  .hero h1.display { font-size: clamp(40px, 11vw, 64px); }
  .hero__track {
    position: static; transform: none;
    width: calc(100% - 48px);
    margin: -80px auto 0;
    display: block;
  }
  .hero .slider-indicators { bottom: 32px; left: 24px; }
  .hero .slider-ctrl { display: none; }
}

/* ============================================================ */
/* Service triplet (under hero) */
.triplet {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  border-top: 1px solid var(--c-line);
}
.triplet > article {
  padding: 56px 40px;
  border-right: 1px solid var(--c-line);
  background: var(--c-paper);
  transition: background .25s ease;
  display: flex; flex-direction: column; gap: 16px;
  position: relative;
}
.triplet > article:last-child { border-right: 0; }
.triplet > article:hover { background: var(--c-bone); }
.triplet .ix { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; color: var(--c-accent-readable); }
.triplet h3 { margin-top: 8px; }
.triplet p { color: var(--c-mute); font-size: 15px; }
.triplet .linkout { margin-top: auto; align-self: flex-start; }
@media (max-width: 880px) { .triplet { grid-template-columns: 1fr; } .triplet > article { border-right: 0; border-bottom: 1px solid var(--c-line); } }

/* ============================================================ */
/* Tracking widget */
.track {
  background: var(--c-ink);
  color: var(--c-fg);
  padding: var(--sec-py-sm) 0;
}
.track__head { display:flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 36px; }
.track__head h2 { max-width: 22ch; }
.track__head p { color: var(--c-paper-dim); max-width: 38ch; }
.track__panel {
  background: var(--c-ink-2);
  border: 1px solid rgba(247,244,238,.08);
  padding: 28px;
  display: grid; grid-template-columns: 1fr auto; gap: 16px;
  align-items: end;
}
.track__field { display: flex; flex-direction: column; gap: 8px; }
.track__field label { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-paper-faint); }
.track__field input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(247,244,238,.25);
  padding: 8px 0;
  font-family: var(--ff-display);
  font-size: 32px;
  color: var(--c-fg);
  outline: none;
}
.track__field input::placeholder { color: rgba(247,244,238,.5); }
.track__panel .btn { padding: 18px 26px; }

.track__result {
  margin-top: 22px;
  border-top: 1px solid rgba(247,244,238,.12);
  padding-top: 22px;
  display: none;
}
.track__result.show { display: block; }
.track__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 18px; }
.track__steps .step { padding: 16px 18px; border-right: 1px solid rgba(247,244,238,.1); display:flex; flex-direction:column; gap: 6px; }
.track__steps .step:last-child { border-right: 0; }
.track__steps .lbl { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-paper-faint); }
.track__steps .val { font-family: var(--ff-display); font-size: 22px; }
.track__steps .step.done .lbl { color: var(--c-accent); }
.track__steps .step.current .val::after { content:"●"; color: var(--c-accent); margin-left: 8px; font-size: 12px; animation: pulse 2s infinite; }

@media (max-width: 760px) {
  .track__head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .track__panel { grid-template-columns: 1fr; }
  .track__field input { font-size: 22px; }
  .track__steps { grid-template-columns: 1fr 1fr; }
  .track__steps .step:nth-child(2n) { border-right: 0; }
}

/* ============================================================ */
/* About teaser (split image grid + copy) */
.split {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center;
}
@media (max-width: 900px) { .split { grid-template-columns: 1fr; gap: 36px; } }
.split__media { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 12px; }
.split__media .ph { background: var(--c-bone); position: relative; overflow: hidden; }
.split__media .ph::after {
  content: attr(data-label);
  position: absolute; left: 12px; bottom: 12px;
  font-family: var(--ff-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-mute); background: rgba(10,10,9,.85); border: 1px solid rgba(245,239,227,.15); padding: 4px 8px;
}
.split__media .ph.big { grid-row: span 2; aspect-ratio: 3/5; }
.split__media .ph.small { aspect-ratio: 4/3; }
.split__media .ph img { width: 100%; height: 100%; object-fit: cover; filter: var(--img-filter); }
.split__media .stat-card {
  position: absolute;
  right: -30px; bottom: 24px;
  background: var(--c-ink); color: var(--c-fg);
  padding: 24px 22px;
  display: flex; flex-direction: column; gap: 4px;
  min-width: 200px;
  box-shadow: 0 20px 40px -20px rgba(0,0,0,.4);
}
.split__media .stat-card .big { font-family: var(--ff-display); font-size: 56px; line-height: 1; color: var(--c-accent); }
.split__media .stat-card .lbl { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-paper-dim); }
@media (max-width: 900px) { .split__media .stat-card { position: static; margin-top: 16px; } }

.split__copy h2 { margin-bottom: 20px; }
.split__copy p { color: var(--c-mute); margin-bottom: 28px; max-width: 52ch; font-size: 16px; }
.feature-row { display: flex; flex-direction: column; gap: 14px; margin: 24px 0 32px; }
.feature-row .f {
  display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start;
  padding: 18px 0; border-top: 1px solid var(--c-line);
}
.feature-row .f:last-child { border-bottom: 1px solid var(--c-line); }
.feature-row .f .ix {
  font-family: var(--ff-display); font-size: 20px; color: var(--c-accent); min-width: 36px;
}
.feature-row .f h4 { margin-bottom: 4px; }
.feature-row .f p { color: var(--c-mute); font-size: 14px; margin: 0; }

/* ============================================================ */
/* Partners — client logo marquee */
.partners {
  padding: 56px 0 0;
  background: var(--c-paper);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  overflow: hidden;
}
.partners__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 40px;
}
.partners__intro { max-width: 36ch; }
.partners__intro .eyebrow { margin-bottom: 14px; }
.partners__title {
  font-family: var(--ff-display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0;
}
.partners__meta {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
  margin: 0;
  white-space: nowrap;
}

.logo-marquee {
  position: relative;
  border-top: 1px solid var(--c-line);
  padding: 44px 0 52px;
}
.logo-marquee__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: min(120px, 12vw);
  z-index: 2;
  pointer-events: none;
}
.logo-marquee__fade--left {
  left: 0;
  background: linear-gradient(90deg, var(--c-paper) 15%, transparent);
}
.logo-marquee__fade--right {
  right: 0;
  background: linear-gradient(270deg, var(--c-paper) 15%, transparent);
}
.logo-marquee__viewport { overflow: hidden; }

.logo-track {
  display: flex;
  width: max-content;
  animation: partners-marquee 34s linear infinite;
}
.logo-marquee:hover .logo-track { animation-play-state: paused; }

@keyframes partners-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

.logo-track__group {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}
.logo-track__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  padding: 0 clamp(36px, 5vw, 72px);
}
.partner-mark {
  display: block;
  font-family: var(--ff-display);
  font-size: 28px;
  font-weight: 700;
  color: var(--c-fg);
  letter-spacing: .04em;
  line-height: 1;
  white-space: nowrap;
  opacity: .7;
  filter: grayscale(1);
  transition: opacity .45s ease, filter .45s ease, color .45s ease;
}
.logo-track__item:hover .partner-mark,
.logo-track__item:focus-within .partner-mark {
  opacity: 1;
  filter: grayscale(0);
}
.partner-mark--argyle { letter-spacing: .18em; font-weight: 800; font-size: 24px; }
.partner-mark--argyle em { font-style: normal; font-weight: 500; opacity: .85; }
.partner-mark--northstar { font-family: var(--font-body); font-weight: 500; font-size: 32px; letter-spacing: .01em; }
.partner-mark--kopje { letter-spacing: .28em; font-weight: 800; font-size: 26px; }
.partner-mark--mahogany { font-weight: 300; letter-spacing: .12em; font-size: 30px; }
.partner-mark--veld { font-weight: 600; letter-spacing: .06em; font-size: 28px; }
.partner-mark--veld .dot { opacity: .55; padding: 0 .08em; }

@media (max-width: 900px) {
  .partners__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .logo-track__item { height: 76px; padding: 0 clamp(28px, 4vw, 48px); }
  .partner-mark { font-size: 24px; }
  .partner-mark--northstar { font-size: 28px; }
  .partner-mark--kopje { font-size: 22px; }
  .partner-mark--mahogany { font-size: 26px; }
}

@media (max-width: 600px) {
  .partners { padding-top: 48px; }
  .partners__head { margin-bottom: 28px; }
  .logo-marquee { padding: 36px 0 44px; }
  .logo-track { animation-duration: 28s; }
  .logo-track__item { height: 68px; padding: 0 32px; }
  .partner-mark { font-size: 20px; }
  .partner-mark--argyle { font-size: 18px; }
  .partner-mark--northstar { font-size: 24px; }
  .partner-mark--kopje { font-size: 19px; }
  .partner-mark--mahogany { font-size: 22px; }
  .partner-mark--veld { font-size: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .logo-track {
    animation: none;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 0;
  }
  .logo-track__group[aria-hidden="true"] { display: none; }
  .logo-marquee__fade { display: none; }
  .logo-marquee__viewport { overflow: visible; }
}

/* ============================================================ */
/* What We Offer — service grid */
.offer__head { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 56px; align-items: end; }
.offer__head h2 { max-width: 16ch; }
.offer__head p.lede { max-width: 44ch; }
@media (max-width: 800px) { .offer__head { grid-template-columns: 1fr; gap: 16px; } }

/* OFFER GRID — Paper service cards on dark page (matches reference)
   Photo banner top, light card body, dark display copy, red CTA button. */
.offer__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  background: transparent;
  border: 0;
}
.offer__card {
  background: var(--c-cream);
  padding: 0 0 32px;
  display: flex; flex-direction: column;
  position: relative;
  cursor: pointer;
  text-decoration: none;
  color: var(--c-text-on-cream);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
  border-bottom: 3px solid var(--c-accent);
}
.offer__card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.offer__card .thumb {
  aspect-ratio: 4/3;
  background: var(--c-paper-2);
  position: relative;
  overflow: hidden;
  margin: 0;
}
.offer__card .thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: none;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}
.offer__card:hover .thumb img { transform: scale(1.06); }
.offer__card .label-chip { display: none; } /* hide placeholder label chips */
.offer__card .ix {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .24em;
  color: var(--c-accent);
  text-transform: uppercase;
  padding: 26px 28px 0;
}
.offer__card h3 {
  font-family: var(--ff-display);
  font-size: 24px;
  font-weight: 800;
  color: var(--c-text-on-cream);
  letter-spacing: -.01em;
  margin: 10px 0 14px;
  padding: 0 28px;
  line-height: 1.1;
  text-align: center;
}
.offer__card p {
  color: var(--c-text-on-cream-mute);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
  padding: 0 28px;
  text-align: center;
  flex-grow: 1;
}
.offer__card .linkout,
.offer__card .btn {
  margin: 24px auto 0;
  align-self: center;
}
@media (max-width: 1100px) { .offer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .offer__grid { grid-template-columns: 1fr; gap: 24px; } }

/* ============================================================
   STATS HERO — "Competitive Advantages"
   Full-bleed truck background, red atmospheric veil, 2x2 circled
   stat rings on the left, copy + CTA on the right.
   ============================================================ */
.stats--hero {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--c-ink);
  border: 0;
  overflow: hidden;
  isolation: isolate;
}
.stats--hero .stats__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg, rgba(154,2,14,.78) 0%, rgba(80,8,16,.72) 45%, rgba(8,4,4,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 30%, rgba(0,0,0,.55) 100%);
}
.stats--hero .stats__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 80px;
  align-items: center;
  padding: 120px 56px;
  max-width: 1320px;
  margin: 0 auto;
}
.stats--hero .stats__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px 48px;
  justify-items: center;
}
.stats--hero .stats__item {
  display: flex; flex-direction: column; align-items: center; gap: 18px;
  padding: 0;
  border: 0;
}
/* The circular ring — distinctive red circle around the percentage */
.stats--hero .ring {
  position: relative;
  width: 180px; height: 180px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-display);
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
  color: var(--c-fg);
  letter-spacing: -.01em;
}
.stats--hero .ring::before,
.stats--hero .ring::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid var(--c-accent);
  pointer-events: none;
}
/* Second ring offset to create a sketched / hand-drawn double-stroke feel */
.stats--hero .ring::after {
  inset: -8px;
  border-width: 1px;
  border-color: rgba(212,5,17,.45);
  border-style: dashed;
  animation: ringSpin 24s linear infinite;
}
@keyframes ringSpin { to { transform: rotate(360deg); } }
.stats--hero .ring sup {
  font-size: .42em; font-weight: 700;
  vertical-align: top;
  color: var(--c-fg);
  margin-left: 4px;
  margin-top: 12px;
}
.stats--hero .label {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-fg);
  text-align: center;
}

/* Right copy block */
.stats--hero .stats__copy { color: var(--c-fg); }
.stats--hero .stats__copy .eyebrow {
  display: inline-block;
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
  margin-bottom: 26px;
  opacity: .9;
}
.stats--hero .stats__title {
  font-size: clamp(34px, 4vw, 56px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0 0 26px;
}
.stats--hero .stats__title .it {
  display: inline;
  font-style: normal;
  color: var(--c-fg);
}
.stats--hero .stats__copy p {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(245,239,227,.86);
  margin: 0 0 18px;
  font-weight: 300;
  max-width: 56ch;
}
.stats--hero .stats__copy p:last-of-type { margin-bottom: 36px; }
.stats--hero .stats__copy .btn { margin-top: 6px; }

@media (max-width: 1024px) {
  .stats--hero .stats__inner { grid-template-columns: 1fr; gap: 64px; padding: 88px 32px; }
  .stats--hero .stats__copy { order: -1; }
  .stats--hero .ring { width: 152px; height: 152px; font-size: 46px; }
}
@media (max-width: 560px) {
  .stats--hero .stats__grid { gap: 40px 24px; }
  .stats--hero .ring { width: 132px; height: 132px; font-size: 38px; }
  .stats--hero .label { font-size: 10px; }
}

/* ============================================================
   PAGEHERO — IMAGE VARIANT (industries page + reusable)
   Same blood-moon veil as the stats band for visual consistency.
   ============================================================ */
.pagehero--industries {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--c-ink);
  overflow: hidden;
  isolation: isolate;
  min-height: 520px;
  padding: 140px 0 120px;
}
.pagehero--industries .pagehero__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg,
      rgba(154,2,14,.82) 0%,
      rgba(120,6,14,.76) 32%,
      rgba(60,8,12,.72) 62%,
      rgba(8,4,4,.78) 100%),
    linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 30%, rgba(0,0,0,.55) 100%);
}
.pagehero--industries .wrap { position: relative; z-index: 2; }
.pagehero--industries .crumbs { color: rgba(245,239,227,.7); }
.pagehero--industries .crumbs a { color: rgba(245,239,227,.85); }
.pagehero--industries .crumbs .sep { color: rgba(245,239,227,.4); }
.pagehero--industries h1.display { color: var(--c-fg); max-width: 18ch; }
.pagehero--industries h1.display .it {
  display: block;
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.72);
  letter-spacing: -.01em;
}
.pagehero--industries .lede { color: rgba(245,239,227,.85); font-weight: 300; }
/* Eyebrow on the red veil — force cream so it isn't lost in the wash.
   This wins over inline style="color:var(--c-accent)" because of selector
   specificity (class + class beats inline-style? — no it doesn't, so use !important). */
.pagehero--industries .eyebrow { color: var(--c-fg) !important; }
.pagehero--industries .eyebrow::before { background: var(--c-fg); }

/* Sector / state / desk meta row */
.pagehero__meta {
  display: flex;
  gap: 0;
  margin-top: 56px;
  border-top: 1px solid rgba(245,239,227,.18);
  padding-top: 28px;
  max-width: 640px;
}
.pagehero__meta > div {
  flex: 1;
  display: flex; flex-direction: column; gap: 6px;
  padding-right: 28px;
  border-right: 1px solid rgba(245,239,227,.14);
}
.pagehero__meta > div:last-child { border-right: 0; }
.pagehero__meta .k {
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(245,239,227,.55);
}
.pagehero__meta .v {
  font-family: var(--ff-display);
  font-size: 32px;
  font-weight: 900;
  color: var(--c-fg);
  letter-spacing: -.01em;
  line-height: 1;
}

@media (max-width: 720px) {
  .pagehero--industries { padding: 110px 0 88px; }
  .pagehero__meta { flex-wrap: wrap; gap: 20px 0; }
  .pagehero__meta > div { flex: 1 1 50%; border-right: 0; }
  .pagehero__meta .v { font-size: 26px; }
}

/* ============================================================ */
/* Gallery */
.gallery-section {
  background: var(--c-ink);
  color: var(--c-fg);
  padding: 72px 0 110px;
}
.gallery__intro {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--c-fg-dim);
  max-width: 58ch;
  margin: -16px 0 36px;
}
.gallery__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 28px;
  margin-bottom: 40px;
}
.gallery__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.gallery__filter {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 10px 18px;
  border: 1px solid var(--c-line);
  background: transparent;
  color: var(--c-fg-dim);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.gallery__filter:hover {
  color: var(--c-fg);
  border-color: rgba(245,239,227,.35);
}
.gallery__filter.is-active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-fg);
}
.gallery__count {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
  margin: 0;
}
.gallery__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
.gallery__card {
  grid-column: span 4;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--c-ink-2);
  cursor: pointer;
  overflow: hidden;
  text-align: left;
  aspect-ratio: 4 / 3;
  transition: transform .28s ease, box-shadow .28s ease;
}
.gallery__card--wide { grid-column: span 8; aspect-ratio: 21 / 9; }
.gallery__card:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}
.gallery__card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,.35); }
.gallery__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: var(--img-filter);
  transition: transform .5s ease, filter .35s ease;
}
.gallery__card:hover img { transform: scale(1.04); filter: none; }
.gallery__card-cap {
  position: absolute;
  inset: auto 0 0 0;
  padding: 48px 18px 16px;
  background: linear-gradient(180deg, transparent, rgba(8,4,4,.88));
  pointer-events: none;
}
.gallery__card-cap strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--c-fg);
  margin-bottom: 4px;
}
.gallery__card-cap span {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(245,239,227,.72);
}
.gallery__card.is-hidden { display: none; }

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 990;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(8,4,4,.92);
  border: 0;
  margin: 0;
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
}
.gallery-lightbox:not([open]) { display: none; }
.gallery-lightbox::backdrop { background: rgba(0,0,0,.85); }
.gallery-lightbox__inner {
  position: relative;
  width: min(1120px, 100%);
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.gallery-lightbox__figure {
  margin: 0;
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-ink-2);
}
.gallery-lightbox__figure img {
  max-width: 100%;
  max-height: min(72vh, 720px);
  width: auto;
  height: auto;
  object-fit: contain;
}
.gallery-lightbox__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 20px;
  padding: 0 4px;
}
.gallery-lightbox__meta h2 {
  font-family: var(--font-heading);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 600;
  margin: 0;
  color: var(--c-fg);
}
.gallery-lightbox__meta p {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
  margin: 0;
}
.gallery-lightbox__close,
.gallery-lightbox__nav {
  position: absolute;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(245,239,227,.22);
  background: rgba(8,4,4,.65);
  color: var(--c-fg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.gallery-lightbox__close:hover,
.gallery-lightbox__nav:hover {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.gallery-lightbox__close { top: 0; right: 0; }
.gallery-lightbox__nav--prev { left: -56px; top: 50%; transform: translateY(-50%); }
.gallery-lightbox__nav--next { right: -56px; top: 50%; transform: translateY(-50%); }

@media (max-width: 960px) {
  .gallery__card,
  .gallery__card--wide { grid-column: span 6; aspect-ratio: 4 / 3; }
  .gallery-lightbox__nav--prev { left: 8px; }
  .gallery-lightbox__nav--next { right: 8px; }
}
@media (max-width: 560px) {
  .gallery__card,
  .gallery__card--wide { grid-column: span 12; }
  .gallery-section { padding: 48px 0 72px; }
}

/* ============================================================ */
/* BLOG — corridor news & insights */
.blog-section { padding: 72px 0 100px; background: var(--c-paper); }
.blog__intro {
  max-width: 62ch;
  font-size: 17px;
  line-height: 1.7;
  color: var(--c-fg-dim);
  margin: 0 0 40px;
}
.blog__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 28px;
  margin-bottom: 36px;
}
.blog__filters { display: flex; flex-wrap: wrap; gap: 8px; }
.blog__filter {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 10px 18px;
  border: 1px solid var(--c-line);
  background: transparent;
  color: var(--c-fg-dim);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.blog__filter:hover { color: var(--c-fg); border-color: rgba(245,239,227,.35); }
.blog__filter.is-active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: var(--c-fg);
}
.blog__count {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
  margin: 0;
}
.blog-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 0;
  margin-bottom: 48px;
  border: 1px solid var(--c-line);
  background: var(--c-paper-2);
  text-decoration: none;
  color: inherit;
  transition: border-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.blog-featured:hover {
  border-color: var(--c-accent);
  transform: translateY(-4px);
}
.blog-featured__media {
  position: relative;
  min-height: 280px;
  overflow: hidden;
}
.blog-featured__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .7s cubic-bezier(.22,1,.36,1);
}
.blog-featured:hover .blog-featured__media img { transform: scale(1.04); }
.blog-featured__body {
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.blog-featured__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
}
.blog-featured__cat { color: var(--c-accent-readable); }
.blog-featured__title {
  font-family: var(--ff-display);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0;
}
.blog-featured__excerpt {
  font-size: 16px;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
  max-width: 48ch;
}
.blog-featured__link {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
  margin-top: 8px;
}
.blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.blog-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--c-line);
  background: var(--c-paper-2);
  text-decoration: none;
  color: inherit;
  transition: border-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.blog-card:hover {
  border-color: var(--c-accent);
  transform: translateY(-4px);
}
.blog-card.is-hidden { display: none; }
.blog-card__thumb {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--c-bone);
}
.blog-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.blog-card:hover .blog-card__thumb img { transform: scale(1.05); }
.blog-card__body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.blog-card__meta {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
}
.blog-card__meta .blog-card__cat { color: var(--c-accent-readable); margin-right: 10px; }
.blog-card h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--c-fg);
  margin: 0;
}
.blog-card p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--c-mute);
  margin: 0;
  flex: 1;
}
.blog-card__more {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
}
.blog-post-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
  text-decoration: none;
  margin-bottom: 28px;
}
.blog-post-back:hover { color: var(--c-accent-readable); }
.blog-post-meta {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
  margin-bottom: 20px;
}
.blog-post-meta .sep { margin: 0 10px; opacity: .45; }
@media (max-width: 1000px) {
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured__media { min-height: 220px; }
  .blog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .blog__grid { grid-template-columns: 1fr; }
  .blog-featured__body { padding: 28px 24px; }
}


/* Special cargo explorer */
/* Special cargo explorer — Wyvern tokens */
.scargo-explorer { padding: 72px 0 88px; }
.scargo-explorer__head { margin-bottom: 40px; }
.scargo-explorer__head-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
  gap: 32px 48px;
  align-items: end;
  margin-top: 14px;
}
.scargo-explorer__head-grid .h2 { margin: 0; }
.scargo-explorer__head-grid .lede { margin: 0; color: var(--c-fg-dim); max-width: 52ch; }
.scargo-explorer__layout {
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  gap: 0;
  border: 1px solid var(--c-line);
  min-height: 520px;
  align-items: start;
}
@media (max-width: 960px) {
  .scargo-explorer__layout { grid-template-columns: 1fr; }
  .scargo-explorer__head-grid { grid-template-columns: 1fr; }
}

.scargo-menu {
  background: var(--c-paper);
  border-right: 1px solid var(--c-line);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: calc(var(--topbar-h) + var(--nav-h));
  align-self: start;
  z-index: 12;
  max-height: calc(100vh - var(--topbar-h) - var(--nav-h) - 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
body:has(.site-header.is-tier2-open) .scargo-menu {
  top: calc(var(--topbar-h) + var(--nav-h) + 44px);
  max-height: calc(100vh - var(--topbar-h) - var(--nav-h) - 44px - 20px);
}
@media (max-width: 960px) {
  .scargo-menu {
    position: static;
    max-height: none;
    overflow: visible;
    z-index: auto;
    border-right: none;
    border-bottom: 1px solid var(--c-line);
  }
}
.scargo-menu__label {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-mute);
  padding: 22px 24px 16px;
  margin: 0;
  display: flex;
  justify-content: space-between;
}
.scargo-menu__ct { color: var(--c-fg-faint); }
.scargo-menu__item {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 12px 16px;
  align-items: center;
  width: 100%;
  text-align: left;
  padding: 18px 24px;
  border: none;
  border-top: 1px solid var(--c-line);
  background: transparent;
  cursor: pointer;
  position: relative;
  font: inherit;
  color: inherit;
}
.scargo-menu__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--c-accent);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .25s ease;
}
.scargo-menu__item:hover { background: rgba(255,255,255,.03); }
.scargo-menu__item.is-active {
  background: var(--c-paper-2);
}
.scargo-menu__item.is-active::before { transform: scaleY(1); }
.scargo-menu__num {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.75rem;
  letter-spacing: -.04em;
  color: var(--c-fg-faint);
  line-height: 1;
}
.scargo-menu__item.is-active .scargo-menu__num,
.scargo-menu__item:hover .scargo-menu__num { color: var(--c-accent-readable); }
.scargo-menu__title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -.01em;
  color: var(--c-fg-dim);
  display: block;
}
.scargo-menu__sub {
  font-family: var(--ff-mono);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-mute);
  margin-top: 4px;
  display: block;
}
.scargo-menu__item.is-active .scargo-menu__title,
.scargo-menu__item:hover .scargo-menu__title { color: var(--c-fg); }
.scargo-menu__arrow {
  opacity: 0;
  transform: translateX(-6px);
  transition: .2s;
  color: var(--c-accent-readable);
}
.scargo-menu__item.is-active .scargo-menu__arrow {
  opacity: 1;
  transform: translateX(0);
}
.scargo-menu__foot {
  margin-top: auto;
  padding: 20px 24px;
  border-top: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--c-mute);
  line-height: 1.6;
}
.scargo-menu__foot b { color: var(--c-fg-dim); font-weight: 600; }

.scargo-detail {
  background: var(--c-paper-2);
  position: relative;
  min-width: 0;
}
.scargo-panel { display: none; animation: scargoFade .4s ease; }
.scargo-panel.is-active { display: block; }
@keyframes scargoFade {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.scargo-ph {
  position: relative;
  height: min(42vw, 320px);
  min-height: 200px;
  overflow: hidden;
  border-bottom: 1px solid var(--c-line);
}
.scargo-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.scargo-ph__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,8,10,.92) 0%, rgba(8,8,10,.35) 45%, transparent 70%);
  pointer-events: none;
}
.scargo-ph__cap {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  z-index: 2;
}
.scargo-ph__label {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
  display: block;
  margin-bottom: 8px;
}
.scargo-ph__title {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(1.75rem, 2.5vw + .5rem, 2.75rem);
  letter-spacing: -.03em;
  line-height: .95;
  color: var(--c-fg);
  margin: 0;
}
.scargo-ph__title .it {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 400;
  color: var(--c-fg-dim);
}

.scargo-panel__body { padding: 36px 32px 28px; }
@media (max-width: 640px) { .scargo-panel__body { padding: 28px 20px 24px; } }
.scargo-lede {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--c-fg-dim);
  max-width: 62ch;
  margin: 0 0 36px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--c-line);
  position: relative;
}
.scargo-lede::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 2px;
  background: var(--c-accent);
}

.scargo-slabel {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-mute);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--c-line);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.scargo-slabel .ix { color: var(--c-fg-faint); }

.scargo-spec {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 0;
  border: 1px solid var(--c-line);
  margin-bottom: 36px;
  background: var(--c-paper);
}
@media (max-width: 900px) {
  .scargo-spec { grid-template-columns: 1fr; }
}
.scargo-spec__art {
  position: relative;
  background: var(--c-paper-2);
  min-height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--c-line);
  overflow: hidden;
}
@media (max-width: 900px) {
  .scargo-spec__art {
    border-right: none;
    border-bottom: 1px solid var(--c-line);
    min-height: 200px;
  }
}
.scargo-spec__art svg {
  width: 82%;
  max-width: 380px;
  height: auto;
  opacity: .92;
}
.scargo-spec__art-label {
  position: absolute;
  left: 16px;
  bottom: 12px;
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-mute);
}
.scargo-spec__art-tag {
  position: absolute;
  top: 12px;
  right: 16px;
  font-family: var(--ff-mono);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
  border: 1px solid rgba(212, 5, 17, .35);
  padding: 3px 8px;
  background: rgba(212, 5, 17, .08);
}
.scargo-spec__art-tape {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: repeating-linear-gradient(
    0deg,
    var(--c-accent) 0 8px,
    var(--c-paper) 8px 16px
  );
  opacity: .75;
}
.scargo-spec__rows {
  display: flex;
  flex-direction: column;
  background: var(--c-paper);
}
.scargo-spec__row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--c-line);
  font-size: 14px;
}
.scargo-spec__row:last-child { border-bottom: none; }
.scargo-spec__row .k {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-mute);
}
.scargo-spec__row .v {
  color: var(--c-fg);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  text-align: right;
}
.scargo-spec__row .scargo-v-serif {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 400;
  font-size: 1.1rem;
}
.scargo-spec__row .scargo-v-accent {
  color: var(--c-accent-readable);
  font-weight: 700;
  font-style: normal;
}

.scargo-cargo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--c-line);
  margin-bottom: 36px;
}
@media (max-width: 700px) { .scargo-cargo { grid-template-columns: 1fr; } }
.scargo-cargo__item {
  padding: 16px 18px;
  border-bottom: 1px solid var(--c-line);
  border-right: 1px solid var(--c-line);
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px 14px;
  align-items: start;
}
.scargo-cargo__item:nth-child(2n) { border-right: none; }
@media (max-width: 700px) {
  .scargo-cargo__item { border-right: none; }
}
.scargo-cargo__num {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.25rem;
  color: var(--c-fg-faint);
}
.scargo-cargo__name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .95rem;
  color: var(--c-fg);
  grid-column: 2;
}
.scargo-cargo__meta {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
[data-page="special-cargo"] .chip {
  font-family: var(--ff-mono);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 8px;
  border: 1px solid var(--c-line);
  color: var(--c-fg-dim);
}
[data-page="special-cargo"] .chip-r {
  border-color: rgba(199,62,44,.4);
  color: #e8a090;
  background: rgba(199,62,44,.08);
}
[data-page="special-cargo"] .chip-y {
  border-color: rgba(232,184,58,.35);
  color: #e8d4a0;
  background: rgba(232,184,58,.08);
}
[data-page="special-cargo"] .chip-g {
  border-color: rgba(122,138,78,.4);
  color: #b8c88a;
  background: rgba(122,138,78,.08);
}
[data-page="special-cargo"] .chip-m {
  border-color: var(--c-line);
  color: var(--c-fg-dim);
}

.scargo-escort {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 36px;
}
@media (max-width: 800px) { .scargo-escort { grid-template-columns: 1fr; } }
.scargo-escort__card,
.scargo-escort__cell {
  border: 1px solid var(--c-line);
  padding: 18px 16px;
  background: var(--c-paper);
}
.scargo-escort__cell .ix {
  font-family: var(--ff-mono);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
  margin-bottom: 6px;
}
.scargo-escort__cell .w {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--c-fg);
  margin-bottom: 6px;
}
.scargo-escort__cell .t {
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-fg-dim);
}
.scargo-escort__tag {
  font-family: var(--ff-mono);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
  margin-bottom: 8px;
  display: block;
}
.scargo-escort__title {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1rem;
  margin: 0 0 6px;
  color: var(--c-fg);
}
.scargo-escort__card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--c-fg-dim);
}

.scargo-req {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 28px;
}
@media (max-width: 800px) { .scargo-req { grid-template-columns: 1fr; } }
.scargo-req__box {
  border: 1px solid var(--c-line);
  background: var(--c-paper);
}
.scargo-req__head {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-mute);
  padding: 12px 16px;
  border-bottom: 1px solid var(--c-line);
  display: flex;
  justify-content: space-between;
}
.scargo-req__list { padding: 4px 0; }
.scargo-req__item {
  padding: 10px 16px;
  font-size: 13px;
  color: var(--c-fg-dim);
  border-top: 1px solid var(--c-line);
}
.scargo-req__item:first-child { border-top: none; }
.scargo-req__item::before {
  content: "·";
  color: var(--c-accent-readable);
  margin-right: 8px;
}

.scargo-routes {
  border: 1px solid var(--c-line);
  margin-bottom: 28px;
}
.scargo-routes__row {
  display: grid;
  grid-template-columns: 56px 1px minmax(0, 1fr);
  gap: 16px;
  padding: 16px 18px;
  border-top: 1px solid var(--c-line);
  align-items: start;
}
.scargo-routes__row:first-child { border-top: none; }
.scargo-routes__code {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--c-accent-readable);
  line-height: 1;
}
.scargo-routes__code small {
  display: block;
  font-family: var(--ff-mono);
  font-size: 8px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-mute);
  margin-top: 4px;
}
.scargo-routes__div { width: 1px; background: var(--c-line); align-self: stretch; min-height: 40px; }
.scargo-routes__name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .95rem;
  color: var(--c-fg);
  margin-bottom: 6px;
}
.scargo-routes__path {
  font-size: 12px;
  line-height: 1.5;
  color: var(--c-fg-dim);
}

.scargo-note {
  border-left: 3px solid var(--c-accent);
  padding: 16px 20px;
  background: rgba(199,62,44,.06);
  margin-bottom: 28px;
}
.scargo-note__tag {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-accent-readable);
  display: block;
  margin-bottom: 8px;
}
.scargo-note p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--c-fg-dim);
}
.scargo-note strong { color: var(--c-fg); }

.scargo-panel__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 32px 32px;
  border-top: 1px solid var(--c-line);
  margin-top: 8px;
  padding-top: 24px;
}
@media (max-width: 640px) { .scargo-panel__cta { padding: 20px; } }

.scargo-process { padding: 80px 0 96px; }
.scargo-process__head { margin-bottom: 48px; }
.scargo-process__head-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
  gap: 32px 48px;
  align-items: end;
  margin-top: 14px;
}
.scargo-process__head-grid .lede { color: var(--c-fg-dim); margin: 0; }
@media (max-width: 900px) {
  .scargo-process__head-grid { grid-template-columns: 1fr; }
}
.scargo-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 32px;
}
@media (max-width: 900px) { .scargo-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .scargo-steps { grid-template-columns: 1fr; } }
.scargo-step {
  border-top: 1px solid var(--c-line);
  padding-top: 20px;
}
.scargo-step__num {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 2rem;
  color: var(--c-accent-readable);
  display: block;
  margin-bottom: 10px;
}
.scargo-step__title {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.1rem;
  margin: 0 0 8px;
  color: var(--c-fg);
}
.scargo-step p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--c-fg-dim);
}


/* Agriculture freight explorer */
/* === v2 — namespaced .agx, built from New folder/agriculture.html === */
.agx{
  /* ---- Brand colours (template-aligned) ---- */
  --c-ink:#050505;          /* near-black — topbar, darkest bands */
  --c-paper:#0A0A09;        /* page base — warm near-black */
  --c-paper-2:#14140F;      /* elevated surfaces */
  --c-bone:#1C1B16;         /* warmer card surface */
  --c-accent:#D40511; --c-accent-2:#A00410; --c-accent-soft:#E84B54;
  --c-gold:#FFCC00;
  --c-fg:#F5EFE3;            /* warm parchment — primary text */
  --c-fg-dim:rgba(245,239,227,.78);
  --c-fg-faint:rgba(245,239,227,.58);
  --c-ink-text:#0A0A09;
  --c-card:var(--c-paper-2); --c-card-2:var(--c-bone);
  --c-line:rgba(245,239,227,.10); --c-line-soft:rgba(245,239,227,.05);
  --c-in:#5DA9E9; --c-out:#5FC87A; --c-dom:#FFCC00;
  /* ---------- Typography system (2 families) ---------- */
  --font-heading:"Saira Condensed","Arial Narrow",system-ui,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* mono usages consolidated into the body font to keep a 2-family system;
     data/route text gets a technical feel via tabular figures, not a 3rd font */
  --font-mono:var(--font-body);

  --weight-body:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-button:700;
  --weight-heading:800;
  --weight-black:900;

  --tracking-tight:-.01em;
  --tracking-heading:.01em;
  --tracking-label:.14em;
  --tracking-wide:.2em;

  --line-heading:.96;
  --line-tight:1.08;
  --line-body:1.65;

  --fs-hero:clamp(2.15rem, 4.5vw + 1.2rem, 4.6rem);
  --fs-h2:clamp(1.9rem, 3vw + .5rem, 3.2rem);
  --fs-h3:clamp(1.05rem, .4vw + .95rem, 1.2rem);
  --fs-lead:clamp(1rem, .5vw + .9rem, 1.12rem);
  --fs-body:.9375rem;
  --fs-small:.8125rem;
  --fs-label:.6875rem;
  --fs-micro:.625rem;

  --content-w:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
}
.agx,.agx *{box-sizing:border-box;margin:0;padding:0;}
.agx{
  font-family:var(--font-body);color:var(--c-fg);font-size:var(--fs-body);font-weight:var(--weight-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:var(--c-paper);
  background-image:
    radial-gradient(ellipse 65% 40% at 50% -2%, rgba(212,5,17,.07), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 6%, rgba(20,18,15,.55), transparent 55%),
    linear-gradient(180deg,#0d0c0b 0%, var(--c-paper) 32%);
  background-attachment:fixed;
  position:relative;
}
/* fine route-grid + grain atmosphere */
.agx::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(245,239,227,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,239,227,.022) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 35%, transparent 80%);
          mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 35%, transparent 80%);
}
.agx::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(/wp-content/themes/wyvern-site/assets/%23n)' opacity='.4'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.agx>*{position:relative;z-index:1;}
.agx img{max-width:100%;display:block;}
.agx a{color:inherit;text-decoration:none;}
.agx :focus-visible{outline:2px solid var(--c-accent-soft);outline-offset:3px;border-radius:3px;}
.agx-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ============ HERO ============ */
.agx-hero__bar-top{height:14px;background:var(--c-ink);position:relative;overflow:hidden;}
.agx-hero__bar-top::after{content:"";position:absolute;right:0;top:0;height:100%;width:180px;background:var(--c-accent);transform:translateX(100%);animation:agxBarSlide 1s var(--ease) .15s forwards;}
@keyframes agxBarSlide{to{transform:translateX(0);}}
.agx-hero__media{position:relative;width:100%;height:460px;background:var(--c-ink);overflow:hidden;}
.agx-hero__media img{width:100%;height:100%;object-fit:cover;}
/* atmospheric golden-hour placeholder */
.agx-hero__ph{width:100%;height:100%;position:relative;
  background:
    radial-gradient(120% 90% at 78% 12%, rgba(255,196,84,.5) 0%, rgba(212,140,40,.18) 30%, transparent 60%),
    radial-gradient(90% 120% at 8% 100%, rgba(212,5,17,.45) 0%, transparent 55%),
    linear-gradient(125deg,#1a1c10 0%,#3a3417 38%,#5a4a22 62%,#16213a 100%);
}
.agx-hero__ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(8deg,rgba(0,0,0,.16) 0 2px,transparent 2px 11px);opacity:.45;}
/* drifting corridor lines */
.agx-hero__corridor{position:absolute;inset:0;z-index:1;opacity:.5;}
.agx-hero__corridor path{fill:none;stroke:rgba(255,255,255,.32);stroke-width:1.2;stroke-dasharray:6 9;animation:agxDash 14s linear infinite;}
.agx-hero__corridor circle{fill:var(--c-gold);}
@keyframes agxDash{to{stroke-dashoffset:-300;}}
.agx-hero__ph-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42);z-index:4;white-space:nowrap;}
.agx-hero__coord{position:absolute;top:18px;left:22px;z-index:4;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.55);}
.agx-hero__coord b{color:var(--c-gold);font-weight:500;}
.agx-hero__veil{position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,rgba(154,2,14,.82) 0%,rgba(120,6,14,.74) 32%,rgba(60,8,12,.68) 62%,rgba(8,4,4,.74) 100%),linear-gradient(180deg,rgba(0,0,0,.4) 0%,transparent 28%,rgba(0,0,0,.65) 100%);pointer-events:none;}
.agx-hero__text{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.agx-hero__eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-fg);margin-bottom:16px;text-shadow:0 2px 12px rgba(0,0,0,.6);opacity:0;animation:agxRise .7s var(--ease) .25s forwards;}
.agx-hero__eyebrow::before,.agx-hero__eyebrow::after{content:"";width:30px;height:1px;background:var(--c-accent);}
.agx-hero__title{font-family:var(--font-heading);font-size:var(--fs-hero);font-weight:var(--weight-black);line-height:var(--line-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;text-shadow:0 4px 28px rgba(0,0,0,.55);max-width:16ch;opacity:0;animation:agxRise .8s var(--ease) .4s forwards;}
.agx-hero__rule{width:0;height:3px;margin-top:22px;background:linear-gradient(90deg,var(--c-accent),var(--c-gold));animation:agxRuleGrow .9s var(--ease) .85s forwards;}
@keyframes agxRuleGrow{to{width:120px;}}
@keyframes agxRise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}

/* ============ CROP TAB BAR ============ */
.agx-cropbar{display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(90deg,var(--c-ink) 0%,var(--c-paper-2) 55%,rgba(212,5,17,.45) 100%);position:relative;z-index:1;box-shadow:0 14px 40px -18px rgba(0,0,0,.8);border-bottom:1px solid var(--c-line);}
.agx-cropbar__tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px 14px;text-align:center;cursor:pointer;border-right:1px solid rgba(255,255,255,.12);transition:background .25s var(--ease);user-select:none;background:none;border-top:none;border-bottom:none;color:inherit;font:inherit;width:100%;}
.agx-cropbar__tab:last-child{border-right:none;}
.agx-cropbar__tab:hover{background:rgba(255,255,255,.08);}
.agx-cropbar__tab.agx-is-active{background:rgba(255,255,255,.13);}
.agx-cropbar__tab.agx-is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--c-fg);border-radius:3px 3px 0 0;animation:agxTabInk .35s var(--ease);}
@keyframes agxTabInk{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.agx-cropbar__ico{width:26px;height:26px;stroke:var(--c-fg);fill:none;stroke-width:1.6;opacity:.85;transition:transform .3s var(--ease),opacity .25s;}
.agx-cropbar__tab.agx-is-active .agx-cropbar__ico{opacity:1;transform:translateY(-2px) scale(1.06);}
.agx-cropbar__label{font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--weight-button);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-fg);line-height:1.2;}

/* ============ CROP DETAIL ============ */
.agx-content{max-width:var(--content-w);margin:0 auto;padding:64px 32px 40px;}
.agx-crop{display:none;}
.agx-crop.agx-is-active{display:block;}
.agx-crop.agx-is-active .agx-crop__head{animation:agxFade .5s var(--ease) both;}
.agx-crop.agx-is-active .agx-dir{animation:agxFade .55s var(--ease) both;}
.agx-crop.agx-is-active .agx-dir:nth-child(2){animation-delay:.06s;}
.agx-crop.agx-is-active .agx-dir:nth-child(3){animation-delay:.14s;}
.agx-crop.agx-is-active .agx-dir:nth-child(4){animation-delay:.22s;}
@keyframes agxFade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

.agx-crop__head{margin-bottom:38px;}
.agx-crop__title{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-heading);text-transform:uppercase;margin-bottom:18px;}
.agx-crop__title .agx-it{color:var(--c-accent);}
.agx-crop__lead{font-size:var(--fs-lead);font-weight:var(--weight-body);color:var(--c-fg-dim);line-height:1.72;max-width:62ch;}
.agx-crop__season{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-size:12px;font-weight:600;color:#FFD84D;background:rgba(255,204,0,.08);border:1px solid rgba(255,204,0,.24);padding:8px 15px;border-radius:5px;}
.agx-crop__season svg{width:14px;height:14px;stroke:#FFD84D;fill:none;stroke-width:1.8;}

/* direction block */
.agx-dir{margin-bottom:26px;border:1px solid var(--c-line);border-top:3px solid transparent;border-radius:0;overflow:hidden;background:var(--c-paper-2);box-shadow:0 10px 30px -22px rgba(0,0,0,.9);transition:border-color .3s,box-shadow .3s,transform .3s var(--ease);}
.agx-dir:hover{border-color:var(--c-line);box-shadow:0 18px 44px -24px rgba(0,0,0,1);}
.agx-dir--in{border-top-color:var(--c-in);}
.agx-dir--out{border-top-color:var(--c-out);}
.agx-dir--dom{border-top-color:var(--c-dom);}
.agx-dir__head{display:flex;align-items:center;gap:14px;padding:17px 22px;border-bottom:1px solid var(--c-line);position:relative;}
.agx-dir__head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;}
.agx-dir--in .agx-dir__head::before{background:var(--c-in);}
.agx-dir--out .agx-dir__head::before{background:var(--c-out);}
.agx-dir--dom .agx-dir__head::before{background:var(--c-dom);}
.agx-dir__icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.agx-dir__icon svg{width:18px;height:18px;fill:none;}
.agx-dir--in .agx-dir__icon{background:rgba(93,169,233,.14);border:1px solid rgba(93,169,233,.34);}
.agx-dir--in .agx-dir__icon svg{stroke:var(--c-in);}
.agx-dir--out .agx-dir__icon{background:rgba(95,200,122,.14);border:1px solid rgba(95,200,122,.34);}
.agx-dir--out .agx-dir__icon svg{stroke:var(--c-out);}
.agx-dir--dom .agx-dir__icon{background:rgba(255,204,0,.12);border:1px solid rgba(255,204,0,.32);}
.agx-dir--dom .agx-dir__icon svg{stroke:var(--c-dom);}
.agx-dir__title{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;line-height:var(--line-tight);}
.agx-dir--in .agx-dir__title{color:var(--c-in);}
.agx-dir--out .agx-dir__title{color:var(--c-out);}
.agx-dir--dom .agx-dir__title{color:var(--c-dom);}
.agx-dir__sub{font-size:11px;color:var(--c-fg-faint);margin-top:4px;}

.agx-mhead{display:grid;grid-template-columns:1.4fr 1.8fr 1fr;background:rgba(245,239,227,.03);border-bottom:1px solid var(--c-line);}
.agx-mhead span{padding:9px 18px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-fg-faint);border-right:1px solid var(--c-line-soft);}
.agx-mhead span:last-child{border-right:none;}
.agx-mrow{display:grid;grid-template-columns:1.4fr 1.8fr 1fr;border-bottom:1px solid var(--c-line-soft);position:relative;transition:background .2s;}
.agx-mrow:last-child{border-bottom:none;}
.agx-mrow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--c-accent);transition:width .2s var(--ease);}
.agx-mrow:hover{background:rgba(245,239,227,.03);}
.agx-mrow:hover::before{width:3px;}
.agx-mcell{padding:14px 18px;border-right:1px solid var(--c-line-soft);display:flex;flex-direction:column;justify-content:center;}
.agx-mcell:last-child{border-right:none;}
.agx-mcell .agx-ck{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-faint);margin-bottom:4px;}
.agx-cargo{font-size:14px;font-weight:600;color:var(--c-fg);line-height:1.3;}
.agx-route{font-size:12px;color:var(--c-fg-dim);line-height:1.45;font-family:var(--font-mono);}
.agx-tchip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;padding:3px 9px;border-radius:4px;background:rgba(212,5,17,.16);border:1px solid rgba(212,5,17,.36);color:var(--c-accent-soft);line-height:1.3;width:fit-content;}
.agx-tpay{font-size:10px;color:var(--c-fg-faint);margin-top:5px;font-family:var(--font-mono);}

.agx-seclabel{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--c-fg-faint);margin:36px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--c-line);display:flex;align-items:center;gap:10px;}
.agx-seclabel::before{content:"";width:6px;height:6px;background:var(--c-accent);border-radius:1px;transform:rotate(45deg);}
.agx-tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.agx-tcard{background:var(--c-bone);border:1px solid var(--c-line);border-top:3px solid var(--c-accent);border-radius:0;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;}
.agx-tcard:hover{transform:translateY(-4px);border-color:rgba(212,5,17,.4);box-shadow:0 20px 40px -26px rgba(0,0,0,1);}
.agx-tcard__img{height:126px;border-bottom:1px solid var(--c-line);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;position:relative;overflow:hidden;
  background:radial-gradient(120% 100% at 50% 0%, rgba(212,5,17,.08), transparent 60%), linear-gradient(160deg,var(--c-paper-2),var(--c-bone));}
.agx-tcard__img::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 24px);}
.agx-tcard__img svg{width:38px;height:38px;stroke:rgba(255,255,255,.4);fill:none;position:relative;transition:stroke .3s;}
.agx-tcard:hover .agx-tcard__img svg{stroke:var(--c-accent);}
.agx-tcard__img span{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-fg-faint);position:relative;}
.agx-tcard__body{padding:15px 17px;}
.agx-tcard__name{font-family:var(--font-heading);font-size:var(--fs-h3);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);margin-bottom:9px;}
.agx-tcard__spec{display:flex;justify-content:space-between;font-size:11px;padding:5px 0;border-bottom:1px solid var(--c-line-soft);}
.agx-tcard__spec:last-child{border-bottom:none;}
.agx-tcard__spec .agx-k{color:var(--c-fg-faint);text-transform:uppercase;letter-spacing:.06em;}
.agx-tcard__spec .agx-v{color:var(--c-fg);font-weight:600;}
.agx-tcard__spec .agx-v.agx-accent{color:var(--c-accent-soft);font-family:var(--font-mono);}

.agx-borders{display:flex;flex-wrap:wrap;gap:9px;}
.agx-bpill{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.04em;padding:7px 13px;border-radius:5px;background:var(--c-card);border:1px solid var(--c-line);color:var(--c-fg-dim);transition:border-color .25s,color .25s;}
.agx-bpill:hover{border-color:rgba(212,5,17,.45);color:var(--c-fg);}
.agx-bpill .agx-bd{width:6px;height:6px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 3px rgba(212,5,17,.2);}

.agx-note{margin-top:32px;padding:17px 21px;background:linear-gradient(90deg,rgba(255,204,0,.08),rgba(255,204,0,.03));border:1px solid rgba(255,204,0,.2);border-left:3px solid var(--c-gold);border-radius:0 6px 6px 0;font-size:13px;color:var(--c-fg-dim);line-height:1.68;}
.agx-note strong{color:var(--c-fg);}

/* ============ ACCREDITATIONS ============ */
.agx-accred{background:var(--c-paper-2);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);padding:64px 24px 70px;margin-top:60px;}
.agx-accred__inner{max-width:var(--content-w);margin:0 auto;text-align:center;}
.agx-accred__title{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0 0 12px;}
.agx-accred__title-main{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:var(--weight-black);line-height:var(--line-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);}
.agx-accred__title-tag{font-family:var(--font-body);font-size:var(--fs-small);font-weight:var(--weight-semibold);letter-spacing:.2em;text-transform:uppercase;color:var(--c-accent);}
.agx-accred__sub{font-size:var(--fs-small);color:var(--c-fg-faint);letter-spacing:.03em;line-height:1.55;max-width:52ch;margin:0 auto 44px;}
.agx-accred__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:center;}
.agx-accred__item{display:flex;align-items:center;justify-content:center;padding:14px 6px;}
.agx-accred__item svg{width:100%;max-width:150px;height:66px;color:var(--c-fg-faint);opacity:.5;transition:opacity .28s var(--ease),color .28s var(--ease),transform .28s var(--ease);}
.agx-accred__item:hover svg{opacity:1;color:var(--c-fg);transform:translateY(-3px);}
@media(max-width:860px){.agx-accred__grid{grid-template-columns:repeat(3,1fr);gap:14px;}.agx-accred__item:nth-child(4){grid-column:1/2;}.agx-accred__item:nth-child(5){grid-column:3/4;}}
@media(max-width:480px){.agx-accred{padding:48px 20px 52px;}.agx-accred__grid{grid-template-columns:repeat(2,1fr);}.agx-accred__item:nth-child(5){grid-column:1/3;}.agx-accred__item svg{height:58px;}}

/* ============ CONTACT ============ */
.agx-contact{background:linear-gradient(115deg,#9A020E 0%,#78060E 32%,#3C080C 62%,#080404 100%);padding:76px 24px 92px;margin-top:52px;position:relative;overflow:hidden;}
.agx-contact::before{content:"";position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1' opacity='.08'%3E%3Cpath d='M-20 80 Q200 20 400 120 T640 80'/%3E%3Cpath d='M-20 200 Q220 140 420 240 T660 200'/%3E%3Cpath d='M-20 320 Q200 260 400 360 T640 320'/%3E%3C/g%3E%3C/svg%3E");background-size:600px 400px;}
.agx-contact__inner{max-width:1180px;margin:0 auto;position:relative;}
.agx-contact__title{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);text-align:center;max-width:22ch;margin:0 auto 48px;}
.agx-cform{max-width:1080px;margin:0 auto;}
.agx-frow{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.agx-frow--single{grid-template-columns:1fr;}
.agx-field{position:relative;}
.agx-field input,.agx-field select{width:100%;font-family:var(--font-body);font-size:1rem;font-weight:var(--weight-medium);color:var(--c-ink-text);background:rgba(255,255,255,.96);border:1px solid transparent;border-radius:9px;padding:18px 22px;outline:none;appearance:none;transition:box-shadow .2s,background .2s;}
.agx-field input::placeholder{color:#5A6B7B;}
.agx-field select{color:#5A6B7B;cursor:pointer;}
.agx-field select:valid{color:var(--c-ink-text);}
.agx-field--select::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid #9AA7B2;border-bottom:2px solid #9AA7B2;transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.agx-field input:focus,.agx-field select:focus{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.45),0 8px 20px -12px rgba(0,0,0,.5);}
.agx-flabel{display:block;font-size:var(--fs-small);font-weight:var(--weight-semibold);line-height:1.5;color:var(--c-fg);margin:10px 0 12px;}
.agx-flabel .agx-req{color:#FF8A8A;}
.agx-bnext{margin-top:28px;display:inline-flex;align-items:center;gap:11px;font-family:var(--font-body);font-size:var(--fs-small);font-weight:var(--weight-button);letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent);background:#fff;border:none;border-radius:40px;padding:16px 42px;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s;}
.agx-bnext svg{width:16px;height:16px;stroke:var(--c-accent);fill:none;stroke-width:2.4;transition:transform .2s var(--ease);}
.agx-bnext:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.3);}
.agx-bnext:hover svg{transform:translateX(4px);}

/* technical/data text — tabular figures replace the mono font */
.agx-route,.agx-tpay,.agx-hero__coord,.agx-hero__ph-label,.agx-tcard__spec .agx-v.agx-accent,.agx-mhead span,.agx-mcell .agx-ck,.agx-seclabel,.agx-tcard__img span{font-variant-numeric:tabular-nums;}
.agx-route,.agx-tpay{letter-spacing:.015em;}

@media(max-width:900px){
  .agx-hero__media{height:360px;}
  .agx-tcards{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .agx-frow{grid-template-columns:1fr;}
  .agx-contact{padding:58px 18px 66px;}
}
@media(max-width:640px){
  /* horizontal scroll tabs — no orphan row */
  .agx-cropbar{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .agx-cropbar::-webkit-scrollbar{display:none;}
  .agx-cropbar__tab{flex:0 0 38%;scroll-snap-align:start;}
  .agx-hero__media{height:300px;}
  .agx-content{padding:48px 18px 32px;}
  .agx-mhead{display:none;}
  .agx-mrow{grid-template-columns:1fr;}
  .agx-mcell{border-right:none;}
  .agx-mcell .agx-ck{display:block;}
}
@media(min-width:641px){.agx-mcell .agx-ck{display:none;}}
@media(prefers-reduced-motion:reduce){
  .agx *,.agx *::before,.agx *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* ============================================================ */
/* Why-choose-us */
/* ============================================================
   WHY CHOOSE US — Light cream panel inversion
   Light surface against the dark page. Red display headline,
   filled red icon tiles, navy section titles, gray body.
   ============================================================ */
.why--light {
  background: var(--c-cream);
  color: var(--c-text-on-cream);
  padding: 110px 0 120px;
  position: relative;
}
.why--light .wrap { max-width: 1320px; }

.why__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 72px;
}
.why__eyebrow {
  display: inline-block;
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .04em;
  color: var(--c-accent);
  margin-bottom: 18px;
}
.why__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--c-text-on-cream);
  margin: 0;
}
.why__lede {
  font-size: 16px;
  line-height: 1.7;
  color: var(--c-text-on-cream-mute);
  font-weight: 400;
  margin: 0;
  max-width: 54ch;
}

.why__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px 80px;
}
.why__item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 28px;
  align-items: flex-start;
  position: relative;
}
.why__icon {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--c-accent);
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.why__icon svg { width: 100%; height: 100%; }
.why__item:hover .why__icon { transform: rotate(-6deg) scale(1.08); }

.why__text h3 {
  font-family: var(--ff-display);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-text-on-cream);
  margin: 0 0 12px;
  line-height: 1.15;
}
.why__text p {
  color: var(--c-text-on-cream-mute);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  margin: 0;
  max-width: 48ch;
}

@media (max-width: 1000px) {
  .why__intro { grid-template-columns: 1fr; gap: 24px; }
  .why__grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .why--light { padding: 80px 0 88px; }
  .why__item { grid-template-columns: 44px minmax(0, 1fr); gap: 20px; }
  .why__icon { width: 44px; height: 44px; }
}

/* ============================================================ */
/* Industries */
/* ============================================================
   INDUSTRIES — Sector grid with thin-line iconography
   Centered head, icon-led cards, bottom CTA. Reference design
   adapted to the dark Wyvern palette.
   ============================================================ */
.industries { background: var(--c-ink); color: var(--c-fg); padding: 120px 0; }
.industries .industries__head {
  text-align: center;
  margin-bottom: 80px;
  display: block;
}
.industries .industries__head .eyebrow {
  display: inline-block;
  color: var(--c-accent-readable);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.industries .industries__head h2 {
  font-family: var(--ff-display);
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.015em;
  max-width: none;
  color: var(--c-fg);
  margin: 0 auto 22px;
}
.industries .industries__head h2 .it {
  font-style: normal;
  font-weight: 300;
  color: rgba(245,239,227,.82);
  display: block;
}
.industries .industries__head .lede {
  max-width: 64ch;
  margin: 0 auto;
  color: var(--c-fg-dim);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
}

.industries__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: transparent;
  border: 0;
}
/* Industry icon sprite — stroke/fill when inlined without external stylesheet */
.ind-sprite .i,
.ind-icon .i { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: square; stroke-linejoin: miter; }
.ind-sprite .f,
.ind-icon .f { fill: currentColor; stroke: none; opacity: .12; }
.ind-sprite .d,
.ind-icon .d { fill: currentColor; stroke: none; opacity: .35; }

.industry {
  background: transparent;
  padding: 56px 40px;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 20px;
  cursor: pointer;
  position: relative;
  transition: background .35s ease, transform .4s cubic-bezier(.22,1,.36,1);
  text-decoration: none;
  color: inherit;
}
.industry::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center top, rgba(212,5,17,.08), transparent 68%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.industry:hover { transform: translateY(-3px); }
.industry:hover::after { opacity: 1; }

.industry__icon {
  width: 56px; height: 56px;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: rgba(245, 239, 227, .9);
  transition: color .4s ease, transform .45s cubic-bezier(.22,1,.36,1), filter .4s ease;
  margin: 0;
}
.industry__icon .ind-icon {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}
.industry:hover .industry__icon {
  color: #e8a0a4;
  transform: translateY(-2px);
  filter: drop-shadow(0 4px 14px rgba(212, 5, 17, .16));
}
@media (hover: hover) {
  .industry:hover .industry__icon { color: #ef6b73; }
}

.industry h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--c-fg);
  letter-spacing: -.005em;
  margin: 0;
}
.industry p {
  color: var(--c-fg-dim);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  margin: 0;
  max-width: 32ch;
}

/* Bottom CTA — italic question + button */
.industries__cta {
  margin-top: 64px;
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 28px;
}
.industries__cta-q {
  font-family: var(--ff-display);
  font-size: 22px;
  font-style: italic;
  font-weight: 300;
  color: var(--c-fg-dim);
  letter-spacing: -.005em;
}

/* Dedicated industries page — denser 4-col grid for the full set */
.industries--page .industries__grid--4 { grid-template-columns: repeat(4, 1fr); }
.industries--page .industry { padding: 44px 28px; }
.industries--page .industry h3 { font-size: 20px; }
.industries--page .industry p { font-size: 13px; line-height: 1.65; }
.industries--page .industry__icon { width: 50px; height: 50px; }
.industries--page .industry { gap: 16px; }
.industries--page .industry h3 { margin-top: 2px; }

@media (max-width: 1100px) {
  .industries--page .industries__grid--4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .industries__grid { grid-template-columns: 1fr 1fr; }
  .industries--page .industries__grid--4 { grid-template-columns: 1fr 1fr; }
  .industries { padding: 88px 0; }
}
@media (max-width: 600px) {
  .industries__grid,
  .industries--page .industries__grid--4 { grid-template-columns: 1fr; }
  .industry { padding: 40px 24px; gap: 18px; }
  .industry__icon { width: 52px; height: 52px; }
  .industries--page .industry__icon { width: 48px; height: 48px; }
  .industries .industries__head { margin-bottom: 48px; }
}

/* ============================================================
   ABOUT PAGE — distinct freight-tag aesthetic
   ============================================================ */
.about-section__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 64px;
  align-items: end;
  margin-bottom: 64px;
}
.about-section__head--centered { display: block; text-align: center; max-width: 700px; margin-left: auto; margin-right: auto; margin-bottom: 64px; }
.about-section__head--centered .about-section__lede { margin-left: auto; margin-right: auto; }
.about-section__eyebrow {
  color: var(--c-accent);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 22px;
}
.about-section__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0;
}
.about-section__title .it {
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.65);
  letter-spacing: -.015em;
  display: block;
}
.about-section__lede {
  color: var(--c-fg-dim);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.65;
  max-width: 54ch;
  margin: 0;
}
@media (max-width: 900px) {
  .about-section__head { grid-template-columns: 1fr; gap: 24px; }
}

/* 1. HERO BANNER */
.about-hero {
  position: relative;
  min-height: 580px;
  padding: 180px 0 120px;
  background-size: cover;
  background-position: center;
  background-color: var(--c-ink);
  overflow: hidden;
  isolation: isolate;
}
.about-hero__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg, rgba(154,2,14,.82) 0%, rgba(120,6,14,.74) 32%, rgba(60,8,12,.68) 62%, rgba(8,4,4,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 28%, rgba(0,0,0,.65) 100%);
}
.about-hero .wrap { position: relative; z-index: 2; max-width: 1320px; }
.about-hero__crumbs { color: rgba(245,239,227,.72); margin-bottom: 36px; }
.about-hero__crumbs a { color: rgba(245,239,227,.92); }
.about-hero__crumbs .sep { color: rgba(245,239,227,.4); }
.about-hero__eyebrow {
  display: inline-block;
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  margin-bottom: 28px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c-fg);
}
.about-hero__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(44px, 6.6vw, 92px);
  line-height: .98;
  letter-spacing: -.025em;
  color: var(--c-fg);
  margin: 0 0 28px;
  max-width: 14ch;
}
.about-hero__title .it {
  display: block;
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.7);
  letter-spacing: -.015em;
}
.about-hero__lede {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(245,239,227,.85);
  max-width: 56ch;
  margin: 0;
}
.about-hero__ticker {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 3;
  padding: 18px 0;
  border-top: 1px solid rgba(245,239,227,.18);
  background: rgba(5,5,5,.45);
  overflow: hidden;
}
.about-hero__ticker-track {
  display: flex;
  gap: 56px;
  white-space: nowrap;
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(245,239,227,.7);
  animation: aboutTicker 38s linear infinite;
}
.about-hero__ticker-track span { display: inline-flex; align-items: center; }
@keyframes aboutTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* 2. ORIGIN — single page-filling display paragraph */
.about-origin {
  padding: 140px 0 120px;
  background: var(--c-paper);
  position: relative;
}
.about-origin .wrap { max-width: 1100px; }
.about-origin__mark {
  display: inline-flex; align-items: baseline; gap: 16px;
  font-family: var(--ff-mono);
  margin-bottom: 56px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-line);
}
.about-origin__mark .k {
  font-size: 11px;
  letter-spacing: .28em;
  color: var(--c-fg-faint);
  text-transform: uppercase;
}
.about-origin__mark .v {
  font-family: var(--ff-display);
  font-size: 32px;
  font-weight: 900;
  color: var(--c-accent);
  letter-spacing: -.01em;
}
.about-origin__copy {
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.22;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0;
  text-wrap: balance;
}
.about-origin__copy em {
  font-style: normal;
  color: var(--c-accent);
  font-weight: 800;
}
.about-origin__copy .dim {
  color: rgba(245,239,227,.55);
  font-weight: 300;
}
.about-origin__sig {
  margin-top: 64px;
  display: flex; flex-direction: column; gap: 4px;
  border-left: 3px solid var(--c-accent);
  padding-left: 18px;
}
.about-origin__sig .sig-name {
  font-family: var(--ff-display);
  font-weight: 800;
  font-size: 20px;
  color: var(--c-fg);
}
.about-origin__sig .sig-role {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
}

/* 3. TIMELINE */
.about-timeline { padding: 120px 0; background: var(--c-paper-2); }
.about-timeline__list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid; gap: 0;
  position: relative;
}
.about-timeline__list::before {
  content: '';
  position: absolute;
  left: 122px; top: 12px; bottom: 12px;
  width: 1px;
  background: var(--c-line);
}
.about-timeline__step {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 48px;
  padding: 36px 0;
  border-bottom: 1px solid var(--c-line);
  position: relative;
  align-items: start;
}
.about-timeline__step:last-child { border-bottom: 0; }
.about-timeline__step::before {
  /* node dot on the vertical rule */
  content: '';
  position: absolute;
  left: 116px; top: 50px;
  width: 13px; height: 13px;
  border-radius: 50%;
  background: var(--c-paper-2);
  border: 2px solid var(--c-fg-faint);
  z-index: 1;
  transition: all .35s ease;
}
.about-timeline__step:hover::before,
.about-timeline__step.current::before {
  background: var(--c-accent); border-color: var(--c-accent);
  box-shadow: 0 0 0 6px rgba(212,5,17,.18);
}
.about-timeline__year {
  font-family: var(--ff-display);
  font-size: clamp(44px, 4.4vw, 64px);
  font-weight: 200;
  line-height: 1;
  color: var(--c-fg-faint);
  letter-spacing: -.02em;
  transition: color .35s ease;
}
.about-timeline__step:hover .about-timeline__year,
.about-timeline__step.current .about-timeline__year { color: var(--c-accent); }
.about-timeline__body h3 {
  font-family: var(--ff-display);
  font-size: 24px;
  font-weight: 800;
  color: var(--c-fg);
  letter-spacing: -.005em;
  margin: 0 0 10px;
  line-height: 1.15;
}
.about-timeline__body p {
  color: var(--c-fg-dim);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  margin: 0;
  max-width: 64ch;
}
@media (max-width: 720px) {
  .about-timeline__list::before { display: none; }
  .about-timeline__step { grid-template-columns: 1fr; gap: 14px; }
  .about-timeline__step::before { display: none; }
}

/* 4. SCALE — numbers strip with truck bg */
.about-scale {
  position: relative;
  padding: 120px 0;
  background-size: cover;
  background-position: center;
  background-color: var(--c-ink);
  overflow: hidden;
  isolation: isolate;
}
.about-scale__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg, rgba(154,2,14,.74) 0%, rgba(80,8,16,.68) 45%, rgba(8,4,4,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 30%, rgba(0,0,0,.55) 100%);
}
.about-scale .wrap { position: relative; z-index: 2; max-width: 1320px; }
.about-scale__eyebrow { color: var(--c-fg); margin-bottom: 40px; display: inline-block; font-family: var(--ff-mono); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; }
.about-scale__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(245,239,227,.22);
  border-bottom: 1px solid rgba(245,239,227,.22);
}
.about-scale__cell {
  padding: 36px 28px;
  border-right: 1px solid rgba(245,239,227,.14);
  display: flex; flex-direction: column; gap: 16px;
}
.about-scale__cell:last-child { border-right: 0; }
.about-scale__num {
  font-family: var(--ff-display);
  font-size: clamp(56px, 7vw, 104px);
  font-weight: 900;
  color: var(--c-fg);
  line-height: 1;
  letter-spacing: -.02em;
}
.about-scale__num sup { font-size: .42em; vertical-align: top; color: var(--c-accent); margin-left: 4px; }
.about-scale__num .sm { font-size: .55em; opacity: .5; }
.about-scale__lbl {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(245,239,227,.75);
  line-height: 1.55;
}
.about-scale__lbl em {
  font-style: normal;
  color: rgba(245,239,227,.45);
  text-transform: none;
  letter-spacing: .04em;
  font-family: var(--ff-display);
  font-weight: 300;
  font-size: 13px;
  display: block;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .about-scale__grid { grid-template-columns: 1fr 1fr; }
  .about-scale__cell:nth-child(2n) { border-right: 0; }
  .about-scale__cell:nth-child(-n+2) { border-bottom: 1px solid rgba(245,239,227,.14); }
}

/* 5. MANIFESTO */
.about-manifesto {
  padding: 120px 0;
  background: var(--c-paper);
}
.about-manifesto__list {
  list-style: none;
  margin: 0 auto; padding: 0;
  max-width: 880px;
  display: grid; gap: 0;
  border-top: 1px solid var(--c-line);
}
.about-manifesto__item {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 36px;
  padding: 32px 0;
  border-bottom: 1px solid var(--c-line);
  align-items: baseline;
  transition: padding-left .35s cubic-bezier(.22,1,.36,1);
}
.about-manifesto__item:hover { padding-left: 16px; }
.about-manifesto__ix {
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .24em;
  color: var(--c-accent);
}
.about-manifesto__item p {
  font-family: var(--ff-display);
  font-weight: 400;
  font-size: clamp(20px, 2.1vw, 26px);
  line-height: 1.4;
  color: var(--c-fg);
  margin: 0;
  letter-spacing: -.005em;
}
.about-manifesto__item p strong {
  font-weight: 800;
  color: var(--c-fg);
}

/* 6. NETWORK */
.about-network { padding: 120px 0; background: var(--c-paper-2); }
.about-network__board {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
  gap: 56px;
  align-items: start;
  border-top: 1px solid var(--c-line);
  padding-top: 48px;
}
.about-network__map {
  width: 100%; height: auto;
  display: block;
}
.about-network__legend h4 {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0 0 14px;
}
.about-network__legend h4:not(:first-child) { margin-top: 32px; }
.about-network__legend ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 8px;
  font-size: 14px;
  color: var(--c-fg-dim);
}
.about-network__legend ul li {
  display: flex; align-items: center; gap: 12px;
}
.about-network__legend .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--c-accent);
  flex-shrink: 0;
}
.about-network__posts {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px !important;
  font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .06em;
}
.about-network__posts li { color: var(--c-fg) !important; padding: 4px 0; border-bottom: 1px solid var(--c-line); }
@media (max-width: 900px) {
  .about-network__board { grid-template-columns: 1fr; gap: 32px; }
}

/* 7. TEAM */
.about-team { padding: 120px 0; background: var(--c-paper); }
.about-team__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.about-team__card {
  background: transparent;
  display: flex; flex-direction: column;
  gap: 20px;
  position: relative;
}
.about-team__photo {
  aspect-ratio: 3/4;
  background: linear-gradient(160deg, rgba(212,5,17,.18), rgba(5,5,5,.55));
  position: relative;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.about-team__photo::after {
  /* grain overlay */
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0px, transparent 3px, rgba(0,0,0,.08) 3px, rgba(0,0,0,.08) 4px);
  pointer-events: none;
}
.about-team__initials {
  font-family: var(--ff-display);
  font-size: clamp(68px, 6vw, 96px);
  font-weight: 900;
  color: var(--c-fg);
  letter-spacing: -.02em;
  opacity: .9;
  position: relative; z-index: 1;
}
.about-team__chip {
  position: absolute;
  top: 16px; right: 16px;
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .24em;
  color: var(--c-fg);
  padding: 6px 10px;
  background: var(--c-accent);
  z-index: 2;
}
.about-team__role {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.about-team__meta h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 10px 0 12px;
  line-height: 1.1;
}
.about-team__meta p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0 0 16px;
}
.about-team__links { display: flex; gap: 14px; }
.about-team__links a {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--c-fg-faint);
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease;
}
.about-team__links a:hover { color: var(--c-accent); border-color: var(--c-accent); }
.about-team__cta { margin-top: 56px; text-align: center; }
@media (max-width: 1100px) { .about-team__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .about-team__grid { grid-template-columns: 1fr; } }

/* 8. CLOSING NOTE */
.about-close { padding: 120px 0; background: var(--c-paper-2); }
.about-close__inner {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.about-close__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(28px, 3.6vw, 44px);
  line-height: 1.15;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 18px auto 24px;
  max-width: 22ch;
}
.about-close__inner > p {
  color: var(--c-fg-dim);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.7;
  margin: 0 auto 36px;
  max-width: 56ch;
}
.about-close__actions {
  display: inline-flex; align-items: center; gap: 28px; flex-wrap: wrap; justify-content: center;
}

/* ---- MISSION ---- */
.about-mission {
  padding: 110px 0 100px;
  background: var(--c-paper);
}
.about-mission .wrap { max-width: 1080px; }
.about-mission .about-section__eyebrow { margin-bottom: 28px; }
.about-mission__copy {
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.32;
  letter-spacing: -.01em;
  color: var(--c-fg);
  margin: 0;
  text-wrap: balance;
}
.about-mission__copy em { font-style: normal; color: var(--c-accent); font-weight: 800; }
.about-mission__copy .dim { color: rgba(245,239,227,.55); font-weight: 300; }

/* ---- VALUES ---- */
.about-values { padding: 110px 0; background: var(--c-paper-2); }
.about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 24px;
}
.about-values__card {
  background: transparent;
  border: 1px solid var(--c-line);
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 16px;
  position: relative;
  transition: border-color .35s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.about-values__card::before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 0; height: 3px;
  background: var(--c-accent);
  transition: width .45s cubic-bezier(.22,1,.36,1);
}
.about-values__card:hover { border-color: var(--c-accent); transform: translateY(-4px); }
.about-values__card:hover::before { width: 100%; }
.about-values__icon {
  width: 40px; height: 40px;
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
}
.about-values__icon svg { width: 100%; height: 100%; }
.about-values__card h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--c-fg);
  letter-spacing: -.005em;
  margin: 0;
  line-height: 1.15;
}
.about-values__card p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) { .about-values__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px)  { .about-values__grid { grid-template-columns: 1fr; } }

/* ---- PROMISE ---- */
.about-promise { padding: 110px 0; background: var(--c-paper); }
.about-promise__list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border-top: 1px solid var(--c-line);
  border-left: 1px solid var(--c-line);
}
.about-promise__item {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 24px;
  padding: 32px 32px;
  border-right: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  position: relative;
  transition: background .35s ease;
}
.about-promise__item::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--c-accent);
  transform: scaleY(.4); transform-origin: top;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.about-promise__item:hover { background: rgba(212,5,17,.04); }
.about-promise__item:hover::before { transform: scaleY(1); }
.about-promise__ix {
  font-family: var(--ff-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--c-accent);
}
.about-promise__item h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--c-fg);
  letter-spacing: -.005em;
  margin: 0 0 10px;
  line-height: 1.15;
}
.about-promise__item p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
  max-width: 56ch;
}
@media (max-width: 900px) { .about-promise__list { grid-template-columns: 1fr; } }

/* ---- VISION ---- */
.about-vision { padding: 110px 0; background: var(--c-paper-2); }
.about-vision__box {
  position: relative;
  margin: 0 auto;
  max-width: 880px;
  padding: 56px 64px 48px;
  background: var(--c-ink);
  border: 1px solid var(--c-line);
  border-left: 4px solid var(--c-accent);
}
.about-vision__box::before {
  /* oversized red quotation mark */
  content: '“';
  position: absolute;
  top: -12px; left: 32px;
  font-family: var(--ff-display);
  font-size: 140px;
  font-weight: 900;
  line-height: 1;
  color: var(--c-accent);
  opacity: .85;
}
.about-vision__quote {
  font-family: var(--ff-display);
  font-weight: 500;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.45;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0 0 28px;
  text-wrap: balance;
  position: relative; z-index: 1;
}
.about-vision__cite {
  display: flex; flex-direction: column; gap: 4px;
  padding-top: 18px;
  border-top: 1px solid var(--c-line);
}
.about-vision__mark {
  font-family: var(--ff-display);
  font-size: 16px;
  font-weight: 800;
  color: var(--c-accent);
  letter-spacing: -.005em;
}
.about-vision__sub {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
}
.about-vision__after {
  max-width: 760px;
  margin: 48px auto 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--c-fg-dim);
  text-align: center;
}
@media (max-width: 700px) {
  .about-vision__box { padding: 56px 28px 32px; }
  .about-vision__box::before { left: 16px; font-size: 110px; }
}

/* ---- SUSTAINABILITY ---- */
.about-sustain { padding: 110px 0; background: var(--c-paper); border-top: 1px solid var(--c-line); }
.about-sustain__wrap {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 64px;
  align-items: start;
}
.about-sustain__copy {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--c-fg-dim);
  margin: 0;
}
.about-sustain__copy strong { color: var(--c-fg); font-weight: 600; }
@media (max-width: 900px) { .about-sustain__wrap { grid-template-columns: 1fr; gap: 28px; } }

/* ============================================================
   ABOUT — V2 LAYOUT (overrides earlier .about-hero/etc. with new
   split-column treatments per the reference design.)
   ============================================================ */

/* HERO V2 — full-bleed truck banner + blood-moon veil + copy block
   Sized for sub-pages: compact, not full viewport. */
.about-hero--split {
  min-height: 0;
  padding: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--c-ink);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.about-hero--split .about-hero__veil {
  display: block;
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg, rgba(154,2,14,.82) 0%, rgba(120,6,14,.74) 32%, rgba(60,8,12,.68) 62%, rgba(8,4,4,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 28%, rgba(0,0,0,.65) 100%);
}
.about-hero--split .about-hero__inner {
  position: relative; z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  display: block;
  min-height: 0;
  padding: 0;
}
.about-hero--split .about-hero__left {
  padding: 140px 56px 64px;
  display: flex; flex-direction: column;
  max-width: 880px;
}
.about-hero--split .about-hero__crumbs { color: rgba(245,239,227,.6); margin-bottom: 32px; }
.about-hero--split .about-hero__eyebrow {
  display: flex; align-items: center; gap: 12px;
  border-bottom: 0; padding-bottom: 0;
  margin-bottom: 28px;
  color: var(--c-accent);
}
.about-hero--split .about-hero__eyebrow::before {
  content: ''; display: block;
  width: 32px; height: 1px; background: var(--c-accent);
}
.about-hero--split .about-hero__title {
  font-family: var(--ff-display);
  font-size: clamp(34px, 4.6vw, 64px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin-bottom: 24px;
  max-width: none;
}
.about-hero--split .about-hero__title .it {
  display: block;
  font-style: normal;
  font-weight: 900;
  color: var(--c-accent);
  letter-spacing: -.02em;
}
.about-hero--split .about-hero__lede {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--c-fg-dim);
  max-width: 56ch;
  margin-bottom: 32px;
}
.about-hero--split .about-hero__stats {
  display: flex; gap: 40px; flex-wrap: wrap;
  padding-top: 24px;
  border-top: 1px solid rgba(245,239,227,.16);
  max-width: 640px;
}
.about-hero--split .about-hero__stat { display: flex; flex-direction: column; gap: 6px; }
.about-hero--split .about-hero__stat-num {
  font-family: var(--ff-display);
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  color: var(--c-accent);
  letter-spacing: -.01em;
}
.about-hero--split .about-hero__stat-lbl {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
}
.about-hero--split .about-hero__right {
  position: relative;
  border-left: 1px solid var(--c-line);
  overflow: hidden;
}
.about-hero--split .about-hero__rings {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 380px; height: 380px;
}
.about-hero--split .about-hero__ring {
  position: absolute; border-radius: 50%;
  border: 1px solid var(--c-line);
  animation: aboutRingSpin 30s linear infinite;
}
.about-hero--split .about-hero__ring.ring-1 { inset: 0; animation-duration: 42s; }
.about-hero--split .about-hero__ring.ring-2 { inset: 14%; animation-duration: 28s; animation-direction: reverse; border-color: rgba(212,5,17,.22); }
.about-hero--split .about-hero__ring.ring-3 { inset: 28%; animation-duration: 18s; border-color: rgba(212,5,17,.42); }
.about-hero--split .ring-dot {
  position: absolute;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--c-accent);
  top: -5px; left: 50%; transform: translateX(-50%);
  box-shadow: 0 0 0 4px rgba(212,5,17,.16);
}
@keyframes aboutRingSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.about-hero--split .about-hero__center {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  color: var(--c-accent);
}
.about-hero--split .about-hero__center svg { width: 64px; height: 64px; }
.about-hero--split .about-hero__center span {
  font-family: var(--ff-display);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .22em;
  color: var(--c-fg);
}
@media (max-width: 1000px) {
  .about-hero--split .about-hero__left { padding: 110px 28px 48px; }
}

/* ABOUT CHILD — compact horizontal bar (dropdown sub-pages) */
.about-hero--child {
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  background-color: var(--c-ink);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.about-hero--child .about-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg,
      rgba(154,2,14,.9) 0%,
      rgba(120,6,14,.78) 42%,
      rgba(50,8,12,.7) 68%,
      rgba(8,4,4,.82) 100%);
}
.about-hero--child .about-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 var(--content-pad, 56px);
}
.about-hero--child .about-hero__bar { padding: 20px 0 22px; }
.about-hero--child .about-hero__crumbs {
  margin: 0 0 10px;
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(245,239,227,.72);
}
.about-hero--child .about-hero__crumbs a { color: rgba(245,239,227,.95); text-decoration: none; }
.about-hero--child .about-hero__crumbs a:hover { color: var(--c-fg); }
.about-hero--child .about-hero__crumbs .sep { color: rgba(245,239,227,.48); margin: 0 8px; }
.about-hero--child .about-hero__bar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 32px;
}
.about-hero--child .about-hero__bar-copy { flex: 1 1 280px; min-width: 0; }
.about-hero--child .about-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.about-hero--child .about-hero__eyebrow::before {
  content: '';
  width: 22px;
  height: 1px;
  background: var(--c-accent);
}
.about-hero--child .about-hero__title {
  font-family: var(--ff-display);
  font-size: clamp(22px, 2.5vw, 38px);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0;
}
.about-hero--child .about-hero__title br { display: none; }
.about-hero--child .about-hero__title .it {
  display: inline;
  font-style: normal;
  color: var(--c-accent);
}
.about-hero--child .about-hero__stats--bar {
  display: flex;
  flex-wrap: wrap;
  gap: 22px 28px;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
}
.about-hero--child .about-hero__stat { display: flex; flex-direction: column; gap: 4px; }
.about-hero--child .about-hero__stat-num {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  color: var(--c-accent);
}
.about-hero--child .about-hero__stat-lbl {
  font-family: var(--ff-mono);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(245,239,227,.6);
}
@media (max-width: 720px) {
  .about-hero--child .about-hero__inner { padding: 0 24px; }
  .about-hero--child .about-hero__bar { padding: 16px 0 18px; }
  .about-hero--child .about-hero__stats--bar { width: 100%; gap: 16px 20px; }
}

/* MISSION V2 — split: italic quote left, body right */
.about-mission--split { padding: 100px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.about-mission--split .about-mission__inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
}
.about-mission--split .about-mission__tag {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 24px;
}
.about-mission--split .about-mission__quote {
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.5;
  color: var(--c-fg);
  margin: 0;
  padding-left: 32px;
  border-left: 3px solid var(--c-accent);
}
.about-mission--split .about-mission__right p {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--c-fg-dim);
  margin: 0 0 18px;
}
.about-mission--split .about-mission__right p:last-child { margin-bottom: 0; }
@media (max-width: 1000px) {
  .about-mission--split .about-mission__inner { grid-template-columns: 1fr; gap: 36px; }
}

/* VALUES V2 — outlined icon + faded big number + bebas name */
.about-values--ledger { padding: 110px 0; background: var(--c-paper); }
.about-values--ledger > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.about-values--ledger > .wrap > .about-section__title { margin-bottom: 56px; }
.about-values--ledger .about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--c-line);
}
.about-values--ledger .about-values__cell {
  padding: 40px 32px;
  border-right: 1px solid var(--c-line);
  position: relative; overflow: hidden;
  background: var(--c-paper);
  transition: background .35s ease;
  display: flex; flex-direction: column;
}
.about-values--ledger .about-values__cell:last-child { border-right: 0; }
.about-values--ledger .about-values__cell::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.about-values--ledger .about-values__cell:hover { background: var(--c-paper-2); }
.about-values--ledger .about-values__cell:hover::after { transform: scaleX(1); }
.about-values--ledger .about-values__icon {
  width: 44px; height: 44px;
  border: 1px solid var(--c-line);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--c-accent);
  margin-bottom: 18px;
}
.about-values--ledger .about-values__icon svg { width: 22px; height: 22px; }
.about-values--ledger .about-values__num {
  font-family: var(--ff-display);
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
  color: rgba(212,5,17,.14);
  margin-bottom: 10px;
  letter-spacing: -.02em;
}
.about-values--ledger .about-values__cell h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-accent);
  margin: 0 0 14px;
  line-height: 1.1;
}
.about-values--ledger .about-values__cell p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) { .about-values--ledger .about-values__grid { grid-template-columns: 1fr 1fr; }
  .about-values--ledger .about-values__cell:nth-child(2n) { border-right: 0; }
  .about-values--ledger .about-values__cell:nth-child(-n+2) { border-bottom: 1px solid var(--c-line); }
}
@media (max-width: 560px)  {
  .about-values--ledger .about-values__grid { grid-template-columns: 1fr; }
  .about-values--ledger .about-values__cell { border-right: 0; border-bottom: 1px solid var(--c-line); }
  .about-values--ledger .about-values__cell:last-child { border-bottom: 0; }
}

/* PROMISE V2 — list + aside */
.about-promise--split { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.about-promise--split > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.about-promise--split > .wrap > .about-section__title { margin-bottom: 48px; }
.about-promise--split .about-promise__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.about-promise--split .about-promise__list {
  list-style: none; padding: 0; margin: 0;
  border-top: 1px solid var(--c-line);
}
.about-promise--split .about-promise__list > li {
  display: grid; grid-template-columns: 36px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--c-line);
  align-items: start;
}
.about-promise--split .about-promise__icon {
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.about-promise--split .about-promise__icon svg { width: 22px; height: 22px; }
.about-promise--split .about-promise__list h3 {
  font-family: var(--ff-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--c-fg);
  letter-spacing: -.005em;
  margin: 0 0 6px;
  line-height: 1.2;
}
.about-promise--split .about-promise__list p {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
.about-promise--split .about-promise__aside {
  padding: 36px;
  border: 1px solid var(--c-line);
  background: var(--c-paper);
  position: relative;
}
.about-promise--split .about-promise__aside::before {
  content: ''; position: absolute;
  top: 0; left: 0; width: 3px; height: 100%;
  background: var(--c-accent);
}
.about-promise--split .about-promise__aside-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 22px;
}
.about-promise--split .about-promise__aside-quote {
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 500;
  font-size: 19px;
  line-height: 1.55;
  color: var(--c-fg);
  margin: 0 0 22px;
}
.about-promise--split .about-promise__aside-detail {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) {
  .about-promise--split .about-promise__inner { grid-template-columns: 1fr; gap: 40px; }
}

/* VISION V2 — big heading + body left, roadmap right */
.about-vision--split { padding: 110px 0; background: var(--c-paper); }
.about-vision--split > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 24px; }
.about-vision--split .about-vision__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.about-vision--split .about-vision__big {
  font-family: var(--ff-display);
  font-size: clamp(34px, 4.4vw, 58px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0 0 28px;
}
.about-vision--split .about-vision__big .it {
  font-style: normal;
  color: var(--c-accent);
  font-weight: 900;
}
.about-vision--split .about-vision__body {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--c-fg-dim);
  margin: 0;
}
.about-vision--split .about-vision__rmap-tag {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0 0 22px;
}
.about-vision--split .about-vision__rmap {
  list-style: none; padding: 0; margin: 0;
  border-top: 1px solid var(--c-line);
}
.about-vision--split .about-vision__rmap > li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--c-line);
  align-items: start;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
}
.about-vision--split .about-vision__rmap-icon {
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 2px;
}
.about-vision--split .about-vision__rmap-icon svg { width: 18px; height: 18px; }
@media (max-width: 1000px) {
  .about-vision--split .about-vision__inner { grid-template-columns: 1fr; gap: 40px; }
}

/* SUSTAINABILITY V2 — giant ESG word + body + 3 pillars */
.about-sustain--esg { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); }
.about-sustain--esg > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.about-sustain--esg > .wrap > .about-section__title { margin-bottom: 48px; }
.about-sustain--esg .about-sustain__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 80px;
  align-items: start;
}
.about-sustain--esg .about-sustain__word {
  font-family: var(--ff-display);
  font-size: clamp(96px, 12vw, 180px);
  font-weight: 900;
  line-height: .85;
  color: rgba(212,5,17,.14);
  letter-spacing: -.04em;
}
.about-sustain--esg .about-sustain__body > p {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--c-fg-dim);
  margin: 0 0 28px;
}
.about-sustain--esg .about-sustain__pillars {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-top: 12px;
}
.about-sustain--esg .about-sustain__pillar {
  padding: 22px;
  border: 1px solid var(--c-line);
  background: var(--c-paper);
  transition: border-color .3s ease;
}
.about-sustain--esg .about-sustain__pillar:hover { border-color: var(--c-accent); }
.about-sustain--esg .about-sustain__pillar-icon {
  color: var(--c-accent);
  display: inline-flex;
  margin-bottom: 12px;
}
.about-sustain--esg .about-sustain__pillar-icon svg { width: 22px; height: 22px; }
.about-sustain--esg .about-sustain__pillar-title {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0 0 8px;
}
.about-sustain--esg .about-sustain__pillar-text {
  font-size: 13px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) {
  .about-sustain--esg .about-sustain__grid { grid-template-columns: 1fr; gap: 24px; }
  .about-sustain--esg .about-sustain__word { text-align: left; }
}
@media (max-width: 700px) {
  .about-sustain--esg .about-sustain__pillars { grid-template-columns: 1fr; }
}

/* CLOSE V2 — solid red CTA bar */
.about-close--bar {
  background: var(--c-accent);
  padding: 64px 0;
  margin: 0;
}
.about-close--bar .about-close__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 56px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  text-align: left;
}
.about-close--bar .about-close__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.05;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0 0 8px;
  max-width: none;
}
.about-close--bar .about-close__sub {
  font-size: 15px;
  color: rgba(245,239,227,.78);
  margin: 0;
  font-weight: 300;
}
.about-close--bar .about-close__actions {
  display: inline-flex; gap: 16px; flex-wrap: wrap;
}
.about-close__btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 18px 28px;
  white-space: nowrap;
  border-radius: 3px;
  transition: background .25s ease, color .25s ease, transform .2s ease, box-shadow .2s ease;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}
.about-close__btn:hover { transform: translateY(-2px); }
.about-close__btn:active { transform: translateY(0); }
.about-close__btn--dark {
  background: #0A0A09;
  color: var(--c-fg);
}
.about-close__btn--dark:hover { background: #000; }
.about-close__btn--outline {
  background: transparent;
  color: var(--c-fg);
  border: 2px solid var(--c-fg);
}
.about-close__btn--outline:hover { background: var(--c-fg); color: var(--c-accent); }
@media (max-width: 900px) {
  .about-close--bar .about-close__inner { grid-template-columns: 1fr; padding: 0 24px; gap: 28px; }
  .about-close__btn { justify-content: center; }
}

/* ============================================================
   SERVICES PAGE — Two-pillar narrative
   ============================================================ */

/* PILLARS — two big service cards side-by-side */
.svc-pillars { padding: 110px 0; background: var(--c-paper); }
.svc-pillars > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.svc-pillars > .wrap > .about-section__title { margin-bottom: 56px; }
.svc-pillars__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.svc-pillar {
  position: relative;
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  display: flex; flex-direction: column;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
}
.svc-pillar:hover { transform: translateY(-6px); }
.svc-pillar__chip {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  background: var(--c-accent); color: var(--c-fg);
  padding: 8px 14px;
}
.svc-pillar__photo { aspect-ratio: 16/9; overflow: hidden; }
.svc-pillar__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}
.svc-pillar:hover .svc-pillar__photo img { transform: scale(1.04); }
.svc-pillar__body { padding: 36px 32px 32px; display: flex; flex-direction: column; flex: 1; gap: 18px; }
.svc-pillar__title {
  font-family: var(--ff-display);
  font-size: 30px;
  font-weight: 900;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.1;
}
.svc-pillar__title span {
  font-weight: 300;
  color: var(--c-fg-faint);
  font-size: 18px;
  letter-spacing: 0;
}
.svc-pillar__lede {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--c-fg-dim);
  margin: 0;
}
.svc-pillar__caps {
  list-style: none; padding: 0; margin: 4px 0 0;
  border-top: 1px solid var(--c-line);
}
.svc-pillar__caps li {
  display: flex; align-items: baseline; gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--c-fg);
}
.svc-pillar__caps li span { color: var(--c-accent); font-weight: 700; }
.svc-pillar__body .btn { align-self: flex-start; margin-top: 8px; }

@media (max-width: 900px) { .svc-pillars__grid { grid-template-columns: 1fr; } }

/* CAPABILITIES GRID */
.svc-caps { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.svc-caps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--c-line);
  border-left: 1px solid var(--c-line);
}
.svc-cap {
  padding: 36px 28px;
  border-right: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  position: relative;
  background: var(--c-paper-2);
  display: flex; flex-direction: column;
  transition: background .3s ease;
  cursor: default;
}
.svc-cap::before {
  content: ''; position: absolute;
  left: 0; top: 0; right: 0;
  height: 2px; background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.svc-cap:hover { background: var(--c-paper); }
.svc-cap:hover::before { transform: scaleX(1); }
.svc-cap__ix {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  color: var(--c-accent);
  margin-bottom: 18px;
}
.svc-cap__icon {
  width: 36px; height: 36px;
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.svc-cap__icon svg { width: 100%; height: 100%; }
.svc-cap h3 {
  font-family: var(--ff-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0 0 10px;
  line-height: 1.15;
}
.svc-cap p {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1100px) { .svc-caps__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px)  { .svc-caps__grid { grid-template-columns: 1fr; } }

/* PROCESS — 4 steps */
.svc-process { padding: 110px 0; background: var(--c-paper); }
.svc-process__list {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  border-top: 1px solid var(--c-line);
}
.svc-process__list::before {
  content: '';
  position: absolute;
  left: 5%; right: 5%; top: 100px;
  height: 1px;
  background: var(--c-line);
  z-index: 0;
}
.svc-process__step {
  padding: 32px 24px;
  border-right: 1px solid var(--c-line);
  position: relative;
  display: flex; flex-direction: column;
  gap: 22px;
}
.svc-process__step:last-child { border-right: 0; }
.svc-process__num {
  font-family: var(--ff-display);
  font-size: 78px;
  font-weight: 900;
  line-height: 1;
  color: rgba(212,5,17,.16);
  letter-spacing: -.02em;
  position: relative; z-index: 1;
}
.svc-process__body { display: flex; flex-direction: column; gap: 8px; position: relative; z-index: 1; }
.svc-process__tag {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.svc-process__step h3 {
  font-family: var(--ff-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
}
.svc-process__step p {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 900px) {
  .svc-process__list { grid-template-columns: 1fr; border-top: 0; }
  .svc-process__list::before { display: none; }
  .svc-process__step { border-right: 0; border-bottom: 1px solid var(--c-line); padding: 28px 0; }
}

/* WHY — 3 differentiators */
.svc-why { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); }
.svc-why > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.svc-why > .wrap > .about-section__title { margin-bottom: 48px; }
.svc-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.svc-why__cell {
  padding: 36px 32px;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-bottom: 3px solid var(--c-accent);
  display: flex; flex-direction: column; gap: 16px;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.svc-why__cell:hover { transform: translateY(-4px); }
.svc-why__icon {
  width: 44px; height: 44px;
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--c-line);
}
.svc-why__icon svg { width: 24px; height: 24px; }
.svc-why__cell h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
}
.svc-why__cell p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 900px) { .svc-why__grid { grid-template-columns: 1fr; } }

/* SVC DETAIL BODY — shared layout for all 8 capability pages */
.svc-detail-body {
  padding: 110px 0;
  background: var(--c-paper);
}
.svc-detail-body__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 72px;
  align-items: start;
}
.svc-detail-body__copy {
  display: flex; flex-direction: column;
}
.svc-detail-body__copy > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.svc-detail-body__copy > .about-section__title { margin-bottom: 32px; }
.svc-detail-body__copy p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--c-fg-dim);
  margin: 0 0 22px;
  max-width: 60ch;
}
.svc-detail-body__copy p:last-child { margin-bottom: 0; }
.svc-detail-body__copy p strong { color: var(--c-fg); font-weight: 600; }

/* Aside — capability bullet list */
.svc-detail-body__caps {
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  padding: 32px 28px;
  position: sticky; top: 96px;
}
.svc-detail-body__caps-tag {
  display: inline-block;
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 20px;
}
.svc-detail-body__caps ul {
  list-style: none; padding: 0; margin: 0;
  border-top: 1px solid var(--c-line);
}
.svc-detail-body__caps li {
  display: flex; align-items: baseline; gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--c-fg);
}
.svc-detail-body__caps li span { color: var(--c-accent); font-weight: 700; flex-shrink: 0; }

@media (max-width: 1000px) {
  .svc-detail-body__inner { grid-template-columns: 1fr; gap: 40px; }
  .svc-detail-body__caps { position: static; }
}

/* ============================================================
   CAREERS PAGE — open roles ledger + benefits grid
   ============================================================ */

/* OPEN ROLES LIST */
.careers-roles { padding: 110px 0; background: var(--c-paper); }
.careers-roles__list {
  list-style: none; margin: 0; padding: 0;
  border-top: 1px solid var(--c-line);
}
.careers-roles__row { border-bottom: 1px solid var(--c-line); }
.careers-roles__link {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  gap: 32px;
  padding: 28px 0;
  align-items: center;
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: padding-left .35s cubic-bezier(.22,1,.36,1);
}
.careers-roles__link::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--c-accent);
  transform: scaleY(0); transform-origin: top;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.careers-roles__link:hover { padding-left: 24px; }
.careers-roles__link:hover::before { transform: scaleY(1); }
.careers-roles__num {
  font-family: var(--ff-display);
  font-size: 38px;
  font-weight: 200;
  line-height: 1;
  color: var(--c-fg-faint);
  letter-spacing: -.02em;
  transition: color .3s ease;
}
.careers-roles__link:hover .careers-roles__num { color: var(--c-accent); }
.careers-roles__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.careers-roles__body h3 {
  font-family: var(--ff-display);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
}
.careers-roles__meta {
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--c-fg-dim);
}
.careers-roles__meta .sep { color: var(--c-fg-faint); }
.careers-roles__view {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  transition: color .25s ease;
  flex-shrink: 0;
}
.careers-roles__link:hover .careers-roles__view { color: var(--c-accent); border-color: var(--c-accent); }
@media (max-width: 720px) {
  .careers-roles__link { grid-template-columns: 56px minmax(0, 1fr); gap: 18px; padding: 22px 0; }
  .careers-roles__link:hover { padding-left: 14px; }
  .careers-roles__view { display: none; }
  .careers-roles__num { font-size: 30px; }
}

/* WHY WORK HERE — 4-card grid (icons + title + body) */
.careers-why { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.careers-why__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--c-line);
}
.careers-why__cell {
  padding: 36px 28px;
  background: var(--c-paper-2);
  border-right: 1px solid var(--c-line);
  display: flex; flex-direction: column; gap: 18px;
  position: relative; overflow: hidden;
  transition: background .3s ease;
}
.careers-why__cell:last-child { border-right: 0; }
.careers-why__cell::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.careers-why__cell:hover { background: var(--c-paper); }
.careers-why__cell:hover::after { transform: scaleX(1); }
.careers-why__icon {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--c-line);
  color: var(--c-accent);
}
.careers-why__icon svg { width: 24px; height: 24px; }
.careers-why__cell h3 {
  font-family: var(--ff-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
}
.careers-why__cell p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) {
  .careers-why__grid { grid-template-columns: 1fr 1fr; }
  .careers-why__cell:nth-child(2n) { border-right: 0; }
  .careers-why__cell:nth-child(-n+2) { border-bottom: 1px solid var(--c-line); }
}
@media (max-width: 560px) {
  .careers-why__grid { grid-template-columns: 1fr; }
  .careers-why__cell { border-right: 0; border-bottom: 1px solid var(--c-line); }
  .careers-why__cell:last-child { border-bottom: 0; }
}

/* ============================================================
   CAREERS V2 — Why join (collage) · Open positions (cards) · Form
   ============================================================ */

/* WHY JOIN US — photo collage + features split */
.careers-join { padding: 110px 0; background: var(--c-paper); }
.careers-join__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 80px;
  align-items: center;
}
.careers-join__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 280px 200px;
  gap: 18px;
}
.careers-join__photo { overflow: hidden; position: relative; }
.careers-join__photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.careers-join__photo:hover img { transform: scale(1.04); }
.careers-join__photo--big {
  grid-column: 1 / -1; grid-row: 1;
  border-top: 3px solid var(--c-accent);
}
.careers-join__eyebrow {
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 700;
  font-size: 15px;
  color: var(--c-accent);
  margin-bottom: 18px;
  display: inline-block;
}
.careers-join__title {
  font-family: var(--ff-display);
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0 0 24px;
}
.careers-join__lede {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--c-fg-dim);
  margin: 0 0 32px;
  max-width: 56ch;
}
.careers-join__features { display: flex; flex-direction: column; gap: 22px; padding-left: 24px; border-left: 2px solid var(--c-line); }
.careers-join__features article h3 {
  font-family: var(--ff-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0 0 8px;
}
.careers-join__features article p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
  max-width: 58ch;
}
@media (max-width: 1000px) {
  .careers-join__inner { grid-template-columns: 1fr; gap: 40px; }
  .careers-join__media { grid-template-rows: 220px 160px; }
}

/* POPIA — recruitment notice (CV submissions) */
.careers-popia {
  padding: 40px 0 56px;
  background: var(--c-paper);
  border-bottom: 1px solid var(--c-line);
}
.careers-popia--close {
  padding: 64px 0;
  background: var(--c-ink);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.careers-popia--close .careers-popia__card {
  background: var(--c-paper-2);
  border-color: rgba(212, 5, 17, .32);
}
.careers-popia__card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px 28px;
  align-items: start;
  padding: 28px 32px;
  background: var(--c-paper-2);
  border: 1px solid rgba(212, 5, 17, .28);
  border-left: 3px solid var(--c-accent);
}
.careers-popia__icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-clay);
  background: rgba(255, 204, 0, .07);
  border: 1px solid rgba(255, 204, 0, .22);
}
.careers-popia__icon svg { width: 24px; height: 24px; display: block; }
.careers-popia__label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--weight-label);
  letter-spacing: var(--tracking-label-wide);
  text-transform: uppercase;
  color: var(--c-clay);
  margin: 0 0 10px;
}
.careers-popia__title {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 1.8vw + 0.5rem, 1.65rem);
  font-weight: var(--weight-heading);
  line-height: var(--line-heading-relaxed);
  letter-spacing: var(--tracking-heading);
  color: var(--c-fg);
  margin: 0 0 14px;
}
.careers-popia__body p {
  font-family: var(--font-body);
  font-size: clamp(14px, 0.25vw + 13px, 15px);
  font-weight: var(--weight-body);
  line-height: var(--line-body);
  color: var(--c-fg-dim);
  margin: 0 0 12px;
  max-width: 72ch;
}
.careers-popia__body p:last-of-type { margin-bottom: 20px; }
.careers-popia__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
@media (max-width: 640px) {
  .careers-popia { padding: 32px 0 44px; }
  .careers-popia__card {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 16px;
  }
  .careers-popia__actions { flex-direction: column; align-items: stretch; }
  .careers-popia__actions .btn { justify-content: center; }
}

/* OPEN POSITIONS — 2-col card grid */
.careers-open { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.careers-open__head { padding-bottom: 20px; border-bottom: 1px solid var(--c-line); margin-bottom: 32px; }
.careers-open__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 44px);
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1;
}
.careers-open__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.careers-open__card {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 16px;
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
}
.careers-open__card:hover { transform: translateY(-4px); border-color: var(--c-accent); }
.careers-open__card h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
}
.careers-open__card > p {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
.careers-open__meta {
  margin: 4px 0 0;
  padding: 14px 0;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  display: flex; flex-direction: column; gap: 6px;
}
.careers-open__meta > div { display: flex; gap: 10px; align-items: baseline; }
.careers-open__meta dt {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0;
  min-width: 96px;
}
.careers-open__meta dd {
  font-family: var(--ff-mono);
  font-size: 13px;
  color: var(--c-fg);
  margin: 0;
}
.careers-open__btn {
  align-self: flex-start;
  display: inline-flex; align-items: center;
  background: var(--c-accent);
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 12px 22px;
  text-decoration: none;
  margin-top: 8px;
  transition: background .25s ease, transform .25s ease;
}
.careers-open__btn:hover { background: #9A020E; transform: translateX(4px); }
@media (max-width: 800px) { .careers-open__grid { grid-template-columns: 1fr; } }

/* APPLICATION FORM — split with red-rule card + copy column */
.careers-form { padding: 110px 0; background: var(--c-paper); }
.careers-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 64px;
  align-items: start;
}
.careers-form__card {
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  padding: 36px;
}
.careers-form__form { display: flex; flex-direction: column; gap: 22px; }
.careers-form__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.careers-form__field { display: flex; flex-direction: column; gap: 8px; }
.careers-form__field label {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
}
.careers-form__field input,
.careers-form__field select,
.careers-form__field textarea {
  background: var(--c-paper);
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  padding: 14px 16px;
  font-family: var(--ff-body);
  font-size: 14px;
  transition: border-color .25s ease, background .25s ease;
  width: 100%;
}
.careers-form__field input::placeholder,
.careers-form__field textarea::placeholder { color: var(--c-fg-faint); }
.careers-form__field input:focus,
.careers-form__field select:focus,
.careers-form__field textarea:focus {
  outline: 0;
  border-color: var(--c-accent);
  background: var(--c-paper-2);
}
.careers-form__field textarea { resize: vertical; min-height: 110px; }
.careers-form__submit {
  align-self: flex-start;
  background: var(--c-accent);
  color: var(--c-fg);
  border: 0;
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  padding: 16px 28px;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.careers-form__submit:hover { background: #9A020E; transform: translateX(4px); }

.careers-form__note {
  margin: 28px 0 0;
  padding: 20px;
  background: var(--c-ink);
  border-left: 3px solid var(--c-accent);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
}

.careers-form__copy { padding-top: 12px; }
.careers-form__eyebrow {
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 700;
  font-size: 15px;
  color: var(--c-accent);
  margin-bottom: 18px;
  display: inline-block;
}
.careers-form__title {
  font-family: var(--ff-display);
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0 0 24px;
}
.careers-form__lede {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--c-fg-dim);
  margin: 0 0 18px;
  max-width: 56ch;
}
.careers-form__bullets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 36px;
  margin-top: 24px;
}
.careers-form__bullets ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.careers-form__bullets li {
  display: flex; align-items: center; gap: 12px;
  font-size: 14px;
  font-weight: 300;
  color: var(--c-fg);
}
.careers-form__bullets .tick {
  font-family: var(--ff-mono);
  color: var(--c-accent);
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}
@media (max-width: 1000px) {
  .careers-form__inner { grid-template-columns: 1fr; gap: 40px; }
  .careers-form__row2 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .careers-form__bullets { grid-template-columns: 1fr; }
}

/* ============================================================
   TRACK PAGE V2 — search · empty · result (banner, map, timeline, asides, feed)
   ============================================================ */
.trk-hero {
  position: relative;
  padding: 130px 0 70px;
  background: var(--c-paper) url('/wp-content/uploads/wyvern-hero/svc-1-road.jpg') center/cover no-repeat;
  background-color: var(--c-ink);
  overflow: hidden;
  isolation: isolate;
}
.trk-hero__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg, rgba(154,2,14,.82) 0%, rgba(120,6,14,.74) 32%, rgba(60,8,12,.68) 62%, rgba(8,4,4,.74) 100%),
    linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 28%, rgba(0,0,0,.65) 100%);
}
.trk-hero__inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; padding: 0 56px; }
.trk-hero__eyebrow {
  display: inline-block;
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 500;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--c-fg);
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c-fg);
  margin-bottom: 28px;
}
.trk-hero__title {
  font-family: var(--ff-display);
  font-size: clamp(40px, 5.4vw, 76px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin-bottom: 36px;
}
.trk-hero__title .it {
  display: block;
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.72);
}
.trk-hero__sub {
  font-family: var(--ff-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-fg-faint);
  margin-top: 18px;
}
.trk-hero__sub a { color: var(--c-fg); border-bottom: 1px solid var(--c-accent); padding-bottom: 2px; }

/* Big search bar */
.trk-search {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: stretch;
  background: var(--c-ink);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  box-shadow: 0 30px 60px rgba(0,0,0,.55);
}
.trk-search__icon {
  display: flex; align-items: center; justify-content: center;
  color: var(--c-accent);
}
.trk-search__icon svg { width: 22px; height: 22px; }
.trk-search input {
  background: transparent; border: 0;
  font-family: var(--ff-mono);
  font-size: 15px; letter-spacing: .04em;
  color: var(--c-fg);
  padding: 18px 8px;
  width: 100%; outline: 0;
}
.trk-search input::placeholder { color: var(--c-fg-faint); }
.trk-search__btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 0 28px;
  background: var(--c-accent);
  color: var(--c-fg);
  border: 0; cursor: pointer;
  font-family: var(--ff-mono);
  font-size: 12px; font-weight: 700;
  letter-spacing: .26em; text-transform: uppercase;
  transition: background .25s ease, transform .25s ease;
}
.trk-search__btn svg { width: 14px; height: 10px; }
.trk-search__btn:hover { background: #9A020E; transform: translateX(2px); }

/* EMPTY STATE */
.trk-empty { padding: 110px 0; background: var(--c-paper); display: block; }
body.has-track-result .trk-empty { display: none; }
.trk-empty__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--c-line);
  border-left: 1px solid var(--c-line);
}
.trk-empty__cell {
  padding: 36px 28px;
  border-right: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  background: var(--c-paper);
  position: relative;
  transition: background .3s ease;
}
.trk-empty__cell::after {
  content:''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.trk-empty__cell:hover { background: var(--c-paper-2); }
.trk-empty__cell:hover::after { transform: scaleX(1); }
.trk-empty__ix {
  font-family: var(--ff-mono); font-size: 11px; font-weight: 600;
  letter-spacing: .22em; color: var(--c-accent);
  display: block; margin-bottom: 18px;
}
.trk-empty__icon {
  width: 36px; height: 36px;
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.trk-empty__icon svg { width: 100%; height: 100%; }
.trk-empty__cell h3 {
  font-family: var(--ff-display); font-size: 22px; font-weight: 800;
  color: var(--c-fg); letter-spacing: -.005em; margin: 0 0 10px;
}
.trk-empty__cell p {
  font-size: 14px; font-weight: 300; line-height: 1.7;
  color: var(--c-fg-dim); margin: 0;
}
.trk-empty__cell p .mono { font-family: var(--ff-mono); color: var(--c-fg); }
.trk-empty__cell p a { color: var(--c-accent); border-bottom: 1px solid var(--c-accent); }
@media (max-width: 1000px) { .trk-empty__grid { grid-template-columns: 1fr; } }

/* RESULT — hidden by default */
.trk-result { display: none; padding: 80px 0 110px; background: var(--c-paper); }
body.has-track-result .trk-result { display: block; }

/* STATUS BANNER */
.trk-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr);
  gap: 40px;
  padding: 36px 32px;
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  border-left: 4px solid var(--c-accent);
  align-items: center;
  margin-bottom: 24px;
}
.trk-banner__chip {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-accent);
  padding: 6px 12px;
  border: 1px solid rgba(212,5,17,.45);
  margin-bottom: 18px;
}
.trk-banner__chip-led {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(212,5,17,.18);
  animation: trkPulse 2.2s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes trkPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212,5,17,.45); }
  60%      { box-shadow: 0 0 0 8px rgba(212,5,17,0); }
}
.trk-banner__route {
  font-family: var(--ff-display);
  font-size: clamp(28px, 3.6vw, 46px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0 0 14px;
  display: flex; align-items: center; gap: 18px;
  flex-wrap: wrap;
}
.trk-banner__arr { color: var(--c-accent); flex-shrink: 0; }
.trk-banner__refline {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: var(--ff-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-fg-dim);
}
.trk-banner__refline .dot { color: var(--c-line); }
.trk-banner__refline span:first-child { color: var(--c-fg); font-weight: 600; }
.trk-banner__right {
  display: flex; flex-direction: column; gap: 4px;
  text-align: right;
  padding-left: 32px;
  border-left: 1px solid var(--c-line);
  align-self: stretch;
  justify-content: center;
}
.trk-banner__eta-lbl {
  font-family: var(--ff-mono);
  font-size: 10px; letter-spacing: .26em; text-transform: uppercase;
  color: var(--c-fg-faint);
}
.trk-banner__eta-val {
  font-family: var(--ff-display);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 900; color: var(--c-accent);
  letter-spacing: -.005em; line-height: 1;
}
.trk-banner__eta-sub {
  font-size: 13px; font-weight: 300; color: var(--c-fg-dim);
  margin-top: 4px;
}
.trk-banner__eta-sub strong { color: var(--c-fg); font-weight: 700; }
@media (max-width: 900px) {
  .trk-banner { grid-template-columns: 1fr; gap: 24px; }
  .trk-banner__right { text-align: left; padding-left: 0; padding-top: 20px; border-left: 0; border-top: 1px solid var(--c-line); }
}

/* PROGRESS BAR */
.trk-progress { margin-bottom: 32px; padding: 28px 32px; background: var(--c-paper-2); border: 1px solid var(--c-line); }
.trk-progress__rail {
  position: relative;
  height: 4px;
  background: var(--c-line);
  margin: 14px 0 24px;
}
.trk-progress__fill {
  position: absolute; left: 0; top: 0; bottom: 0;
  width: var(--pct, 0%);
  background: var(--c-accent);
  transition: width 1s cubic-bezier(.22,1,.36,1);
}
.trk-progress__truck {
  position: absolute;
  left: var(--pct, 0%);
  top: 50%;
  transform: translate(-50%, -50%);
  width: 38px; height: 26px;
  background: var(--c-paper);
  border: 1px solid var(--c-accent);
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
  z-index: 2;
}
.trk-progress__truck svg { width: 24px; height: 14px; }
.trk-progress__marks {
  display: flex; justify-content: space-between;
  font-family: var(--ff-mono);
}
.trk-progress__marks > span {
  display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-fg-faint);
}
.trk-progress__marks > span strong { color: var(--c-fg-dim); font-weight: 600; }
.trk-progress__marks > span i { font-style: normal; font-size: 9px; color: var(--c-fg-faint); }
.trk-progress__marks > span.is-current strong { color: var(--c-accent); }
.trk-progress__marks > span.is-current i { color: var(--c-accent); }
.trk-progress__marks > span:nth-child(2),
.trk-progress__marks > span:nth-child(3) { align-items: center; }
.trk-progress__marks > span:last-child { align-items: flex-end; }

/* GRID — main + aside */
.trk-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  gap: 24px;
}
.trk-grid__main { display: flex; flex-direction: column; gap: 24px; }
.trk-grid__aside { display: flex; flex-direction: column; gap: 24px; }
@media (max-width: 1000px) { .trk-grid { grid-template-columns: 1fr; } }

/* CARD base */
.trk-card { background: var(--c-paper-2); border: 1px solid var(--c-line); padding: 28px; }
.trk-card__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--c-line);
}
.trk-card__head h3 {
  font-family: var(--ff-display); font-size: 18px; font-weight: 800;
  color: var(--c-fg); letter-spacing: -.005em; margin: 0;
}
.trk-card__tag {
  font-family: var(--ff-mono);
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-accent);
}

/* MAP */
.trk-map { aspect-ratio: 700/360; background: var(--c-ink); }
.trk-map svg { width: 100%; height: 100%; display: block; }

/* TIMELINE */
.trk-timeline { list-style: none; padding: 0; margin: 0; position: relative; }
.trk-timeline::before {
  content: ''; position: absolute;
  left: 9px; top: 20px; bottom: 20px;
  width: 1px; background: var(--c-line);
}
.trk-timeline__step {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 18px;
  padding: 14px 0;
  position: relative;
}
.trk-timeline__dot {
  width: 19px; height: 19px;
  border-radius: 50%;
  background: var(--c-paper);
  border: 2px solid var(--c-fg-faint);
  position: relative; z-index: 1;
  margin-top: 4px;
  transition: all .35s ease;
}
.trk-timeline__step.is-done .trk-timeline__dot {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.trk-timeline__step.is-current .trk-timeline__dot {
  background: var(--c-accent);
  border-color: var(--c-accent);
  box-shadow: 0 0 0 6px rgba(212,5,17,.18);
  animation: trkPulse 2.2s cubic-bezier(.4,0,.2,1) infinite;
}
.trk-timeline__time {
  font-family: var(--ff-mono);
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-fg-faint);
  display: block; margin-bottom: 4px;
}
.trk-timeline__step.is-done .trk-timeline__time,
.trk-timeline__step.is-current .trk-timeline__time { color: var(--c-accent); }
.trk-timeline__step h4 {
  font-family: var(--ff-display); font-size: 17px; font-weight: 800;
  color: var(--c-fg); letter-spacing: -.005em;
  margin: 0 0 6px; line-height: 1.2;
}
.trk-timeline__step p {
  font-size: 13.5px; font-weight: 300; line-height: 1.65;
  color: var(--c-fg-dim); margin: 0;
}

/* DRIVER card */
.trk-driver {
  display: flex; align-items: center; gap: 16px;
  padding-bottom: 18px; margin-bottom: 18px;
  border-bottom: 1px solid var(--c-line);
}
.trk-driver__avatar {
  width: 56px; height: 56px;
  background: linear-gradient(160deg, rgba(212,5,17,.32), rgba(5,5,5,.6));
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-display);
  font-size: 22px; font-weight: 900;
  color: var(--c-fg);
  letter-spacing: -.01em;
  flex-shrink: 0;
}
.trk-driver__name {
  font-family: var(--ff-display); font-size: 18px; font-weight: 800;
  color: var(--c-fg); letter-spacing: -.005em; line-height: 1;
}
.trk-driver__role {
  font-family: var(--ff-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-accent);
  margin-top: 6px;
}

/* META definition list */
.trk-meta { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.trk-meta > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.trk-meta dt {
  font-family: var(--ff-mono); font-size: 10px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-fg-faint); margin: 0;
}
.trk-meta dd {
  font-family: var(--ff-mono); font-size: 12px; color: var(--c-fg);
  margin: 0; text-align: right;
}

/* DOCS list */
.trk-docs { list-style: none; padding: 0; margin: 0; }
.trk-docs li, .trk-docs a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: 12px; letter-spacing: .02em;
  color: var(--c-fg);
  text-decoration: none;
  gap: 12px;
  transition: color .25s ease;
}
.trk-docs li:last-child, .trk-docs li:last-child a { border-bottom: 0; }
.trk-docs a:hover { color: var(--c-accent); }
.trk-docs svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--c-fg-faint); transition: color .25s ease; }
.trk-docs a:hover svg { color: var(--c-accent); }
.trk-docs li.is-pending { color: var(--c-fg-faint); }
.trk-docs__chip {
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  padding: 3px 8px; border: 1px solid var(--c-line);
}

/* ACTIONS */
.trk-actions { display: grid; grid-template-columns: 1fr; gap: 0; }
.trk-action {
  display: grid; grid-template-columns: 32px minmax(0, 1fr);
  align-items: center; gap: 14px;
  padding: 14px 0;
  border: 0; background: transparent;
  border-bottom: 1px solid var(--c-line);
  text-align: left; cursor: pointer;
  font-family: var(--ff-mono);
  font-size: 12px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--c-fg); text-decoration: none;
  transition: padding-left .3s ease, color .25s ease;
}
.trk-action:last-child { border-bottom: 0; }
.trk-action:hover { padding-left: 8px; color: var(--c-accent); }
.trk-action__icon {
  width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--c-line); color: var(--c-accent);
}
.trk-action__icon svg { width: 16px; height: 16px; }

/* FEED card */
.trk-card--feed { margin-top: 24px; }
.trk-feed { list-style: none; padding: 0; margin: 0; }
.trk-feed li {
  display: grid; grid-template-columns: 96px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--c-line);
}
.trk-feed li:last-child { border-bottom: 0; }
.trk-feed__time {
  font-family: var(--ff-mono); font-size: 11px;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-accent);
}
.trk-feed__txt {
  font-size: 14px; font-weight: 300; line-height: 1.55;
  color: var(--c-fg-dim);
}
.trk-feed__txt strong { color: var(--c-fg); font-weight: 600; }
@media (max-width: 600px) {
  .trk-feed li { grid-template-columns: 1fr; gap: 4px; }
}

/* ============================================================
   QUOTE V2 — stepper rail + dark pane card + corridor brief
   ============================================================ */
.quote-v2 { padding: 80px 0 100px; background: var(--c-paper); }

/* RAIL — 5 numbered steps with connector line */
.quote-v2__rail {
  list-style: none; padding: 0; margin: 0 0 32px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  position: relative;
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.quote-v2__step {
  padding: 22px 18px;
  display: flex; flex-direction: column; gap: 8px;
  border-right: 1px solid var(--c-line);
  position: relative;
  transition: background .25s ease;
}
.quote-v2__step:last-child { border-right: 0; }
.quote-v2__step::before {
  content: ''; position: absolute;
  left: 0; right: 0; bottom: -1px; height: 2px;
  background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.quote-v2__step.is-active::before,
.quote-v2__step.is-done::before { transform: scaleX(1); }
.quote-v2__step.is-active { background: var(--c-paper-2); }
.quote-v2__num {
  font-family: var(--ff-display);
  font-size: 22px; font-weight: 200;
  color: var(--c-fg-faint);
  letter-spacing: -.01em;
  transition: color .3s ease;
}
.quote-v2__step.is-active .quote-v2__num,
.quote-v2__step.is-done .quote-v2__num { color: var(--c-accent); font-weight: 900; }
.quote-v2__label {
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-fg-faint);
}
.quote-v2__step.is-active .quote-v2__label,
.quote-v2__step.is-done .quote-v2__label { color: var(--c-fg); }
@media (max-width: 700px) {
  .quote-v2__rail { grid-template-columns: repeat(5, 1fr); }
  .quote-v2__label { display: none; }
  .quote-v2__step { text-align: center; padding: 18px 6px; }
}

/* PANEL */
.quote-v2__panel {
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  padding: 40px 36px;
}
.quote-v2__pane { display: none; }
.quote-v2__pane.is-active { display: block; animation: quoteFade .35s ease both; }
@keyframes quoteFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.quote-v2__pane-head { margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid var(--c-line); }
.quote-v2__pane-tag {
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-accent);
  display: inline-block; margin-bottom: 14px;
}
.quote-v2__pane-title {
  font-family: var(--ff-display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  letter-spacing: -.015em;
  color: var(--c-fg);
  line-height: 1.05; margin: 0 0 10px;
}
.quote-v2__pane-lede {
  font-size: 15px; font-weight: 300; line-height: 1.7;
  color: var(--c-fg-dim);
  margin: 0; max-width: 58ch;
}

/* OPTIONS — radio cards */
.quote-v2__opts { display: grid; gap: 14px; margin-bottom: 28px; }
.quote-v2__opts--3 { grid-template-columns: repeat(3, 1fr); }
.quote-v2__opt {
  position: relative;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  padding: 20px 22px;
  display: flex; flex-direction: column; gap: 6px;
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.quote-v2__opt input { position: absolute; opacity: 0; pointer-events: none; }
.quote-v2__opt:hover { border-color: var(--c-fg-faint); }
.quote-v2__opt.is-sel {
  border-color: var(--c-accent);
  background: rgba(212,5,17,.06);
}
.quote-v2__opt.is-sel::before {
  content: ''; position: absolute;
  top: 0; left: 0; bottom: 0; width: 3px;
  background: var(--c-accent);
}
.quote-v2__opt-t {
  font-family: var(--ff-display);
  font-size: 17px; font-weight: 800;
  color: var(--c-fg);
  letter-spacing: -.005em;
}
.quote-v2__opt-s {
  font-size: 13px; font-weight: 300; line-height: 1.55;
  color: var(--c-fg-dim);
}
@media (max-width: 800px) { .quote-v2__opts--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .quote-v2__opts--3 { grid-template-columns: 1fr; } }

/* FIELDS */
.quote-v2__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.quote-v2__field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.quote-v2__field > span {
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-fg-faint);
}
.quote-v2__field input,
.quote-v2__field select,
.quote-v2__field textarea {
  background: var(--c-paper);
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  padding: 14px 16px;
  font-family: var(--ff-body);
  font-size: 14px;
  width: 100%;
  transition: border-color .25s ease, background .25s ease;
}
.quote-v2__field input:focus,
.quote-v2__field select:focus,
.quote-v2__field textarea:focus {
  outline: 0; border-color: var(--c-accent); background: var(--c-ink);
}
.quote-v2__field textarea { resize: vertical; min-height: 90px; }
@media (max-width: 700px) { .quote-v2__row2 { grid-template-columns: 1fr; } }

/* NAV (pane footer) */
.quote-v2__pane-nav {
  display: flex; align-items: center; justify-content: space-between;
  gap: 18px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--c-line);
}
.quote-v2__pane-nav--end .quote-v2__submit-row {
  display: inline-flex; align-items: center; gap: 18px;
}
.quote-v2__sla {
  font-family: var(--ff-mono);
  font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-fg-faint);
}
.quote-v2__btn {
  border-radius: 3px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 22px;
  background: transparent; color: var(--c-fg);
  border: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.quote-v2__btn:hover { border-color: var(--c-accent); color: var(--c-accent); }
.quote-v2__btn--next {
  background: var(--c-accent); color: var(--c-fg); border-color: var(--c-accent);
}
.quote-v2__btn--next:hover { background: #9A020E; color: var(--c-fg); border-color: #9A020E; transform: translateX(2px); }
.quote-v2__btn--submit {
  background: var(--c-accent); color: var(--c-fg); border-color: var(--c-accent);
  padding: 18px 28px;
  font-size: 12px; letter-spacing: .26em;
}
.quote-v2__btn--submit:hover { background: #9A020E; color: var(--c-fg); border-color: #9A020E; transform: translateX(2px); }

/* REVIEW SUMMARY (definition list) */
.quote-v2__summary {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  padding: 24px 28px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px 32px;
  margin: 0;
}
.quote-v2__summary > div {
  display: flex; flex-direction: column; gap: 4px;
  padding: 8px 0;
  border-bottom: 1px solid var(--c-line);
}
.quote-v2__summary dt {
  font-family: var(--ff-mono);
  font-size: 10px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--c-fg-faint);
}
.quote-v2__summary dd {
  font-family: var(--ff-body);
  font-size: 14px; font-weight: 400;
  color: var(--c-fg);
  margin: 0;
}
@media (max-width: 700px) { .quote-v2__summary { grid-template-columns: 1fr; } }

/* CORRIDOR BRIEF — newsletter band */
.quote-news { padding: 100px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); }
.quote-news__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 56px;
  align-items: center;
}
.quote-news__eyebrow {
  font-family: var(--ff-mono);
  font-size: 11px; font-weight: 500;
  letter-spacing: .26em; text-transform: uppercase;
  color: var(--c-accent);
  display: inline-block; margin-bottom: 18px;
}
.quote-news__title {
  font-family: var(--ff-display);
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 900;
  letter-spacing: -.015em;
  color: var(--c-fg);
  line-height: 1.04;
  margin: 0 0 16px;
}
.quote-news__title .it { display: block; font-style: normal; font-weight: 200; color: rgba(245,239,227,.65); }
.quote-news__inner p {
  font-size: 15px; font-weight: 300; line-height: 1.7;
  color: var(--c-fg-dim);
  max-width: 56ch; margin: 0;
}
.quote-news__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
}
.quote-news__form input {
  background: transparent; border: 0;
  font-family: var(--ff-mono);
  font-size: 14px; letter-spacing: .04em;
  color: var(--c-fg);
  padding: 18px 22px;
  outline: 0;
}
.quote-news__form input::placeholder { color: var(--c-fg-faint); }
.quote-news__form button {
  background: var(--c-accent); color: var(--c-fg);
  border: 0; cursor: pointer;
  padding: 0 28px;
  font-family: var(--ff-mono);
  font-size: 12px; font-weight: 700;
  letter-spacing: .24em; text-transform: uppercase;
  transition: background .25s ease, transform .25s ease;
}
.quote-news__form button:hover { background: #9A020E; transform: translateX(2px); }
@media (max-width: 1000px) { .quote-news__inner { grid-template-columns: 1fr; gap: 28px; } }

/* JOB OPPORTUNITIES — role-family category grid (legacy, kept dormant) */
.careers-opps { padding: 110px 0; background: var(--c-paper); }
.careers-opps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--c-line);
  border-left: 1px solid var(--c-line);
}
.careers-opps__cell {
  padding: 36px 28px;
  background: var(--c-paper);
  border-right: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
  display: grid;
  grid-template-columns: 36px 44px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 18px;
  row-gap: 14px;
  align-items: start;
  position: relative;
  transition: background .3s ease;
}
.careers-opps__cell::after {
  content: ''; position: absolute; left: 0; top: 0;
  width: 100%; height: 2px;
  background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.careers-opps__cell:hover { background: var(--c-paper-2); }
.careers-opps__cell:hover::after { transform: scaleX(1); }
.careers-opps__ix {
  grid-row: 1; grid-column: 1;
  font-family: var(--ff-display);
  font-size: 36px;
  font-weight: 200;
  line-height: 1;
  color: var(--c-fg-faint);
  letter-spacing: -.02em;
}
.careers-opps__icon {
  grid-row: 1; grid-column: 2;
  width: 44px; height: 44px;
  border: 1px solid var(--c-line);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--c-accent);
}
.careers-opps__icon svg { width: 24px; height: 24px; }
.careers-opps__cell h3 {
  grid-row: 1; grid-column: 3;
  font-family: var(--ff-display);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
  align-self: center;
}
.careers-opps__cell p {
  grid-row: 2; grid-column: 1 / -1;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) {
  .careers-opps__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .careers-opps__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   CONTACT PAGE — channels · form+promise · hub cards · map
   ============================================================ */

/* CHANNELS — 4 fast-action cards */
.contact-channels { padding: 110px 0 90px; background: var(--c-paper); }
.contact-channels > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.contact-channels > .wrap > .about-section__title { margin-bottom: 48px; }
.contact-channels__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.contact-channel {
  position: relative;
  display: flex; flex-direction: column; gap: 14px;
  padding: 32px 24px 28px;
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  text-decoration: none;
  color: inherit;
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
  overflow: hidden;
}
.contact-channel::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--c-accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.contact-channel:hover { transform: translateY(-4px); border-color: var(--c-accent); }
.contact-channel:hover::after { transform: scaleX(1); }
.contact-channel__icon {
  width: 40px; height: 40px;
  color: var(--c-accent);
  display: inline-flex; align-items: center; justify-content: center;
}
.contact-channel__icon svg { width: 100%; height: 100%; }
.contact-channel__tag {
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-accent);
  padding: 4px 8px;
  border: 1px solid rgba(212,5,17,.45);
  display: inline-flex;
  align-self: flex-start;
}
.contact-channel h3 {
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0;
  line-height: 1.15;
}
.contact-channel p {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.6;
  color: var(--c-fg-dim);
  margin: 0;
  flex: 1;
}
.contact-channel__val {
  margin-top: 8px; padding-top: 14px;
  border-top: 1px solid var(--c-line);
  font-family: var(--ff-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--c-fg);
}
@media (max-width: 1000px) { .contact-channels__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px)  { .contact-channels__grid { grid-template-columns: 1fr; } }

/* FORM + WHAT-HAPPENS-NEXT */
.contact-form { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.contact-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 64px;
  align-items: start;
}
.contact-form__card {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  padding: 36px;
}
.contact-form__eyebrow {
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 700;
  font-size: 15px;
  color: var(--c-accent);
  margin-bottom: 14px;
  display: inline-block;
}
.contact-form__title {
  font-family: var(--ff-display);
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0 0 28px;
}
.contact-form__title .it {
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.65);
  display: block;
}
.contact-form__form { display: flex; flex-direction: column; gap: 22px; }
.contact-form__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.contact-form__field { display: flex; flex-direction: column; gap: 8px; }
.contact-form__field label {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
}
.contact-form__field input,
.contact-form__field select,
.contact-form__field textarea {
  background: var(--c-paper-2);
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  padding: 14px 16px;
  font-family: var(--ff-body);
  font-size: 14px;
  transition: border-color .25s ease, background .25s ease;
  width: 100%;
}
.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder { color: var(--c-fg-faint); }
.contact-form__field input:focus,
.contact-form__field select:focus,
.contact-form__field textarea:focus {
  outline: 0;
  border-color: var(--c-accent);
  background: var(--c-ink);
}
.contact-form__field textarea { resize: vertical; min-height: 120px; }
.contact-form__submit {
  align-self: flex-start;
  background: var(--c-accent);
  color: var(--c-fg);
  border: 0;
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  padding: 16px 28px;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.contact-form__submit:hover { background: #9A020E; transform: translateX(4px); }

.contact-form__promise { padding-top: 12px; }
.contact-form__promise-title {
  font-family: var(--ff-display);
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0 0 28px;
}
.contact-form__promise-title .it {
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.65);
  display: block;
}
.contact-form__steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; }
.contact-form__steps li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-bottom: 1px solid var(--c-line);
}
.contact-form__steps li:last-child { border-bottom: 0; }
.contact-form__step-num {
  font-family: var(--ff-display);
  font-size: 30px;
  font-weight: 200;
  line-height: 1;
  color: var(--c-accent);
  letter-spacing: -.01em;
}
.contact-form__steps h4 {
  font-family: var(--ff-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.005em;
  color: var(--c-fg);
  margin: 0 0 6px;
  line-height: 1.2;
}
.contact-form__steps p {
  font-size: 13.5px;
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0;
}
@media (max-width: 1000px) {
  .contact-form__inner { grid-template-columns: 1fr; gap: 40px; }
  .contact-form__row2 { grid-template-columns: 1fr; }
}

/* HUBS — 3 cards in a row */
.contact-hubs { padding: 110px 0; background: var(--c-paper); }
.contact-hubs > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.contact-hubs > .wrap > .about-section__title { margin-bottom: 48px; }
.contact-hubs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.contact-hub {
  background: var(--c-paper-2);
  border: 1px solid var(--c-line);
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 20px;
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
  position: relative;
  overflow: hidden;
}
.contact-hub::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--c-accent);
  transform: scaleY(0); transform-origin: top;
  transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.contact-hub:hover { transform: translateY(-4px); border-color: var(--c-accent); }
.contact-hub:hover::before { transform: scaleY(1); }
.contact-hub__top {
  position: relative;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--c-line);
}
.contact-hub__chip {
  position: absolute; top: 0; right: 0;
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--c-fg);
  padding: 6px 12px;
  background: var(--c-accent);
}
.contact-hub h3 {
  font-family: var(--ff-display);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -.015em;
  color: var(--c-fg);
  margin: 0 0 8px;
  line-height: 1;
}
.contact-hub__role {
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin: 0;
}
.contact-hub__meta {
  margin: 0;
  display: flex; flex-direction: column; gap: 14px;
}
.contact-hub__meta > div {
  display: flex; flex-direction: column; gap: 4px;
}
.contact-hub__meta dt {
  font-family: var(--ff-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-fg-faint);
  margin: 0;
}
.contact-hub__meta dd {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--c-fg);
  margin: 0;
}
.contact-hub__meta dd a {
  color: var(--c-fg);
  border-bottom: 1px solid rgba(245,239,227,.2);
  transition: color .25s ease, border-color .25s ease;
}
.contact-hub__meta dd a:hover { color: var(--c-accent); border-color: var(--c-accent); }
@media (max-width: 1000px) { .contact-hubs__grid { grid-template-columns: 1fr; } }

/* MAP SECTION */
.contact-map-wrap { padding: 110px 0; background: var(--c-paper-2); border-top: 1px solid var(--c-line); }
.contact-map-wrap > .wrap > .about-section__eyebrow { display: inline-block; margin-bottom: 16px; }
.contact-map-wrap > .wrap > .about-section__title { margin-bottom: 48px; }
.contact-map-wrap .contact-map {
  border: 1px solid var(--c-line);
  border-top: 3px solid var(--c-accent);
  background: var(--c-paper);
  padding: 16px;
}
.contact-map-wrap .contact-map svg {
  width: 100%; height: auto; display: block;
}

/* Hero stat helpers shared across svc detail pages — handle <sub>, <sup>, .sm */
.about-hero--split .about-hero__stat-num sub {
  font-size: .42em;
  vertical-align: baseline;
  position: relative; bottom: -.1em;
  color: var(--c-accent);
  margin-left: 2px;
}
.about-hero--split .about-hero__stat-num sup {
  font-size: .42em;
  vertical-align: super;
  color: var(--c-accent);
  margin-left: 2px;
}
.about-hero--split .about-hero__stat-num .sm {
  font-size: .55em;
  opacity: .65;
  letter-spacing: -.02em;
}

/* ============================================================ */
/* CTA banner */
/* CTA banner — full-bleed sunset photo + blood-moon veil */
.ctaband {
  background: var(--c-bush);
  color: var(--c-fg);
  padding: 80px 0;
  position: relative; overflow: hidden;
}
.ctaband__inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.ctaband h2 { color: var(--c-fg); margin-bottom: 18px; max-width: 22ch; }
.ctaband p { color: var(--c-paper-dim); max-width: 42ch; margin-bottom: 28px; }

/* ---- Banner variant: cinematic full-bleed treatment ---- */
.ctaband--banner {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--c-ink);
  padding: 140px 0;
  min-height: 520px;
  isolation: isolate;
}
.ctaband--banner .ctaband__veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(105deg,
      rgba(154,2,14,.78) 0%,
      rgba(120,6,14,.7) 30%,
      rgba(60,8,12,.62) 58%,
      rgba(8,4,4,.65) 100%),
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 30%, rgba(0,0,0,.55) 100%);
}
.ctaband--banner .wrap { position: relative; z-index: 2; max-width: 1320px; }
.ctaband--banner .ctaband__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  gap: 80px;
  align-items: center;
}
.ctaband--banner .ctaband__copy { max-width: 640px; }
.ctaband--banner .ctaband__eyebrow {
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 22px;
}
.ctaband--banner .ctaband__title {
  font-family: var(--ff-display);
  font-weight: 900;
  font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--c-fg);
  margin: 0 0 24px;
  max-width: none;
}
.ctaband--banner .ctaband__title .it {
  display: block;
  font-style: normal;
  font-weight: 200;
  color: rgba(245,239,227,.72);
  letter-spacing: -.015em;
}
.ctaband--banner .ctaband__copy p {
  color: rgba(245,239,227,.86);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 56ch;
}
.ctaband--banner .ctaband__actions {
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
}
.ctaband--banner .ctaband__link {
  color: var(--c-fg);
  font-family: var(--ff-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(245,239,227,.4);
  transition: color .2s ease, border-color .25s ease;
}
.ctaband--banner .ctaband__link:hover { color: var(--c-accent); border-color: var(--c-accent); }

/* Right column — vertical meta data column */
.ctaband--banner .ctaband__meta {
  display: flex; flex-direction: column;
  gap: 0;
  border-left: 1px solid rgba(245,239,227,.22);
  padding-left: 32px;
}
.ctaband--banner .ctaband__meta > div {
  padding: 18px 0;
  border-bottom: 1px solid rgba(245,239,227,.12);
  display: flex; flex-direction: column; gap: 6px;
}
.ctaband--banner .ctaband__meta > div:last-child { border-bottom: 0; }
.ctaband--banner .ctaband__meta .k {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: rgba(245,239,227,.55);
}
.ctaband--banner .ctaband__meta .v {
  font-family: var(--ff-display);
  font-size: 32px;
  font-weight: 900;
  color: var(--c-fg);
  line-height: 1;
  letter-spacing: -.01em;
}

@media (max-width: 900px) {
  .ctaband__inner { grid-template-columns: 1fr; }
  .ctaband--banner { padding: 100px 0; min-height: 0; }
  .ctaband--banner .ctaband__inner { gap: 48px; }
  .ctaband--banner .ctaband__meta {
    border-left: 0; border-top: 1px solid rgba(245,239,227,.22);
    padding-left: 0; padding-top: 16px;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .ctaband--banner .ctaband__meta > div {
    flex: 1 1 30%; border-bottom: 0;
    padding: 12px 0;
  }
  .ctaband--banner .ctaband__meta .v { font-size: 24px; }
}

/* ============================================================ */
/* Case studies */
.cases__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.case {
  display: flex; flex-direction: column; gap: 18px;
}
.case .thumb { aspect-ratio: 4/3; background: var(--c-bone); overflow: hidden; position: relative; }
.case .thumb img { width: 100%; height: 100%; object-fit: cover; filter: var(--img-filter); transition: transform .6s ease; }
.case:hover .thumb img { transform: scale(1.04); }
.case .tag { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-accent-readable); }
.case h3 { font-size: 24px; }
.case p { color: var(--c-mute); font-size: 14px; margin: 0; }
@media (max-width: 900px) { .cases__grid { grid-template-columns: 1fr; } }

/* ============================================================ */
/* Testimonials */
.testimonials { background: var(--c-paper-2); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.testimonial {
  background: var(--c-paper);
  border: 1px solid var(--c-line);
  padding: 32px 28px;
  display: flex; flex-direction: column; gap: 22px;
  min-height: 280px;
  position: relative;
}
.testimonial .qmark {
  font-family: var(--ff-display);
  font-size: 80px; line-height: .6;
  color: var(--c-accent);
  margin-bottom: -10px;
}
.testimonial blockquote {
  margin: 0; font-family: var(--ff-display); font-size: 20px; line-height: 1.3; color: var(--c-fg);
}
.testimonial .person { display: flex; gap: 14px; align-items: center; margin-top: auto; }
.testimonial .avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--c-bone);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--ff-mono); font-size: 12px; color: var(--c-mute);
}
.testimonial .meta-name { font-weight: 600; font-size: 14px; }
.testimonial .meta-role { color: var(--c-mute); font-size: 12px; font-family: var(--ff-mono); letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 900px) { .testimonials__grid { grid-template-columns: 1fr; } }

/* ============================================================ */
/* Newsletter */
.newsletter { background: var(--c-ink); color: var(--c-fg); padding: 80px 0; }
.newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.newsletter h2 { color: var(--c-fg); }
.newsletter p { color: var(--c-paper-dim); margin-top: 14px; max-width: 42ch; }
.newsletter form { display: flex; gap: 0; border-bottom: 1px solid rgba(247,244,238,.3); }
.newsletter input {
  flex: 1; background: transparent; border: 0; outline: none;
  font-family: var(--ff-display); font-size: 28px; color: var(--c-fg); padding: 14px 0;
}
.newsletter input::placeholder { color: rgba(247,244,238,.4); }
.newsletter button { background: transparent; border: 0; color: var(--c-fg); font-family: var(--ff-mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; padding: 14px 18px; }
.newsletter button:hover { color: var(--c-accent); }
@media (max-width: 800px) { .newsletter__inner { grid-template-columns: 1fr; } }

/* ============================================================ */
/* Footer — four columns + slim legal bar */
footer.foot {
  background: var(--c-ink);
  color: var(--c-fg);
  border-top: 1px solid var(--c-line);
}
.foot__main { padding: 56px 0 28px; }
.foot__grid {
  display: grid;
  grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(140px, 1fr));
  gap: 48px 56px;
  align-items: start;
}
.foot__brand .brand__lockup {
  height: 64px;
  width: auto;
  display: block;
  margin-bottom: 22px;
}
.foot__brand > p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: var(--c-fg-dim);
  margin: 0 0 22px;
  max-width: 40ch;
}
.foot__contact {
  margin: 0;
  padding: 0;
  list-style: none;
}
.foot__contact li { margin-bottom: 10px; }
.foot__contact a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.4;
  color: var(--c-fg-dim);
  text-decoration: none;
  transition: color .2s ease;
}
.foot__contact a:hover { color: var(--c-fg); }
.foot__contact svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--c-accent);
}
.foot__col h2 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--c-fg);
  margin: 0 0 20px;
}
.foot__col ul { margin: 0; padding: 0; list-style: none; }
.foot__col li { margin-bottom: 10px; }
.foot__col a {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.45;
  color: var(--c-fg-dim);
  text-decoration: none;
  transition: color .2s ease;
}
.foot__col a:hover { color: var(--c-fg); }
.foot__bottom {
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid var(--c-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px 20px;
}
.foot__copy {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--c-fg-faint);
  margin: 0;
}
.foot__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.foot__legal a {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--c-fg-faint);
  text-decoration: none;
  transition: color .2s ease;
}
.foot__legal a:hover { color: var(--c-fg); }

@media (max-width: 960px) {
  .foot__grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px 36px;
  }
  .foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .foot__grid { grid-template-columns: 1fr; gap: 36px; }
  .foot__main { padding: 40px 0 24px; }
  .foot__bottom {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 36px;
  }
}

/* ============================================================ */
/* Page hero (breadcrumb pages) */
.pagehero {
  background: var(--c-ink);
  color: var(--c-fg);
  padding: 80px 0 96px;
  position: relative; overflow: hidden;
}
.pagehero .crumbs { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-paper-faint); margin-bottom: 36px; display: flex; gap: 14px; align-items: center; }
.pagehero .crumbs a { color: var(--c-paper-dim); }
.pagehero .crumbs .sep { color: var(--c-paper-faint); }
.pagehero h1 { color: var(--c-fg); max-width: 16ch; }
.pagehero .lede { color: var(--c-paper-dim); margin-top: 24px; }
.pagehero .corridor { position: absolute; right: -10%; bottom: -20%; width: 60%; opacity: .25; pointer-events: none; }
.pagehero .corridor svg { width: 100%; height: 100%; }

/* ============================================================ */
/* Service detail (Road Transport exemplar) */
.svc-detail__head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: end; }
.svc-detail__head .stat { display: flex; flex-direction: column; gap: 14px; align-items: flex-end; }
.svc-detail__head .stat .big { font-family: var(--ff-display); font-size: clamp(64px, 8vw, 120px); line-height: .9; color: var(--c-accent); }
.svc-detail__head .stat .lbl { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-mute); text-align: right; max-width: 24ch; }

.svc-body { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 80px; }
.svc-body .col h3 { margin-bottom: 18px; }
.svc-body .col p { color: var(--c-mute); margin-bottom: 18px; }
.svc-body ul.checks li {
  display: grid; grid-template-columns: auto 1fr; gap: 14px;
  padding: 14px 0; border-top: 1px solid var(--c-line);
  font-size: 14px;
}
.svc-body ul.checks li:last-child { border-bottom: 1px solid var(--c-line); }
.svc-body ul.checks .tick { width: 18px; height: 18px; color: var(--c-accent); }
.svc-body ul.checks .lbl { font-weight: 600; }
.svc-body ul.checks .sub { color: var(--c-mute); font-size: 13px; }
.svc-body .col.right { background: var(--c-bone); padding: 36px; }
.svc-body .price-card { background: var(--c-ink); color: var(--c-fg); padding: 32px; margin-top: 24px; }
.svc-body .price-card .row { display: flex; justify-content: space-between; padding: 14px 0; border-top: 1px solid rgba(247,244,238,.15); font-size: 14px; }
.svc-body .price-card .row:first-of-type { border-top: 0; }
.svc-body .price-card .row .v { font-family: var(--ff-display); }
@media (max-width: 880px) { .svc-detail__head, .svc-body { grid-template-columns: 1fr; gap: 32px; } .svc-detail__head .stat { align-items: flex-start; } .svc-detail__head .stat .lbl { text-align: left; } }

/* ============================================================ */
/* Industry detail (Mining exemplar) */
.ind-detail__head { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; }
.ind-detail .pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--c-line); border: 1px solid var(--c-line); margin-top: 64px; }
.ind-detail .pillar { background: var(--c-paper); padding: 36px 28px; display: flex; flex-direction: column; gap: 14px; }
.ind-detail .pillar .num { font-family: var(--ff-display); font-size: 56px; color: var(--c-accent); line-height: 1; }
.ind-detail .pillar h4 { font-size: 18px; }
.ind-detail .pillar p { color: var(--c-mute); font-size: 14px; }
@media (max-width: 880px) { .ind-detail__head { grid-template-columns: 1fr; } .ind-detail .pillars { grid-template-columns: 1fr; } }

/* ============================================================ */
/* Careers */
.career__grid { display: grid; gap: 0; border-top: 1px solid var(--c-line); }
.career__row {
  display: grid; grid-template-columns: auto 1.4fr 1fr 1fr auto;
  gap: 24px; align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid var(--c-line);
  transition: background .25s ease;
}
.career__row:hover { background: var(--c-bone); padding-left: 16px; padding-right: 16px; }
.career__num { font-family: var(--ff-mono); font-size: 11px; color: var(--c-mute); letter-spacing: .2em; }
.career__title { font-family: var(--ff-display); font-size: 26px; line-height: 1; }
.career__meta { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-mute); }
.career__cta { display: inline-flex; align-items: center; gap: 10px; }
.career__cta .arrow {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--c-ink); display:inline-flex; align-items: center; justify-content: center;
  transition: background .25s, color .25s, border-color .25s;
}
.career__row:hover .career__cta .arrow { background: var(--c-ink); color: var(--c-fg); }
@media (max-width: 880px) {
  .career__row { grid-template-columns: 1fr; gap: 8px; padding: 22px 0; }
  .career__title { font-size: 22px; }
}

.benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 64px; }
.benefits .b { padding: 24px; background: var(--c-paper); border: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 10px; }
.benefits .b .ix { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; color: var(--c-accent); }
.benefits .b h4 { font-size: 18px; }
.benefits .b p { color: var(--c-mute); font-size: 13px; }
@media (max-width: 880px) { .benefits { grid-template-columns: 1fr 1fr; } }

/* ============================================================ */
/* Contact */
.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.contact form { display: flex; flex-direction: column; gap: 22px; }
.contact label { display: flex; flex-direction: column; gap: 6px; font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-mute); }
.contact input, .contact textarea, .contact select {
  background: transparent;
  border: 0; border-bottom: 1px solid rgba(245,239,227,.22);
  padding: 10px 0;
  font-family: var(--ff-display); font-size: 22px;
  color: var(--c-fg);
  outline: none;
  transition: border-color .25s ease;
}
.contact input:focus, .contact textarea:focus, .contact select:focus { border-color: var(--c-accent); }
.contact textarea { font-family: var(--ff-body); font-size: 16px; min-height: 100px; resize: vertical; }
.contact .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.contact .info { background: var(--c-ink); color: var(--c-fg); padding: 48px 40px; display: flex; flex-direction: column; gap: 32px; }
.contact .info h3 { color: var(--c-fg); font-size: 32px; }
.contact .info .item { display: grid; grid-template-columns: auto 1fr; gap: 18px; }
.contact .info .item .glyph { width: 40px; height: 40px; border-radius: 50%; background: rgba(247,244,238,.08); display:inline-flex; align-items: center; justify-content: center; color: var(--c-accent); }
.contact .info .lbl { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-paper-faint); margin-bottom: 6px; }
.contact .info .val { font-size: 16px; }

.contact-map { margin-top: 64px; aspect-ratio: 18/7; background: var(--c-ink); position: relative; overflow: hidden; }
.contact-map svg { width: 100%; height: 100%; display: block; }
@media (max-width: 880px) { .contact__grid { grid-template-columns: 1fr; } .contact .row2 { grid-template-columns: 1fr; } }

/* ============================================================ */
/* Quote form (stepper) */
.quote {
  display: grid; grid-template-columns: 320px 1fr; gap: 80px;
}
.quote__steps { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 112px; align-self: start; }
.quote__step {
  display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center;
  padding: 16px 0;
  border-top: 1px solid var(--c-line);
  font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-mute);
  transition: color .25s ease;
}
.quote__step:last-of-type { border-bottom: 1px solid var(--c-line); }
.quote__step .num {
  width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--c-line);
  display:inline-flex; align-items: center; justify-content: center;
  font-family: var(--ff-display); font-size: 16px; color: var(--c-mute);
  transition: all .25s ease;
}
.quote__step.active { color: var(--c-fg); }
.quote__step.active .num { background: var(--c-ink); color: var(--c-fg); border-color: var(--c-accent); }
.quote__step.done { color: var(--c-accent); }
.quote__step.done .num { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-ink); }

.quote__panel { background: var(--c-paper); border: 1px solid var(--c-line); padding: 48px; min-height: 540px; display: flex; flex-direction: column; }
.quote__panel h2 { margin-bottom: 12px; }
.quote__panel p.lede { font-size: 16px; max-width: 50ch; margin-bottom: 32px; }
.quote__panel .pane { display: none; flex-direction: column; gap: 22px; flex: 1; }
.quote__panel .pane.active { display: flex; }
.quote__panel .field { display: flex; flex-direction: column; gap: 6px; }
.quote__panel .field label { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-mute); }
.quote__panel input, .quote__panel select, .quote__panel textarea {
  background: transparent; border: 0; border-bottom: 1px solid rgba(245,239,227,.22);
  font-family: var(--ff-display); font-size: 24px; padding: 8px 0; color: var(--c-fg); outline: none;
}
.quote__panel input:focus, .quote__panel select:focus, .quote__panel textarea:focus { border-color: var(--c-accent); }
.quote__panel .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.quote__panel .opts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.quote__panel .opt {
  border: 1px solid var(--c-line); padding: 20px;
  display: flex; flex-direction: column; gap: 6px;
  cursor: pointer; transition: border-color .25s, background .25s;
}
.quote__panel .opt input { display: none; }
.quote__panel .opt:hover { border-color: var(--c-fg); }
.quote__panel .opt.sel { border-color: var(--c-accent); background: var(--c-bone); }
.quote__panel .opt .t { font-family: var(--ff-display); font-size: 22px; }
.quote__panel .opt .s { font-size: 13px; color: var(--c-mute); }
.quote__panel .nav { margin-top: auto; display: flex; justify-content: space-between; padding-top: 32px; gap: 16px; }
.quote__panel .nav .btn--ghost { padding: 12px 18px; }
.quote__panel .summary { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; padding: 24px; background: var(--c-bone); }
.quote__panel .summary .r { display: flex; justify-content: space-between; font-size: 14px; border-bottom: 1px dashed var(--c-line); padding: 6px 0; }
.quote__panel .summary .r .k { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--c-mute); }

@media (max-width: 880px) {
  .quote { grid-template-columns: 1fr; gap: 32px; }
  .quote__steps { position: static; flex-direction: row; overflow-x: auto; gap: 8px; padding-bottom: 8px; }
  .quote__step { white-space: nowrap; border: 1px solid var(--c-line); padding: 12px; }
  .quote__step:last-of-type { border-bottom: 1px solid var(--c-line); }
  .quote__panel { padding: 28px; }
  .quote__panel .opts, .quote__panel .row2, .quote__panel .summary { grid-template-columns: 1fr; }
}

/* ============================================================ */
/* Placeholders for missing imagery */
.imgph {
  position: relative;
  background:
    repeating-linear-gradient(
      135deg,
      var(--c-bone),
      var(--c-bone) 14px,
      var(--c-ink-2) 14px,
      var(--c-ink-2) 28px
    );
  color: var(--c-mute);
  overflow: hidden;
}
.imgph > img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: var(--img-filter);
  transition: opacity .4s ease, transform .6s ease;
  z-index: 1;
}
.imgph > img.loaded { opacity: 1; }
.imgph > img { opacity: 0; }                 /* fade in on load */
.imgph > .label-chip {                       /* corner tag for label */
  position: absolute; left: 12px; bottom: 12px;
  z-index: 2;
  font-family: var(--ff-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  background: rgba(10,10,9,.88); border: 1px solid rgba(245,239,227,.22);
  color: var(--c-fg);
  padding: 4px 8px;
  backdrop-filter: blur(4px);
}
.imgph::after {
  content: attr(data-label);
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-mute);
  text-align: center; padding: 12px;
}
.imgph.dark {
  background:
    repeating-linear-gradient(135deg, rgba(247,244,238,.04), rgba(247,244,238,.04) 12px, rgba(247,244,238,.02) 12px, rgba(247,244,238,.02) 24px);
}
.imgph.dark::after { color: var(--c-paper-faint); }

/* ============================================================ */
/* Google reviews */
.greviews { background: var(--c-paper-2); }
.greviews__header {
  display: grid; grid-template-columns: 1fr auto; gap: 32px;
  align-items: end; margin-bottom: 48px;
}
.greviews__brand { display: flex; align-items: center; gap: 18px; }
.greviews__glogo {
  display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--c-paper); border: 1px solid var(--c-line);
}
.greviews__glogo svg { width: 28px; height: 28px; }
.greviews__rating { display: flex; flex-direction: column; gap: 4px; }
.greviews__rating .num {
  font-family: var(--ff-display); font-weight: 800;
  font-size: clamp(48px, 5vw, 72px); line-height: 1;
  color: var(--c-fg); display: inline-flex; align-items: baseline; gap: 16px;
}
.greviews__rating .stars { display: inline-flex; gap: 4px; align-items: center; }
.greviews__rating .stars svg { width: 28px; height: 28px; color: var(--c-accent); }
.greviews__rating .meta { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-mute); }

.greviews__cta { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.greviews__cta .label { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--c-mute); }

/* Carousel — native horizontal scroll with snap, plus prev/next buttons.
   Saves a huge amount of vertical space vs the previous 3x2 grid. */
.greviews__carousel { position: relative; }
.greviews__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 4px 0 28px;
  scroll-padding-left: 0;
}
.greviews__track::-webkit-scrollbar { display: none; }
.greviews__track > .greview {
  scroll-snap-align: start;
  min-width: 0;
}
.greviews__ctrl {
  position: absolute;
  top: 38%;
  transform: translateY(-50%);
  width: 48px; height: 48px;
  background: var(--c-ink);
  color: var(--c-fg);
  border: 1px solid var(--c-line);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 4;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
}
.greviews__ctrl:hover { background: var(--c-accent); border-color: var(--c-accent); transform: translateY(-50%) scale(1.06); }
.greviews__ctrl--prev { left: -24px; }
.greviews__ctrl--next { right: -24px; }
.greviews__ctrl[disabled] { opacity: .35; cursor: not-allowed; pointer-events: none; }

@media (max-width: 1100px) { .greviews__track { grid-auto-columns: calc((100% - 24px) / 2); } }
@media (max-width: 700px) {
  .greviews__track { grid-auto-columns: 88%; }
  .greviews__ctrl--prev { left: 8px; }
  .greviews__ctrl--next { right: 8px; }
}
.greview {
  background: var(--c-paper); border: 1px solid var(--c-line);
  padding: 28px 26px;
  display: flex; flex-direction: column; gap: 18px;
  min-height: 320px;
}
.greview__head { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.greview__avatar {
  width: 44px; height: 44px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--ff-body); font-weight: 700; font-size: 16px;
  color: var(--c-ink); flex: none;
}
.greview__avatar.c1 { background: #F5C84B; }
.greview__avatar.c2 { background: #E07A5F; }
.greview__avatar.c3 { background: #81B29A; }
.greview__avatar.c4 { background: #3D5A80; color: var(--c-fg); }
.greview__avatar.c5 { background: #B5651D; color: var(--c-fg); }
.greview__avatar.c6 { background: #9B7EBD; }
.greview__name { font-weight: 700; font-size: 15px; line-height: 1.1; }
.greview__sub { font-size: 12px; color: var(--c-mute); font-family: var(--ff-body); margin-top: 3px; display: inline-flex; align-items: center; gap: 6px; }
.greview__sub .badge {
  font-family: var(--ff-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase;
  padding: 2px 6px; background: rgba(212,5,17,.18); color: var(--c-accent-readable); border-radius: 2px;
}
.greview__google {
  width: 18px; height: 18px; opacity: .55;
}
.greview__rating { display: flex; gap: 4px; align-items: center; }
.greview__rating svg { width: 16px; height: 16px; color: var(--c-accent); }
.greview__rating .date { font-family: var(--ff-body); font-size: 12px; color: var(--c-mute); margin-left: 8px; }
.greview__body { font-size: 14.5px; line-height: 1.55; color: var(--c-fg-dim); }
.greview__photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: auto; }
.greview__photos .ph {
  aspect-ratio: 1/1; background: var(--c-bone); position: relative; overflow: hidden;
}
.greview__photos .ph img { width: 100%; height: 100%; object-fit: cover; }
.greview__like {
  display: inline-flex; align-items: center; gap: 14px; padding-top: 12px;
  border-top: 1px solid var(--c-line);
  font-family: var(--ff-body); font-size: 12px; color: var(--c-mute);
}
.greview__like .helpful { display: inline-flex; align-items: center; gap: 6px; }
.greview__like svg { width: 14px; height: 14px; }
@media (max-width: 960px) { .greviews__grid { grid-template-columns: 1fr; } .greviews__header { grid-template-columns: 1fr; } .greviews__cta { align-items: flex-start; } }

/* ============================================================ */
/* utility */
.center { text-align: center; }
.spacer-32 { height: 32px; }
.spacer-64 { height: 64px; }
.muted { color: var(--c-mute); }
.accent { color: var(--c-accent); }
.divider-rule { height: 1px; background: var(--c-line); margin: 32px 0; }

@media (max-width: 980px) {
  body.menu-open {
    overflow: hidden;
  }
  body.menu-open .nav-links {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    inset: 0;
    top: var(--nav-h);
    background: rgba(10, 10, 9, 0.98);
    backdrop-filter: blur(15px);
    z-index: 55;
    gap: 32px;
    padding: 40px;
    border-top: 1px solid var(--c-line);
  }
  body.menu-open .nav-links a {
    font-size: 28px;
    font-family: var(--ff-display);
    font-weight: 700;
    color: var(--c-fg);
  }
  body.menu-open .nav-burger svg path {
    stroke: var(--c-accent);
  }
}

  /* ============================================================ */
  /* Trailers & Fleet Solutions — namespaced .trx (from pages/trailers.html) */
  /* ============================================================ */
.trx{
  --c-ink:#050505;
  --c-paper:#0A0A09;
  --c-paper-2:#14140F;
  --c-bone:#1C1B16;
  --c-accent:#D40511; --c-accent-2:#A00410; --c-accent-soft:#E84B54;
  --c-gold:#FFCC00;
  --c-fg:#F5EFE3;
  --c-fg-dim:rgba(245,239,227,.78);
  --c-fg-faint:rgba(245,239,227,.58);
  --c-ink-text:#0A0A09;
  --c-card:var(--c-paper-2); --c-card-2:var(--c-bone);
  --c-line:rgba(245,239,227,.10); --c-line-soft:rgba(245,239,227,.05);
  --c-mine:#E8915A; --c-agri:#5FC87A; --c-constr:#C9A227; --c-fmcg:#5DA9E9; --c-cold:#67D5D0; --c-abn:#E84B54; --c-cont:#B79CED;
  --font-heading:"Saira Condensed","Arial Narrow",system-ui,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:var(--font-body);
  --weight-body:400; --weight-medium:500; --weight-semibold:600; --weight-button:700; --weight-heading:800; --weight-black:900;
  --tracking-tight:-.01em; --tracking-heading:.01em; --tracking-label:.14em; --tracking-wide:.2em;
  --line-heading:.96; --line-tight:1.08; --line-body:1.65;
  --fs-hero:clamp(2.15rem, 4.5vw + 1.2rem, 4.6rem);
  --fs-h2:clamp(1.9rem, 3vw + .5rem, 3.2rem);
  --fs-h3:clamp(1.05rem, .4vw + .95rem, 1.2rem);
  --fs-lead:clamp(1rem, .5vw + .9rem, 1.12rem);
  --fs-body:.9375rem; --fs-small:.8125rem; --fs-label:.6875rem; --fs-micro:.625rem;
  --content-w:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
}
.trx,.trx *{box-sizing:border-box;margin:0;padding:0;}
.trx{
  font-family:var(--font-body);color:var(--c-fg);font-size:var(--fs-body);font-weight:var(--weight-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  background:var(--c-paper);
  background-image:
    radial-gradient(ellipse 65% 40% at 50% -2%, rgba(212,5,17,.07), transparent 55%),
    radial-gradient(ellipse 80% 50% at 100% 6%, rgba(20,18,15,.55), transparent 55%),
    linear-gradient(180deg,#0d0c0b 0%, var(--c-paper) 32%);
  background-attachment:fixed;
  position:relative;
}
.trx::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(245,239,227,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,239,227,.022) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 35%, transparent 80%);
          mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 35%, transparent 80%);
}
.trx::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(/wp-content/themes/wyvern-site/assets/%23n)' opacity='.4'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.trx>*{position:relative;z-index:1;}
.trx img{max-width:100%;display:block;}
.trx a{color:inherit;text-decoration:none;}
.trx :focus-visible{outline:2px solid var(--c-accent-soft);outline-offset:3px;border-radius:3px;}
.trx-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.trx-wrap{max-width:var(--content-w);margin:0 auto;padding:0 32px;}

/* ============ HERO ============ */
.trx-hero__bar-top{height:14px;background:var(--c-ink);position:relative;overflow:hidden;}
.trx-hero__bar-top::after{content:"";position:absolute;right:0;top:0;height:100%;width:180px;background:var(--c-accent);transform:translateX(100%);animation:trxBarSlide 1s var(--ease) .15s forwards;}
@keyframes trxBarSlide{to{transform:translateX(0);}}
.trx-hero__media{position:relative;width:100%;height:520px;background:var(--c-ink);overflow:hidden;}
.trx-hero__media img{width:100%;height:100%;object-fit:cover;}
.trx-hero__ph{width:100%;height:100%;position:relative;
  background:
    radial-gradient(120% 90% at 80% 8%, rgba(120,150,190,.42) 0%, rgba(60,80,120,.16) 32%, transparent 62%),
    radial-gradient(90% 120% at 6% 100%, rgba(212,5,17,.42) 0%, transparent 55%),
    linear-gradient(120deg,#0d1016 0%,#16202c 36%,#22303f 60%,#0c0c0e 100%);
}
.trx-hero__ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 13px);opacity:.4;}
/* drifting corridor lines */
.trx-hero__corridor{position:absolute;inset:0;z-index:1;opacity:.5;}
.trx-hero__corridor path{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1.2;stroke-dasharray:6 9;animation:trxDash 14s linear infinite;}
.trx-hero__corridor circle{fill:var(--c-gold);}
@keyframes trxDash{to{stroke-dashoffset:-300;}}
/* ghosted trailer line-art in the hero */
.trx-hero__rig{position:absolute;right:5%;bottom:8%;width:min(560px,52%);z-index:1;opacity:.5;}
.trx-hero__rig path,.trx-hero__rig line,.trx-hero__rig rect,.trx-hero__rig circle{fill:none;stroke:rgba(255,255,255,.5);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;}
.trx-hero__rig .trx-wheel{fill:rgba(255,255,255,.06);}
.trx-hero__ph-label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42);z-index:4;white-space:nowrap;}
.trx-hero__coord{position:absolute;top:18px;left:22px;z-index:4;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.55);}
.trx-hero__coord b{color:var(--c-gold);font-weight:500;}
.trx-hero__veil{position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,rgba(154,2,14,.78) 0%,rgba(120,6,14,.6) 30%,rgba(20,16,14,.5) 60%,rgba(8,4,4,.78) 100%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 30%,rgba(0,0,0,.7) 100%);pointer-events:none;}
.trx-hero__text{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.trx-hero__eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-body);font-size:var(--fs-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--c-fg);margin-bottom:16px;text-shadow:0 2px 12px rgba(0,0,0,.6);opacity:0;animation:trxRise .7s var(--ease) .25s forwards;}
.trx-hero__eyebrow::before,.trx-hero__eyebrow::after{content:"";width:30px;height:1px;background:var(--c-accent);}
.trx-hero__title{font-family:var(--font-heading);font-size:var(--fs-hero);font-weight:var(--weight-black);line-height:var(--line-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;text-shadow:0 4px 28px rgba(0,0,0,.55);max-width:17ch;opacity:0;animation:trxRise .8s var(--ease) .4s forwards;}
.trx-hero__lead{margin-top:20px;max-width:60ch;font-size:var(--fs-lead);font-weight:var(--weight-body);color:var(--c-fg);line-height:1.62;text-shadow:0 2px 14px rgba(0,0,0,.55);opacity:0;animation:trxRise .8s var(--ease) .55s forwards;}
.trx-hero__rule{width:0;height:3px;margin-top:24px;background:linear-gradient(90deg,var(--c-accent),var(--c-gold));animation:trxRuleGrow .9s var(--ease) .9s forwards;}
@keyframes trxRuleGrow{to{width:120px;}}
@keyframes trxRise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
.trx-hero__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;opacity:0;animation:trxRise .8s var(--ease) .7s forwards;}

/* ============ BUTTONS ============ */
.trx-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:var(--fs-small);font-weight:var(--weight-button);letter-spacing:.07em;text-transform:uppercase;padding:15px 30px;border-radius:40px;cursor:pointer;border:1px solid transparent;transition:transform .2s var(--ease),box-shadow .2s,background .2s,border-color .2s,color .2s;}
.trx-btn svg{width:16px;height:16px;fill:none;stroke-width:2.4;transition:transform .2s var(--ease);}
.trx-btn--primary{background:var(--c-accent);color:#fff;}
.trx-btn--primary svg{stroke:#fff;}
.trx-btn--primary:hover{background:var(--c-accent-2);transform:translateY(-2px);box-shadow:0 14px 32px -12px rgba(212,5,17,.7);}
.trx-btn--primary:hover svg{transform:translateX(4px);}
.trx-btn--ghost{background:rgba(255,255,255,.06);color:var(--c-fg);border-color:rgba(245,239,227,.4);backdrop-filter:blur(4px);}
.trx-btn--ghost svg{stroke:var(--c-fg);}
.trx-btn--ghost:hover{background:rgba(255,255,255,.14);border-color:var(--c-fg);transform:translateY(-2px);}
.trx-btn--light{background:#fff;color:var(--c-accent);}
.trx-btn--light svg{stroke:var(--c-accent);}
.trx-btn--light:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.3);}
.trx-btn--outline-light{background:transparent;color:var(--c-fg);border-color:rgba(245,239,227,.55);}
.trx-btn--outline-light svg{stroke:var(--c-fg);}
.trx-btn--outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff;transform:translateY(-2px);}

/* ============ SECTION SCAFFOLD ============ */
.trx-section{max-width:var(--content-w);margin:0 auto;padding:72px 32px;}
.trx-seclabel{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--c-fg-faint);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--c-line);display:flex;align-items:center;gap:10px;}
.trx-seclabel::before{content:"";width:6px;height:6px;background:var(--c-accent);border-radius:1px;transform:rotate(45deg);}
.trx-sec-title{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-heading);text-transform:uppercase;margin-bottom:18px;}
.trx-sec-title .trx-it{color:var(--c-accent);}
.trx-sec-lead{font-size:var(--fs-lead);color:var(--c-fg-dim);line-height:1.72;max-width:64ch;}

/* ============ FLEET OVERVIEW ============ */
.trx-fleet{border-top:1px solid var(--c-line);}
.trx-fleet__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start;}
.trx-fleet__body p{margin-top:18px;color:var(--c-fg-dim);line-height:1.72;max-width:58ch;}
.trx-fleet__body strong{color:var(--c-fg);font-weight:var(--weight-semibold);}
.trx-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--c-line);border:1px solid var(--c-line);}
.trx-stat{background:var(--c-paper-2);padding:24px 22px;}
.trx-stat__num{font-family:var(--font-heading);font-size:clamp(2rem,3vw,2.8rem);font-weight:var(--weight-black);line-height:1;color:var(--c-fg);font-variant-numeric:tabular-nums;}
.trx-stat__num .trx-u{font-size:.42em;color:var(--c-accent-soft);margin-left:4px;letter-spacing:.04em;}
.trx-stat__lbl{margin-top:9px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-fg-faint);line-height:1.4;}
.trx-envelope{margin-top:30px;display:flex;flex-wrap:wrap;gap:9px;}
.trx-envelope__pill{display:inline-flex;align-items:baseline;gap:7px;font-size:11px;font-weight:600;letter-spacing:.03em;padding:8px 13px;border-radius:5px;background:var(--c-card);border:1px solid var(--c-line);color:var(--c-fg-dim);font-variant-numeric:tabular-nums;}
.trx-envelope__pill b{color:var(--c-fg);font-family:var(--font-mono);}
.trx-envelope__pill .trx-k{color:var(--c-fg-faint);text-transform:uppercase;letter-spacing:.1em;font-size:9px;}
.trx-fineprint{margin-top:18px;font-size:11px;color:var(--c-fg-faint);line-height:1.6;max-width:60ch;}

/* ============ TRAILER GRID ============ */
.trx-tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.trx-tcard{display:flex;flex-direction:column;background:var(--c-bone);border:1px solid var(--c-line);border-top:3px solid var(--c-accent);overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;}
.trx-tcard:hover{transform:translateY(-5px);border-color:rgba(212,5,17,.45);box-shadow:0 26px 50px -28px rgba(0,0,0,1);}
.trx-tcard__art{height:150px;position:relative;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--c-line);overflow:hidden;
  background:radial-gradient(120% 100% at 50% 0%,rgba(212,5,17,.09),transparent 62%),linear-gradient(160deg,var(--c-paper-2),var(--c-bone));}
.trx-tcard__art::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 26px);}
.trx-tcard__art svg{width:118px;height:auto;position:relative;z-index:1;}
.trx-tcard__art svg .trx-ln{fill:none;stroke:rgba(255,255,255,.5);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;transition:stroke .3s;}
.trx-tcard__art svg .trx-fl{fill:rgba(255,255,255,.05);}
.trx-tcard__art svg .trx-wheel{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.5);stroke-width:1.5;}
.trx-tcard:hover .trx-tcard__art svg .trx-ln{stroke:var(--c-accent-soft);}
.trx-tcard__code{position:absolute;top:12px;left:13px;z-index:2;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--c-accent-soft);background:rgba(212,5,17,.14);border:1px solid rgba(212,5,17,.34);padding:3px 8px;border-radius:4px;}
.trx-tcard__flag{position:absolute;top:12px;right:13px;z-index:2;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gold);background:rgba(255,204,0,.1);border:1px solid rgba(255,204,0,.3);padding:3px 8px;border-radius:4px;}
.trx-tcard__body{padding:18px 19px 20px;display:flex;flex-direction:column;flex:1;}
.trx-tcard__name{font-family:var(--font-heading);font-size:1.32rem;font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);line-height:1.05;}
.trx-tcard__desc{margin-top:10px;font-size:13px;color:var(--c-fg-dim);line-height:1.62;}
.trx-tcard__sub{margin-top:16px;font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-fg-faint);}
.trx-tcard__tags{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px;}
.trx-chip{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.03em;padding:4px 9px;border-radius:4px;background:var(--c-card);border:1px solid var(--c-line);color:var(--c-fg-dim);line-height:1.3;}
.trx-tcard__specs{margin-top:16px;border-top:1px solid var(--c-line-soft);}
.trx-spec{display:flex;justify-content:space-between;gap:14px;font-size:12px;padding:7px 0;border-bottom:1px solid var(--c-line-soft);}
.trx-spec .trx-k{color:var(--c-fg-faint);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;}
.trx-spec .trx-v{color:var(--c-fg);font-weight:600;text-align:right;font-variant-numeric:tabular-nums;}
.trx-spec .trx-v.trx-accent{color:var(--c-accent-soft);font-family:var(--font-mono);}
.trx-tcard__cta{margin-top:auto;padding-top:18px;}
.trx-tcard__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:11px;font-weight:var(--weight-button);letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg);transition:color .2s,gap .2s;}
.trx-tcard__link svg{width:14px;height:14px;fill:none;stroke:var(--c-accent-soft);stroke-width:2.4;transition:transform .2s var(--ease);}
.trx-tcard__link:hover{color:var(--c-accent-soft);}
.trx-tcard__link:hover svg{transform:translateX(4px);}
.trx-tcard--alert{border-top-color:var(--c-gold);}

/* ============ CARGO MATCHING ============ */
.trx-cmatch__tbl{width:100%;border-collapse:collapse;border:1px solid var(--c-line);background:var(--c-paper-2);}
.trx-cmatch__tbl thead th{text-align:left;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-fg-faint);padding:14px 20px;background:rgba(245,239,227,.03);border-bottom:1px solid var(--c-line);}
.trx-cmatch__tbl tbody tr{border-bottom:1px solid var(--c-line-soft);transition:background .2s;}
.trx-cmatch__tbl tbody tr:last-child{border-bottom:none;}
.trx-cmatch__tbl tbody tr:hover{background:rgba(245,239,227,.03);}
.trx-cmatch__tbl td{padding:15px 20px;vertical-align:top;border-right:1px solid var(--c-line-soft);}
.trx-cmatch__tbl td:last-child{border-right:none;}
.trx-cmatch__cargo{font-size:14px;font-weight:600;color:var(--c-fg);line-height:1.4;}
.trx-cmatch__trailer{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--c-accent-soft);font-family:var(--font-mono);letter-spacing:.01em;}
.trx-cmatch__trailer::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 3px rgba(212,5,17,.18);flex-shrink:0;}
.trx-cmatch__note{font-size:12.5px;color:var(--c-fg-dim);line-height:1.55;}

/* ============ WHY SELECTION ============ */
.trx-why{border-top:1px solid var(--c-line);}
.trx-why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-line);border:1px solid var(--c-line);margin-top:34px;}
.trx-why__cell{background:var(--c-paper-2);padding:26px 22px;transition:background .25s;}
.trx-why__cell:hover{background:var(--c-bone);}
.trx-why__ico{width:34px;height:34px;margin-bottom:15px;}
.trx-why__ico svg{width:100%;height:100%;fill:none;stroke:var(--c-accent-soft);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.trx-why__h{font-family:var(--font-heading);font-size:1.08rem;font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);line-height:1.1;}
.trx-why__p{margin-top:9px;font-size:12.5px;color:var(--c-fg-dim);line-height:1.6;}

/* ============ CORRIDORS ============ */
.trx-corridors{background:var(--c-paper-2);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);}
.trx-corridors__inner{max-width:var(--content-w);margin:0 auto;padding:72px 32px;}
.trx-corr__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:34px;}
.trx-corr{border:1px solid var(--c-line);border-left:3px solid var(--c-accent);background:var(--c-bone);padding:22px 24px;transition:transform .3s var(--ease),box-shadow .3s;}
.trx-corr:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(0,0,0,1);}
.trx-corr__name{font-family:var(--font-heading);font-size:1.18rem;font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);}
.trx-corr__path{margin-top:10px;font-family:var(--font-mono);font-size:12px;color:var(--c-fg-dim);line-height:1.7;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
.trx-corr__path .trx-arr{color:var(--c-accent-soft);padding:0 5px;}
.trx-corr__trailers{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;}
.trx-corr__support{margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;}
.trx-corr__support li{list-style:none;display:flex;align-items:flex-start;gap:11px;font-size:13px;color:var(--c-fg-dim);line-height:1.5;}
.trx-corr__support li::before{content:"";flex-shrink:0;margin-top:6px;width:7px;height:7px;background:var(--c-accent);transform:rotate(45deg);}
.trx-corr__support li strong{color:var(--c-fg);font-weight:var(--weight-semibold);}

/* ============ NOTE CALLOUT ============ */
.trx-note{margin-top:30px;padding:17px 21px;background:linear-gradient(90deg,rgba(255,204,0,.08),rgba(255,204,0,.03));border:1px solid rgba(255,204,0,.2);border-left:3px solid var(--c-gold);border-radius:0 6px 6px 0;font-size:13px;color:var(--c-fg-dim);line-height:1.68;}
.trx-note strong{color:var(--c-fg);}

/* ============ FINAL CTA ============ */
.trx-cta{background:linear-gradient(115deg,#9A020E 0%,#78060E 32%,#3C080C 62%,#080404 100%);padding:84px 24px 92px;margin-top:0;position:relative;overflow:hidden;}
.trx-cta::before{content:"";position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1' opacity='.08'%3E%3Cpath d='M-20 80 Q200 20 400 120 T640 80'/%3E%3Cpath d='M-20 200 Q220 140 420 240 T660 200'/%3E%3Cpath d='M-20 320 Q200 260 400 360 T640 320'/%3E%3C/g%3E%3C/svg%3E");background-size:600px 400px;}
.trx-cta__inner{max-width:760px;margin:0 auto;position:relative;text-align:center;}
.trx-cta__eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:16px;}
.trx-cta__title{font-family:var(--font-heading);font-size:var(--fs-h2);font-weight:var(--weight-heading);line-height:var(--line-tight);letter-spacing:var(--tracking-heading);text-transform:uppercase;color:var(--c-fg);max-width:20ch;margin:0 auto 18px;}
.trx-cta__text{font-size:var(--fs-lead);color:rgba(245,239,227,.9);line-height:1.65;max-width:54ch;margin:0 auto 34px;}
.trx-cta__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}

.trx-tabular{font-variant-numeric:tabular-nums;}

@media(max-width:1000px){
  .trx-tgrid{grid-template-columns:repeat(2,1fr);}
  .trx-why__grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  .trx-hero__media{height:440px;}
  .trx-fleet__grid{grid-template-columns:1fr;gap:36px;}
  .trx-hero__rig{display:none;}
}
@media(max-width:720px){
  .trx-section{padding:56px 20px;}
  .trx-corridors__inner{padding:56px 20px;}
  .trx-corr__grid{grid-template-columns:1fr;}
  .trx-corr__support{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .trx-hero__media{height:380px;}
  .trx-tgrid{grid-template-columns:1fr;}
  .trx-why__grid{grid-template-columns:1fr;}
  .trx-stats{grid-template-columns:1fr 1fr;}
  .trx-corr__support{grid-template-columns:1fr;}
  .trx-hero__cta .trx-btn,.trx-cta__btns .trx-btn{width:100%;justify-content:center;}
  /* cargo-matching table -> stacked cards */
  .trx-cmatch__tbl,.trx-cmatch__tbl tbody,.trx-cmatch__tbl tr,.trx-cmatch__tbl td{display:block;width:100%;}
  .trx-cmatch__tbl thead{display:none;}
  .trx-cmatch__tbl{border:none;background:none;}
  .trx-cmatch__tbl tr{background:var(--c-paper-2);border:1px solid var(--c-line);border-left:3px solid var(--c-accent);margin-bottom:12px;padding:6px 0;}
  .trx-cmatch__tbl td{border-right:none;border-bottom:1px solid var(--c-line-soft);padding:11px 18px;}
  .trx-cmatch__tbl td:last-child{border-bottom:none;}
  .trx-cmatch__tbl td::before{content:attr(data-label);display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-faint);margin-bottom:5px;}
}
@media(prefers-reduced-motion:reduce){
  .trx *,.trx *::before,.trx *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

  /* Hash-routed page swap */
  .page { display: none; }
  .page.active { display: block; }
  /* Loading splash uses the bundler thumbnail */

  /* ============================================================
     BACK TO TOP — appears after scroll, bottom-left
     ============================================================ */
  .back-top {
    position: fixed;
    left: 28px;
    bottom: 28px;
    z-index: 975;
    width: 52px;
    height: 52px;
    background: var(--c-paper-2);
    color: var(--c-fg);
    border: 1px solid var(--c-line);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease,
                border-color .2s ease, color .2s ease, background .2s ease;
  }
  .back-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .back-top:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
    background: var(--c-paper);
  }
  .back-top:focus-visible {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
  }
  .back-top svg { display: block; }
  .back-top__lbl {
    position: absolute;
    left: 62px;
    top: 50%;
    transform: translateY(-50%) translateX(-8px);
    white-space: nowrap;
    background: #0E2A4F;
    color: var(--c-fg);
    font-family: var(--ff-mono);
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    padding: 10px 14px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .35s cubic-bezier(.22,1,.36,1);
    border-right: 2px solid var(--c-accent);
  }
  .back-top:hover .back-top__lbl,
  .back-top:focus-visible .back-top__lbl {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  @media (max-width: 680px) {
    .back-top { left: 18px; bottom: 18px; width: 48px; height: 48px; }
    .back-top__lbl { display: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    .back-top { transition: opacity .2s ease, visibility .2s ease, border-color .2s ease, color .2s ease; transform: none; }
    .back-top.is-visible { transform: none; }
  }

  /* ============================================================
     FLOATING TRACK SHIPMENT — corner FAB + slide-in panel
     Persistent across all pages, bottom-right, click to open.
     ============================================================ */
  .track-fab {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 980;
    width: 64px; height: 64px;
    background: var(--c-accent);
    color: var(--c-fg);
    border: 0;
    border-radius: 0;
    cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 18px 44px rgba(212,5,17,.42), 0 0 0 1px rgba(255,255,255,.04);
    transition: transform .35s cubic-bezier(.22,1,.36,1), background .25s ease, box-shadow .25s ease;
  }
  .track-fab::before {
    content: '';
    position: absolute;
    inset: -10px;
    border: 1px solid var(--c-accent);
    opacity: .35;
    animation: trackPing 2.6s cubic-bezier(.4,0,.2,1) infinite;
    pointer-events: none;
  }
  @keyframes trackPing {
    0%   { transform: scale(.9); opacity: .55; }
    70%  { transform: scale(1.35); opacity: 0; }
    100% { transform: scale(1.35); opacity: 0; }
  }
  .track-fab:hover { background: var(--c-accent-2); transform: translateY(-3px); box-shadow: 0 26px 60px rgba(212,5,17,.5); }
  .track-fab svg { position: relative; z-index: 1; }
  .track-fab .lbl {
    position: absolute;
    right: 78px;
    top: 50%; transform: translateY(-50%) translateX(8px);
    white-space: nowrap;
    background: #0E2A4F; color: var(--c-fg);
    font-family: var(--ff-mono); font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
    padding: 10px 14px;
    opacity: 0; pointer-events: none;
    transition: opacity .25s ease, transform .35s cubic-bezier(.22,1,.36,1);
    border-left: 2px solid var(--c-accent);
  }
  .track-fab:hover .lbl { opacity: 1; transform: translateY(-50%) translateX(0); }

  .track-fab.is-open { background: #0E2A4F; box-shadow: 0 18px 44px rgba(0,0,0,.5); }
  .track-fab.is-open::before { display: none; }
  .track-fab .ico-open  { display: block; }
  .track-fab .ico-close { display: none; }
  .track-fab.is-open .ico-open  { display: none; }
  .track-fab.is-open .ico-close { display: block; }

  /* Backdrop */
  .track-backdrop {
    position: fixed; inset: 0;
    background: rgba(5,5,5,.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 970;
    opacity: 0; visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
  }
  .track-backdrop.is-open { opacity: 1; visibility: visible; }

  /* Popup panel */
  .track-pop {
    position: fixed;
    right: 28px;
    bottom: 108px;
    z-index: 981;
    width: 420px; max-width: calc(100vw - 56px);
    background: #0E2A4F;
    color: var(--c-fg);
    border-top: 3px solid var(--c-accent);
    box-shadow: 0 40px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04);
    padding: 30px 30px 32px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(.96);
    transform-origin: bottom right;
    transition: opacity .4s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1), visibility .4s;
  }
  .track-pop.is-open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
  .track-pop .eyebrow {
    font-family: var(--ff-mono); font-size: 10px; font-weight: 500;
    letter-spacing: .28em; text-transform: uppercase;
    color: var(--c-accent);
    margin-bottom: 12px;
  }
  .track-pop h3 {
    font-family: var(--ff-display);
    font-size: 26px; font-weight: 800;
    letter-spacing: -.01em;
    margin: 0 0 16px;
    color: var(--c-fg);
    line-height: 1;
  }
  .track-pop .div { height: 2px; background: var(--c-accent); width: 100%; margin-bottom: 22px; }
  .track-pop form { display: grid; grid-template-columns: 1fr 56px; gap: 0; margin-bottom: 18px; }
  .track-pop input {
    background: #FFFFFF; border: 0;
    padding: 16px 18px;
    font-family: var(--ff-mono); font-size: 12px;
    color: #0E2A4F; letter-spacing: .05em; outline: none;
  }
  .track-pop input::placeholder { color: rgba(14,42,79,.45); }
  .track-pop button[type="submit"] {
    background: var(--c-accent); color: var(--c-fg);
    border: 0; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background .2s ease;
  }
  .track-pop button[type="submit"]:hover { background: var(--c-accent-2); }
  .track-pop .desc {
    font-size: 12px; line-height: 1.6;
    color: rgba(245,239,227,.72);
    font-weight: 300;
    margin: 0 0 18px;
  }
  .track-pop .full-link {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--ff-mono); font-size: 11px; font-weight: 500;
    letter-spacing: .22em; text-transform: uppercase;
    color: var(--c-fg);
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(245,239,227,.4);
    transition: color .2s ease, border-color .2s ease;
  }
  .track-pop .full-link:hover { color: var(--c-accent); border-color: var(--c-accent); }

  @media (max-width: 600px) {
    .track-fab { right: 18px; bottom: 18px; width: 56px; height: 56px; }
    .track-fab .lbl { display: none; }
    .track-pop { right: 18px; left: 18px; bottom: 88px; width: auto; max-width: none; padding: 24px 22px 26px; }
  }

  /* ============================================================
     DEDICATED TRACK PAGE
     ============================================================ */
  .pagehero--track h1.display .it { display: block; font-style: normal; font-weight: 200; color: rgba(245,239,227,.65); }
  .track--page { padding: 60px 0 120px; background: var(--c-paper); }
  .track--page .track__panel { margin-bottom: 48px; }

  /* Empty / help state */
  .track__empty { padding: 40px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
  .track__empty-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
  .track__empty .ix { font-family: var(--ff-mono); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-accent); display: block; margin-bottom: 14px; }
  .track__empty h4 { font-family: var(--ff-display); font-size: 22px; font-weight: 800; margin-bottom: 10px; color: var(--c-fg); }
  .track__empty p { color: var(--c-fg-dim); font-size: 14px; line-height: 1.65; }
  @media (max-width: 820px) { .track__empty-grid { grid-template-columns: 1fr; gap: 32px; } }

  /* Result panel — hidden by default, body.has-track-result reveals it */
  .track__result--page { display: none; padding: 0; }
  body.has-track-result .track__result--page { display: block; }
  body.has-track-result #trackEmpty { display: none; }

  .track__result-head {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 32px;
    padding: 32px 0; border-bottom: 1px solid var(--c-line);
    flex-wrap: wrap;
  }
  .track__refline { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; color: var(--c-fg-faint); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; margin-bottom: 18px; }
  .track__refline .dot { color: var(--c-line); }
  .track__refline #trackResultRef { color: var(--c-fg); }
  .track__refline .status-chip {
    background: var(--c-accent); color: var(--c-fg);
    padding: 5px 10px; letter-spacing: .18em;
    font-weight: 600;
  }
  .track__route { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; font-family: var(--ff-display); font-size: clamp(28px, 4vw, 44px); font-weight: 900; line-height: 1; }
  .track__route .arr { color: var(--c-accent); flex-shrink: 0; }
  .track__eta { text-align: right; }
  .track__eta .lbl { display: block; font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-fg-faint); margin-bottom: 8px; }
  .track__eta .val { font-family: var(--ff-display); font-size: 22px; font-weight: 800; color: var(--c-accent); letter-spacing: -.005em; }

  /* Timeline steps */
  .track__steps--page {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    padding: 40px 0; border-bottom: 1px solid var(--c-line);
    position: relative;
  }
  .track__steps--page::before {
    content:''; position: absolute;
    left: 5%; right: 5%; top: 64px;
    height: 1px; background: var(--c-line);
    z-index: 0;
  }
  .track__steps--page .step {
    display: flex; flex-direction: column; gap: 6px; padding: 0 20px;
    border-right: 1px solid var(--c-line);
    position: relative; z-index: 1;
  }
  .track__steps--page .step:last-child { border-right: 0; }
  .track__steps--page .step .dot {
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--c-paper);
    border: 2px solid var(--c-line);
    margin-bottom: 28px;
    transition: all .35s ease;
  }
  .track__steps--page .step.done .dot { background: var(--c-accent); border-color: var(--c-accent); }
  .track__steps--page .step.current .dot {
    background: var(--c-accent); border-color: var(--c-accent);
    box-shadow: 0 0 0 6px rgba(212,5,17,.18);
    animation: trackPing 2.6s cubic-bezier(.4,0,.2,1) infinite;
  }
  .track__steps--page .step .lbl { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-fg-faint); }
  .track__steps--page .step.done .lbl { color: var(--c-accent); }
  .track__steps--page .step.current .lbl { color: var(--c-accent); }
  .track__steps--page .step .val { font-family: var(--ff-display); font-size: 22px; font-weight: 800; color: var(--c-fg); line-height: 1.1; }
  .track__steps--page .step .time { font-family: var(--ff-mono); font-size: 11px; color: var(--c-fg-dim); }

  @media (max-width: 820px) {
    .track__steps--page { grid-template-columns: 1fr 1fr; }
    .track__steps--page::before { display: none; }
    .track__steps--page .step:nth-child(2n) { border-right: 0; }
    .track__steps--page .step { padding: 18px 14px; border-bottom: 1px solid var(--c-line); }
  }

  /* Metadata row */
  .track__meta-row {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
    padding: 32px 0;
  }
  .track__meta-row > div { padding: 0 20px; border-right: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 6px; }
  .track__meta-row > div:first-child { padding-left: 0; }
  .track__meta-row > div:last-child { border-right: 0; }
  .track__meta-row .k { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--c-fg-faint); }
  .track__meta-row .v { font-family: var(--ff-display); font-size: 16px; font-weight: 600; color: var(--c-fg); }

  @media (max-width: 820px) {
    .track__meta-row { grid-template-columns: 1fr 1fr; gap: 20px 0; }
    .track__meta-row > div:nth-child(2n) { border-right: 0; }
  }

/* Static-site fix: SPA hid <body> until its router booted; force it visible. */
html > body { display: block !important; }

/* ── Header CTA fix (via Wyvern Freight Core plugin) ──────────────────────
   "Open Client Portal" (.nav-login) text was rendering near-black (#212121)
   on the near-black header bar, making it invisible. Force light text + a
   visible border, with a brand-red hover. */
header.site-header .nav-login{color:#F5EFE3 !important;border-color:rgba(245,239,227,.35) !important}
header.site-header .nav-login svg{stroke:#F5EFE3 !important;color:#F5EFE3 !important}
header.site-header .nav-login:hover,header.site-header .nav-login:focus-visible{color:#FFFFFF !important;background:#D40511 !important;border-color:#D40511 !important}
header.site-header .nav-login:hover svg,header.site-header .nav-login:focus-visible svg{stroke:#FFFFFF !important;color:#FFFFFF !important}