/* ===================== TOKENS ===================== */
:root{
  --navy-950:#070f22;
  --navy-900:#0c1f3d;
  --navy-700:#16365f;
  --navy-600:#1d4576;
  --gold-500:#c79a35;
  --gold-300:#e2c374;
  --gold-100:#f6ecd2;
  --teal-500:#1d7c79;
  --paper:#f4f5f3;
  --paper-dim:#e9ebe7;
  --ink:#0e1626;
  --ink-soft:#3a4252;
  --mist:#6c7587;
  --line:rgba(14,22,38,0.12);
  --line-dark:rgba(244,245,243,0.14);
  --radius:14px;
  --maxw:1180px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

/* offset anchored jump-targets so the fixed nav doesn't cover them */
section[id], header[id], div[id]{scroll-margin-top:92px;}
body{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--navy-900);
}

.mono{font-family:'JetBrains Mono',monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;}

.eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:0.72rem; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold-500);
  display:flex; align-items:center; gap:10px; margin-bottom:16px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--gold-500); display:inline-block;}
.eyebrow.on-dark{color:var(--gold-300);}

a:focus-visible, button:focus-visible{outline:2px solid var(--gold-500); outline-offset:3px; border-radius:4px;}

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

/* ===================== NAV ===================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(7,15,34,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-dark);
}
.nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between; height:72px;
}
.nav-logo{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.05rem; color:#fff;}
.nav-logo .mark{width:30px;height:30px; flex:none;}
.nav-logo small{display:block; font-family:'JetBrains Mono',monospace; font-weight:400; font-size:0.58rem; letter-spacing:0.18em; color:var(--gold-300); text-transform:uppercase; margin-top:1px;}
.nav-links{display:flex; gap:28px; align-items:center; list-style:none;}
.nav-links a{font-size:0.86rem; color:#cfd7e6; font-weight:500; transition:color .2s var(--ease); position:relative; padding:4px 0;}
.nav-links a:hover{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(--gold-500);}
.nav-cta{background:var(--gold-500); color:var(--navy-950) !important; padding:10px 20px; border-radius:999px; font-size:0.84rem; font-weight:600; transition:transform .2s var(--ease), background .2s var(--ease);}
.nav-cta:hover{background:var(--gold-300); transform:translateY(-1px);}
.nav-toggle{display:none;}

/* ===================== NAV DROPDOWN ===================== */
.has-dropdown{position:relative; display:flex; align-items:center; gap:4px;}
.has-dropdown > a{padding:4px 0;}
.dropdown-toggle{
  background:none; border:none; padding:4px; cursor:pointer; color:#cfd7e6;
  display:flex; align-items:center; justify-content:center;
}
.dropdown-toggle svg{width:13px; height:13px; transition:transform .2s var(--ease);}
.has-dropdown.open .dropdown-toggle svg{transform:rotate(180deg);}
.dropdown{
  list-style:none; position:absolute; top:100%; left:0; min-width:250px;
  background:var(--navy-950); border:1px solid var(--line-dark); border-radius:10px;
  padding:8px; margin-top:14px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.55);
  z-index:10;
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown,
.has-dropdown.open .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown a{display:block; padding:10px 12px; font-size:0.84rem; color:#cfd7e6; border-radius:6px; white-space:nowrap; font-weight:500;}
.dropdown a:hover{background:rgba(255,255,255,0.07); color:#fff;}

@media (max-width:980px){
  .has-dropdown{flex-direction:column; align-items:flex-start; width:100%;}
  .has-dropdown > a{padding:0;}
  .dropdown-toggle{position:absolute; right:0; top:-2px;}
  .dropdown{
    position:static; opacity:1; visibility:visible; transform:none;
    max-height:0; overflow:hidden; padding:0; margin-top:0; border:none; box-shadow:none;
    background:rgba(255,255,255,0.03); transition:max-height .3s var(--ease);
  }
  .has-dropdown.open .dropdown{max-height:220px; padding:8px; margin-top:10px;}
}

@media (max-width:980px){
  .nav-links{
    position:fixed; top:72px; left:0; right:0; bottom:0; background:var(--navy-950);
    flex-direction:column; align-items:flex-start; padding:30px 32px; gap:22px;
    transform:translateX(100%); transition:transform .3s var(--ease); overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-toggle{display:flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;}
  .nav-toggle span{width:22px;height:2px;background:#fff;display:block;}
}

/* ===================== HOME HERO ===================== */
.hero{
  position:relative;
  background:radial-gradient(120% 100% at 80% -10%, #14305c 0%, var(--navy-950) 58%);
  color:#fff; padding:170px 0 110px; overflow:hidden;
}
.hero-grid{position:absolute; inset:0; opacity:0.55; pointer-events:none;}
.hero-inner{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr 0.85fr; gap:50px; align-items:center;}
.hero-tag{
  display:inline-flex; gap:10px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:0.72rem;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-300); border:1px solid var(--line-dark);
  padding:8px 14px; border-radius:999px; margin-bottom:28px;
}
.hero-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-500); animation:pulse 2.4s infinite var(--ease);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.25;}}
.hero h1{color:#fff; font-size:clamp(2.4rem, 4.4vw, 3.85rem); line-height:1.07; max-width:13ch; margin-bottom:26px;}
.hero h1 em{font-style:normal; color:var(--gold-300);}
.hero p.lede{font-size:1.1rem; color:#aebbd1; max-width:46ch; margin-bottom:38px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:54px;}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:999px;
  font-weight:600; font-size:0.92rem; transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  cursor:pointer; border:1px solid transparent;
}
.btn-primary{background:var(--gold-500); color:var(--navy-950);}
.btn-primary:hover{background:var(--gold-300); transform:translateY(-2px);}
.btn-ghost{border-color:var(--line-dark); color:#fff;}
.btn-ghost:hover{border-color:#fff; transform:translateY(-2px);}
.hero-pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; max-width:560px;}
.hero-pillars div{border:1px solid var(--line-dark); border-radius:10px; padding:14px 10px; text-align:center; background:rgba(255,255,255,0.02);}
.hero-pillars .num{display:block; font-family:'Space Grotesk',sans-serif; color:var(--gold-300); font-size:0.78rem; font-weight:600; margin-bottom:4px;}
.hero-pillars .label{font-size:0.82rem; color:#dbe2ee;}

.hero-visual{position:relative; height:460px;}
.hero-visual svg{position:absolute; inset:0; width:100%; height:100%;}
.scanline{
  position:absolute; left:6%; right:6%; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-300), transparent);
  top:10%; animation:scan 5.5s linear infinite; filter:drop-shadow(0 0 6px rgba(226,195,116,0.7));
}
@keyframes scan{0%{top:8%; opacity:0;}8%{opacity:1;}50%{top:88%; opacity:1;}58%{opacity:0;}100%{top:8%; opacity:0;}}
.node{animation:blink 3.2s ease-in-out infinite;}
.node.n2{animation-delay:.5s;} .node.n3{animation-delay:1s;} .node.n4{animation-delay:1.6s;} .node.n5{animation-delay:2.1s;}
@keyframes blink{0%,100%{opacity:0.35;}50%{opacity:1;}}

@media (max-width:920px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual{height:300px; order:-1;}
  .hero-pillars{grid-template-columns:1fr; max-width:100%;}
}

/* ===================== PAGE BANNER (inner pages) ===================== */
.page-banner{
  position:relative; background:radial-gradient(120% 140% at 85% -20%, #14305c 0%, var(--navy-950) 60%);
  color:#fff; padding:158px 0 64px; overflow:hidden;
}
.page-banner .hero-grid{opacity:0.4;}
.breadcrumb{
  position:relative; z-index:2; font-family:'JetBrains Mono',monospace; font-size:0.72rem;
  letter-spacing:0.08em; text-transform:uppercase; color:#8b97ab; margin-bottom:18px;
}
.breadcrumb a{color:#8b97ab; transition:color .2s var(--ease);}
.breadcrumb a:hover{color:var(--gold-300);}
.breadcrumb span{margin:0 8px;}
.page-banner h1{position:relative; z-index:2; color:#fff; font-size:clamp(2rem,3.6vw,3rem); max-width:24ch; margin-bottom:16px;}
.page-banner p{position:relative; z-index:2; color:#aebbd1; max-width:54ch; font-size:1.04rem;}

/* ---- light variant of the page banner (used on select pages) ---- */
.page-banner.is-light{
  background:linear-gradient(180deg, var(--paper-dim) 0%, var(--paper) 100%);
}
.page-banner.is-light .breadcrumb{color:var(--mist);}
.page-banner.is-light .breadcrumb a{color:var(--mist);}
.page-banner.is-light .breadcrumb a:hover{color:var(--gold-500);}
.page-banner.is-light .eyebrow{color:var(--gold-500);}
.page-banner.is-light .eyebrow::before{background:var(--gold-500);}
.page-banner.is-light h1{color:var(--navy-900);}
.page-banner.is-light p{color:var(--ink-soft);}

/* ===================== SECTION SCAFFOLDING ===================== */
section{padding:104px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:54px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.7rem, 2.6vw, 2.5rem); max-width:18ch;}
.section-head .sub{color:var(--mist); max-width:36ch; font-size:1rem;}
.section-on-dark{background:var(--navy-950); color:#dbe2ee;}
.section-on-dark .section-head h2, .section-on-dark h2, .section-on-dark h3, .section-on-dark h4{color:#fff;}
.section-paper-dim{background:var(--paper-dim);}
.divider{height:1px; background:var(--line); border:none; margin:0;}

/* ===================== ABOUT ===================== */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
.pillar-row{display:flex; gap:14px; margin:30px 0 26px; flex-wrap:wrap;}
.pillar-chip{flex:1; min-width:150px; background:var(--navy-900); color:#fff; border-radius:10px; padding:18px 16px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:0.95rem;}
.pillar-chip:nth-child(2){background:var(--gold-500); color:var(--navy-950);}
.pillar-chip:nth-child(3){background:var(--navy-700);}
.lead-text{font-size:1.08rem; color:var(--ink-soft); margin-bottom:18px;}
.quiet-text{color:var(--mist); font-style:italic; font-size:0.98rem;}
.offer-list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.offer-list li{display:flex; align-items:center; gap:12px; padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:10px; font-size:0.92rem; font-weight:500; color:var(--ink);}
.offer-list li .ic{flex:none; width:20px; height:20px; color:var(--teal-500);}
.offer-list li a{display:flex; align-items:center; gap:12px; width:100%;}

/* ===================== DIFFERENTIATION ===================== */
.diff-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line);}
.diff-card{background:#fff; padding:34px 28px; transition:background .2s var(--ease);}
.diff-card:hover{background:var(--gold-100);}
.diff-card .ic{width:30px; height:30px; color:var(--gold-500); margin-bottom:18px;}
.diff-card h3{font-size:1.05rem; margin-bottom:10px;}
.diff-card p{font-size:0.9rem; color:var(--mist);}
@media (max-width:920px){.diff-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.diff-grid{grid-template-columns:1fr;}}

/* ===================== CARD GRID (generic services) ===================== */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.svc-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px; transition:transform .25s var(--ease), box-shadow .25s var(--ease);}
.svc-card:hover{transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(11,37,69,0.35);}
.svc-card .head-row{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.svc-card .ic-wrap{width:44px; height:44px; border-radius:10px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--navy-900); color:#fff;}
.svc-card .ic-wrap svg{width:22px; height:22px;}
.svc-card h3{font-size:1.08rem;}
.svc-card p.desc{color:var(--mist); font-size:0.9rem; margin-bottom:18px;}
.tick-list{list-style:none; display:flex; flex-direction:column; gap:9px;}
.tick-list li{font-size:0.86rem; color:var(--ink-soft); padding-left:18px; position:relative;}
.tick-list li::before{content:""; position:absolute; left:0; top:7px; width:8px; height:1px; background:var(--gold-500);}
.accent-bar-blue .head-row .ic-wrap{background:var(--navy-900);}
.accent-bar-gold .head-row .ic-wrap{background:var(--gold-500); color:var(--navy-950);}
.accent-bar-teal .head-row .ic-wrap{background:var(--teal-500);}

/* ===================== competency grid ===================== */
.comp-image{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:0 24px 50px -30px rgba(11,37,69,0.4);}
.comp-image img{width:100%; height:auto; display:block;}
.comp-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.comp-tile{background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px 10px; text-align:center; color:var(--ink-soft); transition:border-color .25s var(--ease), background .25s var(--ease), transform .2s var(--ease);}
.comp-tile:hover{border-color:var(--gold-500); background:var(--gold-100); transform:translateY(-2px);}
.comp-tile .ic{width:22px;height:22px; margin:0 auto 10px; color:var(--gold-500);}
.comp-tile span{font-size:0.74rem; font-weight:500; display:block; line-height:1.25; color:var(--navy-900);}
@media (max-width:920px){.comp-grid{grid-template-columns:repeat(2,1fr);}}

/* ===================== PORTFOLIO COLUMNS ===================== */
.portfolio-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);}
.portfolio-col{background:#fff;}
.portfolio-col .col-head{background:var(--gold-500); color:var(--navy-950); font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:0.8rem; padding:12px 14px;}
.portfolio-col:nth-child(odd) .col-head{background:var(--navy-700); color:#fff;}
.portfolio-col ul{list-style:none;}
.portfolio-col li{font-size:0.74rem; color:var(--ink-soft); padding:9px 14px; border-top:1px solid var(--line); line-height:1.35;}
@media (max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}

/* ===================== framework columns ===================== */
.fw-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.fw-col{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff;}
.fw-col .fw-head{padding:20px 22px; font-family:'Space Grotesk',sans-serif; font-weight:600; color:#fff; font-size:1.02rem;}
.fw-col:nth-child(1) .fw-head{background:var(--navy-900);}
.fw-col:nth-child(2) .fw-head{background:var(--gold-500); color:var(--navy-950);}
.fw-col:nth-child(3) .fw-head{background:var(--navy-700);}
.fw-body{padding:20px 22px;}
.fw-sub{font-family:'JetBrains Mono',monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-500); margin:16px 0 8px;}
.fw-sub:first-child{margin-top:0;}
.fw-body ul{list-style:none;}
.fw-body li{font-size:0.86rem; padding:6px 0; color:var(--ink-soft); border-top:1px solid var(--line);}
.fw-body li:first-of-type{border-top:none;}
@media (max-width:920px){.fw-grid{grid-template-columns:1fr;}}

/* ===================== specialized services ===================== */
.special-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
.special-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 20px; text-align:left;}
.special-card .tag{display:inline-block; font-family:'JetBrains Mono',monospace; font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:#fff; background:var(--navy-700); padding:4px 10px; border-radius:999px; margin-bottom:16px;}
.special-card .ic{width:30px; height:30px; color:var(--gold-500); margin-bottom:14px;}
.special-card h3{font-size:1rem; margin-bottom:8px;}
.special-card p.desc{font-size:0.84rem; color:var(--mist); margin-bottom:16px;}
.special-card ul{list-style:none; font-size:0.8rem; color:var(--ink-soft); display:flex; flex-direction:column; gap:6px;}
.special-card ul li{padding-left:14px; position:relative;}
.special-card ul li::before{content:"·"; position:absolute; left:0; color:var(--gold-500); font-weight:700;}
@media (max-width:1100px){.special-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.special-grid{grid-template-columns:1fr;}}

/* ===================== global delivery / case study ===================== */
.gd-grid{display:grid; grid-template-columns:0.9fr 1.1fr 0.9fr; gap:28px; align-items:start;}
.map-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px;}
.map-card h3{font-size:1rem; margin-bottom:18px;}
.region-row{display:flex; justify-content:space-between; align-items:flex-start; padding:14px 0; border-top:1px solid var(--line); gap:10px;}
.region-row:first-of-type{border-top:none;}
.region-row .code{font-family:'JetBrains Mono',monospace; font-weight:700; color:var(--navy-900); background:var(--gold-100); padding:3px 9px; border-radius:6px; font-size:0.78rem;}
.region-row .meta{text-align:right;}
.region-row .meta b{display:block; font-size:0.9rem;}
.region-row .meta span{font-size:0.78rem; color:var(--mist);}
.case-card{background:var(--navy-950); color:#fff; border-radius:var(--radius); padding:30px 28px;}
.case-card .tag{font-family:'JetBrains Mono',monospace; font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-300); margin-bottom:6px; display:block;}
.case-card h3{color:#fff; font-size:1.2rem; margin-bottom:18px;}
.case-card .challenge{font-size:0.88rem; color:#aebbd1; margin-bottom:20px;}
.case-card .sol-list{list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:24px;}
.case-card .sol-list li{font-size:0.86rem; padding-left:22px; position:relative;}
.case-card .sol-list li::before{content:"✓"; position:absolute; left:0; color:var(--gold-300);}
.case-results{display:flex; gap:14px;}
.case-results div{flex:1; background:rgba(255,255,255,0.06); border-radius:10px; padding:16px;}
.case-results .stat{font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:700; color:var(--gold-300);}
.case-results .lbl{font-size:0.76rem; color:#c4ccdb; margin-top:4px;}
.client-list{list-style:none; display:flex; flex-direction:column; gap:10px;}
.client-list li{background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px;}
.client-list li b{display:block; font-size:0.9rem;}
.client-list li span{font-size:0.78rem; color:var(--mist);}
@media (max-width:1100px){.gd-grid{grid-template-columns:1fr; }}

/* ===================== alliances ===================== */
.alliance-banner{background:var(--navy-900); color:#fff; border-radius:var(--radius); padding:30px 34px; margin-bottom:36px; font-size:1rem; color:#cfd7e6; border-left:4px solid var(--gold-500);}
.alliance-cols{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.alliance-col h4{font-family:'JetBrains Mono',monospace; font-size:0.74rem; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:16px; color:var(--navy-900);}
.alliance-col.gold h4{color:var(--gold-500);}
.alliance-col ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
.alliance-col li{background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 16px; font-size:0.9rem; font-weight:500;}
@media (max-width:768px){.alliance-cols{grid-template-columns:1fr;}}

/* ===================== training table ===================== */
.train-table{width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line);}
.train-table tr{border-top:1px solid var(--line);}
.train-table tr:first-child{border-top:none;}
.train-table td{padding:18px 22px; font-size:0.9rem; vertical-align:top;}
.train-table td.domain{width:160px; font-family:'Space Grotesk',sans-serif; font-weight:700; color:#fff; background:var(--navy-900);}
.train-table tr:nth-child(even) td.domain{background:var(--navy-700);}
.train-table td.detail{color:var(--ink-soft);}
.train-meta{display:flex; gap:24px; margin-bottom:24px; flex-wrap:wrap;}
.train-meta div{font-size:0.84rem; color:var(--mist);}
.train-meta b{color:var(--navy-900); font-family:'Space Grotesk',sans-serif;}

/* ===================== engagement models ===================== */
.engage-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.engage-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px 26px; position:relative;}
.engage-card .step-num{font-family:'Space Grotesk',sans-serif; font-size:2.4rem; font-weight:700; color:var(--gold-100); position:absolute; top:18px; right:22px; line-height:1;}
.engage-card h3{font-size:1.05rem; margin-bottom:6px; max-width:80%;}
.engage-card .model-tag{font-family:'JetBrains Mono',monospace; font-size:0.68rem; letter-spacing:0.08em; color:var(--teal-500); text-transform:uppercase; margin-bottom:16px; display:block;}
.engage-card p{font-size:0.9rem; color:var(--ink-soft);}
@media (max-width:920px){.engage-grid{grid-template-columns:1fr;}}

/* ===================== leadership ===================== */
.leader-card{display:grid; grid-template-columns:200px 1fr; gap:36px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:34px; margin-bottom:24px;}
.avatar{width:130px; height:130px; border-radius:50%; background:linear-gradient(145deg, var(--navy-700), var(--navy-950)); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--gold-300); font-size:2rem; border:3px solid var(--gold-100);}
.leader-card h3{font-size:1.25rem; margin-bottom:4px;}
.leader-card .role{color:var(--mist); font-size:0.92rem; margin-bottom:18px;}
.leader-cols{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.leader-cols h4{font-family:'JetBrains Mono',monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-500); margin-bottom:10px;}
.leader-cols ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
.leader-cols li{font-size:0.86rem; color:var(--ink-soft); padding-left:14px; position:relative;}
.leader-cols li::before{content:"—"; position:absolute; left:0; color:var(--gold-500);}
.bio-text{font-size:0.9rem; color:var(--ink-soft); line-height:1.65;}
@media (max-width:768px){
  .leader-card{grid-template-columns:1fr; text-align:left;}
  .avatar{margin-bottom:6px;}
  .leader-cols{grid-template-columns:1fr;}
}

/* ===================== CTA / footer ===================== */
.cta-band{background:var(--navy-950); color:#fff; text-align:center; padding:110px 0; position:relative; overflow:hidden;}
.cta-band::before{content:""; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(199,154,53,0.18), transparent 70%); top:-300px; right:-200px;}
.cta-band h2{color:#fff; font-size:clamp(1.8rem,3vw,2.6rem); max-width:18ch; margin:0 auto 20px;}
.cta-band p{color:#aebbd1; max-width:42ch; margin:0 auto 36px; font-size:1.02rem;}

footer{background:var(--navy-950); color:#9aa6bb; padding:54px 0 32px; border-top:1px solid var(--line-dark);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px;}
.footer-brand{display:flex; align-items:center; gap:10px; color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:700; margin-bottom:14px;}
.footer-brand .mark{width:26px;height:26px;}
footer p.about{font-size:0.86rem; max-width:32ch; color:#828ea3;}
footer h5{font-family:'JetBrains Mono',monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:#dbe2ee; margin-bottom:14px;}
footer ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
footer ul li a{font-size:0.86rem; color:#9aa6bb; transition:color .2s var(--ease);}
footer ul li a:hover{color:var(--gold-300);}
.footer-bottom{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; border-top:1px solid var(--line-dark); padding-top:24px; font-size:0.78rem; color:#6c7587;}
@media (max-width:920px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ===== reveal on scroll ===== */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}

/* ===== generic responsive collapse ===== */
@media (max-width:920px){
  .card-grid{grid-template-columns:1fr 1fr;}
  .comp-grid{grid-template-columns:repeat(2,1fr);}
  .fw-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
  .offer-list{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .card-grid{grid-template-columns:1fr;}
  section{padding:74px 0;}
  .wrap{padding:0 20px;}
  .leader-card{padding:24px;}
}
