/* ===================================================================
   Stellar Solutions — feuille de style

   THÈMES
   Le site est en clair par défaut. Le thème sombre est entièrement
   écrit ci-dessous et s'active en posant  data-theme="dark"  sur la
   balise <html>. C'est theme.js qui s'en charge.

   Le bouton de bascule est actuellement masqué : voir theme.js,
   la constante THEME_TOGGLE_ENABLED.
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

/* ---------- THÈME CLAIR (par défaut) ---------- */
:root{
  --bg:#FFFFFF;
  --surface:#F7F7F5;
  --surface-2:#F0F0EC;
  --text:#0A0E1A;
  --text-muted:#5B6474;
  --text-dim:#8E96A5;
  --accent:#0B3BFF;
  --accent-soft:#0730D6;
  --border:#E4E4E0;
  --border-strong:#CFCFC9;
  --status-ok:#0F8A5F;
  --nav-bg:rgba(255,255,255,.86);
  --hover-wash:rgba(0,0,0,.03);
  --glow:rgba(11,59,255,.07);
  --on-accent:#FFFFFF;

  --wrap:1160px;
  --pad:clamp(20px, 5vw, 48px);
}

/* ---------- THÈME SOMBRE (inactif tant que le bouton est masqué) ---------- */
[data-theme="dark"]{
  --bg:#0B1120;
  --surface:#131B2E;
  --surface-2:#1B2438;
  --text:#EEF1F6;
  --text-muted:#8B93A7;
  --text-dim:#6B7488;
  --accent:#3358FF;
  --accent-soft:#6E8BFF;
  --border:rgba(255,255,255,.10);
  --border-strong:rgba(255,255,255,.17);
  --status-ok:#31C48D;
  --nav-bg:rgba(11,17,32,.82);
  --hover-wash:rgba(255,255,255,.04);
  --glow:rgba(51,88,255,.20);
  --on-accent:#FFFFFF;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease, color .2s ease;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation:none!important;transition:none!important;}
}

h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;font-weight:600;line-height:1.1;
  letter-spacing:-.02em;color:var(--text);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px;}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad);}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:14px var(--pad);
  display:flex;align-items:center;gap:24px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{width:36px;height:auto;}
.brand b{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:18px;
  letter-spacing:.01em;color:var(--text);}
.brand span{color:var(--text-muted);font-weight:400;}
.nav-links{margin-left:auto;display:flex;gap:26px;align-items:center;}
.nav-links a{font-size:15px;color:var(--text-muted);transition:color .2s;font-weight:500;}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-cta{background:var(--accent);color:var(--on-accent)!important;padding:9px 18px;
  border-radius:8px;font-weight:600;font-size:15px;transition:background .2s;}
.nav-cta:hover{background:var(--accent-soft);}
.burger{display:none;background:none;border:0;color:var(--text);cursor:pointer;padding:6px;}

/* Bouton de bascule de thème. Masqué par défaut via l'attribut hidden. */
.theme-toggle{background:none;border:1px solid var(--border-strong);border-radius:8px;
  color:var(--text-muted);cursor:pointer;padding:7px;line-height:0;transition:all .2s;}
.theme-toggle:hover{color:var(--text);border-color:var(--text-muted);}
.theme-toggle[hidden]{display:none;}
.theme-toggle .icon-moon{display:block;}
.theme-toggle .icon-sun{display:none;}
[data-theme="dark"] .theme-toggle .icon-moon{display:none;}
[data-theme="dark"] .theme-toggle .icon-sun{display:block;}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border);}
.hero-glow{position:absolute;width:720px;height:720px;border-radius:50%;
  background:radial-gradient(circle,var(--glow),transparent 62%);
  top:-280px;right:-200px;pointer-events:none;}
.hero-in{max-width:var(--wrap);margin:0 auto;
  padding:clamp(64px,11vw,128px) var(--pad) clamp(56px,9vw,104px);
  position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .9fr;
  gap:56px;align-items:end;}
.hero h1{font-size:clamp(38px,6vw,68px);font-weight:700;line-height:1.02;}
.hero .sub{margin-top:26px;font-size:clamp(17px,2.2vw,20px);color:var(--text-muted);
  max-width:34ch;line-height:1.5;}
.hero-actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:16px;
  padding:13px 24px;border-radius:9px;transition:all .2s;cursor:pointer;
  border:1px solid transparent;font-family:inherit;}
.btn-primary{background:var(--accent);color:var(--on-accent);}
.btn-primary:hover{background:var(--accent-soft);}
.btn-primary:disabled{opacity:.6;cursor:default;}
.btn-ghost{border-color:var(--border-strong);color:var(--text);background:transparent;}
.btn-ghost:hover{border-color:var(--text-muted);background:var(--hover-wash);}
.hero-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:28px 28px 24px;}
.hero-card .row{display:flex;justify-content:space-between;align-items:baseline;
  padding:13px 0;border-bottom:1px solid var(--border);}
.hero-card .row:last-child{border-bottom:0;padding-bottom:0;}
.hero-card .row:first-child{padding-top:0;}
.hero-card .k{color:var(--text-muted);font-size:14px;}
.hero-card .v{font-family:'Space Grotesk',sans-serif;font-size:16px;color:var(--text);
  font-weight:500;text-align:right;}

/* ---------- SECTIONS ---------- */
section{padding-block:clamp(56px,9vw,104px);}
.sec-head{max-width:62ch;margin-bottom:clamp(36px,5vw,56px);}
.sec-head h2{font-size:clamp(28px,4.2vw,42px);}
.sec-head p{margin-top:18px;color:var(--text-muted);font-size:clamp(16px,2vw,19px);}
.tag{display:inline-block;color:var(--accent);font-weight:600;font-size:14px;
  margin-bottom:14px;}

/* ---------- BANDEAU ---------- */
.band{background:var(--surface);border-block:1px solid var(--border);}
.band .wrap{padding-block:clamp(48px,7vw,80px);}
.band-q{font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,3.6vw,38px);
  font-weight:500;line-height:1.28;max-width:22ch;color:var(--text);}
.band-q em{font-style:normal;color:var(--accent);}
.band-sub{margin-top:22px;color:var(--text-muted);max-width:56ch;font-size:17px;}

/* ---------- SERVICES ---------- */
.svc-list{display:flex;flex-direction:column;}
.svc-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:40px;
  padding-block:clamp(28px,4vw,44px);border-top:1px solid var(--border);align-items:start;}
.svc-item:last-child{border-bottom:1px solid var(--border);}
.svc-item .lead-col h3{font-size:clamp(21px,2.8vw,28px);}
.svc-item .lead-col .meta{margin-top:12px;color:var(--accent);font-size:14px;font-weight:600;}
.svc-item .body-col p{color:var(--text-muted);font-size:16.5px;}
.svc-item .body-col ul{margin-top:16px;list-style:none;display:grid;
  grid-template-columns:1fr 1fr;gap:9px 24px;}
.svc-item .body-col li{position:relative;padding-left:20px;font-size:15px;color:var(--text);}
.svc-item .body-col li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;
  background:var(--accent);border-radius:50%;}

/* ---------- PILIERS ---------- */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.pillar{background:var(--bg);padding:clamp(26px,3.4vw,38px);}
.pillar h3{font-size:20px;margin-bottom:12px;}
.pillar p{color:var(--text-muted);font-size:15.5px;}
.pillar .idx{font-family:'Space Grotesk',sans-serif;color:var(--accent);font-size:15px;
  margin-bottom:16px;font-weight:600;}

/* ---------- SECTEURS ---------- */
.sectors{display:flex;flex-wrap:wrap;gap:10px;}
.sectors span{border:1px solid var(--border-strong);border-radius:999px;padding:9px 18px;
  font-size:15px;color:var(--text);background:var(--bg);}

/* ---------- CTA ---------- */
.cta-final{background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:clamp(36px,5vw,64px);display:grid;grid-template-columns:1.4fr auto;gap:36px;
  align-items:center;}
.cta-final h2{font-size:clamp(26px,3.6vw,38px);max-width:20ch;}
.cta-final p{color:var(--text-muted);margin-top:14px;max-width:46ch;}
@media (max-width:760px){.cta-final{grid-template-columns:1fr;}}

/* ---------- APPROCHE ---------- */
.approach{display:grid;grid-template-columns:1fr;gap:0;}
.step{display:grid;grid-template-columns:auto 1fr;gap:28px;padding-block:32px;
  border-top:1px solid var(--border);}
.step:last-child{border-bottom:1px solid var(--border);}
.step .n{font-family:'Space Grotesk',sans-serif;font-size:15px;color:var(--accent);
  font-weight:600;padding-top:4px;}
.step h3{font-size:21px;margin-bottom:10px;}
.step p{color:var(--text-muted);font-size:16px;max-width:60ch;}

/* ---------- STACK ---------- */
.stack{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
.stack .tool{border:1px solid var(--border);border-radius:10px;padding:16px 18px;
  background:var(--bg);}
.stack .tool b{font-family:'Space Grotesk',sans-serif;font-weight:600;display:block;
  margin-bottom:4px;}
.stack .tool span{color:var(--text-muted);font-size:14px;}

/* ---------- VALEURS ---------- */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.values div{border:1px solid var(--border);border-radius:10px;padding:18px 16px;
  font-family:'Space Grotesk',sans-serif;font-weight:500;text-align:center;font-size:16px;
  background:var(--bg);}
@media (max-width:760px){.values{grid-template-columns:repeat(2,1fr);}}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:14px;color:var(--text-muted);margin-bottom:8px;
  font-weight:500;}
.field input,.field textarea,.field select{width:100%;background:var(--bg);
  border:1px solid var(--border-strong);border-radius:10px;padding:13px 15px;
  color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;
  border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);}
.field textarea{resize:vertical;min-height:130px;}
.contact-side{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:32px;}
.contact-side .line{padding:16px 0;border-bottom:1px solid var(--border);}
.contact-side .line:last-child{border-bottom:0;}
.contact-side .line .k{color:var(--text-muted);font-size:14px;margin-bottom:5px;}
.contact-side .line .v{font-family:'Space Grotesk',sans-serif;font-size:18px;color:var(--text);}
.contact-side .line .v a:hover{color:var(--accent);}
.form-note{margin-top:10px;font-size:14px;color:var(--text-muted);min-height:1.4em;}

/* ---------- FOOTER ---------- */
.foot{border-top:1px solid var(--border);background:var(--bg);}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:52px var(--pad) 40px;
  display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;}
.foot .brand{margin-bottom:16px;}
.foot p{color:var(--text-muted);font-size:15px;max-width:38ch;}
.foot h4{font-size:14px;color:var(--text-muted);font-weight:500;margin-bottom:16px;
  font-family:'Inter',sans-serif;}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.foot ul a{color:var(--text);font-size:15px;transition:color .2s;}
.foot ul a:hover{color:var(--accent);}
.foot-base{border-top:1px solid var(--border);}
.foot-base .wrap{padding-block:22px;display:flex;justify-content:space-between;
  color:var(--text-dim);font-size:14px;flex-wrap:wrap;gap:10px;}

/* ---------- EN-TÊTE DE PAGE ---------- */
.phead{border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.phead-glow{position:absolute;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,var(--glow),transparent 64%);
  top:-260px;left:-120px;}
.phead .wrap{padding-block:clamp(52px,8vw,88px);position:relative;z-index:2;}
.phead h1{font-size:clamp(32px,5vw,54px);font-weight:700;max-width:20ch;}
.phead p{margin-top:20px;color:var(--text-muted);font-size:clamp(17px,2.2vw,20px);
  max-width:58ch;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr;gap:40px;}
  .hero-card{max-width:440px;}
  .svc-item{grid-template-columns:1fr;gap:16px;}
  .svc-item .body-col ul{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
  .foot-in{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .nav-links{position:fixed;inset:60px 0 auto 0;background:var(--bg);flex-direction:column;
    padding:20px var(--pad);gap:18px;border-bottom:1px solid var(--border);
    transform:translateY(-120%);transition:transform .25s;align-items:flex-start;}
  .nav-links.open{transform:translateY(0);}
  .nav-links a{font-size:17px;}
  .burger{display:block;margin-left:auto;}
  .foot-in{grid-template-columns:1fr;}
}

/* ===================================================================
   DIRECTION ARTISTIQUE — interface Stellar 2026
   L'identité s'appuie sur le bleu profond de la marque et sur une
   lecture volontairement très nette : l'informatique devient lisible.
   =================================================================== */
:root{
  --bg:#fbfcff;
  --surface:#f2f6fb;
  --surface-2:#e7eef8;
  --text:#10213b;
  --text-muted:#5d6c81;
  --text-dim:#8b98a9;
  --accent:#147ddd;
  --accent-soft:#0864bd;
  --border:#dce5f0;
  --border-strong:#c5d2e2;
  --status-ok:#0a9c6c;
  --nav-bg:rgba(251,252,255,.88);
  --hover-wash:rgba(20,125,221,.06);
  --glow:rgba(25,135,232,.15);
}

body{font-size:16px;letter-spacing:-.005em;}
h1,h2,h3,h4{letter-spacing:-.04em;}
.nav{border-bottom-color:rgba(220,229,240,.8);}
.nav-in{padding-top:11px;padding-bottom:11px;}
.brand img{width:38px;mix-blend-mode:multiply;}
.brand b{font-size:17px;letter-spacing:-.02em;}
.nav-links{gap:22px;}
.nav-links a{font-size:14px;}
.nav-links a.active{color:var(--accent);}
.nav-cta{border-radius:999px;padding:10px 17px;box-shadow:0 8px 18px rgba(10,87,177,.15);}
.btn{border-radius:999px;padding:14px 22px;font-size:15px;}
.btn-primary{box-shadow:0 10px 20px rgba(9,89,181,.2);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 25px rgba(9,89,181,.26);}
.btn-ghost{background:rgba(255,255,255,.06);}

/* Hero */
.hero{background:#071a35;border:0;color:#fff;isolation:isolate;}
.hero-grid{position:absolute;inset:0;z-index:-1;opacity:.38;background-image:linear-gradient(rgba(107,182,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(107,182,255,.1) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 88%);}
.hero::after{content:"";position:absolute;width:680px;height:680px;right:-250px;bottom:-475px;border:1px solid rgba(82,177,255,.2);border-radius:50%;box-shadow:0 0 0 56px rgba(82,177,255,.035),0 0 0 112px rgba(82,177,255,.025);z-index:-1;}
.hero-glow{width:620px;height:620px;background:radial-gradient(circle,rgba(15,136,239,.3),transparent 66%);right:-125px;top:-240px;}
.hero-in{grid-template-columns:minmax(0,1.2fr) minmax(370px,.8fr);gap:clamp(42px,7vw,100px);padding-top:clamp(70px,11vw,130px);padding-bottom:clamp(70px,10vw,112px);align-items:center;}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px!important;font-weight:700!important;letter-spacing:.11em;text-transform:uppercase;color:#64c4ff!important;margin:0!important;}
.eyebrow span{height:8px;width:8px;border-radius:50%;background:#5ce1ad;box-shadow:0 0 0 5px rgba(92,225,173,.12);}
.hero h1{font-size:clamp(43px,6.2vw,76px);line-height:.98;color:#fff;max-width:11ch;margin-top:22px;}
.hero h1 em{font-style:normal;color:#65c8ff;}
.hero .sub{font-size:clamp(17px,2vw,20px);color:#b7cbe1;margin-top:27px;max-width:38ch;}
.hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35);}
.hero .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.hero-proof{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:34px;color:#c8d8eb;font-size:13px;}
.hero-proof span{display:flex;align-items:center;gap:7px;}
.hero-proof span::before{content:"";width:5px;height:5px;background:#5ce1ad;border-radius:50%;}
.hero-card{padding:0;overflow:hidden;border:1px solid rgba(151,210,255,.28);border-radius:18px;background:linear-gradient(145deg,rgba(19,63,112,.87),rgba(7,29,60,.94));box-shadow:0 28px 58px rgba(0,0,0,.25);}
.panel-top{padding:17px 19px;display:flex;gap:9px;align-items:center;color:#cfdeec;font-size:12px;border-bottom:1px solid rgba(171,215,255,.18);letter-spacing:.015em;}
.panel-live{margin-left:auto;color:#71e5b2;font-weight:700;font-size:11px;letter-spacing:.08em;}
.status-dot{width:8px;height:8px;border-radius:50%;background:#5ce1ad;box-shadow:0 0 0 4px rgba(92,225,173,.12);}
.system-map{height:280px;position:relative;margin:18px;background-image:radial-gradient(rgba(121,204,255,.15) 1px,transparent 1px);background-size:16px 16px;}
.system-map::before,.system-map::after{content:"";position:absolute;background:rgba(129,207,255,.4);height:1px;transform-origin:left;}
.system-map::before{width:62%;left:50%;top:48%;transform:rotate(-29deg);}.system-map::after{width:66%;left:50%;top:48%;transform:rotate(31deg);}
.system-core{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;background:radial-gradient(circle at 35% 25%,#2db6ff,#0c5aa9 64%,#07336d);border:8px solid rgba(141,209,255,.13);box-shadow:0 0 0 1px rgba(161,218,255,.68),0 0 35px rgba(61,173,255,.52);}
.system-core span{font-size:10px;letter-spacing:.16em;color:#d2efff;}.system-core strong{font:600 14px 'Space Grotesk',sans-serif;letter-spacing:.04em;}
.node{position:absolute;padding:6px 10px;border:1px solid rgba(165,219,255,.39);border-radius:999px;color:#d5ebfb;background:rgba(5,31,65,.84);font-size:12px;box-shadow:0 5px 14px rgba(0,0,0,.15);}.node-a{left:0;top:25%;}.node-b{right:1%;top:17%;}.node-c{left:8%;bottom:12%;}.node-d{right:6%;bottom:12%;}
.panel-foot{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(174,220,255,.17);border-top:1px solid rgba(171,215,255,.18);}.panel-foot div{padding:15px 19px;background:rgba(5,28,59,.42);display:flex;align-items:center;gap:11px;}.panel-foot b{font:600 22px 'Space Grotesk',sans-serif;color:#63c8ff;}.panel-foot span{color:#bed5e9;font-size:11px;line-height:1.25;}

/* Content rhythm */
section{padding-block:clamp(64px,9vw,112px);}
.sec-head h2{font-size:clamp(31px,4vw,46px);max-width:16ch;}.sec-head p{line-height:1.6;}
.tag{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:12px;}
.band{background:#eef4fa;border-color:#d9e5f0;}.band-q{max-width:25ch;}.band-sub{font-size:16px;}
.svc-item{gap:56px;}.svc-item .lead-col h3{font-size:clamp(23px,2.7vw,30px);}.svc-item .lead-col .meta{letter-spacing:.025em;}.svc-item .body-col p{max-width:58ch;line-height:1.7;}
.pillars{gap:12px;background:none;border:0;overflow:visible;}.pillar{border:1px solid var(--border);border-radius:12px;background:var(--bg);}.pillar:hover{border-color:#93c7f0;box-shadow:0 16px 30px rgba(22,70,120,.08);}.pillar .idx{font-size:12px;letter-spacing:.08em;text-transform:uppercase;}.sectors span{background:#fff;border-color:#cfdae6;}

/* References */
.references-preview{background:#fff;}.reference-intro{display:grid;grid-template-columns:1.1fr .8fr;gap:60px;align-items:end;margin-bottom:38px;}.reference-intro .sec-head{margin:0;}.reference-intro>p{color:var(--text-muted);line-height:1.7;max-width:35ch;justify-self:end;}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;}.logo-card{height:156px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:22px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;}.logo-card:hover{transform:translateY(-4px);border-color:#8bc7f0;box-shadow:0 13px 25px rgba(16,62,108,.1);}.logo-card img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;}.text-link{display:inline-flex;align-items:center;gap:12px;margin-top:27px;color:var(--accent);font-weight:700;font-size:14px;}.text-link span{font-size:20px;transition:transform .2s;}.text-link:hover span{transform:translateX(4px);}
.phead{background:#f4f8fc;}.phead h1{font-size:clamp(36px,5vw,58px);}.phead .eyebrow{color:var(--accent)!important;margin-bottom:18px!important;}.phead .eyebrow span{background:var(--accent);box-shadow:0 0 0 5px rgba(20,125,221,.1);}.phead-glow{background:radial-gradient(circle,rgba(22,142,238,.18),transparent 64%);}
.reference-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}.reference-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;display:grid;grid-template-columns:180px 1fr;min-height:220px;transition:transform .2s,box-shadow .2s;}.reference-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(22,70,120,.11);}.reference-logo{padding:25px 18px;background:#f4f8fc;display:flex;align-items:center;justify-content:center;}.reference-logo img{max-height:120px;width:100%;object-fit:contain;mix-blend-mode:multiply;}.reference-content{padding:29px 26px;}.reference-content h2{font-size:24px;}.reference-content>p:last-child{margin-top:10px;color:var(--text-muted);font-size:14px;line-height:1.65;}.reference-type{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--accent);margin-bottom:11px;}.references-note{padding-top:0;}

.cta-final{border-radius:16px;border:0;background:#092341;color:#fff;position:relative;overflow:hidden;}.cta-final::after{content:"";position:absolute;width:460px;height:460px;right:-170px;top:-260px;border-radius:50%;border:1px solid rgba(146,211,255,.2);box-shadow:0 0 0 48px rgba(146,211,255,.04),0 0 0 96px rgba(146,211,255,.025);}.cta-final h2{color:#fff;position:relative;z-index:1;}.cta-final p{color:#c4d4e5;position:relative;z-index:1;}.cta-final .tag{color:#71cfff;}.cta-final .btn{position:relative;z-index:1;}
.foot{background:#06172e;border-color:#163352;}.foot .brand b,.foot ul a{color:#e8f2fc;}.foot .brand span,.foot p,.foot h4{color:#9cb5ce;}.foot-base{border-color:#163352;}.foot-base .wrap{color:#7f9bb7;}

@media (max-width:980px){.nav-links{gap:14px;}.nav-links a{font-size:13px;}.nav-cta{padding:9px 13px;}.hero-in{grid-template-columns:1fr;}.hero-card{max-width:490px;}.reference-intro{gap:30px;}.logo-grid{grid-template-columns:repeat(2,1fr);}.reference-card{grid-template-columns:145px 1fr;}}
@media (max-width:640px){.nav-links a{font-size:17px;}.hero-in{padding-top:72px;padding-bottom:72px;}.hero h1{font-size:clamp(43px,12vw,62px);}.hero-proof{display:grid;grid-template-columns:1fr 1fr;}.hero-card{width:100%;}.system-map{height:240px;}.panel-foot div{padding:14px;}.reference-intro{grid-template-columns:1fr;margin-bottom:28px;}.reference-intro>p{justify-self:start;}.logo-card{height:124px;padding:16px;}.reference-grid{grid-template-columns:1fr;gap:14px;}.reference-card{grid-template-columns:115px 1fr;min-height:180px;}.reference-logo{padding:12px;}.reference-content{padding:22px 18px;}.reference-content h2{font-size:21px;}.reference-content>p:last-child{font-size:13px;}.cta-final{padding:36px 28px;}}
