/* ===================== TOKENS ===================== */
:root{
  --navy: #0A2036;
  --navy-2: #123253;
  --navy-3: #17416b;
  --blue: #7EC1EB;
  --blue-dark: #4FA3D8;
  --blue-pale: #EAF5FC;
  --teal: #2DD4BF;
  --teal-dark: #20B8A5;
  --bg: #F7F9FC;
  --white: #FFFFFF;
  --ink: #0F1E2E;
  --gray-600: #5B6B7C;
  --gray-400: #93A2B0;
  --border: #E4EAF1;
  --green: #3FBF83;
  --amber: #F0A93B;
  --red: #E2554F;
  --radius: 20px;
  --radius-sm: 12px;
  --shadow-sm: 0 2px 10px rgba(10,32,54,0.06);
  --shadow-md: 0 12px 32px rgba(10,32,54,0.10);
  --shadow-lg: 0 24px 60px rgba(10,32,54,0.16);
  --maxw: 1180px;
  --font: Arial, Helvetica, sans-serif;
  --font-accent: Georgia, 'Times New Roman', serif;
  --ease: cubic-bezier(.2,.7,.2,1);
  --cf-err: #FF8A73;
  --paper: #E9F2F6;
}

::selection{ background: var(--blue-dark); color:#fff; }

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; scroll-padding-top:96px; }
body{
  margin:0; font-family: var(--font); color: var(--ink); background: var(--bg);
  -webkit-font-smoothing: antialiased; line-height: 1.5;
}
button, input, select, textarea{ font-family: inherit; }
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ margin:0; font-weight: 400; letter-spacing:-0.02em; color: var(--navy); }
p{ margin:0; }
.container{ max-width: 1800px; margin:0 auto; padding: 0 clamp(24px, 18vw - 175px, 160px); }
@media (max-width:560px){ .container{ padding: 0 16px; } }
[hidden]{ display:none !important; }

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; border-radius: 999px; border: none; cursor:pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn-lg{ padding: 16px 30px; font-size: 1rem; }
.btn-sm{ padding: 10px 18px; font-size: .85rem; }
.btn .btn-arrow{ display:inline-block; transition: transform .18s ease; }
.btn:hover .btn-arrow{ transform: translateX(3px); }
.btn-primary{ background: linear-gradient(135deg, var(--blue-dark), var(--blue)); color: var(--navy); box-shadow: var(--shadow-md); }
.btn-primary:hover{ transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.btn-ghost{ background: rgba(255,255,255,0.08); color:#fff; border:1.5px solid rgba(255,255,255,0.4); backdrop-filter: blur(6px); }
.btn-ghost:hover{ background: rgba(255,255,255,0.18); transform: translateY(-2px); }
.btn-outline{ background: transparent; border: 1.5px solid var(--navy); color: var(--navy); }
.btn-outline:hover{ background: var(--navy); color:#fff; transform: translateY(-2px); }

/* Hero cover CTAs: teal solid + outline pair, rounded-rect (not full pill) */
.hero-cta-primary{ background: var(--teal); color:#fff; border-radius:12px; box-shadow: var(--shadow-md), 0 0 0 0 rgba(45,212,191,0.45); animation: heroCtaPulse 3.2s ease-in-out infinite; }
.hero-cta-primary:hover{ background: var(--teal-dark); transform: translateY(-2px); box-shadow: var(--shadow-lg); animation-play-state: paused; }
@keyframes heroCtaPulse{
  0%,100%{ box-shadow: var(--shadow-md), 0 0 0 0 rgba(45,212,191,0.45); }
  50%{ box-shadow: var(--shadow-md), 0 0 0 9px rgba(45,212,191,0); }
}
.hero-cta-ghost{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.85); border-radius:12px; backdrop-filter:none; }
.hero-cta-ghost:hover{ background: rgba(255,255,255,0.1); transform: translateY(-2px); }

/* ===================== HEADER ===================== */
.skip-link{
  position:absolute; left:16px; top:-60px; z-index:320; background: var(--navy); color:#fff;
  font-size:.8rem; font-weight:700; padding:11px 18px; border-radius:9px; text-decoration:none;
  transition: top .2s ease;
}
.skip-link:focus{ top:16px; }

.scroll-progress{
  position:fixed; left:0; top:0; height:2px; z-index:310; width:0%;
  background: linear-gradient(90deg, var(--teal), var(--blue-dark) 60%, #7C5CF5);
  transition: width .1s linear, opacity .3s ease; opacity:0;
}
.scroll-progress.is-on{ opacity:1; }

.site-header{
  position: fixed; top:0; left:0; right:0; z-index: 200;
  transition: transform .35s var(--ease);
}
.site-header.is-hidden{ transform: translateY(-130%); }

.header-bar{
  max-width:none; width:100%; height:76px; display:flex; align-items:center; gap: clamp(16px,3vw,42px);
  border:1px solid transparent; border-radius:0; color: var(--paper);
  transition: background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease), height .3s var(--ease), color .3s var(--ease);
}
.site-header.is-stuck .header-bar{
  height:64px; background: rgba(255,255,255,.86); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4);
  border-color: rgba(14,35,56,.08); box-shadow: 0 14px 40px -22px rgba(14,35,56,.5); color: var(--navy);
}
.brand{ display:flex; align-items:center; flex:none; }
.brand-logo{
  display:inline-block; width:106px; height:30px;
  -webkit-mask-image:url(../assets/logo-wordmark.png); mask-image:url(../assets/logo-wordmark.png);
  -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center;
  background: linear-gradient(90deg, #fff 0%, #fff 67.5%, var(--teal) 67.5%, var(--teal) 100%);
  transition: background .3s var(--ease);
}
.site-header.is-stuck .brand-logo{ background: linear-gradient(90deg, var(--navy) 0%, var(--navy) 67.5%, var(--blue) 67.5%, var(--blue) 100%); }

.main-nav{ display:flex; gap:4px; align-items:center; margin-left:auto; }
.main-nav a{
  position:relative; color:inherit; text-decoration:none; font-size:.9rem; font-weight:700;
  padding:10px 14px; border-radius:9px; opacity:.82; transition: opacity .18s ease, background .18s ease;
}
.main-nav a:hover{ opacity:1; background: rgba(127,160,190,.14); }
.main-nav a::after{
  content:''; position:absolute; left:14px; right:14px; bottom:4px; height:2px; border-radius:2px;
  background: currentColor; transform: scaleX(0); transform-origin:left; transition: transform .25s var(--ease);
}
.main-nav a[aria-current="true"]{ opacity:1; }
.main-nav a[aria-current="true"]::after{ transform: scaleX(1); }
.site-header.is-stuck .main-nav a[aria-current="true"]{ color: var(--blue-dark); }

.header-actions{ display:flex; align-items:center; gap:12px; flex:none; }
.header-actions .btn.btn-primary, .nav-sheet-foot .btn.btn-primary{ background: var(--teal); color:#04121C; transition: background .3s var(--ease), transform .18s ease, box-shadow .18s ease; }
.site-header.is-stuck .header-actions .btn.btn-primary{ background: var(--blue); color: var(--navy); }
.lang-toggle{
  all:unset; display:flex; padding:3px; border-radius:9px; border:1px solid rgba(233,242,246,.3); cursor:pointer;
  transition: border-color .3s ease, background .3s ease;
}
.site-header.is-stuck .lang-toggle{ border-color: rgba(14,35,56,.12); background: rgba(14,35,56,.03); }
.lang-opt{ font-size:.72rem; font-weight:700; letter-spacing:.04em; padding:6px 10px; border-radius:6px; color:inherit; opacity:.55; transition: opacity .18s ease, background .18s ease; }
.lang-opt.is-active{ opacity:1; background: rgba(233,242,246,.18); }
.site-header.is-stuck .lang-opt.is-active{ background:#fff; box-shadow: 0 2px 8px -4px rgba(14,35,56,.4); color: var(--navy); }
.lang-sep{ opacity:.35; padding:0 1px; }

.nav-burger{ all:unset; display:none; cursor:pointer; width:42px; height:42px; border-radius:10px; place-items:center; color:inherit; }
.nav-burger:hover{ background: rgba(127,160,190,.14); }
.nav-burger span{ display:block; width:20px; height:2px; background:currentColor; border-radius:2px; position:relative; transition: background .2s ease; }
.nav-burger span::before, .nav-burger span::after{
  content:''; position:absolute; left:0; width:20px; height:2px; background:currentColor; border-radius:2px;
  transition: transform .28s var(--ease);
}
.nav-burger span::before{ top:-6px; } .nav-burger span::after{ top:6px; }
.nav-burger[aria-expanded="true"] span{ background:transparent; }
.nav-burger[aria-expanded="true"] span::before{ transform: translateY(6px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span::after{ transform: translateY(-6px) rotate(-45deg); }

.nav-sheet{
  position:fixed; inset:0; z-index:199; background: linear-gradient(165deg, #0B1D2F, #050F1A);
  padding:100px 24px 32px; display:flex; flex-direction:column;
  opacity:0; visibility:hidden; transform: translateY(-12px);
  transition: opacity .28s ease, transform .28s ease, visibility .28s;
}
.nav-sheet.is-open{ opacity:1; visibility:visible; transform:none; }
.nav-sheet a{ color: var(--paper); text-decoration:none; font-size:1.6rem; font-weight:400; letter-spacing:-.02em; padding:16px 4px; border-bottom:1px solid rgba(233,242,246,.1); }
.nav-sheet-foot{ margin-top:auto; display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:26px; }
.nav-sheet-foot .lang-toggle{ border-color: rgba(233,242,246,.3); color: var(--paper); }

/* ===================== HERO (interactive data-pipeline stage) ===================== */
.hero{
  position:relative; overflow:hidden; min-height:100svh; display:flex; align-items:center;
  padding: 130px 0 90px;
  background:
    radial-gradient(120% 90% at 78% 40%, #143B5C 0%, transparent 60%),
    radial-gradient(90% 70% at 70% 45%, rgba(24,63,96,0.85) 0%, transparent 65%),
    linear-gradient(160deg, #0B1D2F 0%, #071523 55%, #050F1A 100%);
}

.hero-inner{ position:relative; z-index:2; width:100%; display:grid; grid-template-columns: minmax(0,38%) minmax(0,62%); align-items:center; gap:24px; transform: translateY(-5%); }
.hero-content{ max-width:560px; text-align:left; }

.hero-title{ color:#fff; font-size: clamp(2.1rem, 5vw, 3.6rem); line-height:1.12; margin-bottom:22px; }
.hero-title-accent{ color: var(--teal); font-style: italic; font-family: var(--font-accent); font-weight:400; }
.hero-sub{ color: rgba(255,255,255,0.78); font-size:1.08rem; margin-bottom:36px; }
.hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; justify-content:flex-start; }

/* ---- Stage: interactive data-pipeline graphic (data -> model -> answer) ---- */
.hero-stage{
  position:relative; height:min(70svh, 620px);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 18%, #000 100%);
}
.hero-stage canvas{ display:block; width:100%; height:100%; }
.hero-hotspot{
  position:absolute; transform:translate(-50%,-50%); background:none; border:0; padding:10px 12px;
  color:#fff; font-family: var(--font); font-size:.78rem; letter-spacing:.02em; cursor:pointer; text-align:left;
  border-radius:8px;
}
.hero-hotspot b{ display:block; font-weight:700; line-height:1.2; }
.hero-hotspot span{ display:block; color:rgba(255,255,255,0.45); font-size:.72rem; margin-top:3px; transition: color .2s ease; }
.hero-hotspot:hover span, .hero-hotspot[aria-pressed="true"] span{ color: var(--teal); }
.hero-hotspot:focus-visible{ outline:1px solid var(--teal); outline-offset:2px; }

.hero-caption{
  position:absolute; max-width:30ch; margin:0; font-size:.84rem; line-height:1.6;
  color:rgba(255,255,255,0.72); border-left:1px solid rgba(45,212,191,0.3); padding-left:14px;
  opacity:0; transform:translateY(6px); transition:opacity .35s ease, transform .35s ease; pointer-events:none;
}
.hero-caption.is-on{ opacity:1; transform:none; }
.hero-hint{
  position:absolute; left:50%; top:45%; transform:translate(-50%,-50%); margin:0;
  font-size:.72rem; letter-spacing:.05em; white-space:nowrap; pointer-events:none;
  color:rgba(255,255,255,0.4); transition:opacity .5s ease;
}
.hero-hint.is-off{ opacity:0; }

.hero-chevron{
  position:absolute; bottom:28px; left:50%; z-index:2;
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  color:#fff; border:1px solid rgba(220,232,245,0.28); border-radius:999px;
  background: rgba(15,30,51,0.35); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  overflow:visible; transform:translateX(-50%);
  transition: background .3s var(--ease), border-color .3s var(--ease);
  animation: chevronBob 2.4s infinite var(--ease);
}
.hero-chevron .chevron-ring{
  position:absolute; inset:-1px; border-radius:999px; border:1px solid rgba(220,232,245,0.55);
  opacity:0; animation: chevronRing 2.4s infinite var(--ease); pointer-events:none;
}
.hero-chevron .chevron-arrow{ display:block; }
.hero-chevron:hover{
  background: rgba(220,232,245,0.12); border-color: rgba(220,232,245,0.65);
  animation-play-state: paused;
}
@keyframes chevronBob{
  0%,100%{ transform: translateX(-50%) translateY(-3px); }
  50%{ transform: translateX(-50%) translateY(4px); }
}
@keyframes chevronRing{
  0%{ transform: scale(1); opacity:0.55; }
  80%,100%{ transform: scale(1.6); opacity:0; }
}
@media (max-width: 860px){
  .hero{ min-height:0; padding: 120px 0 60px; }
  .hero-inner{ grid-template-columns: 1fr; gap:36px; }
  .hero-content{ max-width:100%; }
  .hero-stage{ height:340px; -webkit-mask-image:none; mask-image:none; }
  .hero-hotspot{ max-width:132px; }
  .hero-caption{ max-width:90%; }
  .hero-chevron{ display:none; }
}
@media (max-width:560px){
  .hero{ padding:92px 0 20px; }
  .hero-inner{ gap:14px; transform:none; }
  .hero-title{ margin-bottom:10px; }
  .hero-sub{ margin-bottom:14px; }
  .hero-ctas{ gap:8px; }
  .hero-ctas .btn-lg{ padding:11px 20px; font-size:.85rem; }
}

/* ===================== SECTION GENERIC ===================== */
.section{ position:relative; padding: 55px 0; }
.section-head{
  display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap;
  gap: 24px 60px; max-width:none; margin: 0 0 56px; text-align:left; opacity:0;
}
.section-head.is-visible{ animation: fadeUp .6s ease forwards; }
.section-head-title{ flex: 1 1 420px; }
.section-head-title h2{ font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin: 14px 0 0; line-height:1.18; }
.section-head .section-lede{ flex: 0 1 340px; padding-bottom:6px; }
.section-head-title .section-lede{ margin-top:14px; max-width:560px; padding-bottom:0; }
.services-section .section-head-title .section-lede{ max-width:none; white-space:nowrap; }
.shape-section .section-head-title .section-lede{ max-width:none; }
.section-lede{ color: var(--gray-600); font-size:1.05rem; text-align:left; }
.kicker{ display:flex; align-items:center; gap:10px; color: var(--blue-dark); font-weight:800; letter-spacing:.14em; font-size:.82rem; text-transform:uppercase; margin:0; }
.kicker em{ width:22px; height:1px; flex-shrink:0; background: currentColor; opacity:.6; font-style:normal; }
.section-head-simple .kicker{ justify-content:center; }
.section-head-accent{ display:block; font-style:italic; font-weight:400; color: var(--blue-dark); font-family: var(--font-accent); }
.section-head-light .kicker{ color: var(--blue); }
.impact-section .kicker, .careers-section .kicker{ color: var(--teal); }
.section-head-light h2{ color:#fff; }
.section-head-light .section-head-accent{ color: var(--teal); }
.section-head-light .section-lede{ color: rgba(255,255,255,0.72); }
.section-head-simple{ display:block; max-width:720px; margin:0 auto 56px; text-align:center; }
.section-head-simple h2{ font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin: 14px 0 16px; line-height:1.18; }
@media (max-width: 640px){
  .section-head{ display:block; }
  .section-head .section-lede{ margin-top:16px; max-width:none; }
}

/* ===================== SERVICES (interactive showcase) ===================== */
.services-section{ background: #F1F6FB; color: var(--ink); overflow:hidden; position:relative; }
.services-section::before{ content:''; position:absolute; inset:0; background: radial-gradient(circle at 88% 0%, rgba(126,193,235,0.14), transparent 45%); pointer-events:none; }
.section-bg-dark{ display:none; }
.services-section .container{ position:relative; z-index:1; }

.service-icon{ width:52px; height:52px; border-radius:14px; margin-bottom:20px; background: linear-gradient(135deg, var(--blue-dark), var(--blue)); position:relative; }
.service-icon::after{ content:''; position:absolute; inset:14px; background:#0A2036; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; }
.service-icon[data-icon="genai"]::after{ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 2l1.8 5.6L19 9l-5.2 1.4L12 16l-1.8-5.6L5 9l5.2-1.4z'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 2l1.8 5.6L19 9l-5.2 1.4L12 16l-1.8-5.6L5 9l5.2-1.4z'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3C/svg%3E"); }
.service-icon[data-icon="predictive"]::after{ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M15 6h6v6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M15 6h6v6'/%3E%3C/svg%3E"); }
.service-icon[data-icon="strategy"]::after{ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='12' cy='12' r='.8' fill='%23000'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='12' cy='12' r='.8' fill='%23000'/%3E%3C/svg%3E"); }
.service-icon[data-icon="training"]::after{ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M22 10L12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E"); }
.svc-proof{ font-size:.78rem; line-height:1.5; color: var(--gray-600); max-width:26ch; margin:0; }
.svc-proof b{ color: var(--navy); font-weight:700; }

/* ---- services panel (menu + capability list + live board) ---- */
.services-section{
  --b-app:12px; --b-h:13.5px; --b-lbl:9px; --b-num:19px; --b-sm:10px; --b-md:11px;
}
.svp-grid{ display:grid; grid-template-columns: minmax(0,290px) minmax(0,1fr); gap: clamp(20px,2.6vw,34px); align-items:start; }

.svp-mobile-select{ display:none; }
.svp-menu{ list-style:none; margin:0 0 18px; padding:0; position:relative; }
.svp-menu::before{ content:''; position:absolute; left:0; top:6px; bottom:6px; width:2px; background: var(--border); border-radius:2px; }
.svp-menu::after{
  content:''; position:absolute; left:0; width:2px; border-radius:2px;
  background: linear-gradient(180deg, var(--teal), var(--blue-dark));
  top: var(--pt,6px); height: var(--ph,0px);
  transition: top .38s var(--ease), height .38s var(--ease);
}
.svp-menu li{ position:relative; }
.svp-tab{
  all:unset; box-sizing:border-box; display:block; width:100%; cursor:pointer; padding:15px 16px 15px 20px;
  border-radius:0 11px 11px 0; transition: background .2s ease;
}
.svp-tab:hover{ background: rgba(79,163,216,.06); }
.svp-tab:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:-2px; }
.svp-tab[aria-selected="true"]{ background: linear-gradient(90deg, rgba(79,163,216,.12), rgba(79,163,216,.02)); }
.svp-tab .n{ font-size:.7rem; font-weight:700; color: var(--gray-400); font-variant-numeric:tabular-nums; letter-spacing:.04em; }
.svp-tab[aria-selected="true"] .n{ color: var(--blue-dark); }
.svp-tab .t{ display:block; margin:3px 0 2px; font-size:1rem; font-weight:700; letter-spacing:-.01em; line-height:1.3; color: var(--navy); }
.svp-tab[aria-selected="true"] .t{ color: var(--blue-dark); }
.svp-tab .s{ display:block; font-size:.75rem; font-style:italic; color: var(--gray-400); line-height:1.4; }

.svp-aside{
  position:relative; display:block; overflow:hidden; text-decoration:none;
  padding:17px 58px 17px 18px; border-radius:14px;
  background: linear-gradient(152deg, #16324E 0%, #0C2038 62%, #081729 100%);
  color: var(--paper);
  box-shadow: 0 20px 44px -30px rgba(10,32,54,.95);
  transition: transform .22s var(--ease), box-shadow .22s ease;
}
.svp-aside::before{
  content:''; position:absolute; right:-40px; top:-50px; width:150px; height:150px; border-radius:50%;
  background: radial-gradient(circle, rgba(45,212,191,.32), transparent 68%);
  transition: opacity .3s ease; opacity:.75; pointer-events:none;
}
.svp-aside:hover{ transform: translateY(-3px); box-shadow: 0 26px 52px -28px rgba(10,32,54,1); }
.svp-aside:hover::before{ opacity:1; }
.svp-aside:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }
.svp-aside .kick{ display:block; font-size:.6rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color: var(--teal); margin-bottom:8px; }
.svp-aside b{ display:block; font-size:1.03rem; font-weight:700; letter-spacing:-.015em; line-height:1.25; color:#fff; }
.svp-aside .arw{
  position:absolute; right:16px; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; border:1px solid rgba(233,242,246,.22); color: rgba(233,242,246,.75);
  transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}
.svp-aside .arw svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.svp-aside:hover .arw{ background: var(--teal); border-color: var(--teal); color:#04121C; transform: translateY(-50%) translateX(3px); }

.svp-panel{
  position:relative; background:#fff; border:1px solid var(--border); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); overflow:hidden; display:flex; flex-direction:column;
}
.svp-panel::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:3px; background: linear-gradient(90deg, var(--teal), var(--blue-dark) 55%, #7C5CF5); }
.svp-view{ display:none; flex:1; grid-template-columns: minmax(0,330px) minmax(0,1fr); gap: clamp(18px,2vw,28px); padding:26px 26px 30px; align-items:start; }
.svp-view.on{ display:grid; }
.svp-view.solo{ grid-template-columns: minmax(0,340px) minmax(0,1fr); }
.svp-view.fade{ animation: fadeUp .38s cubic-bezier(.2,.7,.3,1) both; }

.svp-head{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.svp-head h3{ margin:0; font-size:23px; line-height:1.2; font-weight:700; letter-spacing:-.022em; color: var(--navy); }
.svp-head .service-icon{
  width:46px; height:46px; border-radius:13px; margin-bottom:0; flex-shrink:0;
  background: linear-gradient(158deg, #F4F8FE, #E6EFFB); border:1px solid #D9E6F7;
  box-shadow: inset 0 1px 0 #fff, 0 6px 16px -12px rgba(79,163,216,.9);
}
.svp-head .service-icon::after{ inset:13px; background: var(--blue-dark); }

.svp-caps{ list-style:none; margin:0; padding:0; border-top:1px solid var(--border); }
.svp-caps li{ padding:12px 2px; border-bottom:1px solid var(--border); }
.svp-caps b{ display:block; font-size:.92rem; font-weight:700; letter-spacing:-.01em; margin-bottom:4px; color: var(--navy); }
.svp-caps span{ display:block; font-size:.8rem; line-height:1.55; color: var(--gray-600); }

.svp-left{ min-width:0; display:flex; flex-direction:column; min-height:495px; }
.svp-rightwrap{ position:relative; min-width:0; align-self:stretch; }
.svp-rightwrap > .svp-stack{ position:absolute; inset:0; }

/* ---- boards ---- */
.svp-stack{ display:flex; flex-direction:column; gap:10px; min-width:0; height:100%; }
.svp-ex{ margin:0; font-size:.72rem; font-style:italic; color: var(--gray-400); letter-spacing:.01em; }
.svp-board{
  flex:1; display:flex; min-width:0; border:1px solid var(--border); border-radius:14px;
  background:#fff; overflow:hidden; box-shadow: 0 18px 44px -38px rgba(10,32,54,.7);
}
.svp-rail{ flex:none; width:40px; background: var(--navy); padding:12px 0; display:flex; flex-direction:column; align-items:center; gap:9px; }
.svp-rail i{ width:20px; height:20px; border-radius:6px; background: rgba(255,255,255,.09); display:block; }
.svp-rail i.on{ background: linear-gradient(150deg, var(--teal), #43D7B0); }
.svp-bd{ flex:1; min-width:0; display:flex; flex-direction:column; background: var(--bg); }

.svp-bd-top{ display:flex; align-items:center; gap:9px; padding:11px 14px; border-bottom:1px solid var(--border); background:#fff; }
.svp-bd-top .app{ font-size: var(--b-app); font-weight:700; letter-spacing:-.01em; white-space:nowrap; color: var(--navy); }
.svp-bd-top .app i{ display:block; font-style:normal; font-size: var(--b-lbl); font-weight:700; letter-spacing:.05em; text-transform:uppercase; color: var(--gray-400); margin-top:2px; }
.svp-bd-top .pill{
  margin-left:auto; display:flex; align-items:center; gap:6px; flex:none; font-size: var(--b-sm); font-weight:700;
  color: var(--gray-600); border:1px solid var(--border); border-radius:20px; padding:5px 11px; white-space:nowrap;
}
.svp-bd-top .pill em{ width:5px; height:5px; border-radius:50%; background: var(--green); font-style:normal; }
.svp-bd-top .who{ flex:none; width:22px; height:22px; border-radius:50%; background: linear-gradient(150deg, var(--teal), var(--blue)); }

.svp-bd-body{ flex:1; padding:12px; display:flex; flex-direction:column; gap:10px; min-width:0; overflow:hidden; }
.svp-lbl{ margin:0 0 8px; font-size: var(--b-lbl); font-weight:700; letter-spacing:.11em; text-transform:uppercase; color: var(--gray-400); }
.svp-lbl.svp-sub{ margin:11px 0 7px; padding-top:9px; border-top:1px solid var(--border); }
.svp-box{ border:1px solid var(--border); border-radius:10px; background:#fff; padding:11px; min-width:0; }

.svp-kpis{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:9px; }
.svp-kpi{ border:1px solid var(--border); border-radius:10px; background:#fff; padding:9px; min-width:0; }
.svp-kpi b{ display:block; font-size: var(--b-num); line-height:1; letter-spacing:-.02em; margin-bottom:5px; color: var(--navy); }
.svp-kpi span{ display:block; font-size: var(--b-lbl); letter-spacing:.05em; text-transform:uppercase; color: var(--gray-400); line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.svp-flowrow{ display:flex; align-items:center; gap:9px; margin-bottom:9px; font-size: var(--b-md); }
.svp-flowrow:last-child{ margin-bottom:0; }
.svp-flowrow .k{ width:96px; flex:none; color: var(--gray-600); line-height:1.3; }
.svp-flowrow .track{ flex:1; min-width:0; height:8px; border-radius:4px; background: var(--bg); overflow:hidden; }
.svp-flowrow .track i{ display:block; height:100%; border-radius:4px; background: linear-gradient(90deg, var(--navy), var(--blue-dark)); }
.svp-flowrow .v{ width:42px; flex:none; text-align:right; font-weight:700; font-variant-numeric:tabular-nums; color: var(--navy); }

.svp-srcrow{ display:flex; align-items:center; gap:9px; margin-bottom:11px; font-size: var(--b-md); color: var(--ink); }
.svp-srcrow:last-child{ margin-bottom:0; }
.svp-srcrow em{ width:6px; height:6px; border-radius:50%; background: var(--green); font-style:normal; flex:none; }
.svp-srcrow .n{ margin-left:auto; color: var(--gray-600); font-variant-numeric:tabular-nums; font-weight:700; }

.svp-cols2{ display:grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap:10px; flex:1; min-height:0; }
.svp-cols2 > .svp-box{ display:flex; flex-direction:column; }

.svp-spark{ display:flex; align-items:flex-end; gap:3px; height:28px; margin-bottom:9px; }
.svp-spark i{ flex:1; min-width:0; border-radius:2px 2px 0 0; background: var(--border); display:block; }
.svp-spark i.on{ background: linear-gradient(180deg, var(--blue-dark), var(--navy)); }

.svp-minis{ display:grid; grid-template-columns: repeat(3,1fr); gap:8px; }
.svp-minis div{ min-width:0; }
.svp-minis b{ display:block; font-size: var(--b-h); font-weight:700; letter-spacing:-.015em; line-height:1.1; color: var(--navy); }
.svp-minis span{ display:block; font-size: var(--b-lbl); letter-spacing:.05em; text-transform:uppercase; color: var(--gray-400); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.svp-feed{ list-style:none; margin:0; padding:0; }
.svp-feed li{ display:flex; align-items:flex-start; gap:8px; padding:6px 0; border-bottom:1px solid var(--border); font-size: var(--b-md); }
.svp-feed li:last-child{ border-bottom:0; }
.svp-feed em{ width:6px; height:6px; border-radius:50%; background: var(--green); flex:none; margin-top:5px; font-style:normal; }
.svp-feed div{ min-width:0; flex:1; }
.svp-feed b{ display:block; font-weight:700; letter-spacing:-.01em; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color: var(--navy); }
.svp-feed i{ display:block; font-style:normal; font-size: var(--b-sm); color: var(--gray-600); margin-top:2px; }
.svp-feed span{ flex:none; font-size: var(--b-sm); color: var(--gray-400); font-variant-numeric:tabular-nums; margin-top:1px; }

/* forecast board */
.svp-sku{ display:flex; align-items:center; gap:9px; padding:6px 0; border-bottom:1px solid var(--border); }
.svp-sku:last-of-type{ border-bottom:0; }
.svp-sku .d{ width:7px; height:7px; border-radius:50%; flex:none; }
.svp-sku div{ min-width:0; flex:1; }
.svp-sku b{ display:block; font-size: var(--b-md); font-weight:700; letter-spacing:-.01em; line-height:1.3; color: var(--navy); }
.svp-sku i{ display:block; font-style:normal; font-size: var(--b-sm); color: var(--gray-600); margin-top:2px; }
.svp-sku .days{ flex:none; font-size: var(--b-sm); font-weight:700; border-radius:6px; padding:4px 8px; font-variant-numeric:tabular-nums; }
.svp-sku .days.hot{ background: rgba(226,85,79,.12); color:#C0453B; }
.svp-sku .days.warn{ background: rgba(240,169,59,.16); color:#A8701C; }
.svp-sku .days.ok{ background: rgba(63,191,131,.14); color:#217A57; }

.svp-chart{ position:relative; flex:1; min-height:96px; }
.svp-chart svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.svp-chart .mk{ position:absolute; font-size:8.5px; font-weight:700; letter-spacing:.03em; white-space:nowrap; pointer-events:none; }
.svp-chart .today{ left:64%; top:6%; color: var(--gray-400); }
.svp-chart .min{ left:3%; top:61.5%; transform:translateY(-135%); color: var(--red); opacity:.9; }
.svp-chart .pt{ position:absolute; width:5px; height:5px; border-radius:50%; background:#16324E; transform:translate(-50%,-50%); pointer-events:none; }
.svp-chart .risk{
  left:74.7%; top:69.2%; transform:translate(-50%,-50%); width:9px; height:9px; border-radius:50%;
  background:#fff; border:2px solid var(--red); box-shadow:0 0 0 3px rgba(226,85,79,.16);
}
.svp-xaxis{ display:flex; justify-content:space-between; margin-top:5px; font-size:8.5px; font-weight:700; letter-spacing:.03em; color: var(--gray-400); }
.svp-chartstats{ padding:9px 0; border-top:1px solid var(--border); }
.svp-stackbar{ display:flex; gap:2px; height:8px; border-radius:4px; overflow:hidden; margin-bottom:11px; }
.svp-stackbar i{ display:block; height:100%; border-radius:2px; }
.svp-cov{ list-style:none; margin:0; padding:0; }
.svp-cov li{ display:flex; align-items:center; gap:8px; padding:4px 0; font-size: var(--b-md); color: var(--gray-600); white-space:nowrap; }
.svp-cov em{ width:6px; height:6px; border-radius:50%; flex:none; font-style:normal; }
.svp-cov span{ margin-left:auto; font-weight:700; font-variant-numeric:tabular-nums; color: var(--navy); }

.svp-legend{ display:flex; gap:13px; flex-wrap:wrap; font-size: var(--b-sm); color: var(--gray-600); }
.svp-legend span{ display:flex; align-items:center; gap:6px; }
.svp-legend .ln{ width:14px; height:2px; border-radius:2px; flex:none; }
.svp-legend .ln.solid{ background:#16324E; }
.svp-legend .ln.dash{ background: repeating-linear-gradient(90deg, var(--teal) 0 4px, transparent 4px 7px); }
.svp-legend .dot{ width:7px; height:7px; border-radius:50%; background: var(--red); flex:none; }

.svp-action{ margin-top:auto; background: var(--blue-pale); border-radius:9px; padding:10px; }
.svp-action p{ margin:0 0 8px; font-size: var(--b-md); line-height:1.45; color: var(--gray-600); }
.svp-action p b{ color: var(--navy); }
.svp-action button{
  all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:7px; background: var(--navy); color:#fff;
  font-size: var(--b-sm); font-weight:700; padding:8px 13px; border-radius:7px;
}
.svp-action button:hover{ background:#17364F; }
.svp-action button:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:2px; }

/* strategy board */
.svp-plain{ border:1px solid var(--border); border-radius:14px; background:#fff; padding:14px; box-shadow: 0 18px 44px -40px rgba(10,32,54,.7); }
.svp-bh{ margin:0 0 13px; font-size: var(--b-h); font-weight:700; letter-spacing:-.015em; color: var(--navy); }
.svp-tl-years{
  display:grid; grid-template-columns: repeat(4,1fr); gap:6px; text-align:center; margin:0 0 8px;
  font-size: var(--b-lbl); font-weight:700; letter-spacing:.09em; text-transform:uppercase; color: var(--gray-400);
}
.svp-tl-line{ position:relative; height:2px; background: var(--border); border-radius:2px; margin:0 10% 12px; }
.svp-tl-line i{ position:absolute; left:0; top:0; height:100%; width:37%; border-radius:2px; background: linear-gradient(90deg, var(--teal), var(--blue)); }
.svp-tl-steps{ display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:6px; text-align:center; margin-top:-19px; }
.svp-tl-s .n{ display:block; width:12px; height:12px; border-radius:50%; margin:0 auto 10px; background:#fff; border:2px solid var(--gray-400); }
.svp-tl-s.done .n{ background: var(--teal); border-color: var(--teal); }
.svp-tl-s b{ display:block; font-size: var(--b-md); font-weight:700; letter-spacing:-.01em; color: var(--navy); }
.svp-tl-s i{ display:block; font-style:normal; font-size: var(--b-sm); color: var(--gray-600); line-height:1.35; margin-top:3px; }

.svp-quad{
  position:relative; flex:1; min-height:150px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:1fr 1fr;
  border:1px solid var(--border); border-radius:9px; overflow:hidden;
}
.svp-axtop, .svp-axbot{ margin:0 0 7px; font-size: var(--b-lbl); font-weight:700; letter-spacing:.09em; text-transform:uppercase; color: var(--gray-400); }
.svp-axbot{ margin:7px 0 0; text-align:right; }
.svp-quad .q{ position:relative; padding:9px 10px; }
.svp-quad .q > span{ display:block; text-align:center; font-size: var(--b-lbl); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--gray-400); }
.svp-quad .q1{ background: rgba(63,191,131,.07); } .svp-quad .q2{ background: rgba(79,163,216,.09); }
.svp-quad .q3{ background: rgba(124,92,245,.05); } .svp-quad .q4{ background: rgba(240,169,59,.09); }
.svp-quad .q2, .svp-quad .q4{ border-left:1px dashed var(--gray-400); } .svp-quad .q3, .svp-quad .q4{ border-top:1px dashed var(--gray-400); }
.svp-quad .pin{
  position:absolute; max-width:88%; font-style:normal; font-size: var(--b-sm); font-weight:700; background:#fff;
  border:1px solid var(--border); border-radius:14px; padding:4px 9px 4px 18px; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; box-shadow: 0 4px 12px -8px rgba(10,32,54,.7); color: var(--navy);
}
.svp-quad .pin::before{ content:''; position:absolute; left:7px; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background: var(--blue-dark); }

/* academy board */
.svp-sessions{ display:flex; align-items:center; gap:13px; padding:13px 15px; }
.svp-sess-ico{
  flex:none; width:40px; height:40px; border-radius:11px; display:grid; place-items:center; color: var(--blue-dark);
  background: linear-gradient(158deg, var(--blue-pale), #E6EFFB); border:1px solid #D9E6F7;
}
.svp-sess-ico svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.svp-sess-txt{ flex:1; min-width:0; }
.svp-sess-txt b{ display:block; font-size: var(--b-h); font-weight:700; letter-spacing:-.01em; color: var(--navy); }
.svp-sess-txt span{ display:block; font-size: var(--b-sm); color: var(--gray-600); margin-top:2px; }
.svp-sess-kpi{ flex:none; text-align:right; }
.svp-sess-kpi b{ display:block; font-size: var(--b-num); letter-spacing:-.02em; line-height:1; color: var(--navy); }
.svp-sess-kpi span{ display:block; font-size: var(--b-lbl); letter-spacing:.06em; text-transform:uppercase; color: var(--gray-400); margin-top:4px; }

.svp-path{ display:flex; align-items:center; gap:11px; border:1px solid var(--border); border-radius:10px; background:#fff; padding:10px 12px; }
.svp-path .ring{ width:34px; height:34px; flex:none; }
.svp-path b{ display:block; font-size: var(--b-h); font-weight:700; letter-spacing:-.01em; color: var(--navy); }
.svp-path span{ display:block; font-size: var(--b-sm); color: var(--gray-600); margin-top:2px; }

.svp-courses{ display:grid; grid-template-columns:1fr 1fr; gap:8px; flex:1; align-content:stretch; }
.svp-course{ border:1px solid var(--border); border-radius:9px; background:#fff; padding:10px; display:flex; flex-direction:column; gap:7px; }
.svp-course .ctag{
  align-self:flex-start; font-size: var(--b-lbl); font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color: var(--blue-dark); background: var(--blue-pale); border-radius:5px; padding:4px 7px;
}
.svp-course b{ font-size: var(--b-md); font-weight:700; letter-spacing:-.01em; line-height:1.3; color: var(--navy); }
.svp-course .cbar{ display:block; height:4px; border-radius:3px; background: var(--border); overflow:hidden; }
.svp-course .cbar i{ display:block; height:100%; border-radius:3px; background: linear-gradient(90deg, var(--teal), var(--blue-dark)); }
.svp-course .cfoot{ display:flex; align-items:center; gap:8px; font-size: var(--b-lbl); color: var(--gray-600); letter-spacing:.02em; }
.svp-course .cfoot button{
  all:unset; cursor:pointer; margin-left:auto; background: var(--navy); color:#fff; font-size: var(--b-lbl);
  font-weight:700; letter-spacing:.04em; padding:5px 10px; border-radius:6px;
}
.svp-course .cfoot button:hover{ background:#17364F; }
.svp-course .cfoot button:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:2px; }

@media (max-width:1120px){
  .svp-grid{ grid-template-columns: minmax(0,1fr); }
  .svp-menu{ display:grid; grid-template-columns: repeat(2,1fr); }
  .svp-menu::before, .svp-menu::after{ display:none; }
  .svp-tab{ border-radius:11px; border:1px solid var(--border); }
}
@media (max-width:900px){
  .svp-view.on{ grid-template-columns:minmax(0,1fr); }
  .svp-menu{ grid-template-columns:1fr; }
  .svp-left{ min-height:0; }
  .svp-rightwrap{ position:relative; min-height:420px; }
  .svp-rightwrap > .svp-stack{ position:relative; inset:auto; }
  .svp-kpis{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .svp-kpi span{ white-space:normal; overflow:visible; text-overflow:clip; }
  .svp-cols2{ grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width:560px){
  .services-section{ --b-app:11px; --b-h:12.5px; --b-lbl:8.5px; --b-num:16px; --b-sm:9.5px; --b-md:10.5px; }
  .services-section .section-head{ margin-bottom:14px; }
  .svp-kpis{ gap:7px; }
  .svp-kpi{ padding:7px; }
  .svp-box{ padding:9px; }
  .svp-bd-body{ padding:9px; gap:8px; }
  .svp-cols2{ gap:8px; }
  .svp-portfolio-cov{ display:none; }
  .svp-recent-activity{ display:none; }
  .svp-cols2 > .svp-connected-sources{ display:none; }
  .svp-box .svp-sku:nth-of-type(2), .svp-box .svp-sku:nth-of-type(3){ display:none; }
  .svp-menu{ display:none; }
  .services-section{ overflow:visible; }
  .svp-panel{ overflow:visible; }
  .svp-view{ padding:14px 16px 20px; }
  .svp-mobile-select{
    display:block; box-sizing:border-box; padding:12px 14px;
    font:inherit; font-size:.95rem; font-weight:700; color: var(--navy);
    background:#fff; border:1px solid var(--border); border-radius:11px;
  }
  .svp-head{
    position:sticky; top:64px; z-index:5; background:#fff;
    margin:0 0 14px; padding:4px 0; box-shadow:0 8px 10px -10px rgba(14,35,56,.14);
  }
  .svp-head h3{ display:none; }
  .svp-head .svp-mobile-select{ flex:1; min-width:0; }
  .svp-aside{ margin-top:22px; }
  .svp-ex{
    display:flex; align-items:center; gap:10px; margin:2px 0 12px; font-style:italic;
  }
  .svp-ex::before{ order:2; content:''; flex:1; height:1px; background:var(--border); }
  .svp-ex::after{ order:3; content:'\2193'; font-style:normal; color:var(--gray-400); font-size:.9rem; }
}

/* ===================== IMPACT ===================== */
.impact-section{ background: var(--navy); position:relative; overflow:hidden; }
.impact-section::before{ content:''; position:absolute; inset:0; background: radial-gradient(circle at 80% 20%, rgba(126,193,235,0.15), transparent 50%); }
.impact-section .container{ position:relative; }
.impact-section .section-head{ margin-bottom:28px; }
.stats-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stat-card{ display:flex; flex-direction:column; align-items:center; opacity:0; }
.stat-card.is-visible{ animation: fadeUp .6s ease forwards; }
.stats-grid .stat-card:nth-child(2).is-visible{ animation-delay:.08s; }
.stats-grid .stat-card:nth-child(3).is-visible{ animation-delay:.16s; }
.stats-grid .stat-card:nth-child(4).is-visible{ animation-delay:.24s; }
.stat-box{
  position:relative; overflow:hidden; width:100%; background: rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius: 18px;
  padding: 40px 20px; display:flex; align-items:center; justify-content:center;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.stat-box::before{
  content:''; position:absolute; top:-46px; right:-46px; width:130px; height:130px; border-radius:50%;
  background: radial-gradient(circle, rgba(45,212,191,0.22), transparent 70%); pointer-events:none;
}
.stat-card:hover .stat-box{ transform: translateY(-6px); background: rgba(255,255,255,0.09); border-color: rgba(126,193,235,0.35); }
.stat-number{
  position:relative; z-index:1; font-size: 3.4rem; font-weight:900; line-height:1;
  background: linear-gradient(135deg, #fff, var(--teal)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-label{ margin-top:16px; text-align:center; color: rgba(255,255,255,0.7); font-size:.86rem; font-style:italic; line-height:1.45; max-width:230px; }

/* ===================== USE CASES ===================== */
.usecases-section{ background: #F1F6FB; position:relative; overflow:hidden; }
.usecases-section::before{ content:''; position:absolute; inset:0; background: radial-gradient(circle at 8% 100%, rgba(45,212,191,0.10), transparent 45%); pointer-events:none; }
.usecases-section .container{ position:relative; z-index:1; }
@keyframes fadeUp{ from{ opacity:0; transform: translateY(14px);} to{ opacity:1; transform:none; } }

.usecases-section{
  --navy:#0E2338; --navy-soft:#41556C; --muted:#7A899B; --faint:#9CAABC;
  --line:#E3E9F1; --line-soft:#EDF1F7; --dim:#C7D5E6;
  --blue:#2C7BF2; --blue-ink:#1E5FC4; --tint:#EDF4FE;
  --teal:#22C7B8; --warn:#E8A33D; --danger:#E2685E; --ok:#2FAE7E;
  --f-lbl:9px; --f-sm:10px; --f-md:11.5px; --f-h:13px; --f-num:19px;
}

/* ---- onglets ---- */
.usecases-section .tabs{position:sticky;top:64px;z-index:20;display:flex;gap:8px;flex-wrap:wrap;
  margin:0 -6px 26px;padding:10px 6px;
  background:rgba(244,248,252,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.usecases-section .tabs::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent);
  opacity:0;transition:opacity .25s ease}
.usecases-section .tabs.pinned::after{opacity:1}
.usecases-section .tab{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:9px;
  padding:11px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);
  color:var(--navy-soft);font-size:13.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;
  transition:border-color .2s,background .2s,color .2s,transform .2s,box-shadow .2s}
.usecases-section .tab u{text-decoration:none;font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.usecases-section .tab:hover{border-color:var(--dim);transform:translateY(-1px)}
.usecases-section .tab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff;
  box-shadow:0 12px 26px -16px rgba(14,35,56,.95)}
.usecases-section .tab[aria-selected="true"] u{color:var(--teal)}
.usecases-section .tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* ---- vues ---- */
.usecases-section .view{display:none;grid-template-columns:minmax(0,34%) minmax(0,66%);
  gap:clamp(20px,2.6vw,40px);align-items:start}
.usecases-section .view.on{display:grid}
.usecases-section .view:focus{outline:none}
.usecases-section .view:focus-visible{outline:2px solid var(--blue);outline-offset:8px;border-radius:12px}
.usecases-section .fade{animation:uc-rise .38s cubic-bezier(.2,.7,.3,1) both}
@keyframes uc-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- colonne gauche : quatre rubriques ---- */
.usecases-section .industry{margin:0 0 13px;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue)}
.usecases-section .side h3{margin:0 0 20px;font-size:clamp(24px,2.5vw,32px);line-height:1.16;
  font-weight:400;letter-spacing:-.025em;max-width:none;text-wrap:balance}
.usecases-section .blocks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.usecases-section .blocks li{padding:13px 0;border-bottom:1px solid var(--line)}
.usecases-section .blocks .k{display:flex;align-items:baseline;gap:9px;margin-bottom:7px}
.usecases-section .blocks .k u{text-decoration:none;font-size:10px;font-weight:700;color:var(--faint);
  font-variant-numeric:tabular-nums}
.usecases-section .blocks .k b{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--blue)}
.usecases-section .blocks p{margin:0;font-size:13px;line-height:1.62;color:var(--navy-soft);max-width:52ch}

/* ---- chassis applicatif ---- */
.usecases-section .frame{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;box-shadow:0 28px 62px -44px rgba(14,35,56,.5)}
.usecases-section .frame::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:2;
  background:linear-gradient(90deg,var(--teal),var(--blue) 60%,#7C5CF5)}
.usecases-section .fr-in{background:transparent}
.usecases-section .fr-top{display:flex;align-items:center;gap:10px;padding:14px 15px 11px;background:#fff;
  border-bottom:1px solid var(--line)}
.usecases-section .fr-top .mark{flex:none;width:26px;height:26px;border-radius:8px;
  background:linear-gradient(158deg,#F4F8FE,#E2EDFB);
  border:1px solid #D3E2F5;
  box-shadow:inset 0 1px 0 #fff, 0 4px 10px -8px rgba(44,123,242,.9);
  background-image:url("data:image/png;base64,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"),
  linear-gradient(158deg,#F4F8FE,#E2EDFB);
  background-repeat:no-repeat;background-position:center;
  background-size:15px auto, cover}
.usecases-section .fr-top .crumb{font-size:12px;font-weight:700;letter-spacing:-.01em;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usecases-section .fr-top .crumb i{font-style:normal;color:var(--dim);margin:0 7px}
.usecases-section .fr-top .crumb em{font-style:normal;color:var(--navy-soft)}
.usecases-section .fr-top .pill{margin-left:auto;flex:none;font-size:var(--f-sm);font-weight:700;
  color:var(--muted);background:#EEF3F9;border-radius:6px;padding:5px 10px;white-space:nowrap}
.usecases-section .fr-top .live{flex:none;display:flex;align-items:center;gap:6px;font-size:var(--f-sm);
  font-weight:700;color:var(--blue-ink);background:var(--tint);border:1px solid #D9E6F7;
  border-radius:6px;padding:5px 10px;white-space:nowrap}
.usecases-section .fr-top .live em{width:5px;height:5px;border-radius:50%;background:var(--blue);font-style:normal;
  animation:uc-blip 2.4s ease-in-out infinite}
@keyframes uc-blip{0%,100%{opacity:.35}50%{opacity:1}}
.usecases-section .fr-body{padding:14px;background:#F7FAFD}
.usecases-section .fr-h{margin:0 0 3px;font-size:16px;font-weight:400;letter-spacing:-.02em}
.usecases-section .fr-sub{margin:0 0 12px;font-size:var(--f-md);color:var(--muted)}
.usecases-section .duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:stretch}

/* ---- carte claire ---- */
.usecases-section .wcard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;
  display:flex;flex-direction:column;min-width:0}
.usecases-section .lbl{margin:0 0 10px;font-size:var(--f-lbl);font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--faint)}
.usecases-section .lbl.row{display:flex;align-items:baseline;gap:8px}
.usecases-section .lbl.row span{margin-left:auto;text-transform:none;letter-spacing:.02em;font-size:var(--f-sm);
  color:var(--muted)}

/* ---- panneau sombre ---- */
.usecases-section .dcard{background:linear-gradient(168deg,#143348 0%,#0C2033 58%,#091A29 100%);
  border-radius:11px;padding:14px;color:#E9F2F6;display:flex;flex-direction:column;min-width:0}
.usecases-section .dcard .agent{display:flex;align-items:center;gap:9px;padding-bottom:11px;
  border-bottom:1px solid rgba(233,242,246,.14);margin-bottom:13px}
.usecases-section .dcard .agent i{width:24px;height:24px;border-radius:7px;background:rgba(47,212,192,.16);
  display:grid;place-items:center;font-size:8.5px;font-weight:700;color:#6FE3D4;
  font-style:normal;flex:none}
.usecases-section .dcard .agent b{font-size:var(--f-md);font-weight:700}
.usecases-section .dcard .agent em{margin-left:auto;width:6px;height:6px;border-radius:50%;
  background:var(--teal);font-style:normal;flex:none}
.usecases-section .dcard .kick{margin:0 0 7px;font-size:var(--f-lbl);font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(233,242,246,.48)}
.usecases-section .dcard h6{margin:0 0 9px;font-size:15.5px;font-weight:400;letter-spacing:-.02em;line-height:1.25}
.usecases-section .dcard > p{margin:0;font-size:var(--f-md);line-height:1.6;color:rgba(233,242,246,.62)}
.usecases-section .dinner{margin-top:auto;padding:11px;border-radius:9px;background:rgba(255,255,255,.055);
  border:1px solid rgba(233,242,246,.11)}
.usecases-section .dinner .t{display:flex;align-items:center;gap:8px;font-size:var(--f-md);font-weight:700;
  margin-bottom:9px}
.usecases-section .dinner .t em{margin-left:auto;width:7px;height:7px;border-radius:50%;
  border:1px solid rgba(233,242,246,.4);font-style:normal;flex:none}
.usecases-section .dinner p{margin:9px 0 0;font-size:var(--f-sm);line-height:1.5;color:rgba(233,242,246,.5)}
.usecases-section .act{margin-top:12px;display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:9px;
  background:rgba(233,242,246,.94);color:#0B1B2B;font-size:var(--f-md);font-weight:700}
.usecases-section .act span{margin-left:auto}

@media (max-width:1040px){
  .usecases-section .view.on{grid-template-columns:minmax(0,1fr)}
  .usecases-section .side h3{max-width:none}
}
@media (max-width:640px){ .usecases-section .duo{grid-template-columns:minmax(0,1fr)} }

/* ---- 01 · revue documentaire ---- */
.usecases-section .ev{display:grid;grid-template-columns:146px minmax(0,1fr) 156px;gap:10px;align-items:stretch}
.usecases-section .ev .pane{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;
  display:flex;flex-direction:column;min-width:0}
.usecases-section .ev .item{all:unset;display:flex;align-items:flex-start;gap:8px;width:100%;box-sizing:border-box;
  cursor:pointer;padding:8px;border-radius:7px;margin-bottom:5px;
  transition:background .18s ease,box-shadow .18s ease}
.usecases-section .ev .item:hover{background:#F4F8FC}
.usecases-section .ev .item.on{background:var(--tint);box-shadow:inset 2px 0 0 var(--blue)}
.usecases-section .ev .item:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.usecases-section .ev .item em{width:7px;height:7px;border-radius:50%;flex:none;margin-top:5px;font-style:normal}
.usecases-section .ev .item span{min-width:0}
.usecases-section .ev .item b{display:block;font-size:var(--f-md);font-weight:700;line-height:1.3;letter-spacing:-.01em}
.usecases-section .ev .item i{display:block;font-style:normal;font-size:var(--f-sm);color:var(--muted);margin-top:3px}
.usecases-section .evhint{margin:8px 0 0;font-size:var(--f-sm);color:var(--faint);line-height:1.4}
.usecases-section .ev .paper{flex:1;background:#FBFCFE;border:1px solid var(--line-soft);border-radius:8px;padding:10px}
.usecases-section .ev .ph{height:6px;border-radius:3px;background:#E9EEF5;margin-bottom:7px;display:block}
.usecases-section .ev .cite{margin:10px 0 0;padding:10px;border-radius:7px;background:#fff;
  border:1px solid var(--line);border-left:2px solid var(--blue);
  font-size:var(--f-md);line-height:1.5;color:var(--navy-soft)}
.usecases-section .ev .cite u{display:block;text-decoration:none;font-size:var(--f-lbl);letter-spacing:.07em;
  text-transform:uppercase;color:var(--blue);margin-bottom:5px}
.usecases-section .ev .ck{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:var(--f-md);
  border-bottom:1px solid var(--line-soft)}
.usecases-section .ev .ck:last-of-type{border-bottom:0}
.usecases-section .ev .ck em{width:14px;height:14px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-style:normal;font-size:8px;font-weight:700;color:#fff}
.usecases-section .ev .ck em.ok{background:var(--ok)} .usecases-section .ev .ck em.warn{background:var(--warn)}
.usecases-section .ev .ck em.ko{background:#94A6BC}
.usecases-section .ev .ck span{margin-left:auto;font-size:var(--f-sm);color:var(--muted)}
.usecases-section .verdict{margin-top:auto;padding:10px;border-radius:8px;background:var(--tint);
  font-size:var(--f-md);font-weight:700;color:var(--blue-ink);line-height:1.4}
.usecases-section .verdict.exc{background:#FDF3E3;color:#A8701C}

/* ---- PRISMA ---- */
.usecases-section .prisma{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.usecases-section .pr-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}
.usecases-section .pr-b{border:1px solid var(--line);border-radius:9px;padding:9px;background:#FBFCFE;position:relative}
.usecases-section .pr-b b{display:block;font-size:15px;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.usecases-section .pr-b span{display:block;margin-top:3px;font-size:var(--f-lbl);letter-spacing:.05em;
  text-transform:uppercase;color:var(--faint);line-height:1.35}
.usecases-section .pr-b.fin{background:#E9F7F3;border-color:rgba(34,199,184,.4)}
.usecases-section .pr-b.fin b{color:#12806F}
.usecases-section .pr-out{margin-top:6px;padding:7px 9px;border-radius:7px;background:#FDF6EA;
  font-size:var(--f-sm);line-height:1.4;color:#A8701C}
.usecases-section .pr-out b{display:inline;font-size:var(--f-sm);color:#A8701C}
@media (max-width:760px){
  .usecases-section .ev{grid-template-columns:minmax(0,1fr)}
  .usecases-section .pr-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- 02 · scenarios de prix ---- */
.usecases-section .tbl{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.usecases-section .tbl .r{display:grid;grid-template-columns:minmax(0,1.15fr) repeat(3,minmax(0,1fr));
  border-bottom:1px solid var(--line-soft)}
.usecases-section .tbl .r:last-child{border-bottom:0}
.usecases-section .tbl .r > *{padding:8px 10px;font-size:var(--f-md);min-width:0}
.usecases-section .tbl .r.h > *{background:#F6F9FD;font-size:var(--f-lbl);font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--faint)}
.usecases-section .tbl .r .k{color:var(--navy-soft)}
.usecases-section .tbl .r b{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.usecases-section .tbl .col-hi{background:rgba(44,123,242,.05);box-shadow:inset 0 0 0 1px rgba(44,123,242,.14)}
.usecases-section .tbl .r.h .col-hi{background:rgba(44,123,242,.1);color:var(--blue-ink)}
.usecases-section .tbl .big{font-size:var(--f-h)}
.usecases-section .tbl .r.h .col{all:unset;cursor:pointer;padding:8px 10px;text-align:left;
  font-size:var(--f-lbl);font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--faint);background:#F6F9FD;transition:background .18s,color .18s}
.usecases-section .tbl .r.h .col:hover{background:#EAF1FA;color:var(--navy-soft)}
.usecases-section .tbl .r.h .col.on{background:rgba(44,123,242,.12);color:var(--blue-ink)}
.usecases-section .tbl .r.h .col:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.usecases-section .tbl .r [data-c]{transition:background .18s,box-shadow .18s}
.usecases-section .tbl .r [data-c].on{background:rgba(44,123,242,.05);
  box-shadow:inset 1px 0 0 rgba(44,123,242,.2),inset -1px 0 0 rgba(44,123,242,.2)}
.usecases-section .sim .lbl.row span{color:var(--blue-ink)}

/* ---- courbe de prix pilotable ---- */
.usecases-section .sim{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:11px;margin-top:10px;
  background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.usecases-section .sim .plot{min-width:0}
.usecases-section .plotbox{position:relative}
.usecases-section .sim svg{display:block;width:100%;height:auto}
.usecases-section .simdot{position:absolute;width:11px;height:11px;border-radius:50%;background:#2C7BF2;
  border:2px solid #fff;box-shadow:0 0 0 3px rgba(44,123,242,.18);
  transform:translate(-50%,-50%);pointer-events:none;transition:left .1s linear,top .1s linear}
.usecases-section .simguide{position:absolute;top:5%;bottom:16%;width:1px;background:var(--dim);
  transform:translateX(-50%);pointer-events:none;transition:left .1s linear}
.usecases-section .ctrl input[type=range]{width:100%;accent-color:#2C7BF2;height:18px;cursor:pointer}
.usecases-section .ctrl input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.usecases-section .ctrl input[type=range]{width:100%;accent-color:#2C7BF2;height:16px}
.usecases-section .reset{all:unset;cursor:pointer;margin-top:10px;text-align:center;font-size:var(--f-sm);
  font-weight:700;color:var(--muted);padding:8px;border-radius:7px;border:1px solid var(--line);
  background:#fff;transition:color .18s,border-color .18s}
.usecases-section .reset:hover{color:var(--navy);border-color:var(--dim)}
.usecases-section .reset:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.usecases-section .reset[disabled]{opacity:.4;cursor:default}
.usecases-section .sim .xax{display:flex;justify-content:space-between;margin-top:5px;font-size:var(--f-sm);
  color:var(--faint)}
.usecases-section .ctrl{display:block;margin-bottom:9px}
.usecases-section .ctrl .c-t{display:flex;align-items:baseline;gap:8px;font-size:var(--f-md);margin-bottom:6px}
.usecases-section .ctrl .c-t b{font-weight:700}
.usecases-section .ctrl .c-t span{margin-left:auto;font-size:var(--f-sm);font-weight:700;color:var(--blue);
  font-variant-numeric:tabular-nums}
.usecases-section .simout{margin-top:auto;padding:10px;border-radius:9px;background:#0E2338;color:#E9F2F6}
.usecases-section .simout b{display:block;font-size:17px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.usecases-section .simout span{display:block;margin-top:3px;font-size:var(--f-sm);color:rgba(233,242,246,.6);
  line-height:1.4}
.usecases-section .simleg{display:flex;gap:12px;margin-top:8px;font-size:var(--f-sm);color:var(--muted)}
.usecases-section .simleg span{display:flex;align-items:center;gap:6px}
.usecases-section .simleg i{width:14px;height:2px;border-radius:2px;display:block}
@media (max-width:760px){ .usecases-section .sim{grid-template-columns:1fr} }

/* ---- 03 · flux interne ---- */
.usecases-section .pipe{display:flex;align-items:stretch;gap:6px;margin-bottom:11px}
.usecases-section .stage{flex:1;min-width:0;background:#fff;border:1px solid var(--line);border-radius:9px;
  padding:10px 9px;text-align:center;transition:background .25s,border-color .25s}
.usecases-section .stage b{display:block;font-size:var(--f-h);font-weight:700;letter-spacing:-.01em}
.usecases-section .stage span{display:block;margin-top:4px;font-size:var(--f-lbl);letter-spacing:.06em;
  text-transform:uppercase;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.usecases-section .stage.hot{background:#FEF6EC;border-color:rgba(232,163,61,.45)}
.usecases-section .stage.hot b,.usecases-section .stage.hot span{color:#A8701C}
.usecases-section .stage.good{background:#F2FBF7;border-color:rgba(47,174,126,.4)}
.usecases-section .stage.good b{color:#217A57}
.usecases-section .pipe .arw{align-self:center;flex:none;color:var(--dim);font-size:12px}
.usecases-section .decide{background:#fff;border:1px solid rgba(232,163,61,.45);border-radius:11px;overflow:hidden}
.usecases-section .decide h6{margin:0;padding:10px 12px;background:#FEF6EC;font-size:var(--f-lbl);font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:#A8701C;display:flex;align-items:center;gap:8px}
.usecases-section .decide h6 em{margin-left:auto;font-style:normal;letter-spacing:.02em;text-transform:none;
  font-size:var(--f-sm);color:#B98235}
.usecases-section .decide .body{padding:10px}
.usecases-section .decide .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:11px}
.usecases-section .decide .o-wrap{display:flex;flex-direction:column}
.usecases-section .decide .o{all:unset;cursor:pointer;display:block;box-sizing:border-box;
  border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;
  transition:border-color .2s,background .2s,transform .2s,opacity .2s}
.usecases-section .decide .o:hover{border-color:var(--blue);background:#FAFCFF;transform:translateY(-1px)}
.usecases-section .decide .o:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.usecases-section .decide .o u{display:block;text-decoration:none;font-size:var(--f-lbl);letter-spacing:.07em;
  text-transform:uppercase;color:var(--faint);margin-bottom:5px}
.usecases-section .decide .o b{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.usecases-section .decide .o span{display:block;margin-top:5px;font-size:var(--f-sm);color:var(--muted);line-height:1.4}
.usecases-section .decide.resolved .o{opacity:.42;pointer-events:none;transform:none}
.usecases-section .decide.resolved .o.picked{opacity:1;border-color:var(--ok);background:#F2FBF7}
.usecases-section .decide.resolved{border-color:rgba(47,174,126,.45)}
.usecases-section .decide.resolved h6{background:#EEF9F4;color:#217A57}
.usecases-section .decide.resolved h6 em{color:#3E9974}
.usecases-section .decide.resolved .peek{opacity:.4;pointer-events:none}
.usecases-section .peek{all:unset;cursor:pointer;margin-top:7px;align-self:flex-start;font-size:var(--f-sm);
  font-weight:700;color:var(--blue);border-bottom:1px solid rgba(44,123,242,.35)}
.usecases-section .peek:hover{border-color:var(--blue)}
.usecases-section .peek:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.usecases-section .excerpt{margin:8px 0 0;padding:9px 10px;border-radius:8px;background:#F7FAFD;
  border-left:2px solid var(--blue);font-size:var(--f-sm);line-height:1.5;color:var(--navy-soft)}
.usecases-section .excerpt b{color:var(--navy)}
.usecases-section .logline{display:flex;align-items:center;gap:9px;font-size:var(--f-sm);color:var(--muted);
  padding-top:10px;border-top:1px solid var(--line-soft)}
.usecases-section .logline i{width:20px;height:20px;border-radius:6px;background:#F1F5FA;flex:none;display:grid;
  place-items:center;font-style:normal;color:var(--blue);font-size:9px;font-weight:700}
.usecases-section .logline.done{color:var(--navy-soft)}
.usecases-section .logline.done b{color:var(--navy)}
.usecases-section .logline .undo{all:unset;cursor:pointer;margin-left:auto;flex:none;font-size:var(--f-sm);
  font-weight:700;color:var(--blue);border-bottom:1px solid rgba(44,123,242,.4)}
.usecases-section .logline .undo:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.usecases-section .wf{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.usecases-section .wf-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;position:relative}
.usecases-section .wf-track::before{content:"";position:absolute;left:10%;right:10%;top:15px;height:2px;
  background:var(--line);border-radius:2px}
.usecases-section .wf-s{all:unset;box-sizing:border-box;display:block;cursor:pointer;position:relative;
  text-align:center;padding:6px 4px 8px;border-radius:9px;
  transition:background .18s ease,box-shadow .18s ease,opacity .25s}
.usecases-section .wf-s:hover{background:#F5F9FD}
.usecases-section .wf-s.sel{background:#F0F6FD;box-shadow:inset 0 0 0 1px rgba(44,123,242,.28)}
.usecases-section .wf-s:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.usecases-section .wf-s em{position:relative;z-index:2;display:grid;place-items:center;width:30px;height:30px;
  margin:0 auto 8px;border-radius:9px;background:#fff;border:1px solid var(--line);
  font-style:normal;font-size:var(--f-lbl);font-weight:700;color:var(--blue);
  transition:background .25s,border-color .25s,color .25s}
.usecases-section .wf-s.done em{background:#E9F7F3;border-color:rgba(34,199,184,.45);color:#12806F}
.usecases-section .wf-s.hold em{background:#FEF6EC;border-color:rgba(232,163,61,.5);color:#A8701C}
.usecases-section .wf-s b{display:block;font-size:var(--f-md);font-weight:700;letter-spacing:-.01em}
.usecases-section .wf-s span{display:block;margin-top:3px;font-size:var(--f-lbl);letter-spacing:.05em;
  text-transform:uppercase;color:var(--faint)}
.usecases-section .wf-s u{display:inline-block;margin-top:6px;text-decoration:none;font-size:var(--f-lbl);
  font-weight:700;letter-spacing:.05em;border-radius:5px;padding:3px 6px}
.usecases-section .wf-s u.ai{background:var(--tint);color:var(--blue-ink)}
.usecases-section .wf-s u.hu{background:#EFF2F6;color:var(--navy-soft)}
.usecases-section .wf-detail{margin-top:9px;padding:10px;border-radius:9px;background:#F7FAFD;
  border:1px solid var(--line)}
.usecases-section .wf-detail .wd-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.usecases-section .wf-detail .wd-h b{font-size:var(--f-h);font-weight:700;letter-spacing:-.01em}
.usecases-section .wf-detail .wd-h i{font-style:normal;font-size:var(--f-lbl);font-weight:700;letter-spacing:.05em;
  border-radius:5px;padding:3px 6px}
.usecases-section .wf-detail .wd-h i.ai{background:var(--tint);color:var(--blue-ink)}
.usecases-section .wf-detail .wd-h i.hu{background:#EFF2F6;color:var(--navy-soft)}
.usecases-section .wf-detail .wd-h span{margin-left:auto;font-size:var(--f-sm);color:var(--faint);
  font-variant-numeric:tabular-nums}
.usecases-section .wf-detail p{margin:0;font-size:var(--f-md);line-height:1.55;color:var(--navy-soft)}
.usecases-section .wd-art{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.usecases-section .wd-art span{font-size:var(--f-lbl);font-weight:700;letter-spacing:.03em;color:var(--navy-soft);
  background:#fff;border:1px solid var(--line);border-radius:5px;padding:4px 8px}
@media (max-width:760px){
  .usecases-section .wf-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .usecases-section .wf-track::before{display:none}
}

/* ---- 04 · portefeuille ---- */
.usecases-section .wgt{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);
  border-radius:11px;padding:9px 11px;margin-bottom:10px;font-size:var(--f-md)}
.usecases-section .wgt .t{font-weight:700;flex:none}
.usecases-section .wgt .wsl{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.usecases-section .wgt .wsl span{flex:none;font-size:var(--f-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.usecases-section .wgt input[type=range]{flex:1;min-width:0;accent-color:#2C7BF2;height:18px;cursor:pointer}
.usecases-section .wgt input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.usecases-section .wgt .v{flex:none;font-size:var(--f-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.usecases-section .reset.sm{margin-top:0;flex:none;padding:6px 10px;font-size:var(--f-sm)}

.usecases-section .grid{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.usecases-section .grid .gr{display:grid;grid-template-columns:26px minmax(0,1.5fr) 74px 74px 52px 78px;
  align-items:center;border-bottom:1px solid var(--line-soft)}
.usecases-section .grid .gr:last-child{border-bottom:0}
.usecases-section .grid .gr > *{padding:7px 8px;font-size:var(--f-md);min-width:0}
.usecases-section .grid .gr.h > *{background:#F6F9FD;font-size:var(--f-lbl);font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint)}
.usecases-section .grid .gr b{font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;display:block}
.usecases-section .grid .n{font-variant-numeric:tabular-nums;color:var(--navy-soft)}
.usecases-section .grid .sc{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.usecases-section .grid .gr.miss{background:#FEFAF3}
.usecases-section .grid .gr[data-id]{cursor:pointer;transition:background .18s}
.usecases-section .grid .gr[data-id]:hover{background:#F6FAFE}
.usecases-section .grid .gr.sel{background:rgba(44,123,242,.06);box-shadow:inset 2px 0 0 var(--blue)}
.usecases-section .grid .gr.miss.sel{box-shadow:inset 2px 0 0 var(--warn)}
.usecases-section .tag{display:inline-block;font-size:var(--f-lbl);font-weight:700;letter-spacing:.05em;
  border-radius:5px;padding:4px 7px;white-space:nowrap}
.usecases-section .tag.ok{background:#E7F6EF;color:#217A57} .usecases-section .tag.gap{background:#FDF3E3;color:#A8701C}
.usecases-section .gnote{margin-top:10px;display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;
  background:#0E2338;color:#E9F2F6;font-size:var(--f-md)}
.usecases-section .gnote i{width:24px;height:24px;border-radius:7px;background:rgba(232,163,61,.2);flex:none;
  display:grid;place-items:center;font-style:normal;font-weight:700;color:#E8A33D;font-size:11px}
.usecases-section .gnote span{margin-left:auto;color:rgba(233,242,246,.55);font-size:var(--f-sm);text-align:right}
.usecases-section .gnote span b{color:#fff}

/* ---- carte de France ---- */
.usecases-section .map{display:grid;grid-template-columns:minmax(0,1fr) 178px;gap:11px;margin-top:10px;
  background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.usecases-section .map svg{display:block;width:100%;height:auto;max-height:186px;margin:0 auto;overflow:visible}
.usecases-section .fr-shape{fill:url(#frFill);stroke:#AFC3DA;stroke-width:1.1;stroke-linejoin:round;
  stroke-linecap:round}
.usecases-section .fr-halo{fill:none;stroke:#CBD9E9;stroke-width:5;stroke-linejoin:round;opacity:.35}
.usecases-section .pin{cursor:pointer}
.usecases-section .pin circle.h{fill:transparent}
.usecases-section .pin circle.d{stroke:#fff;stroke-width:1.6;transition:r .25s cubic-bezier(.4,0,.2,1)}
.usecases-section .pin:hover circle.d{r:7}
.usecases-section .pin.on circle.r{opacity:1}
.usecases-section .pin.on circle.d{r:7}
.usecases-section .pinlab{position:absolute;transform:translate(-50%,-140%);pointer-events:none;
  font-size:var(--f-sm);font-weight:700;white-space:nowrap;padding:5px 9px;border-radius:7px;
  background:var(--navy);color:#fff;opacity:0;transition:opacity .18s ease}
.usecases-section .pinlab.on{opacity:1}
.usecases-section .mapwrap{position:relative}
.usecases-section .pin circle.r{fill:none;stroke-width:1.2;opacity:0;transition:opacity .2s ease}
.usecases-section .pin:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.usecases-section .prank{font-size:6.5px;font-weight:700;fill:#fff;text-anchor:middle;pointer-events:none;
  font-family:inherit}
.usecases-section .mapinfo{display:flex;flex-direction:column;min-width:0}
.usecases-section .mapinfo .t{font-size:var(--f-h);font-weight:700;letter-spacing:-.01em;line-height:1.3;
  margin-bottom:3px}
.usecases-section .mapinfo .loc{font-size:var(--f-sm);color:var(--muted);margin-bottom:8px}
.usecases-section .mapinfo .kv{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:var(--f-md);
  border-bottom:1px solid var(--line-soft);color:var(--navy-soft)}
.usecases-section .mapinfo .kv b{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;color:var(--navy)}
.usecases-section .maphint{margin-top:auto;padding-top:10px;font-size:var(--f-sm);color:var(--faint);line-height:1.45}
@media (max-width:760px){
  .usecases-section .map{grid-template-columns:minmax(0,1fr)}
  .usecases-section .grid .gr{grid-template-columns:24px minmax(0,1fr) 52px 70px}
  .usecases-section .grid .gr > :nth-child(3),.usecases-section .grid .gr > :nth-child(4){display:none}
}

/* ---- 05 · agent de service client ---- */
.usecases-section .agbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.usecases-section .agbar .segs{flex:1;min-width:220px;margin-bottom:0}
.usecases-section .langs{display:flex;gap:3px;padding:4px;background:#EDF2F8;border-radius:10px;flex:none}
.usecases-section .langs button{all:unset;cursor:pointer;padding:8px 11px;border-radius:7px;font-size:var(--f-sm);
  font-weight:700;letter-spacing:.05em;color:var(--muted);
  transition:background .2s,color .2s,box-shadow .2s}
.usecases-section .langs button:hover{color:var(--navy)}
.usecases-section .langs button[aria-pressed="true"]{background:#fff;color:var(--navy);
  box-shadow:0 3px 10px -6px rgba(14,35,56,.6)}
.usecases-section .langs button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.usecases-section .segs{display:flex;gap:3px;padding:4px;background:#EDF2F8;border-radius:10px;margin-bottom:12px}
.usecases-section .segs button{all:unset;cursor:pointer;flex:1;text-align:center;padding:9px 10px;border-radius:7px;
  font-size:var(--f-md);font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;transition:background .2s,color .2s,box-shadow .2s}
.usecases-section .segs button:hover{color:var(--navy)}
.usecases-section .segs button[aria-pressed="true"]{background:#fff;color:var(--navy);
  box-shadow:0 3px 10px -6px rgba(14,35,56,.6)}
.usecases-section .segs button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

.usecases-section .ag{display:grid;grid-template-columns:214px minmax(0,1fr);gap:14px;align-items:stretch}
.usecases-section .thread{flex:1;min-height:0;padding:10px 10px 2px;display:flex;flex-direction:column;gap:7px}
.usecases-section .bub{max-width:94%;padding:8px 10px;border-radius:12px;font-size:10.5px;line-height:1.42}
.usecases-section .bub.me{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.usecases-section .bub.bot{align-self:flex-start;background:#EEF3F9;color:var(--navy);border-bottom-left-radius:4px}
.usecases-section .bub.hand{align-self:stretch;background:#FEF6EC;color:#A8701C;border:1px solid rgba(232,163,61,.4)}
.usecases-section .bub.hand b{display:block;font-weight:700;margin-bottom:2px;font-size:10px}
.usecases-section .ph-foot{display:flex;align-items:center;gap:7px;margin:8px 11px 2px;padding-top:8px;flex:none;
  border-top:1px solid var(--line-soft);font-size:9.5px;color:var(--muted)}

.usecases-section .srow{display:flex;align-items:center;gap:9px;padding:8px 0;
  border-bottom:1px solid var(--line-soft);font-size:var(--f-md)}
.usecases-section .srow:last-of-type{border-bottom:0}
.usecases-section .srow em{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none;font-style:normal}
.usecases-section .srow em.act{background:var(--blue)}
.usecases-section .srow span{min-width:0;flex:1}
.usecases-section .srow b{display:block;font-weight:700;letter-spacing:-.01em}
.usecases-section .srow i{display:block;font-style:normal;font-size:var(--f-sm);color:var(--muted);margin-top:2px}
.usecases-section .srow u{flex:none;text-decoration:none;font-size:var(--f-sm);font-weight:700;color:var(--muted);
  font-variant-numeric:tabular-nums}

.usecases-section .ag-val{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px;padding-top:11px;
  border-top:1px solid var(--line-soft)}
.usecases-section .v-k b{display:block;font-size:var(--f-num);letter-spacing:-.02em;line-height:1}
.usecases-section .v-k span{display:block;margin-top:4px;font-size:var(--f-lbl);letter-spacing:.05em;
  text-transform:uppercase;color:var(--faint);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}

.usecases-section .rollout{background:linear-gradient(168deg,#143348,#0A1C2C);border-radius:11px;padding:10px;
  color:#E9F2F6}
.usecases-section .ro-row{display:flex;align-items:baseline;gap:9px;padding:5px 0}
.usecases-section .ro-row b{font-size:18px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.usecases-section .ro-row span{font-size:var(--f-md);color:rgba(233,242,246,.6)}
.usecases-section .ro-bar{height:5px;border-radius:3px;background:rgba(233,242,246,.14);margin:8px 0 9px;
  overflow:hidden}
.usecases-section .ro-bar i{display:block;height:100%;border-radius:3px;
  background:linear-gradient(90deg,var(--teal),#5FA8E8)}
.usecases-section .ro-note{margin:0;font-size:var(--f-sm);line-height:1.5;color:rgba(233,242,246,.55)}

.usecases-section .rside{display:flex;flex-direction:column;gap:11px;min-width:0;align-self:start}
.usecases-section .card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;min-width:0}
@media (max-width:760px){
  .usecases-section .ag{grid-template-columns:minmax(0,1fr)}
  .usecases-section .ip-screen{flex:none}
  .usecases-section .thread{flex:none}
}

/* ---- chassis d'iPhone ---- */
.usecases-section .iphone{position:relative;width:214px;flex:none;margin:0;padding:9px;
  display:flex;flex-direction:column;
  border-radius:40px;
  background:linear-gradient(150deg,#4A5766 0%,#1F2A36 22%,#151E28 55%,#394655 88%,#202B37 100%);
  box-shadow:0 26px 50px -26px rgba(9,20,32,.85), inset 0 0 0 1px rgba(255,255,255,.12)}
.usecases-section .iphone::before,.usecases-section .iphone::after{content:"";position:absolute;left:-2px;width:2px;border-radius:2px;
  background:#3A4654}
.usecases-section .iphone::before{top:78px;height:26px}
.usecases-section .iphone::after{top:112px;height:40px}
.usecases-section .ip-screen{position:relative;flex:1;min-height:0;border-radius:32px;overflow:hidden;
  background:#fff;display:flex;flex-direction:column}
.usecases-section .island{position:absolute;top:7px;left:50%;transform:translateX(-50%);z-index:4;
  width:56px;height:16px;border-radius:12px;background:#0A0E13}
.usecases-section .ip-status{display:flex;align-items:center;justify-content:space-between;
  padding:8px 13px 5px;position:relative;z-index:3}
.usecases-section .ip-status .t{font-size:9.5px;font-weight:700;color:var(--navy);letter-spacing:.02em}
.usecases-section .ip-status .ic{display:flex;align-items:center;gap:4px;color:var(--navy)}
.usecases-section .ip-status .ic svg{height:8px;width:auto;fill:currentColor}
.usecases-section .ip-home{width:66px;height:4px;border-radius:3px;background:#0A0E13;opacity:.28;
  margin:6px auto 7px}
.usecases-section .ip-screen .ph-top{display:flex;align-items:baseline;gap:8px;
  padding:4px 13px 9px;border-bottom:1px solid var(--line-soft)}
.usecases-section .ip-screen .ph-top b{flex:none;font-size:12.5px;font-weight:700;letter-spacing:-.01em;
  line-height:1.2}
.usecases-section .ip-screen .ph-top span{margin-left:auto;flex:none;text-align:right;
  font-size:9.5px;line-height:1.3;color:var(--muted);white-space:nowrap}

@media (max-width:560px){
  /* shared across all 5 illustrations */
  .usecases-section .fr-top .crumb i, .usecases-section .fr-top .crumb em{ display:none; }
  .usecases-section .fr-sub{ display:none; }

  /* 01 · customer care agent */
  .usecases-section .agbar .segs{ display:none; }
  .usecases-section .rollout{ display:none; }
  .usecases-section .rside .card{ padding:5px; }
  .usecases-section .rside .card .lbl.row{ margin-bottom:4px; }
  .usecases-section .srow{ padding:4px 0; gap:6px; font-size:9.5px; }
  .usecases-section .srow em{ width:5px; height:5px; }
  .usecases-section .srow i{ margin-top:0; }
  .usecases-section .ag-val{ margin-top:5px; padding-top:5px; gap:4px; }

  /* 02 · evidence review */
  .usecases-section .ev > .pane:first-child{ display:none; }
  .usecases-section .paper{ padding:8px; }
  .usecases-section .paper i.ph{ margin:4px 0; }
  .usecases-section .paper .cite{ margin:6px 0; padding:8px; }
  .usecases-section .pr-out{ display:none; }

  /* 03 · internal workflows */
  .usecases-section .pipe{ display:none; }
  .usecases-section .wf-track{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
  .usecases-section .wf-s{ padding:4px 1px 5px; }
  .usecases-section .wf-s em{ width:20px; height:20px; margin:0 auto 3px; font-size:.55rem; }
  .usecases-section .wf-s b{ font-size:.6rem; }
  .usecases-section .wf-s span{ font-size:.42rem; margin-top:1px; }
  .usecases-section .wf-s u{ margin-top:2px; padding:2px 3px; font-size:.4rem; }
  .usecases-section .wd-art{ display:none; }

  /* 04 · pricing companion */
  .usecases-section .tbl .r > *{ padding:5px 6px; font-size:9.5px; overflow-wrap:break-word; }
  .usecases-section .tbl .r.h > *, .usecases-section .tbl .r.h .col{ font-size:7.6px; letter-spacing:.02em; padding:5px 3px; }
  .usecases-section .tbl .big{ font-size:11px; }
  .usecases-section .ctrl{ margin-bottom:5px; }
  .usecases-section .ctrl .c-t{ margin-bottom:3px; font-size:9.5px; }
  .usecases-section .simout{ padding:6px; }
  .usecases-section .simout b{ font-size:13px; }
  .usecases-section .simout span{ margin-top:1px; }

  /* 05 · asset portfolios */
  .usecases-section .wgt{ padding:8px; }
  .usecases-section .wgt input[type=range]{ height:22px; }
  .usecases-section #wReset{ display:none; }
  .usecases-section .map{ padding:6px; }
  .usecases-section .map svg{ max-height:130px; }
  .usecases-section .mapinfo .t{ font-size:11px; }
  .usecases-section .mapinfo .kv{ padding:3px 0; font-size:9.5px; }
  .usecases-section .maphint{ display:none; }
  .usecases-section .grid .gr > *{ padding:4px 6px; font-size:9.5px; }
  .usecases-section .grid .gr.h > *{ font-size:8px; }
}

/* ===================== APPROACH (merged commitments + build) ===================== */
.approach-section{ background: #F1F6FB; position:relative; overflow:hidden; padding:36px 0; }
.approach-section::before{ content:''; position:absolute; inset:0; background: radial-gradient(circle at 92% 10%, rgba(126,193,235,0.13), transparent 45%); pointer-events:none; }
.approach-section .container{ position:relative; z-index:1; }
.approach-section .section-head{ margin-bottom:28px; }
.approach-section .apr-rail{ list-style:none; margin:0 0 18px; padding:0; position:relative; display:grid; grid-template-columns:repeat(4,1fr); margin-top:22px; }
.approach-section .apr-rail::before{ content:''; position:absolute; left:12.5%; right:0; top:21px; height:2px; background: var(--border); border-radius:2px; }
.approach-section .apr-rail::after{ content:''; position:absolute; left:12.5%; top:21px; height:2px; border-radius:2px; width: var(--apr-fill,0%); background: linear-gradient(90deg, var(--teal), var(--blue-dark)); transition: width .5s var(--ease); }
.approach-section .apr-rail li{ position:relative; }
.approach-section .apr-stop{
  all:unset; display:block; width:100%; box-sizing:border-box; cursor:pointer; text-align:center;
  padding:0 8px 14px; border-radius:10px; transition: background .2s var(--ease);
}
.approach-section .apr-stop:hover{ background: rgba(79,163,216,.05); }
.approach-section .apr-stop:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:2px; }
.approach-section .apr-dot{
  position:relative; z-index:2; display:grid; place-items:center; width:44px; height:44px; margin:0 auto 14px;
  border-radius:50%; background:#fff; border:2px solid var(--border); font-size:.78rem; font-weight:700;
  color: var(--gray-400); font-variant-numeric: tabular-nums;
  transition: border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
}
.approach-section .apr-stop.is-done .apr-dot{ border-color: var(--teal); color: var(--teal); }
.approach-section .apr-stop[aria-selected="true"] .apr-dot{ border-color: var(--blue-dark); color: var(--blue-dark); transform: scale(1.1); box-shadow: 0 10px 24px -12px rgba(79,163,216,.85); }
.approach-section .apr-pr{ display:none; }
.approach-section .apr-stop[aria-selected="true"] .apr-pr{ color: var(--teal); }
.approach-section .apr-nm{ display:block; font-size:1.05rem; font-weight:400; letter-spacing:-.01em; color: var(--gray-400); }
.approach-section .apr-stop[aria-selected="true"] .apr-nm{ font-weight:700; color: var(--blue-dark); }

.approach-section .apr-panel{
  position:relative; margin:0 12.5%; background:#fff; border:1px solid var(--border); border-radius: var(--radius-sm);
  box-shadow: 0 26px 60px -38px rgba(10,32,54,.45); overflow:hidden;
}
.approach-section .apr-panel::before{ content:''; position:absolute; left:0; right:0; top:0; height:2px; background: linear-gradient(90deg, var(--teal), var(--blue-dark) 60%, #7C5CF5); }
.approach-section .apr-split{ display:grid; grid-template-columns: minmax(0,318px) minmax(0,1fr); align-items:stretch; }
.approach-section .apr-claim{ padding:18px 26px 20px; background: linear-gradient(180deg,#FBFCFE,#F3F7FC); border-right:1px solid var(--border); display:flex; flex-direction:column; }
.approach-section .apr-claim-tag{ margin:0 0 6px; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color: var(--teal); }
.approach-section .apr-claim h3{ margin:0 0 8px; font-size:1.2rem; line-height:1.2; font-weight:700; letter-spacing:-.02em; color: var(--navy); }
.approach-section .apr-claim-why{ margin:0 0 12px; font-size:.82rem; line-height:1.55; color: var(--gray-600); }
.approach-section .apr-claim .apr-deliv{ margin-top:4px; padding-top:12px; border-top:1px solid var(--border); }
.approach-section .apr-claim .apr-deliv b{ display:block; font-size:.62rem; letter-spacing:.11em; text-transform:uppercase; color: var(--gray-400); margin-bottom:5px; }
.approach-section .apr-claim .apr-deliv span{ font-size:.8rem; line-height:1.5; color: var(--gray-600); }

.approach-section .apr-work{ padding:16px 24px 16px; display:flex; flex-direction:column; min-width:0; }
.approach-section .apr-work h4{ margin:0 0 4px; font-size:1rem; font-weight:700; letter-spacing:-.01em; color: var(--navy); }
.approach-section .apr-out{ margin:0 0 10px; font-size:.8rem; line-height:1.5; color: var(--gray-400); max-width:none; min-height:2.4rem; }

.approach-section .apr-pfoot{ display:flex; align-items:center; gap:10px; padding:8px 24px; border-top:1px solid var(--border); }
.approach-section .apr-pos{ font-size:.72rem; font-weight:700; color: var(--gray-400); font-variant-numeric: tabular-nums; }
.approach-section .apr-spacer{ flex:1; }
.approach-section .apr-nav{
  all:unset; cursor:pointer; font-size:.82rem; font-weight:700; color: var(--navy);
  padding:6px 14px; border-radius:8px; border:1px solid var(--border); white-space:nowrap;
}
.approach-section .apr-nav:hover:not(:disabled){ background:#F5F8FC; }
.approach-section .apr-nav:disabled{ opacity:.35; cursor:default; }
.approach-section .apr-nav:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:2px; }
.approach-section .apr-nav.apr-primary{ background: var(--navy); color:#fff; border-color: var(--navy); }
.approach-section .apr-nav.apr-primary:hover:not(:disabled){ background:#17364F; }

.approach-section .apr-ctrls{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:8px; min-height:32px; }
.approach-section .apr-ctrls:empty{ display:none; }
.approach-section .apr-hint{ font-size:.72rem; color: var(--gray-400); display:flex; align-items:center; gap:6px; }
.approach-section .apr-hint em{ width:5px; height:5px; border-radius:50%; background: var(--blue-dark); font-style:normal; flex:none; animation: blip 2.4s ease-in-out infinite; }
@keyframes blip{ 0%,100%{ opacity:.3; } 50%{ opacity:1; } }
.approach-section .apr-chip{
  all:unset; cursor:pointer; display:flex; align-items:baseline; gap:6px; font-size:.72rem; font-weight:700;
  padding:7px 12px; border-radius:7px; border:1px solid var(--border); background:#fff; color: var(--gray-600);
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.approach-section .apr-chip u{ text-decoration:none; color: var(--gray-400); font-variant-numeric: tabular-nums; }
.approach-section .apr-chip:hover{ border-color: var(--gray-400); }
.approach-section .apr-chip[aria-pressed="true"]{ background: var(--navy); border-color: var(--navy); color:#fff; }
.approach-section .apr-chip[aria-pressed="true"] u{ color: rgba(255,255,255,.6); }
.approach-section .apr-chip:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:2px; }
.approach-section .apr-chip.apr-k-fail[aria-pressed="true"]{ background: var(--amber); border-color: var(--amber); color:#2A1B03; }
.approach-section .apr-chip.apr-k-fail[aria-pressed="true"] u{ color: rgba(42,27,3,.55); }

.approach-section .apr-figure{
  background: linear-gradient(180deg, #FBFCFE, #F4F8FC); border:1px solid var(--border);
  border-radius:10px; padding:14px; min-height:258px; overflow:visible; display:flex; flex-direction:column; justify-content:center;
}
.approach-section .apr-figure svg{ display:block; width:100%; height:auto; }
.approach-section .apr-fade{ animation: aprRise .4s cubic-bezier(.2,.7,.3,1) both; }
@keyframes aprRise{ from{ opacity:0; transform: translateY(8px); } to{ opacity:1; transform:none; } }

.apr-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---- shared SVG tokens ---- */
.apr-s-struct{ fill:none; stroke: var(--blue-dark); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.apr-s-dim{ fill:none; stroke:#C7D5E6; stroke-width:1.2; stroke-linecap:round; }
.apr-s-flow{ fill:none; stroke:#C7D5E6; stroke-width:1.2; stroke-dasharray:3 5; }
.apr-f-blue{ fill: var(--blue-dark); } .apr-f-teal{ fill: var(--teal); } .apr-f-dim{ fill:#C7D5E6; }
.apr-t-lbl{ fill: var(--gray-400); font-size:9px; font-family:inherit; letter-spacing:.02em; }
.apr-t-key{ fill: var(--navy); font-size:10px; font-weight:700; font-family:inherit; }

/* ---- 01 scope ---- */
.approach-section .apr-scope-wrap{ display:grid; grid-template-columns: minmax(0,1fr) 186px; gap:16px; align-items:center; }
.apr-cand{ cursor:pointer; transition: opacity .2s ease; }
.apr-cand:hover{ opacity:.75; }
.apr-cand:focus-visible{ outline:2px solid var(--blue-dark); outline-offset:2px; }
.approach-section .apr-check{ background:#fff; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.approach-section .apr-check h5{ margin:0; padding:12px 14px; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--blue-dark); border-bottom:1px solid var(--border); line-height:1.35; }
.approach-section .apr-check ul{ list-style:none; margin:0; padding:8px 14px; }
.approach-section .apr-check li{ display:flex; align-items:flex-start; gap:9px; padding:7px 0; font-size:.7rem; line-height:1.4; color: var(--gray-600); }
.approach-section .apr-check .apr-g{ flex:none; width:14px; height:14px; border-radius:50%; display:grid; place-items:center; font-size:8px; font-weight:700; color:#fff; margin-top:1px; }
.approach-section .apr-check .apr-g.apr-ok{ background: var(--teal); } .approach-section .apr-check .apr-g.apr-warn{ background: var(--amber); color:#2A1B03; } .approach-section .apr-check .apr-g.apr-ko{ background:#94A6BC; }
.approach-section .apr-check .apr-verdict{ padding:10px 14px; border-top:1px solid var(--border); font-size:.68rem; font-weight:700; }
.approach-section .apr-check .apr-verdict.apr-go{ color: var(--teal); } .approach-section .apr-check .apr-verdict.apr-wait{ color: var(--amber); } .approach-section .apr-check .apr-verdict.apr-no{ color:#94A6BC; }

/* ---- 01 scope: mobile data-check modal ---- */
.apr-check-modal{ display:none; }
.apr-check-modal.is-open{ display:block; position:fixed; inset:0; z-index:300; }
.apr-check-modal-backdrop{ position:absolute; inset:0; background:rgba(10,20,32,.55); }
.apr-check-modal-panel{
  position:absolute; left:16px; right:16px; bottom:16px; max-height:75vh; overflow:auto;
  background:#fff; border-radius:14px; box-shadow:0 24px 60px -24px rgba(10,20,32,.6);
}
.apr-check-modal-close{
  all:unset; box-sizing:border-box; position:absolute; top:6px; right:8px; cursor:pointer; width:32px; height:32px;
  display:grid; place-items:center; font-size:1.3rem; line-height:1; color: var(--gray-400); border-radius:50%;
}
.apr-check-modal-close:hover{ background: var(--bg); }
.apr-check-modal-body{ padding:20px 16px 16px; }
.apr-check-modal-body h5{ margin:0 0 12px; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color: var(--blue-dark); padding-right:28px; }
.apr-check-modal-body ul{ list-style:none; margin:0; padding:0; }
.apr-check-modal-body li{ display:flex; align-items:flex-start; gap:9px; padding:8px 0; font-size:.82rem; line-height:1.45; color: var(--gray-600); border-bottom:1px solid var(--border); }
.apr-check-modal-body li:last-child{ border-bottom:0; }
.apr-check-modal-body .apr-g{ flex:none; width:16px; height:16px; border-radius:50%; display:grid; place-items:center; font-size:9px; font-weight:700; color:#fff; margin-top:1px; }
.apr-check-modal-body .apr-g.apr-ok{ background: var(--teal); } .apr-check-modal-body .apr-g.apr-warn{ background: var(--amber); color:#2A1B03; } .apr-check-modal-body .apr-g.apr-ko{ background:#94A6BC; }
.apr-check-modal-body .apr-verdict{ margin-top:12px; padding-top:12px; border-top:1px solid var(--border); font-size:.78rem; font-weight:700; }
.apr-check-modal-body .apr-verdict.apr-go{ color: var(--teal); } .apr-check-modal-body .apr-verdict.apr-wait{ color: var(--amber); } .apr-check-modal-body .apr-verdict.apr-no{ color:#94A6BC; }

/* ---- 02 test ---- */
.approach-section .apr-eval-top{ display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; align-items:center; padding-bottom:4px; border-bottom:1px solid var(--border); }
.apr-gauge{ width:154px; }
.apr-arcwrap{ position:relative; width:150px; margin:0 auto; }
.apr-gauge svg{ width:150px; height:84px; display:block; }
.apr-arc-bg{ fill:none; stroke: var(--border); stroke-width:9; stroke-linecap:round; }
.apr-arc-v{ fill:none; stroke: var(--teal); stroke-width:9; stroke-linecap:round; stroke-dasharray:163.4; stroke-dashoffset:163.4; transition: stroke-dashoffset 1s cubic-bezier(.3,.7,.3,1); }
.apr-val{ position:absolute; left:0; right:0; top:39px; text-align:center; font-size:1.35rem; font-weight:700; letter-spacing:-.02em; font-variant-numeric: tabular-nums; color: var(--navy); }
.apr-cap2{ margin:3px 0 0; text-align:center; font-size:.63rem; line-height:1.3; color: var(--gray-400); }
.approach-section .apr-seg{ display:flex; height:9px; border-radius:5px; overflow:hidden; background: var(--border); margin-bottom:6px; }
.approach-section .apr-seg i{ display:block; height:100%; transition: opacity .25s ease; }
.approach-section .apr-seg .apr-pass{ background: var(--teal); } .approach-section .apr-seg .apr-fail{ background: var(--amber); }
.approach-section .apr-eval.apr-filter-pass .apr-seg .apr-fail{ opacity:.2; }
.approach-section .apr-eval.apr-filter-fail .apr-seg .apr-pass{ opacity:.2; }
.approach-section .apr-rows{ margin-top:3px; }
.approach-section .apr-row{ display:flex; align-items:center; gap:11px; padding:4px 10px; border-radius:7px; transition: background .18s ease; }
.approach-section .apr-row:hover{ background:#F1F6FC; }
.approach-section .apr-row .apr-glyph{ flex:none; width:15px; height:15px; border-radius:50%; display:grid; place-items:center; font-size:9px; font-weight:700; color:#fff; }
.approach-section .apr-row.apr-ok .apr-glyph{ background: var(--teal); } .approach-section .apr-row.apr-ko .apr-glyph{ background: var(--amber); color:#2A1B03; }
.approach-section .apr-row .apr-id{ font-size:.66rem; color: var(--gray-400); font-variant-numeric: tabular-nums; width:38px; flex:none; }
.approach-section .apr-row .apr-bar{ flex:1; height:7px; border-radius:4px; background: var(--border); overflow:hidden; max-width:170px; }
.approach-section .apr-row .apr-bar i{ display:block; height:100%; background:#C7D5E6; }
.approach-section .apr-row.apr-ok .apr-bar i{ background:#B9E7E1; }
.approach-section .apr-row .apr-why{ font-size:.72rem; color: var(--gray-400); opacity:0; transition: opacity .2s ease; margin-left:auto; text-align:right; }
.approach-section .apr-row.apr-ko .apr-why{ opacity:.75; }
.approach-section .apr-row:hover .apr-why{ opacity:1; color: var(--gray-600); }
.approach-section .apr-eval.apr-filter-pass .apr-row.apr-ko, .approach-section .apr-eval.apr-filter-fail .apr-row.apr-ok{ display:none; }
.approach-section .apr-evfoot{ display:flex; align-items:center; gap:8px; margin-top:3px; padding-top:4px; border-top:1px solid var(--border); font-size:.72rem; color: var(--gray-400); }
.approach-section .apr-evfoot b{ color: var(--navy); }
.approach-section .apr-evfoot .apr-evdot{ width:5px; height:5px; border-radius:50%; background: var(--amber); flex:none; }

/* ---- 03 deploy ---- */
.apr-lay{ transition: opacity .3s ease; }
.apr-dep.apr-on-flow .apr-lay:not(.apr-l-flow),
.apr-dep.apr-on-access .apr-lay:not(.apr-l-access),
.apr-dep.apr-on-obs .apr-lay:not(.apr-l-obs){ opacity:.15; }

/* ---- 04 improve ---- */
.apr-pt{ transition: opacity .2s ease; }
.apr-pt:hover{ opacity:.7; }

.approach-section .apr-fig-scope, .approach-section .apr-fig-deploy, .approach-section .apr-fig-monitor{ width:100%; }
.approach-section .apr-fig-scope svg, .approach-section .apr-fig-deploy svg, .approach-section .apr-fig-monitor svg{ width:100%; max-width:none; }

@media (max-width: 1000px){
  .approach-section .apr-panel{ margin:0; }
  .approach-section .apr-split{ grid-template-columns:1fr; }
  .approach-section .apr-claim{ border-right:0; border-bottom:1px solid var(--border); }
  .approach-section .apr-claim .apr-deliv{ margin-top:20px; }
  .approach-section .apr-scope-wrap{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .approach-section .apr-rail{ grid-template-columns: repeat(4, minmax(120px,1fr)); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .approach-section .apr-rail li{ scroll-snap-align:center; }
  .approach-section .apr-rail::before, .approach-section .apr-rail::after{ display:none; }
  .approach-section .apr-pr{ font-size:.56rem; }
}
@media (max-width: 640px){
  .approach-section .apr-eval-top{ grid-template-columns:1fr; gap:14px; }
  .approach-section .apr-row .apr-why{ display:none; }
}
@media (max-width: 560px){
  .approach-section{ padding:22px 0; }
  .approach-section .apr-rail{
    grid-template-columns: repeat(4, minmax(0,1fr)); overflow-x:visible; scroll-snap-type:none;
    padding-bottom:0; margin-top:14px; margin-bottom:12px;
  }
  .approach-section .apr-rail li{ scroll-snap-align:none; }
  .approach-section .apr-rail::before{ display:block; left:12.5%; right:0; top:15px; }
  .approach-section .apr-rail::after{ display:block; left:12.5%; top:15px; }
  .approach-section .apr-stop{ padding:0 2px 8px; }
  .approach-section .apr-dot{ width:30px; height:30px; margin:0 auto 8px; font-size:.66rem; }
  .approach-section .apr-nm{ font-size:.72rem; }
  .approach-section .apr-claim{ padding:14px 16px 16px; }
  .approach-section .apr-claim h3{ font-size:1.05rem; }
  .approach-section .apr-work{ padding:12px 16px; }
  .approach-section .apr-pfoot{ padding:6px 16px; }
  .approach-section .apr-figure{ height:auto; min-height:0; overflow:visible; padding:10px; }

  .approach-section .apr-eval{
    display:grid; grid-template-columns:104px minmax(0,1fr);
    grid-template-areas: "gauge rows" "desc desc" "foot foot";
    column-gap:10px; row-gap:10px;
  }
  .approach-section .apr-eval-top{ display:contents; }
  .approach-section .apr-gauge{ grid-area:gauge; width:100%; }
  .approach-section .apr-arcwrap{ width:100%; }
  .approach-section .apr-gauge svg{ width:100%; height:auto; }
  .approach-section .apr-val{ top:42%; font-size:1.05rem; }
  .approach-section .apr-cap2{ font-size:.58rem; }
  .approach-section .apr-eval-top > div:last-child{ grid-area:desc; }
  .approach-section .apr-seg{ display:none; }
  .approach-section .apr-rows{ grid-area:rows; margin-top:0; }
  .approach-section .apr-evfoot{ grid-area:foot; }

  .approach-section .apr-check{ display:none; }
  .approach-section .apr-scope-wrap{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  .apr-pt, .approach-section .apr-row, .approach-section .apr-chip, .approach-section .apr-nav{ transition:none; }
}

/* ===================== CONTROL ===================== */
.control-section{ background: #F1F6FB; position:relative; overflow:hidden; }
.control-section::before{ content:''; position:absolute; inset:0; background: radial-gradient(circle at 80% 20%, rgba(79,163,216,0.10), transparent 50%); }
.control-section .container{ position:relative; z-index:1; }
.control-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:22px; }
.control-card{
  position:relative; overflow:hidden; background:#fff; border:1px solid var(--border); box-shadow: var(--shadow-md);
  border-radius: var(--radius); padding:28px 24px; opacity:0;
  transition: transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.control-card::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background: var(--teal);
  transform: scaleY(0); transform-origin: top; transition: transform .4s var(--ease);
}
.control-card:hover::before{ transform: scaleY(1); }
.control-card.is-visible{ animation: fadeUp .6s ease forwards; }
.control-grid .control-card:nth-child(2).is-visible{ animation-delay:.08s; }
.control-grid .control-card:nth-child(3).is-visible{ animation-delay:.16s; }
.control-grid .control-card:nth-child(4).is-visible{ animation-delay:.24s; }
.control-card:hover{ transform: translateY(-6px); background:#fff; border-color: var(--blue-dark); box-shadow: var(--shadow-lg); }
.control-card:hover .control-icon{ transform: scale(1.08) rotate(-4deg); background: var(--teal); border-color: var(--teal); }
.control-card:hover .control-icon::after{ background:#fff; }
.control-icon{
  width:46px; height:46px; border-radius:12px; background: rgba(126,193,235,0.15); border:1px solid rgba(126,193,235,0.35);
  margin-bottom:18px; position:relative; transition: transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.control-icon::after{ transition: background .3s var(--ease); }
.control-icon::after{ content:''; position:absolute; inset:12px; background: var(--blue); -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; }
.control-icon[data-icon="sources"]::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 2h9l5 5v15H6z'/%3E%3Cpath d='M15 2v5h5'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 2h9l5 5v15H6z'/%3E%3Cpath d='M15 2v5h5'/%3E%3C/svg%3E"); }
.control-icon[data-icon="autonomy"]::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E"); }
.control-icon[data-icon="access"]::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 018 0v4'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 018 0v4'/%3E%3C/svg%3E"); }
.control-icon[data-icon="costs"]::after{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 1v22M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 1v22M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6'/%3E%3C/svg%3E"); }
.control-card h4{ color: var(--navy); font-size:1.05rem; margin-bottom:10px; }
.control-card p{ color: var(--gray-600); font-size:.88rem; }

/* ===================== CONTACT ===================== */
.contact-section{
  position:relative; overflow:hidden; color: rgba(233,242,246,0.92);
  background:
    radial-gradient(90% 120% at 88% 15%, rgba(20,59,92,.9) 0%, transparent 58%),
    radial-gradient(70% 90% at 10% 90%, rgba(45,212,191,.10) 0%, transparent 60%),
    linear-gradient(160deg, #0B1D2F 0%, #071523 55%, #050F1A 100%);
}
.contact-section::before{ content:''; position:absolute; left:0; right:0; top:0; height:2px; z-index:2; background: linear-gradient(90deg, var(--teal), var(--blue-dark) 55%, #7C5CF5); }
.contact-trace{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.5; z-index:0; }
.contact-trace path{ fill:none; stroke: var(--teal); stroke-opacity:.16; stroke-width:1; stroke-dasharray:4 9; }
.contact-trace circle{ fill: var(--teal); fill-opacity:.5; }
.contact-trace .run{ animation: contactTraceTravel 9s linear infinite; }
@keyframes contactTraceTravel{ from{ offset-distance:0%; } to{ offset-distance:100%; } }
.contact-section .container{ position:relative; z-index:1; }
.contact-inner{
  opacity:0; text-align:left;
  display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.16fr);
  gap: clamp(36px, 6vw, 88px); align-items:start;
}
.contact-inner.is-visible{ animation: fadeUp .6s ease forwards; }
.contact-kicker{ display:flex; align-items:center; gap:10px; color: var(--teal); margin-bottom:14px; }
.contact-kicker em{ width:22px; height:1px; background: var(--teal); opacity:.6; font-style:normal; }
.contact-section h2{ font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height:1.18; font-weight:400; letter-spacing:-.01em; margin:0 0 20px; color:#fff; max-width:16ch; }
.contact-section .section-head-accent{ color: var(--teal); }
.contact-section .contact-lede{ margin:0 0 34px; max-width:44ch; font-size:1rem; line-height:1.68; color: rgba(233,242,246,.6); }
.contact-actions{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.contact-btn{ background: var(--teal); color:#04121C; box-shadow: 0 14px 34px -16px rgba(45,212,191,.9); }
.contact-btn:hover{ background: var(--teal); }
.contact-reassure{ font-size:.82rem; line-height:1.5; color: rgba(233,242,246,.58); max-width:22ch; margin:0; }
.contact-reassure b{ color:#fff; font-weight:700; }

.contact-panel{ border:1px solid rgba(233,242,246,.13); border-radius:14px; background: rgba(255,255,255,.025); backdrop-filter: blur(4px); overflow:hidden; }
.contact-panel h3{ margin:0; padding:16px 22px; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color: rgba(233,242,246,.42); border-bottom:1px solid rgba(233,242,246,.13); }
.contact-row{ display:flex; align-items:center; gap:16px; padding:18px 22px; border-bottom:1px solid rgba(233,242,246,.13); color:inherit; text-decoration:none; transition: background .18s var(--ease), padding-left .18s var(--ease); }
.contact-row:last-child{ border-bottom:0; }
a.contact-row:hover{ background: rgba(45,212,191,.07); padding-left:26px; }
a.contact-row:focus-visible{ outline:2px solid var(--teal); outline-offset:-2px; }
.contact-row-ico{ flex:none; width:34px; height:34px; border-radius:9px; border:1px solid rgba(233,242,246,.13); display:grid; place-items:center; color: var(--teal); }
.contact-row-ico svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
.contact-row-txt{ min-width:0; }
.contact-row-k{ display:block; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color: rgba(233,242,246,.4); margin-bottom:3px; }
.contact-row-v{ display:block; font-size:.9rem; font-weight:700; overflow-wrap:anywhere; }
.contact-row-arrow{ margin-left:auto; color: rgba(233,242,246,.3); flex:none; transition: color .18s var(--ease), transform .18s var(--ease); }
a.contact-row:hover .contact-row-arrow{ color: var(--teal); transform: translateX(3px); }

/* ---- contact form ---- */
.contact-panel .cf-form{ padding:22px 24px 24px; }
.contact-panel .cf-field{ margin-bottom:18px; }
.contact-panel .cf-field > label, .contact-panel .cf-legend{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color: rgba(233,242,246,.4); margin-bottom:9px; }
.contact-panel .cf-req{ color: var(--teal); margin-left:3px; }
.contact-panel .cf-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-panel input[type="text"], .contact-panel input[type="email"], .contact-panel textarea{
  width:100%; box-sizing:border-box; font:inherit; font-size:.9rem; color: rgba(233,242,246,.92);
  background: rgba(255,255,255,.04); border:1px solid rgba(233,242,246,.13); border-radius:9px;
  padding:12px 14px; transition: border-color .18s ease, background .18s ease;
}
.contact-panel textarea{ resize:vertical; min-height:92px; line-height:1.55; }
.contact-panel input::placeholder, .contact-panel textarea::placeholder{ color: rgba(233,242,246,.28); }
.contact-panel input:hover, .contact-panel textarea:hover{ border-color: rgba(233,242,246,.24); }
.contact-panel input:focus, .contact-panel textarea:focus{ outline:none; border-color: var(--teal); background: rgba(45,212,191,.06); }
.contact-panel .cf-field.cf-bad input, .contact-panel .cf-field.cf-bad textarea{ border-color: var(--cf-err); }
.contact-panel .cf-msg{ display:none; margin-top:7px; font-size:.75rem; color: var(--cf-err); }
.contact-panel .cf-field.cf-bad .cf-msg{ display:block; }
.contact-panel .cf-reasons{ display:flex; gap:8px; flex-wrap:wrap; }
.contact-panel .cf-reasons input{ position:absolute; opacity:0; width:1px; height:1px; }
.contact-panel .cf-reasons label{
  cursor:pointer; font-size:.78rem; font-weight:700; padding:9px 15px; border-radius:8px;
  border:1px solid rgba(233,242,246,.13); color: rgba(233,242,246,.58);
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.contact-panel .cf-reasons label:hover{ border-color: rgba(233,242,246,.3); color: rgba(233,242,246,.92); }
.contact-panel .cf-reasons input:checked + label{ background: rgba(45,212,191,.14); border-color: var(--teal); color: var(--teal); }
.contact-panel .cf-reasons input:focus-visible + label{ outline:2px solid var(--teal); outline-offset:2px; }
.contact-panel .cf-field.cf-bad .cf-reasons label{ border-color: rgba(255,138,115,.5); }
.contact-panel .cf-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-panel .cf-submit{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:22px; padding-top:20px; border-top:1px solid rgba(233,242,246,.13); }
.contact-panel .cf-send{
  width:100%; justify-content:center; display:flex; align-items:center; gap:10px;
  padding:16px 24px; font-size:1rem; letter-spacing:.01em;
  box-shadow: 0 16px 38px -16px rgba(45,212,191,1);
}
.contact-panel .cf-send:hover{ transform: translateY(-2px); box-shadow: 0 20px 44px -16px rgba(45,212,191,1); }
.contact-panel .cf-reassure{ margin:0; font-size:.78rem; line-height:1.5; color: rgba(233,242,246,.58); max-width:22ch; }
.contact-panel .cf-reassure b{ color: rgba(233,242,246,.92); font-weight:700; }
.contact-panel .cf-privacy{ margin:16px 0 0; font-size:.72rem; line-height:1.6; color: rgba(233,242,246,.4); }
.contact-panel .cf-done{ display:none; padding:44px 24px; text-align:center; }
.contact-panel .cf-done .cf-tick{ width:44px; height:44px; border-radius:50%; border:1px solid var(--teal); display:grid; place-items:center; margin:0 auto 18px; color: var(--teal); font-size:1.2rem; }
.contact-panel .cf-done h4{ margin:0 0 8px; font-size:1.2rem; font-weight:700; color: rgba(233,242,246,.92); }
.contact-panel .cf-done p{ margin:0; font-size:.88rem; line-height:1.65; color: rgba(233,242,246,.58); }
.contact-panel.is-sent .cf-form{ display:none; }
.contact-panel.is-sent .cf-done{ display:block; }

@media (max-width:880px){
  .contact-inner{ grid-template-columns:1fr; gap:38px; }
  .contact-section h2{ max-width:none; }
}
@media (max-width:560px){
  .contact-panel .cf-grid2{ grid-template-columns:1fr; }
  .contact-panel h3{ padding:11px 16px; }
  .contact-panel .cf-form{ padding:15px 16px 17px; }
  .contact-panel .cf-field{ margin-bottom:12px; }
  .contact-panel .cf-field > label, .contact-panel .cf-legend{ margin-bottom:6px; }
  .contact-panel input[type="text"], .contact-panel input[type="email"], .contact-panel textarea{ padding:9px 12px; }
  .contact-panel textarea{ min-height:64px; }
  .contact-panel .cf-reasons label{ padding:7px 12px; }
  .contact-panel .cf-submit{ margin-top:14px; padding-top:13px; }
  .contact-panel .cf-privacy{ margin-top:11px; }
}
@media (prefers-reduced-motion:reduce){
  .contact-trace .run{ animation:none; }
  .contact-btn, .contact-row, .contact-row-arrow{ transition:none; }
  .contact-panel input, .contact-panel textarea, .contact-panel .cf-reasons label{ transition:none; }
}

/* ===================== CAREERS ===================== */
.careers-section{ background: var(--navy); overflow:hidden; padding-bottom: 60px; }

.car-toolbar{ display:flex; align-items:center; gap:12px; margin: 46px 0 18px; }
.car-count{ margin:0; font-size:.82rem; font-weight:700; color: rgba(255,255,255,0.4); letter-spacing:.03em; }
.car-count b{ color:#fff; }

.car-carousel{ position:relative; }
.car-arrow{
  all:unset; cursor:pointer; position:absolute; z-index:3; top:calc(50% - 8px); transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,0.12);
  display:grid; place-items:center; color: rgba(255,255,255,0.6);
  background: rgba(10,32,54,0.72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: border-color .2s ease, color .2s ease, background .2s ease, opacity .2s ease;
}
.car-prev{ left:-54px; }
.car-next{ right:-54px; }
.car-arrow:hover:not(:disabled){ border-color: var(--teal); color: var(--teal); background: rgba(45,212,191,0.14); }
.car-arrow:disabled{ opacity:0; pointer-events:none; }
.car-arrow svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.car-track{
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type: x mandatory;
  padding:6px 3px 22px; margin:0 -3px; scrollbar-width:none;
}
.car-track::-webkit-scrollbar{ display:none; }
.car-track > *{ scroll-snap-align:start; flex: 0 0 calc((100% - 48px) / 4); }

.car-card{
  position:relative; display:flex; flex-direction:column; background:#fff; color: var(--navy);
  border-radius:14px; padding:20px 19px 17px; text-decoration:none; overflow:hidden;
  box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.8);
  transition: transform .22s var(--ease), box-shadow .22s ease, background .22s ease;
  opacity:0;
}
.car-card.is-visible{ animation: fadeUp .5s ease forwards; }
.car-track .car-card:nth-child(2).is-visible{ animation-delay:.06s; }
.car-track .car-card:nth-child(3).is-visible{ animation-delay:.12s; }
.car-track .car-card:nth-child(4).is-visible{ animation-delay:.18s; }
.car-track .car-card:nth-child(5).is-visible{ animation-delay:.24s; }
.car-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background: linear-gradient(90deg, var(--teal), var(--blue-dark));
  transform:scaleX(0); transform-origin:left; transition: transform .3s var(--ease);
}
.car-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,0.8); }
.car-card:hover::before{ transform:scaleX(1); }

.car-top{ display:flex; align-items:center; gap:6px; margin-bottom:14px; min-height:23px; }
.car-team{
  font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color: var(--blue-dark); background: var(--blue-pale); border-radius:5px; padding:5px 9px;
}
.car-card h3{ margin:0 0 14px; font-size:1.1rem; line-height:1.3; font-weight:700; letter-spacing:-.01em; min-height:2.6em; color: var(--navy); }

.car-meta{ list-style:none; margin:0 0 16px; padding:0; display:grid; gap:7px; }
.car-meta li{ display:flex; align-items:center; gap:8px; font-size:.82rem; line-height:1.35; color: var(--gray-600); }
.car-meta svg{ width:14px; height:14px; fill:none; stroke: var(--gray-400); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex:none; }

.car-apply{ margin-top:auto; padding-top:14px; border-top:1px solid var(--border); display:flex; align-items:center; gap:8px; font-size:.86rem; font-weight:800; color: var(--navy); }
.car-go{ display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background: rgba(10,32,54,0.06); margin-left:auto; transition: background .2s ease, transform .2s ease, color .2s ease; }
.car-go svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.car-card:hover .car-apply{ color:#0E9E8E; }
.car-card:hover .car-go{ background: var(--teal); color:#04121C; transform: translateX(3px); }

.car-card-open{ background: rgba(255,255,255,0.03); border:1px dashed rgba(233,242,246,0.22); color: var(--paper); box-shadow:none; }
.car-card-open:hover{ background: rgba(255,255,255,0.055); transform: translateY(-6px); border-color: var(--teal); box-shadow:none; }
.car-card-open::before{ display:none; }
.car-card-open h3{ color: var(--paper); min-height:0; margin-bottom:12px; }
.car-card-open p{ margin:0 0 18px; font-size:.82rem; line-height:1.55; color: rgba(255,255,255,0.6); }
.car-card-open .car-apply{ border-top-color: rgba(255,255,255,0.12); color: var(--teal); }
.car-card-open .car-go{ background: rgba(45,212,191,0.15); color: var(--teal); }
.car-card-open:hover .car-go{ background: var(--teal); color:#04121C; }
.car-team-open{ background: rgba(126,193,235,0.14); color: var(--blue); }

.car-rail{ height:2px; border-radius:2px; background: rgba(255,255,255,0.12); position:relative; overflow:hidden; }
.car-rail i{ position:absolute; left:0; top:0; height:100%; border-radius:2px; background: linear-gradient(90deg, var(--teal), var(--blue-dark)); transition: left .12s linear, width .12s linear; }

@media (max-width:1180px){
  .car-prev{ left:-16px; } .car-next{ right:-16px; }
  .car-arrow{ background: rgba(7,21,35,0.92); box-shadow: 0 8px 22px -10px rgba(0,0,0,0.9); }
}
@media (max-width:1080px){ .car-track > *{ flex: 0 0 calc((100% - 32px) / 3); } }
@media (max-width:820px){ .car-track > *{ flex: 0 0 calc((100% - 16px) / 2); } }
@media (max-width:560px){ .car-track > *{ flex: 0 0 82%; } .car-arrow{ display:none; } }

/* ===================== FOOTER ===================== */
.site-footer{ background:#071426; padding: 64px 0 0; }
.footer-inner{ display:flex; justify-content:space-between; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,0.08); flex-wrap:wrap; }
.footer-logo{
  display:inline-block; width:92px; height:26px; margin-bottom:16px;
  -webkit-mask-image:url(../assets/logo-wordmark.png); mask-image:url(../assets/logo-wordmark.png);
  -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center;
  background: linear-gradient(90deg, #fff 0%, #fff 67.5%, var(--teal) 67.5%, var(--teal) 100%);
}
.footer-brand p{ color: rgba(255,255,255,0.55); font-size:.88rem; max-width:280px; }
.footer-cols{ display:flex; gap:60px; flex-wrap:wrap; }
.footer-col-split{ display:flex; gap:40px; }
.footer-cols h5{ color:#fff; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.15); }
.footer-cols a, .footer-cols span{ display:block; color: rgba(255,255,255,0.6); font-size:.9rem; margin-bottom:10px; transition: color .2s ease, transform .2s ease; }
.footer-cols a:hover{ color: var(--blue); transform: translateX(3px); }
.footer-bottom{ padding-top:22px; padding-bottom:22px; color: rgba(255,255,255,0.4); font-size:.8rem; }

/* ===================== LEGAL PAGES ===================== */
.legal-header{ padding:24px 0; border-bottom:1px solid var(--border); }
.legal-header .container{ display:flex; align-items:center; justify-content:space-between; }
.legal-header .brand-mini{ display:flex; align-items:center; }
.legal-header .brand-mini img{ height:24px; display:block; }
.legal-back{ color: var(--gray-600); font-size:.88rem; font-weight:600; text-decoration:none; display:flex; align-items:center; gap:6px; transition: color .2s ease; }
.legal-back:hover{ color: var(--blue-dark); }
.legal-main{ padding:56px 0 88px; }
.legal-main .container{ max-width:760px; }
.legal-main h1{ font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--navy); margin:0 0 8px; letter-spacing:-.02em; }
.legal-updated{ color: var(--gray-400); font-size:.85rem; margin:0 0 44px; }
.legal-main h2{ font-size:1.2rem; color: var(--navy); margin:40px 0 14px; letter-spacing:-.01em; }
.legal-main h2:first-of-type{ margin-top:0; }
.legal-main p{ color: var(--gray-600); font-size:.98rem; line-height:1.7; margin:0 0 16px; }
.legal-main ul{ margin:0 0 16px; padding-left:22px; color: var(--gray-600); font-size:.98rem; line-height:1.7; }
.legal-main li{ margin-bottom:8px; }
.legal-main a{ color: var(--blue-dark); text-decoration:underline; }
.legal-main strong{ color: var(--navy); }
.legal-table{ width:100%; border-collapse:collapse; margin:0 0 24px; font-size:.95rem; }
.legal-table td{ padding:9px 12px 9px 0; color: var(--gray-600); vertical-align:top; border-bottom:1px solid var(--border); }
.legal-table td:first-child{ color: var(--navy); font-weight:600; width:230px; }

/* ===================== MODAL ===================== */
.modal-overlay{
  position:fixed; inset:0; background: rgba(10,32,54,0.55); backdrop-filter: blur(4px);
  display:flex; align-items:center; justify-content:center; z-index:500; opacity:0; pointer-events:none; transition: opacity .25s ease; padding: 20px;
}
.modal-overlay.is-open{ opacity:1; pointer-events:auto; }
.modal-box{
  background:#fff; border-radius:20px; padding:36px; max-width:560px; width:100%; max-height:88vh; overflow-y:auto;
  position:relative; transform: translateY(16px); transition: transform .25s ease; box-shadow: var(--shadow-lg);
}
.modal-overlay.is-open .modal-box{ transform:translateY(0); }
.modal-close{ position:absolute; top:18px; right:18px; background:none; border:none; font-size:1.6rem; color: var(--gray-400); cursor:pointer; line-height:1; }
.modal-box h3{ font-size:1.4rem; margin-bottom:22px; }
.modal-job-summary{ background: var(--bg); border-radius:14px; padding:16px 18px; margin-bottom:24px; display:flex; flex-direction:column; gap:8px; }
.modal-job-summary div{ display:flex; justify-content:space-between; font-size:.86rem; }
.modal-job-summary span{ color: var(--gray-400); font-weight:600; }
.modal-job-summary strong{ color: var(--navy); }
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-field{ margin-bottom:16px; }
.form-field label{ display:block; font-size:.82rem; font-weight:700; color: var(--navy); margin-bottom:7px; }
.form-field input[type="text"], .form-field input[type="email"]{
  width:100%; padding:12px 14px; border:1.5px solid var(--border); border-radius:10px; font-family: var(--font); font-size:.92rem;
}
.form-field input:focus{ outline:none; border-color: var(--blue-dark); }
.dropzone{
  position:relative; border:1.5px dashed var(--border); border-radius:10px; padding:16px 12px; text-align:center;
  cursor:pointer; transition: border-color .2s ease, background .2s ease;
}
.dropzone.is-drag{ border-color: var(--blue-dark); background: var(--blue-pale); }
.dropzone .dz-text{ display:block; font-size:.8rem; color: var(--gray-400); font-weight:600; }
.dropzone .dz-filename{ display:block; font-size:.8rem; color: var(--navy); font-weight:700; margin-top:4px; }
.dropzone input[type="file"]{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.modal-submit{ width:100%; margin-top:10px; }
.modal-note{ text-align:center; color: var(--gray-400); font-size:.8rem; margin-top:12px; }
.modal-success{ display:none; text-align:center; padding: 30px 10px; }
.modal-success.is-visible{ display:block; }
.modal-success h4{ font-size:1.3rem; margin-bottom:10px; }
.modal-success p{ color: var(--gray-600); }

/* ===================== COUNT UP (init state) ===================== */
.count-up{ display:inline-block; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 980px){
  .main-nav{ display:none; }
  .header-actions .lang-toggle{ display:none; }
  .header-actions .btn{ display:none; }
  .nav-burger{ display:grid; }
  .services-showcase{ grid-template-columns: 1fr; }
  .showcase-panel{ padding:28px; grid-template-columns: 1fr; }
  .showcase-shot{ margin-top:20px; height:auto; }
  .stats-grid{ grid-template-columns: repeat(2, 1fr); }
  .control-grid{ grid-template-columns: repeat(2, 1fr); }
  .form-row-2{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
  .stats-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
  .stat-box{ padding:22px 10px; }
  .stat-number{ font-size:2.1rem; }
  .stat-label{ margin-top:10px; font-size:.76rem; max-width:none; }
  .control-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
  .control-card{ padding:18px 14px; }
  .header-actions .btn-sm{ display:none; }
  .footer-inner{ flex-direction:column; }
}

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior:auto !important; }
  .section-head, .stat-card, .control-card, .car-card, .contact-inner{ opacity:1 !important; transform:none !important; }
  .label-dot, .hero-cta-primary{ animation:none !important; }
}
