/* ==========================================================================
   Eaglebridgecargo — shared design system
   Style direction: "American Route" — a premium U.S. freight & cargo
   brokerage identity: deep navy authority, warm eagle-gold accent, a
   sparing crimson for urgency, and a flight/shipping-route arc motif
   across a subtle map backdrop. First build in this niche in the series,
   so the palette and motif are fresh by definition — richer, more
   corporate-premium than the studio/agency builds around it. Uses
   Pricing MODEL B (flat per-service pricing, "starting at" framing
   appropriate to freight where exact cost varies by weight/distance).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@400;500;600;700;800;900&family=Karla:wght@400;500;600;700;800&display=swap');

:root{
  --ebc-navy:        #0B2545;
  --ebc-navy-soft:    #102E52;
  --ebc-navy-2:        #16345E;
  --ebc-cream:           #F7F3EA;
  --ebc-paper:             #FBFAF6;
  --ebc-gold:                #D9A62E;
  --ebc-gold-d:               #B7871C;
  --ebc-crimson:                #C8102E;
  --ebc-crimson-d:               #A50D26;
  --ebc-ink-70: rgba(11,37,69,.72);
  --ebc-ink-50: rgba(11,37,69,.5);
  --ebc-ink-20: rgba(11,37,69,.14);
  --ebc-mist-70: rgba(247,243,234,.72);
  --ebc-mist-50: rgba(247,243,234,.5);
  --ebc-mist-20: rgba(247,243,234,.16);

  --ebc-display: 'Libre Franklin', -apple-system, sans-serif;
  --ebc-body: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;

  --ebc-radius-s: 6px;
  --ebc-radius-m: 12px;
  --ebc-radius-l: 20px;
  --ebc-maxw: 1260px;
  --ebc-maxw-wide: 1540px;
  --ebc-border: 1px solid var(--ebc-ink-20);

  --ebc-ease: cubic-bezier(.22,.68,.32,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html.ebc-lock{ overflow:hidden; }
body{
  margin:0;
  font-family:var(--ebc-body);
  background:var(--ebc-paper);
  color:var(--ebc-navy);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,p{ margin:0; }

.ebc-skip-link{ position:absolute; left:16px; top:-60px; z-index:1000; background:var(--ebc-crimson); color:#fff; padding:12px 20px; border-radius:6px; font-weight:700; font-size:14px; transition:top .2s var(--ebc-ease); }
.ebc-skip-link:focus{ top:16px; }
a:focus-visible, button:focus-visible{ outline:2.5px solid var(--ebc-gold); outline-offset:3px; border-radius:3px; }

.ebc-wrap{ max-width:var(--ebc-maxw); margin:0 auto; padding:0 32px; }
.ebc-wrap-wide{ max-width:var(--ebc-maxw-wide); margin:0 auto; padding:0 32px; }

.ebc-tag{ font-family:var(--ebc-body); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ebc-navy); display:inline-flex; align-items:center; gap:9px; border:1.5px solid var(--ebc-gold-d); padding:7px 16px; border-radius:999px; background:rgba(217,166,46,.08); }
.ebc-tag::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--ebc-gold-d); }
section[data-tone="dark"] .ebc-tag{ color:var(--ebc-cream); border-color:var(--ebc-gold); background:rgba(217,166,46,.12); }
section[data-tone="dark"] .ebc-tag::before{ background:var(--ebc-gold); }

.ebc-h2{ font-family:var(--ebc-display); font-weight:800; font-size:clamp(30px,4.2vw,48px); line-height:1.12; letter-spacing:-.01em; margin-top:16px; }
.ebc-h2 mark{ background:none; color:var(--ebc-gold-d); }
section[data-tone="dark"] .ebc-h2 mark{ color:var(--ebc-gold); }

.ebc-lede{ font-size:16.5px; line-height:1.68; color:var(--ebc-ink-70); max-width:560px; margin-top:18px; }
section[data-tone="dark"] .ebc-lede{ color:var(--ebc-mist-70); }
section[data-tone="dark"] .ebc-h2, section[data-tone="dark"]{ color:var(--ebc-cream); }

.ebc-btn{ display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:var(--ebc-radius-s); font-weight:700; font-size:14.5px; border:1.5px solid transparent; transition:transform .18s var(--ebc-ease), background .18s var(--ebc-ease), box-shadow .18s var(--ebc-ease), color .18s var(--ebc-ease); white-space:nowrap; }
.ebc-btn:hover{ transform:translateY(-2px); }
.ebc-btn-crimson{ background:var(--ebc-crimson); color:#fff; box-shadow:0 12px 26px -10px rgba(200,16,46,.5); }
.ebc-btn-crimson:hover{ background:var(--ebc-crimson-d); }
.ebc-btn-gold{ background:var(--ebc-gold); color:var(--ebc-navy); box-shadow:0 12px 26px -10px rgba(217,166,46,.5); }
.ebc-btn-gold:hover{ background:var(--ebc-gold-d); color:#fff; }
.ebc-btn-ghost{ background:transparent; color:var(--ebc-navy); border-color:var(--ebc-ink-20); }
.ebc-btn-ghost:hover{ border-color:var(--ebc-navy); }
section[data-tone="dark"] .ebc-btn-ghost{ color:var(--ebc-cream); border-color:var(--ebc-mist-20); }
section[data-tone="dark"] .ebc-btn-ghost:hover{ border-color:var(--ebc-cream); }
.ebc-link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:13.5px; color:var(--ebc-navy); transition:gap .18s var(--ebc-ease); }
.ebc-link-arrow i{ transition:transform .18s var(--ebc-ease); font-size:11px; color:var(--ebc-crimson); }
.ebc-link-arrow:hover{ gap:12px; }
.ebc-link-arrow:hover i{ transform:translateX(3px); }
section[data-tone="dark"] .ebc-link-arrow{ color:var(--ebc-cream); }
section[data-tone="dark"] .ebc-link-arrow i{ color:var(--ebc-gold); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.ebc-header{ position:fixed; top:0; left:0; right:0; z-index:500; padding:22px 0; transition:padding .28s var(--ebc-ease), background .28s var(--ebc-ease), border-color .28s var(--ebc-ease); border-bottom:1px solid transparent; }
.ebc-header.ebc-scrolled{ padding:14px 0; background:rgba(251,250,246,.94); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom-color:var(--ebc-ink-20); }
.ebc-header-inner{ max-width:var(--ebc-maxw); margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ebc-brand{ display:flex; align-items:center; gap:11px; font-family:var(--ebc-display); font-size:18px; font-weight:800; color:var(--ebc-cream); transition:color .28s var(--ebc-ease); }
.ebc-header.ebc-scrolled .ebc-brand{ color:var(--ebc-navy); }
.ebc-brand svg{ width:34px; height:34px; flex:none; }
.ebc-brand mark{ background:none; color:var(--ebc-gold); }

.ebc-nav{ display:flex; align-items:center; gap:28px; }
.ebc-nav a{ font-size:13.5px; font-weight:600; color:var(--ebc-mist-70); position:relative; padding:4px 0; transition:color .28s var(--ebc-ease); }
.ebc-header.ebc-scrolled .ebc-nav a{ color:var(--ebc-ink-70); }
.ebc-nav a::after{ content:""; position:absolute; left:0; bottom:0; height:1.5px; width:0; background:var(--ebc-gold-d); transition:width .22s var(--ebc-ease); }
.ebc-nav a:hover, .ebc-nav a.ebc-active{ color:var(--ebc-cream); }
.ebc-header.ebc-scrolled .ebc-nav a:hover, .ebc-header.ebc-scrolled .ebc-nav a.ebc-active{ color:var(--ebc-navy); }
.ebc-nav a:hover::after, .ebc-nav a.ebc-active::after{ width:100%; }

.ebc-header-actions{ display:flex; align-items:center; gap:18px; }
.ebc-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; border:1px solid var(--ebc-mist-20); border-radius:var(--ebc-radius-s); background:transparent; transition:border-color .28s var(--ebc-ease); }
.ebc-header.ebc-scrolled .ebc-burger{ border-color:var(--ebc-ink-20); }
.ebc-burger span{ width:16px; height:1.5px; background:var(--ebc-cream); margin:0 auto; transition:transform .25s var(--ebc-ease), opacity .2s, background .28s var(--ebc-ease); }
.ebc-header.ebc-scrolled .ebc-burger span{ background:var(--ebc-navy); }
.ebc-burger.ebc-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.ebc-burger.ebc-open span:nth-child(2){ opacity:0; }
.ebc-burger.ebc-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.ebc-mobile-panel{ position:fixed; inset:0; top:0; z-index:490; background:var(--ebc-paper); padding:100px 32px 40px; display:flex; flex-direction:column; gap:6px; transform:translateY(-8px); opacity:0; visibility:hidden; transition:opacity .28s var(--ebc-ease), transform .28s var(--ebc-ease), visibility 0s linear .28s; }
.ebc-mobile-panel.ebc-show{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .28s var(--ebc-ease), transform .28s var(--ebc-ease), visibility 0s; }
.ebc-mobile-panel a{ font-family:var(--ebc-display); font-weight:700; font-size:27px; padding:14px 0; border-bottom:1px solid var(--ebc-ink-20); color:var(--ebc-navy); }
.ebc-mobile-panel a.ebc-active{ color:var(--ebc-gold-d); }
.ebc-mobile-cta{ margin-top:24px; }

@media (max-width:900px){
  .ebc-nav{ display:none; }
  .ebc-header-actions .ebc-btn{ display:none; }
  .ebc-burger{ display:flex; }
}

section{ position:relative; }
section[data-tone="dark"]{ background:var(--ebc-navy); }
section[data-tone="light"]{ background:var(--ebc-paper); }
section[data-tone="cream"]{ background:var(--ebc-cream); }

.ebc-reveal{ opacity:0; transform:translateY(24px); transition:opacity .65s var(--ebc-ease), transform .65s var(--ebc-ease); }
html.ebc-js-ready .ebc-reveal{ opacity:0; transform:translateY(24px); }
html.ebc-js-ready .ebc-reveal.ebc-inview{ opacity:1; transform:translateY(0); }
.ebc-reveal.ebc-d1{ transition-delay:.06s; } .ebc-reveal.ebc-d2{ transition-delay:.12s; } .ebc-reveal.ebc-d3{ transition-delay:.18s; }
.ebc-reveal.ebc-d4{ transition-delay:.24s; } .ebc-reveal.ebc-d5{ transition-delay:.3s; } .ebc-reveal.ebc-d6{ transition-delay:.36s; }
noscript{ display:block; }
@media (prefers-reduced-motion: reduce){
  html.ebc-js-ready .ebc-reveal{ transition:none !important; opacity:1 !important; transform:none !important; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ==========================================================================
   HERO — full-bleed navy backdrop, centered copy over animated route arcs
   ========================================================================== */
.ebc-hero{ padding:178px 0 130px; overflow:hidden; color:var(--ebc-cream); isolation:isolate; }
.ebc-hero::after{ content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse 60% 55% at 50% 6%, rgba(217,166,46,.14), transparent 60%), var(--ebc-navy); }
.ebc-route-bg{ position:absolute; inset:0; z-index:-1; opacity:.5; pointer-events:none; overflow:hidden; }
.ebc-route-bg svg{ width:100%; height:100%; }
.ebc-route-path{ stroke-dasharray:6 8; animation:ebcRouteDash 30s linear infinite; }
@keyframes ebcRouteDash{ to{ stroke-dashoffset:-600; } }
@media (prefers-reduced-motion: reduce){ .ebc-route-path{ animation:none; } }
.ebc-hero-inner{ text-align:center; max-width:860px; margin:0 auto; position:relative; z-index:1; }
.ebc-hero .ebc-tag{ margin:0 auto; }
.ebc-hero-title{ font-family:var(--ebc-display); font-weight:800; font-size:clamp(34px,6vw,64px); line-height:1.08; letter-spacing:-.015em; margin-top:22px; }
.ebc-hero-title mark{ background:none; color:var(--ebc-gold); }
.ebc-hero-sub{ font-size:18px; line-height:1.65; color:var(--ebc-mist-70); max-width:580px; margin:24px auto 0; }
.ebc-hero-ctas{ display:flex; justify-content:center; gap:16px; margin-top:36px; flex-wrap:wrap; }
.ebc-hero-meta{ display:flex; justify-content:center; gap:0; margin-top:66px; flex-wrap:wrap; border-top:1px solid var(--ebc-mist-20); }
.ebc-hero-meta div{ text-align:center; padding:24px 36px; border-right:1px solid var(--ebc-mist-20); }
.ebc-hero-meta div:last-child{ border-right:none; }
.ebc-hero-meta .ebc-num{ font-family:var(--ebc-display); font-size:27px; font-weight:800; color:var(--ebc-gold); }
.ebc-hero-meta .ebc-lab{ font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ebc-mist-50); margin-top:4px; }

.ebc-page-hero{ padding:168px 0 74px; color:var(--ebc-cream); background:linear-gradient(180deg, var(--ebc-navy) 0%, var(--ebc-navy-2) 100%); text-align:center; position:relative; overflow:hidden; }
.ebc-page-hero-inner{ max-width:640px; margin:0 auto; position:relative; z-index:1; }
.ebc-page-hero .ebc-tag{ margin:0 auto; }
.ebc-page-hero h1{ font-family:var(--ebc-display); font-weight:800; font-size:clamp(32px,5vw,48px); line-height:1.14; letter-spacing:-.01em; margin-top:16px; }
.ebc-page-hero p{ font-size:17px; color:var(--ebc-mist-70); margin-top:14px; line-height:1.6; }

/* ==========================================================================
   TRUST STRIP
   ========================================================================== */
.ebc-trust{ padding:54px 0; border-bottom:var(--ebc-border); }
.ebc-trust-label{ font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ebc-ink-50); margin-bottom:26px; text-align:center; }
.ebc-trust-row{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ebc-trust-row span{ font-family:var(--ebc-display); font-weight:700; font-size:16px; color:var(--ebc-ink-50); white-space:nowrap; transition:color .2s var(--ebc-ease); }
.ebc-trust-row span:hover{ color:var(--ebc-gold-d); }

/* ==========================================================================
   SERVICES — Model B, elevated premium card grid
   ========================================================================== */
.ebc-services{ padding:120px 0; }
.ebc-services-head{ text-align:center; max-width:660px; margin:0 auto 56px; }
.ebc-services-head .ebc-lede{ margin-left:auto; margin-right:auto; }
.ebc-sgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ebc-scard{ border-radius:var(--ebc-radius-l); padding:32px 28px; display:flex; flex-direction:column; background:var(--ebc-cream); border:1px solid rgba(11,37,69,.08); transition:transform .25s var(--ebc-ease), box-shadow .25s var(--ebc-ease); }
.ebc-scard:hover{ transform:translateY(-6px); box-shadow:0 28px 50px -24px rgba(11,37,69,.3); }
.ebc-scard-icon{ width:50px; height:50px; border-radius:var(--ebc-radius-m); display:flex; align-items:center; justify-content:center; background:var(--ebc-navy); }
.ebc-scard-icon i{ font-size:19px; color:var(--ebc-gold); }
.ebc-scard h3{ font-family:var(--ebc-display); font-size:19px; font-weight:700; margin-top:18px; letter-spacing:-.01em; }
.ebc-scard p{ font-size:13.5px; line-height:1.6; color:var(--ebc-ink-70); margin-top:10px; flex:1; }
.ebc-scard-meta{ display:flex; align-items:center; justify-content:space-between; margin-top:20px; padding-top:18px; border-top:1px dashed rgba(11,37,69,.15); flex-wrap:wrap; gap:8px; }
.ebc-scard-price-wrap{ display:flex; flex-direction:column; }
.ebc-scard-from{ font-size:9.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ebc-ink-50); font-weight:700; }
.ebc-scard-price{ font-family:var(--ebc-display); font-size:24px; font-weight:800; color:var(--ebc-navy); }
.ebc-scard-specs{ text-align:right; }
.ebc-scard-eta{ font-size:11px; color:var(--ebc-ink-50); font-weight:600; }
.ebc-scard-deliverable{ font-size:10px; color:var(--ebc-crimson); font-weight:700; text-transform:uppercase; letter-spacing:.03em; display:block; margin-top:2px; }
@media (max-width:960px){ .ebc-sgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .ebc-sgrid{ grid-template-columns:1fr; } }

/* ==========================================================================
   PROCESS — horizontal numbered row
   ========================================================================== */
.ebc-process{ padding:106px 0; }
.ebc-process-head{ text-align:center; max-width:660px; margin:0 auto 56px; }
.ebc-process-head .ebc-lede{ margin-left:auto; margin-right:auto; }
.ebc-prow{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ebc-pstep{ text-align:center; padding:0 12px; }
.ebc-pstep-num{ width:54px; height:54px; border-radius:50%; border:1.5px solid var(--ebc-gold); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-family:var(--ebc-display); font-weight:800; font-size:18px; color:var(--ebc-gold); }
.ebc-pstep h3{ font-family:var(--ebc-display); font-weight:700; font-size:16.5px; }
.ebc-pstep p{ font-size:13.5px; line-height:1.6; color:var(--ebc-mist-70); margin-top:8px; }
.ebc-pstep-time{ font-size:11px; color:var(--ebc-gold); font-weight:700; text-transform:uppercase; letter-spacing:.03em; margin-top:10px; display:inline-block; }
@media (max-width:820px){ .ebc-prow{ grid-template-columns:1fr 1fr; gap:36px 20px; } }
@media (max-width:520px){ .ebc-prow{ grid-template-columns:1fr; } }

/* ==========================================================================
   GUARANTEE BAND — full-bleed centered, gold badge
   ========================================================================== */
.ebc-guarantee{ padding:58px 0; }
.ebc-guarantee-inner{ text-align:center; max-width:720px; margin:0 auto; }
.ebc-guarantee-badge{ width:62px; height:62px; border-radius:50%; background:var(--ebc-gold); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
.ebc-guarantee-badge i{ font-size:23px; color:var(--ebc-navy); }
.ebc-guarantee h3{ font-family:var(--ebc-display); font-weight:800; font-size:clamp(22px,3.2vw,30px); letter-spacing:-.01em; }
.ebc-guarantee p{ font-size:15px; margin-top:10px; color:var(--ebc-ink-70); }
.ebc-guarantee .ebc-btn{ margin-top:22px; }

/* ==========================================================================
   COMPARISON STRIP
   ========================================================================== */
.ebc-comparison{ padding:100px 0; }
.ebc-comparison-head{ text-align:center; max-width:660px; margin:0 auto 48px; }
.ebc-ctable{ max-width:840px; margin:0 auto; border:var(--ebc-border); border-radius:var(--ebc-radius-l); overflow:hidden; }
.ebc-crow{ display:grid; grid-template-columns:1.6fr 1fr 1fr; align-items:center; }
.ebc-crow-head{ background:var(--ebc-navy); color:var(--ebc-cream); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
.ebc-crow-head > div:nth-child(2){ color:var(--ebc-gold); }
.ebc-crow > div{ padding:16px 20px; font-size:13.5px; border-top:var(--ebc-border); text-align:center; }
.ebc-crow > div:first-child{ text-align:left; font-weight:600; }
.ebc-crow-head > div{ border-top:none; }
.ebc-crow i.fa-check{ color:var(--ebc-gold-d); }
.ebc-crow i.fa-xmark{ color:var(--ebc-ink-50); }
@media (max-width:600px){ .ebc-crow > div{ padding:12px 10px; font-size:12px; } }

/* ==========================================================================
   FAQ — single-column accordion
   ========================================================================== */
.ebc-faq{ padding:118px 0; }
.ebc-faq-head{ text-align:center; max-width:660px; margin:0 auto 52px; }
.ebc-faq-head .ebc-lede{ margin-left:auto; margin-right:auto; }
.ebc-faq-list{ max-width:820px; margin:0 auto; border-top:var(--ebc-border); }
.ebc-faq-item{ border-bottom:var(--ebc-border); }
.ebc-faq-trigger{ width:100%; background:none; border:none; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 4px; }
.ebc-faq-trigger h3{ font-family:var(--ebc-display); font-weight:700; font-size:16.5px; }
.ebc-faq-icon{ width:27px; height:27px; border-radius:50%; border:1px solid var(--ebc-ink-20); display:flex; align-items:center; justify-content:center; font-size:10px; flex:none; transition:transform .25s var(--ebc-ease), background .2s; }
.ebc-faq-item.ebc-open .ebc-faq-icon{ transform:rotate(45deg); background:var(--ebc-gold); color:var(--ebc-navy); border-color:var(--ebc-gold); }
.ebc-faq-panel{ max-height:0; overflow:hidden; transition:max-height .3s var(--ebc-ease); }
.ebc-faq-item.ebc-open .ebc-faq-panel{ max-height:200px; }
.ebc-faq-panel-inner{ padding:0 4px 22px; max-width:660px; }
.ebc-faq-panel-inner p{ font-size:14px; line-height:1.65; color:var(--ebc-ink-70); }
.ebc-faq-panel-inner a{ color:var(--ebc-gold-d); text-decoration:underline; }
html:not(.ebc-js-ready) .ebc-faq-panel{ max-height:none; }
noscript .ebc-faq-panel{ max-height:none !important; }

/* ==========================================================================
   ABOUT — prose + route-map visual, plus TEAM
   ========================================================================== */
.ebc-about{ padding:126px 0; }
.ebc-about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ebc-about-prose p{ font-size:15.5px; line-height:1.78; color:var(--ebc-mist-70); margin-top:16px; }
.ebc-about-visual{ aspect-ratio:4/5; border-radius:var(--ebc-radius-l); overflow:hidden; background:var(--ebc-navy-2); border:1px solid var(--ebc-mist-20); display:flex; align-items:center; justify-content:center; }
.ebc-about-visual svg{ width:82%; height:82%; }
.ebc-stats{ margin-top:78px; padding-top:44px; border-top:1px solid var(--ebc-mist-20); display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.ebc-stat .ebc-stat-num{ font-family:var(--ebc-display); font-size:36px; font-weight:800; color:var(--ebc-gold); }
.ebc-stat .ebc-stat-lab{ font-size:12px; color:var(--ebc-mist-70); margin-top:8px; }
.ebc-team{ margin-top:60px; padding-top:44px; border-top:1px solid var(--ebc-mist-20); }
.ebc-team-label{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ebc-mist-50); margin-bottom:22px; }
.ebc-team-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ebc-team-card{ display:flex; align-items:center; gap:16px; background:var(--ebc-navy-2); border:1px solid var(--ebc-mist-20); border-radius:var(--ebc-radius-m); padding:20px; }
.ebc-team-avatar{ width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px; color:var(--ebc-navy); flex:none; }
.ebc-team-name{ font-weight:700; font-size:14.5px; }
.ebc-team-role{ font-size:12px; color:var(--ebc-mist-50); margin-top:2px; }
.ebc-team-note{ font-size:12.5px; color:var(--ebc-mist-70); margin-top:6px; font-style:italic; }
@media (max-width:900px){
  .ebc-about-grid{ grid-template-columns:1fr; }
  .ebc-about-visual{ order:-1; max-width:320px; margin:0 auto; }
  .ebc-stats{ grid-template-columns:repeat(2,1fr); }
  .ebc-team-grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   REVIEWS — 2x2 grid
   ========================================================================== */
.ebc-reviews{ padding:120px 0; }
.ebc-reviews-head{ text-align:center; max-width:600px; margin:0 auto 56px; }
.ebc-reviews-head .ebc-lede{ margin-left:auto; margin-right:auto; }
.ebc-rgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.ebc-rcard{ border-radius:var(--ebc-radius-l); padding:30px; display:flex; flex-direction:column; gap:18px; background:var(--ebc-cream); border:1px solid rgba(11,37,69,.08); }
.ebc-rcard .ebc-stars{ color:var(--ebc-gold-d); font-size:13px; letter-spacing:2px; }
.ebc-rcard p{ font-size:15px; line-height:1.6; }
.ebc-rauthor{ display:flex; align-items:center; gap:12px; margin-top:auto; }
.ebc-avatar{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; color:var(--ebc-navy); flex:none; }
.ebc-rauthor-name{ font-weight:700; font-size:14px; }
.ebc-rauthor-role{ font-size:12px; color:var(--ebc-ink-50); }
@media (max-width:760px){ .ebc-rgrid{ grid-template-columns:1fr; } }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ebc-footer{ background:var(--ebc-navy); color:var(--ebc-mist-70); padding:90px 0 0; }
.ebc-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; padding-bottom:60px; border-bottom:1px solid var(--ebc-mist-20); }
.ebc-footer-brand .ebc-brand{ color:var(--ebc-cream); }
.ebc-footer-brand p{ font-size:14px; line-height:1.65; margin-top:18px; max-width:280px; }
.ebc-footer-socials{ display:flex; gap:12px; margin-top:24px; }
.ebc-footer-socials a{ width:36px; height:36px; border-radius:50%; border:1px solid var(--ebc-mist-20); display:flex; align-items:center; justify-content:center; font-size:13px; transition:background .2s, border-color .2s; }
.ebc-footer-socials a:hover{ background:var(--ebc-gold); border-color:var(--ebc-gold); color:var(--ebc-navy); }
.ebc-footer h5{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ebc-mist-50); margin-bottom:20px; }
.ebc-footer-col ul{ display:flex; flex-direction:column; gap:13px; }
.ebc-footer-col a{ font-size:14px; transition:color .18s; }
.ebc-footer-col a:hover{ color:var(--ebc-cream); }
.ebc-footer-col li{ display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; }
.ebc-footer-col li i{ color:var(--ebc-gold); margin-top:3px; font-size:12px; }
.ebc-footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:24px 0; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--ebc-mist-50); }
.ebc-footer-bottom-links{ display:flex; gap:22px; }
.ebc-footer-bottom-links a:hover{ color:var(--ebc-cream); }
@media (max-width:900px){ .ebc-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ebc-footer-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   STICKY CTA
   ========================================================================== */
.ebc-sticky-cta{ position:fixed; right:24px; bottom:24px; z-index:450; opacity:0; transform:translateY(16px) scale(.95); pointer-events:none; transition:opacity .3s var(--ebc-ease), transform .3s var(--ebc-ease); }
.ebc-sticky-cta.ebc-show{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
@media (max-width:600px){ .ebc-sticky-cta{ right:16px; bottom:16px; } .ebc-sticky-cta .ebc-btn{ padding:12px 22px; font-size:13px; } }

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.ebc-contact-sec{ padding:78px 0 128px; }
.ebc-contact-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:24px; align-items:start; }
.ebc-ccards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ebc-ccard{ border:var(--ebc-border); border-radius:var(--ebc-radius-m); padding:26px; background:var(--ebc-paper); transition:border-color .2s, transform .2s; }
.ebc-ccard:hover{ border-color:var(--ebc-gold-d); transform:translateY(-4px); }
.ebc-ccard-icon{ width:42px; height:42px; border-radius:var(--ebc-radius-s); background:var(--ebc-cream); color:var(--ebc-gold-d); display:flex; align-items:center; justify-content:center; font-size:15px; margin-bottom:16px; }
.ebc-ccard h4{ font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ebc-ink-50); }
.ebc-ccard .ebc-cval{ font-family:var(--ebc-display); font-weight:700; font-size:16.5px; margin-top:8px; line-height:1.4; }
.ebc-ccard a.ebc-cval:hover{ color:var(--ebc-gold-d); }
.ebc-side-panel{ background:var(--ebc-navy); color:var(--ebc-cream); border-radius:var(--ebc-radius-l); padding:34px 28px; display:flex; flex-direction:column; height:100%; }
.ebc-side-panel h3{ font-family:var(--ebc-display); font-weight:800; font-size:22px; letter-spacing:-.01em; }
.ebc-side-panel p{ font-size:14px; color:var(--ebc-mist-70); line-height:1.6; margin-top:14px; }
.ebc-side-panel .ebc-btn{ margin-top:24px; justify-content:center; }
.ebc-side-hours{ margin-top:28px; padding-top:22px; border-top:1px solid var(--ebc-mist-20); font-size:13px; }
.ebc-side-hours div{ display:flex; justify-content:space-between; padding:6px 0; color:var(--ebc-mist-70); }
.ebc-map-wrap{ margin-top:24px; border-radius:var(--ebc-radius-l); overflow:hidden; border:var(--ebc-border); height:400px; }
.ebc-map-wrap iframe{ width:100%; height:100%; border:0; display:block; }
@media (max-width:900px){ .ebc-contact-grid{ grid-template-columns:1fr; } .ebc-ccards{ grid-template-columns:1fr; } }

/* ==========================================================================
   LEGAL PAGE
   ========================================================================== */
.ebc-legal-sec{ padding:78px 0 128px; }
.ebc-legal-intro{ max-width:780px; font-size:15px; line-height:1.7; color:var(--ebc-ink-70); padding-bottom:38px; border-bottom:var(--ebc-border); margin-bottom:0; }
.ebc-legal-subnav{ position:sticky; top:78px; z-index:50; background:var(--ebc-paper); display:flex; gap:8px; padding:18px 0; margin-bottom:20px; border-bottom:var(--ebc-border); flex-wrap:wrap; }
.ebc-legal-subnav a{ padding:9px 18px; border-radius:999px; font-size:13px; font-weight:700; border:1px solid var(--ebc-ink-20); transition:background .2s, color .2s, border-color .2s; }
.ebc-legal-subnav a:hover, .ebc-legal-subnav a.ebc-active{ background:var(--ebc-navy); color:var(--ebc-cream); border-color:var(--ebc-navy); }
.ebc-legal-doc{ max-width:780px; padding:54px 0; border-bottom:var(--ebc-border); scroll-margin-top:150px; }
.ebc-legal-doc:last-child{ border-bottom:none; }
.ebc-legal-doc h2{ font-family:var(--ebc-display); font-size:29px; font-weight:800; letter-spacing:-.01em; }
.ebc-legal-doc .ebc-legal-updated{ font-size:12.5px; color:var(--ebc-ink-50); margin-top:8px; }
.ebc-legal-doc h3{ font-family:var(--ebc-display); font-size:16px; font-weight:700; margin-top:30px; }
.ebc-legal-doc p{ font-size:14.5px; line-height:1.75; color:var(--ebc-ink-70); margin-top:13px; }
.ebc-legal-doc ul{ margin-top:13px; display:flex; flex-direction:column; gap:10px; }
.ebc-legal-doc ul li{ font-size:14.5px; line-height:1.6; color:var(--ebc-ink-70); padding-left:20px; position:relative; }
.ebc-legal-doc ul li::before{ content:"→"; position:absolute; left:0; color:var(--ebc-gold-d); }

/* ==========================================================================
   COOKIE BANNER
   ========================================================================== */
.ebc-cookie{ position:fixed; left:24px; right:24px; bottom:-200px; z-index:800; max-width:520px; margin:0 auto; background:var(--ebc-navy); color:var(--ebc-cream); border-radius:var(--ebc-radius-l); padding:24px 26px; box-shadow:0 30px 60px -20px rgba(0,0,0,.5); border:1px solid rgba(247,243,234,.12); transition:bottom .5s var(--ebc-ease); }
.ebc-cookie.ebc-show{ bottom:24px; }
.ebc-cookie p{ font-size:13px; line-height:1.6; color:var(--ebc-mist-70); }
.ebc-cookie a{ color:var(--ebc-gold); text-decoration:underline; }
.ebc-cookie-actions{ display:flex; gap:12px; margin-top:16px; }
.ebc-cookie-actions button{ flex:1; padding:10px 16px; border-radius:var(--ebc-radius-s); font-size:12px; font-weight:700; border:1px solid rgba(247,243,234,.2); background:transparent; color:var(--ebc-cream); transition:background .2s, color .2s; }
.ebc-cookie-actions .ebc-cookie-accept{ background:var(--ebc-gold); border-color:var(--ebc-gold); color:var(--ebc-navy); }
.ebc-cookie-actions .ebc-cookie-accept:hover{ background:var(--ebc-gold-d); color:#fff; }
.ebc-cookie-actions .ebc-cookie-decline:hover{ background:rgba(247,243,234,.1); }

@media (max-width:760px){
  .ebc-hero{ padding:152px 0 84px; }
  .ebc-page-hero{ padding:140px 0 58px; }
  .ebc-services, .ebc-process, .ebc-faq, .ebc-about, .ebc-reviews{ padding:72px 0; }
  .ebc-hero-meta{ margin-top:48px; }
  .ebc-footer{ padding-top:60px; }
}

/* ==========================================================================
   LOAD PLANNER (index.html) — interactive trailer fill + service match
   ========================================================================== */
.ebc-planner{ padding:110px 0; position:relative; overflow:hidden; }
.ebc-planner::before{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 55% 60% at 75% 40%, rgba(217,166,46,.10), transparent 70%); pointer-events:none; }
.ebc-planner .ebc-wrap{ position:relative; }
.ebc-planner-head{ max-width:720px; margin-bottom:48px; }
.ebc-planner-grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); gap:28px; align-items:stretch; }

.ebc-planner-controls{ background:var(--ebc-navy-soft); border:1px solid var(--ebc-mist-20); border-radius:var(--ebc-radius-l); padding:30px 28px; display:flex; flex-direction:column; gap:28px; }
.ebc-pc-label{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ebc-mist-70); margin-bottom:12px; }
.ebc-pc-label output{ font-family:var(--ebc-display); font-size:22px; font-weight:800; letter-spacing:0; text-transform:none; color:var(--ebc-gold); }
.ebc-pc-scale{ display:flex; justify-content:space-between; font-size:11.5px; color:var(--ebc-mist-50); margin-top:6px; }
.ebc-planner input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:999px; background:linear-gradient(to right, var(--ebc-gold) var(--fill,50%), var(--ebc-mist-20) var(--fill,50%)); outline:none; cursor:pointer; }
.ebc-planner input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:var(--ebc-cream); border:4px solid var(--ebc-gold); box-shadow:0 4px 12px rgba(0,0,0,.35); transition:transform .15s var(--ebc-ease); }
.ebc-planner input[type=range]::-moz-range-thumb{ width:18px; height:18px; border-radius:50%; background:var(--ebc-cream); border:4px solid var(--ebc-gold); }
.ebc-planner input[type=range]:active::-webkit-slider-thumb{ transform:scale(1.15); }
.ebc-planner input[type=range]:focus-visible{ outline:2px solid var(--ebc-gold); outline-offset:6px; }
.ebc-seg{ display:grid; grid-template-columns:1fr 1fr; background:rgba(0,0,0,.18); border:1px solid var(--ebc-mist-20); border-radius:var(--ebc-radius-s); padding:4px; gap:4px; }
.ebc-seg label{ position:relative; cursor:pointer; }
.ebc-seg input{ position:absolute; opacity:0; }
.ebc-seg span{ display:block; text-align:center; padding:10px; border-radius:4px; font-weight:700; font-size:14px; color:var(--ebc-mist-70); transition:background .18s, color .18s; }
.ebc-seg input:checked + span{ background:var(--ebc-gold); color:var(--ebc-navy); }
.ebc-seg input:focus-visible + span{ outline:2px solid var(--ebc-cream); outline-offset:2px; }
.ebc-pc-toggles{ display:flex; flex-direction:column; gap:14px; padding-top:22px; border-top:1px solid var(--ebc-mist-20); }
.ebc-switch{ display:flex; align-items:center; gap:14px; font-size:15px; font-weight:600; color:var(--ebc-cream); cursor:pointer; }
.ebc-switch input{ position:absolute; opacity:0; }
.ebc-switch-ui{ width:44px; height:24px; border-radius:999px; background:var(--ebc-mist-20); position:relative; flex:none; transition:background .2s; }
.ebc-switch-ui::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:var(--ebc-cream); transition:transform .22s var(--ebc-ease); }
.ebc-switch input:checked + .ebc-switch-ui{ background:var(--ebc-gold); }
.ebc-switch input:checked + .ebc-switch-ui::after{ transform:translateX(20px); }
.ebc-switch input:focus-visible + .ebc-switch-ui{ outline:2px solid var(--ebc-gold); outline-offset:3px; }

.ebc-planner-out{ background:var(--ebc-cream); color:var(--ebc-navy); border-radius:var(--ebc-radius-l); padding:34px 32px 30px; display:flex; flex-direction:column; gap:26px; }

/* truck */
.ebc-truck{ position:relative; display:flex; align-items:flex-end; padding-bottom:16px; }
.ebc-trailer{ flex:1; position:relative; background:#fff; border:2px solid var(--ebc-navy); border-radius:8px 4px 4px 8px; padding:10px; }
.ebc-trailer-floor{ display:grid; grid-template-columns:repeat(13,1fr); grid-template-rows:repeat(2,1fr); grid-auto-flow:column; gap:5px; }
.ebc-slot{ aspect-ratio:1.2/1; border-radius:3px; border:1.5px dashed var(--ebc-ink-20); position:relative; transition:background .25s var(--ebc-ease), border-color .25s, transform .3s var(--ebc-ease); }
.ebc-slot.is-on{ background:var(--ebc-gold); border:1.5px solid var(--ebc-gold-d); transform:scale(1); animation:ebc-drop .35s var(--ebc-ease) both; }
.ebc-slot.is-stacked{ background:var(--ebc-gold-d); box-shadow:inset 0 0 0 3px rgba(255,255,255,.35); }
.ebc-slot.is-stacked::after{ content:"×2"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; color:#fff; }
.ebc-slot.is-over{ background:var(--ebc-crimson); border-color:var(--ebc-crimson-d); }
@keyframes ebc-drop{ from{ transform:translateY(-6px) scale(.85); opacity:.3; } to{ transform:none; opacity:1; } }
.ebc-trailer-len{ position:absolute; left:10px; right:10px; bottom:-26px; display:flex; justify-content:center; border-top:1px solid var(--ebc-ink-20); }
.ebc-trailer-len span{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ebc-ink-50); background:var(--ebc-cream); padding:0 10px; margin-top:-8px; }
.ebc-cab{ width:13%; min-width:52px; aspect-ratio:1/1.05; background:var(--ebc-navy); border-radius:4px 22px 6px 4px; margin-left:6px; position:relative; }
.ebc-cab-window{ position:absolute; top:16%; right:12%; width:44%; height:32%; background:rgba(247,243,234,.85); border-radius:3px 12px 3px 3px; }
.ebc-wheels{ position:absolute; left:0; right:0; bottom:2px; height:18px; pointer-events:none; }
.ebc-wheels i{ position:absolute; bottom:0; width:18px; height:18px; border-radius:50%; background:var(--ebc-navy); border:4px solid #3a4d68; }
.ebc-wheels i:nth-child(1){ left:4%; } .ebc-wheels i:nth-child(2){ left:calc(4% + 22px); }
.ebc-wheels i:nth-child(3){ right:10%; } .ebc-wheels i:nth-child(4){ right:3%; }
.ebc-truck{ margin-bottom:16px; }

.ebc-planner-meters{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:6px; }
.ebc-meter-top{ display:flex; justify-content:space-between; align-items:baseline; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ebc-ink-50); }
.ebc-meter-top b{ font-family:var(--ebc-display); font-size:20px; font-weight:800; color:var(--ebc-navy); letter-spacing:0; text-transform:none; }
.ebc-meter-bar{ height:8px; border-radius:999px; background:var(--ebc-ink-20); margin-top:8px; overflow:hidden; }
.ebc-meter-bar span{ display:block; height:100%; width:0; background:var(--ebc-navy); border-radius:inherit; transition:width .5s var(--ebc-ease), background .3s; }
.ebc-meter-bar span.is-over{ background:var(--ebc-crimson); }

.ebc-match{ display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; background:var(--ebc-navy); color:var(--ebc-cream); border-radius:var(--ebc-radius-m); padding:20px 22px; }
.ebc-match-icon{ width:52px; height:52px; border-radius:12px; background:var(--ebc-gold); color:var(--ebc-navy); display:flex; align-items:center; justify-content:center; font-size:20px; }
.ebc-match-eyebrow{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ebc-gold); }
.ebc-match h3{ font-family:var(--ebc-display); font-size:21px; font-weight:800; margin-top:3px; }
.ebc-match p{ font-size:13.5px; line-height:1.5; color:var(--ebc-mist-70); margin-top:4px; }
.ebc-match-eta{ text-align:right; border-left:1px solid var(--ebc-mist-20); padding-left:18px; }
.ebc-match-eta span{ display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ebc-mist-50); }
.ebc-match-eta b{ font-family:var(--ebc-display); font-size:20px; font-weight:800; white-space:nowrap; }
.ebc-match.is-swap{ animation:ebc-swap .4s var(--ebc-ease); }
@keyframes ebc-swap{ 0%{ transform:translateY(6px); opacity:.4; } 100%{ transform:none; opacity:1; } }
.ebc-planner-cta{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.ebc-planner-note{ font-size:12.5px; color:var(--ebc-ink-50); flex:1; min-width:220px; line-height:1.5; }

@media (max-width:1000px){ .ebc-planner-grid{ grid-template-columns:1fr; } }
@media (max-width:600px){
  .ebc-planner{ padding:70px 0; }
  .ebc-planner-out{ padding:24px 16px; }
  .ebc-planner-controls{ padding:24px 20px; }
  .ebc-trailer{ padding:6px; }
  .ebc-trailer-floor{ gap:3px; }
  .ebc-slot.is-stacked::after{ font-size:8px; }
  .ebc-planner-meters{ grid-template-columns:1fr; gap:16px; }
  .ebc-match{ grid-template-columns:auto 1fr; }
  .ebc-match-eta{ grid-column:1 / -1; text-align:left; border-left:none; padding-left:0; border-top:1px solid var(--ebc-mist-20); padding-top:12px; display:flex; justify-content:space-between; align-items:baseline; }
  .ebc-planner-cta .ebc-btn{ width:100%; justify-content:center; }
}
@media (prefers-reduced-motion: reduce){ .ebc-slot.is-on, .ebc-match.is-swap{ animation:none; } }
