/* =====================================================================
   THE BRANDSO GROUP — shared design system
   Palette pulled from the Brandso mark: deep ink navy + burnt coral,
   with teal + steel blue as the two "connective" division colours.
   ===================================================================== */

:root{
  --ink:#12233D;
  --ink-2:#0B1830;
  --blue:#2A5FA5;
  --blue-deep:#1D4680;
  --teal:#2FB6A3;
  --coral:#FF6B4A;
  --coral-deep:#E8552F;
  --bg:#F6F8FB;
  --cream:#FBF7F1;
  --card:#FFFFFF;
  --line:#E4E9F0;
  --muted:#71809B;

  --tint-teal:#E4F8F4;
  --tint-coral:#FFEDE7;
  --tint-blue:#E8F0F9;
  --tint-deep:#E2EAF6;
  --tint-ink:#E8ECF3;
  --green:#2E9E5B;
  --green-deep:#237A47;
  --tint-green:#E3F5EA;
  --purple:#7C4DBE;
  --purple-deep:#623B98;
  --tint-purple:#F1E9FA;
  --orange:#E8672A;
  --orange-deep:#C8511E;
  --tint-orange:#FDEBE0;

  /* one accent per solution — used consistently everywhere so colour
     itself becomes navigation: see it once, recognise it anywhere */
  --d1:#2FB6A3; --d1-tint:#E4F8F4; /* Find Carers    — teal   */
  --d2:#2E9E5B; --d2-tint:#E3F5EA; /* Policy Base     — green  */
  --d3:#1D4680; --d3-tint:#E2EAF6; /* ProCare Hub     — blue   */
  --d4:#7C4DBE; --d4-tint:#F1E9FA; /* Brandso Studios — purple */
  --d5:#E8672A; --d5-tint:#FDEBE0; /* BrandsoHire     — orange */

  --radius-sm:12px;
  --radius:18px;
  --radius-lg:28px;
  --container:1220px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ margin:0; padding:0; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
h1,h2,h3,h4,p{ margin:0; }
a{ color:inherit; }

.stage{ max-width:var(--container); margin:0 auto; padding:0 clamp(20px,4vw,48px); }

/* ---------- focus & motion ---------- */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ---------- reveal-on-scroll ---------- */
.reveal{ opacity:0; transform:translateY(24px) scale(.98); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal-stagger > *{ opacity:0; transform:translateY(16px) scale(.98); transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
.reveal-stagger.in > *{ opacity:1; transform:none; transition-delay:calc(var(--i,0) * 70ms); }

/* ---------- hero entrance (runs on load, not scroll-gated) ---------- */
@keyframes hero-rise{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@keyframes hero-pop{ from{ opacity:0; transform:scale(.94); } to{ opacity:1; transform:none; } }
.hero .copy > *{ animation:hero-rise .75s cubic-bezier(.16,1,.3,1) both; }
.hero .copy > *:nth-child(1){ animation-delay:.02s; }
.hero .copy > *:nth-child(2){ animation-delay:.09s; }
.hero .copy > *:nth-child(3){ animation-delay:.16s; }
.hero .copy > *:nth-child(4){ animation-delay:.23s; }
.hero .copy > *:nth-child(5){ animation-delay:.30s; }
.hero .copy > *:nth-child(6){ animation-delay:.37s; }
.hero .copy > *:nth-child(7){ animation-delay:.44s; }
.hero .orbit-visual{ animation:hero-pop .8s cubic-bezier(.16,1,.3,1) .2s both; }

/* reusable page-hero entrance (about / divisions banners) */
.entrance-rise > *{ animation:hero-rise .75s cubic-bezier(.16,1,.3,1) both; }
.entrance-rise > *:nth-child(1){ animation-delay:.02s; }
.entrance-rise > *:nth-child(2){ animation-delay:.09s; }
.entrance-rise > *:nth-child(3){ animation-delay:.16s; }
.entrance-rise > *:nth-child(4){ animation-delay:.23s; }
.entrance-rise > *:nth-child(5){ animation-delay:.30s; }
.entrance-pop{ animation:hero-pop .8s cubic-bezier(.16,1,.3,1) .2s both; }

/* =====================================================================
   HEADER / NAV
   ===================================================================== */
header{
  background:var(--ink-2);
  position:sticky; top:0; z-index:80;
  box-shadow:0 6px 24px -18px rgba(12,26,48,0.9);
}
nav{ display:flex; align-items:center; padding:14px 0; gap:16px; }

.logo{ display:flex; align-items:center; text-decoration:none; flex:none; }
.logo-mark{ height:36px; width:auto; flex:none; }

.nav-links{ display:flex; align-items:center; gap:30px; list-style:none; padding:0; margin:0; flex:1; justify-content:center; font-size:14px; font-weight:500; letter-spacing:.01em; }
.nav-links a{ color:rgba(255,255,255,0.72); text-decoration:none; transition:color .2s ease; position:relative; padding:4px 0; }
.nav-links a:hover, .nav-links a:focus-visible{ color:#fff; }
.nav-links a.active{ color:#fff; }
.nav-links a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--coral); border-radius:2px; }

/* ---------- nav dropdowns (Solutions / Industries) ---------- */
.nav-item{ position:relative; display:flex; align-items:center; padding:20px 0; margin:-20px 0; font-size:inherit; font-weight:inherit; }
.nav-item > a{ display:flex; align-items:center; gap:5px; font-size:inherit; font-weight:inherit; font-family:inherit; color:rgba(255,255,255,0.72); }
.nav-item > a:hover, .nav-item > a:focus-visible{ color:#fff; }
.nav-item > a.active{ color:#fff; }
.nav-item .nav-caret{ transition:transform .2s ease; }
.nav-item:hover .nav-caret, .nav-item:focus-within .nav-caret{ transform:rotate(180deg); }
.nav-dropdown{
  position:absolute; left:50%; top:100%; transform:translate(-50%,6px);
  min-width:220px; background:#fff; border-radius:14px; padding:10px;
  box-shadow:0 26px 48px -20px rgba(18,35,61,0.45);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:90;
}
.nav-item:hover .nav-dropdown, .nav-item:focus-within .nav-dropdown{
  opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,10px);
}
.nav-dropdown a{ display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:9px; color:var(--ink); font-size:13.5px; font-weight:500; white-space:nowrap; }
.nav-dropdown a:hover, .nav-dropdown a:focus-visible{ background:var(--bg); color:var(--ink); }
.nav-dropdown a img, .nav-dropdown a svg{ flex:none; width:16px; height:16px; object-fit:contain; }
.nav-dropdown-all{ margin-top:4px; padding-top:12px !important; border-top:1px solid var(--line); color:var(--blue-deep) !important; font-weight:600 !important; }

.nav-actions{ display:flex; align-items:center; gap:10px; flex:none; }
.nav-ghost{ background:transparent; border:1.5px solid rgba(255,255,255,0.25); color:#fff; font-family:'Inter',sans-serif; font-weight:600; font-size:13px; padding:9px 18px; border-radius:999px; cursor:pointer; text-decoration:none; white-space:nowrap; transition:border-color .2s ease, background .2s ease; }
.nav-ghost:hover{ border-color:rgba(255,255,255,0.5); background:rgba(255,255,255,0.06); }
.nav-cta{ border:none; background-image:linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 60%); background-color:var(--coral); color:#fff; font-family:'Inter',sans-serif; font-weight:600; font-size:13px; padding:10px 20px; border-radius:999px; cursor:pointer; text-decoration:none; display:inline-block; white-space:nowrap; transition:background-color .2s ease, transform .2s ease; }
.nav-cta:hover{ background:var(--coral-deep); transform:translateY(-1px); }

.nav-burger{ display:none; width:38px; height:38px; border-radius:10px; border:1.5px solid rgba(255,255,255,0.2); background:transparent; align-items:center; justify-content:center; cursor:pointer; flex:none; }
.nav-burger span{ display:block; width:16px; height:1.6px; background:#fff; position:relative; }
.nav-burger span::before, .nav-burger span::after{ content:""; position:absolute; left:0; width:16px; height:1.6px; background:#fff; transition:transform .25s ease, top .25s ease; }
.nav-burger span::before{ top:-5px; }
.nav-burger span::after{ top:5px; }
.nav-burger.is-open span{ background:transparent; }
.nav-burger.is-open span::before{ top:0; transform:rotate(45deg); }
.nav-burger.is-open span::after{ top:0; transform:rotate(-45deg); }

.mobile-drawer{
  display:none;
  max-height:0;
  overflow:hidden;
  background:var(--ink-2);
  border-top:1px solid rgba(255,255,255,0.08);
  transition:max-height .3s ease;
}
.mobile-drawer.is-open{ max-height:calc(100vh - 60px); overflow-y:auto; }
.mobile-drawer .stage{ padding-top:6px; padding-bottom:18px; display:grid; gap:2px; }
.mobile-drawer a{ color:rgba(255,255,255,0.8); text-decoration:none; font-size:15px; font-weight:500; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.06); }
.mobile-drawer a.active{ color:var(--teal); }
.mobile-drawer .nav-cta{ margin-top:14px; text-align:center; }
.drawer-sublist{ display:grid; gap:2px; padding:2px 0 10px 16px; }
.drawer-sublist a{ font-size:13.5px; font-weight:500; padding:8px 0; border-bottom:none; color:rgba(255,255,255,0.6); display:flex; align-items:center; gap:9px; }
.drawer-sublist a img, .drawer-sublist a svg{ width:14px; height:14px; flex:none; opacity:.85; }

/* =====================================================================
   TYPE / SECTION HELPERS
   ===================================================================== */
section{ padding:clamp(52px,8vw,88px) 0; }
section.section-tint{ background:var(--cream); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
section.section-shade{ background:#EEF3F9; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
section.section-bold{ background-image:linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 55%); background-color:var(--teal); border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
section.section-bold .eyebrow{ color:#fff; }
section.section-bold .eyebrow::before{ background:var(--ink); }
section.section-bold .section-title{ color:#fff; }
section.section-bold .section-title em{ color:var(--ink); }
section.section-bold .section-sub{ color:rgba(255,255,255,.85); }
.eyebrow{ font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-deep); display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.eyebrow::before{ content:""; width:22px; height:2px; background:var(--coral); display:inline-block; flex:none; }
.eyebrow.on-dark{ color:var(--teal); }
.eyebrow.centered{ justify-content:center; }
.section-title{ font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(28px,3.6vw,42px); line-height:1.08; letter-spacing:-0.01em; margin:0 0 16px; }
.section-title em{ font-style:normal; color:var(--blue); }
.section-sub{ font-size:15.5px; line-height:1.65; color:var(--muted); max-width:580px; margin:0; }
.center{ text-align:center; }
.center .section-sub{ margin:0 auto; }

.btn-primary{ border:none; background-image:linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 60%); background-color:var(--coral); color:#fff; font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; padding:14px 28px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; text-decoration:none; transition:background-color .2s ease, transform .15s ease, box-shadow .2s ease; box-shadow:0 12px 26px -12px rgba(255,107,74,0.55); }
.btn-primary:active{ transform:translateY(1px) scale(.98); box-shadow:0 6px 16px -10px rgba(255,107,74,0.5); }

.btn-demo{ position:relative; border:none; background-image:linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 60%); background-color:var(--orange); color:#fff; font-family:'Inter',sans-serif; font-weight:700; font-size:15px; padding:15px 30px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:10px; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; box-shadow:0 14px 30px -14px rgba(232,103,42,0.55); }
.btn-demo svg{ transition:transform .25s cubic-bezier(.34,1.56,.64,1); }
.btn-demo:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -16px rgba(232,103,42,0.6); }
.btn-demo:hover svg{ transform:translateX(6px); }
.btn-demo:active{ transform:translateY(0) scale(.96); box-shadow:0 8px 18px -10px rgba(232,103,42,0.5); }
.btn-demo:focus-visible{ outline:2px solid var(--orange-deep); outline-offset:3px; }

.ad-banner{ display:block; border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 30px 60px -30px rgba(18,35,61,0.4); transition:transform .25s ease, box-shadow .25s ease; }
.ad-banner img{ width:100%; height:auto; display:block; }
.ad-banner:hover{ transform:translateY(-4px); box-shadow:0 36px 70px -28px rgba(18,35,61,0.45); }
.btn-primary:hover{ background:var(--coral-deep); transform:translateY(-1px); }
.btn-outline{ background:transparent; border:1.5px solid var(--line); color:var(--ink); font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px; padding:12.5px 24px; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; text-decoration:none; transition:border-color .2s ease, background .2s ease, transform .2s ease; }
.btn-outline:hover{ border-color:var(--blue); background:#EDF3FA; transform:translateY(-1px); }
.btn-outline.on-dark{ border-color:rgba(255,255,255,0.3); color:#fff; }
.btn-outline.on-dark:hover{ background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.55); }

.chip{ width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex:none; }
.chip svg{ width:23px; height:23px; }
.chip img{ width:28px; height:28px; object-fit:contain; }
.chip{ background-image:linear-gradient(180deg, rgba(255,255,255,.5) 0%, rgba(255,255,255,0) 60%); }
.chip.t-teal{ background-color:var(--tint-teal); color:var(--teal); }
.chip.t-coral{ background-color:var(--tint-coral); color:var(--coral); }
.chip.t-blue{ background-color:var(--tint-blue); color:var(--blue); }
.chip.t-deep{ background-color:var(--tint-deep); color:var(--blue-deep); }
.chip.t-ink{ background-color:var(--tint-ink); color:var(--ink); }
.chip.t-green{ background-color:var(--tint-green); color:var(--green); }
.chip.t-purple{ background-color:var(--tint-purple); color:var(--purple); }
.chip.t-orange{ background-color:var(--tint-orange); color:var(--orange); }

/* =====================================================================
   PAGE HERO BANNER (About / Divisions / FAQ / Contact)
   ===================================================================== */
.page-hero{ padding:56px 0 0; }
.page-hero-inner{ display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; }
.page-hero-img{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:5/4; box-shadow:none; }
.page-hero-img img{ width:100%; height:100%; object-fit:cover; }
.crumbs{ font-size:12.5px; color:var(--muted); font-weight:600; letter-spacing:.02em; margin-bottom:14px; }
.crumbs a{ color:var(--muted); text-decoration:none; }
.crumbs a:hover{ color:var(--blue-deep); }
.page-title{ font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(34px,4.6vw,54px); line-height:1.05; letter-spacing:-0.01em; margin:0 0 18px; }
.page-title em{ font-style:normal; color:var(--blue); }
.page-lede{ font-size:16px; line-height:1.7; color:var(--muted); max-width:480px; margin:0 0 28px; }

/* =====================================================================
   HERO — HOME (orbital division carousel)
   ===================================================================== */
.hero{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(24px,5vw,60px); padding:40px 0 clamp(56px,9vw,96px); }
.hero-mobile-carousel{ display:none; }
.hero .copy, .hero .orbit-visual{ position:relative; z-index:1; }

/* ---------- decorative flat accents (dashed lines + dots, no gradients) ---------- */
.deco{ position:absolute; inset:0; pointer-events:none; z-index:0; overflow:visible; }
.deco-line{ position:absolute; }
.deco-dot{ position:absolute; border-radius:50%; background:var(--coral); opacity:.5; }
.deco-ring{ position:absolute; border-radius:50%; border:3px solid var(--teal); opacity:.3; }
.deco-drift{ animation:deco-drift 6s ease-in-out infinite; }
@keyframes deco-drift{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-6px,-10px); } }

/* ---------- colourful squiggly ribbons + soft blobs — playful, quiet background texture ---------- */
.deco-ribbon{ position:absolute; opacity:.4; }
.deco-ribbon svg{ width:100%; height:100%; display:block; overflow:visible; }
.deco-blob{ position:absolute; border-radius:50%; opacity:.35; }
@media (max-width: 980px){ .deco-ribbon, .deco-blob{ display:none; } }
.hero-eyebrow-row{ display:flex; align-items:center; gap:10px; margin-bottom:18px; min-height:14px; }
.hero-eyebrow-row .eyebrow{ margin-bottom:0; transition:opacity .25s ease; }
.headline{ font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(34px,5vw,56px); line-height:1.05; margin:0 0 16px; letter-spacing:-0.01em; min-height:1.1em; transition:opacity .25s ease; }
.headline em{ font-style:normal; color:var(--hero-accent, var(--blue)); transition:color .3s ease; }
.hero-meta-row{ display:flex; align-items:center; gap:10px; margin-bottom:18px; flex-wrap:wrap; transition:opacity .25s ease; min-height:30px; }
.hero-meta-tag{ font-size:12px; font-weight:700; letter-spacing:.03em; color:var(--blue-deep); background:var(--tint-blue); border:1px solid #D3E2F2; border-radius:999px; padding:6px 13px; }
.hero-meta-note{ font-size:12.5px; color:var(--muted); font-weight:500; }
.hero-desc{ font-size:15.5px; line-height:1.68; color:var(--muted); max-width:440px; margin:0 0 28px; min-height:66px; transition:opacity .25s ease; }
.hero-cta-row{ display:flex; align-items:center; gap:14px; margin-bottom:30px; flex-wrap:wrap; }

.hero-highlights{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 26px; }
.hero-highlight{ display:flex; align-items:flex-start; gap:12px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 15px; box-shadow:0 10px 24px -18px rgba(18,35,61,0.25); }
.hh-icon{ width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex:none; }
.hh-icon svg{ width:17px; height:17px; }
.hh-icon.t-teal{ background:var(--tint-teal); color:var(--teal); }
.hh-icon.t-coral{ background:var(--tint-coral); color:var(--coral); }
.hero-highlight b{ display:block; font-size:13.5px; font-weight:700; margin-bottom:3px; }
.hero-highlight span{ display:block; font-size:12px; line-height:1.5; color:var(--muted); }
.hero-carousel-nav{ display:flex; align-items:center; gap:18px; font-size:13px; color:var(--muted); flex-wrap:wrap; }
.hero-carousel-nav button{ background:none; border:none; cursor:pointer; display:flex; align-items:center; gap:7px; color:var(--muted); font-family:'Inter',sans-serif; font-weight:600; font-size:13px; letter-spacing:.02em; padding:6px 0; transition:color .2s ease; }
.hero-carousel-nav button:hover{ color:var(--ink); }
.hero-dots{ display:flex; gap:7px; }
.hero-dots span{ width:6px; height:6px; border-radius:50%; background:var(--line); transition:background .3s ease, width .3s ease; display:block; cursor:pointer; }
.hero-dots span.active{ background:var(--coral); width:18px; border-radius:3px; }
.hero-trust{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:26px; }
.hero-trust .avatars{ display:flex; }
.hero-trust .avatars span{ width:28px; height:28px; border-radius:50%; border:2px solid var(--bg); margin-left:-8px; }
.hero-trust .avatars span:first-child{ margin-left:0; }
.hero-trust small{ font-size:12.5px; color:var(--muted); font-weight:500; }

/* orbital visual */
.orbit-visual{ position:relative; width:100%; aspect-ratio:1/1; max-width:520px; margin:0 auto; }
.orbit-photo{ position:absolute; inset:6%; border-radius:50%; overflow:hidden; background:var(--orbit-tint,#E7EEF7); box-shadow:0 0 0 1px rgba(42,95,165,0.16) inset; transition:background .5s ease; }
.orbit-plate-shadow{ position:absolute; left:50%; top:62%; width:38%; height:6%; transform:translate(-50%,0); background:rgba(18,35,61,0.16); filter:blur(7px); border-radius:50%; z-index:1; }
.orbit-layer{ position:absolute; inset:0; z-index:2; }
.orbit-tagline{ position:absolute; left:2%; bottom:0; font-family:'Poppins',sans-serif; font-style:italic; font-size:13.5px; color:var(--muted); line-height:1.4; z-index:2; }

.orb{ position:absolute; border-radius:50%; cursor:pointer; background:var(--card); display:flex; align-items:center; justify-content:center; transition:left 1.1s cubic-bezier(.65,0,.35,1), top 1.1s cubic-bezier(.65,0,.35,1), width 1.1s cubic-bezier(.65,0,.35,1), height 1.1s cubic-bezier(.65,0,.35,1), box-shadow .5s ease, border-color .5s ease; border:2px solid var(--bg); }
.orb svg{ position:absolute; inset:0; width:100%; height:100%; display:block; border-radius:50%; }
.orb-icon{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:52%; height:52%; object-fit:contain; z-index:1; }
.orb.is-thumb{ box-shadow:0 8px 18px -6px rgba(18,35,61,0.30); }
.orb.is-thumb:hover{ filter:brightness(1.03); }
.orb.is-active{ border-color:transparent; box-shadow:none; cursor:default; filter:drop-shadow(0 18px 26px rgba(18,35,61,0.16)); z-index:5; }
.orb:focus-visible{ outline:2px solid var(--blue-deep); outline-offset:3px; }

/* =====================================================================
   TRUST STRIP
   ===================================================================== */
.trust-strip{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:22px 0 30px; border-bottom:1px solid var(--line); }
.trust-label{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.trust-logos{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.trust-logo{ display:flex; align-items:center; justify-content:center; width:38px; height:38px; opacity:.65; filter:grayscale(1); transition:opacity .2s ease, filter .2s ease; flex:none; }
.trust-logo img{ width:100%; height:100%; object-fit:contain; }
.trust-logo:hover{ opacity:1; filter:grayscale(0); }

/* =====================================================================
   QUICK LINKS ROW
   ===================================================================== */
.quick-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.quick-grid.is-triple{ grid-template-columns:repeat(3,1fr); max-width:760px; margin-left:auto; margin-right:auto; }
@media (max-width: 680px){ .quick-grid.is-triple{ grid-template-columns:1fr 1fr; max-width:520px; } }
@media (max-width: 460px){ .quick-grid.is-triple{ grid-template-columns:1fr; max-width:360px; } }
.quick-card{ background:var(--card); border:1px solid var(--line); border-top:3px solid var(--accent,var(--blue)); border-radius:var(--radius); padding:20px 16px; display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); box-shadow:0 16px 34px -26px rgba(18,35,61,0.35); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.quick-card:hover{ transform:translateY(-3px); box-shadow:0 24px 44px -24px rgba(18,35,61,0.4); }
.quick-card .chip{ width:44px; height:44px; border-radius:12px; }
.quick-card .chip svg{ width:20px; height:20px; }
.qc-name{ font-weight:600; font-size:13.5px; line-height:1.25; display:block; }
.qc-sub{ font-size:11.5px; color:var(--muted); margin-top:3px; display:block; }

/* =====================================================================
   ABOUT BAND (dark rounded)
   ===================================================================== */
.about-band{ background-image:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 50%); background-color:var(--ink); border-radius:var(--radius-lg); color:#fff; padding:clamp(36px,5vw,64px); display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(30px,5vw,56px); align-items:center; position:relative; overflow:hidden; }
.about-band::after{ content:""; position:absolute; right:-110px; top:-110px; width:280px; height:280px; border-radius:50%; border:36px solid rgba(47,182,163,0.10); pointer-events:none; }
.about-band::before{ content:""; position:absolute; left:-90px; bottom:-120px; width:260px; height:260px; border-radius:50%; border:30px solid rgba(42,95,165,0.14); pointer-events:none; }
.about-band .section-title{ color:#fff; }
.about-band .section-title em{ color:var(--teal); }
.about-band p.lede{ color:rgba(255,255,255,0.72); font-size:15.5px; line-height:1.7; margin:0 0 26px; }
.about-points{ display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; list-style:none; padding:0; margin:0 0 32px; }
.about-points li{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; color:rgba(255,255,255,0.88); }
.about-points svg{ flex:none; color:var(--teal); }
.about-cta{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; position:relative; z-index:1; }
.call-note{ display:flex; align-items:center; gap:14px; }
.call-note .chip{ background:rgba(255,255,255,0.08); color:var(--teal); }
.call-label{ font-size:11.5px; color:rgba(255,255,255,0.6); letter-spacing:.04em; text-transform:uppercase; font-weight:600; }
.call-num{ font-family:'Poppins',sans-serif; font-size:21px; font-weight:700; color:#fff; text-decoration:none; }
.call-num:hover{ color:var(--teal); }

.stats{ display:grid; grid-template-columns:1fr 1fr; gap:14px; position:relative; z-index:1; }
.stat{ background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius); padding:24px 22px; }
.stat b{ display:block; font-family:'Poppins',sans-serif; font-weight:800; font-size:32px; line-height:1; margin-bottom:8px; }
.stat:nth-child(1) b{ color:var(--teal); }
.stat:nth-child(2) b{ color:var(--coral); }
.stat:nth-child(3) b{ color:#7FB2EC; }
.stat:nth-child(4) b{ color:var(--teal); }
.stat span{ font-size:12.5px; color:rgba(255,255,255,0.65); }

/* =====================================================================
   HOW IT WORKS — connective flow
   ===================================================================== */
.flow{ position:relative; margin-top:52px; }
.flow-track{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; position:relative; }
.flow-track::before{ content:""; position:absolute; left:8%; right:8%; top:26px; border-top:2px dashed var(--line); z-index:0; }
.flow-step{ position:relative; z-index:1; text-align:center; background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px 16px 22px; box-shadow:0 14px 30px -24px rgba(18,35,61,0.3); }
.flow-dot{ width:52px; height:52px; border-radius:50%; margin:0 auto 16px; display:flex; align-items:center; justify-content:center; background:var(--card); border:2px solid var(--accent,var(--blue)); color:var(--accent,var(--blue)); font-family:'Poppins',sans-serif; font-weight:700; font-size:17px; }
.flow-step h4{ font-size:14.5px; font-weight:700; margin:0 0 6px; }
.flow-step p{ font-size:12.5px; color:var(--muted); line-height:1.55; }

/* =====================================================================
   DIVISION CARDS — compact grid (home)
   ===================================================================== */
.div-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:44px; }
.div-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; padding:14px 14px 20px; min-width:0; transition:transform .2s ease, box-shadow .2s ease; }
.div-card:hover{ transform:translateY(-4px); box-shadow:0 26px 48px -30px rgba(18,35,61,0.38); }
.div-card .thumb{ aspect-ratio:4/3; overflow:hidden; position:relative; border-radius:14px; margin-bottom:18px; }
.div-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.div-card:hover .thumb img{ transform:scale(1.04); }
.div-card .thumb .thumb-tag{ position:absolute; left:12px; top:12px; z-index:1; background:rgba(12,26,48,0.82); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:5px 11px; border-radius:999px; }
.div-body{ padding:0; display:flex; flex-direction:column; flex:1; min-width:0; }
.div-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; min-width:0; }
.div-head > div{ min-width:0; }
.div-name{ font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; margin:0; }
.div-domain{ font-size:12px; color:var(--muted); margin-top:2px; overflow-wrap:break-word; word-break:break-word; }
.div-desc{ font-size:13.5px; line-height:1.6; color:var(--muted); margin:0 0 16px; }
.div-list{ list-style:none; padding:0; margin:0 0 22px; display:grid; gap:9px; }
.div-card.wide .div-list{ grid-template-columns:1fr 1fr; gap:9px 24px; }
.div-list li{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; line-height:1.5; color:var(--ink); }
.div-list svg{ flex:none; margin-top:3px; color:var(--teal); }
.div-foot{ margin-top:auto; display:flex; align-items:center; gap:12px; }
.link-arrow{ font-weight:600; font-size:14px; color:var(--blue-deep); text-decoration:none; display:inline-flex; align-items:center; gap:7px; transition:gap .2s ease, color .2s ease; }
.link-arrow:hover{ color:var(--coral); gap:11px; }

/* =====================================================================
   DIVISIONS TEASER — index.html
   ===================================================================== */
#divisions {
  padding: clamp(60px, 10vw, 120px) 0;
  background: var(--bg-alt, #f8fafc);
}

.div-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(24px, 2.5vw, 36px);
  margin-top: 48px;
}

.div-card {
  background: #ffffff;
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(18, 35, 61, 0.06);
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  border: 1px solid rgba(18, 35, 61, 0.06);
  display: flex;
  flex-direction: column;
}

.div-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px -16px rgba(18, 35, 61, 0.18);
  border-color: rgba(18, 35, 61, 0.1);
}

.thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--bg, #f0f2f5);
}

.thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.div-card:hover .thumb img {
  transform: scale(1.03);
}

.thumb-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink, #12233D);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.div-body {
  padding: 22px 24px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.div-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}

.div-head h3 {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 2px;
  color: var(--ink, #12233D);
  line-height: 1.3;
}

.div-domain {
  font-size: 12px;
  font-weight: 500;
  color: var(--muted, #6b7a8a);
  letter-spacing: 0.01em;
}

.div-desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted, #4a5a6a);
  margin: 0 0 18px;
  flex: 1;
}

.div-foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(18, 35, 61, 0.06);
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--accent, #2FB6A3);
  text-decoration: none;
  transition: gap 0.25s ease;
}

.link-arrow svg {
  flex: none;
  transition: transform 0.25s ease;
}

.link-arrow:hover {
  gap: 14px;
}

.link-arrow:hover svg {
  transform: translateX(4px);
}

/* =====================================================================
   INDUSTRY CARDS — industries.html
   ===================================================================== */
.industry-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:44px; }
.industry-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:transform .2s ease, box-shadow .2s ease; scroll-margin-top:100px; }
.industry-card:hover{ transform:translateY(-4px); box-shadow:0 26px 48px -30px rgba(18,35,61,0.38); }
.industry-thumb{ aspect-ratio:4/3; overflow:hidden; position:relative; }
.industry-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.industry-card:hover .industry-thumb img{ transform:scale(1.05); }
.industry-thumb .thumb-tag{ display:none; }
.industry-body{ padding:18px 18px 22px; border-top:3px solid transparent; }
.industry-card:hover{ border-color:var(--line); }
.industry-body h3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; margin:0 0 8px; }
.industry-body p{ font-size:13px; line-height:1.55; color:var(--muted); margin:0; }
.industry-card:target{ outline:2px solid var(--teal); outline-offset:4px; }

/* =====================================================================
   DIVISION DETAIL ROWS — divisions.html
   ===================================================================== */
.div-detail {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 5vw, 64px);
  align-items: center;
  padding: 44px clamp(20px, 4vw, 40px);
  border-radius: var(--radius-lg, 16px);
  background-image: linear-gradient(180deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,0) 50%);
  background-color: var(--row-tint, transparent);
  margin-bottom: 24px;
  scroll-margin-top: 100px;
}

.div-detail:last-of-type {
  margin-bottom: 0;
}

.div-detail.flip .d-media {
  order: 2;
}

.div-detail.flip .d-copy {
  order: 1;
}

.d-media {
  position: relative;
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: 0 30px 60px -32px rgba(18, 35, 61, 0.4);
  background: var(--bg, #f0f2f5);
}

.d-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.d-media .d-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 10px 24px -12px rgba(18, 35, 61, 0.3);
}

.d-badge .chip {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.d-badge .chip svg {
  width: 16px;
  height: 16px;
}

.d-badge b {
  font-size: 13px;
  display: block;
  color: var(--ink, #12233D);
}

.d-badge span {
  font-size: 10.5px;
  color: var(--muted, #6b7a8a);
  font-weight: 500;
}

.d-copy .div-domain-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--accent, var(--blue, #2A5FA5));
  background: var(--accent-tint, rgba(42, 95, 165, 0.08));
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 16px;
}

.d-copy h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: clamp(24px, 3vw, 32px);
  margin: 0 0 14px;
  color: var(--ink, #12233D);
}

.d-copy p.lede {
  font-size: 15px;
  line-height: 1.7;
  color: var(--muted, #4a5a6a);
  margin: 0 0 22px;
}

.d-features {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  display: grid;
  gap: 11px;
  grid-template-columns: 1fr 1fr;
}

.d-features li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ink, #12233D);
}

.d-features svg {
  flex: none;
  margin-top: 3px;
  color: var(--accent, var(--teal, #2FB6A3));
}

.d-quote {
  background: var(--bg-alt, #f8fafc);
  border-radius: var(--radius, 12px);
  padding: 18px 20px;
  margin-bottom: 24px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink, #12233D);
  border-left: 3px solid var(--accent, var(--blue, #2A5FA5));
}

.d-quote cite {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-size: 12px;
  color: var(--muted, #6b7a8a);
  font-weight: 600;
}

.d-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 768px) {
  .div-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .div-card {
    max-width: 480px;
    margin: 0 auto;
  }

  .div-detail {
    grid-template-columns: 1fr;
    padding: 40px 0;
  }

  .div-detail.flip .d-media {
    order: 1;
  }

  .div-detail.flip .d-copy {
    order: 2;
  }

  .d-features {
    grid-template-columns: 1fr;
  }

  .d-media .d-badge {
    top: 12px;
    left: 12px;
    padding: 8px 12px;
  }
}

@media (max-width: 480px) {
  .div-body {
    padding: 18px 16px 20px;
  }

  .div-head h3 {
    font-size: 15px;
  }

  .div-desc {
    font-size: 13px;
  }

  .d-copy h3 {
    font-size: clamp(20px, 5vw, 24px);
  }

  .d-copy p.lede {
    font-size: 14px;
  }
}
/* =====================================================================
   TESTIMONIALS
   ===================================================================== */
.testi-section{ background:#EEF3F9; border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; }
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
.testi-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; display:flex; flex-direction:column; gap:16px; }
.testi-quote{ font-size:14px; line-height:1.7; color:var(--ink); margin:0; }
.testi-quote::before{ content:"\201C"; display:block; font-family:'Poppins',sans-serif; font-weight:700; font-size:42px; line-height:.6; color:var(--coral); margin-bottom:10px; }
.testi-person{ display:flex; align-items:center; gap:12px; margin-top:auto; }
.avatar{ width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; color:#fff; flex:none; background-image:linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 60%); background-blend-mode:normal; }
.t-name{ font-weight:600; font-size:13.5px; }
.t-role{ font-size:12px; color:var(--muted); margin-top:2px; }

/* =====================================================================
   FAQ
   ===================================================================== */
.faq-wrap{ max-width:760px; margin:44px auto 0; display:grid; gap:12px; }
.faq-group + .faq-group{ margin-top:36px; }
.faq-group-title{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-deep); margin:0 0 14px; }
details{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:0 24px; transition:border-color .2s ease; }
details[open]{ border-color:#CBD8E8; }
summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 0; font-weight:600; font-size:15px; }
summary::-webkit-details-marker{ display:none; }
summary .plus{ width:27px; height:27px; border-radius:50%; background:var(--tint-blue); color:var(--blue-deep); display:flex; align-items:center; justify-content:center; flex:none; transition:transform .25s ease, background .25s ease, color .25s ease; }
details[open] summary .plus{ transform:rotate(45deg); background:var(--coral); color:#fff; }
.faq-body{ padding:0 0 21px; font-size:14px; line-height:1.7; color:var(--muted); }
.faq-body a{ color:var(--blue-deep); }

/* =====================================================================
   CTA BAND
   ===================================================================== */
.cta-band{ background-image:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 50%); background-color:var(--ink); border-radius:var(--radius-lg); color:#fff; padding:clamp(40px,6vw,64px); text-align:center; position:relative; overflow:hidden; border-top:3px solid var(--teal); }
.cta-band::after{ content:""; position:absolute; left:50%; bottom:-190px; transform:translateX(-50%); width:460px; height:280px; border-radius:50%; border:40px solid rgba(47,182,163,0.10); pointer-events:none; }
.cta-band .section-title{ color:#fff; }
.cta-band .section-title em{ color:var(--teal); }
.cta-band p{ color:rgba(255,255,255,0.72); max-width:520px; margin:0 auto 30px; font-size:15px; line-height:1.7; }
.cta-actions{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; position:relative; z-index:1; }

/* =====================================================================
   ABOUT PAGE extras — values / timeline / team
   ===================================================================== */
.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:44px; }
.values-grid.is-triple{ grid-template-columns:repeat(3,1fr); max-width:840px; margin-left:auto; margin-right:auto; }
@media (max-width: 860px){ .values-grid.is-triple{ grid-template-columns:1fr 1fr; max-width:560px; } }
@media (max-width: 680px){ .values-grid.is-triple{ grid-template-columns:1fr; max-width:420px; } }
.value-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; }
.value-card .chip{ margin-bottom:16px; }
.value-card h4{ font-size:15.5px; font-weight:700; margin:0 0 8px; }
.value-card p{ font-size:13.5px; line-height:1.6; color:var(--muted); }

.timeline{ margin-top:48px; position:relative; padding-left:28px; }
.timeline::before{ content:""; position:absolute; left:5px; top:6px; bottom:6px; width:2px; background:var(--line); }
.tl-item{ position:relative; padding-bottom:34px; }
.tl-item:last-child{ padding-bottom:0; }
.tl-item::before{ content:""; position:absolute; left:-28px; top:3px; width:12px; height:12px; border-radius:50%; background:var(--coral); border:3px solid var(--bg); box-shadow:0 0 0 2px var(--coral); }
.tl-year{ font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; color:var(--blue-deep); margin-bottom:4px; }
.tl-item p{ font-size:14px; line-height:1.65; color:var(--muted); max-width:560px; }

.team-band{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(30px,5vw,56px); align-items:center; margin-top:8px; }
.team-img{ border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/5;  }
.team-img img{ width:100%; height:100%; object-fit:cover; }

/* =====================================================================
   CONTACT PAGE extras
   ===================================================================== */
.contact-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(30px,5vw,56px); align-items:start; margin-top:44px; }
.contact-cards{ display:grid; gap:14px; }
.contact-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:22px; display:flex; gap:16px; align-items:flex-start; }
.contact-card h4{ font-size:14.5px; margin:0 0 4px; }
.contact-card p, .contact-card a{ font-size:13.5px; color:var(--muted); text-decoration:none; line-height:1.6; }
.contact-card a:hover{ color:var(--blue-deep); }
.contact-map{ border-radius:var(--radius); overflow:hidden; margin-top:6px; aspect-ratio:16/9; }
.contact-map img{ width:100%; height:100%; object-fit:cover; }
.contact-map iframe{ width:100%; height:100%; border:0; display:block; }

.form-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(26px,4vw,40px); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.field{ display:grid; gap:7px; }
.field.full{ grid-column:1 / -1; }
.field label{ font-size:13px; font-weight:600; }
.field input, .field select, .field textarea{ font-family:'Inter',sans-serif; font-size:14.5px; padding:12px 14px; border-radius:10px; border:1.5px solid var(--line); background:var(--bg); color:var(--ink); resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--blue); background:#fff; }
.form-note{ font-size:12.5px; color:var(--muted); margin-top:14px; }

.dept-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:44px; }
.dept-card{ background:var(--card); border:1px solid var(--line); border-top:3px solid var(--accent,var(--blue)); border-radius:var(--radius); padding:20px 18px; text-align:center; }
.dept-card .chip{ margin:0 auto 12px; }
.dept-card h4{ font-size:14px; margin:0 0 4px; }
.dept-card a{ font-size:12.5px; color:var(--muted); text-decoration:none; }
.dept-card a:hover{ color:var(--blue-deep); }

/* =====================================================================
   FOOTER
   ===================================================================== */
footer{ background:var(--ink-2); color:rgba(255,255,255,0.72); padding:64px 0 0; }
.foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:48px; }
.foot-brand p{ font-size:13.5px; line-height:1.7; color:rgba(255,255,255,0.6); margin:16px 0 20px; max-width:300px; }
.socials{ display:flex; gap:10px; }
.socials a{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.16); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.75); transition:background .2s ease, color .2s ease, border-color .2s ease; }
.socials a:hover{ background:var(--teal); border-color:var(--teal); color:#fff; }
.foot-h{ font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin:0 0 18px; }
.foot-links{ list-style:none; padding:0; margin:0; display:grid; gap:11px; }
.foot-links a{ display:flex; align-items:center; gap:9px; }
.foot-links a img, .foot-links a svg{ flex:none; width:15px; height:15px; object-fit:contain; opacity:.75; transition:opacity .2s ease; }
.foot-links a:hover img, .foot-links a:hover svg{ opacity:1; }
.foot-links a{ color:rgba(255,255,255,0.62); text-decoration:none; font-size:13.5px; transition:color .2s ease; }
.foot-links a:hover{ color:var(--teal); }
.foot-contact{ display:grid; gap:15px; font-size:13.5px; }
.foot-contact div{ display:flex; gap:11px; align-items:flex-start; }
.foot-contact svg{ flex:none; color:var(--teal); margin-top:2px; }
.foot-contact a{ color:rgba(255,255,255,0.8); text-decoration:none; }
.foot-contact a:hover{ color:var(--teal); }
.foot-badges{ border-top:1px solid rgba(255,255,255,0.1); padding:26px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.foot-badge{ display:flex; align-items:center; gap:12px; padding-right:20px; border-right:1px solid rgba(255,255,255,0.1); }
.foot-badge:last-child{ border-right:none; padding-right:0; }
.foot-badge svg{ flex:none; }
.foot-badge span{ display:block; font-size:12.5px; font-weight:600; line-height:1.4; color:rgba(255,255,255,0.85); white-space:nowrap; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,0.1); padding:20px 0; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; color:rgba(255,255,255,0.45); }
.foot-bottom a{ color:rgba(255,255,255,0.6); text-decoration:none; }
.foot-bottom a:hover{ color:var(--teal); }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 1080px){
  .quick-grid{ grid-template-columns:repeat(3,1fr); }
  .values-grid{ grid-template-columns:1fr 1fr; }
  .dept-grid{ grid-template-columns:repeat(3,1fr); }
  .div-grid{ grid-template-columns:repeat(3,1fr); }
  .industry-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 980px){
  .deco{ display:none; }
  .hero-mobile-carousel{ display:block; position:relative; width:100%; aspect-ratio:16/10; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:22px; box-shadow:0 20px 40px -24px rgba(18,35,61,0.35); }
  .hero-mobile-carousel img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; animation:hero-carousel-fade 15s infinite; }
  .hero-mobile-carousel img:first-child{ opacity:1; }
  @keyframes hero-carousel-fade{
    0%{ opacity:0; }
    1.5%{ opacity:1; }
    18.5%{ opacity:1; }
    20%{ opacity:0; }
    100%{ opacity:0; }
  }
  .hero, .page-hero{ position:relative; }
  .hero::before, .page-hero::before{ content:""; position:absolute; top:8px; right:-14px; width:64px; height:64px; border-radius:50%; border:3px solid var(--teal); opacity:.45; pointer-events:none; }
  .hero{ grid-template-columns:1fr; gap:8px; padding-top:56px; }
  .hero .orbit-visual{ display:none; }
  .hero-carousel-nav{ display:none; }
  .hero-desc{ max-width:100%; }
  .hero-meta-row{ display:none; }
  .orbit-tagline{ display:none; }
  .page-hero-inner{ grid-template-columns:1fr; }
  .page-hero-img{ order:-1; aspect-ratio:16/9; }
  .about-band{ grid-template-columns:1fr; }
  .div-card.wide .div-list{ grid-template-columns:1fr; }
  .div-detail{ grid-template-columns:1fr; padding:32px 20px; }
  .div-detail.flip .d-media, .div-detail.flip .d-copy{ order:0; }
  .d-features{ grid-template-columns:1fr; }
  .testi-grid{ grid-template-columns:1fr 1fr; }
  .flow-track{ grid-template-columns:1fr 1fr; row-gap:28px; }
  .flow-track::before{ display:none; }
  .team-band{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .dept-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 860px){
  .nav-links{ display:none; }
  .nav-ghost{ display:none; }
  header .nav-actions .nav-cta{ display:none; }
  .nav-burger{ display:flex; }
  .mobile-drawer{ display:block; }
}
@media (max-width: 680px){
  .stage{ padding:0 20px; }
  section{ padding:52px 0; }
  .hero{ padding-top:48px; }
  .headline{ font-size:42px; }
  .foot-badge{ border-right:none; padding-right:0; width:100%; padding-bottom:16px; border-bottom:1px solid rgba(255,255,255,.1); }
  .foot-badge:last-child{ border-bottom:none; padding-bottom:0; }
  .page-title{ font-size:36px; }
  .hero-highlights{ grid-template-columns:1fr; }
  .trust-strip{ justify-content:center; text-align:center; }
  .trust-logos{ justify-content:center; }
  .quick-grid{ grid-template-columns:1fr 1fr; }
  .div-grid{ grid-template-columns:1fr 1fr; }
  .industry-grid{ grid-template-columns:1fr 1fr; }
  .about-points{ grid-template-columns:1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .values-grid{ grid-template-columns:1fr; }
  .testi-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .dept-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .about-band, .cta-band{ padding:32px 22px; border-radius:20px; }
  .d-media, .page-hero-img, .team-img{ border-radius:18px; }
}
@media (max-width: 460px){
  .quick-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; gap:30px; }
  .hero-cta-row .btn-primary, .hero-cta-row .btn-outline{ width:100%; justify-content:center; }
}
