/*
Theme Name: Tamtrak more than logistics
Theme URI:   https://tamtrak.com
Author:      TamTrak
Description: Smart connected logistics across Europe, North Africa and beyond.
Version: 17.8.50.0-rc1.8.18
License:     GNU General Public License v2 or later
Text Domain: tamtrak
*/

/* ─────────────────────────────────────────────────────────────
   TOKENS
───────────────────────────────────────────────────────────── */
:root {
  /* brand */
  --blue:        #1E64E6;
  --blue-dark:   #1450BE;
  --blue-mid:    #285AC8;
  --blue-light:  #6482D2;
  --sky:         #78B4DC;
  --green:       #0AB482;
  --green-l:     #12C896;
  --green-dim:   #96D2BE;

  /* surfaces */
  --bg:    #071E5C;
  --s1:    #0A266A;
  --s2:    #0D2E78;
  --s3:    #103686;
  --s4:    #133E94;
  --dark:  #071E5C;

  /* borders */
  --b1:    #123678;
  --b2:    #1A4488;

  /* text */
  --txt:   #E8EDF4;
  --txt-d: #8899b4;
  --muted: #7A92AB;
  --dim:   #4A6070;

  /* typography */
  --ff-d: 'Bebas Neue', Impact, sans-serif;
  --ff-b: 'Plus Jakarta Sans', sans-serif;
  --ff-m: 'JetBrains Mono', monospace;

  /* radii */
  --r:  8px;
  --r2: 14px;
  --r3: 22px;
  --r4: 50px;

  /* motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --t:    .28s;

  /* shadows */
  --sh-blue:  0 0 40px rgba(30,100,230,.2);
  --sh-green: 0 8px 32px rgba(10,180,130,.22);
  --sh-card:  0 2px 16px rgba(0,0,0,.35);
}

/* ─────────────────────────────────────────────────────────────
   RESET
───────────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html  { scroll-behavior:smooth; font-size:16px; }
body  { font-family:var(--ff-b); background:var(--bg); color:var(--txt); line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
/* Spacer pushes page content below the fixed nav on all inner pages */
.nav-spacer { height:80px; }
img   { max-width:100%; height:auto; display:block; }
a     { color:inherit; text-decoration:none; transition:color var(--t) var(--ease); }
ul,ol { list-style:none; }
button { font-family:inherit; }
h1,h2,h3,h4,h5 { font-family:var(--ff-b); font-weight:700; line-height:1.15; letter-spacing:-.02em; color:#fff; }
p { color:var(--muted); line-height:1.78; }

/* ─────────────────────────────────────────────────────────────
   LAYOUT UTILITIES
───────────────────────────────────────────────────────────── */
.container { max-width:1280px; margin:0 auto; padding:0 2rem; }
.container--narrow { max-width:800px; }
.section   { padding:6rem 0; }

/* ── Page template section utilities ── */
/* section-pad: standard vertical rhythm for actor pages */
.section-pad { padding:5rem 0; }
/* section-alt: alternate background surface */
.section-alt { background:var(--s1); }
/* section-spaced: extra breathing room above section (for consecutive sections) */
.section-spaced { padding-top:5.5rem; padding-bottom:5.5rem; }
/* section-head: centred heading block with bottom gap before content */
.section-head    { margin-bottom:3rem; }
.section-head.tc { text-align:center; }
/* section-head--spaced: extra top breathing room before the heading itself */
.section-head--spaced { margin-top:1.5rem; margin-bottom:2.5rem; }
/* section-sub: the subtitle / lead paragraph beneath a section h2 */
.section-sub { color:var(--txt-d); font-size:.95rem; margin-top:.6rem; max-width:560px; }
.tc .section-sub { margin-left:auto; margin-right:auto; }
/* tc: text-center shorthand already used across templates */
.tc { text-align:center; }
/* kyc-box__head: space above the "What you'll need" heading inside kyc-box */
.kyc-box__head { margin-bottom:1.75rem; }
.kyc-box__head h2 { margin:0; }

/* ─────────────────────────────────────────────────────────────
   SECTION LABEL
───────────────────────────────────────────────────────────── */
.lbl {
  display:inline-flex; align-items:center; gap:.65rem;
  font-family:var(--ff-m); font-size:.68rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--blue-light); margin-bottom:.875rem;
}
.lbl::before {
  content:''; flex-shrink:0; width:1.4rem; height:2px;
  background:linear-gradient(90deg,var(--blue),var(--green)); border-radius:2px;
}
.lbl-c { display:flex; justify-content:center; }
.lbl-g { color:var(--green); }
.lbl-g::before { background:linear-gradient(90deg,var(--green),var(--blue-light)); }
.lbl-b { color:var(--blue-light); }

/* ─────────────────────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.8rem 1.65rem; font-family:var(--ff-b); font-size:.875rem;
  font-weight:600; line-height:1; border-radius:var(--r4); border:none;
  cursor:pointer; transition:all var(--t) var(--ease); letter-spacing:.01em; white-space:nowrap;
}
.btn-primary {
  background:linear-gradient(135deg,var(--blue),var(--blue-mid));
  color:#fff; box-shadow:0 4px 20px rgba(30,100,230,.38);
}
.btn-primary:hover  { transform:translateY(-2px); box-shadow:0 8px 28px rgba(30,100,230,.55); color:#fff; }
.btn-green  {
  background:linear-gradient(135deg,var(--green),var(--green-l));
  color:#fff; box-shadow:var(--sh-green);
}
.btn-green:hover    { transform:translateY(-2px); box-shadow:0 12px 36px rgba(10,180,130,.4); color:#fff; }
.btn-outline {
  background:transparent; color:var(--txt);
  border:1.5px solid var(--b2);
}
.btn-outline:hover  { border-color:var(--blue); color:var(--blue-light); }
.btn-ghost  {
  background:rgba(255,255,255,.06); color:var(--txt);
  border:1px solid rgba(255,255,255,.1);
}
.btn-ghost:hover    { background:rgba(255,255,255,.11); color:#fff; border-color:rgba(255,255,255,.22); }
.btn-sm     { padding:.55rem 1.1rem; font-size:.8rem; }
.btn-lg     { padding:1rem 2.75rem 1rem 2.25rem; font-size:1rem; letter-spacing:.02em; white-space:nowrap; }
.btn-white  { background:#fff; color:var(--blue); font-weight:700; }
.btn-white:hover    { background:#eef3ff; transform:translateY(-2px); color:var(--blue-dark); }
.btn-white-ol { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.45); }
.btn-white-ol:hover { border-color:#fff; background:rgba(255,255,255,.08); }

/* ─────────────────────────────────────────────────────────────
   HEADER
───────────────────────────────────────────────────────────── */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.25rem 0; transition:all var(--t) var(--ease);
  max-height:80px; overflow:visible;
}
.site-header.scrolled {
  background:rgba(7,30,92,.97); backdrop-filter:blur(18px);
  border-bottom:1px solid var(--b1); padding:.85rem 0;
  box-shadow:0 4px 24px rgba(0,0,0,.4);
}
.header-inner {
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}

/* Logo */
.site-logo { display:flex; align-items:center; gap:.65rem; flex-shrink:0; }
.site-logo img { height:36px; width:auto; max-height:36px; display:block; }
/* WP custom logo — force size regardless of uploaded image dimensions */
.site-logo .custom-logo-link,
.site-logo a.custom-logo-link { display:flex; align-items:center; }
.site-logo .custom-logo-link img,
.site-logo img.custom-logo,
.custom-logo-link img { height:36px !important; width:auto !important; max-height:36px !important; display:block; }
/* Force custom logo to render white on the dark header */
.site-logo .custom-logo,
.site-logo img.custom-logo { filter:brightness(0) invert(1); }
.logo-wordmark {
  font-family:var(--ff-d); font-size:1.6rem; letter-spacing:.1em; color:#fff;
}
.logo-wordmark span { color:var(--green); }

/* Nav */
.main-nav ul { display:flex; align-items:center; gap:.15rem; }
.main-nav a  {
  font-size:15px; font-weight:600; color:var(--muted);
  padding:.45rem .9rem; border-radius:var(--r);
  transition:all var(--t) var(--ease);
}
.main-nav a:hover { color:#fff; background:rgba(255,255,255,.06); }
.main-nav a.current { color:#fff; }

/* Header right */
.header-right { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }

/* Language switcher */
.lang-sw  { position:relative; }
.lang-trigger {
  display:flex; align-items:center; gap:.4rem;
  padding:.42rem .75rem; background:var(--s2); border:1px solid var(--b1);
  border-radius:var(--r); font-family:var(--ff-m); font-size:.7rem; letter-spacing:.06em;
  color:var(--muted); cursor:pointer; transition:all var(--t) var(--ease); white-space:nowrap;
}
.lang-trigger:hover { border-color:var(--blue); color:var(--blue-light); }
.lang-chevron { width:11px; height:11px; transition:transform var(--t) var(--ease); }
.lang-sw.open .lang-chevron { transform:rotate(180deg); }
.lang-menu {
  position:absolute; top:calc(100% + 8px); right:0;
  background:var(--s2); border:1px solid var(--b1); border-radius:var(--r2);
  min-width:155px; overflow:hidden;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:all var(--t) var(--ease); box-shadow:0 8px 32px rgba(0,0,0,.5); z-index:300;
}
.lang-sw.open .lang-menu { opacity:1; visibility:visible; transform:translateY(0); }
.lang-opt {
  display:flex; align-items:center; gap:.625rem; width:100%;
  padding:.6rem 1rem; font-size:.82rem; font-weight:500; color:var(--muted);
  cursor:pointer; border:none; background:none; text-align:left;
  transition:all var(--t) var(--ease);
}
.lang-opt:hover { background:rgba(255,255,255,.05); color:#fff; }
.lang-opt.active { color:var(--green); background:rgba(10,180,130,.07); }

/* Mobile toggle */
.mobile-toggle {
  display:none; flex-direction:column; gap:5px; cursor:pointer;
  padding:7px; border-radius:var(--r); background:var(--s2); border:1px solid var(--b1);
}
.mobile-toggle span {
  display:block; width:20px; height:2px;
  background:var(--txt); border-radius:2px; transition:all var(--t) var(--ease);
}

/* ─────────────────────────────────────────────────────────────
   HERO
───────────────────────────────────────────────────────────── */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden; padding:9rem 0 5rem;
}
.hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 75% 65% at 65% 35%, rgba(30,100,230,.13) 0%, transparent 60%),
    radial-gradient(ellipse 55% 45% at 10% 75%, rgba(10,180,130,.08) 0%, transparent 55%),
    radial-gradient(ellipse 45% 35% at 90% 85%, rgba(100,130,210,.08) 0%, transparent 50%);
}
.hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(30,45,70,.28) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30,45,70,.28) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse 90% 80% at 50% 50%, black 20%, transparent 100%);
}
.hero-inner { position:relative; z-index:1; max-width:860px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:2rem;
  background:rgba(10,180,130,.08); border:1px solid rgba(10,180,130,.22);
  color:var(--green-dim); font-family:var(--ff-m); font-size:.7rem;
  letter-spacing:.12em; text-transform:uppercase; padding:.4rem 1rem; border-radius:2rem;
}
.badge-pulse {
  width:6px; height:6px; border-radius:50%; background:var(--green); flex-shrink:0;
  animation:pulse 2s ease infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.85);} }
@keyframes pulse-dot { 0%,100%{box-shadow:0 0 6px rgba(10,180,130,.7);}50%{box-shadow:0 0 14px rgba(10,180,130,1);} }

.hero-h1 {
  font-family:var(--ff-d); font-size:clamp(3.8rem,8.5vw,7.5rem);
  line-height:.93; letter-spacing:.025em; text-transform:uppercase; color:#fff;
  margin-bottom:1.5rem;
}
.hero-h1 .grad {
  background:linear-gradient(135deg,var(--sky) 0%,var(--blue-light) 45%,var(--green) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.hero-h1 .outline {
  -webkit-text-stroke:2px rgba(120,180,220,.35); color:transparent;
}

.hero-desc {
  font-size:1.1rem; color:var(--muted); max-width:560px;
  margin-bottom:2.75rem; line-height:1.78;
}

.hero-actions { display:flex; flex-direction:column; gap:0; margin-bottom:3.5rem; }
.hero-row     { display:flex; align-items:center; gap:.875rem; flex-wrap:wrap; }
.row-label    {
  font-family:var(--ff-m); font-size:.62rem; letter-spacing:.1em;
  color:var(--dim); text-transform:uppercase; flex-shrink:0;
}

/* ── JOIN THE NETWORK row ──────────────────────────────────── */
.join-row {
  display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;
  margin-top:2rem;
}
.join-label {
  font-family:var(--ff-m); font-size:.6rem; letter-spacing:.12em;
  color:var(--muted); text-transform:uppercase; flex-shrink:0; white-space:nowrap;
}
.join-btns { display:flex; gap:.625rem; flex-wrap:wrap; align-items:center; }

/* Same shape as .btn / .btn-primary but green-filled */
.join-btn {
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.75rem 1.4rem;
  font-family:var(--ff-b); font-size:.82rem; font-weight:600;
  line-height:1; letter-spacing:.01em; white-space:nowrap;
  border-radius:var(--r4); border:none; cursor:pointer;
  background:linear-gradient(135deg, var(--green), var(--green-l));
  color:#fff;
  box-shadow:0 4px 18px rgba(10,180,130,.35);
  transition:all var(--t) var(--ease);
  text-decoration:none;
}
.join-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(10,180,130,.52);
  color:#fff;
}
.join-btn-icon { font-size:.88rem; line-height:1; }

/* Hero stats */
.hero-stats {
  display:flex; gap:3rem; padding-top:2.5rem;
  border-top:1px solid var(--b1); flex-wrap:wrap;
}
.stat-item {}
.stat-num {
  font-family:var(--ff-d); font-size:2rem; color:#fff;
  letter-spacing:.04em; line-height:1;
}
.stat-num .accent { color:var(--green); }
.stat-label {
  font-family:var(--ff-m); font-size:.65rem; color:var(--muted);
  text-transform:uppercase; letter-spacing:.08em; margin-top:.25rem;
}

/* ─────────────────────────────────────────────────────────────
   TICKER
───────────────────────────────────────────────────────────── */
.ticker {
  background:linear-gradient(90deg,var(--blue-dark),var(--blue),var(--blue-mid));
  padding:.7rem 0; overflow:hidden; border-top:1px solid rgba(255,255,255,.08);
}
.ticker-track {
  display:flex; gap:3rem; white-space:nowrap;
  animation:scroll-left 40s linear infinite;
}
.ticker-track:hover { animation-play-state:paused; }
.ticker-item {
  display:flex; align-items:center; gap:.875rem; flex-shrink:0;
  font-family:var(--ff-m); font-size:.72rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.88);
}
.ticker-item::before { content:'◆'; font-size:.38rem; opacity:.55; }
@keyframes scroll-left { from{transform:translateX(0);}to{transform:translateX(-50%);} }

/* ─────────────────────────────────────────────────────────────
   SERVICES
───────────────────────────────────────────────────────────── */
.services { background:var(--s1); }
.services-head {
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:2rem; margin-bottom:3.5rem; flex-wrap:wrap;
}
.services-head h2 { font-size:clamp(1.75rem,3.5vw,2.625rem); max-width:680px; }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.svc-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:var(--r2);
  padding:1.875rem; transition:all var(--t) var(--ease); position:relative; overflow:hidden;
}
.svc-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--blue),var(--green));
  transform:scaleX(0); transform-origin:left; transition:transform var(--t) var(--ease);
}
.svc-card:hover { border-color:rgba(30,100,230,.35); transform:translateY(-5px); box-shadow:var(--sh-blue); }
.svc-card:hover::after { transform:scaleX(1); }
.svc-icon {
  width:46px; height:46px; background:rgba(30,100,230,.1); border:1px solid rgba(30,100,230,.18);
  border-radius:var(--r); display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; margin-bottom:1.25rem; transition:all var(--t) var(--ease);
}
.svc-card:hover .svc-icon { background:rgba(30,100,230,.18); border-color:rgba(30,100,230,.35); }
.svc-num {
  position:absolute; top:1.25rem; right:1.375rem;
  font-family:var(--ff-m); font-size:.6rem; color:var(--b2); letter-spacing:.06em;
}
.svc-card h3 { font-size:1rem; margin-bottom:.5rem; }
.svc-card p  { font-size:.85rem; }

/* ─────────────────────────────────────────────────────────────
   HOW IT WORKS
───────────────────────────────────────────────────────────── */
.hiw { background:var(--bg); }
.hiw-intro { text-align:center; max-width:580px; margin:0 auto 4rem; }
.hiw-intro h2 { font-size:clamp(1.875rem,3.5vw,2.75rem); }

.steps-wrap { position:relative; }
.steps-connector {
  position:absolute; top:2.125rem;
  left:calc(12.5% + 1.75rem); right:calc(12.5% + 1.75rem);
  height:1px;
  background:linear-gradient(90deg,transparent,var(--blue),var(--green),transparent);
  pointer-events:none; z-index:0;
}
.steps-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:.75rem; position:relative; z-index:1;
}
.step {
  text-align:center; padding:.25rem .75rem 1.25rem;
  background:var(--s1); border:1px solid var(--b1); border-radius:var(--r2);
  transition:all var(--t) var(--ease);
}
.step:hover { border-color:rgba(30,100,230,.35); transform:translateY(-4px); box-shadow:var(--sh-blue); }
.step-orb {
  width:3.75rem; height:3.75rem; background:var(--s2); border:1.5px solid var(--b2);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; margin:0 auto .875rem; position:relative; z-index:1;
  transition:all var(--t) var(--ease);
}
.step:hover .step-orb {
  border-color:var(--green); background:rgba(10,180,130,.1);
  box-shadow:0 0 20px rgba(10,180,130,.22);
}
.step h3 { font-size:.88rem; margin-bottom:.35rem; letter-spacing:-.01em; }
.step p  { font-size:.78rem; line-height:1.65; }

/* ─────────────────────────────────────────────────────────────
   TESTIMONIALS
───────────────────────────────────────────────────────────── */
.testimonials { background:var(--s1); }

/* Section intro — centered */
.testi-intro { text-align:center; max-width:600px; margin:0 auto 1.75rem; }
.testi-intro h2 { font-size:clamp(1.875rem,3.5vw,2.75rem); margin-bottom:.6rem; }
.testi-intro p  { font-size:.95rem; }

/* Filter tabs */
.testi-tabs {
  display:flex; justify-content:center; gap:.4rem;
  margin-bottom:3rem; flex-wrap:wrap;
}
.testi-tab {
  padding:.42rem 1.05rem; border-radius:var(--r4);
  border:1px solid var(--b2); background:transparent;
  font-family:var(--ff-b); font-size:.78rem; font-weight:600;
  color:var(--muted); cursor:pointer;
  transition:all var(--t) var(--ease);
}
.testi-tab:hover { border-color:var(--green); color:var(--green); }
.testi-tab.active {
  background:rgba(10,180,130,.12); border-color:var(--green);
  color:var(--green);
}

/* 3-col grid — !important beats WordPress block-library overrides */
.testimonials .testi-grid {
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:1.5rem;
  margin-bottom:3rem;
  align-items:start;
}
.testi-card.hidden { display:none !important; }

/* Card */
.testimonials .testi-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:var(--r2);
  padding:1.75rem; display:flex !important; flex-direction:column !important;
  gap:1rem; transition:all var(--t) var(--ease);
  position:relative; overflow:hidden; height:100%;
  /* reset any WP block default margins */
  margin:0 !important;
}
.testimonials .testi-card::after {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--green),var(--blue));
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--t) var(--ease);
}
.testimonials .testi-card:hover { border-color:rgba(10,180,130,.35); transform:translateY(-4px); box-shadow:var(--sh-green); }
.testimonials .testi-card:hover::after { transform:scaleX(1); }

/* Top row: badge + stars */
.testi-card-top {
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
}

/* Type badge */
.testi-type-badge {
  font-family:var(--ff-m); font-size:.57rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  padding:.2rem .6rem; border-radius:var(--r4); border:1px solid;
  line-height:1.5; flex-shrink:0;
}
.badge-c2c { color:var(--green);     background:rgba(10,180,130,.1);  border-color:rgba(10,180,130,.3); }
.badge-b2c { color:var(--blue-light);background:rgba(30,100,230,.1);  border-color:rgba(30,100,230,.3); }
.badge-b2b { color:#B8A4E0;          background:rgba(120,80,220,.1);  border-color:rgba(120,80,220,.3); }

/* Stars */
.testi-stars  { display:flex; gap:.15rem; }
.testi-star   { color:#F5A623; font-size:.82rem; line-height:1; }
.testi-star.dim { color:var(--b2); }

/* Quote */
.testi-quote {
  font-size:.9rem; color:var(--muted); line-height:1.8;
  font-style:italic; border:none; margin:0; padding:0;
  position:relative; padding-left:1.1rem; flex-grow:1;
}
.testi-quote::before {
  content:'\201C';
  position:absolute; left:0; top:-.2rem;
  font-family:var(--ff-d); font-size:1.6rem;
  color:var(--green); line-height:1; font-style:normal; opacity:.7;
}

/* Person row */
.testi-person {
  display:flex; align-items:center; gap:.75rem;
  padding-top:.875rem; border-top:1px solid var(--b1); margin-top:auto;
}
.testi-avatar {
  width:42px; height:42px; border-radius:50%;
  border:2px solid; flex-shrink:0; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-d); font-size:1.1rem; font-weight:700;
  transition:transform var(--t) var(--ease); flex-shrink:0;
}
.testi-card:hover .testi-avatar { transform:scale(1.06); }
.testi-avatar img { width:100%; height:100%; object-fit:cover; }
.testi-info  { flex:1; min-width:0; }
.testi-name  {
  font-size:.875rem; font-weight:700; color:var(--txt);
  line-height:1.3; display:flex; align-items:center; gap:.35rem; flex-wrap:wrap;
}
.testi-flag  { font-size:.9rem; flex-shrink:0; }
.testi-meta  {
  font-family:var(--ff-m); font-size:.6rem; color:var(--dim);
  margin-top:.2rem; line-height:1.4;
}
.testi-company { color:var(--muted); }

/* CTA row */
.testi-footer {
  display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap;
}
.testi-footer-note {
  font-family:var(--ff-m); font-size:.66rem; color:var(--dim); line-height:1.55;
}

/* ─────────────────────────────────────────────────────────────
   NETWORK MAP
───────────────────────────────────────────────────────────── */
.network { background:var(--s1); overflow:hidden; }

.network-head {
  display:grid; grid-template-columns:1fr auto;
  gap:3rem; align-items:center; margin-bottom:3rem;
}
.network-head h2 { font-size:clamp(1.75rem,3vw,2.5rem); max-width:480px; }
.network-head > div > p { margin-top:.75rem; max-width:480px; }

.net-stats { display:flex; gap:2.5rem; flex-shrink:0; }
.ns { text-align:center; }
.ns-num {
  font-family:var(--ff-d); font-size:2.5rem; color:#fff;
  letter-spacing:.04em; line-height:1; display:block;
}
.ns-lbl {
  font-family:var(--ff-m); font-size:.62rem; text-transform:uppercase;
  letter-spacing:.1em; color:var(--muted); margin-top:.2rem; display:block;
}

.map-wrap {
  position:relative; border-radius:var(--r3); overflow:hidden;
  border:1px solid var(--b1); margin-bottom:2rem;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset, 0 8px 40px rgba(0,0,0,.4);
}
#tamtrak-map { height:480px; width:100%; background:var(--s2); display:block; }

.map-legend {
  position:absolute; bottom:1.25rem; left:1.25rem; z-index:999;
  display:flex; gap:.875rem; align-items:center;
  background:rgba(10,14,24,.9); backdrop-filter:blur(14px);
  border:1px solid var(--b1); border-radius:var(--r); padding:.6rem 1rem;
}
.ml-item { display:flex; align-items:center; gap:.45rem; font-family:var(--ff-m); font-size:.6rem; letter-spacing:.06em; color:var(--muted); }
.ml-dot  { width:8px; height:8px; border-radius:50%; background:var(--green); flex-shrink:0; }
.ml-line { width:18px; height:2px; background:linear-gradient(90deg,var(--green),var(--green-dim)); border-radius:2px; flex-shrink:0; }

/* Leaflet popup overrides */
.leaflet-popup-content-wrapper { background:transparent!important; box-shadow:none!important; padding:0!important; }
.leaflet-popup-content         { margin:0!important; }
.leaflet-popup-tip-container   { display:none!important; }

/* Attribution + zoom controls — styled to match blue theme */
.leaflet-control-attribution {
  background:rgba(7,30,92,.75) !important;
  backdrop-filter:blur(6px);
  color:rgba(255,255,255,.55) !important;
  font-size:.65rem !important;
  border-radius:6px 0 0 0 !important;
  padding:2px 6px !important;
  border:none !important;
}
.leaflet-control-attribution a {
  color:rgba(255,255,255,.75) !important;
}
.leaflet-control-attribution a:hover {
  color:#fff !important;
}
.leaflet-control-zoom a {
  background:rgba(7,30,92,.85) !important;
  color:rgba(255,255,255,.8) !important;
  border-color:rgba(255,255,255,.15) !important;
}
.leaflet-control-zoom a:hover {
  background:rgba(30,100,230,.7) !important;
  color:#fff !important;
}


/* ─────────────────────────────────────────────────────────────
   TECHNOLOGY — APP CARDS
───────────────────────────────────────────────────────────── */
.technology { background:var(--bg); }
.tech-intro { text-align:center; max-width:640px; margin:0 auto 4rem; }
.tech-intro h2 { font-size:clamp(1.875rem,3.5vw,2.75rem); }
.tech-intro p  { margin-top:.875rem; }

.app-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-bottom:5rem; }

.app-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:var(--r2);
  padding:1.625rem; display:flex; flex-direction:column;
  transition:all var(--t) var(--ease); position:relative; overflow:hidden;
}
.app-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(30,100,230,.05) 0%,transparent 55%);
  opacity:0; transition:opacity var(--t) var(--ease);
}
.app-card:hover { border-color:rgba(30,100,230,.4); transform:translateY(-6px); box-shadow:var(--sh-blue); }
.app-card:hover::before { opacity:1; }

.app-card-top { display:flex; align-items:center; gap:.875rem; margin-bottom:1.25rem; }
.app-icon {
  width:48px; height:48px; border-radius:var(--r); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
}
.app-icon.sender  { background:rgba(30,100,230,.12); border:1px solid rgba(30,100,230,.2); }
.app-icon.carrier { background:rgba(10,180,130,.1);  border:1px solid rgba(10,180,130,.2); }
.app-icon.hub     { background:rgba(120,180,220,.1); border:1px solid rgba(120,180,220,.2); }
.app-icon.dropoff { background:rgba(100,130,210,.1); border:1px solid rgba(100,130,210,.2); }

.app-tag  { font-family:var(--ff-m); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-bottom:.2rem; }
.app-name { font-size:.975rem; font-weight:700; color:#fff; margin:0; }
.app-desc { font-size:.82rem; margin-bottom:1.125rem; flex-grow:1; line-height:1.7; }

.app-feats { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.5rem; }
.app-feats li {
  font-size:.78rem; color:var(--muted);
  display:flex; align-items:flex-start; gap:.5rem; line-height:1.5;
}
.app-feats li::before { content:'✓'; color:var(--green); font-weight:700; flex-shrink:0; margin-top:.05rem; }

.app-stores { display:flex; flex-direction:column; gap:.6rem; margin-top:auto; }
.store-btn {
  display:flex; align-items:center; gap:.625rem; padding:.6rem .9rem;
  border-radius:var(--r); border:1.5px solid var(--b2); background:var(--s3);
  transition:all var(--t) var(--ease); cursor:pointer; text-decoration:none;
}
.store-btn:hover { border-color:var(--blue-light); background:rgba(30,100,230,.09); transform:translateX(3px); }
.store-btn svg   { width:18px; height:18px; flex-shrink:0; color:var(--txt); }
.store-btn small { display:block; font-size:.57rem; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }
.store-btn strong { display:block; font-size:.8rem; font-weight:600; color:#fff; }

/* ─────────────────────────────────────────────────────────────
   PHONE SHOWCASE
───────────────────────────────────────────────────────────── */
.phones-section {
  background:linear-gradient(180deg,var(--bg) 0%,var(--s1) 50%,var(--bg) 100%);
  padding:5rem 0; overflow:hidden;
}
.phones-intro { text-align:center; max-width:540px; margin:0 auto 3.5rem; }
.phones-intro h2 { font-size:clamp(1.75rem,3vw,2.375rem); }
.phones-intro p  { margin-top:.625rem; font-size:.9rem; }

.phone-stage {
  position:relative; display:flex; justify-content:center; align-items:flex-end;
  gap:1.75rem; padding:2rem 0 .5rem; min-height:520px;
}
.stage-glow {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:780px; height:380px;
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(30,100,230,.11) 0%,rgba(10,180,130,.06) 55%,transparent 80%);
  pointer-events:none; border-radius:50%;
}

.phone-unit { display:flex; flex-direction:column; align-items:center; gap:1rem; }
.phone-frame {
  position:relative; border-radius:2.5rem; overflow:hidden;
  border:2px solid var(--b2); background:var(--s2);
  box-shadow:0 28px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04) inset;
  width:182px; height:364px;
}
.phone-frame.hero-phone {
  width:228px; height:456px;
  border-color:rgba(10,180,130,.45);
  box-shadow:0 32px 80px rgba(0,0,0,.7),0 0 55px rgba(10,180,130,.14),0 0 0 1px rgba(10,180,130,.1) inset;
}
.phone-notch {
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:34%; height:21px; background:var(--s3); border-radius:0 0 .875rem .875rem; z-index:2;
}
.phone-frame img { width:100%; height:100%; object-fit:cover; display:block; }

.phone-left  { transform:translateY(22px) scale(.88) rotate(-3deg); }
.phone-right { transform:translateY(22px) scale(.88) rotate(3deg); }
.phone-far   { transform:translateY(38px) scale(.78) rotate(5.5deg); }
.phone-center { z-index:5; }

.phone-cap { text-align:center; }
.cap-tag {
  display:inline-flex; align-items:center; font-family:var(--ff-m); font-size:.58rem;
  letter-spacing:.1em; text-transform:uppercase; padding:.22rem .6rem; border-radius:2rem; margin-bottom:.22rem;
  background:rgba(30,100,230,.12); color:var(--blue-light); border:1px solid rgba(30,100,230,.2);
}
.cap-tag.g { background:rgba(10,180,130,.12); color:var(--green); border-color:rgba(10,180,130,.2); }
.cap-title { font-size:.76rem; font-weight:600; color:var(--txt); }

/* Trust badges */
.trust-badges {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:4rem;
}
.tbadge {
  display:flex; align-items:center; gap:1rem; background:var(--s2);
  border:1px solid var(--b1); border-radius:var(--r2); padding:1.25rem 1.5rem;
  transition:all var(--t) var(--ease);
}
.tbadge:hover { border-color:rgba(10,180,130,.3); transform:translateY(-3px); }
.tbadge-ico {
  font-size:1.75rem; flex-shrink:0; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(10,180,130,.08); border-radius:var(--r); border:1px solid rgba(10,180,130,.15);
}
.tbadge-val   { font-family:var(--ff-d); font-size:1.55rem; color:#fff; letter-spacing:.04em; line-height:1; }
.tbadge-label { font-family:var(--ff-m); font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-top:.15rem; }

/* ─────────────────────────────────────────────────────────────
   TRUST / WHY US
───────────────────────────────────────────────────────────── */
.why { background:var(--s1); }
.why-intro { text-align:center; max-width:560px; margin:0 auto 3.5rem; }
.why-intro h2 { font-size:clamp(1.875rem,3.5vw,2.75rem); }

.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.why-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:var(--r2);
  padding:2rem; text-align:center; transition:all var(--t) var(--ease);
}
.why-card:hover { border-color:rgba(10,180,130,.28); transform:translateY(-5px); box-shadow:0 8px 32px rgba(10,180,130,.09); }
.why-icon {
  width:58px; height:58px; background:rgba(10,180,130,.09); border:1px solid rgba(10,180,130,.18);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; margin:0 auto 1.25rem; transition:all var(--t) var(--ease);
}
.why-card:hover .why-icon { background:rgba(10,180,130,.15); border-color:rgba(10,180,130,.3); }
.why-card h3 { font-size:1rem; margin-bottom:.5rem; }
.why-card p  { font-size:.875rem; }

/* ─────────────────────────────────────────────────────────────
   CTA BANNER
───────────────────────────────────────────────────────────── */
.cta-band {
  background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue) 55%,var(--blue-mid) 100%);
  padding:5.5rem 0; position:relative; overflow:hidden;
}
.cta-band::before {
  content:'TAMTRAK'; font-family:var(--ff-d);
  position:absolute; font-size:18rem; letter-spacing:.08em;
  color:rgba(255,255,255,.03); top:50%; left:50%;
  transform:translate(-50%,-50%); white-space:nowrap; pointer-events:none; user-select:none;
}
.cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; position:relative; z-index:1;
}
.cta-copy h2 {
  font-family:var(--ff-d); font-size:clamp(2rem,4vw,3.375rem);
  color:#fff; letter-spacing:.03em; line-height:1.05;
}
.cta-copy p { color:rgba(255,255,255,.72); margin-top:.625rem; font-size:.95rem; }
.cta-btns   { display:flex; gap:1rem; flex-wrap:wrap; flex-shrink:0; }

/* ─────────────────────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────────────────────── */
.site-footer { background:var(--s1); border-top:1px solid var(--b1); padding:5rem 0 2.5rem; }
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem;
  padding-bottom:4rem; border-bottom:1px solid var(--b1); margin-bottom:2rem;
}
.footer-brand .logo-wordmark { font-size:1.5rem; }
.footer-brand p { font-size:.875rem; max-width:260px; margin-top:1rem; color:var(--muted); }
.socials { display:flex; gap:.6rem; margin-top:1.5rem; }
.social-a {
  width:34px; height:34px; background:var(--s3); border:1px solid var(--b1);
  border-radius:var(--r); display:flex; align-items:center; justify-content:center;
  font-size:.75rem; font-weight:700; color:var(--muted); transition:all var(--t) var(--ease);
}
.social-a:hover { border-color:var(--blue); color:var(--blue-light); background:rgba(30,100,230,.1); }

.footer-col h4 {
  font-size:.67rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dim); margin-bottom:1.25rem; font-family:var(--ff-m);
}
.footer-col ul { display:flex; flex-direction:column; gap:.75rem; }
.footer-col a  { font-size:.875rem; color:var(--muted); }
.footer-col a:hover { color:var(--blue-light); }

.footer-bottom {
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
}
.footer-bottom p { font-size:.78rem; color:var(--dim); }

.footer-langs { display:flex; gap:.4rem; }
.fl-btn {
  font-family:var(--ff-m); font-size:.68rem; letter-spacing:.06em; color:var(--dim);
  background:none; border:1px solid transparent; border-radius:var(--r);
  cursor:pointer; padding:.25rem .5rem; transition:all var(--t) var(--ease);
}
.fl-btn:hover, .fl-btn.active {
  color:var(--green); border-color:rgba(10,180,130,.3); background:rgba(10,180,130,.07);
}

/* ─────────────────────────────────────────────────────────────
   SCROLL ANIMATIONS
───────────────────────────────────────────────────────────── */
.reveal {
  opacity:0; transform:translateY(26px);
  transition:opacity .65s var(--ease), transform .65s var(--ease);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal:nth-child(2){transition-delay:.08s;} .reveal:nth-child(3){transition-delay:.16s;}
.reveal:nth-child(4){transition-delay:.24s;} .reveal:nth-child(5){transition-delay:.32s;}
.reveal:nth-child(6){transition-delay:.40s;}

/* ─────────────────────────────────────────────────────────────
   INNER PAGE TEMPLATES
───────────────────────────────────────────────────────────── */
.page-hero {
  padding:9rem 0 5rem; background:var(--s1);
  border-bottom:1px solid var(--b1);
}
.page-hero h1 { font-size:clamp(2rem,5vw,3.75rem); }
.entry-wrap  { max-width:800px; padding:4rem 0 6rem; }
.entry-content p  { margin-bottom:1.25rem; color:var(--muted); }
.entry-content a  { color:var(--blue-light); }
.entry-content h2 { margin:2.5rem 0 1rem; font-size:1.5rem; }
.entry-content h3 { margin:2rem 0 .75rem; font-size:1.2rem; }
.entry-content ul,
.entry-content ol { margin:1rem 0 1.25rem 1.5rem; }
.entry-content li { color:var(--muted); margin-bottom:.4rem; }
.entry-content img { border-radius:var(--r2); margin:1.5rem 0; }

/* ─────────────────────────────────────────────────────────────
   WP UTILITIES
───────────────────────────────────────────────────────────── */
.screen-reader-text { position:absolute; left:-9999px; }
.alignleft   { float:left;  margin:0 2rem 1rem 0; }
.alignright  { float:right; margin:0 0 1rem 2rem; }
.aligncenter { margin:0 auto; display:block; }

/* ─────────────────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────────────────── */
/* ─────────────────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────────────────── */

/* ── 1200px — large tablets, small laptops ───────────────── */
@media (max-width:1200px) {
  .testimonials .testi-grid { grid-template-columns:repeat(3,1fr) !important; gap:1.25rem; }
}

/* ── 1100px ───────────────────────────────────────────────── */
@media (max-width:1100px) {
  .app-grid   { grid-template-columns:repeat(2,1fr); }
  .testimonials .testi-grid { grid-template-columns:repeat(2,1fr) !important; }
  .join-btns  { flex-wrap:wrap; }
}

/* ── 1024px — tablets landscape ──────────────────────────── */
@media (max-width:1024px) {
  .footer-grid     { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .steps-grid      { grid-template-columns:repeat(2,1fr); gap:1rem; }
  .steps-connector { display:none; }
  .network-head    { grid-template-columns:1fr; gap:1.5rem; }
  .net-stats       { justify-content:flex-start; }
  #tamtrak-map     { height:340px; }
  .hero-h1         { font-size:clamp(3.4rem,7vw,6rem); }
}

/* ── 900px — tablets portrait ────────────────────────────── */
@media (max-width:900px) {
  .services-grid   { grid-template-columns:repeat(2,1fr); }
  .trust-badges    { grid-template-columns:1fr 1fr; }
  .testimonials .testi-grid { grid-template-columns:repeat(2,1fr) !important; }
  .why-grid        { grid-template-columns:repeat(2,1fr); }
}

/* ── 768px — mobile ──────────────────────────────────────── */
@media (max-width:768px) {
  :root { font-size:15px; }
  .container   { padding:0 1.25rem; }
  .section     { padding:4rem 0; }

  /* nav */
  .main-nav    { display:none; }
  .mobile-toggle { display:flex; }

  /* header — hide only the CTA button, keep lang switcher + hamburger */
  .header-right .nav-cta { display:none !important; }
  .header-right a.nav-cta { display:none !important; }
  .site-header   { padding:.85rem 0; }
  .header-inner  { gap:.75rem; }

  /* hero */
  .hero-stats  { gap:1.75rem; }
  .hero-row    { flex-wrap:wrap; }
  .join-row    { flex-direction:column; align-items:flex-start; gap:.625rem; padding:.75rem 1rem; }
  .join-btns   { flex-wrap:wrap; gap:.4rem; }
  .join-btn    { font-size:.75rem; padding:.44rem .85rem; }

  /* sections */
  .services-head { flex-direction:column; align-items:flex-start; }
  .steps-grid  { grid-template-columns:1fr; gap:.75rem; }
  .why-grid    { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .cta-inner   { flex-direction:column; text-align:center; }
  .cta-btns    { justify-content:center; }

  /* tech/phone */
  .phone-far   { display:none; }
  .phone-stage { min-height:400px; gap:1rem; padding:1rem 0; }
  .trust-badges { grid-template-columns:1fr; }

  /* testimonials */
  .testimonials .testi-grid { grid-template-columns:1fr !important; }
  .testi-tabs      { justify-content:flex-start; gap:.3rem; }
  .testi-footer    { flex-direction:column; align-items:flex-start; gap:1rem; }
  .testi-footer-note { display:none; }
}

/* ── 640px — small phones ────────────────────────────────── */
@media (max-width:640px) {
  .app-grid      { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr; }
  .hero-h1       { font-size:clamp(2.8rem,11vw,4.5rem); }
  .hiw-intro h2,
  .why-intro h2,
  .testi-intro h2,
  .tech-intro h2 { font-size:1.75rem; }
  .hero-stats    { gap:1.25rem; flex-wrap:wrap; }
  .stat-num      { font-size:2rem; }
  .hero-actions  { margin-bottom:2.5rem; }
  .join-row      { margin-top:1.75rem; }
  .network-head h2 { font-size:1.625rem; }
  .testi-grid    { gap:1rem; }
}

/* ── 420px — very small phones ───────────────────────────── */
@media (max-width:420px) {
  .join-btns  { flex-direction:column; align-items:flex-start; }
  .join-btn   { width:100%; justify-content:flex-start; }
  .hero-badge { font-size:.6rem; }
  .testi-tab  { font-size:.72rem; padding:.38rem .75rem; }
}

/* Mobile nav overlay */
.main-nav.open {
  display:flex; position:fixed; inset:0;
  background:rgba(7,30,92,.98); backdrop-filter:blur(22px);
  flex-direction:column; align-items:center; justify-content:center; z-index:998;
  overflow-y:auto; padding:2rem 1rem;
}
.main-nav.open ul { flex-direction:column; gap:.35rem; text-align:center; }
.main-nav.open a  { font-size:1.15rem; padding:.8rem 2.5rem; }

/* ── Dropdown / sub-menu ─────────────────────────────────── */
.main-nav li {
  position:relative;
  list-style:none;
}

/* Caret indicator for parent items */
.main-nav li.menu-item-has-children > a::after {
  content:' \25BE';
  font-size:.65rem;
  opacity:.6;
  margin-left:.2rem;
}

/*
 * Desktop visibility is controlled by .submenu-open.
 * JavaScript owns the open/close state to avoid hover-gap issues.
 */
@media (min-width:769px) {
  .site-header {
    z-index:100000 !important;
    overflow:visible !important;
  }

  .site-header .container,
  .site-header .header-inner,
  .site-header .main-nav,
  .site-header .main-nav > ul {
    overflow:visible !important;
  }

  .main-nav .menu-item-has-children {
    position:relative !important;
  }

  .main-nav .menu-item-has-children > .sub-menu {
    display:block !important;
    position:absolute !important;
    top:100% !important;
    left:50% !important;
    transform:translateX(-50%) translateY(4px) !important;

    min-width:210px !important;
    margin:0 !important;
    padding:8px !important;

    background:#fff !important;
    border:1px solid rgba(10,14,24,.12) !important;
    border-radius:12px !important;
    box-shadow:0 10px 32px rgba(0,0,0,.25) !important;

    z-index:100002 !important;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
      opacity .12s ease,
      transform .12s ease,
      visibility 0s linear .25s !important;
  }

  .main-nav .menu-item-has-children.submenu-open > .sub-menu,
  .main-nav .menu-item-has-children:focus-within > .sub-menu {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;

    transition:
      opacity .12s ease,
      transform .12s ease,
      visibility 0s !important;
  }

  .main-nav .sub-menu li {
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .main-nav .sub-menu li > a {
    display:block !important;
    width:100% !important;
    padding:10px 14px !important;

    color:#0A0E18 !important;
    background:transparent !important;
    border-radius:8px !important;
    text-align:left !important;

    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    cursor:pointer !important;
  }

  .main-nav .sub-menu li > a:hover,
  .main-nav .sub-menu li > a:focus {
    color:#0A0E18 !important;
    background:#eef3f8 !important;
  }
}

/* Mobile — submenu remains visible inside the full-screen nav */
@media (max-width:768px) {
  .main-nav.open ul ul,
  .main-nav.open .sub-menu {
    display:block !important;
    position:static !important;
    transform:none !important;

    background:rgba(255,255,255,.06) !important;
    border:none !important;
    border-radius:var(--r,8px) !important;
    box-shadow:none !important;

    padding:.25rem .5rem !important;
    margin:.25rem 0 .5rem !important;

    min-width:0 !important;
    width:100% !important;

    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .main-nav.open .sub-menu a {
    font-size:.95rem !important;
    padding:.5rem 1.5rem !important;
    color:rgba(255,255,255,.75) !important;
    background:transparent !important;
  }

  .main-nav.open .sub-menu a:hover,
  .main-nav.open .sub-menu a:focus {
    color:#fff !important;
    background:rgba(255,255,255,.06) !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   PAGE TEMPLATES — shared styles
═══════════════════════════════════════════════════════════ */

/* Dark hero used on all inner pages */
.page-hero-dark {
  background:linear-gradient(135deg,var(--bg) 0%,var(--s1) 100%);
  padding:3.5rem 0 3.5rem; text-align:center; border-bottom:1px solid var(--b1);
}
.page-hero-dark h1 { font-size:clamp(2rem,4vw,3rem); margin:.75rem 0; }
.page-hero-dark .hero-sub { max-width:560px; margin:.75rem auto 0; color:var(--txt-d); font-size:.95rem; }

.container--narrow { max-width:760px; margin:0 auto; padding:0 1.5rem; }
/* ↑ overrides the utility definition above — canonical narrow container */

/* ── Forms ── */
.tt-form { display:flex; flex-direction:column; gap:1.25rem; }
.tt-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.tt-form-group { display:flex; flex-direction:column; gap:.375rem; }
.tt-form-group label { font-size:.82rem; font-weight:600; color:var(--txt-d); text-transform:uppercase; letter-spacing:.06em; }
.tt-form-group input,
.tt-form-group select,
.tt-form-group textarea {
  background:var(--s1); border:1px solid var(--b2); border-radius:.625rem;
  color:var(--txt); padding:.75rem 1rem; font-size:.9rem; font-family:var(--ff);
  transition:border-color .2s;
}
.tt-form-group input:focus,
.tt-form-group select:focus,
.tt-form-group textarea:focus { outline:none; border-color:var(--blue); }
.tt-form-group select { appearance:none; cursor:pointer; }
.tt-form-note { font-size:.78rem; color:var(--txt-d); text-align:center; margin-top:.25rem; }
.btn-full { width:100%; justify-content:center; }

/* ── Get Started ── */
.gs-role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.gs-role-card {
  background:var(--s1); border:1px solid var(--b1); border-radius:1.25rem;
  padding:2rem 1.75rem; display:flex; flex-direction:column; gap:1rem; position:relative;
}
.gs-role-card--featured { border-color:rgba(10,180,130,.4); background:linear-gradient(135deg,var(--s1),rgba(10,180,130,.05)); }
.gs-role-badge {
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--green); color:#fff; font-size:.72rem; font-weight:700;
  padding:.28rem .9rem; border-radius:2rem; text-transform:uppercase; letter-spacing:.08em;
}
.gs-role-icon { font-size:2.25rem; }
.gs-role-card h3 { font-size:1.2rem; margin:0; }
.gs-role-card p { color:var(--txt-d); font-size:.88rem; margin:0; flex:1; }
.gs-bullets { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.375rem; }
.gs-bullets li { font-size:.85rem; color:var(--txt-d); padding-left:1.25rem; position:relative; }
.gs-bullets li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-weight:700; }
.gs-form-section { background:var(--s1); }

/* ── Benefits ── */
.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.benefit-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:1rem;
  padding:1.75rem; display:flex; flex-direction:column; gap:.75rem;
}
.benefit-icon { font-size:2rem; }
.benefit-card h4 { font-size:1rem; margin:0; }
.benefit-card p  { font-size:.85rem; color:var(--txt-d); margin:0; }

/* Requirements list */
.req-list { display:flex; flex-direction:column; gap:.875rem; max-width:640px; margin:2rem auto 0; }
.req-item { display:flex; align-items:flex-start; gap:.875rem; font-size:.9rem; }
.req-check { color:var(--green); font-size:1.1rem; font-weight:700; flex-shrink:0; margin-top:.1rem; }

/* ── Contact ── */
.contact-layout { display:grid; grid-template-columns:1fr 400px; gap:3rem; align-items:start; }
.contact-info-card {
  background:var(--s1); border:1px solid var(--b1); border-radius:1.25rem;
  padding:1.75rem; display:flex; flex-direction:column; gap:1.25rem;
}
.contact-info-card h3 { font-size:1rem; margin:0 0 .25rem; }
.contact-info-item { display:flex; align-items:flex-start; gap:.875rem; }
.ci-icon { font-size:1.25rem; flex-shrink:0; margin-top:.1rem; }
.contact-info-item strong { display:block; font-size:.8rem; color:var(--txt-d); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.2rem; }
.contact-info-item a { color:var(--blue-light); font-size:.9rem; }
.contact-office { padding:.75rem 0; border-bottom:1px solid var(--b1); }
.contact-office:last-child { border:none; }
.contact-office strong { display:block; margin-bottom:.25rem; }
.contact-office p { font-size:.85rem; color:var(--txt-d); margin:0; }

/* ── Services full grid ── */
.svc-full-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.svc-full-card {
  background:var(--s1); border:1px solid var(--b1); border-radius:1rem;
  padding:1.75rem; display:flex; gap:1.25rem; align-items:flex-start;
}
.svc-full-icon { font-size:2rem; flex-shrink:0; }
.svc-full-body h3 { font-size:1.05rem; margin:0 0 .5rem; }
.svc-full-body p  { font-size:.875rem; color:var(--txt-d); margin:0; }

/* Pricing */
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.pricing-card {
  background:var(--s1); border:1px solid var(--b1); border-radius:1.25rem;
  padding:2rem 1.75rem; display:flex; flex-direction:column; gap:1rem; position:relative;
  text-align:center;
}
.pricing-card--featured { border-color:rgba(10,180,130,.4); }
.pricing-badge {
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--green); color:#fff; font-size:.72rem; font-weight:700;
  padding:.28rem .9rem; border-radius:2rem; text-transform:uppercase;
}
.pricing-price { font-size:1.75rem; font-weight:800; color:var(--blue-light); }
.pricing-card p { font-size:.875rem; color:var(--txt-d); flex:1; }

/* ── Network page ── */
.stats-bar { display:flex; justify-content:center; gap:3rem; flex-wrap:wrap; padding:1.5rem 0; }
.stat-item { text-align:center; }
.stat-num { font-size:2.25rem; font-weight:800; color:var(--blue-light); }
.stat-lbl { font-size:.8rem; color:var(--txt-d); text-transform:uppercase; letter-spacing:.08em; }
.hubs-page-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; margin-top:2rem; }
.hub-page-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:.75rem;
  padding:1rem 1.25rem; display:flex; align-items:center; gap:.875rem;
}
.hub-flag { font-size:1.5rem; }
.hub-page-card strong { display:block; font-size:.9rem; }
.hub-type { font-size:.75rem; color:var(--txt-d); }
.routes-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; margin-top:2rem; }
.route-card {
  background:var(--s2); border:1px solid var(--b1); border-radius:.75rem;
  padding:1rem 1.25rem; display:flex; align-items:center; gap:.625rem; flex-wrap:wrap;
}
.route-from,.route-to { font-weight:600; font-size:.9rem; }
.route-arrow { color:var(--green); font-weight:700; }
.route-time { margin-left:auto; font-size:.78rem; color:var(--txt-d); background:var(--s3); padding:.2rem .6rem; border-radius:2rem; }

/* ── About ── */
.about-mission-layout { display:grid; grid-template-columns:1fr 360px; gap:3rem; align-items:center; }
.about-mission-text .lbl { margin-bottom:.5rem; }
.about-mission-text h2 { font-size:clamp(1.6rem,3vw,2.25rem); margin:.5rem 0 1rem; }
.about-mission-text p { color:var(--txt-d); font-size:.9rem; margin-bottom:.875rem; line-height:1.7; }
.about-mission-stats { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.about-stat { background:var(--s2); border:1px solid var(--b1); border-radius:1rem; padding:1.5rem; text-align:center; }
.about-stat-num { font-size:2rem; font-weight:800; color:var(--blue-light); }
.about-stat-lbl { font-size:.78rem; color:var(--txt-d); text-transform:uppercase; letter-spacing:.06em; margin-top:.25rem; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.value-card { background:var(--s2); border:1px solid var(--b1); border-radius:1rem; padding:1.75rem; text-align:center; }
.value-icon { font-size:2rem; margin-bottom:.75rem; }
.value-card h4 { font-size:.95rem; margin:0 0 .5rem; }
.value-card p  { font-size:.83rem; color:var(--txt-d); margin:0; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:2rem; }
.team-card { background:var(--s2); border:1px solid var(--b1); border-radius:1rem; padding:1.75rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:.625rem; }
.team-avatar { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:800; }
.team-card strong { font-size:.95rem; }
.team-card span { font-size:.8rem; color:var(--txt-d); }

/* ── Support / FAQ ── */
.support-quick-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-bottom:1rem; }
.support-quick-card {
  background:var(--s1); border:1px solid var(--b1); border-radius:1rem;
  padding:1.75rem; display:flex; flex-direction:column; gap:.5rem;
  text-decoration:none; color:var(--txt); transition:border-color .2s;
}
.support-quick-card:hover { border-color:var(--blue); }
.support-quick-card span { font-size:1.75rem; }
.support-quick-card strong { font-size:1rem; }
.support-quick-card p { font-size:.85rem; color:var(--txt-d); margin:0; }
.faq-item {
  border:1px solid var(--b1); border-radius:.875rem;
  margin-bottom:.75rem; background:var(--s1); overflow:hidden;
}
.faq-q {
  padding:1.25rem 1.5rem; font-weight:600; cursor:pointer;
  list-style:none; display:flex; justify-content:space-between; align-items:center;
  font-size:.95rem;
}
.faq-q::after { content:'＋'; color:var(--blue-light); font-size:1.1rem; transition:transform .25s; }
details[open] .faq-q::after { content:'－'; }
.faq-a { padding:0 1.5rem 1.25rem; }
.faq-a p { font-size:.875rem; color:var(--txt-d); margin:0; line-height:1.7; }

/* ── Track ── */
.track-form-wrap { background:var(--s1); border:1px solid var(--b1); border-radius:1.25rem; padding:2.5rem; margin-bottom:2.5rem; }
.track-input-row { display:flex; gap:1rem; }
.track-input {
  flex:1; background:var(--s2); border:1px solid var(--b2); border-radius:.75rem;
  color:var(--txt); padding:.875rem 1.25rem; font-size:1rem; font-family:var(--ff-m);
}
.track-input:focus { outline:none; border-color:var(--blue); }
.track-result { background:var(--s1); border:1px solid var(--b1); border-radius:1.25rem; overflow:hidden; }
.track-result-header { padding:1.5rem 2rem; border-bottom:1px solid var(--b1); display:flex; justify-content:space-between; align-items:center; }
.track-ref { font-family:var(--ff-m); font-size:1.1rem; font-weight:700; margin-right:1rem; }
.track-status { font-size:.78rem; font-weight:700; padding:.3rem .875rem; border-radius:2rem; text-transform:uppercase; letter-spacing:.07em; }
.track-status--transit { background:rgba(30,100,230,.15); color:var(--blue-light); }
.track-eta { font-size:.875rem; color:var(--txt-d); }
.track-timeline { padding:1.5rem 2rem; display:flex; flex-direction:column; gap:1.25rem; }
.track-step { display:flex; gap:1.25rem; align-items:flex-start; }
.track-step--pending { opacity:.45; }
.track-step-dot { font-size:1.25rem; flex-shrink:0; width:2rem; text-align:center; }
.track-step-body { display:flex; flex-direction:column; gap:.2rem; }
.track-step-body strong { font-size:.9rem; }
.track-step-loc { font-size:.8rem; color:var(--txt-d); }
.track-step-date { font-size:.78rem; color:var(--txt-d); font-family:var(--ff-m); }

/* ── News ── */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.news-card { background:var(--s1); border:1px solid var(--b1); border-radius:1.25rem; overflow:hidden; display:flex; flex-direction:column; }
.news-card-img { display:block; aspect-ratio:16/9; overflow:hidden; }
.news-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.news-card:hover .news-card-img img { transform:scale(1.04); }
.news-card-body { padding:1.5rem; display:flex; flex-direction:column; gap:.75rem; flex:1; }
.news-meta { display:flex; align-items:center; gap:.875rem; font-size:.78rem; color:var(--txt-d); }
.news-cat { background:rgba(30,100,230,.12); color:var(--blue-light); padding:.2rem .6rem; border-radius:2rem; font-weight:600; }
.news-card-body h3 { font-size:1rem; margin:0; line-height:1.4; }
.news-card-body h3 a { color:var(--txt); text-decoration:none; }
.news-card-body h3 a:hover { color:var(--blue-light); }
.news-card-body p { font-size:.85rem; color:var(--txt-d); margin:0; flex:1; }
.news-read-more { font-size:.82rem; font-weight:600; color:var(--green); text-decoration:none; margin-top:auto; }
.news-pagination { display:flex; justify-content:center; gap:.5rem; margin-top:3rem; flex-wrap:wrap; }
.news-pagination a, .news-pagination span {
  padding:.5rem 1rem; border-radius:.5rem; border:1px solid var(--b1);
  font-size:.85rem; color:var(--txt); text-decoration:none; background:var(--s1);
}
.news-pagination .current { background:var(--blue); border-color:var(--blue); color:#fff; }
.no-posts { padding:4rem 0; }

/* ── Legal ── */
.legal-content h2 { font-size:1.2rem; margin:2.25rem 0 .75rem; color:var(--txt); }
.legal-content p, .legal-content li { font-size:.9rem; line-height:1.75; color:var(--txt-d); margin-bottom:.75rem; }
.legal-content a { color:var(--blue-light); }
.legal-content ul { padding-left:1.5rem; }

/* ── Responsive: page templates ── */
@media (max-width:900px) {
  .gs-role-grid, .benefits-grid, .values-grid,
  .team-grid, .svc-full-grid, .pricing-grid { grid-template-columns:1fr; }
  .contact-layout, .about-mission-layout { grid-template-columns:1fr; }
  .about-mission-stats { grid-template-columns:1fr 1fr; }
  .support-quick-grid { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .tt-form-row { grid-template-columns:1fr; }
  .track-input-row { flex-direction:column; }
}
@media (max-width:600px) {
  .news-grid { grid-template-columns:1fr; }
  .about-mission-stats { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   BECOME A ... PAGE COMPONENTS
   (Carrier / Hub / Drop-off Point)
════════════════════════════════════════════════════════════════ */

/* ── Hero extras ── */
.hero-cta-row { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin-top:2rem; }
.btn-outline-white { border:2px solid rgba(255,255,255,.6); color:#fff; background:transparent; }
.btn-outline-white:hover { background:rgba(255,255,255,.12); border-color:#fff; }
.btn-coming-soon { opacity:.6; cursor:not-allowed; }
.hero-coming-soon-note { margin-top:1.25rem; font-size:.88rem; color:rgba(255,255,255,.7); max-width:520px; }

/* ── Stat bar ── */
.stat-bar { background:var(--blue); padding:1.1rem 0; overflow:hidden; }
.stat-bar__inner {
  display:grid;
  grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr;
  align-items:center;
  width:100%;
}
.stat-item { text-align:center; padding:.5rem 1rem; }
.stat-num { display:block; font-family:'Bebas Neue',sans-serif; font-size:1.8rem; color:#fff; line-height:1; letter-spacing:.02em; }
.stat-label { display:block; font-size:.72rem; color:rgba(255,255,255,.75); margin-top:.25rem; text-transform:uppercase; letter-spacing:.04em; }
.stat-divider { width:1px; height:2rem; background:rgba(255,255,255,.25); justify-self:center; }

/* ── Benefits grid variants ── */
.benefits-grid--3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.benefits-grid--2 { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.benefit-card--wide { flex-direction:row; align-items:flex-start; gap:1.25rem; text-align:left; }
.benefit-card--wide .benefit-icon { font-size:2rem; flex-shrink:0; margin-bottom:0; }

/* ── How It Works — page-template version ── */
.tt-hiw-wrap {
  display:grid;
  grid-template-columns:1fr 48px 1fr 48px 1fr;
  align-items:start;
  gap:0;
  margin-top:2.5rem;
}
.tt-hiw-step {
  background:var(--s2);
  border:1px solid var(--b1);
  border-radius:1rem;
  padding:2rem 1.5rem;
  text-align:center;
}
.tt-hiw-icon {
  font-size:2.25rem;
  display:block;
  margin-bottom:.875rem;
}
.tt-hiw-step h3 {
  font-size:1rem;
  font-weight:700;
  margin:0 0 .5rem;
  color:var(--txt);
}
.tt-hiw-step p {
  font-size:.875rem;
  color:var(--txt-d);
  line-height:1.7;
  margin:0;
}
.tt-hiw-arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:5rem; /* vertically centre relative to card top */
  font-size:1.5rem;
  color:var(--green);
  font-weight:300;
}

/* 3-step HIW grid used on actor & sender pages */
.tt-hiw-grid {
  display:grid !important;
  grid-template-columns:1fr 48px 1fr 48px 1fr !important;
  align-items:start;
  gap:0;
}

@media (max-width:900px) {
  .tt-hiw-wrap {
    grid-template-columns:1fr;
    gap:0;
  }
  .tt-hiw-arrow {
    padding-top:0;
    padding:.5rem 0;
    transform:rotate(90deg);
  }
  /* 3-step grid collapses to single column */
  .tt-hiw-grid {
    grid-template-columns:1fr !important;
  }
  .tt-hiw-grid .tt-hiw-arrow {
    transform:rotate(90deg);
    padding:.5rem 0;
    padding-top:0;
  }
}

/* Mobile nav footer (CTA + lang inside overlay) */
/* (mobile-nav-footer removed) */
.kyc-box { background:var(--s1); border:1px solid var(--b1); border-radius:1rem; padding:2.5rem; }
.kyc-box h2 { margin-bottom:1.5rem; }
.kyc-docs { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem 1.5rem; margin-bottom:1.5rem; }
.kyc-doc-item { display:flex; align-items:center; gap:.75rem; font-size:.9rem; color:var(--txt); }
.kyc-doc-icon { font-size:1.25rem; flex-shrink:0; }
.kyc-time-note { font-size:.88rem; color:var(--txt-d); margin-bottom:.5rem; }
.kyc-secure-note { font-size:.85rem; color:var(--txt-d); border-top:1px solid var(--b1); padding-top:1rem; margin-top:.5rem; }

/* ── FAQ accordion ── */
.faq-accordion { border:1px solid var(--b1); border-radius:.75rem; overflow:hidden; }
.faq-item { border-bottom:1px solid var(--b1); }
.faq-item:last-child { border-bottom:none; }
.faq-question { width:100%; background:none; border:none; text-align:left; padding:1.2rem 1.5rem; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.97rem; font-weight:600; color:var(--txt); transition:background .15s; }
.faq-question:hover { background:var(--s1); }
.faq-question[aria-expanded="true"] { background:var(--s1); color:var(--blue); }
.faq-chevron { font-size:1rem; color:var(--txt-d); transition:transform .25s; flex-shrink:0; }
.faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); color:var(--blue); }
.faq-answer { padding:0 1.5rem 1.2rem; }
.faq-answer p { font-size:.9rem; color:var(--txt-d); line-height:1.7; margin:0; }

/* ── CTA banner (final section) ── */
.section-cta-banner { background:var(--dark); padding:5rem 0; }
.section-cta-banner .lbl { margin:0 auto 1rem; }
.section-cta-banner h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,5vw,3.25rem); color:#fff; margin-bottom:1rem; }
.cta-banner__note { color:rgba(255,255,255,.65); font-size:.92rem; max-width:520px; margin:0 auto 2rem; line-height:1.6; }
.cta-banner__login { margin-top:1.25rem; font-size:.88rem; color:rgba(255,255,255,.55); }
.cta-banner__login a { color:var(--green); }

/* ── Business type chips (Drop-off page) ── */
.business-types-grid { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:center; }
.business-type-chip { background:var(--s1); border:1px solid var(--b1); border-radius:2rem; padding:.5rem 1.1rem; font-size:.88rem; color:var(--txt); }

/* ── Responsive ── */
@media (max-width:900px) {
  .benefits-grid--3 { grid-template-columns:repeat(2,1fr); }
  .benefits-grid--2 { grid-template-columns:1fr; }
  .kyc-docs { grid-template-columns:1fr; }
  .stat-bar__inner { grid-template-columns:1fr 1fr; row-gap:.75rem; }
  .stat-divider { display:none; }
}
@media (max-width:600px) {
  .benefits-grid--3 { grid-template-columns:1fr; }
  .hero-cta-row { flex-direction:column; align-items:center; }
  .kyc-box { padding:1.5rem; }
  .stat-bar__inner { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   DEDICATED FAQ PAGES
════════════════════════════════════════════════════════════════ */
.faq-page-hero { background:var(--dark); padding:3.5rem 0 2.5rem; border-bottom:1px solid var(--b1); }
.faq-page-hero .lbl { margin-bottom:.75rem; }
.faq-page-hero h1 { font-size:clamp(1.8rem,4vw,2.75rem); margin-bottom:.5rem; }
.faq-page-hero p  { color:var(--txt-d); font-size:.95rem; max-width:540px; margin:0; }

.faq-page-body { padding:3rem 0 5rem; }

.faq-section-group { margin-bottom:3.5rem; }
.faq-section-group:last-child { margin-bottom:0; }

.faq-section-label {
  display:flex; align-items:center; gap:.75rem;
  font-family:'Bebas Neue',sans-serif; font-size:1.3rem; letter-spacing:.04em;
  color:var(--txt); margin-bottom:1.25rem;
  padding-bottom:.6rem; border-bottom:2px solid var(--b1);
}
.faq-section-label::before {
  content:''; display:block; width:3px; height:1.3rem;
  background:var(--green); border-radius:2px; flex-shrink:0;
}

/* Reuse .faq-accordion / .faq-item / .faq-question / .faq-answer from actor pages */

.faq-back-link {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.88rem; color:var(--txt-d); text-decoration:none;
  margin-bottom:2rem;
}
.faq-back-link:hover { color:var(--green); }

.faq-quick-nav {
  position:sticky; top:84px; z-index:10;
  background:var(--s1); border:1px solid var(--b1); border-radius:.75rem;
  padding:1.25rem 1.5rem; margin-bottom:2.5rem;
}
.faq-quick-nav h4 { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--txt-d); margin-bottom:.75rem; }
.faq-quick-nav ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.4rem; }
.faq-quick-nav li a { font-size:.88rem; color:var(--txt-d); text-decoration:none; display:flex; align-items:center; gap:.4rem; }
.faq-quick-nav li a:hover { color:var(--green); }

.faq-layout { display:grid; grid-template-columns:220px 1fr; gap:2.5rem; align-items:start; }
.faq-layout-wide { grid-template-columns:1fr; }

.faq-contact-box {
  background:var(--s1); border:1px solid var(--b1); border-radius:1rem;
  padding:1.75rem; margin-top:3rem; text-align:center;
}
.faq-contact-box h3 { font-size:1.05rem; margin-bottom:.5rem; }
.faq-contact-box p  { font-size:.88rem; color:var(--txt-d); margin-bottom:1.25rem; }
.faq-contact-box a  { font-weight:600; color:var(--green); text-decoration:none; }

@media (max-width:900px) {
  .faq-layout { grid-template-columns:1fr; }
  .faq-quick-nav { position:static; }
}


/* =========================================================
   V11 DESIGN PATCH — darker blue + orange brochure theme
   Based on supplied mockup: light cyan top, navy typography,
   dark blue transport section, orange CTAs and pins.
========================================================= */
:root{
  --blue:#083B70;
  --blue-dark:#052845;
  --blue-mid:#0A5E96;
  --blue-light:#4FB3D3;
  --sky:#BFE8F2;
  --green:#0A5E96;
  --green-l:#2CAFC7;
  --green-dim:#D7F3F7;
  --bg:#E4F7FA;
  --s1:#D8F1F7;
  --s2:#C9EBF4;
  --s3:#B6E2EF;
  --s4:#083B70;
  --dark:#052845;
  --b1:rgba(8,59,112,.22);
  --b2:rgba(8,59,112,.34);
  --txt:#06253F;
  --txt-d:#244B61;
  --muted:#355F72;
  --dim:#5D7C89;
  --orange:#FF6A00;
  --orange2:#FF7A1A;
  --sh-blue:0 18px 44px rgba(8,59,112,.18);
  --sh-green:0 16px 34px rgba(255,106,0,.24);
  --sh-card:0 16px 40px rgba(8,59,112,.12);
}

html,body{background:var(--bg)!important;color:var(--txt)!important;}
p{color:var(--muted)!important} h1,h2,h3,h4,h5{color:var(--txt)!important}

/* Header matches mockup: pale cyan with navy text */
.site-header,.nav,.mobile-menu,header.site-header{
  background:rgba(228,247,250,.96)!important;
  border-bottom:1px solid rgba(8,59,112,.12)!important;
  box-shadow:0 8px 28px rgba(8,59,112,.08)!important;
  backdrop-filter:blur(12px);
}
.nav-link,.logo-text,.logo-tagline,.lang-trigger{color:var(--txt)!important;}
.logo-mark{background:#052845!important;border-color:#4FB3D3!important;box-shadow:0 0 0 3px rgba(79,179,211,.18)!important;}
.logo-mark svg,.logo-mark *{color:#36C7D6!important;fill:#36C7D6!important;stroke:#36C7D6!important;}
.nav-link:hover{color:var(--orange)!important;}
.lang-trigger{background:#fff!important;border-color:rgba(8,59,112,.2)!important;}
.mobile-toggle{background:#fff!important;border-color:rgba(8,59,112,.2)!important;}
.mobile-toggle span{background:var(--txt)!important;}

/* Hero: pale blue poster look with darker blue/orange headline */
.hero{
  min-height:calc(100vh - 0px)!important;
  background:
    linear-gradient(90deg, rgba(228,247,250,1) 0%, rgba(228,247,250,.96) 37%, rgba(201,235,244,.88) 63%, rgba(183,226,239,.86) 100%)!important;
  border-bottom:1px solid rgba(8,59,112,.10)!important;
  padding-top:8.5rem!important;
  padding-bottom:4.2rem!important;
}
.hero .container{position:relative;}
.hero .container::after{
  content:"";
  position:absolute;
  right:-2.3rem;
  bottom:-3.2rem;
  width:min(58vw,820px);
  height:min(42vw,570px);
  background:url('assets/images/tamtrak-v11-hero-art.png') right bottom/contain no-repeat;
  filter:drop-shadow(0 26px 34px rgba(8,59,112,.18));
  z-index:0;
  pointer-events:none;
}
.hero-bg{background:
  radial-gradient(ellipse 70% 55% at 75% 35%, rgba(79,179,211,.22), transparent 62%),
  radial-gradient(ellipse 42% 35% at 20% 80%, rgba(255,106,0,.10), transparent 55%)!important;}
.hero-grid{opacity:.34!important;background-image:
  linear-gradient(rgba(8,59,112,.14) 1px, transparent 1px),
  linear-gradient(90deg, rgba(8,59,112,.14) 1px, transparent 1px)!important;background-size:64px 64px!important;}
.hero-inner{max-width:560px!important;position:relative!important;z-index:2!important;}
.hero-badge{background:rgba(255,255,255,.62)!important;border:1px solid rgba(8,59,112,.35)!important;color:#083B70!important;font-weight:800!important;}
.badge-pulse{background:var(--orange)!important;}
.hero-h1{font-size:clamp(4.4rem,7vw,7.6rem)!important;line-height:.88!important;color:#052845!important;text-shadow:none!important;margin-bottom:1.4rem!important;}
.hero-h1 .grad{background:none!important;-webkit-text-fill-color:var(--orange)!important;color:var(--orange)!important;}
.hero-h1 .outline{-webkit-text-stroke:0!important;color:#052845!important;}
.hero-desc{color:#06253F!important;font-size:1.06rem!important;font-weight:600!important;line-height:1.55!important;max-width:520px!important;margin-bottom:1.35rem!important;}

/* Co-transport message always visible */
.co2-message,.co-transport-message,.tamtrak-co2-message{
  display:flex!important;align-items:center!important;gap:.8rem!important;visibility:visible!important;opacity:1!important;
  background:rgba(255,255,255,.78)!important;color:#06253F!important;border:1px solid rgba(8,59,112,.22)!important;
  border-radius:16px!important;box-shadow:0 14px 32px rgba(8,59,112,.10)!important;
  padding:1rem 1.15rem!important;margin:0 0 1.4rem!important;max-width:440px!important;
  font-size:1.12rem!important;font-weight:800!important;line-height:1.3!important;position:relative!important;z-index:4!important;
}
.co2-message::before,.co-transport-message::before,.tamtrak-co2-message::before{content:'♻';color:var(--blue-mid);font-size:1.5rem;line-height:1;}
.co2-message strong,.co-transport-message strong,.tamtrak-co2-message strong{color:var(--orange)!important;}

/* CTAs */
.btn-primary,.btn-green,.join-btn,.btn,.button,.wp-block-button__link,input[type=submit],button:not(.lang-opt){
  background:linear-gradient(135deg,var(--blue-mid),var(--blue-dark))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 14px 28px rgba(8,59,112,.22)!important;
}
.btn-primary,.cta-button,.header-cta{background:linear-gradient(135deg,var(--orange),var(--orange2))!important;box-shadow:0 16px 34px rgba(255,106,0,.30)!important;}
.btn-outline{background:rgba(255,255,255,.68)!important;color:var(--blue-dark)!important;border:1px solid rgba(8,59,112,.25)!important;}
.join-btn{border-radius:12px!important;text-transform:uppercase!important;font-weight:800!important;background:linear-gradient(135deg,#0A5E96,#052845)!important;}

/* Hero stats become bottom feature strip */
.hero-stats{background:rgba(255,255,255,.70)!important;border:1px solid rgba(8,59,112,.10)!important;border-radius:18px!important;padding:1rem 1.25rem!important;gap:1.4rem!important;box-shadow:0 16px 34px rgba(8,59,112,.08)!important;}
.stat-num{color:#083B70!important}.stat-num .accent{color:var(--orange)!important}.stat-label{color:#244B61!important;}

/* Sections: alternate light and dark blue as in mockup */
.section{background:var(--bg)!important;}
.services,.network,.faq-band{background:linear-gradient(135deg,#052845 0%,#083B70 54%,#0A5E96 100%)!important;color:#fff!important;}
.services h2,.services h3,.services p,.services .lbl,.network h2,.network h3,.network p,.network .lbl,.faq-band h2,.faq-band p{color:#fff!important;}
.svc-card,.card,.feature-card,.step,.ns,.panel,.box{
  background:rgba(255,255,255,.78)!important;color:#06253F!important;border:1px solid rgba(8,59,112,.14)!important;box-shadow:var(--sh-card)!important;
}
.services .svc-card{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important;}
.services .svc-card h3,.services .svc-card p{color:#fff!important;}
.svc-card::after,.lbl::before{background:var(--orange)!important;}
.svc-icon{background:rgba(79,179,211,.16)!important;border-color:rgba(79,179,211,.35)!important;color:#4FB3D3!important;}

/* Map and pins */
#tamtrak-map{border-color:rgba(255,255,255,.14)!important;box-shadow:0 24px 60px rgba(0,0,0,.24)!important;}
.ml-dot,.dot,.pin,.map-marker{background:var(--orange)!important;}

/* Footer */
.footer,.site-footer,footer{background:#052845!important;color:#fff!important;}
.footer a,footer a{color:#D7F3F7!important}.footer a:hover,footer a:hover{color:var(--orange)!important;}

/* Replace any old green with blue/orange */
[style*="#0AB482"],[style*="#12C896"],[style*="10,180,130"],.bg-green,.green,[class*="green"]{background:#0A5E96!important;color:#fff!important;}
.lbl-g{color:var(--orange)!important}.lbl-g::before{background:var(--orange)!important;}

@media(max-width:980px){
  .hero .container::after{opacity:.22;right:-12rem;width:720px;height:500px;}
  .hero-inner{max-width:650px!important;}
}
@media(max-width:768px){
  .site-header{background:rgba(228,247,250,.98)!important;}
  .hero{background:linear-gradient(180deg,#E4F7FA 0%,#C9EBF4 100%)!important;padding-top:7rem!important;min-height:auto!important;}
  .hero .container::after{display:none!important;}
  .hero-h1{font-size:clamp(3.6rem,14vw,5.2rem)!important;color:#052845!important;line-height:.9!important;}
  .hero-h1 .grad{color:var(--orange)!important;-webkit-text-fill-color:var(--orange)!important;}
  .hero-h1 .outline{color:#052845!important;}
  .hero-desc{font-size:1rem!important;color:#06253F!important;}
  .co2-message,.co-transport-message,.tamtrak-co2-message{display:flex!important;visibility:visible!important;opacity:1!important;margin:0 0 1.2rem!important;font-size:1rem!important;max-width:none!important;}
  .hero-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .join-btns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;}
  .join-btn{justify-content:center!important;}
}
@media(max-width:520px){.hero-stats{grid-template-columns:1fr!important}.join-btns{grid-template-columns:1fr!important}}


/* =========================================================
   V12 FINAL PATCH — dark header + integrated dark blue/orange mockup
   Keeps brochure light sky hero, adds navy header/sections, orange CTA.
========================================================= */

:root{
  --navy:#052845 !important;
  --navy-2:#06365E !important;
  --blue:#083B70 !important;
  --blue-2:#0A5E96 !important;
  --cyan:#4FB3D3 !important;
  --sky:#E4F7FA !important;
  --sky-2:#C9EBF4 !important;
  --sky-3:#B7E2EF !important;
  --orange:#FF6A00 !important;
  --orange2:#FF7A1A !important;
  --text:#052845 !important;
  --muted:#244B61 !important;
}

/* DARK HEADER LIKE THE REFERENCE */
.site-header,
header.site-header,
header,
.navbar,
.navigation,
.main-header{
  background:linear-gradient(90deg,#052845 0%,#06365E 55%,#083B70 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 12px 36px rgba(5,40,69,.28) !important;
  backdrop-filter:none !important;
}

.site-header .container,
header .container{
  min-height:76px !important;
}

.logo-text,
.logo-tagline,
.nav-link,
.main-navigation a,
.menu a,
.site-header a,
header a{
  color:#ffffff !important;
}

.logo-tagline{
  opacity:.9 !important;
}

.logo-mark{
  background:#041D33 !important;
  border:2px solid #3BAFDA !important;
  box-shadow:0 0 0 4px rgba(79,179,211,.16) !important;
}

.logo-mark svg,
.logo-mark *,
.logo-icon{
  color:#36C7D6 !important;
  fill:#36C7D6 !important;
  stroke:#36C7D6 !important;
}

.nav-link:hover,
.main-navigation a:hover,
.menu a:hover{
  color:#FF7A1A !important;
}

.lang-trigger{
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
}

.header-cta,
.site-header .btn-primary,
.site-header .cta-button{
  background:linear-gradient(135deg,#FF7A1A,#FF6A00) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(255,106,0,.30) !important;
}

/* HERO INTEGRATION: start cleanly below dark header, no cropped top */
.hero{
  position:relative !important;
  overflow:hidden !important;
  min-height:760px !important;
  padding-top:128px !important;
  padding-bottom:42px !important;
  background:
    linear-gradient(90deg,
      rgba(228,247,250,1) 0%,
      rgba(228,247,250,.98) 35%,
      rgba(201,235,244,.92) 66%,
      rgba(183,226,239,.92) 100%) !important;
  border-bottom:1px solid rgba(8,59,112,.12) !important;
}

/* remove any dark/green overlay */
.hero-bg{
  background:
    radial-gradient(ellipse 52% 42% at 78% 36%, rgba(79,179,211,.26), transparent 65%),
    radial-gradient(ellipse 34% 28% at 20% 80%, rgba(255,106,0,.08), transparent 58%) !important;
  opacity:1 !important;
}

.hero-grid{
  opacity:.22 !important;
  background-image:
    linear-gradient(rgba(8,59,112,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,59,112,.16) 1px, transparent 1px) !important;
  background-size:64px 64px !important;
}

/* Put visual on the right as integrated art, not floating over the text */
.hero .container{
  position:relative !important;
  z-index:1 !important;
}

.hero .container::after{
  content:"" !important;
  position:absolute !important;
  right:-44px !important;
  bottom:54px !important;
  width:min(64vw,920px) !important;
  height:min(46vw,620px) !important;
  background:url('assets/images/tamtrak-v11-hero-art.png') right bottom/contain no-repeat !important;
  filter:drop-shadow(0 28px 36px rgba(5,40,69,.20)) !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:1 !important;
}

/* Left column matches mockup proportions */
.hero-inner{
  max-width:560px !important;
  position:relative !important;
  z-index:4 !important;
}

.hero-badge{
  background:rgba(255,255,255,.62) !important;
  border:1px solid rgba(8,59,112,.36) !important;
  color:#083B70 !important;
  border-radius:999px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

.badge-pulse{ background:#FF6A00 !important; }

.hero-h1{
  color:#052845 !important;
  font-size:clamp(4.25rem,6.7vw,7.35rem) !important;
  line-height:.885 !important;
  letter-spacing:-.055em !important;
  text-shadow:none !important;
  margin-top:1.3rem !important;
  margin-bottom:1.15rem !important;
}

.hero-h1 .grad{
  background:none !important;
  -webkit-text-fill-color:#FF6A00 !important;
  color:#FF6A00 !important;
}

.hero-h1 .outline{
  -webkit-text-stroke:0 !important;
  color:#052845 !important;
  text-shadow:none !important;
}

.hero-desc{
  color:#052845 !important;
  font-size:1.04rem !important;
  font-weight:600 !important;
  line-height:1.52 !important;
  max-width:520px !important;
  margin-bottom:1.25rem !important;
}

/* CO2 card placement like reference */
.co2-message,
.co-transport-message,
.tamtrak-co2-message{
  display:flex !important;
  align-items:center !important;
  gap:.85rem !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  position:relative !important;
  z-index:6 !important;
  max-width:420px !important;
  margin:0 0 1.25rem !important;
  padding:1rem 1.15rem !important;
  background:rgba(255,255,255,.82) !important;
  color:#052845 !important;
  border:1px solid rgba(8,59,112,.18) !important;
  border-left:none !important;
  border-radius:16px !important;
  box-shadow:0 14px 32px rgba(8,59,112,.12) !important;
  font-size:1.08rem !important;
  font-weight:800 !important;
  line-height:1.28 !important;
}

.co2-message::before,
.co-transport-message::before,
.tamtrak-co2-message::before{
  content:'♻' !important;
  display:inline-flex !important;
  width:32px !important;
  height:32px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  color:#fff !important;
  background:#0A5E96 !important;
  font-size:1rem !important;
  flex:0 0 auto !important;
}

.co2-message strong,
.co-transport-message strong,
.tamtrak-co2-message strong{
  color:#FF6A00 !important;
}

/* CTA buttons like mockup */
.btn-primary,
.hero .btn-primary,
.header-cta{
  background:linear-gradient(135deg,#FF7A1A,#FF6A00) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 15px 30px rgba(255,106,0,.28) !important;
}

.btn-outline,
.hero .btn-outline{
  background:rgba(255,255,255,.74) !important;
  color:#052845 !important;
  border:1px solid rgba(8,59,112,.18) !important;
}

.join-label{
  color:#244B61 !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
}

.join-btn{
  background:linear-gradient(135deg,#0A5E96,#052845) !important;
  color:#fff !important;
  border:none !important;
  border-radius:12px !important;
  box-shadow:0 14px 28px rgba(5,40,69,.18) !important;
}

/* Stats: bottom-right white translucent panel, integrated with art */
.hero-stats{
  position:relative !important;
  z-index:5 !important;
  max-width:610px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  margin-top:2rem !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(8,59,112,.12) !important;
  border-radius:18px !important;
  box-shadow:0 18px 38px rgba(8,59,112,.12) !important;
  padding:1.05rem 1.2rem !important;
}

.stat-num{ color:#083B70 !important; }
.stat-num .accent{ color:#FF6A00 !important; }
.stat-label{ color:#244B61 !important; }

/* Feature strip directly after hero */
.services{
  background:linear-gradient(135deg,#052845 0%,#06365E 48%,#083B70 100%) !important;
  color:#fff !important;
}

.services h2,
.services h3,
.services p,
.services .lbl{
  color:#fff !important;
}

.services .svc-card{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  color:#fff !important;
  box-shadow:0 20px 45px rgba(0,0,0,.18) !important;
}

.services .svc-icon{
  background:rgba(79,179,211,.15) !important;
  color:#4FB3D3 !important;
  border-color:rgba(79,179,211,.34) !important;
}

.lbl::before,
.svc-card::after,
.ml-dot,
.dot{
  background:#FF6A00 !important;
}

/* REMOVE remaining green cast */
[class*="green"],
.bg-green,
.green,
[style*="#0AB482"],
[style*="#12C896"],
[style*="10,180,130"],
[style*="18,200,150"]{
  background:#0A5E96 !important;
  color:#fff !important;
}

/* Mobile: keep dark header, show CO2, do not show giant art behind text */
@media(max-width:980px){
  .hero{
    padding-top:112px !important;
    min-height:auto !important;
  }

  .hero .container::after{
    opacity:.20 !important;
    right:-240px !important;
    bottom:10px !important;
    width:780px !important;
    height:540px !important;
  }

  .hero-inner{
    max-width:660px !important;
  }
}

@media(max-width:768px){
  .site-header,
  header.site-header,
  header,
  .navbar{
    background:linear-gradient(90deg,#052845,#083B70) !important;
  }

  .mobile-toggle{
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.20) !important;
  }

  .mobile-toggle span{
    background:#fff !important;
  }

  .mobile-menu,
  .navbar-collapse,
  .main-navigation{
    background:#052845 !important;
    color:#fff !important;
  }

  .mobile-menu a,
  .navbar-collapse a,
  .main-navigation a{
    color:#fff !important;
  }

  .hero{
    background:linear-gradient(180deg,#E4F7FA 0%,#C9EBF4 100%) !important;
    padding-top:104px !important;
    padding-bottom:34px !important;
  }

  .hero .container::after{
    display:none !important;
  }

  .hero-h1{
    font-size:clamp(3.45rem,14vw,5.05rem) !important;
    line-height:.9 !important;
    color:#052845 !important;
  }

  .hero-h1 .grad{
    color:#FF6A00 !important;
    -webkit-text-fill-color:#FF6A00 !important;
  }

  .hero-h1 .outline{
    color:#052845 !important;
  }

  .hero-desc{
    color:#052845 !important;
    font-size:1rem !important;
    line-height:1.5 !important;
  }

  .co2-message,
  .co-transport-message,
  .tamtrak-co2-message{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 0 1.2rem !important;
    max-width:none !important;
    font-size:1rem !important;
  }

  .hero-stats{
    margin-left:0 !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .join-btns{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }
}

@media(max-width:520px){
  .hero-stats{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   V13 PATCH — use full supplied hero image as background
   Dark navy header + orange CTA + integrated full-width visual.
========================================================= */

:root{
  --v13-navy:#031F38 !important;
  --v13-navy2:#062D50 !important;
  --v13-blue:#074A7C !important;
  --v13-sky:#D9F1FA !important;
  --v13-sky2:#BFE5F4 !important;
  --v13-orange:#FF6900 !important;
  --v13-text:#031F38 !important;
}

/* Header */
.site-header,
header.site-header,
header,
.navbar,
.navigation,
.main-header{
  background:linear-gradient(90deg,#031F38 0%,#052A4B 60%,#06345C 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 12px 34px rgba(3,31,56,.34) !important;
  color:#fff !important;
}

.site-header a,
header a,
.navbar a,
.navigation a,
.main-navigation a,
.menu a,
.nav-link,
.logo-text,
.logo-tagline{
  color:#fff !important;
}

.site-header a:hover,
header a:hover,
.navbar a:hover,
.navigation a:hover,
.main-navigation a:hover,
.menu a:hover{
  color:#FF6900 !important;
}

.logo-mark{
  background:#031F38 !important;
  border:2px solid #36B7DD !important;
  box-shadow:0 0 0 4px rgba(54,183,221,.18) !important;
}

.header-cta,
.site-header .btn-primary,
.site-header .cta-button,
.site-header a[class*="button"]{
  background:#FF6900 !important;
  color:#fff !important;
  border-color:#FF6900 !important;
  box-shadow:0 12px 26px rgba(255,105,0,.30) !important;
}

/* Hero must use the new image as background, not as a floating element */
.hero,
.home-hero,
.hero-section {
  min-height:790px !important;
  padding-top:116px !important;
  padding-bottom:0 !important;
  overflow:hidden !important;
  background:
    linear-gradient(90deg,rgba(217,241,250,.08),rgba(191,229,244,.10)),
    url("assets/images/tamtrak-v13-hero-background.png") center top / cover no-repeat !important;
  color:#031F38 !important;
  border-bottom:0 !important;
}

/* Disable old generated/floating art layers so the background image is visible cleanly */
.hero .container::after,
.hero-visual,
.hero-art,
.hero-image,
.hero-truck,
.hero-map,
.hero-bg-image{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* Keep text/card layers aligned with the background image */
.hero .container{
  position:relative !important;
  z-index:2 !important;
  max-width:1480px !important;
  min-height:690px !important;
}

.hero-bg{
  background:none !important;
  opacity:0 !important;
}

.hero-grid{
  display:none !important;
}

/* The background already contains the big design, so make live overlay text transparent only if duplicated.
   Keep functional buttons/cards visible and aligned. */
.hero-badge{
  margin-top:24px !important;
  background:rgba(255,255,255,.48) !important;
  border:1px solid rgba(7,74,124,.36) !important;
  color:#074A7C !important;
}

.hero-h1{
  color:#031F38 !important;
  text-shadow:none !important;
  font-size:clamp(4.8rem,7.2vw,8rem) !important;
  line-height:.88 !important;
  letter-spacing:-.06em !important;
}

.hero-h1 .grad,
.hero-h1 strong,
.hero-h1 span.grad{
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
  background:none !important;
}

.hero-h1 .outline{
  color:#031F38 !important;
  -webkit-text-stroke:0 !important;
}

.hero-desc{
  color:#031F38 !important;
  font-weight:600 !important;
  max-width:510px !important;
}

/* Buttons */
.btn-primary,
.hero .btn-primary,
.cta-button,
button,
.wp-block-button__link{
  background:#FF6900 !important;
  border-color:#FF6900 !important;
  color:#fff !important;
  border-radius:12px !important;
  box-shadow:0 14px 30px rgba(255,105,0,.28) !important;
}

.btn-outline,
.hero .btn-outline{
  background:rgba(255,255,255,.80) !important;
  border:1px solid rgba(3,31,56,.14) !important;
  color:#031F38 !important;
}

/* CO2 bubble */
.co2-message,
.co-transport-message,
.tamtrak-co2-message{
  display:flex !important;
  align-items:center !important;
  gap:.85rem !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:8 !important;
  max-width:420px !important;
  margin:0 0 1.25rem !important;
  padding:1rem 1.15rem !important;
  background:rgba(255,255,255,.86) !important;
  color:#031F38 !important;
  border:1px solid rgba(3,31,56,.12) !important;
  border-radius:16px !important;
  box-shadow:0 16px 36px rgba(3,31,56,.14) !important;
  font-size:1.1rem !important;
  font-weight:800 !important;
}

.co2-message strong,
.co-transport-message strong,
.tamtrak-co2-message strong{
  color:#FF6900 !important;
}

/* Join buttons */
.join-btn{
  background:linear-gradient(135deg,#074A7C,#031F38) !important;
  color:#fff !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(3,31,56,.22) !important;
}

/* Stats/card strip */
.hero-stats{
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(3,31,56,.10) !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(3,31,56,.12) !important;
}

.stat-num{
  color:#074A7C !important;
}

.stat-num .accent,
.stat-num:first-child,
.stat-accent{
  color:#FF6900 !important;
}

/* Bottom features: white card like supplied reference */
.features-strip,
.hero-features,
.features,
.service-strip{
  background:rgba(255,255,255,.86) !important;
  border-radius:18px !important;
  border:1px solid rgba(3,31,56,.10) !important;
  box-shadow:0 12px 34px rgba(3,31,56,.10) !important;
  color:#031F38 !important;
}

.features-strip h3,
.hero-features h3,
.features h3,
.service-strip h3,
.features-strip p,
.hero-features p,
.features p,
.service-strip p{
  color:#031F38 !important;
}

/* Following dark section */
.services,
.network,
section.dark,
.section-dark{
  background:linear-gradient(135deg,#031F38 0%,#06345C 100%) !important;
  color:#fff !important;
}

.services h2,
.services h3,
.services p,
.network h2,
.network h3,
.network p,
section.dark h2,
section.dark h3,
section.dark p{
  color:#fff !important;
}

/* Remove remaining green cast */
[class*="green"],
.bg-green,
.green,
[style*="#0AB482"],
[style*="#12C896"],
[style*="10,180,130"],
[style*="18,200,150"]{
  background:#074A7C !important;
  color:#fff !important;
}

/* Mobile: use the same image as a background but crop top/center;
   keep text readable and CO2 visible. */
@media(max-width:768px){
  .site-header,
  header.site-header,
  header,
  .navbar{
    background:linear-gradient(90deg,#031F38,#06345C) !important;
  }

  .mobile-menu,
  .navbar-collapse,
  .main-navigation{
    background:#031F38 !important;
    color:#fff !important;
  }

  .mobile-menu a,
  .navbar-collapse a,
  .main-navigation a{
    color:#fff !important;
  }

  .hero,
  .home-hero,
  .hero-section {
    min-height:auto !important;
    padding-top:104px !important;
    padding-bottom:34px !important;
    background:
      linear-gradient(90deg,rgba(217,241,250,.92) 0%,rgba(217,241,250,.72) 52%,rgba(217,241,250,.18) 100%),
      url("assets/images/tamtrak-v13-hero-background.png") center top / auto 100% no-repeat !important;
  }

  .hero .container{
    min-height:0 !important;
  }

  .hero-h1{
    font-size:clamp(3.5rem,14vw,5.3rem) !important;
    color:#031F38 !important;
  }

  .hero-h1 .grad{
    color:#FF6900 !important;
    -webkit-text-fill-color:#FF6900 !important;
  }

  .hero-desc{
    color:#031F38 !important;
    max-width:100% !important;
  }

  .co2-message,
  .co-transport-message,
  .tamtrak-co2-message{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    max-width:none !important;
    margin:0 0 1rem !important;
    font-size:1rem !important;
  }

  .hero-stats{
    margin:1.25rem 0 0 !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:520px){
  .hero,
  .home-hero,
  .hero-section {
    background:
      linear-gradient(90deg,rgba(217,241,250,.95),rgba(217,241,250,.82)),
      url("assets/images/tamtrak-v13-hero-background.png") center top / auto 100% no-repeat !important;
  }

  .hero-stats{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V14 — CLEAN BACKGROUND HERO
   Uses cleaned background image only: no embedded UI/text/buttons.
========================================================= */

:root{
  --tamtrak-navy:#031F38 !important;
  --tamtrak-navy-2:#052A4B !important;
  --tamtrak-blue:#074A7C !important;
  --tamtrak-blue-2:#0A5E96 !important;
  --tamtrak-orange:#FF6900 !important;
  --tamtrak-sky:#D9F1FA !important;
  --tamtrak-text:#031F38 !important;
}

/* Header */
.site-header,
header.site-header,
header,
.navbar,
.navigation,
.main-header{
  background:linear-gradient(90deg,#031F38 0%,#052A4B 58%,#06345C 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 12px 34px rgba(3,31,56,.34) !important;
  color:#fff !important;
}

.site-header a,
header a,
.navbar a,
.navigation a,
.main-navigation a,
.menu a,
.nav-link,
.logo-text,
.logo-tagline{
  color:#fff !important;
}

.site-header a:hover,
header a:hover,
.navbar a:hover,
.navigation a:hover,
.main-navigation a:hover,
.menu a:hover{
  color:#FF6900 !important;
}

.logo-mark{
  background:#031F38 !important;
  border:2px solid #36B7DD !important;
  box-shadow:0 0 0 4px rgba(54,183,221,.18) !important;
}

.header-cta,
.site-header .btn-primary,
.site-header .cta-button,
.site-header a[class*="button"]{
  background:#FF6900 !important;
  color:#fff !important;
  border-color:#FF6900 !important;
  box-shadow:0 12px 26px rgba(255,105,0,.30) !important;
}

/* HERO: clean image as true background */
.hero,
.home-hero,
.hero-section {
  position:relative !important;
  min-height:790px !important;
  padding-top:128px !important;
  padding-bottom:36px !important;
  overflow:hidden !important;
  background:
    linear-gradient(90deg,
      rgba(217,241,250,.86) 0%,
      rgba(217,241,250,.60) 34%,
      rgba(217,241,250,.14) 62%,
      rgba(217,241,250,.03) 100%),
    url("assets/images/tamtrak-v14-clean-hero-bg.png") center top / cover no-repeat !important;
  color:#031F38 !important;
  border-bottom:0 !important;
}

/* Remove older image/art layers to avoid duplicate image/text */
.hero .container::after,
.hero-visual,
.hero-art,
.hero-image,
.hero-truck,
.hero-map,
.hero-bg-image{
  display:none !important;
  content:none !important;
  background:none !important;
}

.hero-bg,
.hero-grid{
  display:none !important;
  opacity:0 !important;
  background:none !important;
}

.hero .container{
  position:relative !important;
  z-index:2 !important;
  max-width:1480px !important;
}

/* Content styling */
.hero-inner{
  max-width:560px !important;
  position:relative !important;
  z-index:4 !important;
}

.hero-badge{
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(7,74,124,.38) !important;
  color:#074A7C !important;
  border-radius:999px !important;
  box-shadow:0 8px 22px rgba(3,31,56,.08) !important;
}

.badge-pulse{ background:#FF6900 !important; }

.hero-h1{
  color:#031F38 !important;
  text-shadow:0 2px 0 rgba(255,255,255,.38) !important;
  font-size:clamp(4.6rem,7vw,7.8rem) !important;
  line-height:.89 !important;
  letter-spacing:-.055em !important;
}

.hero-h1 .grad,
.hero-h1 strong,
.hero-h1 span.grad{
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
  background:none !important;
}

.hero-h1 .outline{
  color:#031F38 !important;
  -webkit-text-stroke:0 !important;
}

.hero-desc{
  color:#031F38 !important;
  font-weight:700 !important;
  max-width:520px !important;
  text-shadow:0 1px 0 rgba(255,255,255,.45) !important;
}

/* Co-transport bubble */
.co2-message,
.co-transport-message,
.tamtrak-co2-message{
  display:flex !important;
  align-items:center !important;
  gap:.85rem !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:8 !important;
  max-width:430px !important;
  margin:0 0 1.2rem !important;
  padding:1rem 1.15rem !important;
  background:rgba(255,255,255,.88) !important;
  color:#031F38 !important;
  border:1px solid rgba(3,31,56,.12) !important;
  border-radius:16px !important;
  box-shadow:0 16px 36px rgba(3,31,56,.14) !important;
  font-size:1.1rem !important;
  font-weight:800 !important;
}

.co2-message::before,
.co-transport-message::before,
.tamtrak-co2-message::before{
  content:"♻" !important;
  display:inline-flex !important;
  width:32px !important;
  height:32px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  color:#fff !important;
  background:#074A7C !important;
  flex:0 0 auto !important;
}

.co2-message strong,
.co-transport-message strong,
.tamtrak-co2-message strong{
  color:#FF6900 !important;
}

/* CTAs */
.btn-primary,
.hero .btn-primary,
.cta-button,
button,
.wp-block-button__link{
  background:#FF6900 !important;
  border-color:#FF6900 !important;
  color:#fff !important;
  border-radius:12px !important;
  box-shadow:0 14px 30px rgba(255,105,0,.28) !important;
}

.btn-outline,
.hero .btn-outline{
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(3,31,56,.14) !important;
  color:#031F38 !important;
}

.join-btn{
  background:linear-gradient(135deg,#074A7C,#031F38) !important;
  color:#fff !important;
  border-radius:10px !important;
  box-shadow:0 14px 30px rgba(3,31,56,.22) !important;
}

/* Stats and features */
.hero-stats{
  background:rgba(255,255,255,.80) !important;
  border:1px solid rgba(3,31,56,.10) !important;
  border-radius:18px !important;
  box-shadow:0 18px 42px rgba(3,31,56,.12) !important;
}

.stat-num{
  color:#074A7C !important;
}
.stat-num .accent,
.stat-accent{
  color:#FF6900 !important;
}

.features-strip,
.hero-features,
.features,
.service-strip{
  background:rgba(255,255,255,.88) !important;
  border-radius:18px !important;
  border:1px solid rgba(3,31,56,.10) !important;
  box-shadow:0 12px 34px rgba(3,31,56,.10) !important;
  color:#031F38 !important;
}

/* Next sections */
.services,
.network,
section.dark,
.section-dark{
  background:linear-gradient(135deg,#031F38 0%,#06345C 100%) !important;
  color:#fff !important;
}

.services h2,
.services h3,
.services p,
.network h2,
.network h3,
.network p,
section.dark h2,
section.dark h3,
section.dark p{
  color:#fff !important;
}

/* Remove green */
[class*="green"],
.bg-green,
.green,
[style*="#0AB482"],
[style*="#12C896"],
[style*="10,180,130"],
[style*="18,200,150"]{
  background:#074A7C !important;
  color:#fff !important;
}

/* Mobile */
@media(max-width:768px){
  .site-header,
  header.site-header,
  header,
  .navbar{
    background:linear-gradient(90deg,#031F38,#06345C) !important;
  }

  .mobile-menu,
  .navbar-collapse,
  .main-navigation{
    background:#031F38 !important;
    color:#fff !important;
  }

  .mobile-menu a,
  .navbar-collapse a,
  .main-navigation a{
    color:#fff !important;
  }

  .hero,
  .home-hero,
  .hero-section {
    min-height:auto !important;
    padding-top:104px !important;
    padding-bottom:34px !important;
    background:
      linear-gradient(90deg,rgba(217,241,250,.95) 0%,rgba(217,241,250,.82) 58%,rgba(217,241,250,.36) 100%),
      url("assets/images/tamtrak-v14-clean-hero-bg.png") center top / auto 100% no-repeat !important;
  }

  .hero-h1{
    font-size:clamp(3.45rem,14vw,5.25rem) !important;
    color:#031F38 !important;
  }

  .hero-h1 .grad{
    color:#FF6900 !important;
    -webkit-text-fill-color:#FF6900 !important;
  }

  .hero-desc{
    color:#031F38 !important;
    max-width:100% !important;
  }

  .co2-message,
  .co-transport-message,
  .tamtrak-co2-message{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    max-width:none !important;
    margin:0 0 1rem !important;
    font-size:1rem !important;
  }

  .hero-stats{
    margin:1.25rem 0 0 !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:520px){
  .hero-stats{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   V15 FINAL PATCH
   - Keep original logo as-is
   - Keep all hero content on the left
   - Orange stats
   - White CTA/footer text
   - Clean background image remains text-free
========================================================= */

:root{
  --v15-navy:#031F38 !important;
  --v15-navy-2:#052A4B !important;
  --v15-blue:#074A7C !important;
  --v15-orange:#FF6900 !important;
  --v15-white:#FFFFFF !important;
}

/* 1) Keep hero text/content locked to left side */
.hero .container,
.home-hero .container,
.hero-section .container {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  max-width:1480px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero-inner,
.hero-content,
.hero-copy,
.hero-left,
.home-hero .hero-inner {
  width:min(100%,560px) !important;
  max-width:560px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  position:relative !important;
  z-index:10 !important;
}

/* Make every main hero item stay inside the left column */
.hero-badge,
.hero-h1,
.hero-title,
.hero-desc,
.hero p,
.hero-actions,
.hero-cta,
.join-label,
.join-btns,
.co2-message,
.co-transport-message,
.tamtrak-co2-message{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

/* Avoid duplicate/floating center text if old layout created it */
.hero .center,
.hero-center,
.hero-middle,
.hero [class*="center"]{
  justify-content:flex-start !important;
  text-align:left !important;
}

/* Keep the cleaned background image as background only */
.hero,
.home-hero,
.hero-section {
  background:
    linear-gradient(90deg,
      rgba(217,241,250,.90) 0%,
      rgba(217,241,250,.66) 34%,
      rgba(217,241,250,.18) 62%,
      rgba(217,241,250,.03) 100%),
    url("assets/images/tamtrak-v14-clean-hero-bg.png") center top / cover no-repeat !important;
}

/* Remove any floating hero art that can cause image duplication */
.hero .container::after,
.hero-visual,
.hero-art,
.hero-image,
.hero-truck,
.hero-map,
.hero-bg-image{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* 2) Keep logo as-is: do NOT override logo colors.
   Only preserve header/nav readability. */
.site-header,
header.site-header,
header,
.navbar,
.navigation,
.main-header{
  background:linear-gradient(90deg,#031F38 0%,#052A4B 58%,#06345C 100%) !important;
  color:#fff !important;
}

.site-header a,
header a,
.navbar a,
.navigation a,
.main-navigation a,
.menu a,
.nav-link{
  color:#fff !important;
}

.site-header a:hover,
header a:hover,
.navbar a:hover,
.navigation a:hover,
.main-navigation a:hover,
.menu a:hover{
  color:#FF6900 !important;
}

/* Do not force logo mark/text colors in V15 */
.logo-mark,
.logo-text,
.logo-tagline,
.site-logo,
.custom-logo-link,
.custom-logo{
  filter:none !important;
}

/* 3) Stats numbers orange like header CTA */
.hero-stats .stat-num,
.hero-stats .stat-number,
.stat-num,
.stat-number,
.stats .number,
[class*="stat"] .number,
[class*="stat"] strong{
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
}

.hero-stats .stat-label,
.stat-label,
.stats .label,
[class*="stat"] .label{
  color:#FFFFFF !important;
}

/* Dark translucent stats card for contrast over background */
.hero-stats,
.stats-card,
.stats,
[class*="hero"] [class*="stats"]{
  background:rgba(3,31,56,.74) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#fff !important;
  backdrop-filter:blur(10px) !important;
}

/* 4) CTA section text white */
.cta-section,
.ready-section,
.final-cta,
.pre-footer,
section[class*="ready"],
section[class*="cta"]{
  background:linear-gradient(135deg,#031F38 0%,#06345C 100%) !important;
  color:#fff !important;
}

.cta-section h2,
.cta-section h3,
.cta-section p,
.ready-section h2,
.ready-section h3,
.ready-section p,
.final-cta h2,
.final-cta h3,
.final-cta p,
.pre-footer h2,
.pre-footer h3,
.pre-footer p,
section[class*="ready"] h2,
section[class*="ready"] h3,
section[class*="ready"] p,
section[class*="cta"] h2,
section[class*="cta"] h3,
section[class*="cta"] p{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
/* Footer text white */
footer,
.site-footer,
.footer,
.elementor-location-footer{
  background:linear-gradient(135deg,#031F38 0%,#052A4B 100%) !important;
  color:#fff !important;
}

footer p,
footer span,
footer div,
footer li,
.site-footer p,
.site-footer span,
.site-footer div,
.site-footer li,
.footer p,
.footer span,
.footer div,
.footer li,
.elementor-location-footer p,
.elementor-location-footer span,
.elementor-location-footer div,
.elementor-location-footer li{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

footer a,
.site-footer a,
.footer a,
.elementor-location-footer a{
  color:#FFFFFF !important;
}

footer a:hover,
.site-footer a:hover,
.footer a:hover,
.elementor-location-footer a:hover{
  color:#FF6900 !important;
}

/* Orange buttons */
.header-cta,
.btn-primary,
.hero .btn-primary,
.cta-button,
button,
.wp-block-button__link,
input[type="submit"]{
  background:#FF6900 !important;
  border-color:#FF6900 !important;
  color:#fff !important;
}

/* Co-transport visible in left column */
.co2-message,
.co-transport-message,
.tamtrak-co2-message{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:430px !important;
  color:#031F38 !important;
  background:rgba(255,255,255,.88) !important;
}

.co2-message strong,
.co-transport-message strong,
.tamtrak-co2-message strong{
  color:#FF6900 !important;
}

/* Mobile: keep everything left and readable */
@media(max-width:768px){
  .hero .container,
  .home-hero .container,
  .hero-section .container {
    display:block !important;
  }

  .hero-inner,
  .hero-content,
  .hero-copy,
  .hero-left{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    text-align:left !important;
  }

  .hero,
  .home-hero,
  .hero-section {
    background:
      linear-gradient(90deg,rgba(217,241,250,.96) 0%,rgba(217,241,250,.84) 58%,rgba(217,241,250,.42) 100%),
      url("assets/images/tamtrak-v14-clean-hero-bg.png") center top / auto 100% no-repeat !important;
  }

  .hero-stats{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .hero-stats .stat-num,
  .stat-num{
    color:#FF6900 !important;
  }

  .hero-stats .stat-label,
  .stat-label{
    color:#fff !important;
  }
}

@media(max-width:520px){
  .hero-stats{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   V16 PATCH
   1) Hero content immediately after header aligned LEFT, not centered.
   2) Network stats changed to simple inline orange numbers like reference.
========================================================= */

/* HERO LEFT ALIGNMENT — strongest override */
.hero,
.home-hero,
.hero-section {
  display:block !important;
  padding-top:118px !important;
}

.hero > .container,
.home-hero > .container,
.hero-section > .container,
.hero .container,
.home-hero .container,
.hero-section .container{
  width:100% !important;
  max-width:1480px !important;
  margin:0 auto !important;
  padding-left:clamp(28px,5vw,86px) !important;
  padding-right:clamp(24px,4vw,64px) !important;
  display:block !important;
  text-align:left !important;
  position:relative !important;
}

/* Lock the whole hero text block to the left */
.hero-inner,
.hero-content,
.hero-copy,
.hero-left,
.hero .hero-inner,
.home-hero .hero-inner {
  width:min(100%,560px) !important;
  max-width:560px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  transform:none !important;
  translate:none !important;
  left:auto !important;
  right:auto !important;
  text-align:left !important;
  display:block !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}

/* Prevent any hero text from being centered by theme/JS */
.hero-badge,
.hero-h1,
.hero-title,
.hero-desc,
.hero p,
.hero-actions,
.hero-cta,
.join-label,
.join-btns,
.co2-message,
.co-transport-message,
.tamtrak-co2-message{
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
  justify-content:flex-start !important;
}

/* Remove old centered/flex layouts */
.hero .container[style],
.hero-inner[style],
.hero-content[style]{
  text-align:left !important;
}

/* Network section stats — match reference image 3 */
.network-stats,
.network .stats,
.network .hero-stats,
section[id*="network"] .stats,
section[class*="network"] .stats,
section[class*="reseau"] .stats,
#reseau .stats,
#network .stats{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:clamp(48px,7vw,118px) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
  margin:0 0 28px auto !important;
  width:auto !important;
  max-width:none !important;
  color:#fff !important;
}

/* Individual stat item: no boxes */
.network-stats > *,
.network .stats > *,
section[class*="network"] .stats > *,
section[class*="reseau"] .stats > *,
#reseau .stats > *,
#network .stats > *{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  min-width:auto !important;
  width:auto !important;
  text-align:center !important;
}

/* Orange numbers */
.network-stats .stat-num,
.network-stats .stat-number,
.network .stats .stat-num,
.network .stats .stat-number,
section[class*="network"] .stats .stat-num,
section[class*="network"] .stats .stat-number,
section[class*="reseau"] .stats .stat-num,
section[class*="reseau"] .stats .stat-number,
#reseau .stats .stat-num,
#reseau .stats .stat-number,
#network .stats .stat-num,
#network .stats .stat-number{
  display:block !important;
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
  font-size:clamp(30px,3.1vw,46px) !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
  text-shadow:none !important;
}

/* White uppercase labels */
.network-stats .stat-label,
.network .stats .stat-label,
section[class*="network"] .stats .stat-label,
section[class*="reseau"] .stats .stat-label,
#reseau .stats .stat-label,
#network .stats .stat-label{
  display:block !important;
  margin-top:8px !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

/* If stats are inside the network header, keep them on right but unboxed */
.network-header,
.reseau-header,
section[class*="network"] .section-header,
section[class*="reseau"] .section-header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:32px !important;
}

.network-header .network-stats,
.reseau-header .network-stats,
section[class*="network"] .section-header .stats,
section[class*="reseau"] .section-header .stats{
  margin-left:auto !important;
}

/* Also ensure any stats block that was changed into white cards loses the card style */
.network [class*="stat"],
section[class*="network"] [class*="stat"],
section[class*="reseau"] [class*="stat"]{
  background:transparent !important;
  box-shadow:none !important;
}

/* Keep hero stats separate if they exist; match dark bar style, not white cards */
.hero .hero-stats{
  background:rgba(3,31,56,.72) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 16px 36px rgba(3,31,56,.18) !important;
}

.hero .hero-stats .stat-num,
.hero .hero-stats .stat-number{
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
}

.hero .hero-stats .stat-label{
  color:#fff !important;
}

/* Mobile */
@media(max-width:768px){
  .hero > .container,
  .home-hero > .container,
  .hero-section > .container,
  .hero .container{
    padding-left:22px !important;
    padding-right:22px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .hero-inner,
  .hero-content,
  .hero-copy,
  .hero-left{
    max-width:100% !important;
    width:100% !important;
  }

  .network-header,
  .reseau-header,
  section[class*="network"] .section-header,
  section[class*="reseau"] .section-header{
    display:block !important;
  }

  .network-stats,
  .network .stats,
  section[class*="network"] .stats,
  section[class*="reseau"] .stats,
  #reseau .stats,
  #network .stats{
    justify-content:flex-start !important;
    gap:28px !important;
    flex-wrap:wrap !important;
    margin-left:0 !important;
    margin-top:22px !important;
  }
}



/* =========================================================
   V16.2 DROPDOWN FIX
   Unified light-blue dropdown (no orange/light-blue mix)
========================================================= */

/* Trigger button stays dark blue */
.lang-trigger,
.language-trigger,
.lang-current,
.lang-button,
button[class*="lang"],
[class*="language"] button,
[class*="lang"] button{
    background:#083B70 !important;
    color:#FFFFFF !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:8px !important;
    box-shadow:0 8px 18px rgba(3,31,56,.18) !important;
}

/* Unified dropdown panel */
.lang-menu,
.language-menu,
.lang-options,
.language-options,
.dropdown-menu[class*="lang"],
[class*="language"] .dropdown-menu,
[class*="lang"] .dropdown-menu,
[class*="lang"] ul,
[class*="language"] ul{
    background:#CFEFF5 !important;
    border:1px solid rgba(8,59,112,.12) !important;
    border-radius:14px !important;
    overflow:hidden !important;
    box-shadow:0 18px 36px rgba(3,31,56,.20) !important;
    padding:6px 0 !important;
    min-width:180px !important;
}

/* ALL rows same light-blue tone */
.lang-menu a,
.language-menu a,
.lang-options a,
.language-options a,
.dropdown-menu[class*="lang"] a,
[class*="language"] .dropdown-menu a,
[class*="lang"] .dropdown-menu a,
[class*="lang"] ul a,
[class*="language"] ul a,
.lang-menu li,
.language-menu li,
.lang-options li,
.language-options li{
    background:#CFEFF5 !important;
    color:#083B70 !important;
    border:0 !important;
    padding:12px 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    font-size:14px !important;
    font-weight:500 !important;
    transition:background .18s ease !important;
}

/* Hover/current state: slightly darker blue only */
.lang-menu a:hover,
.language-menu a:hover,
.lang-options a:hover,
.language-options a:hover,
.dropdown-menu[class*="lang"] a:hover,
[class*="language"] .dropdown-menu a:hover,
[class*="lang"] .dropdown-menu a:hover,
[class*="lang"] ul a:hover,
[class*="language"] ul a:hover,
.lang-menu li:hover,
.language-menu li:hover,
.lang-options li:hover,
.language-options li:hover,
.lang-menu .active,
.language-menu .active,
.lang-options .active,
.language-options .active,
[class*="lang"] .current-lang,
[class*="language"] .current-lang{
    background:#B7E4EE !important;
    color:#083B70 !important;
}

/* Remove orange anywhere inside dropdown */
.lang-menu *,
.language-menu *,
.lang-options *,
.language-options *,
.dropdown-menu[class*="lang"] *,
[class*="language"] .dropdown-menu *,
[class*="lang"] .dropdown-menu *{
    border-color:transparent !important;
}



/* =========================================================
   V16.3 SINGLE COLOR DROPDOWN
   Entire dropdown uses ONE dark-blue color only
========================================================= */

/* Dropdown panel */
.lang-menu,
.language-menu,
.lang-options,
.language-options,
.dropdown-menu[class*="lang"],
[class*="language"] .dropdown-menu,
[class*="lang"] .dropdown-menu,
[class*="lang"] ul,
[class*="language"] ul{
    background:#083B70 !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:14px !important;
    overflow:hidden !important;
    box-shadow:0 18px 36px rgba(3,31,56,.22) !important;
    padding:6px 0 !important;
    min-width:180px !important;
}

/* ALL rows same exact blue */
.lang-menu a,
.language-menu a,
.lang-options a,
.language-options a,
.dropdown-menu[class*="lang"] a,
[class*="language"] .dropdown-menu a,
[class*="lang"] .dropdown-menu a,
[class*="lang"] ul a,
[class*="language"] ul a,
.lang-menu li,
.language-menu li,
.lang-options li,
.language-options li{
    background:#083B70 !important;
    color:#FFFFFF !important;
    border:0 !important;
    padding:12px 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    font-size:14px !important;
    font-weight:500 !important;
    transition:none !important;
}

/* Hover/current uses SAME blue */
.lang-menu a:hover,
.language-menu a:hover,
.lang-options a:hover,
.language-options a:hover,
.dropdown-menu[class*="lang"] a:hover,
[class*="language"] .dropdown-menu a:hover,
[class*="lang"] .dropdown-menu a:hover,
[class*="lang"] ul a:hover,
[class*="language"] ul a:hover,
.lang-menu li:hover,
.language-menu li:hover,
.lang-options li:hover,
.language-options li:hover,
.lang-menu .active,
.language-menu .active,
.lang-options .active,
.language-options .active,
[class*="lang"] .current-lang,
[class*="language"] .current-lang{
    background:#083B70 !important;
    color:#FFFFFF !important;
}

/* Remove separators / alternating colors */
.lang-menu *,
.language-menu *,
.lang-options *,
.language-options *,
.dropdown-menu[class*="lang"] *,
[class*="language"] .dropdown-menu *,
[class*="lang"] .dropdown-menu *{
    background:#083B70 !important;
    border-color:transparent !important;
    box-shadow:none !important;
}



/* =========================================================
   V16.3.1 CARTODB POSITRON MAP PATCH
   Baseline: V16.3
   Goal: clean SaaS map section using CartoDB Positron tiles.
   - Positron tiles are light and readable.
   - Section/container uses TamTrak navy.
   - Route overlays cyan.
   - Hubs/markers orange.
   - No muddy CSS tile filtering.
========================================================= */

:root{
  --carto-navy:#031F38 !important;
  --carto-navy-2:#052A4B !important;
  --carto-blue:#074A7C !important;
  --carto-cyan:#27B7E6 !important;
  --carto-sea:#D8EEF6 !important;
  --carto-orange:#FF6900 !important;
  --carto-card:#FFFFFF !important;
}

/* Network/map section wrapper */
.network,
.reseau,
#network,
#reseau,
section[class*="network"],
section[class*="reseau"]{
  background:
    radial-gradient(circle at 74% 30%, rgba(39,183,230,.16), transparent 34%),
    linear-gradient(135deg,#031F38 0%,#052A4B 54%,#031F38 100%) !important;
  color:#FFFFFF !important;
}

/* Section heading/text */
.network h2,
.reseau h2,
#network h2,
#reseau h2,
section[class*="network"] h2,
section[class*="reseau"] h2,
.network h3,
.reseau h3{
  color:#FFFFFF !important;
}

.network p,
.reseau p,
#network p,
#reseau p,
section[class*="network"] p,
section[class*="reseau"] p{
  color:#FFFFFF !important;
  opacity:.96 !important;
}

/* Simple orange stats, no grey/white cards */
.network-stats,
.network .stats,
.reseau .stats,
#network .stats,
#reseau .stats,
section[class*="network"] .stats,
section[class*="reseau"] .stats{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:56px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
  margin:0 !important;
}

.network-stats > *,
.network .stats > *,
.reseau .stats > *,
#network .stats > *,
#reseau .stats > *,
section[class*="network"] .stats > *,
section[class*="reseau"] .stats > *{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-width:auto !important;
  text-align:left !important;
}

.network-stats .stat-num,
.network-stats .stat-number,
.network .stats .stat-num,
.network .stats .stat-number,
.reseau .stats .stat-num,
.reseau .stats .stat-number,
#network .stats .stat-num,
#network .stats .stat-number,
#reseau .stats .stat-num,
#reseau .stats .stat-number{
  display:block !important;
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
  font-size:clamp(36px,3.3vw,52px) !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  margin:0 0 8px !important;
  text-shadow:none !important;
}

.network-stats .stat-label,
.network .stats .stat-label,
.reseau .stats .stat-label,
#network .stats .stat-label,
#reseau .stats .stat-label{
  display:block !important;
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  opacity:.92 !important;
}

/* Map container: clean light Positron map inside navy frame */
.leaflet-container,
.network-map,
.reseau-map,
.map,
#map,
[class*="leaflet-container"]{
  background:#D8EEF6 !important;
  border:1px solid rgba(39,183,230,.26) !important;
  border-radius:22px !important;
  box-shadow:
    0 26px 62px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.16) !important;
  overflow:hidden !important;
}

/* Important: Positron should remain visible. Do NOT heavily filter tiles. */
.leaflet-tile-pane,
.leaflet-tile,
.leaflet-layer img{
  filter:saturate(.98) contrast(1.02) brightness(1.02) !important;
  opacity:1 !important;
}

/* Gentle blue tint only; keeps sea/countries visible */
.leaflet-container::after,
.network-map::after,
.reseau-map::after,
.map::after,
#map::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:400 !important;
  background:
    linear-gradient(180deg, rgba(216,238,246,.06), rgba(7,74,124,.06)) !important;
  mix-blend-mode:multiply !important;
  opacity:.32 !important;
}

/* Cyan routes / borders / network overlays */
.leaflet-overlay-pane svg path,
.route-line,
.network-line,
.map-route{
  stroke:#27B7E6 !important;
  stroke-opacity:.86 !important;
  stroke-width:2.4px !important;
  filter:drop-shadow(0 0 6px rgba(39,183,230,.42)) !important;
}

/* Hub markers in orange */
.leaflet-marker-icon,
.map-marker,
.network-marker,
.hub-marker{
  filter:
    drop-shadow(0 0 8px rgba(255,105,0,.46))
    drop-shadow(0 0 18px rgba(255,105,0,.20)) !important;
}

.hub-marker,
.marker-orange,
[class*="marker"] .orange,
[class*="hub"] .marker{
  background:#FF6900 !important;
  border-color:#FFFFFF !important;
}

/* Leaflet controls */
.leaflet-control-zoom a{
  background:#FFFFFF !important;
  color:#052A4B !important;
  border-color:rgba(5,42,75,.12) !important;
}

.leaflet-control-zoom a:hover{
  background:#E8F6FA !important;
  color:#052A4B !important;
}

.leaflet-control-attribution{
  background:rgba(255,255,255,.86) !important;
  color:#052A4B !important;
  border-radius:6px 0 0 0 !important;
}

.leaflet-control-attribution a{
  color:#074A7C !important;
}

/* Legend */
.leaflet-legend,
.map-legend,
.network-legend,
[class*="legend"]{
  background:rgba(255,255,255,.90) !important;
  color:#052A4B !important;
  border:1px solid rgba(5,42,75,.12) !important;
  border-radius:12px !important;
  box-shadow:0 12px 26px rgba(3,31,56,.16) !important;
  backdrop-filter:blur(8px) !important;
}

/* City chips */
.network-cities,
.reseau-cities,
.city-chips,
.villes-reseau,
[class*="city-list"],
[class*="villes"]{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-top:28px !important;
}

.network .city-chip,
.reseau .city-chip,
.city-chip,
[class*="city-chip"],
[class*="ville-chip"]{
  background:rgba(255,255,255,.92) !important;
  color:#052A4B !important;
  border:1px solid rgba(39,183,230,.20) !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  box-shadow:0 10px 22px rgba(0,0,0,.12) !important;
}

.network .city-chip::before,
.reseau .city-chip::before,
.city-chip::before,
[class*="city-chip"]::before,
[class*="ville-chip"]::before{
  background:#FF6900 !important;
}

/* Keep V16.3 language dropdown single color */
.lang-menu,
.language-menu,
.lang-options,
.language-options,
.dropdown-menu[class*="lang"],
[class*="language"] .dropdown-menu,
[class*="lang"] .dropdown-menu,
[class*="lang"] ul,
[class*="language"] ul,
.lang-menu a,
.language-menu a,
.lang-options a,
.language-options a,
.dropdown-menu[class*="lang"] a,
[class*="language"] .dropdown-menu a,
[class*="lang"] .dropdown-menu a,
[class*="lang"] ul a,
[class*="language"] ul a,
.lang-menu li,
.language-menu li,
.lang-options li,
.language-options li,
.lang-menu a:hover,
.language-menu a:hover,
.lang-options a:hover,
.language-options a:hover,
[class*="lang"] .current-lang,
[class*="language"] .current-lang{
  background:#083B70 !important;
  color:#FFFFFF !important;
}

/* Responsive */
@media(max-width:980px){
  .network-header,
  .reseau-header,
  #network .section-header,
  #reseau .section-header,
  section[class*="network"] .section-header,
  section[class*="reseau"] .section-header{
    display:block !important;
  }

  .network-stats,
  .network .stats,
  .reseau .stats,
  #network .stats,
  #reseau .stats{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:32px !important;
    margin-top:24px !important;
  }
}

@media(max-width:620px){
  .network-stats,
  .network .stats,
  .reseau .stats,
  #network .stats,
  #reseau .stats{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
  }

  .network-stats .stat-num,
  .network .stats .stat-num,
  .reseau .stats .stat-num{
    font-size:32px !important;
  }

  .network-stats .stat-label,
  .network .stats .stat-label,
  .reseau .stats .stat-label{
    font-size:10px !important;
    letter-spacing:.09em !important;
  }
}



/* =========================================================
   V16.3.2 REAL CARTODB POSITRON PATCH
   Purpose: remove inherited dark-map filters/overlays.
   The map tiles stay light, clean CartoDB Positron.
========================================================= */

/* Network wrapper stays TamTrak navy, but map itself remains light */
.network,
.reseau,
#network,
#reseau,
section[class*="network"],
section[class*="reseau"]{
  background:linear-gradient(135deg,#031F38 0%,#052A4B 55%,#031F38 100%) !important;
  color:#FFFFFF !important;
}

/* Map container: white/light frame, no dark inner overlays */
.leaflet-container,
.network-map,
.reseau-map,
.map,
#map,
[class*="leaflet-container"]{
  background:#EAF4F7 !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:22px !important;
  box-shadow:0 26px 62px rgba(0,0,0,.30) !important;
  overflow:hidden !important;
}

/* CRITICAL: remove ALL previous dark filters from map tiles */
.leaflet-tile-pane,
.leaflet-tile,
.leaflet-layer,
.leaflet-layer img,
.leaflet-pane img{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:transparent !important;
}

/* CRITICAL: remove old pseudo overlays that made Positron black */
.leaflet-container::before,
.leaflet-container::after,
.network-map::before,
.network-map::after,
.reseau-map::before,
.reseau-map::after,
.map::before,
.map::after,
#map::before,
#map::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:none !important;
  mix-blend-mode:normal !important;
}

/* Keep route overlays visible over light Positron */
.leaflet-overlay-pane svg path,
.route-line,
.network-line,
.map-route{
  stroke:#0BA8D8 !important;
  stroke-opacity:.88 !important;
  stroke-width:2.5px !important;
  filter:drop-shadow(0 0 4px rgba(11,168,216,.35)) !important;
}

/* Hub markers: orange on light map */
.leaflet-marker-icon,
.map-marker,
.network-marker,
.hub-marker{
  filter:drop-shadow(0 4px 10px rgba(255,105,0,.35)) !important;
}

.hub-marker,
.marker-orange,
[class*="marker"] .orange,
[class*="hub"] .marker{
  background:#FF6900 !important;
  border-color:#FFFFFF !important;
}

/* Leaflet controls: light Positron style */
.leaflet-control-zoom a{
  background:#FFFFFF !important;
  color:#052A4B !important;
  border-color:rgba(5,42,75,.12) !important;
}

.leaflet-control-zoom a:hover{
  background:#EAF4F7 !important;
  color:#052A4B !important;
}

.leaflet-control-attribution{
  background:rgba(255,255,255,.86) !important;
  color:#052A4B !important;
  border-radius:6px 0 0 0 !important;
}

.leaflet-control-attribution a{
  color:#074A7C !important;
}

/* Legend: clean light card */
.leaflet-legend,
.map-legend,
.network-legend,
[class*="legend"]{
  background:rgba(255,255,255,.92) !important;
  color:#052A4B !important;
  border:1px solid rgba(5,42,75,.12) !important;
  border-radius:12px !important;
  box-shadow:0 12px 26px rgba(3,31,56,.14) !important;
  backdrop-filter:blur(8px) !important;
}

[class*="legend"] span,
[class*="legend"] li,
[class*="legend"] p{
  color:#052A4B !important;
}

/* Orange stats, clean inline */
.network-stats,
.network .stats,
.reseau .stats,
#network .stats,
#reseau .stats,
section[class*="network"] .stats,
section[class*="reseau"] .stats{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:56px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
  margin:0 !important;
}

.network-stats > *,
.network .stats > *,
.reseau .stats > *,
#network .stats > *,
#reseau .stats > *{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

.network-stats .stat-num,
.network .stats .stat-num,
.reseau .stats .stat-num,
#network .stats .stat-num,
#reseau .stats .stat-num,
.network-stats .stat-number,
.network .stats .stat-number{
  color:#FF6900 !important;
  -webkit-text-fill-color:#FF6900 !important;
  font-size:clamp(36px,3.3vw,52px) !important;
  font-weight:950 !important;
  line-height:1 !important;
  margin:0 0 8px !important;
}

.network-stats .stat-label,
.network .stats .stat-label,
.reseau .stats .stat-label,
#network .stats .stat-label,
#reseau .stats .stat-label{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}

/* City chips: light pills on navy section */
.network-cities,
.reseau-cities,
.city-chips,
.villes-reseau,
[class*="city-list"],
[class*="villes"]{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-top:28px !important;
}

.network .city-chip,
.reseau .city-chip,
.city-chip,
[class*="city-chip"],
[class*="ville-chip"]{
  background:rgba(255,255,255,.92) !important;
  color:#052A4B !important;
  border:1px solid rgba(39,183,230,.20) !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  box-shadow:0 10px 22px rgba(0,0,0,.12) !important;
}

.network .city-chip::before,
.reseau .city-chip::before,
.city-chip::before,
[class*="city-chip"]::before,
[class*="ville-chip"]::before{
  background:#FF6900 !important;
}

/* Keep V16.3 single-color language dropdown */
.lang-menu,
.language-menu,
.lang-options,
.language-options,
.dropdown-menu[class*="lang"],
[class*="language"] .dropdown-menu,
[class*="lang"] .dropdown-menu,
[class*="lang"] ul,
[class*="language"] ul,
.lang-menu a,
.language-menu a,
.lang-options a,
.language-options a,
.dropdown-menu[class*="lang"] a,
[class*="language"] .dropdown-menu a,
[class*="lang"] .dropdown-menu a,
[class*="lang"] ul a,
[class*="language"] ul a,
.lang-menu li,
.language-menu li,
.lang-options li,
.language-options li,
.lang-menu a:hover,
.language-menu a:hover,
.lang-options a:hover,
.language-options a:hover,
[class*="lang"] .current-lang,
[class*="language"] .current-lang{
  background:#083B70 !important;
  color:#FFFFFF !important;
}

/* Responsive */
@media(max-width:980px){
  .network-stats,
  .network .stats,
  .reseau .stats,
  #network .stats,
  #reseau .stats{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
    gap:32px !important;
    margin-top:24px !important;
  }
}



/* =========================================================
   V16.3.3 LANGUAGE DROPDOWN LAYOUT IMPROVEMENT
   Cleaner compact menu, one color, better spacing, no row boxes.
========================================================= */

.lang-switcher,
.language-switcher,
.lang-dropdown,
.language-dropdown,
[class*="lang-switch"],
[class*="language-switch"]{
  position:relative !important;
  z-index:99999 !important;
}

/* Trigger */
.lang-trigger,
.language-trigger,
.lang-current,
.lang-button,
button[class*="lang"],
[class*="language"] button,
[class*="lang"] button{
  height:36px !important;
  min-width:78px !important;
  padding:0 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:#083B70 !important;
  color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:9px !important;
  box-shadow:0 8px 18px rgba(3,31,56,.20) !important;
}

/* Panel: single clean card */
.lang-menu,
.language-menu,
.lang-options,
.language-options,
.dropdown-menu[class*="lang"],
[class*="language"] .dropdown-menu,
[class*="lang"] .dropdown-menu,
[class*="lang"] ul,
[class*="language"] ul{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  right:0 !important;
  left:auto !important;
  min-width:190px !important;
  width:190px !important;
  margin:0 !important;
  padding:8px !important;
  list-style:none !important;
  background:#083B70 !important;
  color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:14px !important;
  box-shadow:0 18px 42px rgba(3,31,56,.32) !important;
  overflow:hidden !important;
}

/* Remove inner row boxes/alternating bands */
.lang-menu li,
.language-menu li,
.lang-options li,
.language-options li,
[class*="lang"] .dropdown-menu li,
[class*="language"] .dropdown-menu li{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Rows */
.lang-menu a,
.language-menu a,
.lang-options a,
.language-options a,
.dropdown-menu[class*="lang"] a,
[class*="language"] .dropdown-menu a,
[class*="lang"] .dropdown-menu a,
[class*="lang"] ul a,
[class*="language"] ul a{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-height:40px !important;
  padding:10px 12px !important;
  margin:0 !important;
  background:#083B70 !important;
  color:#FFFFFF !important;
  border:0 !important;
  border-radius:9px !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

/* Hover/current: same color, only subtle outline/opacity change */
.lang-menu a:hover,
.language-menu a:hover,
.lang-options a:hover,
.language-options a:hover,
.dropdown-menu[class*="lang"] a:hover,
[class*="language"] .dropdown-menu a:hover,
[class*="lang"] .dropdown-menu a:hover,
[class*="lang"] ul a:hover,
[class*="language"] ul a:hover,
.lang-menu .active a,
.language-menu .active a,
.lang-options .active a,
.language-options .active a,
[class*="lang"] .current-lang a,
[class*="language"] .current-lang a{
  background:#083B70 !important;
  color:#FFFFFF !important;
  outline:1px solid rgba(255,255,255,.16) !important;
}

/* Flag alignment */
.lang-menu img,
.language-menu img,
.lang-options img,
.language-options img,
[class*="lang"] .dropdown-menu img,
[class*="language"] .dropdown-menu img,
.lang-menu .flag,
.language-menu .flag,
.lang-options .flag,
.language-options .flag{
  width:18px !important;
  height:18px !important;
  object-fit:contain !important;
  flex:0 0 18px !important;
  display:inline-block !important;
}

/* Force all descendants to avoid light-blue/orange row backgrounds */
.lang-menu *,
.language-menu *,
.lang-options *,
.language-options *,
.dropdown-menu[class*="lang"] *,
[class*="language"] .dropdown-menu *,
[class*="lang"] .dropdown-menu *{
  border-color:transparent !important;
}

/* Small arrow gap shadow */
.lang-menu::before,
.language-menu::before,
.lang-options::before,
.language-options::before{
  content:"" !important;
  position:absolute !important;
  top:-6px !important;
  right:18px !important;
  width:12px !important;
  height:12px !important;
  background:#083B70 !important;
  transform:rotate(45deg) !important;
  border-left:1px solid rgba(255,255,255,.16) !important;
  border-top:1px solid rgba(255,255,255,.16) !important;
}

/* Mobile */
@media(max-width:768px){
  .lang-menu,
  .language-menu,
  .lang-options,
  .language-options,
  .dropdown-menu[class*="lang"],
  [class*="language"] .dropdown-menu,
  [class*="lang"] .dropdown-menu{
    right:0 !important;
    left:auto !important;
    width:190px !important;
    min-width:190px !important;
  }
}



/* =========================================================
   V16.3.4 COMPACT LANGUAGE DROPDOWN
   - remove double boxes
   - smaller compact menu
   - flatter cleaner rows
========================================================= */

/* Main dropdown card */
.lang-menu,
.language-menu,
.lang-options,
.language-options,
.dropdown-menu[class*="lang"],
[class*="language"] .dropdown-menu,
[class*="lang"] .dropdown-menu,
[class*="lang"] ul,
[class*="language"] ul{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    left:auto !important;

    width:168px !important;
    min-width:168px !important;

    padding:6px !important;
    margin:0 !important;

    background:#083B70 !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:12px !important;

    box-shadow:0 14px 28px rgba(3,31,56,.24) !important;

    overflow:hidden !important;
}

/* Remove ALL nested row containers */
.lang-menu li,
.language-menu li,
.lang-options li,
.language-options li,
[class*="lang"] .dropdown-menu li,
[class*="language"] .dropdown-menu li{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    margin:0 !important;
    padding:0 !important;
}

/* Compact flat rows */
.lang-menu a,
.language-menu a,
.lang-options a,
.language-options a,
.dropdown-menu[class*="lang"] a,
[class*="language"] .dropdown-menu a,
[class*="lang"] .dropdown-menu a,
[class*="lang"] ul a,
[class*="language"] ul a{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;

    min-height:34px !important;

    padding:8px 10px !important;
    margin:0 !important;

    background:transparent !important;
    color:#FFFFFF !important;

    border:0 !important;
    border-radius:8px !important;
    box-shadow:none !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.15 !important;

    text-decoration:none !important;
}

/* subtle hover only */
.lang-menu a:hover,
.language-menu a:hover,
.lang-options a:hover,
.language-options a:hover,
.dropdown-menu[class*="lang"] a:hover,
[class*="language"] .dropdown-menu a:hover,
[class*="lang"] .dropdown-menu a:hover,
[class*="lang"] ul a:hover,
[class*="language"] ul a:hover,
.lang-menu .active a,
.language-menu .active a,
.lang-options .active a,
.language-options .active a{
    background:rgba(255,255,255,.08) !important;
    outline:none !important;
    box-shadow:none !important;
}

/* Flags */
.lang-menu img,
.language-menu img,
.lang-options img,
.language-options img,
[class*="lang"] .dropdown-menu img,
[class*="language"] .dropdown-menu img,
.lang-menu .flag,
.language-menu .flag{
    width:15px !important;
    height:15px !important;
    object-fit:contain !important;
    flex:0 0 15px !important;
}

/* Remove previous pseudo arrow */
.lang-menu::before,
.language-menu::before,
.lang-options::before,
.language-options::before{
    display:none !important;
    content:none !important;
}

/* remove all internal outlines */
.lang-menu *,
.language-menu *,
.lang-options *,
.language-options *,
.dropdown-menu[class*="lang"] *,
[class*="language"] .dropdown-menu *,
[class*="lang"] .dropdown-menu *{
    border-color:transparent !important;
    box-shadow:none !important;
}



/* =========================================================
   V16.3.5 FOOTER + STATS PATCH
   - Remove EN FR DE IT ES footer language list
   - Style stats like provided reference image
========================================================= */

/* Remove footer language selector/list */
footer .lang-switcher,
footer .language-switcher,
footer .footer-languages,
footer .languages,
footer [class*="lang"],
.site-footer .lang-switcher,
.site-footer .language-switcher,
.site-footer .footer-languages,
.site-footer .languages,
.site-footer [class*="lang"]{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    overflow:hidden !important;
}

/* Stats container */
.network-stats,
.network .stats,
.reseau .stats,
#network .stats,
#reseau .stats,
.hero-stats{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:72px !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    padding:0 !important;
    margin:0 !important;
}

/* Remove cards/boxes */
.network-stats > *,
.network .stats > *,
.reseau .stats > *,
#network .stats > *,
#reseau .stats > *,
.hero-stats > *{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    padding:0 !important;
    margin:0 !important;

    min-width:auto !important;
    text-align:center !important;
}

/* Orange numbers */
.network-stats .stat-num,
.network-stats .stat-number,
.network .stats .stat-num,
.network .stats .stat-number,
.reseau .stats .stat-num,
.reseau .stats .stat-number,
#network .stats .stat-num,
#network .stats .stat-number,
#reseau .stats .stat-num,
#reseau .stats .stat-number,
.hero-stats .stat-num,
.hero-stats .stat-number{
    display:block !important;

    color:#FF6900 !important;
    -webkit-text-fill-color:#FF6900 !important;

    font-size:46px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;

    margin:0 0 8px !important;
}

/* White uppercase labels like screenshot */
.network-stats .stat-label,
.network .stats .stat-label,
.reseau .stats .stat-label,
#network .stats .stat-label,
#reseau .stats .stat-label,
.hero-stats .stat-label{
    display:block !important;

    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;

    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;

    letter-spacing:.14em !important;
    text-transform:uppercase !important;

    opacity:.92 !important;
}

/* Mobile */
@media(max-width:768px){

    .network-stats,
    .network .stats,
    .reseau .stats,
    #network .stats,
    #reseau .stats,
    .hero-stats{
        gap:34px !important;
        flex-wrap:wrap !important;
    }

    .network-stats .stat-num,
    .network .stats .stat-num,
    .hero-stats .stat-num{
        font-size:36px !important;
    }

    .network-stats .stat-label,
    .network .stats .stat-label,
    .hero-stats .stat-label{
        font-size:10px !important;
        letter-spacing:.09em !important;
    }
}



/* =========================================================
   V16.3.6 CORRECTION
   - Restore HERO stats styling.
   - Apply requested orange/white simple stats ONLY in The Network section.
========================================================= */

/* RESTORE HERO STATS — do not use the Network-section simple style here */
.hero .hero-stats,
.home-hero .hero-stats {
    background:rgba(3,31,56,.72) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:18px !important;
    box-shadow:0 16px 36px rgba(3,31,56,.18) !important;
    backdrop-filter:blur(10px) !important;
    padding:1.05rem 1.2rem !important;
    display:flex !important;
    align-items:stretch !important;
    justify-content:space-between !important;
    gap:0 !important;
    color:#FFFFFF !important;
}

.hero .hero-stats > *,
.home-hero .hero-stats > * {
    flex:1 1 0 !important;
    min-width:0 !important;
    padding:0 22px !important;
    background:transparent !important;
    border-right:1px solid rgba(255,255,255,.16) !important;
    box-shadow:none !important;
    text-align:center !important;
}

.hero .hero-stats > *:last-child,
.home-hero .hero-stats > *:last-child {
    border-right:0 !important;
}

.hero .hero-stats .stat-num,
.hero .hero-stats .stat-number,
.home-hero .hero-stats .stat-num,
.home-hero .hero-stats .stat-number {
    color:#FF6900 !important;
    -webkit-text-fill-color:#FF6900 !important;
    font-size:clamp(30px,3vw,44px) !important;
    font-weight:950 !important;
    line-height:1 !important;
    margin:0 0 8px !important;
}

.hero .hero-stats .stat-label,
.home-hero .hero-stats .stat-label {
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1.25 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    opacity:.92 !important;
}

/* NETWORK SECTION STATS ONLY — reference style */
.network .network-stats,
.network .stats,
.reseau .network-stats,
.reseau .stats,
#network .network-stats,
#network .stats,
#reseau .network-stats,
#reseau .stats,
section.network .stats,
section.reseau .stats,
section[id*="network"] .stats,
section[id*="reseau"] .stats,
section[class*="network"] .stats,
section[class*="reseau"] .stats{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    gap:72px !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;

    padding:0 !important;
    margin:0 !important;
    color:#FFFFFF !important;
}

.network .network-stats > *,
.network .stats > *,
.reseau .network-stats > *,
.reseau .stats > *,
#network .network-stats > *,
#network .stats > *,
#reseau .network-stats > *,
#reseau .stats > *,
section.network .stats > *,
section.reseau .stats > *,
section[id*="network"] .stats > *,
section[id*="reseau"] .stats > *,
section[class*="network"] .stats > *,
section[class*="reseau"] .stats > *{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    min-width:auto !important;
    text-align:center !important;
}

.network .network-stats .stat-num,
.network .network-stats .stat-number,
.network .stats .stat-num,
.network .stats .stat-number,
.reseau .network-stats .stat-num,
.reseau .network-stats .stat-number,
.reseau .stats .stat-num,
.reseau .stats .stat-number,
#network .network-stats .stat-num,
#network .network-stats .stat-number,
#network .stats .stat-num,
#network .stats .stat-number,
#reseau .network-stats .stat-num,
#reseau .network-stats .stat-number,
#reseau .stats .stat-num,
#reseau .stats .stat-number,
section[class*="network"] .stats .stat-num,
section[class*="network"] .stats .stat-number,
section[class*="reseau"] .stats .stat-num,
section[class*="reseau"] .stats .stat-number{
    display:block !important;
    color:#FF6900 !important;
    -webkit-text-fill-color:#FF6900 !important;
    font-size:46px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
    margin:0 0 8px !important;
}

.network .network-stats .stat-label,
.network .stats .stat-label,
.reseau .network-stats .stat-label,
.reseau .stats .stat-label,
#network .network-stats .stat-label,
#network .stats .stat-label,
#reseau .network-stats .stat-label,
#reseau .stats .stat-label,
section[class*="network"] .stats .stat-label,
section[class*="reseau"] .stats .stat-label{
    display:block !important;
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    opacity:.92 !important;
}

/* Responsive */
@media(max-width:768px){
    .hero .hero-stats,
    .home-hero .hero-stats {
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:0 !important;
        padding:1rem !important;
    }

    .hero .hero-stats > *,
    .home-hero .hero-stats > * {
        border-right:0 !important;
        padding:14px !important;
    }

    .network .network-stats,
    .network .stats,
    .reseau .network-stats,
    .reseau .stats,
    #network .stats,
    #reseau .stats,
    section[class*="network"] .stats,
    section[class*="reseau"] .stats{
        justify-content:flex-start !important;
        gap:34px !important;
        flex-wrap:wrap !important;
    }
}



/* =========================================================
   V16.3.7 NETWORK STAT FIX
   Target the actual Network-section stat boxes and force the
   reference layout: no grey boxes, orange number + white label.
========================================================= */

/* Network section stat containers: include likely actual class names */
.network .network-metrics,
.network .network-stats,
.network .stats,
.network .stat-grid,
.network .metrics,
.network .kpis,
.reseau .network-metrics,
.reseau .network-stats,
.reseau .stats,
.reseau .stat-grid,
.reseau .metrics,
.reseau .kpis,
#network .network-metrics,
#network .network-stats,
#network .stats,
#network .stat-grid,
#network .metrics,
#network .kpis,
#reseau .network-metrics,
#reseau .network-stats,
#reseau .stats,
#reseau .stat-grid,
#reseau .metrics,
#reseau .kpis,
section[class*="network"] .network-metrics,
section[class*="network"] .network-stats,
section[class*="network"] .stats,
section[class*="network"] .stat-grid,
section[class*="network"] .metrics,
section[class*="network"] .kpis,
section[class*="reseau"] .network-metrics,
section[class*="reseau"] .network-stats,
section[class*="reseau"] .stats,
section[class*="reseau"] .stat-grid,
section[class*="reseau"] .metrics,
section[class*="reseau"] .kpis{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    gap:72px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    padding:0 !important;
    margin:0 !important;
}

/* Actual individual boxes/cards in Network section */
.network .network-metrics > *,
.network .network-stats > *,
.network .stats > *,
.network .stat-grid > *,
.network .metrics > *,
.network .kpis > *,
.network .stat-card,
.network .metric-card,
.network .kpi-card,
.network [class*="stat-card"],
.network [class*="metric"],
.network [class*="kpi"],
.reseau .network-metrics > *,
.reseau .network-stats > *,
.reseau .stats > *,
.reseau .stat-grid > *,
.reseau .metrics > *,
.reseau .kpis > *,
.reseau .stat-card,
.reseau .metric-card,
.reseau .kpi-card,
.reseau [class*="stat-card"],
.reseau [class*="metric"],
.reseau [class*="kpi"],
#network .network-metrics > *,
#network .network-stats > *,
#network .stats > *,
#network .stat-grid > *,
#network .metrics > *,
#network .kpis > *,
#network .stat-card,
#network .metric-card,
#network .kpi-card,
#network [class*="stat-card"],
#network [class*="metric"],
#network [class*="kpi"],
#reseau .network-metrics > *,
#reseau .network-stats > *,
#reseau .stats > *,
#reseau .stat-grid > *,
#reseau .metrics > *,
#reseau .kpis > *,
#reseau .stat-card,
#reseau .metric-card,
#reseau .kpi-card,
#reseau [class*="stat-card"],
#reseau [class*="metric"],
#reseau [class*="kpi"],
section[class*="network"] .stat-card,
section[class*="network"] .metric-card,
section[class*="network"] .kpi-card,
section[class*="network"] [class*="stat-card"],
section[class*="network"] [class*="metric"],
section[class*="network"] [class*="kpi"],
section[class*="reseau"] .stat-card,
section[class*="reseau"] .metric-card,
section[class*="reseau"] .kpi-card,
section[class*="reseau"] [class*="stat-card"],
section[class*="reseau"] [class*="metric"],
section[class*="reseau"] [class*="kpi"]{
    background:transparent !important;
    background-color:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    padding:0 !important;
    margin:0 !important;
    min-width:auto !important;
    width:auto !important;
    height:auto !important;
    text-align:center !important;
}

/* Remove pseudo backgrounds on stat cards */
.network .stat-card::before,
.network .stat-card::after,
.network .metric-card::before,
.network .metric-card::after,
.network [class*="stat"]::before,
.network [class*="stat"]::after,
.reseau .stat-card::before,
.reseau .stat-card::after,
.reseau .metric-card::before,
.reseau .metric-card::after,
.reseau [class*="stat"]::before,
.reseau [class*="stat"]::after,
#network .stat-card::before,
#network .stat-card::after,
#network .metric-card::before,
#network .metric-card::after,
#network [class*="stat"]::before,
#network [class*="stat"]::after,
#reseau .stat-card::before,
#reseau .stat-card::after,
#reseau .metric-card::before,
#reseau .metric-card::after,
#reseau [class*="stat"]::before,
#reseau [class*="stat"]::after{
    display:none !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
    border:0 !important;
}

/* Numbers in Network section */
.network .stat-num,
.network .stat-number,
.network .metric-number,
.network .kpi-number,
.network [class*="number"],
.network [class*="count"],
.network .stat-card strong,
.network .metric-card strong,
.reseau .stat-num,
.reseau .stat-number,
.reseau .metric-number,
.reseau .kpi-number,
.reseau [class*="number"],
.reseau [class*="count"],
.reseau .stat-card strong,
.reseau .metric-card strong,
#network .stat-num,
#network .stat-number,
#network .metric-number,
#network .kpi-number,
#network [class*="number"],
#network [class*="count"],
#network .stat-card strong,
#network .metric-card strong,
#reseau .stat-num,
#reseau .stat-number,
#reseau .metric-number,
#reseau .kpi-number,
#reseau [class*="number"],
#reseau [class*="count"],
#reseau .stat-card strong,
#reseau .metric-card strong{
    display:block !important;
    color:#FF6900 !important;
    -webkit-text-fill-color:#FF6900 !important;
    background:transparent !important;
    font-size:46px !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
    margin:0 0 8px !important;
    text-shadow:none !important;
}

/* Labels in Network section */
.network .stat-label,
.network .metric-label,
.network .kpi-label,
.network .stat-card span,
.network .metric-card span,
.network .stat-card p,
.network .metric-card p,
.reseau .stat-label,
.reseau .metric-label,
.reseau .kpi-label,
.reseau .stat-card span,
.reseau .metric-card span,
.reseau .stat-card p,
.reseau .metric-card p,
#network .stat-label,
#network .metric-label,
#network .kpi-label,
#network .stat-card span,
#network .metric-card span,
#network .stat-card p,
#network .metric-card p,
#reseau .stat-label,
#reseau .metric-label,
#reseau .kpi-label,
#reseau .stat-card span,
#reseau .metric-card span,
#reseau .stat-card p,
#reseau .metric-card p{
    display:block !important;
    color:#FFFFFF !important;
    -webkit-text-fill-color:#FFFFFF !important;
    background:transparent !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    opacity:.92 !important;
    margin:0 !important;
}

/* Force English labels visually when template uses data-label attrs? */
.network [data-label],
.reseau [data-label],
#network [data-label],
#reseau [data-label]{
    color:#FFFFFF !important;
}

/* Do NOT affect hero stats */
.hero .hero-stats,
.home-hero .hero-stats {
    background:rgba(3,31,56,.72) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:18px !important;
    box-shadow:0 16px 36px rgba(3,31,56,.18) !important;
    padding:1.05rem 1.2rem !important;
}

@media(max-width:768px){
    .network .network-metrics,
    .network .network-stats,
    .network .stats,
    .network .stat-grid,
    .network .metrics,
    .network .kpis,
    .reseau .network-metrics,
    .reseau .network-stats,
    .reseau .stats,
    .reseau .stat-grid,
    .reseau .metrics,
    .reseau .kpis,
    #network .stats,
    #reseau .stats{
        justify-content:flex-start !important;
        gap:34px !important;
        flex-wrap:wrap !important;
    }
}
/* Force final CTA banner text to white */
/* =========================================================
   DARK SECTION AUTO WHITE TEXT
========================================================= */
/* Dark section: force all normal text white */
.dark-section,
.dark-section * {
  color: #fff !important;
}

/* Keep button text white too */
.dark-section .btn,
.dark-section .btn * {
  color: #fff !important;
}

/* Keep non-button links underlined */
.dark-section a:not(.btn) {
  color: #fff !important;
  text-decoration: underline;
}
.force-white-text {
  color: #fff !important;
  --txt: #fff;
  --txt-d: #fff;
  --muted: #fff;
}

.force-white-text * {
  color: inherit !important;
}

.force-white-text .btn,
.force-white-text .btn * {
  color: #fff !important;
}

.force-white-text a:not(.btn) {
  color: #fff !important;
  text-decoration: underline;
}
/* ============================================================
   COMPACT INTERNAL PAGE HERO — FINAL
   Explicitly isolated from homepage hero rules
   ============================================================ */

section.page-hero-dark.page-hero-compact {
    position: relative !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 48px 0 !important;

    /* IMPORTANT: remove homepage truck/background artwork */
    background-image:
        linear-gradient(
            135deg,
            var(--bg) 0%,
            var(--s1) 100%
        ) !important;

    background-color: var(--bg) !important;
    background-size: auto !important;
    background-position: 0 0 !important;
    background-repeat: repeat !important;

    border-bottom: 1px solid var(--b1) !important;

    color: var(--txt) !important;
    text-align: center !important;

    overflow: hidden !important;
}

section.page-hero-dark.page-hero-compact > .container {
    position: relative !important;
    z-index: 2 !important;

    display: block !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 auto !important;
}

section.page-hero-dark.page-hero-compact .lbl {
    margin-bottom: .75rem !important;
}

section.page-hero-dark.page-hero-compact h1 {
    margin: .4rem 0 .6rem !important;
    color: #fff !important;

    font-size: clamp(2rem, 4vw, 3rem) !important;
    line-height: 1.1 !important;
}

section.page-hero-dark.page-hero-compact .hero-sub {
    max-width: 650px !important;
    margin: 0 auto !important;

    color: var(--txt-d) !important;
    font-size: .95rem !important;
    line-height: 1.65 !important;
}

/* Mobile */
@media (max-width: 768px) {
    section.page-hero-dark.page-hero-compact {
        padding: 36px 0 !important;
    }

    section.page-hero-dark.page-hero-compact h1 {
        font-size: clamp(1.8rem, 8vw, 2.5rem) !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   V17 — BRAND PATCH (green, light, one font, route-map hero)
   Everything below overrides earlier layers. To roll back, delete
   from this comment to the end of the file.
═══════════════════════════════════════════════════════════════ */
:root{
  --brand:#0F8F6A !important; --brand-d:#0A6B50 !important; --ink:#0B2A3A !important;
  --mute:#4A6270 !important; --tint:#E6F5EF !important; --bg:#F6FAF8 !important;
  --card:#FFFFFF !important; --line:#DBE7E1 !important; --pin:#F26B1D !important;
  --hero:#DFF3EA !important; --sea:#EEF8F6 !important; --land:#CFE8DC !important; --coast:#A9D3C0 !important;
  /* remap legacy tokens so old rules pick up the new palette */
  --orange:#0F8F6A !important; --orange2:#0A6B50 !important;
  --navy:#0B2A3A !important; --navy-2:#123B4F !important;
  --blue:#0A6B50 !important; --blue-dark:#085640 !important; --blue-mid:#0F8F6A !important; --blue-2:#0F8F6A !important; --blue-light:#0F8F6A !important;
  --cyan:#2FC194 !important; --sky:#E6F5EF !important; --sky-2:#DFF3EA !important; --sky-3:#CFE8DC !important;
  --green:#0F8F6A !important; --green-l:#2FC194 !important;
  --s1:#FFFFFF !important; --s2:#F6FAF8 !important; --s3:#E6F5EF !important; --s4:#DFF3EA !important; --dark:#0B2A3A !important;
  --b1:#DBE7E1 !important; --b2:#C5D9CF !important;
  --txt:#0B2A3A !important; --txt-d:#4A6270 !important; --muted:#4A6270 !important; --dim:#5F7683 !important; --text:#0B2A3A !important;
  --ff-d:'Poppins',system-ui,sans-serif !important; --ff-b:'Poppins',system-ui,sans-serif !important; --ff-m:'Poppins',system-ui,sans-serif !important; --ff:'Poppins',system-ui,sans-serif !important;
}
html,body{background:var(--bg) !important;color:var(--ink) !important;font-family:var(--ff-b) !important}
body{font-size:16px}
h1,h2,h3,h4,h5{color:var(--ink) !important;font-family:var(--ff-b) !important;letter-spacing:-.025em !important;text-transform:none !important}
p{color:var(--mute)}
.tt-ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}

/* a11y */
:focus-visible{outline:3px solid var(--brand) !important;outline-offset:3px !important;border-radius:6px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .tt-route{stroke-dashoffset:0 !important}}

/* labels: sentence case, no mono / tracking */
.lbl{font-family:var(--ff-b) !important;font-size:.8rem !important;letter-spacing:0 !important;text-transform:none !important;font-weight:600 !important;color:var(--brand-d) !important}
.lbl::before,.lbl-g::before{background:var(--brand) !important}

/* ── buttons ── */
.btn{font-family:var(--ff-b) !important;font-weight:600 !important;text-transform:none !important;letter-spacing:0 !important}
.btn-primary,.cta-button,.header-cta,.site-header .btn-primary{background:var(--brand) !important;color:#fff !important;box-shadow:none !important;border:0 !important}
.btn-primary:hover{background:var(--brand-d) !important;transform:none !important;box-shadow:none !important;color:#fff !important}
.btn-outline{background:transparent !important;color:var(--ink) !important;border:1.5px solid var(--line) !important;box-shadow:none !important}
.btn-outline:hover{background:var(--tint) !important;color:var(--ink) !important}
.btn-white{background:#fff !important;color:var(--brand-d) !important;border:0 !important}
.btn-green{background:var(--brand) !important;color:#fff !important;box-shadow:none !important}

/* ── header ── */
.site-header,header.site-header{background:rgba(246,250,248,.9) !important;backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;border-bottom:1px solid var(--line) !important;box-shadow:none !important}
.site-header a,header a,.nav-link,.main-nav a,.main-navigation a,.menu a{color:var(--mute) !important}
.site-header a:hover,.main-nav a:hover,.menu a:hover{color:var(--brand-d) !important}
.site-header .btn-primary,.site-header .btn-primary:hover{color:#fff !important}
.site-logo,.site-logo a{color:var(--brand-d) !important}
.logo-wordmark{font-family:var(--ff-b) !important;font-weight:700 !important;letter-spacing:.06em !important;color:var(--brand-d) !important}
.logo-wordmark span{color:var(--brand) !important}
.lang-trigger{background:var(--card) !important;color:var(--ink) !important;border:1.5px solid var(--line) !important;border-radius:999px !important;font-weight:600 !important;display:inline-flex !important;align-items:center;gap:6px}
.lang-trigger .lf{display:inline-flex}
.lang-menu{background:var(--card) !important;border:1px solid var(--line) !important;border-radius:14px !important;box-shadow:0 14px 36px -10px rgba(11,42,58,.3) !important}
.lang-opt{color:var(--ink) !important;display:flex !important;justify-content:space-between;gap:16px;font-weight:500 !important}
.lang-opt:hover{background:var(--tint) !important}
.lang-opt.active{background:var(--tint) !important;font-weight:700 !important}

/* ── hero: route map ── */
.hero{position:relative !important;overflow:hidden !important;min-height:0 !important;background:var(--hero) !important;border-bottom:0 !important;padding:132px 0 88px !important}
.hero-bg,.hero-grid,.hero::before,.hero::after{display:none !important}
.hero .container{position:relative;z-index:2}
.hero-inner{max-width:560px !important}
.hero-h1{font-size:clamp(2.2rem,4.6vw,3.6rem) !important;line-height:1.08 !important;letter-spacing:-.03em !important;font-weight:700 !important;color:var(--ink) !important;text-shadow:none !important;margin:0 0 1.2rem !important;text-transform:none !important}
.hero-desc{font-size:1.1rem !important;color:var(--mute) !important;max-width:30rem;margin:0 0 1.75rem !important;font-weight:400 !important}
.hero-actions{display:block !important}
.hero-row{display:flex;gap:.75rem;flex-wrap:wrap}
.join-row{margin-top:2rem;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.join-label{font:500 .85rem var(--ff-b) !important;color:var(--mute) !important;text-transform:none !important;letter-spacing:0 !important}
.join-btns{display:flex;gap:.55rem;flex-wrap:wrap}
.join-btn{display:inline-flex !important;align-items:center;gap:.45rem;background:var(--card) !important;border:1px solid var(--line) !important;border-radius:999px !important;padding:.45rem .9rem !important;font:600 .85rem var(--ff-b) !important;color:var(--ink) !important;text-transform:none !important;letter-spacing:0 !important;box-shadow:none !important}
.join-btn:hover{border-color:var(--brand) !important;background:var(--card) !important}
.join-btn-icon{display:inline-flex;color:var(--brand)}
.tt-hero-map{position:absolute;z-index:0;top:0;right:0;bottom:0;left:42%;background:var(--sea)}
.tt-hero-map::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--hero),transparent 35%)}
.tt-map-svg{position:absolute;inset:0;width:100%;height:100%}
.tt-land{fill:var(--land);stroke:var(--coast);stroke-width:1.2;stroke-linejoin:round}
.tt-route{fill:none;stroke:var(--brand);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:tt-draw 1.6s var(--d,0s) ease-out forwards}
@keyframes tt-draw{to{stroke-dashoffset:0}}
.tt-pin circle{fill:var(--pin);stroke:#fff;stroke-width:2.5}
.tt-pin text{font:600 12px var(--ff-b);fill:var(--ink);paint-order:stroke;stroke:var(--sea);stroke-width:4px}
.tt-card{position:absolute;z-index:2;display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:11px 15px;box-shadow:0 16px 34px -14px rgba(11,42,58,.4)}
.tt-card .tt-ic{width:30px;height:30px;padding:6px;background:var(--tint);color:var(--brand-d);border-radius:10px}
.tt-card strong{display:block;font-size:.84rem;color:var(--ink)}
.tt-card span{font-size:.75rem;color:var(--mute)}
.tt-card--1{right:3%;top:60%}
.tt-card--2{right:4%;top:11%}
.co2-message{display:none !important}
@media (max-width:860px){
  .hero{padding:104px 0 380px !important}
  .tt-hero-map{inset:auto 0 0 0;height:340px}
  .tt-hero-map::before{background:linear-gradient(180deg,var(--hero),transparent 35%)}
  .tt-card--1{left:4%;right:auto;top:auto;bottom:12px;padding:8px 12px}
  .tt-card--2{display:flex}
  .tt-pin text{font-size:17px}
  .nav-cta{display:none !important}
}

/* ── stats strip ── */
.stats-strip{background:var(--card);border-bottom:1px solid var(--line)}
.stats-strip .hero-stats{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.25rem;padding:1.75rem 0 !important;margin:0 !important;background:none !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important;position:static !important}
.stat-item{background:none !important;border:0 !important;box-shadow:none !important;text-align:left !important}
.stat-num{font-family:var(--ff-b) !important;font-weight:700 !important;font-size:1.9rem !important;color:var(--brand-d) !important;letter-spacing:-.02em !important}
.stat-num .accent{color:var(--brand-d) !important}
.stat-label{font-family:var(--ff-b) !important;font-size:.85rem !important;color:var(--mute) !important;letter-spacing:0 !important;text-transform:none !important}

/* ── sections: light surfaces ── */
.section{padding:5.5rem 0 !important}
.services,.network,.technology,.why,.hiw,.phones-section{background:var(--bg) !important;color:var(--ink) !important}
.services,.technology{background:var(--card) !important;border-block:1px solid var(--line)}
.services *::selection{background:var(--tint)}
.svc-card,.step,.why-card,.app-card{background:var(--bg) !important;border:1px solid var(--line) !important;border-radius:20px !important;box-shadow:none !important;color:var(--ink) !important}
.svc-card::after{background:var(--brand) !important}
.svc-num{display:none !important}
.svc-icon,.step-orb,.why-icon,.app-icon{background:var(--tint) !important;color:var(--brand-d) !important;border:0 !important;border-radius:14px !important;box-shadow:none !important;display:inline-flex !important;align-items:center;justify-content:center;font-size:1.4rem !important}
.svc-icon .tt-ic,.step-orb .tt-ic,.why-icon .tt-ic,.app-icon .tt-ic{width:26px;height:26px}
.steps-connector{background:var(--line) !important}
.svc-card h3,.step h3,.why-card h3,.app-card h3,.app-name{color:var(--ink) !important}
.svc-card p,.step p,.why-card p,.app-desc,.app-feats li{color:var(--mute) !important}
.app-tag{font-family:var(--ff-b) !important;letter-spacing:0 !important;text-transform:none !important;color:var(--brand-d) !important}
.network-head p,.services-head p,.hiw-intro p,.tech-intro p,.why-intro p{color:var(--mute) !important}
.map-wrap{border:1px solid var(--line) !important;border-radius:22px !important;box-shadow:none !important;overflow:hidden}
.map-legend{background:var(--card) !important;color:var(--ink) !important;border:1px solid var(--line) !important}
.ml-item{color:var(--ink) !important;font-family:var(--ff-b) !important;letter-spacing:0 !important;text-transform:none !important}
.ml-dot{background:var(--pin) !important}
.network p[style]{font-family:var(--ff-b) !important;letter-spacing:0 !important;text-transform:none !important;color:var(--mute) !important;font-size:.8rem !important}
.city-chip,.network .chip,.cities-grid *,.city-tag{font-family:var(--ff-b) !important;text-transform:none !important;letter-spacing:0 !important}
.store-btn{background:var(--ink) !important;color:#fff !important;border-radius:14px !important}
.store-btn *{color:#fff !important}

/* ── CTA band, ticker, footer ── */
.cta-band{background:var(--brand) !important;color:#fff !important;border:0 !important}
.cta-band::before,.cta-band::after{display:none !important}
.cta-band h2{color:#fff !important}.cta-band p{color:#D4F1E6 !important}
.cta-band .btn-primary{background:#fff !important;color:var(--brand-d) !important}
.cta-band .btn-primary:hover{background:var(--tint) !important;color:var(--brand-d) !important}
.cta-band .btn-white{background:transparent !important;color:#fff !important;border:1.5px solid rgba(255,255,255,.6) !important}
.ticker{background:var(--tint) !important;border-block:1px solid var(--line) !important}
.ticker-item{color:var(--brand-d) !important;font-family:var(--ff-b) !important;letter-spacing:0 !important;text-transform:none !important;font-weight:600 !important}
.site-footer{background:var(--card) !important;border-top:1px solid var(--line) !important;color:var(--mute) !important}
.site-footer a,.footer-col a{color:var(--mute) !important}
.site-footer a:hover,.footer-col a:hover{color:var(--brand-d) !important}
.footer-col h4{font-family:var(--ff-b) !important;letter-spacing:0 !important;text-transform:none !important;color:var(--ink) !important}
.footer-brand p{color:var(--mute) !important}
.social-a{background:var(--tint) !important;color:var(--brand-d) !important;border:0 !important}

/* specificity bumps against earlier hero/header layers */
.hero .hero-row .btn-primary,.hero .hero-row .btn-primary:hover{background:var(--brand) !important;box-shadow:none !important;color:#fff !important;transform:none !important}
.hero .hero-row .btn-primary:hover{background:var(--brand-d) !important}
.hero .hero-row .btn-outline{background:transparent !important;color:var(--ink) !important;border:1.5px solid var(--line) !important;box-shadow:none !important}
.site-header .lang-sw .lang-trigger,.lang-sw .lang-trigger{background:var(--card) !important;color:var(--ink) !important;border:1.5px solid var(--line) !important;box-shadow:none !important}
.site-header .lang-sw .lang-menu{background:var(--card) !important;border:1px solid var(--line) !important}
.site-header .lang-sw .lang-opt,.site-header .lang-sw .lang-opt span{color:var(--ink) !important}
.site-header .btn.nav-cta,.site-header .nav-cta{background:var(--brand) !important;color:#fff !important;box-shadow:none !important}

/* ── V17: ID-level overrides (earlier layers use #id / [class*=] selectors) ── */
#services,#technology{background:var(--card) !important;color:var(--ink) !important;border-block:1px solid var(--line) !important}
#network,#how-it-works,#why{background:var(--bg) !important;color:var(--ink) !important}
#services::before,#services::after,#network::before,#network::after,#technology::before,#technology::after,#how-it-works::before,#why::before{display:none !important}
#services h2,#services h3,#network h2,#network h3,#technology h2,#technology h3,#how-it-works h2,#how-it-works h3,#why h2,#why h3{color:var(--ink) !important}
#services p,#network p,#technology p,#how-it-works p,#why p{color:var(--mute) !important}
#services .lbl,#network .lbl,#technology .lbl,#how-it-works .lbl,#why .lbl{color:var(--brand-d) !important}
#services .svc-card,#how-it-works .step,#why .why-card,#technology .app-card{background:var(--bg) !important;border:1px solid var(--line) !important;box-shadow:none !important;border-radius:20px !important;opacity:1}
#how-it-works .step,#why .why-card{background:var(--card) !important}
#services .svc-icon,#how-it-works .step-orb,#why .why-icon,#technology .app-icon{background:var(--tint) !important;color:var(--brand-d) !important;border:0 !important}
#services .btn-outline{color:var(--ink) !important;border:1.5px solid var(--line) !important;background:transparent !important}
#technology [style*="Coming"],#technology .tech-intro > div[style]{background:var(--tint) !important;border-color:var(--line) !important}
#technology .tech-intro > div[style] span:last-child{color:var(--brand-d) !important}
.stats-strip .hero-stats .stat-num,#network .hero-stats .stat-num,#network .stat-num{color:var(--brand-d) !important;font-family:var(--ff-b) !important;text-shadow:none !important}
.stats-strip .stat-num .accent,#network .stat-num .accent{color:var(--brand-d) !important}
.stats-strip .stat-label,#network .stat-label{color:var(--mute) !important;font-family:var(--ff-b) !important;letter-spacing:0 !important;text-transform:none !important}
#network .map-wrap{background:var(--card) !important;border:1px solid var(--line) !important}
#network .map-legend,#network .map-legend .ml-item{color:var(--ink) !important}
#network a,#network .city-chip,#network .city-pill{font-family:var(--ff-b) !important;text-transform:none !important;letter-spacing:0 !important}
#why .why-card h3,#why .why-card p{color:var(--ink) !important}
#why .why-card p{color:var(--mute) !important}
.cta-band#cta,#cta{background:var(--brand) !important}
#cta h2,#cta .cta-copy h2{color:#fff !important}#cta p{color:#D4F1E6 !important}

/* ── V17: stats (old layer forces -webkit-text-fill-color) ── */
.stats-strip .stat-num,.stats-strip .stat-num .accent,#network .stat-num,#network .stat-num .accent{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important;font-size:1.9rem !important;font-weight:700 !important;letter-spacing:-.02em !important;margin:0 !important;line-height:1.15 !important}
.stats-strip .stat-label,#network .stat-label{color:var(--mute) !important;-webkit-text-fill-color:var(--mute) !important;opacity:1 !important;font-size:.85rem !important}
#network .hero-stats{display:flex !important;gap:2rem;background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important}
.stats-strip .stat-item,#network .stat-item{opacity:1 !important;transform:none !important;padding:0 !important}

/* ── V17: footer + coming-soon pill readability ── */
.site-footer,.site-footer p,.site-footer li,.site-footer small,.site-footer span,.site-footer a,.footer-bottom,.footer-bottom *{color:var(--mute) !important;-webkit-text-fill-color:var(--mute) !important}
.site-footer h4,.footer-col h4{color:var(--ink) !important;-webkit-text-fill-color:var(--ink) !important}
.site-footer .logo-wordmark,.site-footer .logo-wordmark span{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important}
.site-footer a:hover{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important}
.site-footer .social-a{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important}
.site-footer{border-top:1px solid var(--line) !important}
.footer-bottom,.site-footer hr{border-color:var(--line) !important}
#technology .tech-intro > div[style]{background:var(--tint) !important;border:1px solid var(--line) !important}
#technology .tech-intro > div[style] span{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important}
#technology .tech-intro > div[style] span:first-child{background:var(--brand) !important;box-shadow:none !important}
.ticker-item{-webkit-text-fill-color:var(--brand-d) !important}

/* ═══ V17.1 — live-site feedback pass ═══ */
/* hero: full Europe (Stockholm → Marbella) + North Africa */
.hero{min-height:640px !important;display:flex !important;align-items:center !important;padding:120px 0 80px !important}
.hero > .container{width:100%}
.tt-hero-map{left:40% !important}
.tt-hero-map::before{background:linear-gradient(90deg,var(--hero),transparent 20%) !important}
.tt-route--eu{stroke-width:1.8px !important;opacity:.6}
.tt-pin circle{r:5.5px}
.tt-pin text{font-size:12.5px !important}
.tt-card--1{right:3% !important;top:78% !important}
.tt-card--2{right:2% !important;top:20% !important}
@media (max-width:860px){
  .hero{display:block !important;min-height:0 !important;padding:104px 0 calc(100vw * .842 + 28px) !important}
  .tt-hero-map{left:0 !important;inset:auto 0 0 0 !important;height:auto !important;aspect-ratio:760/640}
  .tt-hero-map::before{background:linear-gradient(180deg,var(--hero),transparent 18%) !important}
  .tt-pin text{font-size:22px !important}.tt-pin circle{r:7px}
  .tt-minor text{display:none}
  .tt-route{stroke-width:3.4px}.tt-route--eu{stroke-width:2.6px !important}
  .tt-card--1{left:4% !important;right:auto !important;top:auto !important;bottom:10px !important}
  .tt-card--2{display:flex !important}
}

/* footer: deep blue that pairs with the green */
.site-footer{background:linear-gradient(180deg,#0B2F4A,#082338) !important;border-top:0 !important}
.site-footer,.site-footer p,.site-footer li,.site-footer small,.site-footer span,.site-footer a,.footer-bottom,.footer-bottom *{color:#C5D6E2 !important;-webkit-text-fill-color:#C5D6E2 !important}
.site-footer h4,.footer-col h4{color:#fff !important;-webkit-text-fill-color:#fff !important}
.site-footer .logo-wordmark{color:#fff !important;-webkit-text-fill-color:#fff !important}
.site-footer .logo-wordmark span{color:#2FC194 !important;-webkit-text-fill-color:#2FC194 !important}
.site-footer a:hover,.footer-col a:hover{color:#2FC194 !important;-webkit-text-fill-color:#2FC194 !important}
.site-footer .social-a{background:rgba(255,255,255,.08) !important;color:#fff !important;-webkit-text-fill-color:#fff !important}
.site-footer .social-a:hover{background:var(--brand) !important}
.footer-bottom,.site-footer hr{border-color:rgba(255,255,255,.14) !important}
.footer-bottom,.footer-bottom *{color:#9DB4C4 !important;-webkit-text-fill-color:#9DB4C4 !important}
.ticker{background:#0E3A52 !important;border-block:0 !important}
.ticker-item{color:#9FE3CB !important;-webkit-text-fill-color:#9FE3CB !important}

/* language dropdown */
#lang-menu{background:#fff !important;border:1px solid var(--line) !important;border-radius:14px !important;padding:6px !important;min-width:176px;box-shadow:0 16px 40px -12px rgba(11,42,58,.35) !important}
#lang-menu .lang-opt{display:flex !important;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px !important;border-radius:10px !important;background:transparent !important;color:var(--ink) !important;-webkit-text-fill-color:var(--ink) !important;font:500 14px var(--ff-b) !important;text-transform:none !important;letter-spacing:0 !important}
#lang-menu .lang-opt *{background:transparent !important;color:inherit !important;-webkit-text-fill-color:inherit !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;width:auto !important;height:auto !important;text-shadow:none !important;opacity:1 !important}
#lang-menu .lang-opt::before,#lang-menu .lang-opt::after{display:none !important}
#lang-menu .lang-opt:hover,#lang-menu .lang-opt.active{background:var(--tint) !important}
#lang-menu .lang-opt.active{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important;font-weight:700 !important}

/* inner-page banners: old rule painted every <header> navy; only the site header should be styled */
header:not(.site-header),.navbar:not(.site-header *),.navigation:not(.site-header *),.main-header:not(.site-header *){background:transparent !important;box-shadow:none !important;border-bottom:0 !important}
header:not(.site-header) a{color:var(--brand-d) !important;-webkit-text-fill-color:var(--brand-d) !important}

/* icon tiles */
.svc-icon,.step-orb,.why-icon,.app-icon,.svc-full-icon,#services .svc-icon,#how-it-works .step-orb,#why .why-icon,#technology .app-icon{width:52px !important;height:52px !important;border-radius:15px !important;background:linear-gradient(135deg,#0F8F6A,#18B488) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;box-shadow:0 10px 20px -10px rgba(15,143,106,.7) !important;display:inline-flex !important;align-items:center;justify-content:center;font-size:0 !important;border:0 !important;flex-shrink:0}
.svc-icon .tt-ic,.step-orb .tt-ic,.why-icon .tt-ic,.app-icon .tt-ic,.svc-full-icon .tt-ic{width:26px;height:26px;color:#fff}
.step-orb,#how-it-works .step-orb,.why-icon,#why .why-icon{margin-inline:auto}

/* mobile menu: the header blur made the fixed overlay only as tall as the header */
.site-header,header.site-header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(246,250,248,.98) !important}
.site-logo,.mobile-toggle,.header-actions,.lang-sw{position:relative;z-index:1001}
.main-nav.open{background:var(--bg) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;justify-content:flex-start !important;align-items:stretch !important;padding:92px 20px 40px !important;height:100vh;height:100dvh;overflow-y:auto !important;-webkit-overflow-scrolling:touch}
.main-nav.open ul{width:100%;max-width:560px;margin:0 auto !important;display:flex !important;flex-direction:column;gap:0 !important;text-align:left !important}
.main-nav.open li{border-bottom:1px solid var(--line);width:100%}
.main-nav.open a{display:block !important;width:100%;font-size:1.2rem !important;font-weight:600 !important;padding:1rem .25rem !important;color:var(--ink) !important;-webkit-text-fill-color:var(--ink) !important;text-align:left !important}
.main-nav.open .sub-menu,.main-nav.open ul ul{position:static !important;display:block !important;opacity:1 !important;visibility:visible !important;transform:none !important;background:transparent !important;box-shadow:none !important;border:0 !important;padding:0 0 .5rem 1rem !important;width:100% !important;min-width:0 !important}
.main-nav.open .sub-menu li{border-bottom:0}
.main-nav.open .sub-menu a{font-size:1rem !important;font-weight:500 !important;color:var(--mute) !important;-webkit-text-fill-color:var(--mute) !important;padding:.65rem .25rem !important}

/* hero: neutralise old container min-height / margins so the map fits */
.hero > .container{min-height:0 !important;height:auto !important}
.hero .hero-inner{margin:0 !important}

/* map sits below the fixed header so Stockholm (top) is visible */
@media (min-width:861px){.tt-hero-map{top:78px !important}.hero{padding-top:128px !important}}

/* footer: softer divider */
.site-footer [class*="bottom"],.site-footer [class*="divider"],.site-footer hr{border-color:rgba(255,255,255,.14) !important}


/* V17.2 — surgical network directory + SVG icon consistency */
.network-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.network-region-card{padding:1.5rem;border:1px solid var(--b1);border-radius:1rem;background:var(--s1)}
.network-region-card h3{margin:0 0 1rem}
.network-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.5rem}
.network-preview-foot p{margin:0;max-width:720px;color:var(--dim)}
.network-filters{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap;margin:2rem 0}
.network-filter{appearance:none;border:1px solid var(--b2);background:var(--s1);color:var(--txt);border-radius:999px;padding:.65rem 1rem;font:inherit;cursor:pointer}
.network-filter.is-active,.network-filter:hover{border-color:var(--green);color:var(--green)}
.network-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.network-location-card{padding:1.5rem;border:1px solid var(--b1);border-radius:1rem;background:var(--s1)}
.network-location-card[hidden]{display:none!important}
.network-location-icon{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.75rem;background:rgba(10,180,130,.1);color:var(--green);margin-bottom:1rem}
.network-location-icon .tt-ic{width:1.25rem;height:1.25rem}
.network-location-type{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:.35rem}
.network-location-card h3{margin:.1rem 0 .25rem}
.network-location-country,.network-location-pending{color:var(--dim);margin:.25rem 0 0}
.network-location-pending{font-size:.84rem;margin-top:1rem}
.network-location-details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--b1)}
.network-location-details p{display:flex;align-items:flex-start;gap:.55rem;margin:.55rem 0;color:var(--dim)}
.network-location-details .tt-ic{width:1rem;height:1rem;flex:0 0 auto;margin-top:.15rem}
.network-services{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.75rem}.network-services span{font-size:.72rem;border:1px solid var(--b1);border-radius:999px;padding:.3rem .55rem}
.faq-section-label--icon{display:flex;align-items:center;gap:.5rem}.faq-section-label--icon .tt-ic{width:1rem;height:1rem;color:var(--green);flex:0 0 auto}
.benefit-icon .tt-ic,.tt-hiw-grid span>.tt-ic{width:2rem;height:2rem}
@media(max-width:900px){.network-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.network-region-grid,.network-directory-grid{grid-template-columns:1fr}.network-preview-foot{align-items:flex-start;flex-direction:column}}

/* V17.6 — production consolidation
   Authoritative rules for network preview, shared app stores, status badges,
   KYC helpers and compact process markers. Supersedes v17.3–v17.5 overrides. */
.network-region-list{display:block;margin:2rem 0 0;padding:0;background:transparent;border:0;box-shadow:none}
.network-region{display:block;overflow:visible;margin:0 0 1.7rem;padding:0;background:transparent;border:0;outline:0;box-shadow:none}
.network-region:last-child{margin-bottom:0}
.network-region h3{display:block;margin:0 0:.75rem;padding:0;background:transparent;border:0;font-size:1rem;line-height:1.25}
.network-preview-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:.2rem}
.network-preview-foot p{margin:0;max-width:720px;color:var(--dim)}
.network-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:2.4rem}
.network .hero-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:clamp(1.4rem,4vw,3.5rem);min-width:330px;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.network .hero-stats .stat-item{min-width:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none;text-align:left}
.network .hero-stats .stat-num,.network .hero-stats .stat-num .accent{color:#087556;-webkit-text-fill-color:#087556}
.network .hero-stats .stat-num{font-size:clamp(1.9rem,3vw,2.7rem);font-weight:900;line-height:1}
.network .hero-stats .stat-label{margin-top:.35rem;color:#294b5c;-webkit-text-fill-color:#294b5c;font-size:.72rem;font-weight:800;line-height:1.25;letter-spacing:0;text-transform:none;white-space:nowrap}

.shared-app-download{display:block;max-width:none;margin:2.4rem auto 0;padding-top:2rem;border-top:1px solid var(--b1);text-align:center}
.shared-app-download h3{margin:0 0:.45rem}
.shared-app-download p{margin:0 auto 1.2rem;color:var(--dim)}
.app-stores.app-stores--shared{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.75rem;width:100%;margin:0 auto}
.app-stores.app-stores--shared .store-btn{display:flex;flex:0 0 235px;align-items:center;justify-content:flex-start;width:235px;max-width:235px;height:56px;min-height:56px;margin:0;padding:.6rem .9rem;border-radius:14px}
.store-btn--pending{opacity:.72;cursor:not-allowed;user-select:none}
.app-stores--shared .store-btn--pending em{display:inline;margin-left:.4rem;font-size:.58rem;font-style:normal;font-weight:700;letter-spacing:.02em;text-transform:none;opacity:.78}

.coming-soon-badge{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.25rem;padding:.62rem 1.15rem;background:#e9f7f2;border:1px solid #b9e3d5;border-radius:999px;color:#087556;-webkit-text-fill-color:#087556;font-size:.78rem;font-weight:800;line-height:1;letter-spacing:.055em;text-transform:uppercase;box-shadow:none}
.coming-soon-badge *{color:inherit;-webkit-text-fill-color:inherit;background:transparent}
.coming-soon-dot{display:block;width:7px;height:7px;border-radius:50%;background:#0a9b72;box-shadow:0 0 0 4px rgba(10,155,114,.09);flex:0 0 auto}
.btn-coming-soon{opacity:1;cursor:not-allowed;pointer-events:none;background:#dce7e3;border-color:#c6d8d1;color:#49645a;-webkit-text-fill-color:#49645a;box-shadow:none}

.kyc-doc-icon{display:grid;place-items:center;flex:0 0 auto}.kyc-doc-icon .tt-ic{width:1.25rem;height:1.25rem}
.kyc-time-note,.kyc-secure-note{display:flex;align-items:center;gap:.5rem}.kyc-time-note .tt-ic,.kyc-secure-note .tt-ic{width:1rem;height:1rem;flex:0 0 auto}

@media(max-width:860px){.network-head{grid-template-columns:1fr;align-items:start;gap:1.5rem}.network .hero-stats{min-width:0;width:100%;max-width:520px}}
@media(max-width:640px){.network-preview-foot{align-items:flex-start;flex-direction:column}.network-region{margin-bottom:1.5rem}}
@media(max-width:540px){.network .hero-stats{grid-template-columns:repeat(3,1fr);gap:.8rem}.network .hero-stats .stat-label{font-size:.64rem;white-space:normal}.network .city-pills{gap:.45rem .8rem}.network .city-pill{font-size:.78rem}.app-stores.app-stores--shared{flex-wrap:wrap}.app-stores.app-stores--shared .store-btn{flex:0 1 235px;width:min(235px,100%)}}

/* v17.8.3 — production surgical cleanup
   Authoritative rules for removed process numbers, Network cities and green icon tiles. */
.tt-hiw-num,
.tt-step-marker,
.step-num {
  display:none !important;
}

#network .network-region-list,
#network .network-region,
#network .city-pills,
#network .city-pill,
.network .network-region-list,
.network .network-region,
.network .city-pills,
.network .city-pill {
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
#network .city-pills,
.network .city-pills {
  display:flex !important;
  flex-flow:row wrap !important;
  align-items:center !important;
  gap:.55rem 1rem !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
#network .city-pill,
.network .city-pill {
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:.42rem !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:.15rem 0 !important;
  color:#163e50 !important;
  -webkit-text-fill-color:#163e50 !important;
  white-space:nowrap !important;
}
#network .city-pill .dot,
.network .city-pill .dot {
  width:6px !important;
  height:6px !important;
  flex:0 0 6px !important;
  margin:0 !important;
  background:#f26b1d !important;
  border:0 !important;
  border-radius:50% !important;
  box-shadow:none !important;
}

.benefit-icon,
.tt-hiw-grid > div > span:first-child {
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  padding:0 !important;
  margin:0 0 1rem !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#0F8F6A,#18B488) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 10px 20px -10px rgba(15,143,106,.7) !important;
  font-size:0 !important;
}
.benefit-icon .tt-ic,
.tt-hiw-grid > div > span:first-child .tt-ic {
  width:26px !important;
  height:26px !important;
  color:#fff !important;
  stroke:currentColor !important;
}


/* v17.8.4 — surgical shared app-download presentation fix */
.shared-app-download {
  width:100% !important;
  max-width:760px !important;
  margin:2.25rem auto 3.25rem !important;
  padding:0 1rem !important;
  text-align:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.shared-app-download h3 {
  display:block !important;
  margin:0 0 .35rem !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--ink,#0B2A3A) !important;
  font-size:1.25rem !important;
  line-height:1.3 !important;
}
.shared-app-download > p {
  display:block !important;
  margin:0 0 1.25rem !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--muted,#4F6B78) !important;
  line-height:1.5 !important;
}
.shared-app-download .app-stores.app-stores--shared {
  display:flex !important;
  flex-flow:row wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:.8rem !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
}
.shared-app-download .store-btn {
  flex:0 0 235px !important;
  width:235px !important;
  max-width:235px !important;
  min-height:64px !important;
  height:64px !important;
  margin:0 !important;
  padding:.6rem .9rem !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.75rem !important;
  border-radius:14px !important;
  text-align:left !important;
}
.shared-app-download .store-btn > svg {
  flex:0 0 24px !important;
  width:24px !important;
  height:24px !important;
}
.shared-app-download .store-btn > div {
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.05rem !important;
  align-content:center !important;
}
.shared-app-download .store-btn small,
.shared-app-download .store-btn strong,
.shared-app-download .store-btn em {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.15 !important;
}
.shared-app-download .store-btn small {
  font-size:.56rem !important;
  letter-spacing:.025em !important;
}
.shared-app-download .store-btn strong {
  margin-top:.12rem !important;
  font-size:.84rem !important;
}
.shared-app-download .store-btn--pending em {
  margin-top:.3rem !important;
  font-size:.58rem !important;
  font-style:normal !important;
  font-weight:700 !important;
  opacity:.82 !important;
}
.phones-section {
  margin-top:0 !important;
}
@media (max-width:540px) {
  .shared-app-download { margin:1.75rem auto 2.5rem !important; }
  .shared-app-download .store-btn {
    flex:0 1 235px !important;
    width:min(235px,100%) !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   V17.8.28 — HERO IMPACT CARD
   Isolated component using the theme's native leaf icon.
   Deliberately does not reuse legacy CO2 selectors.
───────────────────────────────────────────────────────────── */
.tt-impact-card{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  width:auto;
  max-width:440px;
  margin:0 0 24px;
  padding:.9rem 1.05rem;
  background:rgba(255,255,255,.92);
  color:#06253F;
  border:1px solid rgba(8,59,112,.18);
  border-radius:16px;
  box-shadow:0 14px 32px rgba(8,59,112,.10);
  font-size:1.02rem;
  font-weight:700;
  line-height:1.28;
  position:relative;
  z-index:4;
}
.tt-impact-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  min-width:24px;
  max-width:24px;
  min-height:24px;
  max-height:24px;
  flex:0 0 24px;
  overflow:hidden;
  color:#0AB482;
}
.tt-impact-card__icon .tt-ic{
  display:block !important;
  position:static !important;
  inset:auto !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 24px !important;
  color:#0AB482 !important;
  fill:none !important;
  stroke:#0AB482 !important;
  transform:none !important;
}
.tt-impact-card__icon .tt-ic path{fill:none !important;stroke:#0AB482 !important}
.tt-impact-card__copy{display:block;min-width:0}
.tt-impact-card__line{display:block;color:#06253F}
.tt-impact-card__emphasis{display:block;color:#F28C28;font-weight:800}
@media(max-width:768px){
  .tt-impact-card{max-width:100%;font-size:.96rem;padding:.8rem .95rem;margin-bottom:24px}
  .tt-impact-card__icon{width:22px;height:22px;min-width:22px;max-width:22px;min-height:22px;max-height:22px;flex-basis:22px}
  .tt-impact-card__icon .tt-ic{width:22px !important;height:22px !important;min-width:22px !important;max-width:22px !important;min-height:22px !important;max-height:22px !important;flex-basis:22px !important}
}



/* ─────────────────────────────────────────────────────────────
   v17.8.49.1 — cold-load desktop header stability
   Frontend-only surgical patch. Prevent navigation labels from
   wrapping while the webfont is resolving on a first visit.
───────────────────────────────────────────────────────────── */
@media (min-width:769px) {
  .site-header .header-inner {
    flex-wrap:nowrap;
  }
  .site-header .main-nav {
    min-width:0;
    flex:1 1 auto;
  }
  .site-header .main-nav > ul {
    flex-wrap:nowrap;
    justify-content:center;
  }
  .site-header .main-nav li,
  .site-header .main-nav a {
    white-space:nowrap;
  }
  .site-header .site-logo,
  .site-header .header-right {
    flex:0 0 auto;
  }
}

/* TamTrak homepage slogan: v17.8.49.1 surgical brand patch */
.tt-hero-slogan{color:#F28C28 !important;font-size:clamp(1.05rem,1.65vw,1.45rem);font-weight:700;line-height:1.35;margin:-.35rem 0 1.3rem;max-width:560px;}
@media(max-width:768px){.tt-hero-slogan{font-size:1.08rem;margin:0 0 1.1rem;}}

/* rc1.5: desktop floating cards moved inward for map label clearance. */
@media (min-width:861px){.tt-card--1{right:11%}.tt-card--2{right:10%}}

/* rc1.7: keep desktop floating information cards within the visible map, without changing mobile rules. */
@media (min-width:861px){.hero .tt-card--1,.tt-card--1{right:clamp(120px,12vw,200px) !important}.hero .tt-card--2,.tt-card--2{right:clamp(120px,12vw,200px) !important}}

/* rc1.8: desktop hero ends near lowest city labels, without changing map geometry.
   The SVG remains clipped by the existing hero overflow:hidden. */
@media (min-width:861px){
  .hero{min-height:0 !important;padding-bottom:24px !important;}
  .hero .tt-hero-map{bottom:0 !important;}
}
/* rc1.8: explicitly reuse v17.8.49.1 map palette; no altered SVG fills. */
.hero{--hero:#DFF3EA;--sea:#EEF8F6;--land:#CFE8DC;--coast:#A9D3C0;}


/* rc1.8.6 — mobile floating cards: identical left anchor, separated vertically.
   Replaces rc1.8.5 right-anchored verified card; desktop remains unchanged. */
@media (max-width:860px){
  .hero .tt-hero-map{z-index:0 !important;}
  .hero .tt-hero-map > .tt-card.tt-card--1,
  .hero .tt-hero-map > .tt-card.tt-card--2{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:auto !important;
    left:4% !important;
    right:auto !important;
    max-width:calc(100% - 8%) !important;
    z-index:5 !important;
  }
  .hero .tt-hero-map > .tt-card.tt-card--1{bottom:10px !important;}
  .hero .tt-hero-map > .tt-card.tt-card--2{bottom:100px !important;}
}

/* rc1.8.8: uploaded TamTrak header artwork only; all navigation unaffected. */
.site-logo > .tt-header-brand-symbol{width:43px;height:43px;max-height:43px;object-fit:contain;flex:none;display:block}
.site-logo > .tt-header-brand-wordmark{width:119px;height:43px;max-height:43px;object-fit:contain;flex:none;display:block}
.site-logo:has(> .tt-header-brand-symbol){gap:8px}
@media(max-width:860px){
 .site-logo > .tt-header-brand-symbol{width:36px;height:36px;max-height:36px}
 .site-logo > .tt-header-brand-wordmark{width:110px;height:40px;max-height:40px}
}

/* rc1.8.18 — desktop primary-menu text visibility correction. */
@media (min-width:861px){
  .site-header .main-nav > ul > li > a{
    color:#03172E !important;
    -webkit-text-fill-color:#03172E !important;
    font-size:15px !important;
    font-weight:600 !important;
  }
  .site-header .main-nav > ul > li > a:hover,
  .site-header .main-nav > ul > li > a:focus-visible{
    color:#0F8F6A !important;
    -webkit-text-fill-color:#0F8F6A !important;
  }
}

/* BLOG ONLY — consolidated E-invoicing-inspired presentation.
   Replaces all prior TamTrak blog overrides. */
.tt-news-page,.tt-article-page{background:#fff;color:#08274a;font-family:var(--ff-b,Arial,sans-serif)}
.tt-news-page .tt-news-hero{padding:18px 0 20px;text-align:center;background:var(--bg);border-bottom:1px solid var(--b1)}
.tt-news-page .tt-news-hero .lbl{display:flex;justify-content:center;margin:0 auto 8px}
.tt-news-page .tt-news-hero .hero-sub{max-width:680px;margin:0 auto;text-align:center;color:var(--txt-d)}
.tt-news-page .tt-news-content{padding:34px 0 70px;background:#fff}
.tt-news-page .container,.tt-article-page .container{width:100%;max-width:1360px;margin:0 auto;padding:0 42px}
.tt-news-page .tt-news-heading h1{font:700 clamp(29px,3vw,40px)/1.2 var(--ff-b,Arial,sans-serif);letter-spacing:-.025em;margin:0 0 24px;color:#08274a;text-align:left}
.tt-news-page .tt-news-search{display:flex;align-items:stretch;gap:10px;margin:0 0 16px;max-width:640px}
.tt-news-page .tt-news-search input{flex:1;min-width:0;height:54px;padding:0 16px;border:1px solid #ccdbea;border-radius:7px;background:#fff;color:#08274a;font:inherit;font-size:15px}
.tt-news-page .tt-news-search button,.tt-article-page .tt-article-sidebar button{border:0;border-radius:7px;background:#0781e7;color:#fff;padding:0 22px;font:inherit;font-weight:600;cursor:pointer}
.tt-news-page .tt-news-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 30px}
.tt-news-page .tt-news-filters a{display:inline-block;border:1px solid #d2e0ef;border-radius:22px;padding:8px 15px;background:#fff;color:#12477b;text-decoration:none;font-size:13px;line-height:1.2}
.tt-news-page .tt-news-filters a.is-active{background:#e7f3ff;border-color:#72baff;font-weight:700}
.tt-news-page .tt-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tt-news-page .tt-news-card{min-width:0;border:1px solid #d7e5f2;border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.tt-news-page .tt-news-card-link{display:block;color:inherit;text-decoration:none}
.tt-news-page .tt-news-card-image{display:block;width:100%;background:#f2f6fa}
.tt-news-page .tt-news-card-image img{display:block;width:100%;height:auto;object-fit:contain;max-width:100%;transform:none}
.tt-news-page .tt-news-card-title{font:700 17px/1.45 var(--ff-b,Arial,sans-serif);padding:22px 24px 26px;margin:0;color:#08274a}
.tt-news-page .tt-news-pagination{display:flex;gap:8px;justify-content:center;margin-top:32px}
.tt-news-page .tt-news-pagination a,.tt-news-page .tt-news-pagination span{border:1px solid #d2e0ef;border-radius:6px;padding:8px 12px;color:#08274a;text-decoration:none}
.tt-news-page .tt-news-pagination .current{background:#0781e7;color:#fff}
.tt-news-page .tt-news-empty{padding:40px 0;color:#45617e;text-align:center}
.tt-article-page{padding:46px 0 70px}
.tt-article-page .tt-article-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(250px,1fr);gap:54px;align-items:start}
.tt-article-page .tt-article-main{min-width:0}
.tt-article-page .tt-article-meta{font-size:13px;color:#7186a1}
.tt-article-page .tt-article-header h1{font:700 clamp(30px,3vw,43px)/1.2 var(--ff-b,Arial,sans-serif);color:#08274a;margin:14px 0 25px}
.tt-article-page .entry-content{max-width:780px;color:#243e5b;line-height:1.8}
.tt-article-page .entry-content p,.tt-article-page .entry-content li{color:#45617e}
.tt-article-page .entry-content h2,.tt-article-page .entry-content h3{color:#08274a}
.tt-article-page .entry-content img{max-width:100%;height:auto}
.tt-article-page .tt-article-sidebar{border-left:1px solid #d7e5f2;padding-left:28px;color:#08274a}
.tt-article-page .tt-article-sidebar h2{font:700 21px/1.3 var(--ff-b,Arial,sans-serif);margin:0 0 20px;color:#08274a}
.tt-article-page .tt-article-sidebar h3{font-size:16px;margin:24px 0 10px;color:#08274a}
.tt-article-page .tt-article-sidebar label{display:block;margin-bottom:7px;font-size:13px}
.tt-article-page .tt-article-sidebar input{width:100%;height:45px;border:1px solid #ccdbea;border-radius:7px;padding:0 12px;background:#fff;color:#08274a}
.tt-article-page .tt-article-sidebar button{height:40px;margin-top:8px}
.tt-article-page .tt-article-sidebar ul{list-style:none;margin:0 0 24px;padding:0}
.tt-article-page .tt-article-sidebar li{padding:12px 0;border-bottom:1px solid #e1eaf3}
.tt-article-page .tt-article-sidebar a{color:#14578d;text-decoration:none}
.tt-article-page .tt-article-back{margin-top:32px;padding-top:20px;border-top:1px solid #d7e5f2}
@media(max-width:900px){.tt-news-page .tt-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-article-page .tt-article-layout{grid-template-columns:1fr;gap:32px}.tt-article-page .tt-article-sidebar{border-left:0;border-top:1px solid #d7e5f2;padding:24px 0 0}}
@media(max-width:600px){.tt-news-page .container,.tt-article-page .container{padding:0 20px}.tt-news-page .tt-news-grid{grid-template-columns:1fr}.tt-news-page .tt-news-search{flex-wrap:wrap}.tt-news-page .tt-news-search input{flex-basis:100%}.tt-news-page .tt-news-search button{height:44px}.tt-news-page .tt-news-filters{margin-bottom:24px}.tt-news-page .tt-news-content{padding-bottom:40px}}
