/* ============================================================
   PowerMach — Design system  v3
   Direction: institutional, UAE government-facing industrial trade
   & investment house. Deep navy / graphite, high contrast,
   subtle emerald accents, premium technical backgrounds.
   Type: Public Sans (authority) · Source Serif 4 (voice) · IBM Plex Mono (data)
   ============================================================ */

:root{
  /* ---- Dark navy / graphite palette ---- */
  --bg:        #F4F7F5;
  --bg-2:      #EAF3EF;
  --bg-3:      #071A20;
  --panel:     #FFFFFF;
  --panel-2:   #F8FBF9;
  --graphite:  #0A2027;

  /* ---- Emerald accent (used with restraint) ---- */
  --em:        #078B73;
  --em-br:     #24C6A1;
  --em-deep:   #056C59;
  --em-dim:    rgba(7,139,115,0.11);
  --em-line:   rgba(7,139,115,0.28);
  --aqua:      #63C8D5;
  --mint:      #DDF4ED;

  /* ---- Text ---- */
  --text:      #0A2027;
  --text-mut:  #63747A;
  --text-dim:  #87969A;

  --line:      #D9E2DF;
  --line-2:    #C7D5D1;
  --line-3:    #9EB2AD;

  /* ---- Type ---- */
  --sans:  "Inter Tight","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif: "Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:  "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;

  /* ---- Metrics ---- */
  --maxw: 1280px;
  --gutter: clamp(22px, 5vw, 72px);
  --radius: 16px;
  --radius-sm: 11px;
  --radius-lg: 24px;
  --head-h: 116px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--em); color:#04140E; }

/* ---------- Typography ---------- */
h1,h2,h3,h4{ font-family:var(--sans); font-weight:700; letter-spacing:-0.022em; line-height:1.05; margin:0; color:#fff; text-wrap:balance; }
.display{ font-family:var(--sans); font-weight:800; font-size:clamp(2.7rem,5.6vw,5rem); line-height:0.98; letter-spacing:-0.035em; color:#fff; }
.h1{ font-size:clamp(2.3rem,4.4vw,3.9rem); font-weight:800; letter-spacing:-0.032em; }
.h2{ font-size:clamp(1.85rem,3.1vw,2.9rem); font-weight:700; letter-spacing:-0.026em; }
.h3{ font-size:clamp(1.2rem,1.7vw,1.55rem); font-weight:650; letter-spacing:-0.018em; }

.lede{ font-family:var(--serif); font-weight:400; font-size:clamp(1.16rem,1.55vw,1.44rem); line-height:1.55; color:var(--text-mut); letter-spacing:0; }
.serif{ font-family:var(--serif); font-weight:400; }
.em-text{ font-style:italic; }

.eyebrow{ font-family:var(--mono); font-size:0.72rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--em-br); display:inline-flex; align-items:center; gap:0.85em; }
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--em); }
.eyebrow.no-rule::before{ display:none; }
.mono{ font-family:var(--mono); font-size:0.78rem; letter-spacing:0.02em; font-weight:400; }
.muted{ color:var(--text-mut); }
.dim{ color:var(--text-dim); }
.accent{ color:var(--em-br); }
.tnum{ font-variant-numeric:tabular-nums; }

/* ---------- Layout ---------- */
.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); width:100%; }
section{ position:relative; }
.section-pad{ padding-block:clamp(76px,10vh,138px); }
.section-pad-sm{ padding-block:clamp(52px,7vh,92px); }

/* section tone variants — all dark, subtle rhythm */
.ink-sec{ background:var(--bg-2); }
.deep-sec{ background:var(--bg-3); }
.panel-sec{ background:var(--bg-2); }

.rule{ height:1px; background:var(--line); border:0; margin:0; }

.grid{ display:grid; gap:clamp(22px,2.6vw,40px); }
.g-2{ grid-template-columns:repeat(2,1fr); }
.g-3{ grid-template-columns:repeat(3,1fr); }
.g-4{ grid-template-columns:repeat(4,1fr); }
.g-5{ grid-template-columns:repeat(5,1fr); }
@media(max-width:1040px){ .g-5{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:940px){ .g-3,.g-4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .g-2,.g-3,.g-4,.g-5{ grid-template-columns:1fr; } }

.mt-s{ margin-top:14px } .mt-m{ margin-top:28px } .mt-l{ margin-top:clamp(34px,5vw,60px) }
.maxw-58{ max-width:58ch } .maxw-66{ max-width:66ch }
.flex{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.between{ display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; align-items:flex-end; }
.center{ text-align:center; }
.center .eyebrow{ justify-content:center; }

/* ---------- Premium technical backgrounds ---------- */
.tech-grid{ position:relative; }
.tech-grid::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#071A20 12%,#071A20 88%,transparent);
          mask-image:linear-gradient(180deg,transparent,#071A20 12%,#071A20 88%,transparent);
}
.tech-grid > *{ position:relative; z-index:1; }
.glow-em{ position:relative; }
.glow-em::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(90% 120% at 88% 8%, rgba(28,169,130,0.16), transparent 55%);
}
.glow-em > *{ position:relative; z-index:1; }

/* ---------- Utility bar ---------- */
.util-bar{ background:var(--bg-3); color:var(--text-mut); border-bottom:1px solid var(--line); font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; }
.util-inner{ max-width:var(--maxw); margin:0 auto; padding:8px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:20px; }
.util-bar .u-left{ display:flex; gap:20px; align-items:center; text-transform:uppercase; }
.util-bar .u-left span{ opacity:0.85; }
.util-bar .u-dot{ color:var(--text-dim); }
.util-bar .u-right{ display:flex; gap:14px; align-items:center; }
.util-bar .u-right a{ color:var(--text-mut); transition:color .18s; }
.util-bar .u-right a:hover,.util-bar .u-right a.on{ color:var(--em-br); }
@media(max-width:760px){ .util-bar .u-left{ gap:12px; } .util-bar .u-left .u-hide{ display:none; } }

/* ---------- Header ---------- */
.site-header{ position:sticky; top:0; z-index:60; background:rgba(10,20,32,0.82); backdrop-filter:saturate(130%) blur(14px); border-bottom:1px solid var(--line); transition:padding .3s ease, background .3s ease; }
.site-header.condensed{ background:rgba(7,16,26,0.92); }
.header-inner{ max-width:var(--maxw); margin:0 auto; padding:20px var(--gutter); display:flex; align-items:center; gap:28px; transition:padding .3s ease; }
.site-header.condensed .header-inner{ padding-block:12px; }

.brand{ display:flex; align-items:center; gap:15px; color:#fff; }
.brand .seal{ width:64px; height:64px; flex:0 0 auto; color:var(--em-br); transition:width .3s ease, height .3s ease; }
.site-header.condensed .brand .seal{ width:52px; height:52px; }
/* real logo image treatment — crop the dark padding, drop the dark ground */
img.seal{ object-fit:contain; transform:none; display:block; border-radius:0; background:transparent; }
.foot-brand img.seal{ width:48px; height:48px; }
.brand .wm{ line-height:1; }
.brand .wm b{ display:block; font-family:var(--sans); font-weight:800; font-size:1.08rem; letter-spacing:0.13em; color:#fff; }
.brand .wm small{ display:block; font-family:var(--mono); font-size:0.55rem; letter-spacing:0.2em; color:var(--text-dim); text-transform:uppercase; margin-top:3px; }

.site-nav{ display:flex; gap:28px; margin-left:auto; align-items:center; }
.site-nav a{ font-family:var(--sans); font-size:0.86rem; font-weight:550; color:var(--text-mut); padding-block:8px; position:relative; transition:color .18s; }
.site-nav a:hover, .site-nav a.active{ color:#fff; }
.site-nav a.active::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--em); }
.nav-cta{ margin-left:6px; font-size:0.82rem !important; font-weight:650 !important; padding:11px 20px !important; color:#04140E !important; background:var(--em); border-radius:var(--radius); transition:background .2s; }
.nav-cta::after{ display:none !important; }
.nav-cta:hover{ background:var(--em-br); }

.nav-toggle{ display:none; margin-left:auto; background:none; border:1px solid var(--line-2); color:#fff; font-family:var(--mono); font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; padding:10px 14px; border-radius:var(--radius); cursor:pointer; }
@media(max-width:940px){
  .site-nav{ position:fixed; inset:calc(var(--head-h)) 0 auto 0; flex-direction:column; gap:0; align-items:stretch; background:var(--bg-2); border-bottom:1px solid var(--line-2); padding:6px var(--gutter) 26px; margin:0; transform:translateY(-140%); transition:transform .38s cubic-bezier(.4,0,.2,1); box-shadow:0 30px 60px -30px rgba(0,0,0,.7); }
  .site-nav.open{ transform:translateY(0); }
  .site-nav a{ padding:16px 0; border-bottom:1px solid var(--line); font-size:1rem; }
  .site-nav a.active::after{ display:none; }
  .nav-cta{ margin:18px 0 0; text-align:center; padding:15px !important; }
  .nav-toggle{ display:inline-flex; align-items:center; }
}

/* ---------- Buttons ---------- */
.btn{ display:inline-flex; align-items:center; gap:11px; font-family:var(--sans); font-weight:650; font-size:0.9rem; padding:15px 26px; border-radius:var(--radius); cursor:pointer; border:1px solid transparent; transition:background .2s,color .2s,border-color .2s; }
.btn .arw{ transition:transform .22s; display:inline-block; }
.btn:hover .arw{ transform:translateX(4px); }
.btn-primary{ background:var(--em); color:#04140E; }
.btn-primary:hover{ background:var(--em-br); }
.btn-ghost{ border-color:var(--line-3); color:#fff; background:transparent; }
.btn-ghost:hover{ border-color:var(--em); color:var(--em-br); }
.link-arw{ font-family:var(--sans); font-weight:650; font-size:0.9rem; display:inline-flex; gap:9px; align-items:center; color:var(--em-br); border-bottom:1px solid var(--em-line); padding-bottom:3px; transition:gap .2s,border-color .2s; }
.link-arw:hover{ gap:14px; border-color:var(--em-br); }

/* ---------- Hero ---------- */
.hero{ background:var(--bg); position:relative; overflow:hidden;
  background-image:
    radial-gradient(90% 120% at 86% 6%, rgba(28,169,130,0.18), transparent 52%),
    radial-gradient(70% 90% at 6% 96%, rgba(28,169,130,0.06), transparent 60%);
}
.hero::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,0.045) 1px, transparent 1px); background-size:28px 28px;
  -webkit-mask-image:linear-gradient(105deg,#071A20 40%,transparent 78%); mask-image:linear-gradient(105deg,#071A20 40%,transparent 78%); }
.hero .wrap{ position:relative; z-index:1; }
.hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(30px,4vw,64px); align-items:center; padding-block:clamp(64px,9vh,116px) clamp(56px,8vh,100px); }
@media(max-width:960px){ .hero-grid{ grid-template-columns:1fr; gap:40px; } }
.hero .display{ max-width:16ch; }
.hero .lede{ color:var(--text-mut); max-width:54ch; margin-top:26px; }
.hero-cta{ display:flex; gap:15px; flex-wrap:wrap; margin-top:38px; }
.hero-meta{ display:flex; gap:26px; flex-wrap:wrap; margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }
.hero-meta div{ font-family:var(--mono); font-size:0.7rem; letter-spacing:0.06em; color:var(--text-dim); text-transform:uppercase; }
.hero-meta strong{ display:block; color:var(--text); font-size:0.82rem; margin-top:5px; letter-spacing:0.04em; }
.hero-tags{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.08em; color:var(--text-dim); text-transform:uppercase; margin-top:18px; }

/* ---------- Navigation chart ---------- */
.chart{ position:relative; border:1px solid var(--line); background:var(--bg-3); border-radius:var(--radius); padding:16px; }
.chart-svg{ width:100%; height:auto; display:block; }
.chart-cap{ display:flex; justify-content:space-between; gap:12px; margin-top:10px; padding:0 4px; font-family:var(--mono); font-size:0.62rem; letter-spacing:0.08em; color:var(--text-dim); text-transform:uppercase; }
.gr-line{ stroke:var(--line); stroke-width:1; }
.gr-line.major{ stroke:rgba(255,255,255,0.16); }
.arc{ fill:none; stroke:var(--em-br); stroke-width:1.5; opacity:0.95; stroke-dasharray:var(--len); stroke-dashoffset:var(--len); }
.arc.draw{ animation:draw 1.9s cubic-bezier(.6,0,.2,1) forwards; }
.node-ring{ fill:none; stroke:var(--em); stroke-width:1.3; }
.node-core{ fill:#fff; }
.node-label{ font-family:'IBM Plex Mono', monospace; font-size:10px; fill:var(--text); letter-spacing:0.08em; text-transform:uppercase; }
.node-coord{ font-family:'IBM Plex Mono', monospace; font-size:8px; fill:var(--text-dim); letter-spacing:0.04em; }
.pulse{ fill:var(--em-br); opacity:0.5; }
@keyframes draw{ to{ stroke-dashoffset:0; } }

/* ---------- Adapted world map ---------- */
.worldmap{ position:relative; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:var(--bg-3); }
.worldmap img{ width:100%; height:auto; display:block; filter:grayscale(1) invert(1) sepia(1) hue-rotate(120deg) saturate(1.7) brightness(0.9) contrast(1.06); opacity:0.94; }
.worldmap::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(58% 78% at 72% 44%, rgba(28,169,130,0.22), transparent 62%); }
.worldmap .wm-cap{ position:absolute; left:0; bottom:0; width:100%; padding:12px 16px; z-index:3; background:linear-gradient(0deg,rgba(7,16,26,0.9),transparent); font-family:var(--mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mut); display:flex; justify-content:space-between; gap:10px; }
.wm-node{ position:absolute; width:11px; height:11px; padding:0; border:0; border-radius:50%; background:var(--em-br); transform:translate(-50%,-50%); z-index:2; box-shadow:0 0 0 3px rgba(28,169,130,0.28); cursor:pointer; -webkit-appearance:none; appearance:none; transition:transform .18s, box-shadow .18s; }
button.wm-node:hover{ transform:translate(-50%,-50%) scale(1.25); }
button.wm-node.active{ box-shadow:0 0 0 5px rgba(28,169,130,0.45); }
.wm-node b{ position:absolute; left:50%; top:13px; transform:translateX(-50%); font-family:var(--mono); font-weight:500; font-size:0.58rem; letter-spacing:0.06em; text-transform:uppercase; color:#fff; white-space:nowrap; text-shadow:0 1px 4px rgba(0,0,0,0.95); pointer-events:none; }
.wm-node.hub{ width:15px; height:15px; background:#fff; box-shadow:0 0 0 4px rgba(28,169,130,0.4); }
.wm-node.hub::before{ content:""; position:absolute; inset:-4px; border-radius:50%; border:1px solid var(--em-br); animation:wmpulse 3.2s ease-out infinite; pointer-events:none; }
@keyframes wmpulse{ 0%{ transform:scale(1); opacity:.8 } 70%{ transform:scale(3.4); opacity:0 } 100%{ opacity:0 } }
/* corridor arcs — elegant emerald routes with a soft glow */
.wm-arcs{ position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; filter:drop-shadow(0 0 1.5px rgba(51,214,164,0.65)) drop-shadow(0 0 7px rgba(28,169,130,0.35)); }
.wm-arc{ fill:none; stroke:var(--em); stroke-width:0.5; opacity:0.6; stroke-linecap:round; transition:opacity .35s; }
.wm-arc.main{ stroke:var(--em-br); stroke-width:0.9; opacity:1; }
.wm-arc.flowing{ animation:wmflow 2s linear infinite; }
.wm-arc.main.flowing{ animation-duration:1.4s; }
.wm-arc.dim{ opacity:0.16; }
.wm-arc.main.dim{ opacity:0.55; }
@keyframes wmflow{ to{ stroke-dashoffset:-20; } }
/* travelling pulse along the main route */
.wm-spark{ fill:#fff; filter:drop-shadow(0 0 3px rgba(51,214,164,0.95)); }

/* ---------- Full-bleed background statement band (parallax) ---------- */
.bg-band{ position:relative; background-size:cover; background-position:center; overflow:hidden; }
.bg-band::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,16,26,0.86), rgba(7,16,26,0.92)); }
.bg-band::after{ content:""; position:absolute; inset:0; background:radial-gradient(70% 90% at 50% 40%, rgba(28,169,130,0.16), transparent 62%); pointer-events:none; }
.bg-band .wrap{ position:relative; z-index:1; }
@media(min-width:900px){ .bg-band{ background-attachment:fixed; } }

/* ---------- Carousel / slider ---------- */
.carousel{ position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line-2); box-shadow:0 34px 80px -46px rgba(0,0,0,0.95); background:var(--bg-3); }
.carousel-track{ display:flex; transition:transform .85s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.slide{ position:relative; min-width:100%; min-height:clamp(440px,58vh,600px); background-size:cover; background-position:center right; display:flex; align-items:center; }
.slide::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,14,22,0.95) 0%, rgba(6,14,22,0.8) 36%, rgba(6,14,22,0.4) 68%, rgba(6,14,22,0.12) 100%); }
.slide::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg,var(--em),transparent); opacity:0.9; }
.slide-inner{ position:relative; z-index:2; max-width:62ch; padding:clamp(32px,5vw,68px); }
.slide-kicker{ font-family:var(--mono); font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--em-br); }
.slide-inner h2{ font-size:clamp(1.7rem,3vw,2.9rem); margin:16px 0 18px; max-width:20ch; }
.slide-inner p{ font-family:var(--serif); font-size:clamp(1.05rem,1.5vw,1.32rem); line-height:1.55; color:var(--text-mut); max-width:54ch; margin:0; }
.slide-inner .btn{ margin-top:26px; }
/* entrance animation for the active slide's text */
.slide .slide-inner > *{ opacity:0; transform:translateY(18px); }
.slide.is-active .slide-inner > *{ animation:slideUp .7s cubic-bezier(.2,.7,.2,1) forwards; }
.slide.is-active .slide-inner > *:nth-child(2){ animation-delay:.1s; }
.slide.is-active .slide-inner > *:nth-child(3){ animation-delay:.2s; }
.slide.is-active .slide-inner > *:nth-child(4){ animation-delay:.3s; }
@keyframes slideUp{ to{ opacity:1; transform:none; } }
.car-nav{ position:absolute; bottom:clamp(20px,3vw,32px); right:clamp(20px,3vw,32px); display:flex; gap:10px; z-index:4; }
.car-btn{ width:46px; height:46px; border-radius:50%; border:1px solid var(--line-3); background:rgba(10,20,32,0.55); backdrop-filter:blur(6px); color:#fff; font-size:1.1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s,border-color .2s,transform .2s; }
.car-btn:hover{ background:var(--em); color:#04140E; border-color:var(--em); transform:translateY(-2px); }
.slide-logo{ display:inline-flex; align-items:center; justify-content:center; background:#fff; border-radius:12px; padding:12px 18px; margin-bottom:20px; min-height:58px; }
.slide-logo.on-dark{ background:var(--bg-3); border:1px solid var(--line-2); }
.slide-logo img{ max-height:38px; max-width:190px; width:auto; display:block; }
.slide-inner .pill{ margin-top:20px; }
.car-dots{ position:absolute; bottom:clamp(26px,3.4vw,40px); left:clamp(32px,5vw,68px); display:flex; flex-wrap:wrap; gap:9px; max-width:66%; z-index:4; }
.car-dot{ width:26px; height:4px; border-radius:100px; border:0; padding:0; background:rgba(255,255,255,0.28); cursor:pointer; transition:background .3s, width .3s; }
.car-dot.active{ background:var(--em-br); width:40px; }
@media(max-width:620px){ .slide::before{ background:linear-gradient(180deg, rgba(6,14,22,0.7), rgba(6,14,22,0.94)); } .car-dots{ left:clamp(24px,5vw,40px); } }

/* ---------- Media figures ---------- */
.media-fig{ border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line-2); position:relative; margin:0; background:var(--bg-3); box-shadow:0 20px 54px -34px rgba(0,0,0,0.85); }
.media-fig img{ width:100%; height:100%; display:block; object-fit:cover; filter:saturate(1.02) contrast(1.06) brightness(1.0); transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.media-fig:hover img{ transform:scale(1.045); }
.media-fig::after{ content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(180deg, rgba(11,22,34,0) 42%, rgba(7,16,26,0.55)); box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06), inset 0 40px 90px -40px rgba(28,169,130,0.10); }
.media-fig figcaption{ position:absolute; left:0; bottom:0; width:100%; z-index:2; padding:16px 18px; font-family:var(--mono); font-size:0.64rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mut); }
.media-fig.r-32{ aspect-ratio:3/2; }
.media-fig.r-43{ aspect-ratio:4/3; }
.media-fig.r-wide{ aspect-ratio:16/8; }
.chart{ border-radius:var(--radius-lg); }
/* cohesive tone for inline photo thumbs */
.photo-thumb{ filter:saturate(0.94) contrast(1.03) brightness(0.98); }

/* ---------- Stat band ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); background:var(--bg-3); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stat{ padding:clamp(30px,4vw,48px) var(--gutter); border-left:1px solid var(--line); }
.stat:first-child{ border-left:0; }
.stat .num{ font-family:var(--sans); font-weight:800; font-size:clamp(2.4rem,4vw,3.4rem); color:#fff; line-height:1; letter-spacing:-0.03em; font-variant-numeric:tabular-nums; }
.stat .num sup{ font-size:0.42em; font-weight:600; top:-1.1em; margin-left:2px; color:var(--em-br); }
.stat .lab{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-mut); margin-top:14px; }
@media(max-width:820px){ .stats{ grid-template-columns:repeat(2,1fr); } .stat:nth-child(odd){ border-left:0; } .stat:nth-child(n+3){ border-top:1px solid var(--line); } }

/* ---------- Cards ---------- */
.card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px; position:relative; transition:border-color .25s, transform .25s, box-shadow .25s, background .25s; }
.card:hover{ border-color:var(--em-line); transform:translateY(-3px); box-shadow:0 24px 46px -30px rgba(0,0,0,.7); background:var(--panel-2); }
.card .idx{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.12em; color:var(--em-br); text-transform:uppercase; }
.card h3{ margin:16px 0 11px; }
.card p{ color:var(--text-mut); font-size:0.95rem; margin:0; }
a.card{ display:block; }
a.card:hover h3{ color:var(--em-br); }

.plist{ list-style:none; margin:22px 0 0; padding:0; }
.plist li{ padding:12px 0; border-top:1px solid var(--line); font-size:0.92rem; color:var(--text-mut); display:flex; gap:13px; align-items:baseline; }
.plist li::before{ content:"›"; color:var(--em-br); font-weight:700; flex:0 0 auto; }

.pillar{ padding:36px 32px; }

/* ---------- Section head ---------- */
.shead{ max-width:64ch; }
.shead .h2{ margin-top:16px; }
.shead .lede{ margin-top:20px; }

/* ---------- Logo wall ---------- */
.logo-wall{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-3); }
.logo-note{ text-align:center; font-family:var(--mono); font-size:0.64rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-dim); padding-top:40px; }
.logo-grid{ display:grid; grid-template-columns:repeat(6,1fr); }
@media(max-width:900px){ .logo-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:520px){ .logo-grid{ grid-template-columns:repeat(2,1fr); } }
.logo-cell{ display:flex; align-items:center; justify-content:center; min-height:118px; padding:24px; border-left:1px solid var(--line); border-top:1px solid var(--line); }
.logo-cell img{ max-height:38px; max-width:100%; width:auto; opacity:0.66; filter:brightness(0) invert(1); transition:opacity .25s; }
.logo-cell img.logo-sinosure{ background:transparent; object-fit:contain; }
.logo-cell:hover img{ opacity:1; }
.logo-cell .wordmark{ font-family:var(--serif); font-size:1.3rem; color:var(--text); opacity:0.62; letter-spacing:0.01em; transition:opacity .25s,color .25s; text-align:center; }
.logo-cell:hover .wordmark{ opacity:1; color:#fff; }

/* ---------- Page header (interior) ---------- */
.page-head{ background:var(--bg); position:relative; overflow:hidden; padding-block:clamp(70px,10vh,128px) clamp(44px,6vh,74px);
  background-image:radial-gradient(80% 120% at 90% 0%, rgba(28,169,130,0.14), transparent 55%); }
.page-head::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px); background-size:28px 28px; -webkit-mask-image:linear-gradient(180deg,#071A20,transparent); mask-image:linear-gradient(180deg,#071A20,transparent); }
.page-head .wrap{ position:relative; z-index:1; }
.page-head .display,.page-head .h1{ max-width:20ch; }
.page-head .lede{ color:var(--text-mut); max-width:64ch; margin-top:24px; }
.crumbs{ font-family:var(--mono); font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-dim); margin-bottom:26px; display:flex; gap:10px; }
.crumbs a{ color:var(--text-dim); transition:color .18s; } .crumbs a:hover{ color:var(--em-br); }

/* ---------- SCQA blocks (about) ---------- */
.scqa{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--line); }
.scqa > div{ background:var(--panel); padding:32px 26px; }
.scqa .tag{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--em-br); }
.scqa h3{ font-size:1.12rem; margin:14px 0 10px; }
.scqa p{ font-size:0.9rem; color:var(--text-mut); margin:0; }
@media(max-width:900px){ .scqa{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .scqa{ grid-template-columns:1fr; } }

/* ---------- Region map (projects) ---------- */
.map-shell{ display:grid; grid-template-columns:1.4fr 1fr; gap:34px; align-items:stretch; }
@media(max-width:980px){ .map-shell{ grid-template-columns:1fr; } }
.map-box{ position:relative; background:var(--bg-3); border:1px solid var(--line); border-radius:var(--radius); padding:16px; }
.map-svg{ width:100%; height:auto; display:block; }
.map-region{ cursor:pointer; }
.map-region .rlabel{ font-family:var(--mono); font-size:11px; fill:var(--text-mut); letter-spacing:0.08em; transition:fill .2s; text-transform:uppercase; }
.map-region .rdot-ring{ fill:none; stroke:var(--em); stroke-width:1.3; transition:all .25s; opacity:0; }
.map-region .rdot{ fill:var(--bg-3); stroke:var(--text-mut); stroke-width:1.4; transition:all .25s; }
.map-region:hover .rdot,.map-region.active .rdot{ fill:var(--em-br); stroke:var(--em-br); }
.map-region:hover .rlabel,.map-region.active .rlabel{ fill:#fff; }
.map-region.active .rdot-ring{ opacity:1; stroke:var(--em); }
.map-arc{ stroke:var(--em-br); stroke-width:1.4; fill:none; opacity:0; transition:opacity .4s; stroke-dasharray:4 5; }
.map-arc.lit{ opacity:0.9; animation:flow 1.1s linear infinite; }
@keyframes flow{ to{ stroke-dashoffset:-18; } }
.map-region:focus{ outline:none; }
.map-region:focus-visible .rdot{ fill:var(--em-br); stroke:var(--em-br); }

.dossier{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:32px; display:flex; flex-direction:column; }
.dossier .d-region{ font-family:var(--mono); font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--em-br); }
.dossier h3{ margin:11px 0 4px; font-size:1.7rem; color:#fff; }
.dossier .d-sub{ color:var(--text-mut); font-size:0.9rem; margin-bottom:18px; }
.deal{ border-top:1px solid var(--line); padding:16px 0; }
.deal:first-of-type{ border-top:1px solid var(--em-line); }
.deal .d-name{ font-family:var(--sans); font-weight:700; font-size:1rem; color:#fff; display:flex; justify-content:space-between; gap:10px; align-items:baseline; }
.deal .d-name em{ font-family:var(--mono); font-style:normal; font-size:0.62rem; letter-spacing:0.1em; color:var(--em-br); text-transform:uppercase; }
.deal p{ margin:7px 0 0; font-size:0.87rem; color:var(--text-mut); }

/* ---------- Pills / brand cards ---------- */
.pill{ font-family:var(--mono); font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--em-br); border:1px solid var(--em-line); padding:5px 11px; border-radius:100px; display:inline-block; }

.brand-card{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:28px; transition:border-color .25s,transform .25s,box-shadow .25s; display:flex; flex-direction:column; }
.brand-card:hover{ border-color:var(--em-line); transform:translateY(-3px); box-shadow:0 22px 40px -28px rgba(0,0,0,.7); }
.brand-card .bc-logo{ align-self:flex-start; display:inline-flex; align-items:center; justify-content:center; margin-bottom:18px; background:#fff; border-radius:6px; padding:12px 16px; min-height:56px; min-width:96px; }
.brand-card .bc-logo img{ max-height:34px; max-width:150px; width:auto; filter:none; opacity:1; }
.brand-card .bc-name{ font-family:var(--sans); font-weight:800; font-size:1.4rem; letter-spacing:-0.01em; color:#fff; }
.brand-card p{ color:var(--text-mut); font-size:0.9rem; margin:14px 0 0; }
.brand-card .pill{ align-self:flex-start; margin-top:20px; }

/* ---------- Team ---------- */
.person{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:border-color .25s, transform .25s, box-shadow .25s; }
.person:hover{ border-color:var(--em-line); transform:translateY(-3px); box-shadow:0 22px 40px -28px rgba(0,0,0,.7); }
.person .photo{ aspect-ratio:4/4.3; background:var(--bg-3); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.person .photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; z-index:2; }
.person .photo::after{ content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 50% 0%, rgba(28,169,130,0.22), transparent 68%); }
.person .photo .init{ font-family:var(--sans); font-weight:800; font-size:3rem; color:#fff; opacity:0.85; letter-spacing:-0.03em; z-index:1; }
.person .photo .ph-tag{ position:absolute; bottom:11px; left:13px; font-family:var(--mono); font-size:0.58rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); z-index:1; }
.person .p-body{ padding:22px 22px 26px; }
.person .p-name{ font-family:var(--sans); font-weight:700; font-size:1.28rem; color:#fff; letter-spacing:-0.02em; }
.person .p-role{ font-family:var(--mono); font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--em-br); margin-top:8px; }
.person .p-fn{ font-family:var(--mono); font-size:0.6rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dim); margin-top:5px; }
.person .p-bio{ color:var(--text-mut); font-size:0.87rem; margin-top:14px; }

/* ---------- Forms (shared) ---------- */
.field label{ display:block; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-mut); margin-bottom:8px; }
.field input,.field select,.field textarea{ width:100%; background:var(--bg-3); border:1px solid var(--line-2); color:#fff; font-family:var(--sans); font-size:0.98rem; padding:14px 15px; border-radius:var(--radius); transition:border-color .2s, box-shadow .2s; }
.field textarea{ resize:vertical; min-height:130px; }
.field input::placeholder,.field textarea::placeholder{ color:var(--text-dim); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--em); box-shadow:0 0 0 3px var(--em-dim); }
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--em-br) 50%),linear-gradient(135deg,var(--em-br) 50%,transparent 50%); background-position:calc(100% - 20px) center,calc(100% - 14px) center; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
.form-note{ font-size:0.82rem; color:var(--text-dim); }
.form-ok{ background:var(--panel); border:1px solid var(--em-line); border-radius:var(--radius); padding:30px 32px; color:var(--text); }
.form-ok h3{ color:#fff; }

/* ---------- Long registration form ---------- */
.reg-form{ display:flex; flex-direction:column; gap:0; }
.reg-section{ border-top:1px solid var(--line); padding-top:34px; margin-top:34px; }
.reg-section:first-of-type{ border-top:0; padding-top:0; margin-top:0; }
.reg-legend{ display:flex; align-items:baseline; gap:14px; margin-bottom:24px; }
.reg-legend .rn{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.12em; color:var(--em-br); }
.reg-legend h3{ font-size:1.2rem; }
.reg-legend p{ margin:6px 0 0; }
.reg-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px 22px; }
.reg-grid .full{ grid-column:1/-1; }
@media(max-width:640px){ .reg-grid{ grid-template-columns:1fr; } }
.choice-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.choice{ display:flex; align-items:flex-start; gap:11px; padding:14px 16px; border:1px solid var(--line-2); border-radius:var(--radius); cursor:pointer; transition:border-color .18s, background .18s; font-size:0.9rem; color:var(--text-mut); }
.choice:hover{ border-color:var(--line-3); }
.choice input{ accent-color:var(--em); margin:2px 0 0; width:16px; height:16px; flex:0 0 auto; }
.choice:has(input:checked){ border-color:var(--em); background:var(--em-dim); color:#fff; }
.choice span b{ display:block; color:#fff; font-family:var(--sans); font-weight:600; font-size:0.92rem; }
.choice span small{ color:var(--text-dim); font-size:0.78rem; }
.reg-consent{ display:flex; gap:12px; align-items:flex-start; font-size:0.86rem; color:var(--text-mut); }
.reg-consent input{ accent-color:var(--em); margin-top:3px; width:17px; height:17px; flex:0 0 auto; }

/* ---------- Big CTA ---------- */
.cta-band{ background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(44px,6vw,80px); position:relative; overflow:hidden;
  background-image:radial-gradient(70% 140% at 88% 20%, rgba(28,169,130,0.18), transparent 55%); }
.cta-band h2{ color:#fff; max-width:22ch; position:relative; z-index:1; }
.cta-band .eyebrow,.cta-band .btn,.cta-band .lede,.cta-band .flex{ position:relative; z-index:1; }
.cta-chart{ position:absolute; right:-8%; top:50%; transform:translateY(-50%); width:46%; opacity:0.5; pointer-events:none; z-index:0; }
@media(max-width:720px){ .cta-chart{ display:none; } }

/* ---------- Footer ---------- */
.site-footer{ background:var(--bg-3); color:var(--text-mut); border-top:1px solid var(--line); padding-block:60px 32px; }
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:44px; }
@media(max-width:820px){ .foot-grid{ grid-template-columns:1fr 1fr; gap:34px; } }
@media(max-width:520px){ .foot-grid{ grid-template-columns:1fr; } }
.foot-brand{ display:flex; align-items:center; gap:12px; margin-bottom:16px; color:var(--em-br); }
.foot-brand .seal{ width:48px; height:48px; }
.foot-brand b{ font-family:var(--sans); font-weight:800; letter-spacing:0.14em; color:#fff; font-size:1rem; }
.foot-desc{ max-width:34ch; font-size:0.88rem; }
.foot-grid h4{ font-family:var(--mono); font-weight:500; font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--text); margin:0 0 18px; }
.foot-grid a{ color:var(--text-mut); font-size:0.9rem; display:block; padding:5px 0; transition:color .18s; }
.foot-grid a:hover{ color:var(--em-br); }
.foot-grid address{ font-style:normal; color:var(--text-mut); font-size:0.86rem; line-height:1.55; }
.foot-grid address strong{ color:var(--text); }
.foot-bottom{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:50px; padding-top:24px; border-top:1px solid var(--line); }
.foot-bottom p{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.06em; color:var(--text-dim); margin:0; }

/* ---------- Luminous Industrial Intelligence refresh ---------- */
:root{
  --bg:#F4F7F5;
  --bg-2:#EAF3EF;
  --bg-3:#071A20;
  --panel:#FFFFFF;
  --panel-2:#F8FBF9;
  --graphite:#0A2027;
  --em:#078B73;
  --em-br:#24C6A1;
  --em-deep:#056C59;
  --em-dim:rgba(7,139,115,0.11);
  --em-line:rgba(7,139,115,0.28);
  --aqua:#63C8D5;
  --mint:#DDF4ED;
  --text:#0A2027;
  --text-mut:#63747A;
  --text-dim:#87969A;
  --line:#D9E2DF;
  --line-2:#C7D5D1;
  --line-3:#9EB2AD;
  --sans:"Inter Tight","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{ background:var(--bg); color:var(--text); font-size:18px; }
h1,h2,h3,h4,.display,.h1,.h2,.h3{ color:var(--text); letter-spacing:-0.018em; }
.display{ font-size:clamp(3rem,7.4vw,6rem); line-height:0.92; letter-spacing:-0.035em; }
.h2{ font-size:clamp(2.25rem,4vw,4rem); line-height:0.98; }
.lede{ color:var(--text-mut); font-size:clamp(1.14rem,1.55vw,1.38rem); }
.muted{ color:var(--text-mut); }
.eyebrow{ color:var(--em); }
.eyebrow::before{ background:var(--aqua); }
.section-pad{ padding-block:clamp(86px,10vh,142px); }
.section-pad-sm{ padding-block:clamp(58px,7vh,96px); }
.ink-sec,.deep-sec{ background:var(--bg-3); color:#EAF1F4; }
.ink-sec h1,.ink-sec h2,.ink-sec h3,.ink-sec h4,.ink-sec .display,.ink-sec .h2,.ink-sec .h3,
.deep-sec h1,.deep-sec h2,.deep-sec h3,.deep-sec h4,.deep-sec .display,.deep-sec .h2,.deep-sec .h3,
.site-footer h4{ color:#FFFFFF; }
.ink-sec .lede,.deep-sec .lede{ color:#B9C9C8; }
.ink-sec .muted,.deep-sec .muted{ color:#9CAFAE; }
.tech-grid::before{ background-image:radial-gradient(rgba(99,200,213,0.16) 1px, transparent 1px); }
.util-bar{ background:var(--bg-3); color:#B9C9C8; border-bottom:1px solid rgba(255,255,255,0.08); }
.site-header{ background:rgba(244,247,245,0.84); border-bottom:1px solid rgba(10,32,39,0.1); box-shadow:0 18px 44px -38px rgba(10,32,39,0.45); }
.site-header.condensed{ background:rgba(244,247,245,0.94); }
.brand{ color:var(--text); }
.brand .wm b{ color:var(--text); }
.brand .wm small{ color:var(--text-dim); }
.site-nav a{ color:var(--text-mut); }
.site-nav a:hover,.site-nav a.active{ color:var(--text); }
.nav-cta{ color:#FFFFFF !important; background:var(--em); border-radius:999px; }
.nav-toggle{ color:var(--text); border-color:var(--line-2); }
@media(max-width:940px){
  .site-nav{ background:rgba(244,247,245,0.98); border-bottom:1px solid var(--line); }
}
.btn{ border-radius:999px; padding:15px 25px; }
.btn-primary{ background:var(--em); color:#FFFFFF; box-shadow:0 18px 40px -24px rgba(7,139,115,0.8); }
.btn-primary:hover{ background:var(--em-deep); color:#FFFFFF; }
.btn-ghost{ border-color:var(--line-2); color:var(--text); background:rgba(255,255,255,0.58); }
.btn-ghost:hover{ border-color:var(--em); color:var(--em-deep); background:#FFFFFF; }
.link-arw{ color:var(--em-deep); border-bottom-color:var(--em-line); }

.luminous-hero{ background:var(--bg); overflow:hidden; }
.luminous-hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(115deg, rgba(7,139,115,0.08), transparent 38%),
    radial-gradient(52% 80% at 78% 20%, rgba(99,200,213,0.2), transparent 58%),
    radial-gradient(rgba(10,32,39,0.08) 1px, transparent 1px);
  background-size:auto,auto,34px 34px;
  -webkit-mask-image:linear-gradient(180deg,#071A20 0%,#071A20 80%,transparent 100%);
          mask-image:linear-gradient(180deg,#071A20 0%,#071A20 80%,transparent 100%);
}
.luminous-hero::after{
  content:""; position:absolute; left:7vw; right:9vw; top:52%; height:1px; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(7,139,115,0.22), rgba(99,200,213,0.55), transparent);
  transform:rotate(-7deg);
}
.hero-grid{ grid-template-columns:minmax(0,0.95fr) minmax(420px,1.05fr); gap:clamp(42px,5vw,76px); padding-block:clamp(72px,9vh,122px) clamp(52px,7vh,92px); }
.hero-copy{ position:relative; z-index:2; }
.hero .display{ max-width:11ch; }
.hero .lede{ max-width:48ch; margin-top:26px; color:var(--text-mut); }
.proof-strip{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.proof-strip span{ font-family:var(--mono); font-size:0.72rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--text-mut); background:#FFFFFF; border:1px solid var(--line); border-radius:999px; padding:9px 12px; }
.hero-visual{ position:relative; display:grid; gap:18px; z-index:1; }
.hero-photo{ position:relative; margin:0; border-radius:22px; overflow:hidden; min-height:clamp(330px,42vw,540px); box-shadow:0 34px 90px -58px rgba(10,32,39,0.75); background:#FFFFFF; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; filter:saturate(0.96) contrast(1.02) brightness(1.04); }
.hero-photo::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg, rgba(244,247,245,0.26), transparent 44%), linear-gradient(0deg, rgba(7,26,32,0.28), transparent 45%); }
.hero-photo figcaption{ position:absolute; left:18px; bottom:16px; z-index:2; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:#FFFFFF; text-shadow:0 1px 14px rgba(7,26,32,0.55); }
.hero-route{ max-width:82%; justify-self:end; margin-top:-90px; border-radius:18px; box-shadow:0 24px 58px -42px rgba(10,32,39,0.7); }
.hero-route.worldmap{ background:var(--bg-3); border-color:rgba(255,255,255,0.12); }
.hero-route.worldmap img{ opacity:0.88; }
.hero-route .wm-cap{ font-size:0.56rem; }
@media(max-width:960px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-route{ max-width:100%; margin-top:0; justify-self:stretch; }
  .hero .display{ max-width:12ch; }
}

.stats{ background:#FFFFFF; border-color:var(--line); box-shadow:0 18px 70px -62px rgba(10,32,39,0.8); }
.stat{ border-left:1px solid var(--line); }
.stat .num{ color:var(--text); }
.stat .lab{ color:var(--text-mut); }
.card{ background:rgba(255,255,255,0.72); border-color:var(--line); box-shadow:none; border-radius:14px; }
.card:hover{ background:#FFFFFF; border-color:var(--em-line); box-shadow:0 24px 48px -38px rgba(10,32,39,0.42); }
.card .idx{ color:var(--em-deep); }
.card p{ color:var(--text-mut); }
.ink-sec .card,.deep-sec .card{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.12); }
.ink-sec .card:hover,.deep-sec .card:hover{ background:rgba(255,255,255,0.1); }
.ink-sec .card p,.deep-sec .card p{ color:#B9C9C8; }
.ink-sec .card .idx,.deep-sec .card .idx{ color:var(--em-br); }
.principles-grid,.sector-list{ gap:0; border-top:1px solid var(--line); }
.principles-grid .card,.sector-list .card{ background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:30px 30px 30px 0; }
.principles-grid .card:hover,.sector-list .card:hover{ background:transparent; box-shadow:none; transform:none; border-color:var(--line); }
.principles-grid .card:nth-child(3n+2),.sector-list .card:nth-child(3n+2){ padding-left:28px; }
.principles-grid .card:nth-child(3n+3),.sector-list .card:nth-child(3n+3){ padding-left:28px; }
.principles-grid .card:last-child,.sector-list .card:last-child{ background:var(--mint) !important; border:1px solid var(--line); border-radius:18px; padding:28px; align-self:center; }
.mandate-rail{ gap:18px; }
.mandate-card{ display:flex; flex-direction:column; min-height:100%; background:#FFFFFF; border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:transform .24s, box-shadow .24s, border-color .24s; }
.mandate-card:hover{ transform:translateY(-4px); border-color:var(--em-line); box-shadow:0 30px 58px -44px rgba(10,32,39,0.58); }
.mandate-thumb{ margin:0; aspect-ratio:4/3; overflow:hidden; background:var(--bg-2); }
.mandate-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); filter:saturate(0.96) contrast(1.03) brightness(1.02); }
.mandate-card:hover .mandate-thumb img{ transform:scale(1.045); }
.mandate-card .idx{ margin:22px 22px 0; font-family:var(--mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--em-deep); }
.mandate-card .h3{ margin:12px 22px 10px; font-size:clamp(1.16rem,1.5vw,1.42rem); }
.mandate-card p{ margin:0 22px 24px; color:var(--text-mut); font-size:0.92rem; }
@media(max-width:940px){
  .principles-grid .card,.principles-grid .card:nth-child(n),.sector-list .card,.sector-list .card:nth-child(n){ padding-left:0; }
}
.corridor-sec{ background:#FFFFFF; overflow:hidden; }
.corridor-sec::before{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, transparent, rgba(7,139,115,0.1), transparent), radial-gradient(rgba(99,200,213,0.12) 1px, transparent 1px); background-size:auto,30px 30px; -webkit-mask-image:linear-gradient(180deg,transparent,#071A20 22%,#071A20 78%,transparent); mask-image:linear-gradient(180deg,transparent,#071A20 22%,#071A20 78%,transparent); }
.corridor-sec .wrap{ position:relative; z-index:1; }
.structures-sec{ background:var(--bg); }
.presence-sec{ background:#FFFFFF; }
.logo-wall{ background:#FFFFFF; border-color:var(--line); }
.logo-note{ color:var(--text-dim); }
.logo-cell{ border-color:var(--line); min-height:116px; background:#FFFFFF; }
.logo-cell img{ opacity:0.78; filter:none; max-height:42px; object-fit:contain; }
.logo-cell img.logo-sinosure{ background:transparent; object-fit:contain; filter:brightness(0) saturate(100%) invert(12%) sepia(25%) saturate(940%) hue-rotate(151deg) brightness(88%) contrast(92%); }
.logo-cell:hover img{ opacity:1; }
.cta-band{ background:#FFFFFF; border-color:var(--line); box-shadow:0 28px 70px -58px rgba(10,32,39,0.6); }
.cta-band h2{ color:var(--text); }
.site-footer{ background:var(--bg-3); color:#B9C9C8; border-top:1px solid rgba(255,255,255,0.08); }
.foot-brand b,.foot-grid address strong{ color:#FFFFFF; }
.foot-grid a,.foot-grid address,.foot-desc{ color:#B9C9C8; }
.foot-bottom{ border-top-color:rgba(255,255,255,0.1); }

.page-head{ background:var(--bg); background-image:radial-gradient(70% 110% at 92% 0%, rgba(7,139,115,0.08), transparent 58%); }
.page-head::before{ background-image:radial-gradient(rgba(10,32,39,0.06) 1px, transparent 1px); }
.panel-sec{ background:var(--bg-2); }
.scqa,.brand-card,.dossier,.person,.form-ok{ background:#FFFFFF; border-color:var(--line); box-shadow:none; }
.brand-card:hover,.dossier:hover,.person:hover{ box-shadow:0 24px 48px -38px rgba(10,32,39,0.42); }
.scqa .tag,.dossier .d-region,.pill,.person .p-role,.reg-legend .rn{ color:var(--em-deep); }
.brand-card .bc-name,.dossier h3,.deal .d-name,.person .p-name,.form-ok h3,.choice span b{ color:var(--text); }
.brand-card p,.dossier .d-sub,.deal p,.person .p-bio,.choice,.form-note{ color:var(--text-mut); }
.brand-card .bc-logo{ border:1px solid var(--line); border-radius:10px; background:#FFFFFF; }
.ink-sec .brand-card,.deep-sec .brand-card{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.12); }
.ink-sec .brand-card .bc-name,.deep-sec .brand-card .bc-name{ color:#FFFFFF; }
.ink-sec .brand-card p,.deep-sec .brand-card p{ color:#B9C9C8; }
.field input,.field select,.field textarea{ background:#FFFFFF; color:var(--text); border-color:var(--line-2); }
.field input::placeholder,.field textarea::placeholder{ color:var(--text-dim); }
.choice{ background:#FFFFFF; }
.choice:has(input:checked){ color:var(--text); background:var(--em-dim); }
.presence-layout{ display:grid; gap:22px; }
.presence-visual{ position:relative; margin:0; min-height:clamp(300px,36vw,460px); border-radius:22px; overflow:hidden; background:var(--bg-2); border:1px solid var(--line); box-shadow:0 30px 76px -56px rgba(10,32,39,0.72); }
.presence-visual img{ width:100%; height:100%; object-fit:cover; filter:saturate(0.94) contrast(1.03) brightness(1.02); }
.presence-visual::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(7,26,32,0.06), rgba(7,26,32,0.42)); }
.presence-visual figcaption{ position:absolute; left:22px; bottom:18px; z-index:1; font-family:var(--mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:#FFFFFF; text-shadow:0 1px 14px rgba(7,26,32,0.65); }
.presence-cards{ margin-top:0; }
@media(max-width:720px){ .presence-visual{ min-height:260px; border-radius:18px; } }

/* ---------- Contrast repair + AMI outcome media ---------- */
.bg-band::before{ background:linear-gradient(180deg, rgba(7,26,32,0.66), rgba(7,26,32,0.78)); }
.bg-band .h1,.bg-band .h2,.bg-band h1,.bg-band h2,.bg-band h3{ color:#FFFFFF; text-shadow:0 2px 18px rgba(0,0,0,0.42); }
.bg-band .lede,.bg-band p{ color:#D8E7E5; text-shadow:0 2px 16px rgba(0,0,0,0.34); }
.bg-band .muted{ color:#C2D2D0; }

.slide::before{ background:linear-gradient(90deg, rgba(7,26,32,0.86) 0%, rgba(7,26,32,0.68) 38%, rgba(7,26,32,0.32) 70%, rgba(7,26,32,0.08) 100%); }
.slide-kicker{ color:#63C8D5; text-shadow:0 1px 10px rgba(0,0,0,0.45); }
.slide-inner h2{ color:#FFFFFF; text-shadow:0 2px 18px rgba(0,0,0,0.5); }
.slide-inner p{ color:#D6E4E2; text-shadow:0 2px 16px rgba(0,0,0,0.42); }
.slide-inner .link-arw{ color:#FFFFFF; border-bottom-color:rgba(255,255,255,0.36); }
.slide-inner .pill{ color:#A9F5E4; border-color:rgba(169,245,228,0.42); background:rgba(7,26,32,0.38); }

.media-fig::after{ background:linear-gradient(180deg, rgba(11,22,34,0) 42%, rgba(7,26,32,0.46)); }
.media-fig figcaption{ color:#EAF1F4; text-shadow:0 1px 12px rgba(0,0,0,0.62); }

.worldmap .wm-cap{ color:#D6E4E2; }
.wm-node{ color:#FFFFFF; }
.ink-sec .plist li,.deep-sec .plist li,.bg-band .plist li{ color:#B9C9C8; border-top-color:rgba(255,255,255,0.12); }
.ink-sec .plist li span,.deep-sec .plist li span,.bg-band .plist li span{ color:#B9C9C8; }
.ink-sec .plist b,.deep-sec .plist b,.bg-band .plist b{ color:#FFFFFF !important; }
section:not(.ink-sec):not(.deep-sec):not(.bg-band) .plist b{ color:var(--text) !important; }
.ink-sec .pill,.deep-sec .pill,.bg-band .pill{ color:#8DE9D5; border-color:rgba(141,233,213,0.38); }
.ink-sec .card h3,.deep-sec .card h3,.ink-sec .card .h3,.deep-sec .card .h3{ color:#FFFFFF; }
.foot-bottom p,.foot-bottom span{ color:#B9C9C8; }

.ami-outcome-card{ display:grid; grid-template-columns:minmax(0,0.95fr) minmax(360px,1.05fr); align-items:stretch; gap:0; padding:0; min-height:clamp(360px,34vw,500px); overflow:hidden; background:#FFFFFF; border-color:rgba(10,32,39,0.1); box-shadow:0 34px 76px -54px rgba(10,32,39,0.46); }
.ami-outcome-card h2{ color:var(--text); }
.ami-outcome-card .lede{ color:var(--text-mut); }
.ami-outcome-card .eyebrow{ color:var(--em-deep); }
.ami-outcome-copy{ align-self:center; padding:clamp(42px,5vw,74px); position:relative; z-index:2; }
.ami-outcome-visual{ position:relative; min-height:100%; margin:0; overflow:hidden; background:var(--bg-2); border-left:1px solid rgba(10,32,39,0.08); }
.ami-outcome-visual img{ width:100%; height:100%; min-height:100%; display:block; object-fit:cover; filter:saturate(0.96) contrast(1.03) brightness(1.04); }
.ami-outcome-visual::before{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, rgba(255,255,255,0.92), rgba(255,255,255,0.28) 35%, rgba(255,255,255,0) 62%); }

@media(max-width:860px){
  .ami-outcome-card{ grid-template-columns:1fr; }
  .ami-outcome-visual{ min-height:260px; order:initial; border-left:0; border-top:1px solid rgba(10,32,39,0.08); }
  .ami-outcome-visual::before{ background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.76)); }
}
@media(max-width:620px){
  .slide::before{ background:linear-gradient(180deg, rgba(7,26,32,0.56), rgba(7,26,32,0.88)); }
}

/* ---------- Leadership CTA + Careers ---------- */
.team-cta-band{ display:grid; grid-template-columns:minmax(0,0.92fr) minmax(320px,1.08fr); gap:0; padding:0; overflow:hidden; background:#FFFFFF; border-color:rgba(255,255,255,0.14); box-shadow:0 32px 74px -54px rgba(0,0,0,0.72); }
.team-cta-copy{ align-self:center; padding:clamp(42px,5vw,74px); position:relative; z-index:2; }
.team-cta-band h2{ color:var(--text); max-width:24ch; }
.team-cta-band .eyebrow{ color:var(--em-deep); }
.team-cta-actions{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.team-cta-band .btn-ghost{ background:#FFFFFF; border-color:var(--line-2); color:var(--text); }
.team-cta-band .btn-ghost:hover{ border-color:var(--em); color:var(--em-deep); }
.team-cta-visual{ margin:0; min-height:clamp(320px,32vw,470px); position:relative; overflow:hidden; border-left:1px solid rgba(10,32,39,0.08); }
.team-cta-visual img{ width:100%; height:100%; display:block; object-fit:cover; filter:saturate(0.98) contrast(1.02) brightness(1.03); }
.team-cta-visual::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, rgba(255,255,255,0.76), rgba(255,255,255,0.08) 42%, rgba(255,255,255,0)); }

.career-grid{ display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,0.85fr); gap:clamp(28px,5vw,58px); align-items:start; }
.career-form-card{ background:#FFFFFF; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(28px,4vw,44px); box-shadow:0 28px 62px -50px rgba(10,32,39,0.48); }
.career-form-card .reg-section{ border-top:0; padding-top:0; margin-top:0; }
.career-form-card .field input,
.career-form-card .field select,
.career-form-card .field textarea{ background:#FFFFFF; border-color:var(--line-2); color:var(--text); }
.career-form-card .field input::placeholder,
.career-form-card .field textarea::placeholder{ color:var(--text-dim); }
.career-form-card .field input[type="file"]{ padding:12px; color:var(--text-mut); cursor:pointer; }
.career-form-card .reg-consent{ color:var(--text-mut); }
.file-hint{ margin:8px 0 0; color:var(--text-dim); font-size:0.82rem; }
.career-side{ display:grid; gap:18px; }
.career-side-visual{ margin:0; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#FFFFFF; aspect-ratio:4/3; box-shadow:0 26px 56px -46px rgba(10,32,39,0.52); }
.career-side-visual img{ width:100%; height:100%; display:block; object-fit:cover; filter:saturate(0.98) contrast(1.02) brightness(1.02); }
.career-side code{ font-family:var(--mono); font-size:0.82em; color:var(--em-deep); }
.form-status{ margin-top:16px; border-radius:var(--radius); border:1px solid var(--line); padding:14px 16px; color:var(--text); background:#FFFFFF; font-size:0.9rem; }
.form-status.error{ border-color:rgba(190,49,68,0.34); background:#FFF4F5; color:#8B1E2D; }
.form-status.success{ border-color:rgba(7,139,115,0.28); background:#F0FBF7; color:var(--em-deep); }
.btn:disabled{ opacity:0.62; cursor:not-allowed; transform:none; }

@media(max-width:860px){
  .team-cta-band,.career-grid{ grid-template-columns:1fr; }
  .team-cta-visual{ min-height:260px; border-left:0; border-top:1px solid rgba(10,32,39,0.08); }
  .team-cta-visual::after{ background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.58)); }
}

/* ---------- Homepage editorial hero refresh ---------- */
.home-hero{ background:#F4F7F5; }
.home-hero::before{
  background:
    radial-gradient(52% 76% at 84% 17%, rgba(99,200,213,0.16), transparent 62%),
    radial-gradient(36% 58% at 12% 66%, rgba(7,139,115,0.08), transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,0.62), rgba(244,247,245,0));
  background-size:auto;
  -webkit-mask-image:none;
          mask-image:none;
}
.home-hero::after{ display:none; }
.home-hero .hero-grid{
  grid-template-columns:minmax(0,0.88fr) minmax(540px,1.12fr);
  gap:clamp(48px,5vw,82px);
  align-items:center;
  padding-block:clamp(72px,8vw,118px) clamp(74px,8vw,118px);
}
.home-hero .hero-copy{ padding-top:8px; }
.home-hero .eyebrow{
  gap:11px;
  padding:8px 14px;
  border:1px solid rgba(7,139,115,0.18);
  border-radius:999px;
  background:rgba(255,255,255,0.68);
  color:var(--em-deep);
  letter-spacing:0.09em;
  box-shadow:0 12px 34px -30px rgba(10,32,39,0.55);
}
.home-hero .eyebrow::before{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--em);
  box-shadow:0 0 0 5px rgba(7,139,115,0.11);
}
.home-hero .display{
  max-width:13ch;
  font-size:clamp(3.1rem,5.7vw,6.2rem);
  line-height:0.96;
  letter-spacing:0;
  color:var(--text);
}
.home-hero .lede{
  max-width:57ch;
  margin-top:26px;
  color:#35494F;
  font-size:clamp(1.08rem,1.42vw,1.28rem);
}
.home-hero .hero-cta{ margin-top:34px; }
.home-hero .btn{ border-radius:10px; min-height:54px; }
.home-hero .btn-ghost{ background:#FFFFFF; border-color:#C9D7D3; box-shadow:0 14px 34px -28px rgba(10,32,39,0.45); }
.home-hero .proof-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:52px;
  padding-top:0;
  border-top:0;
}
.home-hero .proof-strip > div{
  position:relative;
  min-width:0;
  padding-left:50px;
}
.home-hero .proof-strip > div::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:
    linear-gradient(135deg, rgba(7,139,115,0.12), rgba(99,200,213,0.16)),
    #FFFFFF;
  border:1px solid rgba(7,139,115,0.18);
  box-shadow:0 12px 26px -22px rgba(7,139,115,0.78);
}
.home-hero .proof-strip strong{
  display:block;
  color:var(--text);
  font-size:0.88rem;
  line-height:1.24;
  font-weight:750;
}
.home-hero .proof-strip > div span{
  display:block;
  margin-top:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text-mut);
  font-family:var(--sans);
  font-size:0.78rem;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
}
.home-hero .hero-visual{
  position:relative;
  padding:0 0 clamp(124px,12vw,172px);
}
.home-hero .hero-photo{
  border-radius:26px;
  min-height:clamp(520px,52vw,720px);
  box-shadow:0 34px 90px -58px rgba(10,32,39,0.62);
}
.home-hero .hero-photo img{ filter:saturate(0.98) contrast(1.02) brightness(1.03); }
.home-hero .hero-photo::after{ background:linear-gradient(135deg, rgba(255,255,255,0.18), transparent 44%); }
.home-hero .hero-photo figcaption{ display:none; }
.home-hero .hero-route{
  position:absolute;
  right:-26px;
  bottom:20px;
  width:min(58%,520px);
  max-width:none;
  min-height:clamp(238px,20vw,292px);
  margin:0;
  padding:0;
  border-radius:24px;
  overflow:hidden;
  animation:heroMapIn .82s cubic-bezier(.2,.7,.2,1) both .16s;
}
.home-hero .hero-route.worldmap{
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(10,32,39,0.12);
  box-shadow:0 30px 74px -42px rgba(10,32,39,0.5);
  backdrop-filter:blur(10px);
}
.home-hero .hero-route.worldmap img{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) saturate(0.12) brightness(1.35) contrast(0.72);
  opacity:0.24;
  mix-blend-mode:multiply;
}
.home-hero .hero-route.worldmap::after{
  background:
    radial-gradient(48% 60% at 74% 42%, rgba(7,139,115,0.12), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,0.24), rgba(255,255,255,0.7));
  z-index:1;
}
.map-card-head{
  position:absolute;
  left:24px;
  top:22px;
  z-index:5;
  display:grid;
  gap:2px;
}
.map-card-head strong{
  color:var(--text);
  font-size:1rem;
  line-height:1.1;
}
.map-card-head span{
  color:var(--text-mut);
  font-size:0.78rem;
}
.home-hero .hero-route .wm-node[data-region="china"],
.home-hero .hero-route .wm-node[data-region="cis"],
.home-hero .hero-route .wm-node[data-region="kz"],
.home-hero .hero-route .wm-node[data-region="africa"]{ display:none; }
.home-hero .hero-route .wm-node{
  width:12px;
  height:12px;
  z-index:3;
  background:var(--em);
  border:2px solid #FFFFFF;
  box-shadow:0 0 0 6px rgba(7,139,115,0.16), 0 0 24px rgba(7,139,115,0.45);
}
.home-hero .hero-route .wm-node.hub{ width:13px; height:13px; background:var(--em); }
.home-hero .hero-route .wm-node::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:1px solid rgba(7,139,115,0.32);
  animation:wmpulse 3.8s ease-out infinite;
  pointer-events:none;
}
.home-hero .hero-route .wm-node b{
  top:15px;
  color:var(--text);
  text-shadow:0 1px 12px rgba(255,255,255,0.9);
}
.home-hero .hero-route .wm-node[data-region="gulf"] b{ left:34px; top:9px; transform:none; }
.home-hero .hero-route .wm-node[data-region="hongkong"] b{ left:18px; top:8px; transform:none; }
.home-hero .hero-route .wm-arcs{
  z-index:2;
  filter:drop-shadow(0 0 2px rgba(7,139,115,0.72)) drop-shadow(0 0 10px rgba(7,139,115,0.18));
}
.home-hero .hero-route .wm-arc{
  stroke:var(--em);
  stroke-width:0.75;
  opacity:0.92;
}
.home-hero .hero-route .wm-spark{ fill:#FFFFFF; filter:drop-shadow(0 0 5px rgba(7,139,115,0.85)); }
.home-hero .hero-route .wm-cap{
  background:linear-gradient(0deg,rgba(255,255,255,0.94),rgba(255,255,255,0.5));
  color:var(--text-mut);
  z-index:4;
}
.home-hero .hero-route .wm-cap span:first-child{
  font-size:0;
}
.home-hero .hero-route .wm-cap span:first-child::before{
  content:"Shanghai \2192 Hong Kong \2192 UAE";
  font-size:0.58rem;
}
@keyframes heroMapIn{
  from{ opacity:0; transform:translateY(18px) scale(0.985); }
  to{ opacity:1; transform:none; }
}

.home-logo-wall{
  background:rgba(255,255,255,0.76);
  border-top:1px solid rgba(10,32,39,0.1);
  border-bottom:1px solid rgba(10,32,39,0.1);
  box-shadow:0 -18px 60px -58px rgba(10,32,39,0.5), 0 22px 68px -64px rgba(10,32,39,0.55);
}
.home-logo-wall .logo-note{
  padding-top:38px;
  color:#7C8B90;
}
.home-logo-wall .logo-grid{
  grid-template-columns:repeat(6,minmax(120px,1fr));
}
.home-logo-wall .logo-cell{
  min-height:112px;
  background:transparent;
  border-top:1px solid rgba(10,32,39,0.08);
  border-left:0;
}
.home-logo-wall .logo-cell + .logo-cell{ border-left:1px solid rgba(10,32,39,0.08); }
.home-logo-wall .logo-cell img{
  max-height:46px;
  max-width:165px;
  opacity:0.62;
  filter:grayscale(1) saturate(0) contrast(1.05) brightness(0.72);
}
.home-logo-wall .logo-cell img.logo-sinosure{
  max-height:68px;
  max-width:122px;
  opacity:0.9;
  filter:none;
}

@media(max-width:1080px){
  .home-hero .hero-grid{ grid-template-columns:1fr; }
  .home-hero .hero-visual{ max-width:820px; }
}
@media(max-width:760px){
  .home-hero .hero-grid{ padding-block:58px 74px; }
  .home-hero .proof-strip{ grid-template-columns:1fr; margin-top:34px; }
  .home-hero .hero-visual{ padding-bottom:0; }
  .home-hero .hero-photo{ min-height:380px; }
  .home-hero .hero-route{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    margin-top:18px;
  }
  .home-logo-wall .logo-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-logo-wall .logo-cell:nth-child(odd){ border-left:0; }
}
@media (prefers-reduced-motion: reduce){
  .home-hero .hero-route{ animation:none; }
  .home-hero .hero-route .wm-node::before{ animation:none; opacity:0.28; }
  .wm-arc{ stroke-dashoffset:0 !important; animation:none !important; }
}

/* ---------- Reveal ---------- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.07s } .reveal.d2{ transition-delay:.14s }
.reveal.d3{ transition-delay:.21s } .reveal.d4{ transition-delay:.28s }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
  .arc{ stroke-dashoffset:0 !important; }
}
