:root{
  --navy:#081A3A;
  --charcoal:#111318;
  --bg:#F7F7F5;
  --panel:#EFEEEA;
  --grey:#E8E9E8;
  --line: rgba(8,26,58,0.12);
  --line-soft: rgba(17,19,24,0.08);
  --ib:#081A3A;
  --ca:#1B4332;
  --gf:#1E3A6E;
  --gt:#0E4749;
  --ph:#8A6A32;
  --accent: var(--navy);
  --ink-70: rgba(17,19,24,0.7);
  --ink-50: rgba(17,19,24,0.5);
  --serif: 'Fraunces', serif;
  --sans: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--charcoal);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

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

a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2px solid var(--navy); outline-offset:3px;}

.wrap{max-width:1320px; margin:0 auto; padding:0 48px;}
@media (max-width:900px){ .wrap{padding:0 24px;} }

.eyebrow{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-50);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:'';
  width:22px; height:1px;
  background:currentColor;
  display:inline-block;
}
.eyebrow.on-accent{color:rgba(255,255,255,0.55);}

h1,h2,h3{font-family:var(--serif); font-weight:500; letter-spacing:-0.01em; color:var(--navy);}

/* ================= NAV ================= */
header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:26px 0;
  transition:background .5s ease, padding .4s ease, border-color .4s ease, backdrop-filter .4s ease;
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(247,247,245,0.92);
  backdrop-filter:blur(10px);
  padding:16px 0;
  border-bottom:1px solid var(--line-soft);
}
header.on-dark{ }
header.on-dark:not(.scrolled) .logo, header.on-dark:not(.scrolled) .nav-link, header.on-dark:not(.scrolled) .nav-cta{color:#fff;}
header.on-dark:not(.scrolled) .nav-cta{border-color:rgba(255,255,255,0.5);}
header.on-dark:not(.scrolled) .logo .mark{border-color:rgba(255,255,255,0.5);}
header.on-dark:not(.scrolled) .nav-link::after{background:#fff;}
header.on-dark:not(.scrolled) .nav-cta:hover{background:#fff; color:var(--navy);}
.nav-inner{display:flex; align-items:center; justify-content:space-between;}
.logo{
  font-family:var(--serif); font-weight:500; font-size:19px;
  letter-spacing:0.01em; color:var(--navy);
  display:flex; align-items:baseline; gap:8px;
}
.logo .mark{
  font-family:var(--mono); font-size:12px; letter-spacing:0.06em;
  border:1px solid var(--navy); padding:3px 7px; border-radius:2px;
}
nav.primary{display:flex; gap:26px; align-items:center;}
@media (max-width:1180px){ nav.primary{display:none;} }
.nav-link{
  white-space:nowrap;
  font-size:14px; color:var(--charcoal); position:relative; padding:6px 0;
  font-weight:400;
}
.nav-link::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--navy); transition:width .3s ease;
}
.nav-link:hover::after{width:100%;}
.nav-link.current::after{width:100%;}
.nav-cta{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.04em;
  border:1px solid var(--navy); padding:11px 20px;
  display:inline-flex; align-items:center; gap:8px;
  transition:background .3s ease, color .3s ease;
}
.nav-cta:hover{background:var(--navy); color:#fff;}
header.on-dark .nav-cta:hover{background:#fff; color:var(--navy);}

/* MOBILE MENU TOGGLE */
.mobile-menu-toggle{
  display:none; align-items:center; gap:10px;
  background:none; border:none; padding:6px 0;
  font-family:var(--mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--charcoal); cursor:pointer;
}
header.on-dark:not(.scrolled) .mobile-menu-toggle{color:#fff;}
.mobile-menu-icon{display:flex; flex-direction:column; justify-content:center; gap:5px; width:22px; height:16px;}
.mobile-menu-icon span{display:block; width:100%; height:1px; background:currentColor; transition:transform .3s ease, opacity .3s ease;}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:first-child{transform:translateY(6px) rotate(45deg);}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:last-child{transform:translateY(-6px) rotate(-45deg);}
@media (max-width:1180px){
  .mobile-menu-toggle{display:inline-flex;}
  nav.primary, .nav-cta{display:none;}
}

/* MOBILE FULL-SCREEN NAV PANEL */
.mobile-nav{
  position:fixed; inset:0; z-index:1300;
  background:var(--bg);
  transform:translateY(-100%);
  transition:transform .45s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;
  padding:110px 32px 48px;
  visibility:hidden;
}
.mobile-nav.open{transform:translateY(0); visibility:visible;}
.mobile-nav-inner{max-width:520px;}
body.nav-locked{overflow:hidden;}
.mobile-nav-group{padding:26px 0; border-bottom:1px solid var(--line);}
.mobile-nav-group:first-child{padding-top:0;}
.mobile-nav-label{
  font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink-50); margin-bottom:16px;
}
.mobile-nav-group a{
  display:block; font-family:var(--serif); font-size:26px; font-weight:500;
  color:var(--navy); padding:10px 0;
}
.mobile-nav-footer{margin-top:36px;}
.mobile-nav-footer .btn-primary{width:100%; justify-content:center;}
.mobile-nav-close{
  position:absolute; top:26px; right:32px;
  background:none; border:none; font-family:var(--mono); font-size:12px;
  letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-50); cursor:pointer;
}
@media (min-width:1021px){ .mobile-nav{display:none;} }

.has-mega{position:relative;}
.mega{
  position:fixed; top:0; left:0; right:0;
  background:#fff;
  border-bottom:1px solid var(--line-soft);
  box-shadow:0 24px 60px rgba(8,26,58,0.10);
  padding:120px 0 56px 0;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .35s ease, transform .35s ease, visibility .35s;
  z-index:900;
}
.has-mega:hover .mega, .mega:hover{opacity:1; visibility:visible; transform:translateY(0);}
.mega-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line-soft);}
.mega-item{background:#fff; padding:28px 26px; transition:background .25s ease; display:block;}
.mega-item:hover{background:var(--bg);}
.mega-num{font-family:var(--mono); font-size:11px; color:var(--ink-50); margin-bottom:14px;}
.mega-bar{width:26px; height:3px; margin-bottom:16px;}
.mega-item h4{font-family:var(--serif); font-size:18px; font-weight:500; color:var(--navy); margin-bottom:8px;}
.mega-item p{font-size:12.5px; color:var(--ink-70); line-height:1.55;}

/* ================= HERO (homepage) ================= */
.hero{
  position:relative; min-height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding-top:140px; padding-bottom:80px;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse 900px 500px at 82% 8%, rgba(8,26,58,0.06), transparent 60%),
    var(--bg);
}
.hero-skyline{
  position:absolute; right:0; bottom:0; top:0; width:46%; z-index:-1;
  opacity:0.9; pointer-events:none;
}
.hero-skyline svg{width:100%; height:100%;}
@media (max-width:900px){ .hero-skyline{width:70%; opacity:0.6;} }

/* Section-level accent graphics (About / Team) — subtle, on-brand, no stock imagery */
.section-graphic{position:relative;}
.section-graphic-svg{
  position:absolute; right:0; top:0; bottom:0; width:38%;
  pointer-events:none; z-index:0;
}
.section-graphic-svg svg{width:100%; height:100%;}
.section-graphic > .wrap{position:relative; z-index:1;}
@media (max-width:900px){ .section-graphic-svg{display:none;} }
.hero-eyebrow-row{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px;}
.hero h1{
  font-size:clamp(48px, 6.6vw, 104px);
  line-height:0.98;
  font-weight:500;
  color:var(--navy);
  max-width:16ch;
  letter-spacing:-0.02em;
}
.hero h1 em{font-style:italic; font-weight:400; color:var(--charcoal);}
.hero-sub-row{
  display:grid; grid-template-columns:1.2fr 0.8fr; gap:60px;
  margin-top:44px; align-items:end;
}
@media (max-width:900px){ .hero-sub-row{grid-template-columns:1fr;} }
.hero-copy{font-size:18px; color:var(--ink-70); max-width:46ch; line-height:1.65;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn-primary{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.04em;
  background:var(--navy); color:#fff; padding:16px 26px;
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--navy);
  transition:background .3s, color .3s;
}
.btn-primary:hover{background:transparent; color:var(--navy);}
.btn-primary.on-dark{background:#fff; color:var(--navy); border-color:#fff;}
.btn-primary.on-dark:hover{background:transparent; color:#fff;}
.btn-secondary{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.04em;
  border:1px solid var(--line); padding:16px 26px;
  display:inline-flex; align-items:center; gap:10px;
  transition:border-color .3s, background .3s;
}
.btn-secondary:hover{border-color:var(--navy); background:rgba(8,26,58,0.03);}
.btn-secondary.on-dark{border-color:rgba(255,255,255,0.35); color:#fff;}
.btn-secondary.on-dark:hover{border-color:#fff; background:rgba(255,255,255,0.06);}

.proof-strip{
  margin-top:96px; padding-top:28px; border-top:1px solid var(--line-soft);
  display:flex; gap:0; flex-wrap:wrap;
}
.proof-item{
  flex:1; min-width:160px; padding:0 28px 0 0; margin-right:28px; border-right:1px solid var(--line-soft);
  font-family:var(--mono); font-size:12px; letter-spacing:0.03em; color:var(--ink-50);
  display:flex; align-items:center; gap:10px;
}
.proof-item:last-child{border-right:none;}
.proof-dot{width:6px; height:6px; border-radius:50%; flex-shrink:0;}

/* ================= DIVISION HERO (subpages) ================= */
.division-hero{
  position:relative; min-height:78vh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-top:180px; padding-bottom:80px;
  background:var(--accent); color:#fff;
  overflow:hidden;
}
.division-hero .wrap{position:relative; z-index:2;}
.division-hero .eyebrow{color:rgba(255,255,255,0.55);}
.division-hero h1{
  color:#fff; font-weight:400;
  font-size:clamp(38px,5.6vw,80px); line-height:1.08; max-width:18ch; margin-top:20px;
}
.division-hero .division-sub{
  font-size:17px; color:rgba(255,255,255,0.72); max-width:50ch; margin-top:28px; line-height:1.7;
}
.division-hero .division-index{
  position:absolute; right:48px; top:180px; font-family:var(--mono);
  font-size:13px; color:rgba(255,255,255,0.4); text-align:right; line-height:1.8;
}
@media (max-width:900px){ .division-hero .division-index{display:none;} }
.division-hero-field{position:absolute; inset:0; opacity:0.15; z-index:1;}

.crumb{font-family:var(--mono); font-size:12px; color:rgba(255,255,255,0.5); letter-spacing:0.04em; margin-bottom:24px; display:flex; gap:8px; align-items:center;}
.crumb a{color:rgba(255,255,255,0.7);}
.crumb a:hover{color:#fff;}

/* ================= SECTION GENERIC ================= */
section{padding:150px 0;}
.section-tight{padding:110px 0;}
@media (max-width:900px){ section{padding:90px 0;} }

/* WHO WE ARE / intro pattern */
.who-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:80px;}
@media (max-width:900px){ .who-grid{grid-template-columns:1fr; gap:40px;} }
.who-grid h2{font-size:clamp(32px,3.6vw,50px); line-height:1.12; font-weight:500;}
.who-right p{font-size:17px; color:var(--ink-70); line-height:1.75; max-width:52ch;}
.who-right p + p{margin-top:20px;}

/* CAPABILITIES LIST (homepage 5-pillar) */
.cap-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:64px; flex-wrap:wrap; gap:20px;}
.cap-head h2{font-size:clamp(32px,3.6vw,48px);}
.cap-list{border-top:1px solid var(--line);}
.cap-row{
  display:grid; grid-template-columns:80px 1fr 1.4fr 40px;
  gap:32px; align-items:center;
  padding:38px 0; border-bottom:1px solid var(--line);
  transition:padding-left .35s ease, background .35s ease;
  cursor:default;
}
@media (max-width:900px){ .cap-row{grid-template-columns:50px 1fr; row-gap:14px;} .cap-row .cap-desc{grid-column:1/-1;} .cap-row .cap-arrow{display:none;} }
.cap-row:hover{padding-left:16px; background:rgba(8,26,58,0.02);}
.cap-num{font-family:var(--mono); font-size:13px; color:var(--ink-50);}
.cap-name{font-family:var(--serif); font-size:clamp(22px,2.6vw,32px); font-weight:500; color:var(--navy); display:flex; align-items:center; gap:14px;}
.cap-swatch{width:9px; height:9px; border-radius:50%; flex-shrink:0;}
.cap-desc{font-size:14.5px; color:var(--ink-70); max-width:44ch;}
.cap-arrow{font-size:20px; color:var(--ink-50); transition:transform .3s ease, color .3s ease;}
.cap-row:hover .cap-arrow{transform:translateX(6px); color:var(--navy);}
.cap-row.linked{cursor:pointer;}

/* CAPABILITY GROUPS (division pages: Transactions / Capital / Financial Advisory etc) */
.group-head{margin-bottom:60px;}
.group-head h2{font-size:clamp(32px,3.6vw,46px);}
.cap-groups{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
.cap-groups.cols-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){ .cap-groups.cols-4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:900px){ .cap-groups{grid-template-columns:1fr;} }
.cap-group{background:var(--bg); padding:44px 36px;}
.cap-group .group-label{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-50); margin-bottom:22px;}
.cap-group ul{list-style:none;}
.cap-group li{
  font-family:var(--serif); font-size:19px; color:var(--navy); font-weight:500;
  padding:16px 0; border-bottom:1px solid var(--line-soft);
}
.cap-group li:last-child{border-bottom:none;}

/* HOW WE WORK (steps) */
.steps{border-top:1px solid var(--line);}
.step-row{display:grid; grid-template-columns:100px 1fr; gap:32px; padding:36px 0; border-bottom:1px solid var(--line);}
.step-row .step-num{font-family:var(--mono); font-size:13px; color:var(--accent);}
.step-row h4{font-family:var(--serif); font-size:22px; color:var(--navy); font-weight:500; margin-bottom:8px;}
.step-row p{font-size:14.5px; color:var(--ink-70); max-width:56ch; line-height:1.65;}

/* SECTOR TAGS */
.sector-tags{display:flex; flex-wrap:wrap; gap:12px;}
.sector-tag{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.02em;
  border:1px solid var(--line); padding:12px 20px;
  color:var(--ink-70);
}

/* SELECTED EXPERIENCE (Part 14) — honest, component-ready, no fabricated deals */
.experience-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
@media (max-width:900px){ .experience-grid{grid-template-columns:1fr;} }
.experience-card{
  background:var(--bg); padding:34px 28px; min-height:160px;
  display:flex; flex-direction:column; justify-content:center; text-align:center;
  border:1px dashed transparent;
}
.experience-card .exp-sector{font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-50); margin-bottom:14px;}
.experience-card p{font-size:13.5px; color:var(--ink-70); line-height:1.6;}

/* BRAND STATEMENT (dark full-width) */
.statement{
  background:var(--navy); color:#fff;
}
.statement.on-accent{background:var(--accent);}
.statement h2{
  color:#fff; font-size:clamp(34px,5vw,64px); font-weight:400;
  line-height:1.18; max-width:20ch; font-style:normal;
}
.statement .eyebrow{color:rgba(255,255,255,0.5);}
.statement p{font-size:16.5px; color:rgba(255,255,255,0.72); max-width:52ch; margin-top:32px; line-height:1.7;}

/* GLOBAL PERSPECTIVE */
.global-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
@media (max-width:960px){ .global-grid{grid-template-columns:1fr; gap:56px;} }
.global-grid h2{font-size:clamp(32px,3.6vw,48px); margin-bottom:24px;}
.market-list{display:flex; flex-direction:column;}
.market-row{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; border-bottom:1px solid var(--line);
}
.market-row:first-child{border-top:1px solid var(--line);}
.market-name{font-family:var(--serif); font-size:22px; color:var(--navy); font-weight:500;}
.market-region{font-family:var(--mono); font-size:12px; color:var(--ink-50); letter-spacing:0.05em;}
/* WORLD MAP WITH PINS */
.map-frame{
  border:1px solid var(--line);
  padding:28px;
  box-sizing:border-box;
}
.map-field{
  position:relative; width:100%;
  aspect-ratio:784.077/458.627;
}
.map-field img{width:100%; height:100%; display:block;}
.map-pin{
  position:absolute; transform:translate(-50%,-50%);
  width:9px; height:9px;
  cursor:default;
}
.map-pin-dot{
  position:absolute; inset:0; margin:auto;
  width:9px; height:9px; border-radius:50%;
  background:var(--accent); border:2px solid var(--bg);
  box-shadow:0 0 0 1px var(--accent);
  z-index:2;
}
.map-pin-ring{
  position:absolute; left:50%; top:50%; width:9px; height:9px;
  border-radius:50%; border:1px solid var(--accent);
  transform:translate(-50%,-50%);
  animation:mapPinPulse 2.6s ease-out infinite;
}
.map-pin:nth-of-type(2) .map-pin-ring{animation-delay:.4s;}
.map-pin:nth-of-type(3) .map-pin-ring{animation-delay:.8s;}
.map-pin:nth-of-type(4) .map-pin-ring{animation-delay:1.2s;}
@keyframes mapPinPulse{
  0%{width:9px; height:9px; opacity:0.9;}
  100%{width:34px; height:34px; opacity:0;}
}
.map-pin-label{
  position:absolute; bottom:100%; left:50%;
  transform:translate(-50%,-6px);
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.03em;
  color:var(--navy); background:var(--bg); border:1px solid var(--line);
  padding:4px 9px; white-space:nowrap;
  opacity:0; pointer-events:none;
  transition:opacity .2s ease;
}
.map-pin:hover .map-pin-label, .map-pin:focus-visible .map-pin-label{opacity:1;}
@media (prefers-reduced-motion: reduce){ .map-pin-ring{animation:none; display:none;} }
@media (max-width:900px){ .map-pin-label{display:none;} }

/* TRADE FLOW DIAGRAM (Global Trade page) */
.flow-diagram{padding:60px 0;}
.flow-row{display:flex; align-items:center; justify-content:space-between; gap:0; flex-wrap:wrap;}
.flow-node{
  flex:1; min-width:150px; text-align:center; padding:30px 16px;
  border:1px solid var(--line);
}
.flow-node .flow-label{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.07em; color:var(--ink-50); margin-bottom:10px;}
.flow-node .flow-name{font-family:var(--serif); font-size:18px; color:var(--navy); font-weight:500;}
.flow-arrow{font-family:var(--mono); font-size:18px; color:var(--accent); padding:0 18px; flex-shrink:0;}
@media (max-width:800px){ .flow-row{flex-direction:column;} .flow-arrow{transform:rotate(90deg); padding:14px 0;} }

/* SIGNATURE TRADE FLOW VISUAL (Global Trade) */
.trade-flow{
  position:relative; display:flex; align-items:flex-start; justify-content:space-between;
  padding:20px 0 10px; gap:8px;
}
.trade-flow::before{
  content:''; position:absolute; top:23px; left:6%; right:6%; height:1px;
  background-image:repeating-linear-gradient(to right, var(--accent) 0 7px, transparent 7px 15px);
  background-size:22px 1px; background-repeat:repeat-x;
  animation:tradeFlowMove 1.8s linear infinite;
}
@keyframes tradeFlowMove{ from{background-position:0 0;} to{background-position:-22px 0;} }
.trade-flow-node{
  position:relative; z-index:2; flex:1; display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:16px; min-width:0;
}
.trade-flow-dot{
  width:14px; height:14px; border-radius:50%; background:var(--bg); border:2px solid var(--accent);
  flex-shrink:0; position:relative;
}
.trade-flow-dot::after{
  content:''; position:absolute; inset:-8px; border-radius:50%; border:1px solid var(--accent);
  opacity:0; animation:tradeFlowPulse 3s ease-out infinite;
}
.trade-flow-node:nth-child(2) .trade-flow-dot::after{animation-delay:.5s;}
.trade-flow-node:nth-child(3) .trade-flow-dot::after{animation-delay:1s;}
.trade-flow-node:nth-child(4) .trade-flow-dot::after{animation-delay:1.5s;}
.trade-flow-node:nth-child(5) .trade-flow-dot::after{animation-delay:2s;}
@keyframes tradeFlowPulse{ 0%{transform:scale(0.6); opacity:0.8;} 100%{transform:scale(1.6); opacity:0;} }
.trade-flow-label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-50);}
.trade-flow-name{font-family:var(--serif); font-size:16px; font-weight:500; color:var(--navy); line-height:1.3; max-width:14ch;}
@media (max-width:820px){
  .trade-flow{flex-direction:column; align-items:flex-start; gap:36px; padding-left:26px;}
  .trade-flow::before{
    top:0; bottom:0; left:8px; right:auto; width:1px; height:auto;
    background-image:repeating-linear-gradient(to bottom, var(--accent) 0 7px, transparent 7px 15px);
    background-size:1px 22px; animation:tradeFlowMoveV 1.8s linear infinite;
  }
  .trade-flow-node{flex-direction:row; text-align:left; align-items:center; gap:18px;}
  .trade-flow-dot{margin-left:2px;}
}
@keyframes tradeFlowMoveV{ from{background-position:0 0;} to{background-position:0 -22px;} }
@media (prefers-reduced-motion: reduce){
  .trade-flow::before{animation:none;}
  .trade-flow-dot::after{animation:none; display:none;}
}

/* SWITCHER (services) */
.switcher-tabs{display:flex; gap:0; border-bottom:1px solid var(--line); margin-bottom:52px; flex-wrap:wrap;}
.switch-tab{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.03em;
  padding:16px 26px 16px 0; margin-right:34px;
  color:var(--ink-50); border-bottom:2px solid transparent; margin-bottom:-1px;
  transition:color .25s ease, border-color .25s ease;
  background:none; border-top:none; border-left:none; border-right:none;
}
.switch-tab.active, .switch-tab:hover{color:var(--navy); border-bottom-color:var(--navy);}
.switch-panel{display:none; grid-template-columns:0.8fr 1.2fr; gap:60px;}
.switch-panel.active{display:grid;}
@media (max-width:900px){ .switch-panel.active{grid-template-columns:1fr; gap:30px;} }
.switch-intro h3{font-size:clamp(26px,3vw,36px); margin-bottom:16px;}
.switch-intro p{color:var(--ink-70); font-size:15px; line-height:1.7; max-width:38ch;}
.switch-services{display:grid; grid-template-columns:1fr 1fr; gap:0 40px;}
.switch-service{
  padding:18px 0; border-bottom:1px solid var(--line-soft);
  font-size:15px; display:flex; align-items:center; gap:12px;
}
.switch-service::before{content:'—'; color:var(--ink-50); font-family:var(--mono);}

/* WHY */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
@media (max-width:900px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .why-grid{grid-template-columns:1fr;} }
.why-item{background:var(--bg); padding:44px 34px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between;}
.why-item .eyebrow{margin-bottom:auto;}
.why-item h4{font-family:var(--serif); font-size:22px; font-weight:500; color:var(--navy); margin:26px 0 12px; line-height:1.25;}
.why-item p{font-size:14px; color:var(--ink-70); line-height:1.6;}

/* WHO WE WORK WITH */
.who-work-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);}
@media (max-width:1100px){ .who-work-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .who-work-grid{grid-template-columns:1fr;} }
.who-work-item{background:var(--bg); padding:36px 26px; min-height:190px; display:flex; flex-direction:column; justify-content:space-between;}
.who-work-item .who-work-num{font-family:var(--mono); font-size:11px; color:var(--ink-50); margin-bottom:auto;}
.who-work-item h4{font-family:var(--serif); font-size:18px; font-weight:500; color:var(--navy); margin:22px 0 10px; line-height:1.28;}
.who-work-item p{font-size:13px; color:var(--ink-70); line-height:1.55;}

/* INSIGHTS */
.insight-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; flex-wrap:wrap; gap:20px;}
.insight-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:1px; background:var(--line);}
@media (max-width:900px){ .insight-grid{grid-template-columns:1fr;} }
.insight-card{background:var(--bg); padding:38px 34px; display:flex; flex-direction:column; min-height:280px;}
.insight-card:first-child{min-height:380px;}
.insight-tag{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-50); margin-bottom:auto;}
.insight-card h4{font-family:var(--serif); font-size:24px; font-weight:500; color:var(--navy); line-height:1.28; margin:30px 0 16px;}
.insight-card:first-child h4{font-size:30px;}
.insight-meta{font-family:var(--mono); font-size:11.5px; color:var(--ink-50); display:flex; align-items:center; gap:10px;}

/* INSIGHTS PAGE — filter pills + fuller grid */
.filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:56px;}
.filter-pill{
  font-family:var(--mono); font-size:12px; letter-spacing:0.02em;
  border:1px solid var(--line); padding:10px 18px; color:var(--ink-70);
  transition:all .25s ease; background:none;
}
.filter-pill.active, .filter-pill:hover{border-color:var(--navy); color:var(--navy); background:rgba(8,26,58,0.03);}
.insight-grid.full{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){ .insight-grid.full{grid-template-columns:1fr;} }
.insight-grid.full .insight-card{min-height:240px;}
.insight-grid.full .insight-card:first-child{min-height:240px;}
.insight-grid.full .insight-card:first-child h4{font-size:22px;}

/* INDUSTRIES */
.industry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line);}
@media (max-width:900px){ .industry-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .industry-grid{grid-template-columns:1fr;} }
.industry-card{background:var(--bg); padding:40px 30px; min-height:170px; display:flex; flex-direction:column; justify-content:space-between; transition:background .25s ease;}
.industry-card:hover{background:var(--panel);}
.industry-num{font-family:var(--mono); font-size:11px; color:var(--ink-50);}
.industry-card h4{font-family:var(--serif); font-size:21px; font-weight:500; color:var(--navy); margin-top:20px;}

/* ABOUT — purpose + org structure */
.purpose-block{max-width:60ch;}
.purpose-block .eyebrow{margin-bottom:22px;}
.purpose-block p{font-size:20px; font-family:var(--serif); font-weight:400; color:var(--navy); line-height:1.5;}

.org-wrap{position:relative;}
.org-parent{
  border:1px solid var(--navy); padding:26px 32px; display:inline-block;
  font-family:var(--serif); font-size:22px; color:var(--navy); font-weight:500;
  margin-bottom:2px;
}
.org-sub-label{font-family:var(--mono); font-size:11px; color:var(--ink-50); margin:8px 0 30px;}
.org-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);}
@media (max-width:900px){ .org-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .org-grid{grid-template-columns:1fr;} }
.org-node{background:var(--bg); padding:30px 22px; text-align:left; border-top:3px solid var(--navy); transition:transform .3s ease;}
.org-node:hover{transform:translateY(-4px);}
.org-node .org-num{font-family:var(--mono); font-size:11px; color:var(--ink-50); margin-bottom:16px;}
.org-node h5{font-family:var(--serif); font-size:17px; color:var(--navy); font-weight:500; line-height:1.3; margin-bottom:10px;}
.org-node p{font-size:12.5px; color:var(--ink-70); line-height:1.55;}

/* TEAM PROFILE */
.team-profile{display:grid; grid-template-columns:200px 1fr; gap:48px; padding:56px 0; border-bottom:1px solid var(--line); align-items:start;}
@media (max-width:600px){ .team-profile{grid-template-columns:1fr; gap:24px;} .team-profile img{max-width:180px;} }

/* PARAS GROUP ECOSYSTEM — interactive (Part 11) */
.ecosystem-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line);}
@media (max-width:900px){ .ecosystem-grid{grid-template-columns:1fr;} }
.eco-node{
  background:var(--bg); text-align:left; border:none; cursor:pointer;
  padding:0; display:block; width:100%; font-family:inherit;
  border-top:3px solid transparent; transition:border-color .3s ease, background .3s ease;
}
.eco-node[data-open="true"]{background:var(--panel);}
.eco-head{padding:28px 22px 20px;}
.eco-num{font-family:var(--mono); font-size:11px; color:var(--ink-50); display:block; margin-bottom:14px;}
.eco-bar{display:block; width:26px; height:3px; margin-bottom:16px;}
.eco-head h5{font-family:var(--serif); font-size:16px; color:var(--navy); font-weight:500; line-height:1.3; display:flex; justify-content:space-between; align-items:flex-start; gap:8px;}
.eco-toggle-icon{font-family:var(--mono); font-size:14px; color:var(--ink-50); flex-shrink:0; transition:transform .3s ease;}
.eco-node[data-open="true"] .eco-toggle-icon{transform:rotate(45deg);}
.eco-detail{
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .4s ease, opacity .3s ease, padding .4s ease;
  padding:0 22px;
}
.eco-node[data-open="true"] .eco-detail{max-height:260px; opacity:1; padding:0 22px 26px;}
.eco-detail p{font-size:13px; color:var(--ink-70); line-height:1.6;}
.eco-connects{margin-top:14px; padding-top:14px; border-top:1px solid var(--line-soft); font-family:var(--mono); font-size:11px; color:var(--ink-50); line-height:1.6;}
@media (hover:hover) and (pointer:fine){
  .eco-node:hover{background:var(--panel);}
  .eco-node:hover .eco-detail{max-height:260px; opacity:1; padding:0 22px 26px;}
  .eco-node:hover .eco-toggle-icon{transform:rotate(45deg);}
}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:90px;}
@media (max-width:960px){ .contact-grid{grid-template-columns:1fr; gap:56px;} }
.inquiry-pills{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
.inquiry-pill{
  font-family:var(--mono); font-size:12px; border:1px solid var(--line); padding:10px 16px; color:var(--ink-70);
  cursor:pointer; transition:all .2s ease; background:none;
}
.inquiry-pill.active, .inquiry-pill:hover{border-color:var(--navy); color:var(--navy); background:rgba(8,26,58,0.03);}
.contact-trust{margin-top:44px; padding-top:28px; border-top:1px solid var(--line-soft); font-size:13px; color:var(--ink-50); max-width:36ch; line-height:1.6;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px 30px;}
.form-field{display:flex; flex-direction:column; gap:10px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-50);}
.form-field input, .form-field select, .form-field textarea{
  font-family:var(--sans); font-size:15px; color:var(--charcoal);
  border:none; border-bottom:1px solid var(--line); background:none;
  padding:10px 2px; transition:border-color .25s ease;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  border-bottom-color:var(--navy); outline:none;
}
.form-field textarea{resize:vertical; min-height:100px;}
.form-status{font-family:var(--mono);}
.form-submit{margin-top:12px;}

/* CLOSING CTA */
.closing{text-align:left; border-top:1px solid var(--line);}
.closing h2{font-size:clamp(36px,5.4vw,72px); font-weight:400; max-width:18ch; line-height:1.1;}
.closing-row{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; margin-top:44px;}
.closing p{color:var(--ink-70); font-size:16px; max-width:40ch; line-height:1.6;}

/* FOOTER */
footer{background:var(--charcoal); color:rgba(255,255,255,0.82); padding:100px 0 40px;}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:60px; padding-bottom:80px; border-bottom:1px solid rgba(255,255,255,0.1);}
@media (max-width:900px){ .footer-top{grid-template-columns:1fr 1fr; row-gap:50px;} }
.footer-brand .logo{color:#fff;}
.footer-brand .logo .mark{border-color:rgba(255,255,255,0.5);}
.footer-brand p{margin-top:22px; font-size:14px; color:rgba(255,255,255,0.55); max-width:32ch; line-height:1.6;}
.footer-col h5{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:20px;}
.footer-col a{display:block; font-size:14px; color:rgba(255,255,255,0.75); padding:7px 0; transition:color .25s ease;}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:34px; flex-wrap:wrap; gap:16px;}
.footer-bottom p{font-size:12.5px; color:rgba(255,255,255,0.4);}
.footer-legal{display:flex; gap:24px;}
.footer-legal a{font-size:12.5px; color:rgba(255,255,255,0.4);}
.footer-legal a:hover{color:#fff;}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* DEFENSIVE GRID FIX
   CSS Grid tracks default to min-width:auto, which means a track won't
   shrink below the intrinsic content width of its widest child (form
   inputs, long unbroken text, etc.) — this silently causes horizontal
   overflow on narrow viewports even though the grid's own width is
   correct. Setting min-width:0 on direct grid children removes that
   default so tracks can actually shrink to fit their container. */
.contact-grid > *, .global-grid > *, .who-grid > *, .form-grid > *,
.cap-groups > *, .mega-grid > *, .why-grid > *, .who-work-grid > *,
.insight-grid > *, .industry-grid > *, .org-grid > *, .ecosystem-grid > *,
.experience-grid > *, .footer-top > *, .switch-services > *,
.cap-row > *, .step-row > *, .hero-sub-row > *{
  min-width:0;
}
