/* ==========================================================
   JAIHIND CARRIERS PRIVATE LIMITED — website styles
   One stylesheet for every page. Colours come from the logo:
   navy #0E2351 and orange #EB6F22.
   Icons: Lucide (ISC licence) — see credits.txt
   ========================================================== */

/* ---------- Fonts (self-hosted, no outside requests) ---------- */
@font-face{
  font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('fonts/inter-latin-wght-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Montserrat'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('fonts/montserrat-latin-wght-normal.woff2') format('woff2');
}

/* ---------- Design tokens ---------- */
:root{
  --navy-950:#071430; --navy-900:#0A1A3D; --navy:#0E2351; --navy-800:#132C63;
  --navy-700:#1A3A7C; --navy-600:#24499A; --navy-300:#9FB0CF; --navy-200:#C9D4E8;
  --navy-100:#E6ECF6; --navy-050:#F3F6FB;

  --orange:#EB6F22;        /* brand orange: logo, accents, text on navy   */
  --orange-600:#C4500C;    /* buttons with white text (passes AA)          */
  --orange-700:#A3420A;    /* button hover                                  */
  --orange-ink:#B54708;    /* small orange text on white (passes AA)        */
  --orange-100:#FCE3D2; --orange-050:#FEF4EC;

  --ink:#0F1B33;           /* headings */
  --text:#3C4A5E;          /* body text */
  --muted:#5D6B7F;         /* secondary text */
  --line:#E2E8F0; --line-2:#D3DCE8;
  --bg:#FFFFFF; --bg-soft:#F5F7FB;

  --ok:#0F7A3D; --err:#B3261E;
  --wa:#0F7A3D;            /* WhatsApp buttons with white text (AA) */
  --wa-bright:#1FA855;     /* round WhatsApp icon button            */

  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-head:'Montserrat','Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;

  --r-sm:8px; --r:12px; --r-lg:18px; --pill:999px;
  --sh-sm:0 1px 2px rgba(14,35,81,.06),0 1px 3px rgba(14,35,81,.08);
  --sh-md:0 10px 26px rgba(14,35,81,.09);
  --sh-lg:0 26px 54px rgba(7,20,48,.22);
  --container:1200px;
  --header-h:88px;
}

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 18px); -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:var(--font); font-size:16px; line-height:1.65; color:var(--text); background:var(--bg); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0; }
h1,h2,h3,h4{ text-wrap:balance; font-family:var(--font-head); color:var(--ink); margin:0; line-height:1.18; letter-spacing:-.01em; }
h1{ font-size:clamp(2rem,1.2rem + 2.7vw,3.1rem); font-weight:750; line-height:1.12; letter-spacing:-.015em; }
h2{ font-size:clamp(1.55rem,1.1rem + 1.5vw,2.15rem); font-weight:720; }
h3{ font-size:1.16rem; font-weight:700; }
strong,b{ color:var(--ink); font-weight:700; }
button{ font:inherit; }
.ic{ width:1em; height:1em; flex:0 0 auto; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:2px; border-radius:4px; }
.sr-only{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:12px; top:-60px; z-index:200; background:var(--navy); color:#fff; padding:10px 16px; border-radius:var(--r-sm); font-weight:600; }
.skip-link:focus{ top:12px; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}

/* ---------- Layout helpers ---------- */
.wrap{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }
.section{ padding:76px 0; }
.section-sm{ padding:56px 0; }
.section-soft{ background:var(--bg-soft); }
.section-line{ border-top:1px solid var(--line); }
.sec-head{ max-width:760px; margin:0 0 38px; }
.sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.sec-head p:not(.kicker), .sec-sub{ margin-top:14px; font-size:1.06rem; line-height:1.7; color:var(--muted); }
.sec-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:38px; }
.sec-head-row .sec-head{ margin-bottom:0; }

.kicker{ display:inline-flex; align-items:center; gap:10px; font-size:1rem; font-weight:600; color:var(--orange-ink); margin-bottom:14px; }
.kicker::before{ content:""; width:22px; height:12px; flex:0 0 auto; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 24'%3E%3Cpath fill='%23EB6F22' d='M0 0h8l10 12-10 12H0l10-12zM13 0h8l10 12-10 12h-8l10-12zM26 0h8l10 12-10 12h-8l10-12z'/%3E%3C/svg%3E") center/contain no-repeat; }
.on-dark .kicker, .kicker.light{ color:var(--orange); }
.lead{ font-size:1.12rem; line-height:1.7; color:var(--muted); }
.text-link{ font-weight:700; color:var(--navy-700); text-decoration:underline; text-decoration-color:var(--navy-200); text-decoration-thickness:2px; text-underline-offset:4px; transition:color .15s, text-decoration-color .15s; }
.text-link:hover{ color:var(--orange-ink); text-decoration-color:var(--orange); }
.muted{ color:var(--muted); }
.nowrap{ white-space:nowrap; }
.small{ font-size:.86rem; }

/* ---------- Justified paragraphs ----------
   Only on running text whose lines are long enough to justify neatly. Hyphenation keeps
   word gaps even. Headings, buttons, centred text and short card lines stay left-aligned. */
.hero .lead, .page-hero .lead, .split-text p, .sec-head:not(.center) p:not(.kicker), .sec-sub, .svc-block p,
.feature p, .ind-card dd, .svc-card p, .quote-band p, .faq .answer, .footer-brand p, .cta-band p,
.info-card.navy p, .pan-india span, .note span{
  text-align:justify; text-justify:inter-word; -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:8 3 3;
}

/* Phones whose browser cannot hyphenate (detected in script.js) keep left-aligned text,
   because justified 40-character lines would otherwise show wide gaps */
@media (max-width:600px){
  .no-hyphens .hero .lead,
  .no-hyphens .page-hero .lead,
  .no-hyphens .split-text p,
  .no-hyphens .sec-head:not(.center) p:not(.kicker),
  .no-hyphens .sec-sub,
  .no-hyphens .svc-block p,
  .no-hyphens .feature p,
  .no-hyphens .ind-card dd,
  .no-hyphens .svc-card p,
  .no-hyphens .quote-band p,
  .no-hyphens .faq .answer,
  .no-hyphens .footer-brand p,
  .no-hyphens .cta-band p,
  .no-hyphens .info-card.navy p,
  .no-hyphens .pan-india span,
  .no-hyphens .note span{ text-align:left; }
}

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 22px; border-radius:10px; border:1.5px solid transparent; font-family:var(--font); font-size:.97rem; font-weight:700; line-height:1.2; cursor:pointer; white-space:nowrap; transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .12s; }
.btn .ic{ font-size:1.12em; }
.btn:active{ transform:translateY(1px); }
.btn-sm{ min-height:42px; padding:9px 18px; font-size:.92rem; }
.btn-lg{ min-height:54px; padding:14px 28px; font-size:1.02rem; }
.btn-primary{ background:var(--orange-600); color:#fff; box-shadow:0 6px 16px rgba(196,80,12,.24); }
.btn-primary:hover{ background:var(--orange-700); }
.btn-navy{ background:var(--navy); color:#fff; }
.btn-navy:hover{ background:var(--navy-800); }
.btn-outline{ background:#fff; color:var(--navy); border-color:var(--navy-200); }
.btn-outline:hover{ border-color:var(--navy); background:var(--navy-050); }
.btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.42); }
.btn-ghost:hover{ background:rgba(255,255,255,.1); border-color:#fff; }
.btn-wa{ background:var(--wa); color:#fff; }
.btn-wa:hover{ background:#0B6631; }
.btn-row{ display:flex; flex-wrap:wrap; gap:12px; }

/* ---------- Top bar ---------- */
.topbar{ background:var(--navy-950); color:rgba(255,255,255,.86); font-size:.84rem; }
.topbar-in{ display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:38px; max-width:1320px; }
.topbar a, .topbar span{ display:inline-flex; align-items:center; gap:7px; }
.topbar .ic{ color:var(--orange); font-size:1.02em; }
.topbar a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.topbar-left{ display:flex; gap:22px; flex-wrap:wrap; }

/* ---------- Header ---------- */
.site-header{ position:sticky; top:0; z-index:100; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); transition:box-shadow .2s; }
@supports (backdrop-filter:blur(8px)){ .site-header{ background:rgba(255,255,255,.9); backdrop-filter:saturate(160%) blur(10px); } }
.site-header.scrolled{ box-shadow:0 6px 22px rgba(14,35,81,.09); }
.header-in{ display:flex; align-items:center; gap:28px; height:var(--header-h); max-width:1320px; }
.brand{ flex:0 0 auto; display:flex; align-items:center; }
.brand img{ height:68px; width:auto; }
.nav{ margin-left:auto; }
.nav-links{ display:flex; align-items:center; gap:4px; }
.nav-links a{ position:relative; display:block; padding:10px 13px; font-size:.95rem; font-weight:600; color:var(--ink); border-radius:8px; white-space:nowrap; }
.nav-links a::after{ content:""; position:absolute; left:13px; right:13px; bottom:3px; height:2.5px; border-radius:2px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.nav-links a:hover{ color:var(--navy-700); }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after{ transform:scaleX(1); }
.nav-links a[aria-current="page"]{ color:var(--navy); }
.header-cta{ display:flex; align-items:center; gap:10px; }
.menu-btn{ display:none; width:46px; height:46px; align-items:center; justify-content:center; border:1.5px solid var(--line-2); border-radius:10px; background:#fff; color:var(--navy); cursor:pointer; font-size:1.4rem; }
.menu-btn:hover{ border-color:var(--navy); }
.menu-btn .ic-close{ display:none; }
.menu-btn[aria-expanded="true"] .ic-open{ display:none; }
.menu-btn[aria-expanded="true"] .ic-close{ display:block; }

.mobile-nav{ border-top:1px solid var(--line); background:#fff; box-shadow:0 18px 30px rgba(14,35,81,.12); }
.mobile-nav[hidden]{ display:none; }
.mobile-nav .wrap{ padding-top:10px; padding-bottom:18px; }
.mobile-nav ul a{ display:flex; align-items:center; justify-content:space-between; min-height:50px; padding:0 4px; font-weight:600; font-size:1.02rem; color:var(--ink); border-bottom:1px solid var(--line); }
.mobile-nav ul a[aria-current="page"]{ color:var(--orange-ink); }
.mobile-nav ul a .ic{ color:var(--navy-300); }
.mobile-nav .btn-row{ margin-top:16px; }
.mobile-nav .btn{ flex:1 1 180px; }

/* ---------- Home hero ---------- */
.hero{ position:relative; overflow:hidden; color:#fff; background:
  radial-gradient(1000px 520px at 80% -10%, rgba(36,73,154,.45), transparent 65%),
  linear-gradient(160deg, var(--navy-900) 0%, var(--navy) 70%); }
.hero-chevrons{ position:absolute; right:-80px; bottom:-50px; width:560px; height:auto; opacity:.06; pointer-events:none; }
.hero-in{ position:relative; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:56px; align-items:center; padding-top:64px; padding-bottom:132px; }
.hero h1{ color:#fff; margin-top:4px; max-width:720px; }
.hero h1 .accent{ color:var(--orange); }
.hero .lead{ color:rgba(255,255,255,.86); margin-top:22px; max-width:600px; }
.hero .btn-row{ margin-top:32px; }
.hero h1{ font-size:clamp(2rem,1.25rem + 2.3vw,2.85rem); }
/* truck photo */
.hero-photo{ position:relative; margin:0; }
.hero-photo img{ display:block; width:100%; height:auto; aspect-ratio:1400/1041; object-fit:cover; border-radius:16px; box-shadow:0 30px 60px rgba(3,10,28,.45); }
.hero-photo::before{ content:""; position:absolute; left:-14px; bottom:-14px; width:42%; height:46%; border-left:4px solid var(--orange); border-bottom:4px solid var(--orange); border-bottom-left-radius:20px; pointer-events:none; }

/* service performance (below the hero) */
.kpi-band{ position:relative; z-index:2; }
.perf-card{ position:relative; background:#fff; color:var(--text); border-radius:14px; box-shadow:var(--sh-lg); }
.perf-wide{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:28px; align-items:center; margin-top:-72px; padding:24px 28px; border:1px solid var(--line); }
.perf-wide::before{ content:""; position:absolute; left:28px; width:56px; top:0; height:4px; border-radius:0 0 4px 4px; background:var(--orange); }
.perf-head h2{ font-size:1.08rem; }
.perf-head p{ font-size:.82rem; color:var(--muted); margin-top:6px; line-height:1.45; }
.perf-list{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.perf-list li{ display:flex; flex-direction:column; padding:2px 20px; border-left:1px solid var(--line); min-width:0; }
.perf-val{ font-family:var(--font-head); font-weight:800; font-size:1.75rem; color:var(--navy); line-height:1; letter-spacing:-.02em; }
.perf-label{ margin-top:8px; font-weight:700; color:var(--ink); font-size:.9rem; line-height:1.3; }
.perf-sub{ display:block; font-size:.76rem; color:var(--muted); line-height:1.4; margin-top:3px; }
.bar{ height:5px; border-radius:99px; background:var(--navy-100); margin-top:auto; overflow:hidden; }
.perf-list .bar{ margin-top:12px; }
.bar span{ display:block; height:100%; width:var(--v); border-radius:inherit; background:var(--navy-700); transform-origin:left; }
.bars-armed .bar span{ transform:scaleX(0); }
.bars-live .bar span{ transform:scaleX(1); transition:transform 1.2s cubic-bezier(.3,.7,.2,1); }
.bars-live li:nth-child(2) .bar span{ transition-delay:.12s; }
.bars-live li:nth-child(3) .bar span{ transition-delay:.24s; }
.bars-live li:nth-child(4) .bar span{ transition-delay:.36s; }

/* company credentials row */
.trust-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:8px; border-bottom:1px solid var(--line); }
.trust-item{ display:flex; align-items:center; gap:14px; padding:22px 22px 22px 0; min-width:0; }
.trust-item + .trust-item{ padding-left:22px; border-left:1px solid var(--line); }
.trust-ico{ display:grid; place-items:center; color:var(--orange-ink); font-size:1.6rem; flex:0 0 auto; }
.trust-text{ min-width:0; }
.trust-text b{ display:block; font-family:var(--font-head); font-size:1rem; color:var(--ink); line-height:1.25; }
.trust-text small{ display:block; font-size:.8rem; color:var(--muted); line-height:1.35; margin-top:3px; overflow-wrap:anywhere; }

/* ---------- Generic cards ---------- */
.card{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px; transition:border-color .2s, box-shadow .2s; }
.svc-card:hover{ border-color:var(--navy-200); box-shadow:var(--sh-md); }
.card-title{ font-size:1.15rem; margin-bottom:16px; }
/* clean list item (icon, heading, text) separated by a top rule instead of a box */
.feature{ padding-top:22px; border-top:2px solid var(--navy-100); }
.feature-ico{ display:block; color:var(--orange-ink); font-size:1.6rem; line-height:1; }
.feature h3{ margin-top:14px; font-size:1.1rem; }
.feature p{ margin-top:8px; color:var(--muted); font-size:.96rem; }
.feature .chips{ margin-top:16px; }
.icon-badge{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:var(--navy-050); color:var(--navy); font-size:1.42rem; flex:0 0 auto; }
.icon-badge.orange{ background:var(--orange-050); color:var(--orange-ink); }
.card h3{ margin-top:16px; }
.card p:not(.kicker){ margin-top:8px; color:var(--muted); font-size:.96rem; }
.grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }

/* ---------- About snapshot (home) ---------- */
.split{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:56px; align-items:start; }
.split-text h2 + p{ margin-top:18px; }
.split-text p + p{ margin-top:14px; }
.split-text .more{ margin-top:24px; }
.strengths{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.strengths{ column-gap:32px; row-gap:0; }
.strength{ display:flex; gap:14px; align-items:flex-start; padding:18px 0; border-top:1px solid var(--line); }
.strength .icon-badge{ width:40px; height:40px; font-size:1.2rem; background:transparent; color:var(--orange-ink); border:1px solid var(--line-2); border-radius:10px; }
.strength-text b{ display:block; font-family:var(--font-head); font-size:1rem; line-height:1.3; }
.strength-text small{ display:block; font-size:.88rem; color:var(--muted); margin-top:4px; line-height:1.5; }

/* ---------- Services (home cards) ---------- */
.svc-card{ display:flex; flex-direction:column; }
.svc-top{ display:flex; align-items:center; gap:12px; }
.svc-card .tag{ font-size:.8rem; font-weight:700; color:var(--navy-700); background:var(--navy-050); padding:4px 9px; border-radius:6px; }
.svc-card h3{ margin-top:10px; font-size:1.22rem; }
.svc-card .ideal{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:.88rem; color:var(--muted); }
.svc-card .ideal b{ color:var(--ink); }
.svc-card .text-link{ margin-top:auto; padding-top:16px; }

/* ---------- Industries ---------- */
.ind-tile{ display:flex; flex-direction:column; gap:12px; padding:22px; border:1px solid var(--line); border-radius:12px; background:#fff; transition:box-shadow .2s, border-color .2s; }
.ind-tile:hover{ border-color:var(--navy-300); box-shadow:var(--sh-md); }
.ind-tile b{ font-family:var(--font-head); font-size:1.04rem; color:var(--ink); }
.ind-tile small{ font-size:.87rem; color:var(--muted); line-height:1.5; }

/* ---------- How we work ---------- */
.steps{ position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; counter-reset:step; }
.steps::before{ content:""; position:absolute; left:10%; right:10%; top:31px; height:2px; background:repeating-linear-gradient(90deg,var(--navy-200) 0 8px,transparent 8px 14px); }
.step{ position:relative; text-align:center; padding:0 6px; }
.step-ico{ position:relative; width:64px; height:64px; margin:0 auto; border-radius:50%; display:grid; place-items:center; background:#fff; border:2px solid var(--navy-100); color:var(--navy); font-size:1.55rem; box-shadow:var(--sh-sm); }
.step-ico::after{ counter-increment:step; content:counter(step); position:absolute; top:-6px; right:-6px; width:24px; height:24px; border-radius:50%; background:var(--orange-600); color:#fff; font-family:var(--font-head); font-weight:800; font-size:.78rem; display:grid; place-items:center; border:2px solid #fff; }
.step h3{ margin-top:16px; font-size:1.02rem; }
.step p{ margin-top:6px; font-size:.88rem; color:var(--muted); line-height:1.55; }

/* ---------- Network map ---------- */
.net-layout{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-rows:auto 1fr; grid-template-areas:"text map" "extra map"; column-gap:52px; row-gap:0; align-items:start; }
.net-layout.wide{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-areas:"map text" "map extra"; }
.net-text{ grid-area:text; }
.net-map{ grid-area:map; }
.net-extra{ grid-area:extra; }
.map-panel{ position:relative; background:linear-gradient(180deg,#F7F9FD,#EEF3FA); border:1px solid var(--line); border-radius:20px; padding:18px; }
.map-svg{ display:block; width:100%; height:auto; max-height:760px; margin:0 auto; }
.map-svg .land{ fill:#DFE7F3; stroke:#0E2351; stroke-width:1.15; stroke-linejoin:round; }
.map-svg .isles circle{ fill:#0E2351; }
.map-credit{ margin-top:8px; text-align:right; font-size:.72rem; color:var(--muted); }
.route{ fill:none; stroke:#EB6F22; stroke-width:3.2; stroke-linecap:round; }
.route-glow{ fill:none; stroke:rgba(235,111,34,.22); stroke-width:9; stroke-linecap:round; }
.mover{ fill:#fff; stroke:#C4500C; stroke-width:2.4; }
.pin-pulse{ fill:none; stroke:#EB6F22; stroke-width:2; opacity:0; transform-box:fill-box; transform-origin:center; }
.map-armed .route, .map-armed .route-glow{ stroke-dasharray:var(--len); stroke-dashoffset:var(--len); }
.map-armed .node{ opacity:0; }
.map-armed .movers{ opacity:0; }
.map-live .route, .map-live .route-glow{ animation:draw 1.5s cubic-bezier(.55,.1,.3,1) forwards; animation-delay:calc(.2s + var(--i) * .28s); }
.map-live .node{ animation:nodeIn .5s ease forwards; animation-delay:calc(var(--i) * .26s); }
.map-live .movers{ animation:fadeIn .6s ease 2.4s forwards; }
.map-live .node.hq .pin-pulse, .map-static .node.hq .pin-pulse{ animation:pulse 2.4s ease-out 1s infinite; }
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes nodeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes fadeIn{ to{ opacity:1; } }
@keyframes pulse{ 0%{ opacity:.7; transform:scale(1); } 100%{ opacity:0; transform:scale(2.1); } }


.city-key{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin-top:26px; }
.city-key li{ display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.key-num{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; background:var(--navy); color:#fff; font-family:var(--font-head); font-weight:800; font-size:.85rem; }
.key-num.hq{ background:var(--orange-600); }
.key-text b{ display:block; font-size:.95rem; line-height:1.25; }
.key-text span{ display:block; font-size:.8rem; color:var(--muted); line-height:1.3; }
.pan-india{ display:flex; gap:14px; align-items:flex-start; margin-top:18px; padding:16px 18px; border-radius:14px; background:var(--orange-050); border:1px solid var(--orange-100); }
.pan-india .ic{ font-size:1.5rem; color:var(--orange-ink); margin-top:2px; }
.pan-india b{ display:block; color:var(--ink); }
.pan-india span{ font-size:.92rem; color:var(--text); }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; overflow:hidden; background:linear-gradient(120deg,var(--navy-900),var(--navy) 60%,var(--navy-800)); color:#fff; border-radius:22px; padding:46px 48px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; }
.cta-band::after{ content:""; position:absolute; right:-30px; top:-20px; bottom:-20px; width:320px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 24'%3E%3Cpath fill='%23EB6F22' d='M0 0h8l10 12-10 12H0l10-12zM13 0h8l10 12-10 12h-8l10-12zM26 0h8l10 12-10 12h-8l10-12z'/%3E%3C/svg%3E") right center/contain no-repeat; opacity:.1; pointer-events:none; }
.cta-band h2{ color:#fff; font-size:clamp(1.45rem,1.05rem + 1.3vw,2rem); }
.cta-band p{ margin-top:10px; color:rgba(255,255,255,.84); max-width:640px; }
.cta-band .btn-row{ position:relative; z-index:1; }

/* ---------- Inner page hero ---------- */
.page-hero{ position:relative; overflow:hidden; color:#fff; background:
  radial-gradient(700px 360px at 90% -20%, rgba(36,73,154,.6), transparent 60%),
  linear-gradient(135deg,var(--navy-900),var(--navy)); padding:54px 0 58px; }
.page-hero .hero-chevrons{ width:380px; right:-40px; bottom:-60px; }
.page-hero h1{ color:#fff; font-size:clamp(1.9rem,1.2rem + 2.4vw,2.85rem); max-width:860px; }
.page-hero .lead{ color:rgba(255,255,255,.84); margin-top:14px; max-width:720px; }
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:.86rem; color:rgba(255,255,255,.75); margin-bottom:18px; }
.crumbs a{ color:rgba(255,255,255,.88); }
.crumbs a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.crumbs .ic{ font-size:.9em; opacity:.7; }

/* ---------- About page ---------- */
.quote-band{ position:relative; background:var(--navy); color:#fff; border-radius:20px; padding:40px 44px 40px 96px; }
.quote-band .ic{ position:absolute; left:36px; top:38px; font-size:2.2rem; color:var(--orange); }
.quote-band blockquote{ margin:0; font-family:var(--font-head); font-weight:700; font-size:clamp(1.25rem,1rem + 1vw,1.7rem); line-height:1.35; color:#fff; }
.quote-band p{ margin-top:14px; color:rgba(255,255,255,.84); font-size:1rem; max-width:820px; }
.about-stats{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.about-stats li{ padding:24px 22px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.about-stats b{ display:block; font-family:var(--font-head); font-weight:800; font-size:2.1rem; line-height:1.05; color:var(--navy); letter-spacing:-.02em; }
.about-stats li:first-child b{ color:var(--orange-ink); }
.about-stats span{ display:block; margin-top:8px; font-size:.9rem; color:var(--muted); }
.chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.chips li{ padding:6px 12px; border-radius:var(--pill); background:#fff; border:1px solid var(--line-2); color:var(--navy); font-size:.88rem; font-weight:600; }

.quote-band cite{ display:block; margin-top:14px; font-style:normal; font-size:.9rem; color:rgba(255,255,255,.78); }
.values .card{ padding:24px; }
.person{ display:flex; gap:20px; align-items:center; }
.person > div:last-child{ min-width:0; }
.avatar{ width:84px; height:84px; border-radius:50%; flex:0 0 auto; display:grid; place-items:center; background:linear-gradient(135deg,var(--navy),var(--navy-700)); color:#fff; font-family:var(--font-head); font-weight:800; font-size:1.7rem; letter-spacing:.02em; box-shadow:0 0 0 4px #fff, 0 0 0 6px var(--orange-100); }
.person b{ display:block; font-family:var(--font-head); font-size:1.2rem; }
.person .role{ display:block; color:var(--orange-ink); font-weight:700; font-size:.92rem; margin-top:2px; }
.person p{ margin-top:6px; font-size:.92rem; color:var(--muted); }
.group-list{ display:grid; gap:12px; margin-top:16px; }
.group-item{ display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.group-item .icon-badge{ width:42px; height:42px; font-size:1.2rem; }
.group-text{ min-width:0; }
.group-item b{ display:block; font-size:1rem; }
.group-item a{ font-size:.88rem; color:var(--navy-700); font-weight:600; overflow-wrap:anywhere; }
.group-item a .ic{ display:inline-block; vertical-align:-2px; margin-left:4px; }
.group-item a:hover{ color:var(--orange-ink); text-decoration:underline; text-underline-offset:3px; }
.group-item .muted{ display:block; font-size:.86rem; }

/* ---------- Tables ---------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:#fff; }
.data-table{ width:100%; border-collapse:collapse; font-size:.95rem; }
.data-table th, .data-table td{ padding:15px 18px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.data-table tr:last-child th, .data-table tr:last-child td{ border-bottom:0; }
.data-table thead th{ background:var(--navy-050); color:var(--navy); font-family:var(--font-head); font-size:.9rem; font-weight:700; white-space:nowrap; }
.data-table tbody th{ color:var(--ink); font-weight:700; width:34%; }
.data-table td{ color:var(--text); }
.data-table .mono{ font-variant-numeric:tabular-nums; letter-spacing:.02em; color:var(--ink); font-weight:600; overflow-wrap:anywhere; }
.vt-name{ display:flex; align-items:center; gap:12px; }
.vt-name .icon-badge{ width:40px; height:40px; font-size:1.2rem; }
.cap{ display:inline-block; white-space:nowrap; font-weight:700; color:var(--navy); background:var(--navy-050); padding:3px 10px; border-radius:6px; font-size:.88rem; }

/* ---------- Services page ---------- */
.svc-block{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:44px; align-items:start; padding:40px 0; border-top:1px solid var(--line); }
.svc-block:first-of-type{ border-top:0; padding-top:0; }
.svc-block .svc-title{ display:flex; align-items:center; gap:16px; }
.svc-block .svc-title .icon-badge{ width:56px; height:56px; font-size:1.65rem; }
.svc-block h2{ font-size:clamp(1.4rem,1.1rem + 1vw,1.85rem); }
.svc-block .abbr{ display:block; font-family:var(--font); font-size:.9rem; font-weight:700; color:var(--orange-ink); margin-bottom:4px; }
.svc-block p{ margin-top:16px; }
.svc-aside{ background:var(--bg-soft); border:1px solid var(--line); border-radius:16px; padding:24px; }
.svc-aside h3{ font-size:1rem; color:var(--ink); }
.svc-aside h3 + ul{ margin-top:12px; }
.svc-aside ul + h3{ margin-top:20px; }
.checks li{ position:relative; padding-left:28px; margin-top:9px; font-size:.95rem; }
.checks li::before{ content:""; position:absolute; left:0; top:4px; width:18px; height:18px; border-radius:50%; background:var(--orange-050) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B54708' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat; }
.on-dark .checks li::before{ background-color:rgba(255,255,255,.1); }

/* ---------- Industries page ---------- */
.ind-card{ display:flex; flex-direction:column; }
.ind-card .ind-head{ display:flex; align-items:center; gap:14px; }
.ind-card h3{ margin:0; font-size:1.15rem; }
.ind-card dl{ margin:16px 0 0; }
.ind-card dt{ font-size:.9rem; font-weight:700; color:var(--ink); }
.ind-card dd{ margin:4px 0 0; font-size:.94rem; color:var(--text); }
.ind-card dd + dt{ margin-top:12px; }

/* ---------- Fleet / tracking ---------- */
.stat-card{ padding-top:22px; border-top:2px solid var(--navy-100); }
.stat-card .num-ico{ color:var(--orange-ink); font-size:2.6rem; height:2.6rem; display:flex; align-items:center; }
.stat-card .num{ font-family:var(--font-head); font-weight:800; font-size:2.6rem; line-height:1; color:var(--navy); letter-spacing:-.02em; }
.stat-card .num small{ font-size:.5em; color:var(--orange-ink); margin-left:2px; }
.stat-card b{ display:block; margin-top:12px; font-family:var(--font-head); font-size:1.05rem; }
.stat-card p{ margin-top:6px; font-size:.92rem; color:var(--muted); }
.note{ display:flex; gap:10px; align-items:flex-start; margin-top:16px; font-size:.88rem; color:var(--muted); }
.note .ic{ color:var(--navy-600); margin-top:3px; }

/* ---------- Contact page ---------- */
.contact-grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:32px; align-items:start; }
.contact-grid > *{ min-width:0; }
.form-card{ background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--sh-md); padding:32px; }
.form-card h2{ font-size:1.5rem; }
.form-sub{ margin-top:8px; color:var(--muted); font-size:.95rem; }
.form-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; margin-top:24px; }
.form-grid .full{ grid-column:1/-1; }
.fieldset-title{ grid-column:1/-1; margin-top:6px; padding-top:16px; border-top:1px solid var(--line); font-size:1rem; font-weight:700; color:var(--navy-700); }
.fieldset-title:first-child{ margin-top:0; padding-top:0; border-top:0; }
.field label{ display:block; font-size:.9rem; font-weight:600; color:var(--ink); margin-bottom:7px; }
.field-optional{ font-weight:500; color:var(--muted); font-size:.8rem; }
.field input, .field select, .field textarea{ width:100%; min-height:48px; padding:11px 14px; border:1px solid var(--line-2); border-radius:10px; background:#fff; color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.4; transition:border-color .16s, box-shadow .16s; }
.field textarea{ min-height:110px; resize:vertical; }
.field select{ appearance:none; -webkit-appearance:none; padding-right:40px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2351' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat; }
.field input::placeholder, .field textarea::placeholder{ color:#8A96A8; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--navy-600); box-shadow:0 0 0 3px rgba(36,73,154,.16); }
.field-error{ display:none; margin-top:6px; font-size:.84rem; font-weight:600; color:var(--err); }
.field.has-error input{ border-color:var(--err); }
.field.has-error .field-error{ display:block; }
.contact-hint{ grid-column:1/-1; font-size:.86rem; color:var(--muted); margin-top:-6px; }
.form-actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:24px; }
.form-actions .btn{ min-width:200px; }
.form-status{ display:none; margin-top:16px; padding:12px 14px; border-radius:10px; font-size:.94rem; font-weight:600; }
.form-status.show{ display:block; }
.form-status.ok{ background:#E8F5EE; color:#0B5A2E; border:1px solid #BFE3CD; }
.form-status.err{ background:#FDECEA; color:#8C1D18; border:1px solid #F5C2BD; }
.hp{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

.info-stack{ display:grid; gap:16px; }
.info-card{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; }
.info-card h3{ display:flex; align-items:center; gap:10px; font-size:1.02rem; }
.info-card h3 .ic{ color:var(--orange-ink); font-size:1.2em; }
.info-card .lines{ margin-top:12px; display:grid; gap:8px; }
.info-card .lines a{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:8px 12px; border-radius:10px; background:var(--bg-soft); font-weight:700; color:var(--navy); }
.info-card .lines a:hover{ background:var(--navy-050); }
.info-card .lines a .ic{ color:var(--navy-300); }
.info-card address{ margin-top:10px; font-style:normal; color:var(--text); font-size:.95rem; line-height:1.6; }
.info-card .ids{ margin-top:10px; display:grid; gap:6px; font-size:.86rem; color:var(--muted); }
.info-card .ids b{ font-weight:600; letter-spacing:.02em; color:var(--ink); overflow-wrap:anywhere; }
.info-card.navy{ background:var(--navy); border-color:var(--navy); color:rgba(255,255,255,.86); }
.info-card.navy h3{ color:#fff; }
.info-card.navy h3 .ic{ color:var(--orange); }
.info-card.navy p{ margin-top:8px; font-size:.93rem; }
.map-embed{ position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--line); background:var(--navy-050); min-height:320px; }
.map-embed iframe{ display:block; width:100%; height:360px; border:0; }
.office-row{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; align-items:stretch; }
.office-row .info-card{ display:flex; flex-direction:column; }
.office-row .btn-row{ margin-top:auto; padding-top:18px; }

/* FAQ */
.faq{ display:grid; gap:12px; max-width:880px; }
.faq details{ border:1px solid var(--line); border-radius:14px; background:#fff; }
.faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; font-weight:700; color:var(--ink); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; flex:0 0 auto; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--navy-050); color:var(--navy); font-size:1.2rem; font-weight:600; transition:transform .2s; }
.faq details[open] summary::after{ content:"\2212"; }
.faq .answer{ padding:0 20px 18px; color:var(--text); font-size:.97rem; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--navy-950); color:rgba(255,255,255,.78); margin-top:0; }
.footer-top{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1.15fr); gap:40px; padding-top:60px; padding-bottom:44px; }
.footer-brand img{ width:220px; height:auto; }
.footer-brand p{ margin-top:18px; font-size:.93rem; line-height:1.65; max-width:340px; }
.footer-group{ margin-top:16px; font-size:.86rem; color:rgba(255,255,255,.7); }
.footer-group a{ color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.35); text-underline-offset:3px; }
.footer-group a:hover{ text-decoration-color:var(--orange); }
.site-footer h3{ color:#fff; font-size:1rem; font-weight:700; margin-bottom:16px; }
.footer-links li + li{ margin-top:8px; }
.footer-links a{ font-size:.94rem; display:inline-block; padding:3px 0; }
.footer-links a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.footer-contact li{ display:flex; gap:11px; align-items:flex-start; font-size:.93rem; }
.footer-contact li + li{ margin-top:12px; }
.footer-contact .ic{ color:var(--orange); font-size:1.12rem; margin-top:3px; }
.footer-contact a:hover{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.footer-contact address{ font-style:normal; line-height:1.6; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom .wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; padding-top:20px; padding-bottom:22px; font-size:.82rem; color:rgba(255,255,255,.66); }
.footer-bottom .ids span{ white-space:nowrap; }
.footer-bottom .ids{ display:flex; flex-wrap:wrap; gap:4px 24px; }

/* ---------- Floating buttons ---------- */
.float-wa{ position:fixed; right:calc(18px + env(safe-area-inset-right)); bottom:calc(18px + env(safe-area-inset-bottom)); z-index:90; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--wa-bright); color:#fff; box-shadow:0 10px 24px rgba(15,122,61,.35); transition:transform .18s; }
.float-wa:hover{ transform:scale(1.06); }
.float-wa svg{ width:28px; height:28px; }
.to-top{ position:fixed; right:calc(24px + env(safe-area-inset-right)); bottom:calc(84px + env(safe-area-inset-bottom)); z-index:90; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; border:1px solid var(--line-2); background:#fff; color:var(--navy); box-shadow:var(--sh-md); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s; font-size:1.2rem; }
.to-top.show{ opacity:1; visibility:visible; transform:none; }

/* ---------- Reveal on scroll (only when JavaScript runs) ---------- */

/* ---------- 404 ---------- */
.notfound{ text-align:center; padding:96px 0; }
.notfound .code{ font-family:var(--font-head); font-weight:800; font-size:5rem; line-height:1; color:var(--navy-100); }
.notfound h1{ margin-top:12px; font-size:2rem; }
.notfound p{ margin-top:12px; color:var(--muted); }
.notfound .btn-row{ justify-content:center; margin-top:26px; }

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width:1240px){
  .nav-links a{ padding:10px 10px; }
  .nav-links a::after{ left:10px; right:10px; }
  .header-in{ gap:20px; }
}
@media (max-width:1120px){
  .nav{ display:none; }
  .menu-btn{ display:inline-flex; }
  .header-cta{ margin-left:auto; }
  .hero-in{ gap:40px; }
  .perf-wide{ grid-template-columns:1fr; gap:16px; }
  .footer-top{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr); }
  .footer-top .footer-col-services{ display:none; }
}
@media (max-width:980px){
  .section{ padding:64px 0; }
  .hero-in{ grid-template-columns:1fr; gap:40px; padding-top:56px; padding-bottom:120px; }
  .hero-photo{ max-width:640px; }
  .perf-list{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:20px; }
  .perf-list li:nth-child(odd){ border-left:0; padding-left:0; }
  .trust-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trust-item:nth-child(3){ border-left:0; padding-left:0; }
  .trust-item:nth-child(n+3){ border-top:1px solid var(--line); }
  .split{ grid-template-columns:1fr; gap:36px; }
  .net-layout, .net-layout.wide{ grid-template-columns:1fr; grid-template-rows:auto; grid-template-areas:"text" "map" "extra"; row-gap:26px; }
  .net-extra .city-key{ margin-top:0; }
  .grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid-3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steps{ grid-template-columns:1fr; gap:0; }
  .steps::before{ left:31px; right:auto; top:32px; bottom:32px; width:2px; height:auto; background:repeating-linear-gradient(180deg,var(--navy-200) 0 8px,transparent 8px 14px); }
  .step{ display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:18px; text-align:left; padding:0 0 22px; }
  .step:last-child{ padding-bottom:0; }
  .step-ico{ grid-row:1/3; margin:0; }
  .step h3{ margin-top:8px; }
  .svc-block{ grid-template-columns:1fr; gap:22px; }
  .contact-grid{ grid-template-columns:1fr; }
  .office-row{ grid-template-columns:1fr; }
  .cta-band{ grid-template-columns:1fr; padding:38px 32px; }
  .sec-head-row{ flex-direction:column; align-items:flex-start; }
  .map-panel{ max-width:720px; margin:0 auto; width:100%; }
}
@media (max-width:860px){
  .topbar-right{ display:none; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:34px; }
  .footer-brand{ grid-column:1/-1; }
}
@media (max-width:760px){
  :root{ --header-h:74px; }
  .brand img{ height:58px; }
        .quote-band{ padding:34px 26px 30px; }
  .quote-band .ic{ position:static; display:block; margin-bottom:12px; }
}
@media (max-width:640px){
  .wrap{ padding:0 16px; }
  .section{ padding:52px 0; }
  .section-sm{ padding:42px 0; }
  .sec-head{ margin-bottom:28px; }
  .topbar{ display:none; }
  .header-cta .btn{ display:none; }
  .hero .btn-row .btn{ flex:1 1 100%; }
  .hero-in{ padding-top:40px; padding-bottom:100px; }
  .hero-photo::before{ left:-8px; bottom:-8px; }
  .perf-wide{ margin-top:-60px; padding:20px 18px; }
  .perf-val{ font-size:1.5rem; }

  .trust-grid{ grid-template-columns:1fr; }
  .trust-item + .trust-item{ border-left:0; padding-left:0; border-top:1px solid var(--line); }
  .trust-item{ padding:16px 0; }
  .grid-2, .grid-3, .strengths{ grid-template-columns:minmax(0,1fr); }
  .avatar{ width:64px; height:64px; font-size:1.3rem; }
  .person{ gap:16px; }
  .person b{ font-size:1.08rem; }
  .strength{ padding:14px 0; gap:12px; }
  .card{ padding:22px 20px; }
  .grid-3 > .feature + .feature, .grid-2 > .feature + .feature{ margin-top:6px; }
  .footer-links{ display:grid; grid-template-columns:1fr 1fr; column-gap:16px; }
  .footer-links li + li{ margin-top:0; }
  .footer-bottom .ids{ display:flex; flex-direction:column; gap:4px; }
  .grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .ind-tile{ padding:16px; }
  .ind-tile b{ font-size:.98rem; }
  .ind-tile small{ display:none; }
  .city-key{ grid-template-columns:1fr 1fr; gap:8px; }
  .city-key li{ padding:8px 10px; gap:10px; }
  .key-text span{ display:none; }
  .key-num{ width:26px; height:26px; font-size:.78rem; }
  .map-panel{ padding:10px; border-radius:16px; }
  .map-credit{ text-align:center; font-size:.7rem; }
  .net-extra .btn-row .btn{ flex:1 1 auto; }
  .cta-band{ padding:32px 22px; border-radius:18px; }
  .cta-band .btn-row .btn{ flex:1 1 100%; }
  .form-card{ padding:22px 18px; }
  .form-grid{ grid-template-columns:1fr; }
  .form-actions .btn{ width:100%; }
  .data-table th, .data-table td{ padding:12px 14px; }
  .data-table.stack thead{ display:none; }
  .data-table.stack tr{ display:block; padding:14px 16px; border-bottom:1px solid var(--line); }
  .data-table.stack tr:last-child{ border-bottom:0; }
  .data-table.stack td{ display:block; padding:4px 0; border:0; }
  .data-table.stack td[data-label]::before{ content:attr(data-label); display:block; font-size:.82rem; font-weight:700; color:var(--muted); margin-top:6px; }
  .data-table.kv tbody th, .data-table.kv tbody td{ display:block; width:auto; }
  .data-table.kv tbody th{ padding-bottom:2px; border-bottom:0; font-size:.82rem; color:var(--muted); font-weight:600; }
  .data-table.kv tbody td{ padding-top:0; }
  .map-embed iframe{ height:300px; }
  .footer-top{ grid-template-columns:1fr; gap:30px; padding-top:48px; }
  .float-wa{ width:52px; height:52px; }
  .page-hero{ padding:40px 0 44px; }
  .svc-aside{ padding:20px; }
  .stat-card .num{ font-size:2.3rem; }
}
@media (max-width:480px){
  .perf-sub{ display:none; }
}
@media (max-width:460px){
  .grid-4{ grid-template-columns:minmax(0,1fr); gap:8px; }
  .ind-tile{ flex-direction:row; align-items:center; gap:12px; padding:10px 14px; }
  .ind-tile .icon-badge{ width:38px; height:38px; font-size:1.1rem; }
}
@media (max-width:400px){
  .brand img{ height:54px; }
}
