
/* ===================================================================
   MEZUX TOUCH PVT LTD — Shared Stylesheet
   Design language: "The Bore Line" — the literal cross-section path
   of a horizontal directional drill, used as the site's signature
   motif. Drilling-amber where the bore is still underground, fibre-
   teal once it breaks through and the line goes live.
   =================================================================== */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

/* ---------- Design tokens ---------- */
:root{
  /* core palette */
  --ink:        #0A1B2C;   /* primary deep navy */
  --ink-2:      #102B45;   /* secondary navy panel */
  --ink-3:      #16395A;   /* lighter navy for borders/hover on dark */
  --paper:      #F7F3EA;   /* warm light section bg */
  --paper-2:    #FFFFFF;
  --text-dark:  #142233;
  --text-body:  #3C4C5C;
  --text-light: #EAF1F6;
  --muted-light:#A9BACB;
  --muted-dark: #6E7E8E;

  --red:        #DE2A1E;   /* signal red — brand wordmark / CTA */
  --red-dark:   #B81E15;
  --amber:      #F2A93C;   /* bore amber — drilling / in-progress */
  --teal:       #22D6BE;   /* fibre teal — lit / complete */
  --teal-dark:  #129687;

  --line-dark:  rgba(255,255,255,.14);
  --line-light: rgba(20,34,51,.12);

  --shadow-1: 0 20px 50px -20px rgba(10,27,44,.45);
  --shadow-2: 0 10px 30px -12px rgba(10,27,44,.35);

  --radius-s: 6px;
  --radius-m: 14px;
  --radius-l: 28px;

  --container: 1240px;

  --ff-display: 'Sora', sans-serif;
  --ff-body: 'Inter', sans-serif;
  --ff-mono: 'IBM Plex Mono', monospace;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--text-body);
  background:var(--paper);
  -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; }
h1,h2,h3,h4,p,figure{ margin:0; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select{ font-family:inherit; font-size:1rem; }

:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:3px;
}

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

/* ---------- Typography ---------- */
.h-display{
  font-family:var(--ff-display);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.01em;
  color:var(--text-light);
}
h1.h-display{ font-size:clamp(2.4rem,5.4vw,4.6rem); }
h2.h-section{
  font-family:var(--ff-display);
  font-weight:700;
  font-size:clamp(1.9rem,3.4vw,2.85rem);
  line-height:1.1;
  letter-spacing:-.01em;
  color:var(--text-dark);
}
h3.h-card{
  font-family:var(--ff-display);
  font-weight:700;
  font-size:1.3rem;
  line-height:1.25;
  color:var(--text-dark);
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55em;
  font-family:var(--ff-mono);
  font-weight:600;
  font-size:.74rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amber);
}
.eyebrow::before{
  content:"";
  width:18px; height:2px;
  background:var(--amber);
  display:inline-block;
}
.eyebrow.is-dark{ color:var(--red-dark); }
.eyebrow.is-dark::before{ background:var(--red); }

.lede{
  font-size:1.1rem;
  line-height:1.7;
  color:var(--muted-light);
  max-width:46ch;
}
.lede.on-light{ color:var(--text-body); }

.body-text{ font-size:1.02rem; line-height:1.75; color:var(--text-body); }
.mono-stat{
  font-family:var(--ff-mono);
  font-weight:600;
  letter-spacing:-.02em;
}

/* ---------- Layout helpers ---------- */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 28px;
}
section{ position:relative; }
.section-pad{ padding:96px 0; }
.section-pad-sm{ padding:64px 0; }
@media (max-width:760px){
  .section-pad{ padding:64px 0; }
  .section-pad-sm{ padding:48px 0; }
}
.bg-ink{ background:var(--ink); }
.bg-ink-2{ background:var(--ink-2); }
.bg-paper{ background:var(--paper); }
.bg-paper-2{ background:var(--paper-2); }

.grid{ display:grid; gap:28px; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:980px){
  .grid-3,.grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px){
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; }
}

.flex-between{ display:flex; align-items:center; justify-content:space-between; }
.center-head{ text-align:center; margin:0 auto 56px; max-width:680px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--ff-body);
  font-weight:600;
  font-size:.95rem;
  padding:14px 26px;
  border-radius:999px;
  border:1px solid transparent;
  transition:transform .25s var(--ease), background .25s, border-color .25s, color .25s;
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--red); color:#fff; box-shadow:0 14px 30px -10px rgba(222,42,30,.55); }
.btn-primary:hover{ background:var(--red-dark); }
.btn-ghost-dark{ border-color:var(--line-dark); color:var(--text-light); }
.btn-ghost-dark:hover{ border-color:var(--red); color:var(--red); }
.btn-ghost-light{ border-color:var(--line-light); color:var(--text-dark); }
.btn-ghost-light:hover{ border-color:var(--red); color:var(--red); }
.btn-sm{ padding:10px 20px; font-size:.85rem; }
.btn svg{ width:16px; height:16px; }

/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--ink);
  color:var(--muted-light);
  font-size:.8rem;
  border-bottom:1px solid var(--line-dark);
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  height:38px;
}
.topbar a{ color:var(--muted-light); transition:color .2s; }
.topbar a:hover{ color:var(--red); }
.topbar-left{ display:flex; gap:22px; }
.topbar-left span{ display:inline-flex; align-items:center; gap:7px; }
.topbar-certs{ display:flex; gap:14px; font-family:var(--ff-mono); letter-spacing:.04em; font-size:.72rem; }
.topbar-certs b{ color:var(--amber); font-weight:600; }
@media (max-width:760px){ .topbar{ display:none; } }

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky; top:0; z-index:200;
  background:#0B1E33;
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.site-header::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg, var(--red) 0%, var(--red) 38%, var(--amber) 62%, var(--teal) 100%);
  opacity:.9;
}
.site-header.is-scrolled{
  background:rgba(8,20,33,.92);
  backdrop-filter:blur(14px);
  border-bottom-color:var(--line-dark);
  box-shadow:0 10px 30px -18px rgba(0,0,0,.7);
}
.site-header.is-scrolled .nav{ height:74px; }
.nav{
  display:flex; align-items:center; justify-content:space-between;
  height:90px; transition:height .35s var(--ease);
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand-mark{ width:42px; height:42px; flex:none; }
.brand-word{ font-family:var(--ff-display); font-weight:800; font-size:1.5rem; letter-spacing:-.01em; color:#fff; line-height:1; }
.brand-word span{ color:var(--red); }
.brand-tag{ font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.14em; color:var(--muted-light); text-transform:uppercase; margin-top:2px; }

/* Landing (non-scrolled) header readability over bright hero imagery */
.site-header:not(.is-scrolled) .brand-word{ text-shadow:0 2px 12px rgba(0,0,0,.6); }
.site-header:not(.is-scrolled) .brand-tag{ color:rgba(255,255,255,.88); text-shadow:0 1px 8px rgba(0,0,0,.55); }
.site-header:not(.is-scrolled) .nav-links a{ text-shadow:0 1px 8px rgba(0,0,0,.45); }

.nav-links{ display:flex; align-items:center; gap:34px; }
.nav-links a{
  font-size:.92rem; font-weight:500; color:var(--text-light);
  position:relative; padding:6px 0;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--red); transition:width .25s var(--ease);
}
.nav-links a:hover::after,
.nav-links a.is-active::after{ width:100%; }
.nav-links a.is-active{ color:var(--red); }

.nav-cta{ display:flex; align-items:center; gap:18px; }
.nav-toggle{
  display:none; flex-direction:column; gap:5px; background:none; border:0; padding:8px;
}
.nav-toggle span{ width:24px; height:2px; background:#fff; display:block; transition:transform .25s,opacity .25s; }

@media (max-width:980px){
  .nav-links{
    position:fixed; inset:90px 0 0 0; height:calc(100vh - 90px);
    background:var(--ink); flex-direction:column; justify-content:flex-start;
    padding:40px 28px; gap:26px;
    transform:translateX(100%); transition:transform .35s var(--ease);
    overflow-y:auto;
  }
  .nav-links.is-open{ transform:translateX(0); }
  .nav-links a{ font-size:1.2rem; }
  .nav-toggle{ display:flex; }
  .nav-cta .btn-primary{ display:none; }
}

/* ---------- Hero Slider ---------- */
.hero{
  position:relative;
  min-height:88vh;
  display:flex; align-items:center;
  background:var(--ink);
  overflow:hidden;
}
.hero-slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity 1s var(--ease);
  display:flex; align-items:center;
}
.hero-slide.is-active{ opacity:1; visibility:visible; z-index:2; }
.hero-slide-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
}
.hero-slide-bg .hero-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero-slide-bg::after{ z-index:1; }
@media (prefers-reduced-motion:reduce){ .hero-slide-bg .hero-video{ display:none; } }
.hero-slide-bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(100deg, rgba(8,20,33,.18) 8%, rgba(8,20,33,.15) 42%, rgba(8,20,33,.08) 78%),
    linear-gradient(0deg, rgba(8,20,33,.17), rgba(8,20,33,.07) 45%);
}
.hero-slide-bg.is-photo{ filter:saturate(.85) contrast(1.05); }
.hero-content{
  position:relative; z-index:1;
  padding:120px 0 64px;
  width:100%;
}
.hero-content h1, .hero-content .lede, .hero-content .eyebrow, .hero-stat b, .hero-stat span{ text-shadow:0 2px 14px rgba(8,20,33,.55); }
.hero-grid{
  display:grid; grid-template-columns:1fr; gap:40px; align-items:center; max-width:880px;
}
.hero-eyebrow{ margin-bottom:22px; }
.hero-sub{ margin-top:22px; }
.hero-stats{ display:flex; gap:34px; margin-top:38px; flex-wrap:wrap; }
.hero-stat b{
  display:block; font-family:var(--ff-mono); font-size:1.7rem; font-weight:600; color:var(--teal);
}
.hero-stat span{ font-size:.78rem; color:var(--muted-light); letter-spacing:.03em; }
.hero-actions{ display:flex; gap:16px; margin-top:40px; flex-wrap:wrap; }

.hero-art{ position:relative; height:380px; }

.hero-nav{
  position:absolute; bottom:34px; left:0; right:0; z-index:3;
}
.hero-nav .container{ display:flex; align-items:center; justify-content:space-between; }
.hero-dots{ display:flex; gap:10px; }
.hero-dot{
  width:34px; height:4px; border-radius:2px; background:rgba(255,255,255,.28); border:0; padding:0;
  transition:background .3s;
}
.hero-dot.is-active{ background:var(--red); }
.hero-arrows{ display:flex; gap:10px; }
.hero-arrow{
  width:42px; height:42px; border-radius:50%; border:1px solid var(--line-dark);
  display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.04);
  color:#fff; transition:border-color .25s, background .25s;
}
.hero-arrow:hover{ border-color:var(--red); background:rgba(222,42,30,.14); color:var(--red); }
.hero-arrow svg{ width:16px; height:16px; }

@media (max-width:980px){
  .hero{ min-height:auto; }
  .hero-content{ padding:140px 0 100px; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-art{ display:none; }
  .hero-stats{ gap:24px; }
}

/* ---------- Bore-line signature SVG ---------- */
.boreline-wrap{ position:relative; width:100%; height:100%; }
.boreline-wrap svg{ width:100%; height:100%; }
.boreline-ground{ stroke:rgba(255,255,255,.2); stroke-width:1.5; stroke-dasharray:2 6; }
.boreline-path{
  fill:none; stroke-width:3.5; stroke-linecap:round;
  stroke:var(--amber);
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:bore-draw 3.2s var(--ease) forwards;
}
.boreline-path.is-teal{ stroke:var(--teal); }
@keyframes bore-draw{ to{ stroke-dashoffset:0; } }
.boreline-head{
  r:6; fill:var(--paper);
  offset-path:path("M 8,40 C 90,40 120,150 230,150 C 330,150 360,40 430,40");
  animation:bore-travel 3.2s var(--ease) forwards;
}
@keyframes bore-travel{ from{ offset-distance:0%; } to{ offset-distance:100%; } }
.boreline-label{
  font-family:var(--ff-mono); font-size:11px; fill:var(--muted-light); letter-spacing:.06em;
}

.divider-bore{ display:block; width:100%; height:46px; opacity:.55; }
.divider-bore path{ fill:none; stroke:var(--line-light); stroke-width:2; }
.bg-ink .divider-bore path{ stroke:var(--line-dark); }

/* ---------- Trust strip ---------- */
.trust-strip{ border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); background:var(--ink-2); }
.trust-row{ display:flex; align-items:center; gap:18px; padding:26px 0; flex-wrap:wrap; }
.trust-row span.lbl{
  font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted-light); white-space:nowrap; margin-right:8px;
}
.client-chip{
  font-family:var(--ff-display); font-weight:600; font-size:.92rem; color:var(--text-light);
  border:1px solid var(--line-dark); border-radius:999px; padding:9px 20px;
  background:rgba(255,255,255,.02);
}

/* ---------- Pillar / segment cards ---------- */
.pillar-card{
  background:var(--paper-2);
  border:1px solid var(--line-light);
  border-radius:var(--radius-l);
  padding:38px 32px;
  height:100%;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.pillar-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); }
.pillar-num{ font-family:var(--ff-mono); color:var(--muted-dark); font-size:.78rem; letter-spacing:.1em; }
.pillar-icon{ width:52px; height:52px; margin-bottom:22px; color:var(--red); }
.pillar-card h3{ margin-top:14px; }
.pillar-card p{ margin-top:12px; }
.pillar-list{ margin-top:18px; display:flex; flex-direction:column; gap:9px; }
.pillar-list li{ display:flex; gap:10px; font-size:.92rem; color:var(--text-body); }
.pillar-list li::before{ content:"—"; color:var(--teal-dark); flex:none; }
.pillar-link{ margin-top:22px; display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--ink); font-size:.92rem; }
.pillar-link svg{ width:14px; height:14px; transition:transform .25s; }
.pillar-card:hover .pillar-link svg{ transform:translateX(4px); }

/* ---------- Stat band ---------- */
.stat-band{ background:var(--ink); color:var(--text-light); }
.stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stat-cell{ text-align:center; padding:44px 18px; border-left:1px solid var(--line-dark); }
.stat-cell:first-child{ border-left:0; }
.stat-cell b{ display:block; font-family:var(--ff-mono); font-weight:600; font-size:clamp(1.8rem,3.4vw,2.6rem); color:var(--teal); }
.stat-cell span{ display:block; margin-top:8px; font-size:.82rem; color:var(--muted-light); letter-spacing:.02em; }
@media (max-width:980px){
  .stat-grid{ grid-template-columns:repeat(2,1fr); }
  .stat-cell{ border-left:0; border-top:1px solid var(--line-dark); }
  .stat-cell:nth-child(odd){ border-right:1px solid var(--line-dark); }
}

/* ---------- Route / project cards ---------- */
.route-card{
  background:var(--paper-2); border:1px solid var(--line-light); border-radius:var(--radius-m);
  padding:28px 30px; display:flex; flex-direction:column; gap:16px;
}
.route-top{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.route-name{ font-family:var(--ff-display); font-weight:700; font-size:1.18rem; color:var(--text-dark); }
.route-km{ font-family:var(--ff-mono); font-weight:600; font-size:1.3rem; color:var(--red); white-space:nowrap; }
.route-bar{ position:relative; height:34px; }
.route-bar svg{ width:100%; height:100%; overflow:visible; }
.route-bar .rb-line{ stroke:var(--line-light); stroke-width:2; fill:none; }
.route-bar .rb-fill{ stroke:var(--teal-dark); stroke-width:3; fill:none; stroke-linecap:round; }
.route-bar .rb-dot{ fill:var(--red); }
.route-meta{ display:flex; gap:18px; font-size:.84rem; color:var(--muted-dark); flex-wrap:wrap; }
.route-meta b{ color:var(--text-dark); font-family:var(--ff-mono); font-weight:600; }

/* ---------- Process steps ---------- */
.process{ display:flex; gap:0; counter-reset:step; }
.process-step{
  flex:1; position:relative; padding:0 22px 0 0; border-right:1px dashed var(--line-light);
}
.process-step:last-child{ border-right:0; padding-right:0; }
.process-num{
  font-family:var(--ff-mono); font-weight:600; font-size:.85rem; color:var(--teal-dark);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.process-num::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--amber); }
@media (max-width:860px){
  .process{ flex-direction:column; gap:30px; }
  .process-step{ border-right:0; padding-right:0; border-left:2px solid var(--line-light); padding-left:20px; }
}

/* ---------- Gallery ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gallery-item{ position:relative; border-radius:var(--radius-m); overflow:hidden; aspect-ratio:4/3; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.gallery-item:hover img{ transform:scale(1.08); }
.gallery-cap{
  position:absolute; left:0; right:0; bottom:0; padding:16px 16px 14px;
  background:linear-gradient(0deg, rgba(8,20,33,.92), rgba(8,20,33,0));
  color:#fff; font-size:.82rem; font-weight:500;
}
.gallery-item.tall{ grid-row:span 2; }
@media (max-width:980px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } .gallery-item.tall{ grid-row:auto; } }
@media (max-width:600px){ .gallery-grid{ grid-template-columns:1fr; } }

/* ---------- Timeline ---------- */
.timeline{ position:relative; padding-left:34px; }
.timeline::before{ content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:var(--line-light); }
.tl-item{ position:relative; padding-bottom:42px; }
.tl-item:last-child{ padding-bottom:0; }
.tl-item::before{
  content:""; position:absolute; left:-34px; top:2px; width:16px; height:16px; border-radius:50%;
  background:var(--paper); border:3px solid var(--red);
}
.tl-year{ font-family:var(--ff-mono); font-weight:600; color:var(--red); font-size:.95rem; }
.tl-item h4{ font-family:var(--ff-display); font-size:1.15rem; font-weight:700; color:var(--text-dark); margin-top:6px; }
.tl-item p{ margin-top:8px; max-width:560px; }

/* ---------- Director / quote ---------- */
.director-wrap{ display:grid; grid-template-columns:.7fr 1.3fr; gap:48px; align-items:center; }
.director-photo{ border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-1); }
.director-photo img{ width:100%; height:100%; object-fit:cover; }
.quote-mark{ font-family:var(--ff-display); font-size:3.4rem; color:var(--amber); line-height:1; }
blockquote{ font-family:var(--ff-display); font-size:1.35rem; line-height:1.5; color:var(--text-light); font-weight:500; margin:10px 0 0; }
.director-name{ margin-top:24px; font-weight:700; color:#fff; font-family:var(--ff-display); }
.director-role{ font-size:.85rem; color:var(--muted-light); margin-top:3px; }
@media (max-width:860px){ .director-wrap{ grid-template-columns:1fr; } }

/* ---------- Cards: certs / values ---------- */
.cert-card{ display:flex; gap:18px; align-items:flex-start; padding:26px; border:1px solid var(--line-light); border-radius:var(--radius-m); background:var(--paper-2); }
.cert-icon{ width:46px; height:46px; flex:none; color:var(--teal-dark); }
.cert-card h4{ font-family:var(--ff-display); font-weight:700; font-size:1.05rem; color:var(--text-dark); }
.cert-card p{ margin-top:6px; font-size:.92rem; }

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(120deg, var(--ink) 0%, var(--ink-2) 100%);
  border-radius:var(--radius-l);
  padding:64px 56px;
  position:relative; overflow:hidden;
}
.cta-banner::before{
  content:""; position:absolute; right:-60px; top:-60px; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(34,214,190,.18), transparent 70%);
}
.cta-grid{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; position:relative; z-index:1; }
@media (max-width:760px){ .cta-banner{ padding:46px 28px; } }

/* ---------- Footer ---------- */
.site-footer{ background:var(--ink); color:var(--muted-light); padding-top:76px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px; border-bottom:1px solid var(--line-dark); }
.footer-brand .brand-word{ font-size:1.4rem; }
.footer-about{ margin-top:18px; font-size:.92rem; line-height:1.7; max-width:32ch; color:var(--muted-light); }
.footer-col h5{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-light); margin-bottom:18px; }
.footer-col ul{ display:flex; flex-direction:column; gap:11px; }
.footer-col a{ font-size:.92rem; transition:color .2s; }
.footer-col a:hover{ color:var(--red); }
.footer-contact li{ display:flex; gap:10px; font-size:.9rem; align-items:flex-start; }
.footer-contact svg{ width:16px; height:16px; flex:none; margin-top:3px; color:var(--teal); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:.82rem; flex-wrap:wrap; gap:12px; }
.footer-certs{ display:flex; gap:10px; font-family:var(--ff-mono); font-size:.72rem; }
.footer-certs span{ border:1px solid var(--line-dark); padding:5px 12px; border-radius:999px; }
@media (max-width:980px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .footer-grid{ grid-template-columns:1fr; } }

/* ---------- Page header banner (non-home pages) ---------- */
.page-banner{
  background:var(--ink);
  padding:160px 0 70px;
  position:relative;
  overflow:hidden;
}
.page-banner .container{ position:relative; z-index:1; }
.page-banner-art{ position:absolute; right:-5%; top:0; bottom:0; width:55%; opacity:.5; z-index:0; }
.breadcrumb{ font-family:var(--ff-mono); font-size:.78rem; color:var(--muted-light); margin-top:18px; }
.breadcrumb a:hover{ color:var(--red); }

/* ---------- Reveal-on-scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }

/* ---------- Forms ---------- */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-field{ display:flex; flex-direction:column; gap:8px; }
.form-field.full{ grid-column:1/-1; }
.form-field label{ font-size:.82rem; font-weight:600; color:var(--text-dark); }
.form-field input, .form-field textarea, .form-field select{
  padding:13px 16px; border:1px solid var(--line-light); border-radius:var(--radius-s);
  background:var(--paper-2); color:var(--text-dark); font-size:.95rem;
  transition:border-color .2s, box-shadow .2s;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{
  border-color:var(--teal-dark); box-shadow:0 0 0 3px rgba(34,214,190,.18); outline:none;
}
.form-note{ font-size:.82rem; color:var(--muted-dark); margin-top:14px; }
@media (max-width:620px){ .form-grid{ grid-template-columns:1fr; } }

/* ---------- Misc utilities ---------- */
.text-light-on-dark{ color:var(--text-light); }
.mt-0{ margin-top:0 !important; }
.tag-row{ display:flex; gap:10px; flex-wrap:wrap; }
.tag{
  font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.05em; padding:6px 13px; border-radius:999px;
  border:1px solid var(--line-light); color:var(--text-body);
}
.back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:150;
  width:46px; height:46px; border-radius:50%; background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center; border:1px solid var(--line-dark);
  opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s, background .3s;
}
.back-to-top.is-visible{ opacity:1; visibility:visible; }
.back-to-top:hover{ background:var(--red); }
.back-to-top svg{ width:18px; height:18px; }

.whatsapp-fab{
  position:fixed; right:24px; bottom:80px; z-index:150;
  width:52px; height:52px; border-radius:50%; background:#1FAE5C; color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-2);
}
.whatsapp-fab svg{ width:26px; height:26px; }


  /* ---------- Detailed capability cards (GPRS / HDD / RoW) ---------- */
  .svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:980px){ .svc-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:620px){ .svc-grid{ grid-template-columns:1fr; } }
  .svc-card{ background:var(--paper-2); border:1px solid var(--line-light); border-radius:var(--radius-m); padding:30px 28px; height:100%; transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease); }
  .svc-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:var(--teal-dark); }
  .svc-ico{ width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; background:rgba(34,214,190,.12); color:var(--teal-dark); }
  .svc-ico svg{ width:24px; height:24px; }
  .svc-num{ font-family:var(--ff-mono); font-weight:600; font-size:.72rem; letter-spacing:.12em; color:var(--muted-dark); }
  .svc-card h4{ font-family:var(--ff-display); font-weight:700; font-size:1.12rem; line-height:1.25; color:var(--text-dark); margin:10px 0 9px; }
  .svc-card p{ font-size:.94rem; line-height:1.65; color:var(--text-body); }
  /* dark variant (HDD section on ink bg) */
  .bg-ink .svc-card{ background:var(--ink-2); border-color:var(--line-dark); }
  .bg-ink .svc-card:hover{ border-color:var(--amber); }
  .bg-ink .svc-card h4{ color:var(--text-light); }
  .bg-ink .svc-card p{ color:var(--muted-light); }
  .bg-ink .svc-num{ color:var(--muted-light); }
  .bg-ink .svc-ico{ background:rgba(242,169,60,.15); color:var(--amber); }

  /* ---------- Orange running marquee ---------- */
  .mzx-marquee{ background:linear-gradient(90deg,#F36F21,#F58B2C); overflow:hidden; padding:15px 0; border-top:2px solid var(--red); border-bottom:2px solid var(--red); }
  .mzx-marquee-track{ display:flex; width:max-content; animation:mzx-scroll 34s linear infinite; }
  .mzx-chunk{ display:flex; align-items:center; }
  .mzx-marquee span.mzx-item{ font-family:var(--ff-display); font-weight:700; font-size:1.02rem; color:#1A1209; white-space:nowrap; padding:0 22px; }
  .mzx-marquee span.mzx-sep{ color:#7A1C0A; font-weight:800; }
  @keyframes mzx-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
  .mzx-marquee:hover .mzx-marquee-track{ animation-play-state:paused; }

  /* ---------- Coverage (Pan India) chips ---------- */
  .coverage-grid{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
  .coverage-chip{ background:var(--paper); border:1px solid var(--line-light); border-radius:999px; padding:10px 20px; font-family:var(--ff-body); font-weight:600; font-size:.92rem; color:var(--text-dark); display:inline-flex; align-items:center; gap:9px; transition:transform .25s var(--ease), box-shadow .25s, border-color .25s; }
  .coverage-chip::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--teal-dark); flex:none; }
  .coverage-chip:hover{ border-color:var(--teal-dark); transform:translateY(-2px); box-shadow:var(--shadow-2); }
  .coverage-chip.more{ background:var(--ink); color:var(--text-light); border-color:var(--ink); }
  .coverage-chip.more::before{ background:var(--amber); }

  /* ---------- FAQ ---------- */
  .faq-list{ max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
  .faq-item{ background:var(--paper-2); border:1px solid var(--line-light); border-radius:var(--radius-m); overflow:hidden; transition:border-color .25s; }
  .faq-item.open{ border-color:var(--teal-dark); }
  .faq-q{ width:100%; text-align:left; background:none; border:none; padding:22px 24px; font-family:var(--ff-display); font-weight:700; font-size:1.04rem; color:var(--text-dark); display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .faq-ico{ flex:none; font-size:1.6rem; line-height:1; color:var(--red); transition:transform .3s var(--ease); }
  .faq-item.open .faq-ico{ transform:rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
  .faq-a p{ padding:0 24px 22px; font-size:.97rem; line-height:1.72; color:var(--text-body); margin:0; }
  .faq-item.open .faq-a{ max-height:360px; }

  /* ---------- Contact form ---------- */
  .contact-wrap{ display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:stretch; }
  @media (max-width:900px){ .contact-wrap{ grid-template-columns:1fr; gap:38px; } }
  .cinfo-card{ display:flex; gap:16px; align-items:flex-start; padding:18px 0; border-bottom:1px solid var(--line-dark); }
  .cinfo-card:last-child{ border-bottom:0; }
  .cinfo-ico{ width:44px; height:44px; border-radius:11px; background:rgba(34,214,190,.12); color:var(--teal); display:flex; align-items:center; justify-content:center; flex:none; }
  .cinfo-ico svg{ width:22px; height:22px; }
  .cinfo-card h5{ font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-light); margin-bottom:5px; font-weight:600; }
  .cinfo-card p,.cinfo-card a{ color:var(--text-light); font-size:.98rem; line-height:1.55; }
  .cinfo-card a:hover{ color:var(--red); }
  .cform{ background:var(--ink-2); border:1px solid var(--line-dark); border-radius:var(--radius-l); padding:34px; }
  .cform .frow{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:560px){ .cform .frow{ grid-template-columns:1fr; } }
  .cform label{ display:block; font-size:.72rem; font-family:var(--ff-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--muted-light); margin:0 0 7px; font-weight:600; }
  .cform input,.cform select,.cform textarea{ width:100%; background:rgba(255,255,255,.05); border:1px solid var(--line-dark); border-radius:10px; padding:13px 15px; color:var(--text-light); font-family:var(--ff-body); font-size:.95rem; margin-bottom:16px; transition:border-color .2s; }
  .cform input::placeholder,.cform textarea::placeholder{ color:var(--muted-dark); }
  .cform input:focus,.cform select:focus,.cform textarea:focus{ outline:none; border-color:var(--teal); }
  .cform select{ color:var(--muted-light); }
  .cform select option{ color:#111; }
  .human-row{ display:flex; align-items:center; gap:11px; margin:2px 0 20px; background:rgba(34,214,190,.07); border:1px solid var(--line-dark); border-radius:10px; padding:13px 15px; }
  .human-row input{ width:19px; height:19px; margin:0; flex:none; accent-color:var(--teal-dark); }
  .human-row label{ margin:0; font-family:var(--ff-body); text-transform:none; letter-spacing:0; font-size:.93rem; color:var(--text-light); }
  .cform .btn{ width:100%; justify-content:center; }
  .form-note{ font-size:.78rem; color:var(--muted-light); margin-top:14px; text-align:center; }
  .hp-field{ position:absolute; left:-9999px; opacity:0; height:0; width:0; }
  /* ---------- Expertise (Tech-Mahindra style tile grid) ---------- */
  .exp-viewport{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%); }
  .exp-track{ display:flex; width:max-content; will-change:transform; animation:exp-scroll 55s linear infinite; }
  .exp-viewport:hover .exp-track{ animation-play-state:paused; }
  .exp-track .exp-card{ flex:0 0 320px; margin-right:22px; }
  @keyframes exp-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @media (max-width:620px){ .exp-track .exp-card{ flex:0 0 270px; margin-right:18px; } }
  .exp-card{ position:relative; background:var(--ink-2); border:1px solid var(--line-dark); border-radius:var(--radius-m); padding:28px 26px; overflow:hidden; transition:transform .3s var(--ease), border-color .3s, box-shadow .3s; }
  .exp-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--teal),var(--amber)); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
  .exp-card:hover{ transform:translateY(-6px); border-color:var(--teal-dark); box-shadow:var(--shadow-1); }
  .exp-card:hover::before{ transform:scaleX(1); }
  .exp-num{ font-family:var(--ff-mono); font-weight:600; font-size:.82rem; color:var(--amber); letter-spacing:.1em; }
  .exp-card h4{ font-family:var(--ff-display); font-weight:700; font-size:1.12rem; line-height:1.25; color:var(--text-light); margin:9px 0 10px; }
  .exp-card p{ font-size:.92rem; line-height:1.62; color:var(--muted-light); }

  .cform-title{ font-family:var(--ff-display); font-size:1.45rem; color:var(--text-light); margin:0 0 16px; }
  .wa-quick{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:14px 18px; border-radius:var(--radius-m); background:#25D366; color:#06321B; font-weight:700; font-size:1rem; text-decoration:none; transition:transform .15s var(--ease), box-shadow .15s var(--ease); box-shadow:0 6px 18px rgba(37,211,102,.35); }
  .wa-quick svg{ width:22px; height:22px; }
  .wa-quick:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(37,211,102,.45); }
  .cform-or{ position:relative; text-align:center; margin:20px 0 8px; }
  .cform-or::before{ content:""; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--line-dark); }
  .cform-or span{ position:relative; background:var(--ink); padding:0 14px; font-size:.82rem; color:var(--muted-light); text-transform:uppercase; letter-spacing:.06em; }

  /* === Task1: two-line heading === */
  .h-sub2{ display:inline-block; font-size:.62em; font-weight:600; color:var(--text-body); letter-spacing:.005em; margin-top:4px; line-height:1.15; }

  /* === sticky header: dark glass over hero, turns white on scroll === */
  .site-header.is-scrolled{ background:rgba(255,255,255,.96) !important; backdrop-filter:blur(12px); border-bottom:1px solid #e7e2d6 !important; box-shadow:0 14px 32px -22px rgba(40,30,15,.55); }
  .site-header.is-scrolled::before{ opacity:1; }
  .site-header.is-scrolled .brand-word{ color:#0A1B2C !important; }
  .site-header.is-scrolled .brand-word span{ color:var(--red); }
  .site-header.is-scrolled .brand-tag{ color:#6a6357 !important; }
  .site-header.is-scrolled .nav-links > li > a{ color:#16395A !important; }
  .site-header.is-scrolled .nav-links > li > a.is-active{ color:var(--red) !important; }
  .site-header.is-scrolled .nav-toggle span{ background:#16395A !important; }

  /* === Task3: white CTA banner (section before Contact) === */
  .cta-banner{ background:#ffffff !important; border:1px solid #e7e2d6; box-shadow:0 14px 34px rgba(40,30,15,.07); }
  .cta-banner::before{ background:radial-gradient(circle, rgba(222,42,30,.10), transparent 70%) !important; }
  .cta-banner .eyebrow{ color:var(--red); }
  .cta-banner .h-display{ color:#0A1B2C !important; }

  /* === Task2: Expertise — Tech Mahindra light lined style === */
  .expertise-tm{ position:relative; background:#E7E0D4; }
  .expertise-tm::before{ content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(90deg, rgba(0,0,0,.045) 0 1px, transparent 1px 62px); pointer-events:none; }
  .expertise-tm .container{ position:relative; z-index:1; }
  .exp-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:38px; }
  .exp-head .left{ max-width:680px; }
  .exp-head .eyebrow{ color:var(--red); }
  .exp-head h2{ font-family:var(--ff-display); font-weight:800; color:#16110C; font-size:clamp(2rem,4vw,3rem); line-height:1.02; margin:6px 0 12px; }
  .exp-head p{ color:#5a5347; font-size:1rem; }
  .exp-nav{ display:flex; gap:12px; }
  .exp-nav button{ width:62px; height:44px; border-radius:999px; border:none; background:#1b1712; color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s, transform .15s; }
  .exp-nav button:hover{ background:#000; transform:translateY(-1px); }
  .exp-nav svg{ width:22px; height:22px; }
  .exp-viewport{ overflow:hidden; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none; -webkit-mask-image:none !important; mask-image:none !important; padding-bottom:6px; }
  .exp-viewport::-webkit-scrollbar{ display:none; }
  .exp-track{ display:flex; gap:26px; width:max-content; animation:none !important; }
  .exp-card{ position:relative; flex:0 0 300px; min-height:300px; background:#fff !important; border:none !important; border-radius:4px; padding:30px 28px; margin-right:0 !important; box-shadow:0 14px 30px rgba(40,30,15,.08); scroll-snap-align:start; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s; }
  .exp-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(40,30,15,.12); }
  .exp-card::before{ display:none !important; }
  .exp-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:120px; background-image:repeating-linear-gradient(122deg, rgba(222,42,30,.10) 0 1px, transparent 1px 16px); pointer-events:none; }
  .exp-ico{ width:54px; height:54px; color:#1b1712; }
  .exp-ico svg{ width:100%; height:100%; }
  .exp-card h4{ font-family:var(--ff-display) !important; font-weight:700; text-transform:uppercase; font-size:1.02rem; letter-spacing:.01em; color:#16110C !important; margin:24px 0 0; line-height:1.25; }
  .exp-card p{ font-size:.85rem; color:#6a6357 !important; margin:9px 0 18px; line-height:1.45; }
  .exp-arrow{ width:46px; height:46px; border-radius:50%; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; margin-top:auto; box-shadow:0 6px 14px rgba(222,42,30,.3); }
  .exp-arrow svg{ width:20px; height:20px; }
  @media (max-width:620px){ .exp-card{ flex:0 0 250px; min-height:280px; } .exp-head{ align-items:flex-start; } }

  /* === Thought-Leadership style capabilities carousel === */
  #capabilities{ background:var(--paper); }
  .tl-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; margin-bottom:38px; }
  .tl-title{ font-family:var(--ff-display); font-weight:800; font-size:clamp(2rem,4.4vw,3.2rem); color:#16110C; line-height:1; }
  .tl-nav{ display:flex; gap:16px; }
  .tl-arrow{ width:58px; height:58px; border-radius:50%; border:1.5px solid #1b1712; background:transparent; color:#1b1712; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s,color .2s,transform .15s; }
  .tl-arrow:hover{ background:#1b1712; color:#fff; transform:translateY(-2px); }
  .tl-arrow svg{ width:22px; height:22px; }
  .tl-stage{ overflow:hidden; }
  .tl-track{ display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); }
  .tl-slide{ flex:0 0 100%; display:grid; grid-template-columns:1fr 1.12fr; gap:48px; align-items:center; }
  .tl-text .tl-eyebrow{ color:var(--red); font-family:var(--ff-mono); font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin:0 0 16px; }
  .tl-h{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.5rem,2.6vw,2.15rem); color:#16110C; line-height:1.12; margin:0 0 18px; }
  .tl-desc{ color:#5a5347; font-size:1.02rem; line-height:1.6; max-width:46ch; margin:0 0 32px; }
  .tl-more{ display:inline-block; font-family:var(--ff-display); font-weight:700; font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:#16110C; text-decoration:none; position:relative; padding-bottom:7px; }
  .tl-more::after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:var(--red); transition:width .25s var(--ease); }
  .tl-more:hover{ color:var(--red); }
  .tl-more:hover::after{ width:100%; }
  .tl-img{ border-radius:6px; overflow:hidden; aspect-ratio:16/11; box-shadow:0 18px 40px rgba(40,30,15,.12); background:#0A1B2C; }
  .tl-img img{ width:100%; height:100%; object-fit:cover; display:block; }
  .tl-progress{ display:flex; gap:0; margin-top:48px; }
  .tl-seg{ flex:1 1 0; height:3px; background:#dcd5c7; border:none; padding:0; cursor:pointer; position:relative; overflow:hidden; }
  .tl-seg::after{ content:""; position:absolute; inset:0; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
  .tl-seg.active::after{ transform:scaleX(1); }
  @media (max-width:820px){ .tl-slide{ grid-template-columns:1fr; gap:22px; } .tl-img{ order:-1; } .tl-head{ margin-bottom:26px; } }

  /* === Hero: cinematic photo slider (Tech-Mahindra style) === */
  .hero{ display:block !important; min-height:90vh; background:var(--ink); }
  .hero-slide.is-active{ position:relative !important; min-height:90vh; }
  .hero-content{ padding:140px 0 120px !important; }

  /* full-bleed cinematic background + slow ken-burns */
  .hero-slide .hero-slide-bg{ background-size:cover !important; background-position:center !important; }
  .hero-slide.is-active .hero-slide-bg{ animation:hero-zoom 14s var(--ease) forwards; }
  @keyframes hero-zoom{ from{ transform:scale(1.10); } to{ transform:scale(1.0); } }

  /* directional brand gradient + diagonal survey lines (signature) */
  .hero-slide.is-design .hero-slide-bg::after{
    background:
      repeating-linear-gradient(118deg, rgba(255,255,255,.05) 0 1px, transparent 1px 82px),
      linear-gradient(95deg, rgba(7,17,28,.38) 0%, rgba(7,17,28,.30) 30%, rgba(7,17,28,.17) 60%, rgba(7,17,28,.08) 100%),
      linear-gradient(0deg, rgba(7,17,28,.24), rgba(7,17,28,0) 46%) !important;
  }
  /* slide 2 (red radar) tuned warmer so brand red glows through */
  .hero-slide:nth-of-type(2) .hero-slide-bg::after{
    background:
      repeating-linear-gradient(118deg, rgba(255,255,255,.05) 0 1px, transparent 1px 82px),
      linear-gradient(95deg, rgba(18,9,11,.37) 0%, rgba(22,9,11,.28) 30%, rgba(34,10,12,.14) 62%, rgba(44,12,14,.06) 100%),
      linear-gradient(0deg, rgba(12,5,6,.23), rgba(12,5,6,0) 46%) !important;
  }

  /* keep hero copy light + legible over imagery */
  .hero-slide.is-design .h-display{ color:#fff !important; }
  .hero-slide.is-design .eyebrow{ color:#fff !important; }
  .hero-slide.is-design .eyebrow::before{ background:var(--red) !important; }
  .hero-slide.is-design .lede{ color:var(--text-light) !important; }
  .hero-slide.is-design .hero-stat b{ color:var(--teal) !important; }
  .hero-slide.is-design .hero-stat span{ color:var(--muted-light) !important; }

  /* boreline strokes (rendered inside light glass card) */
  .hero-slide.is-design .boreline-ground{ stroke:rgba(0,0,0,.18); }
  .hero-slide.is-design .boreline-head{ fill:#16110C; }
  .hero-slide.is-design .boreline-label{ fill:#6a6357; }

  /* floating glass panels (right column) */
  .boreline-card,
  .hero-art-card{
    background:rgba(251,248,241,.95);
    backdrop-filter:blur(5px);
    border:1px solid rgba(255,255,255,.55);
    border-radius:14px;
    box-shadow:0 32px 70px -24px rgba(0,0,0,.72), 0 1px 0 rgba(255,255,255,.6) inset;
  }
  .boreline-card{ padding:16px 18px 8px; max-width:470px; margin-left:auto; }
  .hero-art-card{ overflow:hidden; max-width:440px; margin-left:auto; }
  .boreline-card .boreline-wrap{ height:200px; }
  .boreline-cap{ font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.03em; color:#6a6357; text-align:center; margin:0; padding:4px 0 2px; }
  .boreline-path{ animation:bore-draw 3.4s var(--ease) infinite !important; }
  .boreline-head{ animation:bore-travel 3.4s var(--ease) infinite !important; }
  .hac-img{ height:200px; background-size:cover; background-position:center; }
  .hac-body{ padding:16px 20px 20px; }
  .hac-eyebrow{ font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; color:var(--red); font-weight:700; margin:0; }
  .hac-svg{ width:100%; height:74px; margin-top:6px; }
  .mini-ground{ stroke:rgba(0,0,0,.16); stroke-width:1.4; stroke-dasharray:2 6; }
  .mini-bore-path{ fill:none; stroke:var(--amber); stroke-width:3.2; stroke-linecap:round; stroke-dasharray:320; stroke-dashoffset:320; animation:mini-bore 3.2s var(--ease) infinite; }
  @keyframes mini-bore{ 0%{ stroke-dashoffset:320; } 65%{ stroke-dashoffset:0; } 100%{ stroke-dashoffset:0; } }
  .route-base{ stroke:rgba(0,0,0,.14); stroke-width:2; stroke-dasharray:3 6; }
  .route-prog{ stroke:var(--red); stroke-width:3; stroke-linecap:round; stroke-dasharray:400; stroke-dashoffset:400; animation:route-draw 3.6s var(--ease) infinite; }
  @keyframes route-draw{ 0%{ stroke-dashoffset:400; } 70%{ stroke-dashoffset:0; } 100%{ stroke-dashoffset:0; } }
  .route-dot{ fill:#1b1712; }
  .route-pulse{ fill:var(--amber); offset-path:path("M 10,30 L 410,30"); animation:route-move 3.6s var(--ease) infinite; }
  @keyframes route-move{ from{ offset-distance:0%; } to{ offset-distance:100%; } }

  /* signature: brand sparkle + accent diagonal (Tech-Mahindra motif) */
  .hero-fx{ position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; }
  .hero-fx .hf-accent{ position:absolute; top:-16%; right:8.5%; width:2px; height:132%; background:linear-gradient(180deg, transparent 6%, rgba(222,42,30,.9) 50%, transparent 94%); transform:rotate(28deg); transform-origin:top center; opacity:.5; }
  .hero-fx .hf-spark{ position:absolute; color:#fff; pointer-events:none; animation:hf-tw 3.8s var(--ease) infinite; }
  .hero-fx .hf-spark svg{ width:100%; height:100%; display:block; filter:drop-shadow(0 0 6px rgba(255,255,255,.55)); }
  .hero-fx .hf-glint{ position:absolute; border-radius:50%; pointer-events:none;
    background:radial-gradient(circle, rgba(255,255,255,.95) 0%, rgba(255,240,210,.65) 42%, rgba(255,255,255,0) 74%);
    box-shadow:0 0 10px 2px rgba(255,236,200,.5); animation:hf-blink 2.4s ease-in-out infinite; }
  @keyframes hf-tw{ 0%,100%{ transform:scale(.7) rotate(0deg); opacity:.35; } 50%{ transform:scale(1.15) rotate(45deg); opacity:1; } }
  @keyframes hf-blink{ 0%,100%{ opacity:0; transform:scale(.6); } 50%{ opacity:.9; transform:scale(1.1); } }
  @media (prefers-reduced-motion:reduce){
    .hero-slide.is-active .hero-slide-bg{ animation:none; }
    .hero-fx .hf-spark, .hero-fx .hf-glint{ animation:none; opacity:.4; }
  }
  /* marquee always below hero */
  .mzx-marquee{ position:relative; z-index:5; }
  @media (max-width:760px){ .hero-art{ display:none; } .hero-content{ padding:104px 0 80px !important; } }

  /* === Capabilities carousel: opaque slides (fix bg mixing) + panel === */
  #capabilities .tl-slide{ background:var(--paper); }
  #capabilities .tl-stage{ background:var(--paper); border-radius:6px; }
  .tl-img{ background:#E7E0D4 !important; }
  .tl-panel{ display:grid; grid-template-columns:1fr 1fr; gap:14px; aspect-ratio:16/11; background:#E7E0D4; border-radius:6px; padding:22px; box-shadow:0 18px 40px rgba(40,30,15,.10); position:relative; overflow:hidden; }
  .tl-panel::before{ content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(90deg, rgba(0,0,0,.045) 0 1px, transparent 1px 46px); pointer-events:none; }
  .tl-pstat{ position:relative; background:#FBF8F1; border:1px solid #e3dccd; border-radius:8px; padding:16px 16px; display:flex; flex-direction:column; justify-content:center; }
  .tl-pstat b{ font-family:var(--ff-mono); font-size:1.7rem; font-weight:700; color:#16110C; line-height:1; }
  .tl-pstat span{ font-size:.76rem; color:#6a6357; margin-top:6px; line-height:1.3; }
  @media (max-width:820px){ .tl-panel{ aspect-ratio:auto; } }

  /* === Hero slide 2 (GPRS radar) + slide 4 (drilling) animations === */
  .drill-rig{ fill:#1b1712; }
  .mini-bore-bit{ fill:var(--red); offset-path:path("M 20,22 C 120,22 140,64 220,64 C 300,64 320,22 414,22"); animation:minibit-move 3.2s var(--ease) infinite; }
  @keyframes minibit-move{ 0%{ offset-distance:0%; } 65%{ offset-distance:100%; } 100%{ offset-distance:100%; } }
  .gpr-scan{ animation:gpr-move 4.2s linear infinite; }
  @keyframes gpr-move{ 0%{ transform:translateX(24px); } 100%{ transform:translateX(396px); } }
  .gpr-unit{ fill:#1b1712; }
  .gpr-wave{ fill:none; stroke:var(--teal-dark); stroke-width:2; opacity:0; }
  .gpr-wave.w1{ animation:gpr-wave 1.5s ease-out infinite; }
  .gpr-wave.w2{ animation:gpr-wave 1.5s ease-out .18s infinite; }
  .gpr-wave.w3{ animation:gpr-wave 1.5s ease-out .36s infinite; }
  @keyframes gpr-wave{ 0%{ opacity:.6; } 75%{ opacity:0; } 100%{ opacity:0; } }
  .gpr-target{ fill:var(--amber); animation:gpr-ping 1.8s ease-in-out infinite; }
  .gpr-target.t2{ animation-delay:.4s; } .gpr-target.t3{ animation-delay:.8s; }
  @keyframes gpr-ping{ 0%,100%{ opacity:.35; r:3; } 50%{ opacity:1; r:4.5; } }
  .drill-string{ fill:none; stroke:var(--amber); stroke-width:3; stroke-linecap:round; stroke-dasharray:430; stroke-dashoffset:430; animation:drill-draw 3.4s var(--ease) infinite; }
  @keyframes drill-draw{ 0%{ stroke-dashoffset:430; } 70%{ stroke-dashoffset:0; } 100%{ stroke-dashoffset:0; } }
  .drill-bit{ fill:var(--red); offset-path:path("M 24,24 C 120,24 150,66 240,66 C 312,66 340,48 412,48"); animation:drill-bit-move 3.4s var(--ease) infinite; }
  @keyframes drill-bit-move{ 0%{ offset-distance:0%; } 70%{ offset-distance:100%; } 100%{ offset-distance:100%; } }

  /* === Explore More (Tech-Mahindra style) === */
  .explore-more{ background:#241d15; color:#fff; }
  .xm-head{ display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:36px; flex-wrap:wrap; }
  .xm-title{ font-family:var(--ff-display); font-weight:800; font-size:clamp(2rem,4.4vw,3.2rem); color:#fff; line-height:1; }
  .xm-nav{ display:flex; gap:14px; }
  .xm-arrow{ width:58px; height:58px; border-radius:50%; border:1.5px solid rgba(255,255,255,.55); background:transparent; color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s,color .2s,transform .15s; }
  .xm-arrow:hover{ background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px); }
  .xm-arrow svg{ width:22px; height:22px; }
  .xm-viewport{ overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; scroll-snap-type:x mandatory; }
  .xm-viewport::-webkit-scrollbar{ display:none; }
  .xm-track{ display:flex; gap:24px; width:max-content; padding-bottom:2px; }
  .xm-card{ position:relative; flex:0 0 320px; height:380px; border-radius:6px; overflow:hidden; scroll-snap-align:start; display:block; background:#15100a; text-decoration:none; }
  .xm-img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s var(--ease); filter:saturate(.9) contrast(1.03); }
  .xm-card:hover .xm-img{ transform:scale(1.06); }
  .xm-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,8,5,.04) 40%, rgba(10,8,5,.86) 100%); }
  .xm-cap{ position:absolute; left:0; bottom:0; padding:24px; z-index:2; }
  .xm-kicker{ font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:8px; }
  .xm-cap h3{ font-family:var(--ff-display); font-weight:700; font-size:1.4rem; color:#fff; line-height:1.15; margin:0; }
  .xm-tile{ display:flex; flex-direction:column; justify-content:space-between; padding:26px; }
  .xm-tile .xm-cap{ position:static; padding:0; }
  .xm-tile.t-career{ background:linear-gradient(150deg,#2e4a52,#16262b); }
  .xm-tile.t-cert{ background:linear-gradient(150deg,#3a3550,#1c1830); }
  .xm-tile.t-faq{ background:linear-gradient(150deg,#2c3d52,#152230); }
  .xm-tile.t-quote{ background:linear-gradient(150deg,#7a241d,#3a0f0c); }
  .xm-icon{ width:54px; height:54px; color:#fff; opacity:.92; }
  .xm-icon svg{ width:100%; height:100%; }
  .xm-progress{ position:relative; height:3px; background:rgba(255,255,255,.18); margin-top:42px; border-radius:2px; }
  .xm-bar{ position:absolute; top:0; left:0; height:100%; background:var(--red); border-radius:2px; width:30%; transition:left .25s var(--ease), width .25s var(--ease); }
  @media (max-width:620px){ .xm-card{ flex:0 0 260px; height:330px; } }

  /* === Footer — Tech Mahindra style (navy + diagonal lines) === */
  .site-footer{ background:#0f1640 !important; color:rgba(255,255,255,.7); padding-top:74px; position:relative; overflow:hidden; }
  .site-footer::before{ content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(105deg, transparent 0, transparent 210px, rgba(255,255,255,.05) 210px, rgba(255,255,255,.05) 211px); pointer-events:none; }
  .site-footer .container{ position:relative; z-index:1; }
  .footer-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr auto; gap:40px; padding-bottom:46px; }
  .footer-brand .brand-word{ color:#fff !important; font-size:1.5rem; }
  .footer-brand .brand-word span{ color:var(--red); }
  .footer-about{ margin-top:16px; font-size:.9rem; line-height:1.7; color:rgba(255,255,255,.62); max-width:38ch; }
  .footer-contact2{ margin-top:18px; display:flex; flex-direction:column; gap:9px; }
  .footer-contact2 li{ display:flex; gap:9px; align-items:flex-start; font-size:.86rem; color:rgba(255,255,255,.72); }
  .footer-contact2 svg{ width:15px; height:15px; flex:none; margin-top:3px; color:var(--teal); }
  .footer-contact2 a{ color:rgba(255,255,255,.82); }
  .footer-contact2 a:hover{ color:#fff; }
  .footer-links h5{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
  .footer-links ul{ display:flex; flex-direction:column; gap:13px; }
  .footer-links a{ color:rgba(255,255,255,.72); font-size:.95rem; transition:color .2s; }
  .footer-links a:hover{ color:#fff; }
  .footer-social{ display:flex; gap:13px; align-items:flex-start; }
  .footer-social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.09); display:flex; align-items:center; justify-content:center; color:#fff; transition:background .2s, transform .15s; }
  .footer-social a:hover{ background:var(--red); transform:translateY(-2px); }
  .footer-social svg{ width:18px; height:18px; }
  .footer-divider{ height:1px; background:rgba(255,255,255,.16); }
  .footer-bottom2{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0 30px; flex-wrap:wrap; font-size:.84rem; color:rgba(255,255,255,.6); }
  .footer-legal{ display:flex; gap:18px; flex-wrap:wrap; }
.fl-sitemap{display:inline-flex;align-items:center;gap:6px}.fl-sitemap svg{flex:none}
  .footer-legal a{ color:rgba(255,255,255,.6); }
  .footer-legal a:hover{ color:#fff; }
  @media (max-width:860px){ .footer-top{ grid-template-columns:1fr 1fr; } .footer-social{ grid-column:1 / -1; } }
  @media (max-width:520px){ .footer-top{ grid-template-columns:1fr; } }

  /* Footer TM refinement: clearer diagonal lines + readable text */
  .site-footer::before{ content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(102deg, transparent 0, transparent 255px, rgba(255,255,255,.085) 255px, rgba(255,255,255,.085) 256px); pointer-events:none; }
  .footer-about{ color:rgba(255,255,255,.74) !important; }
  .footer-links a{ color:rgba(255,255,255,.82) !important; }
  .footer-links a:hover{ color:#fff !important; }
  .footer-contact2 li{ color:rgba(255,255,255,.8) !important; }
  .footer-bottom2{ color:rgba(255,255,255,.72) !important; }
  .footer-legal a{ color:rgba(255,255,255,.72) !important; }

  /* Explore More: TM behaviour — B&W default, colour on hover, bigger first card */
  .xm-track{ align-items:flex-start; }
  .xm-card{ flex:0 0 340px; height:380px; }
  .xm-card:first-child{ flex:0 0 404px; height:444px; }
  .xm-img{ filter:grayscale(1) contrast(1.04); transition:filter .45s var(--ease), transform .55s var(--ease); }
  .xm-card:hover .xm-img{ filter:grayscale(0) saturate(1.05) contrast(1.03); transform:scale(1.07); }
  .xm-card:first-child .xm-cap h3{ font-size:1.6rem; }
  @media (hover:none){ .xm-img{ filter:none; } }
  @media (max-width:620px){ .xm-card{ flex:0 0 260px; height:330px; } .xm-card:first-child{ flex:0 0 300px; height:380px; } }

  /* Task3: segments three-box hover — Read more red + red bold bottom line */
  .pillar-card{ position:relative; overflow:hidden; }
  .pillar-card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
  .pillar-card:hover::after{ transform:scaleX(1); }
  .pillar-card:hover .pillar-link{ color:var(--red); }
  .pillar-card:hover .pillar-link svg{ stroke:var(--red); }
  /* Task1: Explore More — lead (front) card bigger dynamically */
  .xm-card:first-child{ flex:0 0 340px; height:380px; }
  .xm-card{ transition:flex-basis .5s var(--ease), height .5s var(--ease), filter .45s var(--ease); }
  .xm-card.is-lead{ flex:0 0 404px !important; height:444px !important; }
  .xm-card.is-lead .xm-cap h3{ font-size:1.6rem; }
  @media (max-width:620px){ .xm-card.is-lead{ flex:0 0 300px !important; height:380px !important; } }

  /* Clearer TM-style lines */
  .site-footer::before{ background-image:repeating-linear-gradient(105deg, transparent 0, transparent 258px, rgba(255,255,255,.16) 258px, rgba(255,255,255,.16) 259px) !important; }
  .expertise-tm::before{ background-image:repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 1px, transparent 1px 60px) !important; }
  /* Task3: Expertise arrow -> "Know More" red on hover */
  .exp-arrow{ text-decoration:none; overflow:hidden; padding:0; transition:width .3s var(--ease), padding .3s var(--ease), background .3s, color .3s, border-radius .3s, box-shadow .3s; }
  .exp-arrow-text{ max-width:0; opacity:0; white-space:nowrap; overflow:hidden; font-family:var(--ff-display); font-weight:700; font-size:.82rem; letter-spacing:.02em; transition:max-width .35s var(--ease), opacity .3s var(--ease) .05s, margin .35s var(--ease); }
  .exp-card:hover .exp-arrow{ width:auto; height:42px; padding:0 16px; border-radius:22px; background:transparent; color:var(--red); box-shadow:none; }
  .exp-card:hover .exp-arrow-text{ max-width:150px; opacity:1; margin-right:8px; }
  .exp-card:hover .exp-arrow svg{ stroke:var(--red); }

  /* Header nav: CAPS, RED underline hover; colour follows scroll-state for clarity */
  .site-header .nav-links a{ text-transform:uppercase; letter-spacing:.045em; font-weight:600; font-size:.84rem; }
  .site-header .nav-links a::after{ background:var(--red) !important; height:2px; }
  .site-header:not(.is-scrolled) .brand-word{ color:#fff !important; }
  .site-header:not(.is-scrolled) .brand-word span{ color:var(--red) !important; }
  .site-header:not(.is-scrolled) .brand-tag{ color:rgba(255,255,255,.85) !important; }
  .site-header:not(.is-scrolled) .nav-links > li > a{ color:#fff !important; }
  .site-header:not(.is-scrolled) .nav-links > li > a.is-active{ color:#fff !important; }
  .site-header:not(.is-scrolled) .nav-links > li > a.is-active::after{ background:var(--red) !important; }
  .site-header:not(.is-scrolled) .nav-toggle span{ background:#fff !important; }
  .site-header:not(.is-scrolled) .caret{ color:#fff; }
  .site-header.is-scrolled .nav-links > li > a{ color:#16395A !important; }
  .site-header.is-scrolled .nav-links > li > a.is-active{ color:var(--red) !important; }
  .site-header.is-scrolled .brand-word{ color:#0A1B2C !important; }
  .site-header.is-scrolled .brand-word span{ color:var(--red) !important; }
  .site-header.is-scrolled .nav-toggle span{ background:#16395A !important; }
  /* Our Core Capabilities arrows -> RED on hover */
  .tl-arrow:hover{ background:transparent !important; border-color:var(--red) !important; color:var(--red) !important; }
  /* Expertise (Why Mezux Touch) nav arrows -> RED on hover */
  .exp-nav button:hover{ background:var(--red) !important; }


  .page{ display:none; }
  .page.is-active{ display:block; animation:pageIn .45s var(--ease); }
  @keyframes pageIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

  .ihero{ background:var(--ink); color:#fff; padding:70px 0 60px; position:relative; overflow:hidden; }
  .ihero::after{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(118deg,rgba(255,255,255,.025) 0 1px,transparent 1px 64px); pointer-events:none; }
  .ihero .container{ position:relative; z-index:1; }
  .icrumb{ font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.04em; color:var(--muted-light); margin-bottom:18px; display:flex; gap:9px; align-items:center; }
  .icrumb a{ color:var(--muted-light); transition:color .25s var(--ease); }
  .icrumb a:hover{ color:var(--red); }
  .icrumb b{ color:#fff; font-weight:600; }
  .ihero h1{ font-family:var(--ff-display); font-weight:800; font-size:clamp(2rem,4.2vw,3rem); line-height:1.08; letter-spacing:-.015em; max-width:20ch; margin:.2em 0 0; }
  .ihero-sub{ color:var(--muted-light); font-size:1.06rem; line-height:1.7; max-width:62ch; margin-top:18px; }
  .pchips{ margin-top:22px; display:flex; flex-wrap:wrap; gap:12px; }
  .pchip{ font-family:var(--ff-mono); font-size:.74rem; color:var(--text-light); background:var(--ink-2); border:1px solid var(--ink-3); border-radius:999px; padding:8px 16px; }

  .ibody{ background:var(--paper-2); padding:60px 0; }
  .ibody-wrap{ max-width:880px; }
  .ibody-wrap-narrow{ max-width:720px; }
  .ibody h2{ font-family:var(--ff-display); font-weight:700; font-size:1.5rem; color:var(--ink); margin:40px 0 16px; line-height:1.2; }
  .ibody-wrap > h2:first-child, .ibody-wrap > p:first-child{ margin-top:0; }
  .ibody p{ color:#3e4a55; font-size:1.05rem; line-height:1.7; margin:0 0 18px; }
  .ibody ul{ list-style:none; margin:0 0 24px; padding:0; }
  .ibody ul li{ position:relative; padding:10px 0 10px 30px; border-bottom:1px solid #eee7d8; color:#27323c; font-size:1.02rem; }
  .ibody ul li::before{ content:""; position:absolute; left:2px; top:18px; width:10px; height:10px; border:2px solid var(--red); border-radius:50%; }
  .callout{ background:var(--paper); border-left:4px solid var(--red); border-radius:0 8px 8px 0; padding:20px 26px; margin:26px 0; }
  .callout p{ margin:0; color:#2a3640; font-style:italic; }
  .callout a{ color:var(--red-dark); font-weight:600; font-style:normal; }

  .facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin:28px 0; }
  .fact{ background:var(--ink); color:#fff; border-radius:8px; padding:22px 20px; border-bottom:3px solid var(--red); }
  .fact .n{ font-family:var(--ff-display); font-weight:800; font-size:1.7rem; line-height:1; }
  .fact .l{ font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-light); margin-top:8px; }

  .icards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin:22px 0 8px; }
  .icard{ background:#fff; border:1px solid #ece5d6; border-radius:10px; padding:24px 22px; box-shadow:var(--shadow-2); display:block; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s; }
  a.icard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-1); border-color:var(--red); }
  .ic-k{ font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--red); margin-bottom:8px; }
  .ic-h{ font-family:var(--ff-display); font-weight:700; font-size:1.12rem; color:var(--ink); margin-bottom:10px; }
  .icard p{ font-size:.96rem; margin:0; color:#5a6470; line-height:1.6; }
  .ic-more{ display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-family:var(--ff-display); font-weight:700; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); transition:color .25s var(--ease); }
  a.icard:hover .ic-more{ color:var(--red); }

  .svc-block{ padding:30px 0; border-top:1px solid #ece5d6; }
  .svc-block:first-of-type{ border-top:none; padding-top:0; }
  .svc-k{ font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-bottom:6px; }
  .why-k{ display:inline-block; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--red); background:var(--paper); border-radius:999px; padding:7px 16px; margin-bottom:6px; }

  .contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:start; }
  .contact-info h2{ margin-top:0; }
  .cinfo-row{ padding:14px 0; border-bottom:1px solid #ece5d6; }
  .ci-k{ font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:#9aa4ae; margin-bottom:4px; }
  .cinfo-row a{ color:var(--ink); font-weight:600; transition:color .25s var(--ease); }
  .cinfo-row a:hover{ color:var(--red); }

  .iform{ background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:28px; box-shadow:var(--shadow-2); }
  .iform h3{ font-family:var(--ff-display); font-weight:700; font-size:1.2rem; color:var(--ink); margin:0 0 18px; }
  .i-row{ margin-bottom:14px; }
  .i-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
  .iform input, .iform textarea, .iform select{ width:100%; font-family:var(--ff-body); font-size:.96rem; padding:13px 15px; border:1px solid #d9d2c4; border-radius:8px; background:#fcfaf5; color:var(--ink); transition:border-color .2s; }
  .iform input:focus, .iform textarea:focus, .iform select:focus{ outline:none; border-color:var(--red); }
  .iform .i-honey{ display:none !important; }
  .iform button{ margin-top:6px; }

  .faq-list{ max-width:820px; }
  .faq-item{ border-bottom:1px solid #e6dfd0; }
  .faq-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; font-family:var(--ff-display); font-weight:700; font-size:1.06rem; color:var(--ink); padding:22px 44px 22px 0; position:relative; }
  .faq-ic{ position:absolute; right:6px; top:50%; width:18px; height:18px; transform:translateY(-50%); }
  .faq-ic::before,.faq-ic::after{ content:""; position:absolute; background:var(--red); border-radius:2px; transition:transform .3s var(--ease); }
  .faq-ic::before{ left:0; top:8px; width:18px; height:2px; }
  .faq-ic::after{ left:8px; top:0; width:2px; height:18px; }
  .faq-item.open .faq-ic::after{ transform:scaleY(0); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
  .faq-a p{ margin:0 0 22px; color:#4a5560; }

  .icta{ background:var(--ink); color:#fff; text-align:center; padding:60px 0; border-top:1px solid var(--ink-3); }
  .icta h2{ font-family:var(--ff-display); font-weight:800; font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:14px; }
  .icta p{ color:var(--muted-light); max-width:560px; margin:0 auto 28px; }
  .icta-ghost{ margin-left:12px; }

  @media (max-width:760px){
    .contact-grid{ grid-template-columns:1fr; gap:26px; }
    .i-2{ grid-template-columns:1fr; }
    .icta-ghost{ margin-left:0; margin-top:12px; }
  }


  /* ---- top utility bar ---- */
  .topbar2{ background:#06121f; color:var(--muted-light); font-size:.78rem; border-bottom:1px solid rgba(255,255,255,.06); position:sticky; top:0; z-index:210; }
  .topbar2 .container{ display:flex; align-items:center; justify-content:space-between; height:38px; gap:18px; }
  .tb-left{ display:flex; align-items:center; gap:20px; }
  .tb-acc{ display:inline-flex; align-items:center; gap:7px; font-family:var(--ff-mono); letter-spacing:.04em; }
  .tb-a{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; width:24px; height:22px; border-radius:5px; cursor:pointer; font-family:var(--ff-display); font-weight:700; font-size:.72rem; transition:background .2s,color .2s; }
  .tb-a:hover{ background:var(--red); border-color:var(--red); }
  .tb-cert b{ color:var(--amber); font-weight:600; }
  .tb-right{ display:flex; align-items:center; gap:20px; }
  .tb-right a{ color:var(--muted-light); transition:color .2s; display:inline-flex; align-items:center; gap:6px; }
  .tb-right a:hover{ color:var(--red); }
  .tb-right .tb-quote{ color:var(--amber); font-weight:600; }
  @media (max-width:900px){ .topbar2 .tb-cert,.topbar2 .tb-right a:not(.tb-quote):not(.tb-help){ display:none; } }
  @media (max-width:560px){ .topbar2 .container{ height:auto; padding-top:6px; padding-bottom:6px; flex-wrap:wrap; gap:8px; } }

  /* the main header sits below the topbar; keep it sticky under topbar */
  .site-header{ top:38px; }
  @media (max-width:560px){ .site-header{ top:0; } }

  /* ---- mega menu ---- */
  .nav-links .has-mega{ position:relative; }
  .nav-links .has-mega > a{ display:inline-flex; align-items:center; gap:6px; }
  .caret{ width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .25s var(--ease); opacity:.8; }
  .has-mega:hover .caret{ transform:rotate(225deg) translateY(2px); }
  .mega{ position:absolute; top:calc(100% + 14px); left:0; background:#fff; border:1px solid #ece5d6; border-radius:14px; box-shadow:0 30px 70px -24px rgba(8,20,33,.5); padding:22px; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s; z-index:320; }
  .has-mega:hover .mega, .has-mega.open .mega{ opacity:1; visibility:visible; transform:none; }
  .mega::before{ content:""; position:absolute; top:-14px; left:0; right:0; height:14px; } /* hover bridge */
  .mega-title{ font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--red); margin:0 0 12px; }
  .mega-list{ list-style:none; margin:0; padding:0; min-width:230px; }
  .mega-list li a{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; color:var(--ink); font-weight:600; font-size:.92rem; transition:background .2s,color .2s; white-space:nowrap; }
  .mega-list li a:hover{ background:var(--paper); color:var(--red); }
  .mega-list li a .md{ font-weight:400; font-size:.78rem; color:#8a929b; }
  .mega-2col{ display:grid; grid-template-columns:1fr 1fr; gap:6px 26px; }
  .mega-about{ display:grid; grid-template-columns:1fr 1fr; gap:6px 30px; }
  /* services mega with images */
  .mega-services{ left:50%; transform:translate(-50%,10px); width:min(760px,86vw); }
  .has-mega:hover .mega-services,.has-mega.open .mega-services{ transform:translate(-50%,0); }
  .svc-mega-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  .svc-mega-card{ display:block; border:1px solid #ece5d6; border-radius:12px; overflow:hidden; transition:transform .25s var(--ease),box-shadow .25s,border-color .25s; background:#fff; }
  .svc-mega-card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px -16px rgba(8,20,33,.4); border-color:var(--red); }
  .svc-thumb{ height:84px; display:flex; align-items:center; justify-content:center; color:#fff; }
  .svc-thumb svg{ width:40px; height:40px; }
  .svc-mega-card .t{ padding:11px 13px; font-family:var(--ff-display); font-weight:700; font-size:.9rem; color:var(--ink); }
  .svc-mega-card .d{ padding:0 13px 13px; font-size:.78rem; color:#7a828b; line-height:1.45; }

  @media (max-width:980px){
    .mega, .mega-services{ position:static; transform:none !important; opacity:1; visibility:visible; box-shadow:none; border:none; border-left:2px solid var(--red); border-radius:0; padding:6px 0 6px 16px; width:auto; max-height:0; overflow:hidden; transition:max-height .3s var(--ease); }
    .has-mega.open .mega, .has-mega.open .mega-services{ max-height:1400px; }
    .has-mega:hover .mega, .has-mega:hover .mega-services{ max-height:0; }
    .has-mega.open:hover .mega, .has-mega.open:hover .mega-services{ max-height:1400px; }
    .svc-mega-grid, .mega-about, .mega-2col{ grid-template-columns:1fr; }
    .mega-list li a{ color:#fff; }
    .mega-list li a .md{ color:var(--muted-light); }
    .svc-mega-card{ background:transparent; border-color:rgba(255,255,255,.12); }
    .svc-mega-card .t{ color:#fff; } .svc-mega-card .d{ color:var(--muted-light); }
    .mega-title{ color:var(--amber); }
  }

  /* ---- human verification ---- */
  .hverify{ background:var(--paper); border:1px dashed #cdbf9e; border-radius:8px; padding:12px 14px; margin:4px 0 16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .hverify label{ font-size:.86rem; font-weight:600; color:var(--ink); }
  .hverify .hv-input{ width:120px !important; }

  /* ---- chat widget ---- */
  .chat-launch{ position:fixed; right:24px; bottom:152px; z-index:240; display:inline-flex; align-items:center; gap:9px; background:var(--red); color:#fff; border:none; cursor:pointer; padding:13px 18px; border-radius:999px; font-family:var(--ff-display); font-weight:700; font-size:.86rem; box-shadow:0 14px 30px -8px rgba(222,42,30,.5); transition:transform .2s; }
  .chat-launch:hover{ transform:translateY(-2px); }
  .chat-launch svg{ width:18px; height:18px; }
  .chat-panel{ position:fixed; right:24px; bottom:152px; width:min(330px,90vw); background:#fff; border-radius:16px; box-shadow:0 30px 80px -20px rgba(8,20,33,.55); z-index:241; overflow:hidden; transform:translateY(20px) scale(.96); opacity:0; visibility:hidden; transition:.28s var(--ease); }
  .chat-panel.open{ transform:none; opacity:1; visibility:visible; }
  .chat-head{ background:var(--ink); color:#fff; padding:18px 20px; }
  .chat-head h4{ font-family:var(--ff-display); font-size:1.05rem; margin:0; }
  .chat-head p{ font-size:.8rem; color:var(--muted-light); margin:4px 0 0; }
  .chat-x{ position:absolute; top:14px; right:16px; background:none; border:none; color:#fff; font-size:1.4rem; cursor:pointer; line-height:1; }
  .chat-body{ padding:16px; display:flex; flex-direction:column; gap:10px; }
  .chat-opt{ display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid #ece5d6; border-radius:10px; color:var(--ink); font-weight:600; font-size:.9rem; transition:border-color .2s,background .2s,color .2s; }
  .chat-opt:hover{ border-color:var(--red); color:var(--red); background:var(--paper); }
  .chat-opt .ci{ width:34px; height:34px; flex:none; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--paper); color:var(--red); }
  .chat-opt .ci svg{ width:18px; height:18px; }
  @media (max-width:560px){ .chat-launch,.chat-panel{ bottom:140px; } }

  /* ---- testimonials / cards reused ---- */
  .quote-card{ background:#fff; border:1px solid #ece5d6; border-radius:14px; padding:26px; box-shadow:var(--shadow-2); }
  .quote-card .qm{ font-size:2.6rem; line-height:.6; color:var(--red); font-family:var(--ff-display); }
  .quote-card p{ font-style:italic; color:#3a4550; margin:10px 0 16px; }
  .quote-card .qa{ font-family:var(--ff-display); font-weight:700; color:var(--ink); font-size:.95rem; }
  .quote-card .qr{ font-size:.8rem; color:#8a929b; }
  .dl-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
  .dl-card{ background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:22px; display:flex; flex-direction:column; gap:8px; transition:transform .2s,border-color .2s,box-shadow .2s; }
  .dl-card:hover{ transform:translateY(-3px); border-color:var(--red); box-shadow:var(--shadow-1); }
  .dl-card .dl-ic{ width:40px; height:40px; color:var(--red); }
  .dl-card a.dl-go{ margin-top:auto; color:var(--red); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; display:inline-flex; gap:6px; align-items:center; }

  /* ---- teaser strip wrapper ---- */
  .teaser{ border-top:1px solid #ece5d6; }


  .tb-needhelp{ background:none; border:none; cursor:pointer; color:var(--muted-light); font-family:var(--ff-body); font-size:.78rem; display:inline-flex; align-items:center; gap:7px; transition:color .2s; padding:0; }
  .tb-needhelp:hover{ color:#fff; }
  .nh-dot{ width:7px; height:7px; border-radius:50%; background:#3ddc84; animation:nhpulse 2s infinite; }
  @keyframes nhpulse{ 0%{ box-shadow:0 0 0 0 rgba(61,220,132,.5);} 70%{ box-shadow:0 0 0 7px rgba(61,220,132,0);} 100%{ box-shadow:0 0 0 0 rgba(61,220,132,0);} }
  @media (max-width:900px){ .tb-needhelp{ display:none; } }
  .back-to-top{ left:24px !important; right:auto !important; width:46px; overflow:hidden; gap:0; }
  .back-to-top .bt-label{ font-family:var(--ff-display); font-weight:700; font-size:.76rem; letter-spacing:.1em; max-width:0; opacity:0; white-space:nowrap; transition:max-width .25s var(--ease), opacity .2s, margin-left .25s var(--ease); }
  .back-to-top:hover{ width:auto !important; border-radius:24px; padding:0 18px 0 14px; background:var(--red) !important; }
  .back-to-top:hover .bt-label{ max-width:60px; opacity:1; margin-left:8px; }
  .chat-launch{ bottom:24px !important; right:24px !important; padding:13px 20px; box-shadow:0 16px 36px -10px rgba(222,42,30,.55); }
  .chat-launch::after{ content:""; position:absolute; top:-3px; right:-3px; width:13px; height:13px; border-radius:50%; background:#3ddc84; border:2px solid #fff; }
  .chat-panel{ bottom:24px !important; right:24px !important; width:min(340px,92vw); border-radius:18px; }
  .chat-head{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink-3) 100%) !important; padding:20px 22px !important; }
  .chat-head h4{ font-size:1.12rem !important; }
  .chat-status{ display:inline-flex; align-items:center; gap:7px; font-size:.74rem; color:#bfe9d2; margin-top:6px; }
  .chat-status::before{ content:""; width:8px; height:8px; border-radius:50%; background:#3ddc84; }
  .chat-opt{ padding:13px 15px; border-radius:12px; }
  .chat-foot{ padding:0 16px 16px; font-size:.74rem; color:#9aa4ae; text-align:center; }


  /* ---------- Accessibility (Indique-style) ---------- */
  .acc-wrap{ position:relative; display:inline-flex; }
  .acc-btn{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); color:#fff; cursor:pointer; padding:5px 12px 5px 9px; border-radius:999px; font-family:var(--ff-body); font-size:.76rem; font-weight:600; letter-spacing:.02em; transition:background .2s,border-color .2s; }
  .acc-btn svg{ width:17px; height:17px; }
  .acc-btn:hover{ background:var(--red); border-color:var(--red); }
  .acc-pop{ position:absolute; top:calc(100% + 12px); left:0; width:300px; background:#fff; border-radius:16px; box-shadow:0 30px 70px -20px rgba(8,20,33,.5); padding:20px; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s; z-index:330; }
  .acc-pop.open{ opacity:1; visibility:visible; transform:none; }
  .acc-pop::before{ content:""; position:absolute; top:-7px; left:24px; width:14px; height:14px; background:#fff; transform:rotate(45deg); box-shadow:-3px -3px 8px -4px rgba(8,20,33,.2); }
  .acc-pop-head{ font-family:var(--ff-display); font-weight:700; font-size:1.18rem; color:var(--ink); padding-bottom:14px; border-bottom:1px solid #ece5d6; margin-bottom:14px; }
  .acc-row{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid #f1ece0; }
  .acc-label{ font-size:.92rem; font-weight:600; color:#2a3640; }
  .acc-size{ display:inline-flex; gap:6px; }
  .acc-size .tb-a{ width:32px; height:30px; border-radius:8px; background:#f3eee3; border:1px solid #e2d9c6; color:var(--ink); font-family:var(--ff-display); font-weight:700; font-size:.82rem; cursor:pointer; transition:all .18s; }
  .acc-size .tb-a:hover,.acc-size .tb-a.active{ background:var(--amber); border-color:var(--amber); color:var(--ink); }
  .acc-switch{ width:46px; height:26px; border-radius:999px; background:#d8d0c0; border:none; cursor:pointer; position:relative; transition:background .25s; padding:0; }
  .acc-switch[aria-checked="true"]{ background:var(--teal-dark); }
  .acc-knob{ position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; transition:left .25s var(--ease); box-shadow:0 2px 5px rgba(0,0,0,.25); }
  .acc-switch[aria-checked="true"] .acc-knob{ left:23px; }
  .acc-contact{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:14px; color:var(--red); font-family:var(--ff-display); font-weight:700; font-size:.92rem; }
  .acc-contact:hover{ color:var(--red-dark); }
  .acc-contact svg{ flex:none; }
  @media (max-width:560px){ .acc-pop{ width:min(300px,86vw); } }

  /* High contrast mode — strong, accessible overrides */
  html.hc-mode{ filter:contrast(1.15); }
  html.hc-mode body{ background:#fff !important; color:#000 !important; }
  /* All text forced to near-black for maximum legibility */
  html.hc-mode body, html.hc-mode p, html.hc-mode li, html.hc-mode span,
  html.hc-mode h1, html.hc-mode h2, html.hc-mode h3, html.hc-mode h4, html.hc-mode h5, html.hc-mode h6,
  html.hc-mode .ihero-sub, html.hc-mode .icard p, html.hc-mode .ibody p, html.hc-mode .lede,
  html.hc-mode .ad-h, html.hc-mode .ad-body p, html.hc-mode .exp-card h4, html.hc-mode .exp-card p,
  html.hc-mode .footer-about, html.hc-mode .footer-contact2 li, html.hc-mode .tc-name,
  html.hc-mode .tc-org, html.hc-mode .tc-loc, html.hc-mode blockquote{ color:#000 !important; }
  /* Accent labels become strong dark red (passes contrast on white) */
  html.hc-mode .eyebrow, html.hc-mode .ic-k, html.hc-mode .svc-k, html.hc-mode .mega-title,
  html.hc-mode .ad-sub{ color:#8a0d04 !important; }
  /* Dark sections flipped to white so text is readable */
  html.hc-mode .ad-section, html.hc-mode .ad-box, html.hc-mode .ad-box.is-open,
  html.hc-mode .exp-card, html.hc-mode .hear-sec, html.hc-mode .tcard,
  html.hc-mode .site-footer{ background:#fff !important; }
  html.hc-mode .ad-icon, html.hc-mode .ad-plus::before, html.hc-mode .ad-plus::after{ color:#000 !important; background:#000; }
  html.hc-mode .ad-icon{ background:transparent; }
  /* Underline every meaningful link for clarity */
  html.hc-mode a:not(.btn):not(.chat-opt):not(.acc-contact):not(.coverage-chip):not(.svc-mega-card):not(.brand){ text-decoration:underline !important; }
  /* Strong black borders on all cards/boxes/forms */
  html.hc-mode .icard, html.hc-mode .quote-card, html.hc-mode .iform, html.hc-mode .dl-card,
  html.hc-mode .ad-box, html.hc-mode .exp-card, html.hc-mode .tcard,
  html.hc-mode .footer-divider{ border:2px solid #000 !important; }
  /* Visible focus outline for keyboard users */
  html.hc-mode a:focus, html.hc-mode button:focus, html.hc-mode input:focus,
  html.hc-mode textarea:focus, html.hc-mode select:focus{ outline:3px solid #8a0d04 !important; outline-offset:2px; }
  /* Buttons keep solid fills with clear borders */
  html.hc-mode .btn, html.hc-mode .ad-more, html.hc-mode .lead-start{ border:2px solid #000 !important; }

  /* ---------- Need Help? pill + circle (Indique-style) ---------- */
  .chat-launch{ background:transparent !important; border:none !important; padding:0 !important; box-shadow:none !important; display:inline-flex !important; align-items:center; bottom:24px !important; right:24px !important; transition:transform .2s; }
  .chat-launch:hover{ transform:translateY(-2px); }
  .chat-launch::after{ display:none !important; }
  .cl-text{ background:#fff; border-radius:30px; padding:9px 30px 9px 20px; margin-right:-26px; text-align:left; box-shadow:0 12px 30px -10px rgba(8,20,33,.35); }
  .cl-text b{ display:block; font-family:var(--ff-display); font-weight:700; font-size:.94rem; color:var(--ink); line-height:1.15; }
  .cl-text em{ font-style:normal; font-size:.78rem; color:var(--red); font-weight:600; }
  .cl-circle{ position:relative; width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%); display:flex; align-items:center; justify-content:center; color:#fff; flex:none; box-shadow:0 8px 22px -4px rgba(222,42,30,.6); }
  .cl-circle svg{ width:26px; height:26px; }
  .cl-dot{ position:absolute; top:1px; right:1px; width:15px; height:15px; border-radius:50%; background:#3ddc84; border:2.5px solid #fff; }
  @media (max-width:560px){ .cl-text{ display:none; } .cl-circle{ width:56px; height:56px; } }


  /* Proven Delivery: text to max width */
  #proven-projects .ad-head{ max-width:none; }
  #proven-projects .ad-intro{ max-width:none; }
  #proven-projects .ad-sub{ max-width:none; }

  /* ============ Pan-India route: RED zig-zag draws -> turns GREEN (corridor done) -> repeat ============ */
  .route-bar .rb-fill{ stroke:var(--red); stroke-width:3.4; stroke-dasharray:300; stroke-dashoffset:300; animation:rbDraw 4.6s var(--ease) infinite; }
  @keyframes rbDraw{
    0%   { stroke-dashoffset:300; stroke:#DE2A1E; opacity:1; }
    3%   { opacity:1; }
    42%  { stroke-dashoffset:0;   stroke:#DE2A1E; opacity:1; }   /* fully drawn in RED */
    52%  { stroke-dashoffset:0;   stroke:#18A957; }              /* corridor COMPLETE -> green */
    90%  { stroke-dashoffset:0;   stroke:#18A957; opacity:1; }   /* hold green */
    98%  { stroke-dashoffset:0;   stroke:#18A957; opacity:0; }   /* fade out while complete */
    100% { stroke-dashoffset:300; stroke:#DE2A1E; opacity:0; }   /* reset invisibly */
  }
  /* endpoint dots: end dot greens when complete */
  .route-bar .rb-dot{ fill:var(--red); }
  .route-bar .rb-dot.rb-end{ animation:rbEnd 4.6s var(--ease) infinite; }
  @keyframes rbEnd{ 0%,46%{ fill:#DE2A1E; } 54%,100%{ fill:#18A957; } }
  /* stagger the cards so they don't all move together */
  .route-card:nth-of-type(2) .rb-fill,.route-card:nth-of-type(2) .rb-end{ animation-delay:.5s; }
  .route-card:nth-of-type(3) .rb-fill,.route-card:nth-of-type(3) .rb-end{ animation-delay:1.0s; }
  .route-card:nth-of-type(4) .rb-fill,.route-card:nth-of-type(4) .rb-end{ animation-delay:1.5s; }
  .route-card:nth-of-type(5) .rb-fill,.route-card:nth-of-type(5) .rb-end{ animation-delay:2.0s; }
  @media (prefers-reduced-motion:reduce){ .route-bar .rb-fill{ animation:none; stroke:#18A957; stroke-dashoffset:0; } .route-bar .rb-dot.rb-end{ animation:none; fill:#18A957; } }

  /* ============ Chatbot UI ============ */
  .chat-panel{ display:flex; flex-direction:column; height:540px; max-height:82vh; }
  .chat-body{ flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; padding:0 !important; }
  .chat-lead{ padding:18px 16px; overflow-y:auto; }
  .cmsg{ max-width:88%; padding:11px 14px; border-radius:14px; font-size:.9rem; line-height:1.5; margin-bottom:10px; }
  .cmsg-bot{ background:#f1ece1; color:#2a3640; border-bottom-left-radius:4px; align-self:flex-start; }
  .cmsg-bot b{ color:var(--ink); }
  .cmsg-bot a{ color:var(--red); font-weight:600; text-decoration:underline; }
  .cmsg-user{ background:var(--red); color:#fff; border-bottom-right-radius:4px; align-self:flex-end; margin-left:auto; }
  .lead-fields{ display:flex; flex-direction:column; gap:9px; margin-top:4px; }
  .lead-fields input{ width:100%; padding:12px 14px; border:1px solid #ded6c6; border-radius:10px; font-family:var(--ff-body); font-size:.92rem; background:#fcfaf5; color:var(--ink); }
  .lead-fields input:focus{ outline:none; border-color:var(--red); }
  .lead-err{ color:var(--red); font-size:.8rem; min-height:1em; margin:8px 2px 0; }
  .lead-start{ width:100%; margin-top:10px; background:var(--red); color:#fff; border:none; border-radius:10px; padding:13px; font-family:var(--ff-display); font-weight:700; font-size:.95rem; cursor:pointer; transition:background .2s; }
  .lead-start:hover{ background:var(--red-dark); }
  .chat-thread{ flex:1; min-height:0; display:flex; flex-direction:column; }
  .chat-msgs{ flex:1; min-height:0; overflow-y:auto; padding:16px; display:flex; flex-direction:column; }
  .chat-typing{ align-self:flex-start; background:#f1ece1; border-radius:14px; padding:12px 16px; margin-bottom:10px; }
  .chat-typing span{ display:inline-block; width:7px; height:7px; border-radius:50%; background:#9aa4ae; margin:0 2px; animation:ctype 1.2s infinite; }
  .chat-typing span:nth-child(2){ animation-delay:.2s; } .chat-typing span:nth-child(3){ animation-delay:.4s; }
  @keyframes ctype{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-4px); opacity:1; } }
  .chat-quick{ display:flex; gap:7px; flex-wrap:wrap; padding:8px 12px; border-top:1px solid #eee7d8; }
  .chat-quick button{ background:#f3eee3; border:1px solid #e2d9c6; color:var(--ink); border-radius:999px; padding:7px 13px; font-size:.78rem; font-weight:600; cursor:pointer; transition:all .18s; font-family:var(--ff-body); }
  .chat-quick button:hover{ background:var(--red); border-color:var(--red); color:#fff; }
  .chat-input-row{ display:flex; gap:8px; padding:10px 12px; border-top:1px solid #eee7d8; }
  .chat-input-row input{ flex:1; border:1px solid #ded6c6; border-radius:999px; padding:11px 16px; font-family:var(--ff-body); font-size:.9rem; background:#fcfaf5; color:var(--ink); }
  .chat-input-row input:focus{ outline:none; border-color:var(--red); }
  .chat-input-row button{ width:42px; height:42px; flex:none; border-radius:50%; background:var(--red); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
  .chat-input-row button:hover{ background:var(--red-dark); }
  .chat-input-row button svg{ width:18px; height:18px; }
  .chat-panel .chat-foot{ border-top:1px solid #eee7d8; }


  /* Trusted-by client logo strip */
  .trust-strip{ background:#fff; border-bottom:1px solid #ece5d6; padding:30px 0; }
  .trust-strip .ts-head{ text-align:center; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#9aa1a8; margin-bottom:20px; }
  .ts-logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 38px; }
  .ts-logo{ font-family:var(--ff-display); font-weight:800; font-size:1.18rem; letter-spacing:-.01em; color:#9aa3ac; filter:grayscale(1); opacity:.78; transition:color .25s,opacity .25s,transform .25s; white-space:nowrap; }
  .ts-logo:hover{ color:var(--ink); opacity:1; transform:translateY(-2px); }
  .ts-logo span{ color:var(--red); }
  .ts-note{ text-align:center; font-size:.7rem; color:#bbb; margin-top:16px; font-style:italic; }

  /* Reviews / ratings */
  .rev-sec{ background:var(--paper); }
  .rev-top{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; margin-bottom:36px; }
  .rev-badge{ display:flex; align-items:center; gap:18px; background:#fff; border:1px solid #ece5d6; border-radius:16px; padding:20px 26px; box-shadow:var(--shadow-2); }
  .rev-score{ font-family:var(--ff-display); font-weight:800; font-size:3rem; line-height:1; color:var(--ink); }
  .rev-stars{ color:var(--amber); font-size:1.1rem; letter-spacing:2px; }
  .rev-sub{ font-size:.82rem; color:var(--muted-dark); margin-top:5px; }
  .rev-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
  .rev-card{ background:#fff; border:1px solid #ece5d6; border-radius:14px; padding:26px; box-shadow:var(--shadow-2); display:flex; flex-direction:column; }
  .rev-card .rc-stars{ color:var(--amber); letter-spacing:2px; margin-bottom:12px; }
  .rev-card p{ color:#3a4550; font-style:italic; line-height:1.6; margin:0 0 18px; flex:1; }
  .rev-card .rc-who{ display:flex; align-items:center; gap:12px; }
  .rev-card .rc-av{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--ink),var(--ink-3)); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--ff-display); font-weight:700; flex:none; }
  .rev-card .rc-name{ font-family:var(--ff-display); font-weight:700; color:var(--ink); font-size:.95rem; }
  .rev-card .rc-role{ font-size:.8rem; color:#8a929b; }


  /* ===== Hear from our clients (IDFC-style: 3-card window + arrows) ===== */
  .hear-sec{ position:relative; overflow:hidden; background:linear-gradient(180deg,#fbf8f1 0%,#f3ece0 100%); padding:64px 0 74px; }
  .hear-head{ text-align:center; max-width:720px; margin:0 auto 34px; padding:0 20px; position:relative; z-index:3; }
  .hear-quote{ font-family:Georgia,serif; font-size:4.4rem; line-height:.6; color:var(--red); background:#fff; width:84px; height:84px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; box-shadow:0 14px 34px -12px rgba(222,42,30,.4); padding-top:26px; }
  .hear-l1{ font-family:var(--ff-display); font-size:1.7rem; color:#3a4550; font-weight:400; margin:0; }
  .hear-l2{ font-family:var(--ff-display); font-size:2.5rem; font-weight:800; color:var(--ink); margin:2px 0 0; letter-spacing:-.02em; }
  .hear-sub{ color:#7a828b; font-size:.95rem; margin:12px 0 0; }

  .hear-inner{ position:relative; max-width:1040px; margin:0 auto; padding:0 8px; z-index:3; }
  .hear-viewport{ overflow:hidden; }
  .hear-track{ display:flex; gap:20px; width:max-content; will-change:transform; padding:8px 0; }
  .tcard{ flex:0 0 320px; width:320px; margin:0; background:linear-gradient(155deg,#8c1622 0%,#5a0e16 55%,#3a0a10 100%); color:#fff; border-radius:18px; padding:26px 24px; display:flex; flex-direction:column; box-shadow:0 22px 44px -22px rgba(90,14,22,.7); min-height:268px; }
  .tc-stars{ color:#FFC24B; letter-spacing:2px; font-size:.95rem; margin-bottom:12px; }
  .tcard blockquote{ margin:0 0 18px; font-size:.98rem; line-height:1.6; color:#fbeef0; flex:1; }
  .tcard figcaption{ display:flex; flex-direction:column; gap:2px; border-top:1px solid rgba(255,255,255,.18); padding-top:13px; }
  .tc-name{ font-family:var(--ff-display); font-weight:700; font-size:1.02rem; }
  .tc-org{ font-size:.82rem; color:#f0c9cd; }
  .tc-loc{ font-size:.76rem; color:#d49aa0; }

  /* nav arrows -> full RED on hover */
  .hear-nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:6; width:48px; height:48px; border-radius:50%; background:#fff; border:1px solid #e7ddcb; color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 10px 26px -10px rgba(8,20,33,.4); transition:background .2s,color .2s,border-color .2s,transform .2s; }
  .hear-nav svg{ width:22px; height:22px; }
  .hear-nav:hover{ background:var(--red); border-color:var(--red); color:#fff; }
  .hear-prev{ left:2px; } .hear-next{ right:2px; }

  /* floating avatars OUTSIDE the 3-card window — span section top->bottom (IDFC-style) */
  .tfloat{ position:absolute; border-radius:50%; object-fit:cover; z-index:1; box-shadow:0 12px 30px -10px rgba(8,20,33,.45); border:4px solid #fff; }
  .tf-l1{ width:92px;  height:92px;  left:4%;   top:4%;     border-color:#3b4b66; }
  .tf-l2{ width:110px; height:110px; left:0.5%; top:22%;    border-color:#caa15a; }
  .tf-l3{ width:66px;  height:66px;  left:5%;   top:41%;    border-color:#8c1622; }
  .tf-l4{ width:100px; height:100px; left:1.5%; top:60%;    border-color:#3b4b66; }
  .tf-l5{ width:74px;  height:74px;  left:4.5%; bottom:5%;  border-color:#caa15a; }
  .tf-r1{ width:96px;  height:96px;  right:4%;   top:6%;    border-color:#caa15a; }
  .tf-r2{ width:108px; height:108px; right:0.5%; top:24%;   border-color:#3b4b66; }
  .tf-r3{ width:64px;  height:64px;  right:5%;   top:43%;   border-color:#8c1622; }
  .tf-r4{ width:100px; height:100px; right:1.5%; top:61%;   border-color:#caa15a; }
  .tf-r5{ width:74px;  height:74px;  right:4.5%; bottom:6%; border-color:#3b4b66; }
  @media (max-width:1360px){ .tfloat{ display:none; } }
  @media (max-width:760px){ .tcard{ flex-basis:270px; width:270px; } .hear-l1{ font-size:1.3rem; } .hear-l2{ font-size:1.9rem; } }

  /* ===== Clients logo strip (scrolling, above footer) ===== */
  .clients-sec{ background:#fff; padding:40px 0 34px; border-top:1px solid #eee7d8; }
  .clients-head{ text-align:center; font-family:var(--ff-display); font-weight:800; font-size:1.15rem; letter-spacing:.01em; color:var(--ink); margin:0 0 24px; }
  .lgo-rail{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
  .lgo-track{ display:flex; align-items:center; gap:26px; width:max-content; animation:lgoScroll 42s linear infinite; }
  .lgo-rail:hover .lgo-track{ animation-play-state:paused; }
  @keyframes lgoScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .lgo-tile{ flex:0 0 auto; height:74px; min-width:150px; padding:0 24px; background:#fff; border:1px solid #eee7d8; border-radius:12px; display:flex; align-items:center; justify-content:center; }
  .lgo-tile img{ max-height:46px; max-width:160px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.72; transition:filter .25s,opacity .25s; }
  .lgo-tile:hover img{ filter:grayscale(0); opacity:1; }
  .lgo-word{ font-family:var(--ff-display); font-weight:800; font-size:1.25rem; color:#7a828b; letter-spacing:-.01em; }
  .lgo-word span{ color:var(--red); }


  .cs-rate{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid #ece5d6; border-radius:14px; padding:16px 22px; margin:18px 0 26px; box-shadow:var(--shadow-2); max-width:480px; }
  .cs-rate-score{ font-family:var(--ff-display); font-weight:800; font-size:2.4rem; line-height:1; color:var(--ink); }
  .cs-rate-stars{ color:var(--amber); letter-spacing:2px; }
  .cs-rate-sub{ font-size:.82rem; color:var(--muted-dark); margin-top:4px; }
  .cs-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; margin-top:8px; }
  .cs-grid .quote-card{ position:relative; }
  .cs-stars{ color:var(--amber); letter-spacing:2px; font-size:.9rem; margin-bottom:6px; }
  .cs-grid .qa{ font-family:var(--ff-display); font-weight:700; color:var(--ink); margin-top:10px; }
  .cs-grid .qr{ font-size:.8rem; color:#8a929b; }
  /* Related interlink block (replaces repeated teasers) */
  .related{ background:var(--paper); }
  .related .rel-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:18px; }
  .rel-card{ display:block; background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:20px 22px; transition:transform .2s,box-shadow .2s,border-color .2s; }
  .rel-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:var(--red); }
  .rel-card .rc-t{ font-family:var(--ff-display); font-weight:700; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .rel-card .rc-t svg{ color:var(--red); flex:none; }
  .rel-card .rc-d{ font-size:.85rem; color:var(--muted-dark); margin-top:6px; line-height:1.5; }


  .why-detail{ margin-top:8px; }
  .why-proof{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:22px 0 4px; }
  .why-proof .wp{ background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:18px 16px; text-align:center; }
  .why-proof .wp-n{ font-family:var(--ff-display); font-weight:800; font-size:1.5rem; color:var(--red-dark); line-height:1.1; }
  .why-proof .wp-l{ font-size:.78rem; color:var(--muted-dark); margin-top:5px; }
  @media (max-width:560px){ .why-proof{ grid-template-columns:1fr; } }


  .util-info{ margin:6px 0 4px; }
  .ui-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
  .ui-step{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:16px; }
  .ui-step .ui-n{ flex:none; width:28px; height:28px; border-radius:50%; background:var(--red); color:#fff; font-family:var(--ff-display); font-weight:700; font-size:.9rem; display:flex; align-items:center; justify-content:center; }
  .ui-step b{ display:block; font-family:var(--ff-display); color:var(--ink); font-size:.92rem; margin-bottom:3px; }
  .ui-step span{ font-size:.82rem; color:var(--muted-dark); line-height:1.45; }
  @media (max-width:680px){ .ui-steps{ grid-template-columns:1fr; } }


  .trk-card{ background:#fff; border:1px solid #ece5d6; border-radius:16px; padding:24px; box-shadow:var(--shadow-2); margin-top:8px; }
  .trk-types{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:18px; }
  .trk-type{ padding:13px 14px; border-radius:10px; border:1.5px solid #e2d9c6; background:#faf7f0; color:var(--ink); font-family:var(--ff-display); font-weight:600; font-size:.9rem; cursor:pointer; transition:all .18s; text-align:left; }
  .trk-type:hover{ border-color:var(--red); }
  .trk-type.is-on{ background:var(--red); border-color:var(--red); color:#fff; }
  .trk-fields .i-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
  .trk-fields input{ width:100%; padding:12px 14px; border:1px solid #ded6c6; border-radius:10px; font-family:var(--ff-body); font-size:.92rem; background:#fcfaf5; color:var(--ink); }
  .trk-fields input:focus{ outline:none; border-color:var(--red); }
  .trk-human{ display:flex; align-items:center; gap:10px; font-size:.9rem; color:#3a4550; cursor:pointer; margin:4px 0 6px; user-select:none; }
  .trk-human input{ position:absolute; opacity:0; width:0; height:0; }
  .trk-check{ width:22px; height:22px; border:2px solid #c9bfa9; border-radius:6px; flex:none; position:relative; transition:all .18s; }
  .trk-human input:checked + .trk-check{ background:var(--teal-dark); border-color:var(--teal-dark); }
  .trk-human input:checked + .trk-check::after{ content:""; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg); }
  .trk-err{ color:var(--red); font-size:.82rem; min-height:1em; margin:6px 0; }
  .trk-report{ margin-top:22px; background:linear-gradient(180deg,#fff,#fbf8f1); border:1px solid #ece5d6; border-radius:16px; padding:26px; box-shadow:var(--shadow-2); }
  .trk-rhead{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #ece5d6; padding-bottom:16px; margin-bottom:20px; }
  .trk-rtitle{ font-family:var(--ff-display); font-weight:800; font-size:1.25rem; color:var(--ink); }
  .trk-badge{ background:#e8f6f1; color:var(--teal-dark); font-weight:700; font-size:.74rem; padding:6px 12px; border-radius:999px; letter-spacing:.04em; }
  .trk-meta{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:22px; }
  .trk-meta .tm{ background:#fff; border:1px solid #ece5d6; border-radius:10px; padding:12px 14px; }
  .trk-meta .tm-k{ font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:#9aa1a8; }
  .trk-meta .tm-v{ font-family:var(--ff-display); font-weight:700; color:var(--ink); margin-top:3px; word-break:break-word; }
  .trk-steps{ position:relative; }
  .trk-stp{ display:flex; gap:14px; padding-bottom:20px; position:relative; }
  .trk-stp:not(:last-child)::before{ content:""; position:absolute; left:13px; top:26px; bottom:-2px; width:2px; background:#e2d9c6; }
  .trk-stp .td{ width:28px; height:28px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; z-index:1; }
  .trk-stp.done .td{ background:var(--teal-dark); color:#fff; }
  .trk-stp.current .td{ background:var(--red); color:#fff; box-shadow:0 0 0 4px rgba(222,42,30,.16); }
  .trk-stp.todo .td{ background:#eee7d8; color:#9aa1a8; }
  .trk-stp .tt{ font-family:var(--ff-display); font-weight:600; color:var(--ink); }
  .trk-stp.todo .tt{ color:#9aa1a8; }
  .trk-stp .ts{ font-size:.8rem; color:var(--muted-dark); margin-top:2px; }
  .trk-note{ font-size:.82rem; color:var(--muted-dark); margin-top:8px; background:#fff7e9; border:1px solid #f0e2c4; border-radius:10px; padding:12px 14px; }
  @media (max-width:560px){ .trk-types,.trk-fields .i-2{ grid-template-columns:1fr; } }


  .csarc-controls{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:18px 0 20px; }
  .csarc-controls select,.csarc-controls input{ padding:11px 14px; border:1px solid #ded6c6; border-radius:10px; font-family:var(--ff-body); font-size:.9rem; background:#fcfaf5; color:var(--ink); }
  .csarc-controls select{ min-width:220px; max-width:100%; } .csarc-controls input{ flex:1; min-width:200px; }
  .csarc-controls select:focus,.csarc-controls input:focus{ outline:none; border-color:var(--red); }
  .csarc-count{ font-size:.82rem; color:var(--muted-dark); }
  .csarc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
  .csa{ background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:18px 18px; box-shadow:var(--shadow-2); display:flex; flex-direction:column; }
  .csa-st{ color:var(--amber); letter-spacing:1.5px; font-size:.82rem; margin-bottom:8px; }
  .csa-t{ font-size:.9rem; color:#3a4550; line-height:1.55; flex:1; }
  .csa-w{ margin-top:12px; border-top:1px solid #f1ece0; padding-top:10px; }
  .csa-n{ font-family:var(--ff-display); font-weight:700; color:var(--ink); font-size:.92rem; }
  .csa-o{ font-size:.78rem; color:#8a929b; }
  .csarc-foot{ text-align:center; margin-top:24px; } .csarc-foot.hide{ display:none; }
  .csarc-empty{ text-align:center; color:var(--muted-dark); padding:30px; }


  /* Leadership */
  .lead-profile{ display:flex; gap:26px; align-items:flex-start; background:#fff; border:1px solid #ece5d6; border-radius:18px; padding:28px; margin:22px 0; box-shadow:var(--shadow-2); }
  .lead-profile.alt{ background:var(--paper); }
  .lead-av{ flex:none; width:148px; height:148px; border-radius:18px; background:linear-gradient(140deg,var(--ink),var(--ink-3)); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; box-shadow:0 16px 36px -14px rgba(10,27,44,.6); }
  .lead-av span{ font-family:var(--ff-display); font-weight:800; font-size:2.6rem; letter-spacing:.04em; }
  .lead-av em{ position:absolute; bottom:8px; font-style:normal; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); }
  .lead-av-2{ background:linear-gradient(140deg,#8c1622,#5a0e16); }
  .lead-role{ font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--red); }
  .lead-name{ font-family:var(--ff-display); font-weight:800; font-size:1.5rem; color:var(--ink); margin:4px 0 10px; }
  .lead-quote{ margin:14px 0 0; padding:14px 18px; border-left:3px solid var(--red); background:#faf7f0; border-radius:0 10px 10px 0; font-style:italic; color:#3a4550; }
  .lead-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:30px 0; }
  .lead-stats .ls{ background:linear-gradient(160deg,var(--ink),var(--ink-2)); color:#fff; border-radius:14px; padding:22px 16px; text-align:center; }
  .lead-stats .ls-n{ font-family:var(--ff-display); font-weight:800; font-size:2rem; color:var(--teal); line-height:1; }
  .lead-stats .ls-l{ font-size:.78rem; color:var(--muted-light); margin-top:6px; }
  .lead-vals{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin:18px 0 10px; }
  .lv{ background:#fff; border:1px solid #ece5d6; border-radius:14px; padding:22px; }
  .lv-ic{ width:44px; height:44px; border-radius:11px; background:#fdeceb; color:var(--red); display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
  .lv-ic svg{ width:23px; height:23px; }
  .lv-t{ font-family:var(--ff-display); font-weight:700; color:var(--ink); margin-bottom:5px; }
  .lv p{ font-size:.86rem; color:var(--muted-dark); line-height:1.55; margin:0; }
  @media (max-width:680px){ .lead-profile{ flex-direction:column; align-items:center; text-align:center; } .lead-quote{ text-align:left; } .lead-stats{ grid-template-columns:repeat(2,1fr); } }

  /* Mission & Vision */
  .mv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:10px 0 30px; }
  .mv-card{ border-radius:18px; padding:30px; box-shadow:var(--shadow-2); }
  .mv-mission{ background:linear-gradient(160deg,var(--ink),var(--ink-3)); color:#fff; }
  .mv-vision{ background:#fff; border:1px solid #ece5d6; }
  .mv-ic{ width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .mv-mission .mv-ic{ background:rgba(34,214,190,.16); color:var(--teal); }
  .mv-vision .mv-ic{ background:#fdeceb; color:var(--red); }
  .mv-ic svg{ width:28px; height:28px; }
  .mv-k{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
  .mv-mission .mv-k{ color:var(--teal); } .mv-vision .mv-k{ color:var(--red); }
  .mv-mission p{ color:#dbe6ef; line-height:1.65; } .mv-vision p{ color:#3a4550; line-height:1.65; }
  .mv-aim{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
  .mv-aim span{ background:#faf7f0; border:1px solid #ece5d6; border-radius:999px; padding:7px 14px; font-size:.78rem; font-weight:600; color:var(--ink); }
  .mv-vals{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin-top:18px; }
  .mvv{ background:#fff; border:1px solid #ece5d6; border-radius:14px; padding:22px; text-align:center; }
  .mvv-ic{ width:50px; height:50px; border-radius:50%; background:linear-gradient(140deg,var(--red),var(--red-dark)); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
  .mvv-ic svg{ width:25px; height:25px; }
  .mvv-t{ font-family:var(--ff-display); font-weight:700; color:var(--ink); margin-bottom:5px; }
  .mvv p{ font-size:.84rem; color:var(--muted-dark); line-height:1.5; margin:0; }
  @media (max-width:680px){ .mv-grid{ grid-template-columns:1fr; } }


  .lead-av-photo{ padding:0; overflow:hidden; background:#0A1B2C; }
  .lead-av-photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }


  .ihero-tight{ padding-bottom:0; }
  .hear-onpage{ padding-top:30px; }
  .hear-static .hear-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; max-width:1100px; margin:0 auto; }
  .hear-static .tcard{ flex:none; width:auto; }
  .cs-rate2{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid #ece5d6; border-radius:14px; padding:16px 22px; margin:26px auto 0; box-shadow:var(--shadow-2); max-width:480px; }
  .cs-rate2 .cs-rate-score{ font-family:var(--ff-display); font-weight:800; font-size:2.4rem; line-height:1; color:var(--ink); }
  .cs-rate2 .cs-rate-stars{ color:var(--amber); letter-spacing:2px; }
  .cs-rate2 .cs-rate-sub{ font-size:.82rem; color:var(--muted-dark); margin-top:4px; }
  .hear-cta{ text-align:center; margin-top:28px; position:relative; z-index:3; }
  .hear-link{ color:inherit; text-decoration:none; border-bottom:2px solid transparent; transition:color .18s,border-color .18s; } .hear-link:hover{ color:var(--red); border-bottom-color:var(--red); }
  /* Home-page clickable headings: red on hover + bold red underline, click -> related page */
  .hp-link{ color:inherit; text-decoration:none; cursor:pointer; display:inline; border-bottom:3px solid transparent; transition:color .18s var(--ease), border-color .18s var(--ease); }
  .hp-link:hover{ color:var(--red); border-bottom-color:var(--red); }


  .ct-extras{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
  .ct-x{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:16px; }
  .ct-ic{ width:40px; height:40px; flex:none; border-radius:10px; background:#fdeceb; color:var(--red); display:flex; align-items:center; justify-content:center; }
  .ct-ic svg{ width:21px; height:21px; }
  .ct-x b{ display:block; font-family:var(--ff-display); color:var(--ink); font-size:.92rem; margin-bottom:3px; }
  .ct-x span{ font-size:.82rem; color:var(--muted-dark); line-height:1.45; }
  .ct-map{ border-radius:14px; overflow:hidden; border:1px solid #ece5d6; height:320px; }
  .ct-map iframe{ width:100%; height:100%; border:0; display:block; }
  .qp-steps{ display:grid; gap:14px; margin:16px 0; }
  .qp{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:18px; }
  .qp-n{ flex:none; width:34px; height:34px; border-radius:50%; background:var(--red); color:#fff; font-family:var(--ff-display); font-weight:800; display:flex; align-items:center; justify-content:center; }
  .qp-b b{ font-family:var(--ff-display); color:var(--ink); }
  .qp-b p{ font-size:.86rem; color:var(--muted-dark); margin:3px 0 0; line-height:1.5; }
  .qp-incl{ background:var(--paper); border:1px solid #ece5d6; border-radius:12px; padding:16px 18px; font-size:.88rem; color:#3a4550; line-height:1.6; }
  .qp-incl b{ color:var(--ink); }
  .se-trust{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:6px; }
  .se-t{ background:#fff; border:1px solid #ece5d6; border-radius:12px; padding:16px; text-align:center; }
  .se-t b{ display:block; font-family:var(--ff-display); font-weight:800; font-size:1.4rem; color:var(--red-dark); }
  .se-t span{ font-size:.76rem; color:var(--muted-dark); }
  @media (max-width:680px){ .ct-extras,.se-trust{ grid-template-columns:1fr 1fr; } }


  /* certificate gallery */
  .cert-gallery{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; margin:8px 0 10px; }
  .cert-card{ background:linear-gradient(180deg,#fff,#fbf8f1); border:1px solid #e7ddcb; border-radius:16px; padding:24px 20px; text-align:center; box-shadow:var(--shadow-2); position:relative; }
  .cert-card::before{ content:""; position:absolute; inset:6px; border:1px solid #efe6d4; border-radius:12px; pointer-events:none; }
  .cert-seal{ color:var(--red); width:88px; height:88px; margin:0 auto 12px; }
  .cert-seal svg{ width:100%; height:100%; }
  .cert-k{ font-family:var(--ff-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-dark); }
  .cert-t{ font-family:var(--ff-display); font-weight:800; font-size:1.15rem; color:var(--ink); margin-top:4px; }
  .cert-s{ font-size:.84rem; color:#6a727b; font-weight:600; margin-top:2px; }
  .cert-card p{ font-size:.82rem; color:var(--muted-dark); line-height:1.5; margin:10px 0 0; }
  /* customer-speak rating panel */
  .cs-rpanel{ display:flex; flex-wrap:wrap; gap:26px; align-items:center; background:#fff; border:1px solid #ece5d6; border-radius:16px; padding:22px 26px; margin:26px auto 0; max-width:620px; box-shadow:var(--shadow-2); }
  .cs-rp-left{ text-align:center; }
  .cs-rp-score{ font-family:var(--ff-display); font-weight:800; font-size:3.2rem; line-height:1; color:var(--ink); }
  .cs-rp-stars{ display:flex; gap:2px; justify-content:center; color:var(--amber); margin:4px 0; }
  .cs-rp-stars svg{ width:18px; height:18px; }
  .cs-rp-sub{ font-size:.76rem; color:var(--muted-dark); }
  .cs-rp-bars{ flex:1; min-width:230px; }
  .cs-bar{ display:flex; align-items:center; gap:10px; margin:5px 0; font-size:.78rem; color:#6a727b; }
  .cs-bar span{ width:24px; }
  .cs-bar i{ flex:1; height:8px; background:#f0ebe0; border-radius:99px; overflow:hidden; }
  .cs-bar b{ display:block; height:100%; background:linear-gradient(90deg,var(--amber),var(--red)); border-radius:99px; }
  .cs-bar em{ width:34px; text-align:right; font-style:normal; }


@media(min-width:981px){html.mega-lock .mega,html.mega-lock .mega-services{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(10px)!important}}
.exp-card:hover .exp-arrow{background:var(--red)!important;color:#fff!important;box-shadow:0 6px 14px rgba(222,42,30,.3)!important}
.exp-card:hover .exp-arrow svg{stroke:#fff!important}
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px 26px;margin-top:8px}
.sitemap-col h3{font-family:var(--ff-display);font-weight:800;font-size:1rem;color:var(--red);margin:0 0 14px;text-transform:uppercase;letter-spacing:.04em}
.sitemap-col ul{list-style:none;margin:0;padding:0}
.sitemap-col li{margin:0 0 9px}
.sitemap-col a{color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.sitemap-col a:hover{color:var(--red);border-color:var(--red)}
.ihero-2col{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.ihero-left{min-width:0}
.ihero-right{width:100%;max-width:480px;justify-self:end}
.ihero-right .hero-art-card,.ihero-right .boreline-card{margin-left:auto}
.ihero-right .hero-art-card{background:rgba(251,248,241,.97)}
@media(max-width:980px){.ihero-2col{grid-template-columns:1fr;gap:26px}.ihero-right{max-width:100%;justify-self:stretch;margin-top:6px}}

/* HC-BLACK */
html.hc-mode.hc-mode.hc-mode{background:#000 !important;filter:none !important}
html.hc-mode.hc-mode.hc-mode body{background:#000 !important;color:#fff !important}
html.hc-mode.hc-mode.hc-mode *{background:#000 !important;background-image:none !important;color:#fff !important;border-color:#fff !important;box-shadow:none !important;text-shadow:none !important}
html.hc-mode.hc-mode.hc-mode .site-header,html.hc-mode.hc-mode.hc-mode .site-header.is-scrolled,html.hc-mode.hc-mode.hc-mode header,html.hc-mode.hc-mode.hc-mode .ad-section,html.hc-mode.hc-mode.hc-mode .ad-box,html.hc-mode.hc-mode.hc-mode .ad-box.is-open,html.hc-mode.hc-mode.hc-mode .ad-box:hover,html.hc-mode.hc-mode.hc-mode .mega,html.hc-mode.hc-mode.hc-mode .mega-services,html.hc-mode.hc-mode.hc-mode .nav-links{background:#000 !important}
html.hc-mode.hc-mode.hc-mode .hero-slide-bg::after,html.hc-mode.hc-mode.hc-mode .hero-fx,html.hc-mode.hc-mode.hc-mode video{display:none !important}
html.hc-mode.hc-mode.hc-mode img{opacity:0 !important}
html.hc-mode.hc-mode.hc-mode a:not(.btn){color:#ff0 !important;text-decoration:underline !important}
html.hc-mode.hc-mode.hc-mode .btn,html.hc-mode.hc-mode.hc-mode button,html.hc-mode.hc-mode.hc-mode input,html.hc-mode.hc-mode.hc-mode textarea,html.hc-mode.hc-mode.hc-mode select{background:#000 !important;color:#fff !important;border:2px solid #fff !important}
html.hc-mode.hc-mode.hc-mode .eyebrow,html.hc-mode.hc-mode.hc-mode .mega-title,html.hc-mode.hc-mode.hc-mode .ic-k,html.hc-mode.hc-mode.hc-mode .svc-k,html.hc-mode.hc-mode.hc-mode .ad-sub,html.hc-mode.hc-mode.hc-mode .as-label{color:#ff0 !important}
html.hc-mode.hc-mode.hc-mode svg [stroke]{stroke:#fff !important}
html.hc-mode.hc-mode.hc-mode svg [fill]:not([fill="none"]){fill:#fff !important}


/* Safety net for the Explore-More cards: if a card image fails to load
   (images/ folder not uploaded to server root, or local file:// preview),
   show an on-brand gradient instead of a black box. Fully invisible when the
   images DO load (the .xm-img layer covers this). Append-only, reversible. */
#p-home .explore-more .xm-card{
  background:#241d15;
  background-image:linear-gradient(150deg,#243244 0%,#1b1f2b 55%,#3a1512 100%);
}
#p-home .explore-more .xm-card:nth-child(3n+2){ background-image:linear-gradient(150deg,#2e2340 0%,#1b1830 60%,#152030 100%); }
#p-home .explore-more .xm-card:nth-child(3n+3){ background-image:linear-gradient(150deg,#7a241d 0%,#3a0f0c 100%); }

.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:8px;}.loc-cell{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:1px solid rgba(15,22,64,.14);border-radius:8px;background:#fff;text-decoration:none;transition:transform .15s,box-shadow .2s,border-color .2s;}.loc-cell b{color:var(--text-dark,#1E2B3A);font-size:1.02rem;}.loc-cell span{color:#6b7280;font-size:.82rem;}a.loc-cell:hover{transform:translateY(-2px);border-color:#D9232D;box-shadow:0 14px 30px -20px rgba(217,35,45,.5);}.loc-cell.is-soon{opacity:.6;}.loc-cell.is-soon::after{content:"expanding soon";font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;color:#9aa0aa;margin-top:4px;}

@media (max-width:980px){
  .nav-links .mega{
    position:static !important; opacity:1 !important; visibility:hidden;
    transform:none !important; background:transparent !important; border:0 !important;
    box-shadow:none !important; margin:0; width:auto !important; min-width:0 !important;
    max-height:0; overflow:hidden; padding:0 !important; transition:max-height .3s ease;
  }
  .nav-links .has-mega.open .mega{ visibility:visible; max-height:1400px; padding:2px 0 8px 14px !important; }
  .nav-links .mega::before{ display:none !important; }
  .nav-links .mega-2col,.nav-links .mega-about,.nav-links .svc-mega-grid,.nav-links .mega-services{
    display:block !important; width:auto !important; transform:none !important; left:auto !important; grid-template-columns:1fr !important;
  }
  .nav-links .mega-title{ color:#C8892C !important; margin:10px 0 4px; }
  .nav-links .mega-list{ min-width:0 !important; }
  .nav-links .mega-list li a{ color:rgba(255,255,255,.9) !important; padding:8px 4px !important; font-size:1.02rem; white-space:normal; }
  .nav-links .mega-list li a:hover{ background:transparent !important; color:#fff !important; }
  .nav-links .mega-list li a .md{ color:rgba(255,255,255,.55) !important; }
  .nav-links .svc-mega-card{ background:transparent !important; border:0 !important; }
  .nav-links .svc-mega-card .t{ color:#fff !important; padding:8px 0 !important; }
  .nav-links .svc-mega-card .d, .nav-links .svc-thumb{ display:none !important; }
}

.blog-hero-svg{width:100%;height:auto;display:block}.blog-cats{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 26px}.blog-cat{font-family:var(--ff-mono,monospace);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;border:1px solid rgba(15,22,64,.16);border-radius:999px;padding:6px 14px}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.blog-card{display:flex;flex-direction:column;border:1px solid rgba(15,22,64,.12);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;transition:transform .15s,box-shadow .2s,border-color .2s}.blog-card:hover{transform:translateY(-3px);border-color:#D9232D;box-shadow:0 16px 34px -20px rgba(217,35,45,.45)}.blog-card .bc-top{height:8px;background:linear-gradient(90deg,#0f1640,#D9232D)}.blog-card .bc-in{padding:18px 20px;display:flex;flex-direction:column;gap:8px}.blog-card .bc-tag{font-family:var(--ff-mono,monospace);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#D9232D}.blog-card h3{font-family:var(--ff-display,serif);font-size:1.16rem;line-height:1.25;color:var(--text-dark,#1E2B3A);margin:0}.blog-card p{font-size:.9rem;color:#5b636e;line-height:1.55;margin:0}.blog-card .bc-more{margin-top:4px;font-weight:700;font-size:.85rem;color:#D9232D}.blog-card .bc-date{font-size:.74rem;color:#9aa0aa}.article-meta{font-family:var(--ff-mono,monospace);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:#8a929b;margin-top:6px}.insight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:8px}.insight-card{border-left:4px solid #C8892C;background:#faf6ee;border-radius:8px;padding:18px 20px}.insight-card .ic-tag{font-family:var(--ff-mono,monospace);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#C8892C;display:block;margin-bottom:6px}.insight-card h3{font-size:1.02rem;color:var(--text-dark,#1E2B3A);margin:0 0 6px}.insight-card p{font-size:.88rem;color:#5b636e;line-height:1.55;margin:0}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:10px}.rel-b{display:block;border:1px solid rgba(15,22,64,.14);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--text-dark,#1E2B3A);font-weight:600;font-size:.92rem;transition:border-color .2s,transform .15s}.rel-b:hover{border-color:#D9232D;transform:translateY(-2px)}
.mzx-acc{border-top:1px solid rgba(15,22,64,.12);background:#fff;margin-top:8px}.mzx-acc .acc-item{border-bottom:1px solid rgba(15,22,64,.10)}.mzx-acc .acc-h{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 4px;cursor:pointer}.mzx-acc .acc-h h3{font-family:var(--ff-display,serif);font-size:1.02rem;line-height:1.3;color:var(--text-dark,#142233);margin:0}.mzx-acc .acc-h .pm{flex:none;width:22px;height:22px;position:relative}.mzx-acc .acc-h .pm::before{content:"+";position:absolute;inset:0;text-align:center;font-weight:800;font-size:20px;line-height:22px;color:var(--red,#DE2A1E)}.mzx-acc .acc-item.open .acc-h .pm::before{content:"\2212"}.mzx-acc .acc-b{display:none;padding:0 4px 20px;color:#41505c;font-size:.92rem;line-height:1.8}.mzx-acc .acc-item.open .acc-b{display:block}.mzx-acc .acc-b p{margin:0 0 10px}.mzx-acc .acc-b b{color:#1a2433}.mzx-pop{border-top:1px solid rgba(15,22,64,.12);margin-top:2px;background:#faf7f1}.mzx-pop .acc-h{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;cursor:pointer}.mzx-pop .acc-h h3{font-family:var(--ff-mono,monospace);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dark,#142233);margin:0}.mzx-pop .acc-h .pm{flex:none;width:22px;height:22px;position:relative}.mzx-pop .acc-h .pm::before{content:"+";position:absolute;inset:0;text-align:center;font-weight:800;font-size:20px;line-height:22px;color:var(--red,#DE2A1E)}.mzx-pop.open .acc-h .pm::before{content:"\2212"}.mzx-pop .pop-b{display:none;padding:0 4px 20px}.mzx-pop.open .pop-b{display:block}.mzx-pop h5{font-family:var(--ff-mono,monospace);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red,#DE2A1E);margin:12px 0 6px}.mzx-pop p{margin:0 0 6px;font-size:.86rem;line-height:1.9;color:#5b636e}.mzx-pop a{color:#41505c;text-decoration:none}.mzx-pop a:hover{color:var(--red,#DE2A1E)}.mzx-pop .sp{color:#c9cdd3;margin:0 7px}

/* Centered hero: blurred video background + centered text (matches lite/live) */
.hero-slide .hero-video{ filter:blur(7px) saturate(1.06) brightness(.95); transform:scale(1.14); }
.hero-slide-bg::after{ background:linear-gradient(180deg,rgba(6,18,31,.55),rgba(6,18,31,.62)) !important; }
.hero-content{ text-align:center; }
.hero-grid{ max-width:960px; margin:0 auto; justify-items:center; }
.hero-content h1{ margin-left:auto; margin-right:auto; }
.hero-content .eyebrow{ justify-content:center; }
.hero-content .lede, .hero-content .hero-sub{ margin-left:auto; margin-right:auto; }
.hero-stats{ justify-content:center; }
.hero-actions{ justify-content:center; }
/* remove hero stars / sparkle glints */
.hero-fx .hf-spark, .hero-fx .hf-glint{ display:none !important; }


/* Segment cards: dark-blue slide-up overlay + red bottom line + white/amber text (matches lite/live) */
#segments .pillar-card{ position:relative; overflow:hidden; transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s, border-color .35s; }
#segments .pillar-card::before{ content:""; position:absolute; inset:0; z-index:0; border-radius:inherit; background:linear-gradient(150deg,var(--ink) 0%,var(--ink-2,#06121f) 100%); transform:translateY(101%); transition:transform .5s cubic-bezier(.22,.61,.36,1); }
#segments .pillar-card:hover::before{ transform:translateY(0); }
#segments .pillar-card::after{ z-index:2; }
#segments .pillar-card > *{ position:relative; z-index:1; }
#segments .pillar-card .pillar-list li{ transition:color .4s cubic-bezier(.22,.61,.36,1); }
#segments .pillar-card:hover h3{ color:#fff !important; }
#segments .pillar-card:hover p{ color:rgba(255,255,255,.86) !important; }
#segments .pillar-card:hover .pillar-list li{ color:#fff !important; }
#segments .pillar-card:hover .pillar-list li::before{ color:var(--amber) !important; }
#segments .pillar-card:hover .pillar-icon{ color:var(--amber) !important; }
#segments .pillar-card:hover .pillar-num{ color:rgba(255,255,255,.4) !important; }
#segments .pillar-card:hover .pillar-link{ color:#fff !important; }
/* Director: side reveal (slides in from the right) */
.director-wrap.reveal:not(.is-visible){ transform:translateX(72px) !important; opacity:0 !important; }
.director-wrap.reveal.is-visible{ transform:none !important; opacity:1 !important; }


/* ===== Pan India: colourful floating state pills (matches lite/live) ===== */
@keyframes mzx-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-6px); } }
.coverage-chip.reveal{ opacity:1 !important; transform:none; animation:mzx-float 3.4s ease-in-out infinite; }
.coverage-chip:nth-child(5n+1){ background:#EAF3FB !important; border-color:#d7e7f5 !important; animation-delay:0s; }
.coverage-chip:nth-child(5n+2){ background:#EAF7EF !important; border-color:#d5ecdd !important; animation-delay:.35s; }
.coverage-chip:nth-child(5n+3){ background:#FBF1E7 !important; border-color:#f0dfcb !important; animation-delay:.7s; }
.coverage-chip:nth-child(5n+4){ background:#F4EEFB !important; border-color:#e5d8f2 !important; animation-delay:1.05s; }
.coverage-chip:nth-child(5n+5){ background:#FBECEC !important; border-color:#f2d6d6 !important; animation-delay:1.4s; }
.coverage-chip:hover{ animation-play-state:paused; }
.coverage-chip.more{ background:var(--ink) !important; color:#fff !important; border-color:var(--ink) !important; }
.coverage-chip.more::before{ background:var(--amber) !important; }

.svc-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:700;color:var(--red);text-decoration:none;font-family:var(--ff-body);}.svc-more:hover{gap:10px;}

/* ===== Re-triggering directional reveal (replays on scroll up & down) ===== */
.mzxa{ opacity:0; transition:opacity .6s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); }
.mzxa.on{ opacity:1; }
.mzxa.a-u:not(.on){ transform:translateY(60px) !important; }
.mzxa.a-d:not(.on){ transform:translateY(-60px) !important; }
.mzxa.a-l:not(.on){ transform:translateX(-70px) !important; }
.mzxa.a-r:not(.on){ transform:translateX(70px) !important; }
.mzxa.a-side:not(.on){ transform:translateX(-70px) !important; }
.mzxa.a-flip.fd:not(.on){ transform:translateY(-66px) !important; }
.mzxa.a-flip.fu:not(.on){ transform:translateY(66px) !important; }
.mzxa.on{ transform:none; }
/* gentle bob after arriving — finite (2 times then stop) */
.mzxa.a-bob.on{ animation:mzxbob 1.9s ease-in-out .7s 2; }
@keyframes mzxbob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-8px);} }
/* zigzag — FINITE (3 times then stops at rest), no rotate, small travel */
.mzxa.a-zig{ transform:none; }
.mzxa.a-zig.on{ animation:mzxzig .85s ease-in-out 3; }
@keyframes mzxzig{ 0%{transform:translateX(0);} 25%{transform:translateX(6px);} 50%{transform:translateX(-6px);} 75%{transform:translateX(3px);} 100%{transform:translateX(0);} }
html.mzxa-init .mzxa{ transition:none !important; }
/* contain reveal transforms so they never create page-level horizontal scroll */
.page.is-active, #p-home{ overflow-x:clip; }
/* horizontal carousels must NOT swallow vertical wheel scroll */
.exp-viewport, .xm-viewport{ overscroll-behavior-x:contain; }

.site-header{ top:0 !important; }
.topic-band-svg{display:block;width:100%;height:auto;}

/* ---- 3. Mobile bottom navigation bar (Indique style) ---- */
.mzx-bottomnav{ display:none; }
@media (max-width:980px){
  .mzx-bottomnav{
    position:fixed; left:0; right:0; bottom:0; z-index:400;
    display:flex; align-items:stretch; justify-content:space-around;
    background:#ffffff; border-top:1px solid #e8e2d4;
    box-shadow:0 -10px 26px -14px rgba(10,27,44,.35);
    padding:7px 4px calc(7px + env(safe-area-inset-bottom));
  }
  .mzx-bottomnav a{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:3px;
    padding:3px 2px; color:#5b6a78; font-size:.63rem; font-weight:600;
    letter-spacing:.02em; text-decoration:none; line-height:1;
    font-family:'Poppins',sans-serif; -webkit-tap-highlight-color:transparent;
  }
  .mzx-bottomnav a svg{ width:21px; height:21px; }
  .mzx-bottomnav a.is-active{ color:var(--red, #DE2A1E); }
  .mzx-bottomnav a.mbn-call{ color:#0f8a4b; }

  body{ padding-bottom:76px !important; }
  .back-to-top{ bottom:92px !important; }
  .whatsapp-fab{ bottom:92px !important; }
  .chat-launch, .chat-panel{ bottom:156px !important; }
}

.mzx-coverage{background:var(--ink,#0A1B2C);color:#e7e2d6;padding:46px 20px 40px;border-top:3px solid var(--red,#DE2A1E);}.cov-wrap{max-width:1180px;margin:0 auto;}.cov-head{margin-bottom:22px;max-width:760px;}.cov-eyebrow{color:var(--amber,#C8892C);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;}.cov-head h2{font-size:1.5rem;margin:.3em 0 .35em;color:#fff;line-height:1.15;}.cov-head p{font-size:.92rem;color:#b9c2cc;margin:0;line-height:1.5;}.cov-head a{color:var(--amber,#C8892C);}.cov-col{margin-bottom:20px;}.cov-col h3{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber,#C8892C);margin:0 0 10px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:7px;}.cov-chips{display:flex;flex-wrap:wrap;gap:7px;}.cov-chip{display:inline-block;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);color:#d6dde4;padding:6px 11px;border-radius:20px;font-size:.78rem;text-decoration:none;transition:all .18s ease;font-weight:500;}.cov-chip:hover{background:var(--red,#DE2A1E);border-color:var(--red,#DE2A1E);color:#fff;transform:translateY(-1px);}.cov-intl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding:18px 20px;background:linear-gradient(90deg,rgba(200,137,44,.14),rgba(222,42,30,.1));border:1px solid rgba(200,137,44,.3);border-radius:12px;}.cov-intl strong{color:#fff;display:block;font-size:1rem;}.cov-intl span{color:#b9c2cc;font-size:.85rem;}.cov-intl-btn{background:var(--amber,#C8892C);color:#0A1B2C;font-weight:700;padding:11px 20px;border-radius:8px;text-decoration:none;white-space:nowrap;transition:all .18s;}.cov-intl-btn:hover{background:#fff;transform:translateY(-1px);}@media(min-width:760px){.cov-cols-wrap{}}

/* ===== Mobile UX (Phase 29b) ===== */
@media(max-width:980px){
  .hero-nav{ display:none !important; }                  /* A: hide hero slider controls (frozen single slide) */
}
@media(max-width:980px){
  #coverage{ display:none !important; }                  /* B: hide Pan India Operations */

  /* E: reviews — single full-width card, no scroll, proper box, bigger */
  .hear-nav{ display:none !important; }
  .hear-inner{ max-width:none !important; padding:0 16px !important; }
  .hear-viewport{ overflow:visible !important; width:auto !important; }
  .hear-track{ display:block !important; width:auto !important; transform:none !important; gap:0 !important; padding:0 !important; will-change:auto !important; }
  .hear-track .tcard{ display:none !important; }
  .hear-track .tcard:first-child{ display:block !important; flex:none !important; width:auto !important; max-width:none !important; min-width:0 !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:30px 24px !important; box-sizing:border-box !important; }
  .hear-track .tcard:first-child *{ white-space:normal !important; max-width:100% !important; }
  .hear-track .tcard:first-child .tc-quote,
  .hear-track .tcard:first-child p,
  .hear-track .tcard:first-child blockquote{ font-size:1.06rem !important; line-height:1.5 !important; overflow:visible !important; }

  /* Bottom nav — keep all 5 items on one line, no overflow */
  .mzx-bottomnav a{ flex:1 1 0 !important; min-width:0 !important; padding:5px 1px !important; }
  .mzx-bottomnav a span{ white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; max-width:100% !important; font-size:.58rem !important; letter-spacing:0 !important; }
}
@media(max-width:360px){
  .mzx-bottomnav a span{ font-size:.52rem !important; }
}
.hear-seeall-m{ display:none; }


/* C: Major Corridor collapsible on mobile */
.corridor-toggle{ display:none; }
@media(max-width:980px){
  .corridor-toggle{ display:inline-flex; align-items:center; gap:8px; margin:4px 0 14px; background:var(--ink,#0A1B2C); color:#fff; border:none; padding:12px 20px; border-radius:8px; font-weight:700; font-family:var(--ff-body); cursor:pointer; width:100%; justify-content:center; }
  .corridor-toggle .ct-ar{ transition:transform .3s; }
  .corridor-toggle.open .ct-ar{ transform:rotate(180deg); }
  .corridor-grid{ max-height:0 !important; overflow:hidden !important; transition:max-height .45s ease; }
  .corridor-grid.open{ max-height:4000px !important; }
}

/* ===== MZX mobile hard-enforce (class-driven, media-query independent) ===== */
html.mzx-m .hero-nav{ display:none !important; visibility:hidden !important; }
html.mzx-m #coverage{ display:none !important; }
html.mzx-m .hear-nav{ display:none !important; }
html.mzx-m .hear-inner{ max-width:none !important; padding:0 16px !important; }
html.mzx-m .hear-viewport{ overflow:visible !important; width:auto !important; }
html.mzx-m .hear-track{ display:block !important; width:auto !important; transform:none !important; gap:0 !important; padding:0 !important; }
html.mzx-m .hear-track .tcard{ display:none !important; }
html.mzx-m .hear-track .tcard:first-child{ display:block !important; flex:none !important; width:auto !important; max-width:none !important; min-width:0 !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:28px 22px !important; box-sizing:border-box !important; }
html.mzx-m .hear-track .tcard:first-child *{ white-space:normal !important; max-width:100% !important; }
html.mzx-m .corridor-toggle{ display:inline-flex !important; align-items:center; gap:8px; margin:4px 0 14px; background:var(--ink,#0A1B2C); color:#fff; border:none; padding:12px 20px; border-radius:8px; font-weight:700; cursor:pointer; width:100%; justify-content:center; }
html.mzx-m .corridor-grid{ max-height:0 !important; overflow:hidden !important; transition:max-height .45s ease; }
html.mzx-m .corridor-grid.open{ max-height:4000px !important; }
html.mzx-m .mzx-bottomnav{ display:flex !important; }
html.mzx-m .mzx-bottomnav a{ flex:1 1 0 !important; min-width:0 !important; padding:5px 1px !important; }
html.mzx-m .mzx-bottomnav a span{ display:block !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; max-width:100% !important; font-size:11px !important; letter-spacing:0 !important; line-height:1.2 !important; }
html.mzx-m body{ padding-bottom:76px !important; }

/* chatbot v2 */
.cmsg-typing{ opacity:.55; }
.cmsg a{ color:var(--red,#DE2A1E); text-decoration:underline; }
.cmsg-bot b{ color:inherit; }
#chatMsgs{ scroll-behavior:smooth; }

/* ===== See-It heading: drop-fall on every scroll (both directions) ===== */
.a-dropfall{ opacity:0 !important; transform:translateY(-110px) !important; transition: transform .28s ease, opacity .2s ease !important; will-change:transform,opacity; }
.a-dropfall.on{ opacity:1 !important; transform:translateY(0) !important; transition: transform .95s cubic-bezier(.34,1.56,.64,1), opacity .4s ease !important; }
@media (prefers-reduced-motion: reduce){ .a-dropfall{ opacity:1 !important; transform:none !important; transition:none !important; } }

/* ===== MZX overflow guard (kills layout-viewport expansion on Android) ===== */
html{ overflow-x:hidden !important; max-width:100% !important; }
body{ overflow-x:hidden !important; max-width:100% !important; position:relative; }
.mzx-marquee, .lgo-rail, .tl-stage, .exp-viewport, .xm-viewport, .hear-viewport{ max-width:100% !important; }
/* mobile menu: consistent centering */
html.mzx-m .nav-links{ width:100% !important; max-width:100% !important; left:0 !important; right:0 !important; }
html.mzx-m .nav-links > li, html.mzx-m .nav-links li{ width:100% !important; text-align:center !important; }
html.mzx-m .nav-links > li > a, html.mzx-m .nav-links .has-mega > a{ display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; text-align:center !important; }
/* bottom nav: viewport-locked, never wider than screen */
.mzx-bottomnav{ max-width:100vw !important; box-sizing:border-box !important; }
/* hero text breathing room on small screens */
html.mzx-m .hero .container, html.mzx-m .hero-copy{ padding-left:18px !important; padding-right:18px !important; box-sizing:border-box !important; }

.cmsg-opts{ display:flex; gap:8px; margin:6px 0 4px; flex-wrap:wrap; }
.cmsg-opts button{ background:#fff; border:1.5px solid var(--red,#DE2A1E); color:var(--red,#DE2A1E); padding:8px 16px; border-radius:20px; font-weight:700; cursor:pointer; font-size:.84rem; }
.cmsg-opts button:hover{ background:var(--red,#DE2A1E); color:#fff; }

/* ===== Bottom nav v2: 4 items, 50% bigger, expandable sheets ===== */
.mzx-bottomnav.mbn4{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:400; background:#fff; box-shadow:0 -6px 26px rgba(8,20,33,.16); border-top:1px solid #ece5d6; }
html.mzx-m .mzx-bottomnav.mbn4{ display:block !important; }
.mbn4 .mbn-row{ display:flex; align-items:stretch; }
.mbn4 .mbn-btn{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:none; border:0; cursor:pointer; padding:12px 2px 11px; color:var(--ink,#0A1B2C); font-family:inherit; }
.mbn4 .mbn-btn svg{ width:33px; height:33px; }
.mbn4 .mbn-btn span{ font-size:.95rem; font-weight:700; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.mbn4 .mbn-btn.is-open{ color:var(--red,#DE2A1E); }
.mbn4 .mbn-chat{ color:#0f8a4b; }
.mbn4 .mbn-chat svg{ stroke-width:2; }
.mbn-sheet{ position:absolute; left:0; right:0; bottom:100%; background:#fff; border-top:3px solid var(--red,#DE2A1E); box-shadow:0 -14px 34px rgba(8,20,33,.2); max-height:62vh; overflow-y:auto; }
.mbn-sheet-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px 10px; font-weight:800; font-size:1.05rem; color:var(--ink,#0A1B2C); border-bottom:1px solid #f0eadc; position:sticky; top:0; background:#fff; }
.mbn-sheet-x{ background:none; border:0; font-size:1.7rem; line-height:1; color:#8a97a4; cursor:pointer; padding:0 4px; }
.mbn-sheet-links{ display:flex; flex-direction:column; padding:6px 0 10px; }
.mbn-sheet-links a{ padding:14px 20px; font-size:1.02rem; font-weight:600; color:var(--ink-2,#102B45); text-decoration:none; border-bottom:1px solid #f6f2e9; }
.mbn-sheet-links a:active{ background:#faf6ee; }
html.mzx-m body{ padding-bottom:104px !important; }
html.mzx-m .chat-launch{ display:none !important; }
html.mzx-m .back-to-top{ bottom:120px !important; }
html.mzx-m .chat-panel{ bottom:110px !important; }

/* bottom-nav sheet polish */
.mbn-sheet{ background:#fff !important; }
.mbn-sheet-links{ background:#fff !important; }
.mbn-sheet-links a{ text-align:left !important; color:#102B45 !important; background:#fff !important; display:block !important; text-decoration:none !important; font-weight:600 !important; }
.mbn-sheet-links a::after{ content:"\203A"; float:right; color:#c3ccd4; font-size:1.25rem; line-height:1; }
.mbn-sheet-head{ background:#fff !important; color:#0A1B2C !important; text-align:left !important; }
.mzx-bottomnav.mbn4{ text-align:left; }

/* ===== Accordion (SEO/popular-search) sections: full-bleed, no bold, matched +/- ===== */
.acc-full{ max-width:none !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; }
.acc-full .mzx-acc{ margin-left:0 !important; margin-right:0 !important; }
.acc-full .acc-h{ padding-left:18px !important; padding-right:18px !important; }
.acc-full .acc-b{ padding-left:18px !important; padding-right:18px !important; }
/* remove bold from headings */
.mzx-acc .acc-h h3{ font-weight:400 !important; }
.mzx-acc .acc-h h3 b, .mzx-acc .acc-h h3 strong{ font-weight:400 !important; }
/* +/- sign matches the heading text colour */
.mzx-acc .acc-h .pm::before{ color:var(--text-dark,#142233) !important; font-weight:400 !important; }
.mzx-acc .acc-item.open .acc-h .pm::before{ color:var(--text-dark,#142233) !important; }
/* modern browsers: full-bleed without JS too */
.ibody-wrap:has(> .mzx-acc){ max-width:none !important; padding-left:0 !important; padding-right:0 !important; }

/* ===== Popular searches block: full-bleed, no bold, matched +/- ===== */
#mzx-pop-below{ width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important; }
#mzx-pop-below .mzx-pop, .mzx-pop{ width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.mzx-pop .acc-h{ padding-left:18px !important; padding-right:18px !important; }
.mzx-pop .pop-b{ padding-left:18px !important; padding-right:18px !important; }
.mzx-pop .acc-h h3{ font-weight:400 !important; }
.mzx-pop .acc-h .pm::before{ color:var(--text-dark,#142233) !important; font-weight:400 !important; }
.mzx-pop.open .acc-h .pm::before{ color:var(--text-dark,#142233) !important; }

/* popular-searches host: release parent container */
.ibody-wrap:has(> #mzx-pop-below){ max-width:none !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.pop-full{ max-width:none !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; }

/* accordion box: 30% slimmer */
.mzx-acc .acc-h{ padding-top:11px !important; padding-bottom:11px !important; }
.mzx-acc .acc-h h3{ font-size:.92rem !important; line-height:1.25 !important; }
.mzx-acc .acc-b{ padding-bottom:14px !important; font-size:.87rem !important; line-height:1.62 !important; }
.mzx-acc .acc-b p{ margin:0 0 8px !important; }
.mzx-acc{ margin-top:5px !important; }
.mzx-pop .acc-h{ padding-top:10px !important; padding-bottom:10px !important; }
.mzx-pop .pop-b{ padding-bottom:14px !important; }
.mzx-pop h5{ margin:8px 0 4px !important; }
.mzx-pop p{ line-height:1.65 !important; margin:0 0 4px !important; }

.gpr-note{ background:#faf7f1; border-left:3px solid var(--amber,#C8892C); padding:12px 16px; margin:16px 0; font-size:.88rem; line-height:1.6; color:#41505c; border-radius:0 8px 8px 0; }
.gpr-note b{ color:var(--ink,#0A1B2C); }
.spec-sec{ padding-top:8px; }
.spec-tbl-wrap{ overflow-x:auto; margin:14px 0 10px; -webkit-overflow-scrolling:touch; }
.spec-tbl{ width:100%; border-collapse:collapse; font-size:.92rem; background:#fff; }
.spec-tbl th, .spec-tbl td{ text-align:left; vertical-align:top; padding:11px 14px; border-bottom:1px solid #eee6d8; line-height:1.55; }
.spec-tbl th{ width:32%; font-weight:700; color:var(--ink,#0A1B2C); background:#faf7f1; }
.spec-tbl td{ color:#41505c; }
.spec-tbl tr:last-child th, .spec-tbl tr:last-child td{ border-bottom:0; }
.spec-note{ font-size:.83rem; color:#6b7580; line-height:1.6; font-style:italic; }
@media(max-width:600px){ .spec-tbl th{ width:42%; } .spec-tbl th,.spec-tbl td{ padding:9px 10px; font-size:.85rem; } }
.form-consent{ display:flex; align-items:flex-start; gap:9px; font-size:.84rem; line-height:1.5; color:#41505c; margin:6px 0 14px; }
.form-consent input{ margin-top:3px; flex:none; width:16px; height:16px; accent-color:var(--red,#DE2A1E); }
.form-consent a{ color:var(--red,#DE2A1E); text-decoration:underline; }
/* hero side-artwork (merged second banner) */
.ihero-art{ border-radius:12px; overflow:hidden; line-height:0; box-shadow:0 26px 56px -26px rgba(0,0,0,.65); border:1px solid rgba(255,255,255,.14); }
.ihero-art > div{ border-radius:12px !important; overflow:hidden; line-height:0; }
.ihero-art svg{ width:100% !important; height:auto !important; display:block; aspect-ratio:1200/300; }
.ihero-art .blog-hero-svg{ aspect-ratio:1200/260; }
@media(max-width:900px){
  .ihero-2col{ grid-template-columns:1fr !important; gap:26px !important; }
  .ihero-right{ max-width:none !important; justify-self:stretch !important; }
  .ihero-art svg{ aspect-ratio:1200/300; }
}
@media(max-width:600px){
  .ihero-art{ border-radius:10px; }
  .ihero-art svg{ aspect-ratio:1200/340; }
}

  .ad-section{ background:var(--ink); position:relative; overflow:hidden; }
  .ad-head{ max-width:920px; margin:0 auto 48px; text-align:center; }
  .ad-title{ font-family:var(--ff-display); font-weight:800; font-size:clamp(1.8rem,3.4vw,2.6rem); color:#fff; margin:12px 0 18px; line-height:1.1; letter-spacing:-.01em; }
  .ad-sub{ font-family:var(--ff-display); font-weight:600; font-size:1.12rem; color:var(--amber); margin:0 0 16px; }
  .ad-intro{ color:var(--muted-light); font-size:1.05rem; line-height:1.72; max-width:820px; margin-left:auto; margin-right:auto; }
  .ad-intro + .ad-intro{ margin-top:14px; }

  .ad-grid{ display:flex; gap:18px; align-items:stretch; }
  .ad-box{
    position:relative; flex:1 1 0; min-width:0; min-height:440px;
    background:var(--ink-2); border:1px solid var(--ink-3); border-radius:8px;
    padding:26px 26px 30px; overflow:hidden; cursor:pointer;
    display:flex; flex-direction:column; justify-content:flex-end;
    transition:flex-grow .55s var(--ease), background .4s var(--ease), border-color .4s var(--ease);
  }
  .ad-plus{ position:absolute; top:24px; right:26px; width:22px; height:22px; pointer-events:none; }
  .ad-plus::before,.ad-plus::after{ content:""; position:absolute; background:#fff; border-radius:2px; transition:transform .35s var(--ease), background .4s; }
  .ad-plus::before{ left:0; top:10px; width:22px; height:2px; }
  .ad-plus::after{ left:10px; top:0; width:2px; height:22px; }

  .ad-icon{ width:54px; height:54px; color:#fff; transition:color .4s var(--ease); }
  .ad-icon svg{ width:100%; height:100%; display:block; }
  .ad-h{ font-family:var(--ff-display); font-weight:700; font-size:1.16rem; color:#fff; margin:18px 0 0; line-height:1.25; transition:color .4s var(--ease); }

  .ad-body{ max-height:0; opacity:0; overflow:hidden; transition:max-height .55s var(--ease), opacity .4s var(--ease), margin-top .4s var(--ease); }
  .ad-body p{ color:#4a4338; font-size:.96rem; line-height:1.62; margin:0 0 22px; }
  .ad-more{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ff-display); font-weight:700; font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; color:#16110C; border:1.5px solid #d9d2c4; padding:11px 24px; border-radius:999px; transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease); }
  .ad-more svg{ width:15px; height:15px; transition:transform .25s var(--ease); }
  .ad-more:hover{ background:var(--red); border-color:var(--red); color:#fff; }
  .ad-more:hover svg{ transform:translateX(3px); }

  /* ---- OPEN state: default-open box + any hovered box ---- */
  .ad-box.is-open,
  .ad-box:hover{
    flex-grow:2.7; background:#F4EFE6; border-color:#F4EFE6;
    border-bottom:3px solid var(--red); justify-content:flex-start;
  }
  .ad-box.is-open .ad-icon,.ad-box:hover .ad-icon{ color:var(--red); }
  .ad-box.is-open .ad-h,.ad-box:hover .ad-h{ color:#16110C; margin-top:20px; }
  .ad-box.is-open .ad-body,.ad-box:hover .ad-body{ max-height:560px; opacity:1; margin-top:18px; }
  .ad-box.is-open .ad-plus::before,.ad-box:hover .ad-plus::before,
  .ad-box.is-open .ad-plus::after,.ad-box:hover .ad-plus::after{ background:#16110C; }
  .ad-box.is-open .ad-plus::after,.ad-box:hover .ad-plus::after{ transform:scaleY(0); } /* + -> minus */

  /* ---- when another box is hovered, collapse the default-open one back to blue ---- */
  .ad-grid:hover .ad-box.is-open:not(:hover){
    flex-grow:1; background:var(--ink-2); border-color:var(--ink-3);
    border-bottom:1px solid var(--ink-3); justify-content:flex-end;
  }
  .ad-grid:hover .ad-box.is-open:not(:hover) .ad-icon{ color:#fff; }
  .ad-grid:hover .ad-box.is-open:not(:hover) .ad-h{ color:#fff; margin-top:18px; }
  .ad-grid:hover .ad-box.is-open:not(:hover) .ad-body{ max-height:0; opacity:0; margin-top:0; }
  .ad-grid:hover .ad-box.is-open:not(:hover) .ad-plus::before,
  .ad-grid:hover .ad-box.is-open:not(:hover) .ad-plus::after{ background:#fff; }
  .ad-grid:hover .ad-box.is-open:not(:hover) .ad-plus::after{ transform:none; }

  @media (max-width:860px){
    .ad-grid{ flex-direction:column; }
    .ad-box,.ad-box.is-open{ flex:none; min-height:auto; background:#F4EFE6; border-color:#F4EFE6; border-bottom:3px solid var(--red); justify-content:flex-start; }
    .ad-box .ad-icon{ color:var(--red); }
    .ad-box .ad-h{ color:#16110C; margin-top:16px; }
    .ad-box .ad-body{ max-height:none; opacity:1; margin-top:14px; }
    .ad-plus{ display:none; }
  }
