:root{
    --ink:#12141A;
    --paper:#F6F5F1;
    --paper-2:#EDEBE3;
    --card:#FFFFFF;
    --accent:#FF5A3C;
    --accent-ink:#7A2314;
    --teal:#0F3D3A;
    --teal-ink:#0B2C2A;
    --sand:#F1E4CE;
    --sand-ink:#5A4322;
    --muted:#6B6E76;
    --line: rgba(18,20,26,0.10);
    --line-lt: rgba(255,255,255,0.14);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--paper);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.disp{font-family:'Space Grotesk',sans-serif;}
  .mono{font-family:'JetBrains Mono',monospace; letter-spacing:0.02em;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
  section{padding:104px 0;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.06em;
    color:var(--accent-ink); background:#FFE7E0; padding:6px 14px; border-radius:99px;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}

  /* NAV */
  .nav-shell{ position:sticky; top:18px; z-index:100; padding:0 20px; }
  nav{
    position:relative;
    max-width:1160px; margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 14px 12px 20px;
    background:rgba(246,245,241,0.92);
    backdrop-filter:blur(14px);
    border:1px solid var(--line); border-radius:99px;
    box-shadow:0 8px 26px rgba(18,20,26,0.06);
  }
  .brand{display:flex;align-items:center;gap:10px;}
  .brand-logo{height:36px; width:auto; display:block;}
  .brand-mark{
    width:34px;height:34px;border-radius:10px;
    background:var(--ink);
    display:flex;align-items:center;justify-content:center;
    color:var(--accent); font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px;
  }
  .brand-name{font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:600;}
  .nav-links{display:none; gap:28px; align-items:center;}
  @media(min-width:900px){ .nav-links{display:flex;} }
  .nav-links a{font-size:14px; font-weight:500; color:var(--ink); opacity:0.72; transition:opacity .2s ease, color .2s ease; padding:6px 4px;}
  .nav-links a:hover, .nav-links a:focus-visible{color:var(--ink); opacity:1;}
  .nav-links a:focus-visible{outline:2px solid var(--accent); outline-offset:4px;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:12px 24px; border-radius:99px; font-size:14px; font-weight:600;
    cursor:pointer; border:1px solid transparent;
  }
  .btn-accent{ background:var(--accent); color:#fff; }
  .btn-accent:hover{ background:#E64B2F; }
  .btn-ink{ background:var(--ink); color:var(--paper); }
  .btn-ink:hover{ background:#20232B; }
  .btn-line{ background:transparent; color:var(--ink); border-color:var(--line); }
  .btn-line:hover{ background:rgba(18,20,26,0.05); }
  .nav-links{position:relative; z-index:2;}
  .btn-nav{padding:10px 20px; font-size:13.5px;}

  /* HERO */
  .hero{ padding:64px 0 0; }
  .hero-grid{
    display:grid; grid-template-columns:1fr; gap:40px; align-items:center;
  }
  @media(min-width:960px){ .hero-grid{grid-template-columns:1fr 1fr; gap:24px;} }
  .hero h1{
    font-size:clamp(36px,5.6vw,60px); font-weight:600; line-height:1.04; letter-spacing:-0.02em;
    margin-top:20px;
  }
  .hero h1 .hl{ color:var(--accent); }
  .hero p.lede{ margin-top:20px; font-size:17px; line-height:1.6; color:var(--muted); max-width:460px; }
  .hero-actions{ display:flex; gap:12px; margin-top:32px; flex-wrap:wrap; }
  .trust-row{ display:flex; gap:28px; margin-top:44px; flex-wrap:wrap; }
  .trust-row .t{ }
  .trust-row .n{ font-family:'Space Grotesk',sans-serif; font-size:24px; font-weight:600; }
  .trust-row .l{ font-size:12.5px; color:var(--muted); margin-top:2px; }

  .hero-art{ position:relative; }
  .hero-photo{
    border-radius:28px; overflow:hidden; aspect-ratio:2/2; position:relative;
    background:var(--teal);
  }
  .hero-photo img{ width:100%; height:100%; object-fit:cover; }
  .hero-photo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(15,61,58,0) 55%, rgba(11,20,20,0.55) 100%);
  }
  .float-chip{
    position:absolute; background:var(--card); border-radius:16px;
    padding:14px 16px; box-shadow:0 14px 30px rgba(18,20,26,0.14);
    display:flex; align-items:center; gap:12px; z-index:2;
  }
  .fc-1{ top:-22px; left:-18px; }
  .fc-2{ bottom:18px; right:-18px; }
  .fc-icon{
    width:38px;height:38px;border-radius:10px; flex-shrink:0;
    display:flex;align-items:center;justify-content:center; font-size:16px; font-weight:700;
  }
  .fc-icon.a{ background:#FFE7E0; color:var(--accent-ink); }
  .fc-icon.b{ background:#DDEEEC; color:var(--teal-ink); }
  .fc-tt{ font-size:13px; font-weight:600; }
  .fc-sub{ font-size:11.5px; color:var(--muted); margin-top:1px; }

  /* strip */
  .strip{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; margin-top:88px; overflow:hidden; }
  .strip-track{ display:flex; gap:64px; white-space:nowrap; animation:scroll 26s linear infinite; width:max-content; }
  .strip-track span{ font-family:'Space Grotesk',sans-serif; font-size:14px; color:var(--muted); letter-spacing:0.02em; }
  .strip-track span b{ color:var(--ink); }
  @keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media(prefers-reduced-motion: reduce){ .strip-track{animation:none;} }

  .section-head{ max-width:600px; margin-bottom:52px; }
  .section-head h2{ font-size:clamp(28px,3.6vw,40px); font-weight:600; line-height:1.12; margin-top:14px; letter-spacing:-0.01em; }
  .section-head p{ margin-top:14px; font-size:16px; line-height:1.6; color:var(--muted); }

  /* SERVICES bento */
  .svc-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
  @media(min-width:860px){ .svc-grid{grid-template-columns:1.05fr 0.95fr;} }
  .svc-card{ border-radius:24px; padding:38px; position:relative; }
  .svc-dark{ background:var(--ink); color:var(--paper); }
  .svc-light{ background:var(--card); border:1px solid var(--line); }
  .svc-tag{ font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.06em; opacity:0.6; }
  .svc-card h3{ font-size:26px; font-weight:600; margin:14px 0 12px; }
  .svc-card p{ font-size:15px; line-height:1.65; opacity:0.78; max-width:420px; }
  .chip-row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
  .chip{
    font-size:12.5px; padding:7px 13px; border-radius:99px; font-weight:500;
  }
  .svc-dark .chip{ background:rgba(255,255,255,0.1); color:var(--paper); }
  .svc-light .chip{ background:var(--paper-2); color:var(--ink); }
  .svc-arrow{
    margin-top:26px; display:inline-flex; align-items:center; justify-content:center;
    width:40px; height:40px; border-radius:50%; font-size:16px;
  }
  .svc-dark .svc-arrow{ background:var(--accent); color:#fff; }
  .svc-light .svc-arrow{ background:var(--ink); color:var(--paper); }

  /* FLEET bento */
  .fleet-grid{ display:grid; grid-template-columns:1fr; gap:20px; }
  @media(min-width:860px){ .fleet-grid{grid-template-columns:1.15fr 0.85fr;} }
  .fleet-col{ display:flex; flex-direction:column; gap:20px; }
  .fleet-card{
    background:var(--card); border:1px solid var(--line); border-radius:22px; overflow:hidden;
    display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease;
  }
  .fleet-card:hover{ transform:translateY(-5px); box-shadow:0 20px 40px rgba(18,20,26,0.1); }
  .fleet-main{ }
  .fleet-main .fleet-img{ aspect-ratio:16/11; }
  .fleet-side .fleet-img{ aspect-ratio:16/9.4; }
  .fleet-img{ position:relative; overflow:hidden; background:var(--paper-2); }
  .fleet-img img{ width:100%; height:100%; object-fit:contain; }
  .fleet-pill{
    position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.92);
    backdrop-filter:blur(4px); font-family:'JetBrains Mono',monospace; font-size:10.5px;
    letter-spacing:0.05em; text-transform:uppercase; padding:6px 12px; border-radius:99px; color:var(--ink);
  }
  .fleet-body{ padding:22px 24px 24px; }
  .fleet-body .cls{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.06em; text-transform:uppercase; }
  .fleet-body h3{ font-size:22px; margin:6px 0 12px; font-weight:600; }
  .fleet-main .fleet-body h3{ font-size:26px; }
  .fleet-specs{ display:flex; flex-wrap:wrap; gap:10px; }
  .fleet-specs .sp{
    font-size:12px; color:var(--ink); background:var(--paper-2); padding:5px 11px; border-radius:99px; font-weight:500;
  }

  /* CATEGORY TABS */
  .cat-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px; }
  .cat-tab{
    font-family:'Inter',sans-serif; font-size:14px; font-weight:600; color:var(--ink);
    background:var(--card); border:1px solid var(--line); padding:10px 20px; border-radius:99px;
    cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .cat-tab:hover{ border-color:var(--accent); }
  .cat-tab.active{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

  .fleet-uniform{ display:grid; grid-template-columns:1fr; gap:20px; }
  @media(min-width:700px){ .fleet-uniform{ grid-template-columns:repeat(2,1fr); } }
  @media(min-width:1040px){ .fleet-uniform{ grid-template-columns:repeat(3,1fr); } }
  .fleet-uniform .fleet-img{ aspect-ratio:16/11; }
  .fleet-card[hidden]{ display:none; }
  .fleet-loc{
    position:absolute; bottom:14px; left:14px; background:rgba(18,20,26,0.72); color:#fff;
    font-size:11.5px; font-weight:500; padding:5px 11px; border-radius:99px; backdrop-filter:blur(3px);
  }
  .fleet-empty{
    grid-column:1/-1; text-align:center; padding:48px 24px; border:1.5px dashed var(--line); border-radius:20px;
    color:var(--muted); font-size:14.5px;
  }
  .fleet-note{ margin-top:26px; font-size:13.5px; color:var(--muted); }

  /* PROCESS */
  .proc-wrap{ position:relative; }
  .proc-line{ position:absolute; top:42px; left:22px; right:22px; height:1px; background:var(--line); display:none; }
  @media(min-width:820px){ .proc-line{ display:block; } }
  .proc-grid{ display:grid; grid-template-columns:1fr; gap:24px; position:relative; }
  @media(min-width:820px){ .proc-grid{ grid-template-columns:repeat(4,1fr); } }
  .proc-item{
    background:var(--card); border:1px solid var(--line); border-radius:24px;
    padding:26px 24px 28px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    position:relative;
  }
  .proc-item:hover{ transform:translateY(-3px); box-shadow:0 18px 30px rgba(18,20,26,0.1); }
  .proc-item.active{ border-color:var(--accent); }
  .proc-item.active::before{
    content:''; position:absolute; top:0; left:0; right:0; height:4px; border-top-left-radius:24px; border-top-right-radius:24px;
    background:linear-gradient(90deg, var(--accent), rgba(255,90,60,0.35));
  }
  .proc-node{
    width:48px; height:48px; border-radius:50%; background:var(--card); border:1.5px solid var(--line);
    display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif;
    font-weight:600; font-size:15px; position:relative; z-index:1;
  }
  .proc-item.active .proc-node{ background:var(--accent); border-color:var(--accent); color:#fff; }
  .proc-item h4{ font-size:16px; font-weight:600; margin:18px 0 10px; }
  .proc-item p{ font-size:14px; color:var(--muted); line-height:1.75; max-width:100%; }

  /* WHY bento */
  .why-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
  @media(min-width:700px){ .why-grid{ grid-template-columns:repeat(2,1fr); } }
  .why-card{ border-radius:22px; padding:28px; }
  .why-1{ background:#FFE7E0; }
  .why-2{ background:#DDEEEC; }
  .why-3{ background:var(--sand); }
  .why-4{ background:var(--card); border:1px solid var(--line); }
  .why-card .wi{ width:38px;height:38px;border-radius:10px; background:rgba(18,20,26,0.08); display:flex;align-items:center;justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; }
  .why-card h4{ font-size:17px; margin:16px 0 8px; font-weight:600; }
  .why-card p{ font-size:14px; color:#3B3D42; line-height:1.6; }

  /* CTA */
  .cta{
    background:var(--ink); border-radius:32px; padding:56px 40px; position:relative; overflow:hidden;
    color:var(--paper);
  }
  .cta-blob{
    position:absolute; width:420px; height:420px; border-radius:50%;
    background:var(--accent); opacity:0.18; filter:blur(2px);
    top:-180px; right:-140px;
  }
  .cta-grid{ display:grid; grid-template-columns:1fr; gap:36px; position:relative; z-index:1; }
  @media(min-width:900px){ .cta-grid{ grid-template-columns:1.1fr 0.9fr; align-items:center; } }
  .cta h2{ font-size:clamp(26px,3.4vw,36px); font-weight:600; line-height:1.15; }
  .cta p{ margin-top:14px; font-size:15px; color:#C7C9D1; max-width:420px; line-height:1.6; }
  .cta-actions{ margin-top:28px; display:flex; gap:12px; flex-wrap:wrap; }
  .c-list{ background:rgba(255,255,255,0.06); border-radius:20px; padding:8px 24px; }
  .c-row{ display:flex; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.1); }
  .c-row:last-child{ border-bottom:none; }
  .c-row .k{ font-family:'JetBrains Mono',monospace; font-size:11px; color:#9EA1AA; letter-spacing:0.06em; text-transform:uppercase; }
  .c-row .v{ font-size:14.5px; text-align:right; }

  footer{ padding:40px 0; }
  .foot-row{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
  @media(min-width:700px){ .foot-row{ flex-direction:row; justify-content:space-between; align-items:center; } }
  .foot-links{ display:flex; gap:22px; font-size:13px; }
  .foot-links a{ color:var(--muted); }
  .foot-links a:hover{ color:var(--ink); }
  .foot-note{ font-size:12px; color:var(--muted); margin-top:0; }

  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }
  @media(prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }
