/* Vecter — Design tokens & base styles */
:root {
  /* Brand */
  --coral: #ea5053;
  --coral-600: #d63d40;
  --coral-50: #fef0f0;
  --coral-100: #fde0e1;

  /* Ink */
  --ink: #212529;
  --ink-muted: #5b636b;
  --ink-soft: #8a9099;
  --ink-faint: #b8bdc4;

  /* Surfaces */
  --bg: #ffffff;
  --bg-warm: #faf7f5;
  --bg-sand: #efe7df;
  --bg-tint: #f5f3f1;
  --border: #e8e3df;
  --border-strong: #d1ccc6;

  /* Accent neutrals */
  --charcoal: #0e0f10;
  --navy: #0a1f3d;

  /* Type */
  --font-sans: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Radius */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 24px;

  /* Shadow */
  --sh-1: 0 1px 2px rgba(33,37,41,.04), 0 1px 1px rgba(33,37,41,.02);
  --sh-2: 0 8px 24px -8px rgba(33,37,41,.08), 0 2px 6px rgba(33,37,41,.04);
  --sh-3: 0 24px 60px -20px rgba(33,37,41,.15), 0 8px 20px -8px rgba(33,37,41,.08);

  /* Layout */
  --maxw: min(1680px, 100%);
  --gutter: clamp(24px, 5vw, 96px);
}

[data-theme="dark"] {
  --bg: #0e0f10;
  --bg-warm: #161719;
  --bg-sand: #1f2024;
  --bg-tint: #1a1b1e;
  --ink: #f4f1ee;
  --ink-muted: #a5a8ad;
  --ink-soft: #7a7e85;
  --ink-faint: #4a4d52;
  --border: #26282d;
  --border-strong: #353940;
  --coral-50: #2a1818;
  --coral-100: #3a1d1d;
  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 8px 24px -8px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);
  --sh-3: 0 24px 60px -20px rgba(0,0,0,.6), 0 8px 20px -8px rgba(0,0,0,.4);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "cv11";
  transition: background-color .25s ease, color .25s ease;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: 0; background: none; color: inherit; }

/* Typography scale */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--coral); font-weight: 500;
}
.eyebrow::before {
  content: ""; width: 14px; height: 1px; background: var(--coral);
}

h1, h2, h3, h4 { font-family: var(--font-sans); color: var(--ink); margin: 0; letter-spacing: -0.02em; text-wrap: balance; }
h1 { font-size: clamp(40px, 5.4vw, 72px); line-height: 1.02; font-weight: 500; letter-spacing: -0.035em; }
h2 { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.08; font-weight: 500; letter-spacing: -0.028em; }
h3 { font-size: clamp(20px, 1.6vw, 24px); line-height: 1.2; font-weight: 500; letter-spacing: -0.018em; }
h4 { font-size: 16px; line-height: 1.3; font-weight: 500; }

p { margin: 0; text-wrap: pretty; }
.lede { font-size: 20px; line-height: 1.5; color: var(--ink-muted); max-width: 56ch; }
.muted { color: var(--ink-muted); }
.mono { font-family: var(--font-mono); }

/* Layout primitives */
.container {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.section {
  padding: 96px 0;
  border-top: 1px solid var(--border);
}
.section.tight { padding: 64px 0; }
.section.warm { background: var(--bg-warm); }
.section.sand { background: var(--bg-sand); }
.section.dark { background: var(--grad-dark); color: var(--bg-warm); }
.section.dark h1, .section.dark h2, .section.dark h3 { color: var(--bg-warm); }
.section.dark .muted { color: rgba(244,241,238,.6); }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; border-radius: var(--r-md);
  font-size: 15px; font-weight: 500; letter-spacing: -0.01em;
  transition: all .2s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}
.btn-primary {
  background: var(--coral); color: #fff;
}
.btn-primary:hover { background: var(--coral-600); }
.btn-ghost {
  background: transparent; color: var(--ink); border-color: var(--border-strong);
}
.btn-ghost:hover { background: var(--bg-warm); border-color: var(--ink); }
.btn-dark {
  background: var(--ink); color: var(--bg);
}
.btn-dark:hover { background: var(--grad-dark); }
.btn .arrow { transition: transform .2s ease; }
.btn:hover .arrow { transform: translateX(3px); }
.btn-lg { padding: 14px 22px; font-size: 16px; }
.btn-sm { padding: 8px 12px; font-size: 13px; }

/* Badges */
.badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border-radius: 999px;
  font-size: 13px; font-weight: 500;
  background: var(--coral-50); color: var(--coral);
  border: 1px solid var(--coral-100);
}
.badge .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--coral);
  box-shadow: 0 0 0 3px rgba(234,80,83,.18);
  animation: pulse 2.5s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(234,80,83,.18); }
  50% { box-shadow: 0 0 0 5px rgba(234,80,83,.05); }
}

/* Cards */
.card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px;
  transition: all .25s ease;
}
.card:hover { border-color: var(--border-strong); box-shadow: var(--sh-2); }

/* Header */
header.site {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.85);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--border);
}
[data-theme="dark"] header.site { background: rgba(14,15,16,.85); }
header.site .wrap {
  display: flex; align-items: center; justify-content: space-between;
  height: 76px; max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter);
}
header.site nav { display: flex; align-items: center; gap: 4px; }
header.site nav a {
  padding: 8px 12px; border-radius: var(--r-sm);
  font-size: 14.5px; font-weight: 450; color: var(--ink-muted);
  transition: color .15s ease, background .15s ease;
}
header.site nav a:hover { color: var(--ink); background: var(--bg-tint); }
header.site nav a.active { color: var(--ink); }
header.site .logo { height: 42px; width: auto; }
footer.site img.flogo { height: 42px; width: auto; }
header.site .right { display: flex; align-items: center; gap: 10px; }
.iconbtn {
  width: 34px; height: 34px; border-radius: var(--r-sm);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--ink-muted); border: 1px solid transparent;
  transition: all .15s ease;
}
.iconbtn:hover { background: var(--bg-tint); color: var(--ink); }

/* Lang switch */
.lang {
  display: inline-flex; padding: 3px;
  background: var(--bg-tint); border: 1px solid var(--border); border-radius: 999px;
  font-family: var(--font-mono); font-size: 11px;
}
.lang button {
  padding: 4px 10px; border-radius: 999px; color: var(--ink-muted);
  transition: all .15s ease;
}
.lang button.on { background: var(--bg); color: var(--ink); box-shadow: var(--sh-1); }

/* Footer */
footer.site {
  background: var(--grad-dark); color: #f4f1ee; padding: 80px 0 40px;
}
footer.site .grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
  gap: 48px;
}
footer.site h5 {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em;
  text-transform: uppercase; color: rgba(244,241,238,.5);
  margin: 0 0 16px; font-weight: 500;
}
footer.site ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
footer.site a { color: rgba(244,241,238,.75); font-size: 14px; }
footer.site a:hover { color: #fff; }
footer.site .bottom {
  margin-top: 64px; padding-top: 24px;
  border-top: 1px solid rgba(244,241,238,.1);
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: rgba(244,241,238,.5);
}

/* Scroll-reveal */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: none; }
.reveal[data-delay="1"] { transition-delay: .08s; }
.reveal[data-delay="2"] { transition-delay: .16s; }
.reveal[data-delay="3"] { transition-delay: .24s; }
.reveal[data-delay="4"] { transition-delay: .32s; }
.reveal[data-delay="5"] { transition-delay: .40s; }

/* i18n: hide alt language by default */
[lang-fr] { display: var(--show-fr, initial); }
[lang-en] { display: var(--show-en, none); }
html[data-lang="en"] { --show-fr: none; --show-en: initial; }

/* Inline i18n helper: show as span by default */
span[lang-fr], span[lang-en] { display: var(--show-fr-inline, inline); }
span[lang-en] { display: var(--show-en-inline, none); }
html[data-lang="en"] span[lang-fr] { display: none; }
html[data-lang="en"] span[lang-en] { display: inline; }

/* Cookie banner */
.cookie {
  position: fixed; left: 16px; bottom: 16px; right: 16px;
  max-width: 520px;
  background: var(--bg); border: 1px solid var(--border-strong);
  border-radius: var(--r-lg); padding: 20px;
  box-shadow: var(--sh-3); z-index: 100;
  transform: translateY(140%); transition: transform .4s cubic-bezier(.3,.7,.3,1);
}
.cookie.show { transform: none; }
.cookie h4 { margin: 0 0 6px; font-size: 15px; }
.cookie p { font-size: 13.5px; color: var(--ink-muted); margin: 0 0 14px; }
.cookie .actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Utility */
.tag {
  display: inline-flex; padding: 3px 9px; border-radius: 6px;
  font-family: var(--font-mono); font-size: 11px;
  background: var(--bg-tint); color: var(--ink-muted);
  border: 1px solid var(--border);
}
.tag.coral { background: var(--coral-50); color: var(--coral); border-color: var(--coral-100); }
.tag.dark { background: rgba(255,255,255,.08); color: rgba(244,241,238,.85); border-color: rgba(255,255,255,.12); }

hr.rule { border: 0; border-top: 1px solid var(--border); margin: 0; }

/* Print / SEO meta visualisation */
.seo-meta {
  background: var(--bg-tint); border: 1px dashed var(--border-strong);
  border-radius: var(--r-md); padding: 14px 18px;
  font-family: var(--font-mono); font-size: 11.5px;
  color: var(--ink-muted);
}
.seo-meta strong { color: var(--ink); font-weight: 500; }
.seo-meta .row { display: flex; gap: 10px; padding: 3px 0; }
.seo-meta .row span:first-child { color: var(--coral); min-width: 110px; }

/* FAQ accordion */
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-q {
  display: flex; justify-content: space-between; align-items: center;
  padding: 24px 0; cursor: pointer; gap: 24px;
  font-size: 19px; font-weight: 500; letter-spacing: -0.015em;
  color: var(--ink); width: 100%; text-align: left;
}
.faq-q .plus {
  width: 28px; height: 28px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative;
  border-radius: 999px; border: 1px solid var(--border-strong);
  transition: all .2s ease;
}
.faq-q .plus::before, .faq-q .plus::after {
  content: ""; position: absolute; background: var(--ink); transition: transform .25s ease;
}
.faq-q .plus::before { width: 12px; height: 1.5px; }
.faq-q .plus::after { width: 1.5px; height: 12px; }
.faq-item.open .faq-q .plus { background: var(--coral); border-color: var(--coral); }
.faq-item.open .faq-q .plus::before, .faq-item.open .faq-q .plus::after { background: #fff; }
.faq-item.open .faq-q .plus::after { transform: scaleY(0); }
.faq-a {
  max-height: 0; overflow: hidden; transition: max-height .35s ease;
  color: var(--ink-muted);
}
.faq-item.open .faq-a { max-height: 600px; }
.faq-a-inner { padding: 0 0 24px; max-width: 70ch; font-size: 16px; line-height: 1.6; }

/* Table */
.tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14.5px; }
.tbl thead th {
  text-align: left; font-weight: 500; padding: 14px 16px;
  background: var(--bg-warm);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  font-size: 13px; color: var(--ink-muted);
  letter-spacing: -0.01em;
}
.tbl thead th:first-child { border-left: 1px solid var(--border); border-top-left-radius: var(--r-md); }
.tbl thead th:last-child { border-right: 1px solid var(--border); border-top-right-radius: var(--r-md); }
.tbl tbody td {
  padding: 16px; border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.tbl tbody td:first-child { border-left: 1px solid var(--border); }
.tbl tbody td:last-child { border-right: 1px solid var(--border); }
.tbl tbody tr:last-child td:first-child { border-bottom-left-radius: var(--r-md); }
.tbl tbody tr:last-child td:last-child { border-bottom-right-radius: var(--r-md); }
.tbl tbody tr:hover td { background: var(--bg-warm); }
.tbl .num { font-family: var(--font-mono); color: var(--ink); }
.tbl .name { font-weight: 500; }


.vpage[hidden]{display:none!important}
a{color:inherit}a:hover{color:var(--coral)}
/* home */
[data-page="home"] .editorial-bar{
  background: var(--grad-dark); color: rgba(244,241,238,.7);
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.04em; padding: 8px 0;
}
[data-page="home"] .editorial-bar .wrap{
  max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter);
  display: flex; justify-content: space-between; align-items: center;
}
[data-page="home"] .editorial-bar .live{ display: inline-flex; align-items: center; gap: 8px; }
[data-page="home"] .editorial-bar .live::before{
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--coral);
  box-shadow: 0 0 0 3px rgba(234,80,83,.2);
}
[data-page="home"] .hero{
  position: relative;
  padding: 96px 0 120px;
  overflow: hidden;
}
[data-page="home"] .hero::before{
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(60% 80% at 80% 0%, rgba(234,80,83,.07), transparent 70%),
    linear-gradient(180deg, transparent, var(--bg-warm) 100%);
  z-index: 0;
}
[data-page="home"] .hero .container{ position: relative; z-index: 1; }
[data-page="home"] .hero .grid{
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center;
}
[data-page="home"] .hero h1{ margin-top: 28px; }
[data-page="home"] .hero h1 em{
  font-style: normal; color: var(--coral);
  position: relative; white-space: nowrap;
}
[data-page="home"] .hero h1 em::after{
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 8px;
  background: var(--coral-50); z-index: -1; border-radius: 2px;
}
[data-page="home"] .hero .actions{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
[data-page="home"] .hero .meta{
  display: flex; gap: 28px; flex-wrap: wrap; margin-top: 40px;
  padding-top: 28px; border-top: 1px solid var(--border);
}
[data-page="home"] .hero .meta .item{ font-size: 13.5px; }
[data-page="home"] .hero .meta .item .v{ font-family: var(--font-mono); color: var(--ink); font-size: 14px; font-weight: 500; }
[data-page="home"] .hero .meta .item .l{ color: var(--ink-muted); font-size: 12px; letter-spacing: 0.02em; text-transform: uppercase; margin-top: 4px; }
[data-page="home"] .diagram{
  position: relative;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 28px;
  box-shadow: var(--sh-3);
}
[data-page="home"] .diag-tag{
  position: absolute; top: -14px; right: 24px;
  background: var(--ink); color: var(--bg);
  font-family: var(--font-mono); font-size: 11px;
  padding: 6px 12px; border-radius: 999px;
}
[data-page="home"] .diagram-head{
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; margin-bottom: 24px;
}
[data-page="home"] .diagram-head .dots{ display: flex; gap: 6px; }
[data-page="home"] .diagram-head .dots span{ width: 9px; height: 9px; border-radius: 50%; background: var(--border-strong); }
[data-page="home"] .diagram-grid{ display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: stretch; }
[data-page="home"] .diagram-col h6{
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-soft); margin: 0 0 12px; font-weight: 500;
}
[data-page="home"] .diagram-col.cur h6{ color: var(--ink-muted); }
[data-page="home"] .diagram-col.tgt h6{ color: var(--coral); }
[data-page="home"] .silos{ display: flex; flex-direction: column; gap: 8px; }
[data-page="home"] .silo{
  font-size: 12px; padding: 10px 12px; border-radius: 8px;
  background: var(--bg-warm); border: 1px solid var(--border);
  color: var(--ink-muted); display: flex; align-items: center; gap: 8px;
}
[data-page="home"] .silo .pip{ width: 6px; height: 6px; border-radius: 50%; background: var(--ink-faint); }
[data-page="home"] .silo:nth-child(odd){ transform: rotate(-1deg); margin-left: 4px; }
[data-page="home"] .silo:nth-child(even){ transform: rotate(1.2deg); margin-right: 4px; }
[data-page="home"] .unified{
  display: flex; flex-direction: column; gap: 6px;
  border: 1px solid var(--coral-100); background: var(--coral-50);
  border-radius: 12px; padding: 10px;
}
[data-page="home"] .unified .row{
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px; background: var(--bg); border-radius: 6px;
  font-size: 12px; color: var(--ink);
  border: 1px solid rgba(234,80,83,.15);
}
[data-page="home"] .unified .row .pip{ width: 6px; height: 6px; border-radius: 50%; background: var(--coral); }
[data-page="home"] .arrow-col{
  display: flex; align-items: center; justify-content: center;
  position: relative; padding: 0 4px; color: var(--coral);
}
[data-page="home"] .diagram .legend{
  margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--border);
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
}
[data-page="home"] .diagram .legend .step{ display: inline-flex; align-items: center; gap: 8px; }
[data-page="home"] .diagram .legend .step .n{
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--ink); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 500;
}
[data-page="home"] .diagram .legend .step.active .n{ background: var(--coral); }
[data-page="home"] .sec-head{
  display: grid; grid-template-columns: 240px 1fr; gap: 32px;
  margin-bottom: 56px;
}
[data-page="home"] .sec-head .label{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  padding-top: 8px;
}
[data-page="home"] .sec-head .label .num{
  display: block; font-size: 32px; color: var(--coral);
  font-weight: 500; letter-spacing: -0.02em;
  margin-bottom: 12px; line-height: 1;
}
[data-page="home"] .sec-head h2{ max-width: 22ch; }
[data-page="home"] .sec-head p{ color: var(--ink-muted); margin-top: 18px; max-width: 60ch; font-size: 16px; }
[data-page="home"] .sec-head .right-actions{ margin-top: 24px; }
[data-page="home"] .pillars{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
[data-page="home"] .pillar{ position: relative; }
[data-page="home"] .pillar .num{
  font-family: var(--font-mono); font-size: 11px; color: var(--coral);
  letter-spacing: 0.06em;
}
[data-page="home"] .pillar h3{ margin: 16px 0 10px; font-size: 19px; }
[data-page="home"] .pillar p{ color: var(--ink-muted); font-size: 14.5px; line-height: 1.55; }
[data-page="home"] .pillar::before{
  content: ""; position: absolute; top: -4px; left: 0; width: 32px; height: 1px;
  background: var(--coral);
}
[data-page="home"] .transform-band{
  background: var(--grad-dark); color: var(--bg-warm);
  padding: 96px 0;
}
[data-page="home"] .transform-band h2{ color: var(--bg-warm); }
[data-page="home"] .transform-band .sec-head .label{ color: rgba(244,241,238,.5); }
[data-page="home"] .transform-band .sec-head p{ color: rgba(244,241,238,.6); }
[data-page="home"] .transform-flow{
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px;
}
[data-page="home"] .tf-step{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-md);
  padding: 28px;
}
[data-page="home"] .tf-step .num{
  font-family: var(--font-mono); font-size: 12px;
  color: var(--coral); letter-spacing: 0.06em;
}
[data-page="home"] .tf-step h4{ color: #fff; margin: 12px 0 8px; font-size: 18px; font-weight: 500; }
[data-page="home"] .tf-step p{ font-size: 13.5px; color: rgba(244,241,238,.6); line-height: 1.55; }
[data-page="home"] .tf-step ul{
  list-style: none; padding: 0; margin: 16px 0 0;
  font-family: var(--font-mono); font-size: 11px;
  color: rgba(244,241,238,.5); display: flex; flex-direction: column; gap: 6px;
}
[data-page="home"] .tf-step ul li{ display: flex; align-items: center; gap: 8px; }
[data-page="home"] .tf-step ul li::before{ content: "—"; color: var(--coral); }
[data-page="home"] .services-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
[data-page="home"] .svc{
  position: relative;
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 28px;
  transition: all .25s ease;
}
[data-page="home"] .svc:hover{ border-color: var(--ink); transform: translateY(-2px); box-shadow: var(--sh-2); }
[data-page="home"] .svc .ico{
  width: 36px; height: 36px; border-radius: 8px;
  background: var(--coral-50); color: var(--coral);
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
[data-page="home"] .svc h3{ font-size: 17px; margin-bottom: 8px; }
[data-page="home"] .svc p{ font-size: 14px; color: var(--ink-muted); line-height: 1.55; margin-bottom: 32px; }
[data-page="home"] .svc .arrow{
  position: absolute; right: 24px; bottom: 24px;
  color: var(--ink-faint);
  transition: color .2s, transform .2s;
}
[data-page="home"] .svc:hover .arrow{ color: var(--coral); transform: translateX(4px); }
[data-page="home"] .f4d-b{
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  display: grid; grid-template-columns: 1fr 1fr;
}
[data-page="home"] .f4d-b .left{
  background: var(--coral); color: #fff;
  padding: 56px;
  display: flex; flex-direction: column; justify-content: space-between;
  position: relative; min-height: 460px;
}
[data-page="home"] .f4d-b .seal-big{
  width: 88px; height: 88px; border-radius: 50%;
  background: #fff; color: var(--coral);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 11px; font-weight: 500;
  border: 6px solid rgba(255,255,255,.15);
  flex-direction: column;
}
[data-page="home"] .f4d-b .seal-big strong{ font-weight: 600; font-size: 14px; }
[data-page="home"] .f4d-b h2{ color: #fff; max-width: 14ch; }
[data-page="home"] .f4d-b .left p{ color: rgba(255,255,255,.85); max-width: 36ch; font-size: 16px; line-height: 1.5; }
[data-page="home"] .f4d-b .right{ padding: 56px; }
[data-page="home"] .f4d-b .right h4{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em;
  text-transform: uppercase; margin: 0 0 20px; font-weight: 500;
}
[data-page="home"] .f4d-b .figures{
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 32px;
  border-bottom: 1px solid var(--border); padding-bottom: 32px; margin-bottom: 32px;
}
[data-page="home"] .f4d-b .fig .v{
  font-size: 44px; font-weight: 500; letter-spacing: -0.035em;
  color: var(--ink); line-height: 1; display: flex; align-items: baseline; gap: 4px;
}
[data-page="home"] .f4d-b .fig .v sup{ font-size: 18px; color: var(--coral); top: -.5em; position: relative; }
[data-page="home"] .f4d-b .fig .l{ font-size: 12.5px; color: var(--ink-muted); margin-top: 8px; line-height: 1.4; }
[data-page="home"] .aides-list{ display: flex; flex-direction: column; }
[data-page="home"] .aide-row{
  display: grid; grid-template-columns: 60px 1.2fr 2fr 1fr;
  align-items: center; gap: 24px;
  padding: 28px 0; border-top: 1px solid var(--border);
}
[data-page="home"] .aide-row:last-child{ border-bottom: 1px solid var(--border); }
[data-page="home"] .aide-row .lbl{ font-family: var(--font-mono); font-size: 11px; color: var(--coral); }
[data-page="home"] .aide-row .nm{ font-size: 19px; font-weight: 500; letter-spacing: -0.015em; }
[data-page="home"] .aide-row .ds{ font-size: 14px; color: var(--ink-muted); }
[data-page="home"] .aide-row .bar{
  position: relative; height: 8px; background: var(--bg-tint);
  border-radius: 4px; overflow: hidden;
}
[data-page="home"] .aide-row .bar > span{
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--coral); border-radius: 4px;
}
[data-page="home"] .aide-row .pct{ font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted); margin-top: 6px; display: block; }
[data-page="home"] .partners-b{
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: var(--border); border: 1px solid var(--border); border-radius: var(--r-lg);
  overflow: hidden;
}
[data-page="home"] .p-cell{
  background: var(--bg); padding: 32px;
  display: flex; flex-direction: column; gap: 12px;
}
[data-page="home"] .p-cell .role{
  font-family: var(--font-mono); font-size: 10px; color: var(--ink-muted);
  letter-spacing: 0.08em; text-transform: uppercase;
}
[data-page="home"] .p-cell .nm{ font-size: 18px; font-weight: 500; letter-spacing: -0.015em; }
[data-page="home"] .p-cell .nm strong{ color: var(--coral); font-weight: 500; }
[data-page="home"] .p-cell .role-desc{ font-size: 13px; color: var(--ink-muted); line-height: 1.5; flex: 1; }
[data-page="home"] .p-cell .badge-small{
  display: inline-flex; padding: 2px 8px; border-radius: 4px;
  background: var(--bg-tint); font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-muted); align-self: flex-start;
}
[data-page="home"] .contact-final{ padding: 96px 0; background: var(--bg); border-top: 1px solid var(--border); }
[data-page="home"] .contact-final .container{ display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
[data-page="home"] .contact-final h2{ max-width: 16ch; }
[data-page="home"] .contact-final form{ display: grid; gap: 14px; }
[data-page="home"] .contact-final label{
  display: grid; gap: 6px;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase;
}
[data-page="home"] .contact-final input, [data-page="home"] .contact-final textarea, [data-page="home"] .contact-final select{
  padding: 12px 14px;
  border: 1px solid var(--border-strong); background: var(--bg);
  border-radius: var(--r-md);
  font-family: inherit; font-size: 15px; color: var(--ink);
  transition: border .15s;
}
[data-page="home"] .contact-final input:focus, [data-page="home"] .contact-final textarea:focus, [data-page="home"] .contact-final select:focus{
  outline: 0; border-color: var(--coral); box-shadow: 0 0 0 4px rgba(234,80,83,.08);
}
[data-page="home"] .contact-final textarea{ min-height: 100px; resize: vertical; }
[data-page="home"] .contact-final .row2{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
[data-page="home"] .contact-final .success{
  display: none;
  background: var(--coral-50); border: 1px solid var(--coral-100);
  padding: 14px 18px; border-radius: var(--r-md);
  color: var(--coral); font-size: 14px; font-weight: 500;
}
[data-page="home"] .contact-final .factrow{
  display: flex; justify-content: space-between; padding: 14px 0;
  border-top: 1px solid var(--border); font-size: 13.5px;
}
[data-page="home"] .contact-final .factrow:last-child{ border-bottom: 1px solid var(--border); }
[data-page="home"] .contact-final .factrow .k{ color: var(--ink-muted); }
[data-page="home"] .contact-final .factrow .v{ font-weight: 500; color: var(--ink); }
[data-page="home"] header.site .logo, [data-page="home"] footer.site img.flogo{ height: 28px; width: auto; }
@media (max-width: 920px){[data-page="home"] .hero .grid, [data-page="home"] .f4d-b, [data-page="home"] .contact-final .container{ grid-template-columns: 1fr; gap: 32px; }
[data-page="home"] .pillars, [data-page="home"] .services-grid, [data-page="home"] .transform-flow, [data-page="home"] .partners-b{ grid-template-columns: 1fr 1fr; gap: 16px; }
[data-page="home"] .sec-head{ grid-template-columns: 1fr; gap: 16px; }
}
/* fit4digital */
[data-page="fit4digital"] .page-hero{
  padding: 72px 0 56px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}
[data-page="fit4digital"] .page-hero .breadcrumb{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase;
  margin-bottom: 32px;
}
[data-page="fit4digital"] .page-hero .breadcrumb a{ color: var(--ink-muted); }
[data-page="fit4digital"] .page-hero .breadcrumb a:hover{ color: var(--coral); }
[data-page="fit4digital"] .page-hero .breadcrumb .sep{ margin: 0 8px; color: var(--ink-faint); }
[data-page="fit4digital"] .page-hero .breadcrumb .cur{ color: var(--coral); }
[data-page="fit4digital"] .page-hero .topgrid{
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: flex-start;
}
[data-page="fit4digital"] .page-hero h1{ font-size: clamp(40px, 5vw, 64px); }
[data-page="fit4digital"] .page-hero p.lede{ margin-top: 24px; max-width: 56ch; }
[data-page="fit4digital"] .summary-card{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 24px;
  position: sticky; top: 88px;
}
[data-page="fit4digital"] .summary-card h5{
  font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-muted); letter-spacing: 0.08em; text-transform: uppercase;
  margin: 0 0 14px; font-weight: 500;
}
[data-page="fit4digital"] .summary-card ol{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 2px;
  counter-reset: toc;
}
[data-page="fit4digital"] .summary-card ol li{ counter-increment: toc; }
[data-page="fit4digital"] .summary-card ol li a{
  display: flex; align-items: baseline; gap: 12px;
  padding: 8px 10px; border-radius: var(--r-sm);
  font-size: 14px; color: var(--ink-muted);
  transition: all .15s;
}
[data-page="fit4digital"] .summary-card ol li a:hover{ background: var(--bg-warm); color: var(--ink); }
[data-page="fit4digital"] .summary-card ol li a::before{
  content: counter(toc, decimal-leading-zero);
  font-family: var(--font-mono); font-size: 11px;
  color: var(--coral); min-width: 24px;
}
[data-page="fit4digital"] .seo-meta-card{
  margin-top: 24px;
  padding: 14px 18px;
  background: var(--bg-tint); border: 1px dashed var(--border-strong);
  border-radius: var(--r-md);
}
[data-page="fit4digital"] .seo-meta-card h6{
  font-family: var(--font-mono); font-size: 10px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  margin: 0 0 10px; font-weight: 500;
}
[data-page="fit4digital"] .seo-meta-card .pair{
  display: grid; grid-template-columns: 80px 1fr; gap: 8px;
  font-family: var(--font-mono); font-size: 11px;
  padding: 4px 0; border-top: 1px solid var(--border);
  color: var(--ink-muted);
}
[data-page="fit4digital"] .seo-meta-card .pair:first-child{ border-top: 0; }
[data-page="fit4digital"] .seo-meta-card .pair span:first-child{ color: var(--coral); }
[data-page="fit4digital"] .seo-meta-card .pair span:last-child{ color: var(--ink); }
[data-page="fit4digital"] .article{
  display: grid; grid-template-columns: 220px 1fr; gap: 80px;
  padding: 80px 0;
}
[data-page="fit4digital"] .article-sticky{
  position: sticky; top: 88px; align-self: start;
  font-family: var(--font-mono); font-size: 11px;
}
[data-page="fit4digital"] .article-sticky h6{
  font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-muted); margin: 0 0 14px; font-weight: 500;
}
[data-page="fit4digital"] .article-sticky a{
  display: block; padding: 6px 0;
  color: var(--ink-muted); border-left: 2px solid transparent;
  padding-left: 12px; margin-left: -14px;
  font-size: 12px; letter-spacing: 0.02em;
}
[data-page="fit4digital"] .article-sticky a:hover, [data-page="fit4digital"] .article-sticky a.active{ color: var(--coral); border-color: var(--coral); }
[data-page="fit4digital"] .article-body{ max-width: 720px; }
[data-page="fit4digital"] .article-body h2{
  margin-top: 64px; margin-bottom: 20px;
  scroll-margin-top: 90px;
}
[data-page="fit4digital"] .article-body h2:first-child{ margin-top: 0; }
[data-page="fit4digital"] .article-body h3{
  margin-top: 36px; margin-bottom: 12px;
  font-size: 20px; font-weight: 500;
}
[data-page="fit4digital"] .article-body p{ font-size: 16.5px; line-height: 1.65; color: var(--ink-muted); margin-bottom: 16px; }
[data-page="fit4digital"] .article-body p strong{ color: var(--ink); font-weight: 500; }
[data-page="fit4digital"] .article-body ul{
  margin: 0 0 24px; padding: 0; list-style: none;
}
[data-page="fit4digital"] .article-body ul li{
  position: relative; padding-left: 24px; font-size: 16px;
  line-height: 1.65; color: var(--ink-muted); margin-bottom: 8px;
}
[data-page="fit4digital"] .article-body ul li::before{
  content: ""; position: absolute; left: 0; top: 12px;
  width: 12px; height: 1px; background: var(--coral);
}
[data-page="fit4digital"] .article-body .callout{
  border-left: 3px solid var(--coral);
  padding: 14px 20px;
  background: var(--coral-50);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  font-size: 15px; color: var(--ink);
  margin: 24px 0;
}
[data-page="fit4digital"] .article-body .callout strong{ color: var(--coral); }
[data-page="fit4digital"] .phases{
  display: grid; gap: 0;
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
  margin: 24px 0;
}
[data-page="fit4digital"] .phase{
  padding: 28px; display: grid; grid-template-columns: 100px 1fr 200px;
  gap: 28px; align-items: flex-start;
  border-top: 1px solid var(--border);
}
[data-page="fit4digital"] .phase:first-child{ border-top: 0; }
[data-page="fit4digital"] .phase .ph-n{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--coral); letter-spacing: 0.06em;
}
[data-page="fit4digital"] .phase h4{ font-size: 17px; font-weight: 500; margin-bottom: 6px; }
[data-page="fit4digital"] .phase p{ font-size: 14.5px; color: var(--ink-muted); line-height: 1.55; margin: 0; }
[data-page="fit4digital"] .phase .ph-meta{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  display: flex; flex-direction: column; gap: 4px;
  text-align: right;
}
[data-page="fit4digital"] .phase .ph-meta .v{ color: var(--coral); font-size: 14px; font-weight: 500; }
[data-page="fit4digital"] .fund-card{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
  margin: 24px 0;
}
[data-page="fit4digital"] .fund-card .head{
  background: var(--bg-warm); padding: 16px 24px;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink-muted); border-bottom: 1px solid var(--border);
  display: flex; justify-content: space-between;
}
[data-page="fit4digital"] .fund-card .body{ padding: 28px; }
[data-page="fit4digital"] .fund-card .row{
  display: grid; grid-template-columns: 1fr 2fr;
  gap: 24px; padding: 16px 0; border-top: 1px solid var(--border);
  align-items: center;
}
[data-page="fit4digital"] .fund-card .row:first-child{ border-top: 0; padding-top: 0; }
[data-page="fit4digital"] .fund-card .row .k{ font-size: 14px; color: var(--ink); font-weight: 500; }
[data-page="fit4digital"] .fund-card .row .vis{
  display: flex; align-items: center; gap: 16px;
}
[data-page="fit4digital"] .fund-card .row .bar{
  flex: 1; height: 28px; background: var(--bg-warm);
  border-radius: 4px; position: relative; overflow: hidden;
  border: 1px solid var(--border);
}
[data-page="fit4digital"] .fund-card .row .fill{
  position: absolute; left: 0; top: 0; bottom: 0;
  background: var(--coral); border-radius: 3px;
}
[data-page="fit4digital"] .fund-card .row .pct{
  font-family: var(--font-mono); font-size: 14px;
  font-weight: 500; color: var(--coral);
  min-width: 60px; text-align: right;
}
[data-page="fit4digital"] .faq-wrap{
  background: var(--bg-warm);
  padding: 80px 0;
  border-top: 1px solid var(--border);
}
[data-page="fit4digital"] .faq-wrap .container{ display: grid; grid-template-columns: 1fr 2fr; gap: 64px; align-items: flex-start; }
[data-page="fit4digital"] .faq-list{ background: var(--bg); border-radius: var(--r-lg); padding: 0 32px; border: 1px solid var(--border); }
[data-page="fit4digital"] .faq-wrap .faq-item:last-child{ border-bottom: 0; }
@media (max-width: 920px){[data-page="fit4digital"] .article, [data-page="fit4digital"] .page-hero .topgrid, [data-page="fit4digital"] .faq-wrap .container{ grid-template-columns: 1fr; gap: 32px; }
[data-page="fit4digital"] .article-sticky, [data-page="fit4digital"] .summary-card{ position: static; }
[data-page="fit4digital"] .phase{ grid-template-columns: 80px 1fr; }
[data-page="fit4digital"] .phase .ph-meta{ display: none; }
}
/* aides */
[data-page="aides"] .page-hero{
  padding: 72px 0 56px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}
[data-page="aides"] .page-hero .breadcrumb{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 32px;
}
[data-page="aides"] .page-hero .breadcrumb .cur{ color: var(--coral); }
[data-page="aides"] .page-hero .breadcrumb .sep{ margin: 0 8px; color: var(--ink-faint); }
[data-page="aides"] .page-hero .topgrid{
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 64px; align-items: flex-start;
}
[data-page="aides"] .page-hero h1{ font-size: clamp(40px, 5vw, 64px); }
[data-page="aides"] .kpi-card{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 24px;
}
[data-page="aides"] .kpi-card h5{
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-muted); margin: 0 0 16px; font-weight: 500;
}
[data-page="aides"] .kpi-row{
  display: grid; grid-template-columns: 1fr auto; gap: 12px;
  padding: 12px 0; border-top: 1px solid var(--border);
  font-size: 14px;
}
[data-page="aides"] .kpi-row:first-of-type{ border-top: 0; padding-top: 0; }
[data-page="aides"] .kpi-row .label{ color: var(--ink); }
[data-page="aides"] .kpi-row .val{ font-family: var(--font-mono); color: var(--coral); font-weight: 500; }
[data-page="aides"] .schemes{
  padding: 80px 0;
  background: var(--bg);
}
[data-page="aides"] .scheme-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
[data-page="aides"] .scheme{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 32px;
  display: flex; flex-direction: column;
  transition: all .25s;
}
[data-page="aides"] .scheme:hover{ border-color: var(--border-strong); box-shadow: var(--sh-2); transform: translateY(-2px); }
[data-page="aides"] .scheme.feat{ background: var(--grad-dark); color: var(--bg-warm); border-color: var(--charcoal); }
[data-page="aides"] .scheme.feat h3{ color: var(--bg-warm); }
[data-page="aides"] .scheme.feat .muted{ color: rgba(244,241,238,.6); }
[data-page="aides"] .scheme .top{
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;
}
[data-page="aides"] .scheme .src{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase;
}
[data-page="aides"] .scheme.feat .src{ color: rgba(244,241,238,.5); }
[data-page="aides"] .scheme h3{ font-size: 26px; letter-spacing: -0.022em; margin: 0; }
[data-page="aides"] .scheme .desc{ color: var(--ink-muted); font-size: 14.5px; line-height: 1.55; margin: 14px 0 24px; flex: 1; }
[data-page="aides"] .scheme.feat .desc{ color: rgba(244,241,238,.7); }
[data-page="aides"] .scheme .figures-row{
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  margin-bottom: 20px;
}
[data-page="aides"] .scheme .fig{
  padding: 14px; background: var(--bg-warm); border-radius: var(--r-md);
  border: 1px solid var(--border);
}
[data-page="aides"] .scheme.feat .fig{ background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
[data-page="aides"] .scheme .fig .v{
  font-size: 22px; font-weight: 500; letter-spacing: -0.025em;
  color: var(--coral); font-family: inherit;
  line-height: 1.1;
}
[data-page="aides"] .scheme .fig .l{
  font-size: 11px; color: var(--ink-muted);
  margin-top: 4px; letter-spacing: 0.02em;
}
[data-page="aides"] .scheme.feat .fig .l{ color: rgba(244,241,238,.5); }
[data-page="aides"] .scheme ul{
  list-style: none; padding: 0; margin: 0 0 24px;
  display: flex; flex-direction: column; gap: 8px;
}
[data-page="aides"] .scheme ul li{
  font-size: 13.5px; color: var(--ink-muted); line-height: 1.5;
  position: relative; padding-left: 18px;
}
[data-page="aides"] .scheme.feat ul li{ color: rgba(244,241,238,.65); }
[data-page="aides"] .scheme ul li::before{
  content: ""; position: absolute; left: 0; top: 9px;
  width: 8px; height: 1px; background: var(--coral);
}
[data-page="aides"] .scheme .footer-row{
  margin-top: auto; padding-top: 18px; border-top: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: center;
}
[data-page="aides"] .scheme.feat .footer-row{ border-color: rgba(255,255,255,.1); }
[data-page="aides"] .scheme .tags{ display: flex; gap: 6px; flex-wrap: wrap; }
[data-page="aides"] .scheme .link{
  font-size: 13.5px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--coral);
}
[data-page="aides"] .scheme .link::after{ content: "→"; }
[data-page="aides"] .compare{
  padding: 80px 0;
  background: var(--bg-warm);
  border-top: 1px solid var(--border);
}
[data-page="aides"] .compare-table-wrap{
  background: var(--bg); border-radius: var(--r-lg);
  overflow: hidden; border: 1px solid var(--border);
}
[data-page="aides"] .compare-table{
  width: 100%; border-collapse: collapse;
  font-size: 14.5px;
}
[data-page="aides"] .compare-table thead th{
  text-align: left; padding: 18px 20px;
  background: var(--bg-warm); border-bottom: 1px solid var(--border);
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  font-weight: 500;
}
[data-page="aides"] .compare-table thead th.aid{ text-transform: none; letter-spacing: -0.015em; font-family: var(--font-sans); font-size: 14px; color: var(--ink); font-weight: 500; }
[data-page="aides"] .compare-table thead th.aid.coral{ color: var(--coral); }
[data-page="aides"] .compare-table tbody td{
  padding: 18px 20px; border-bottom: 1px solid var(--border);
  vertical-align: top;
}
[data-page="aides"] .compare-table tbody tr:last-child td{ border-bottom: 0; }
[data-page="aides"] .compare-table tbody td:first-child{
  font-weight: 500; color: var(--ink); width: 220px;
  background: var(--bg-warm);
}
[data-page="aides"] .compare-table .yes{ color: var(--coral); font-family: var(--font-mono); font-weight: 500; }
[data-page="aides"] .compare-table .no{ color: var(--ink-faint); font-family: var(--font-mono); }
[data-page="aides"] .compare-table .check{
  display: inline-flex; align-items: center; gap: 8px;
}
[data-page="aides"] .compare-table .check::before{
  content: ""; width: 16px; height: 16px; border-radius: 50%;
  background: var(--coral-50);
  display: inline-flex; align-items: center; justify-content: center;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea5053' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 10px; background-position: center; background-repeat: no-repeat;
}
[data-page="aides"] .howto{
  padding: 80px 0;
  background: var(--bg);
  border-top: 1px solid var(--border);
}
[data-page="aides"] .howto-grid{
  display: grid; grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 0; margin-top: 56px;
}
[data-page="aides"] .howto-step{
  padding: 32px; position: relative;
  border-left: 1px solid var(--border);
}
[data-page="aides"] .howto-step:first-child{ border-left: 0; padding-left: 0; }
[data-page="aides"] .howto-step:last-child{ padding-right: 0; }
[data-page="aides"] .howto-step .n{
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid var(--coral); color: var(--coral);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 12px; font-weight: 500;
  margin-bottom: 16px;
}
[data-page="aides"] .howto-step h4{ font-size: 16px; margin-bottom: 8px; font-weight: 500; }
[data-page="aides"] .howto-step p{ color: var(--ink-muted); font-size: 13.5px; line-height: 1.55; }
[data-page="aides"] .cumul{
  background: var(--grad-dark); color: var(--bg-warm);
  padding: 64px;
  border-radius: var(--r-xl);
  margin: 0 var(--gutter);
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
  align-items: center;
}
[data-page="aides"] .cumul h2{ color: var(--bg-warm); max-width: 18ch; }
[data-page="aides"] .cumul p{ color: rgba(244,241,238,.65); margin-top: 16px; max-width: 40ch; line-height: 1.55; }
[data-page="aides"] .cumul-stack{
  display: flex; flex-direction: column; gap: 6px;
  position: relative;
}
[data-page="aides"] .cumul-stack .item{
  display: flex; justify-content: space-between; align-items: center;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-md);
  padding: 16px 20px; font-size: 14px;
}
[data-page="aides"] .cumul-stack .item .left{ display: flex; align-items: center; gap: 12px; }
[data-page="aides"] .cumul-stack .item .left .dot{ width: 6px; height: 6px; border-radius: 50%; background: var(--coral); }
[data-page="aides"] .cumul-stack .item .v{ font-family: var(--font-mono); font-size: 13px; color: var(--coral); }
[data-page="aides"] .cumul-stack .total{
  background: var(--coral); border-color: var(--coral); color: #fff;
  font-weight: 500; margin-top: 8px;
}
[data-page="aides"] .cumul-stack .total .v{ color: #fff; font-size: 15px; }
@media (max-width: 920px){[data-page="aides"] .page-hero .topgrid, [data-page="aides"] .cumul{ grid-template-columns: 1fr; gap: 32px; }
[data-page="aides"] .scheme-grid, [data-page="aides"] .howto-grid{ grid-template-columns: 1fr; }
[data-page="aides"] .howto-step{ border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 32px; }
[data-page="aides"] .howto-step:first-child{ border-top: 0; padding-top: 0; }
[data-page="aides"] .compare-table-wrap{ overflow-x: auto; }
}
/* services */
[data-page="services"] .page-hero{
  padding: 72px 0 56px; background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}
[data-page="services"] .page-hero .breadcrumb{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 32px;
}
[data-page="services"] .page-hero .breadcrumb .cur{ color: var(--coral); }
[data-page="services"] .page-hero .breadcrumb .sep{ margin: 0 8px; color: var(--ink-faint); }
[data-page="services"] .page-hero h1{ font-size: clamp(40px, 5vw, 64px); }
[data-page="services"] .page-hero .topgrid{
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: flex-start;
}
[data-page="services"] .svc-overview{
  padding: 80px 0;
  border-bottom: 1px solid var(--border);
}
[data-page="services"] .svc-grid-overview{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--border); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
[data-page="services"] .svc-tile{
  background: var(--bg); padding: 32px;
  display: flex; flex-direction: column; gap: 12px;
  transition: background .2s;
  cursor: pointer;
}
[data-page="services"] .svc-tile:hover{ background: var(--bg-warm); }
[data-page="services"] .svc-tile .n{
  font-family: var(--font-mono); font-size: 11px; color: var(--coral);
  letter-spacing: 0.04em;
}
[data-page="services"] .svc-tile h3{ font-size: 19px; font-weight: 500; letter-spacing: -0.018em; }
[data-page="services"] .svc-tile p{ font-size: 14px; color: var(--ink-muted); line-height: 1.55; flex: 1; }
[data-page="services"] .svc-tile .arrow{
  align-self: flex-end; color: var(--ink-faint); transition: all .2s;
}
[data-page="services"] .svc-tile:hover .arrow{ color: var(--coral); transform: translateX(4px); }
[data-page="services"] .svc-detail-wrap{ padding: 96px 0; }
[data-page="services"] .svc-detail-wrap .container{
  display: grid; grid-template-columns: 200px 1fr; gap: 80px; align-items: flex-start;
}
[data-page="services"] .svc-nav{
  position: sticky; top: 88px;
  font-family: var(--font-mono); font-size: 11px;
}
[data-page="services"] .svc-nav h6{
  font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-muted); margin: 0 0 14px; font-weight: 500;
}
[data-page="services"] .svc-nav a{
  display: block; padding: 8px 0 8px 14px;
  color: var(--ink-muted); border-left: 2px solid var(--border);
  margin-left: -16px; transition: all .15s;
  font-size: 12px; letter-spacing: 0.02em;
}
[data-page="services"] .svc-nav a:hover{ color: var(--ink); border-color: var(--ink-faint); }
[data-page="services"] .svc-detail-list{ display: flex; flex-direction: column; }
[data-page="services"] .svc-detail{
  padding: 64px 0; border-top: 1px solid var(--border);
  scroll-margin-top: 90px;
}
[data-page="services"] .svc-detail:first-child{ padding-top: 0; border-top: 0; }
[data-page="services"] .svc-detail .head{
  display: grid; grid-template-columns: 1fr 200px; gap: 32px; align-items: flex-start;
  margin-bottom: 32px;
}
[data-page="services"] .svc-detail .num{
  font-family: var(--font-mono); font-size: 11px; color: var(--coral);
  letter-spacing: 0.06em; margin-bottom: 12px;
}
[data-page="services"] .svc-detail h2{
  font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.022em;
}
[data-page="services"] .svc-detail .lead{
  font-size: 18px; color: var(--ink-muted); margin-top: 18px;
  line-height: 1.5; max-width: 50ch;
}
[data-page="services"] .svc-detail .meta{
  background: var(--bg-warm); border: 1px solid var(--border);
  border-radius: var(--r-md); padding: 16px;
  display: flex; flex-direction: column; gap: 12px;
}
[data-page="services"] .svc-detail .meta .row{
  display: flex; justify-content: space-between;
  font-family: var(--font-mono); font-size: 11px;
  padding-bottom: 8px; border-bottom: 1px solid var(--border);
}
[data-page="services"] .svc-detail .meta .row:last-child{ border-bottom: 0; padding-bottom: 0; }
[data-page="services"] .svc-detail .meta .k{ color: var(--ink-muted); letter-spacing: 0.04em; text-transform: uppercase; }
[data-page="services"] .svc-detail .meta .v{ color: var(--ink); }
[data-page="services"] .svc-detail .body{
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 32px;
}
[data-page="services"] .svc-detail .col h4{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em;
  text-transform: uppercase; margin: 0 0 16px; font-weight: 500;
}
[data-page="services"] .svc-detail ul{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
[data-page="services"] .svc-detail ul li{
  position: relative; padding-left: 20px;
  font-size: 14.5px; color: var(--ink); line-height: 1.5;
}
[data-page="services"] .svc-detail ul li::before{
  content: ""; position: absolute; left: 0; top: 11px;
  width: 10px; height: 1px; background: var(--coral);
}
[data-page="services"] .svc-detail .actions{
  margin-top: 32px; display: flex; gap: 12px; flex-wrap: wrap;
}
@media (max-width: 960px){[data-page="services"] .page-hero .topgrid, [data-page="services"] .svc-detail-wrap .container, [data-page="services"] .svc-detail .head, [data-page="services"] .svc-detail .body{ grid-template-columns: 1fr; gap: 24px; }
[data-page="services"] .svc-nav{ position: static; }
[data-page="services"] .svc-grid-overview{ grid-template-columns: 1fr; }
}
/* reseau */
[data-page="reseau"] .page-hero{
  padding: 72px 0 56px; background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}
[data-page="reseau"] .page-hero .breadcrumb{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 32px;
}
[data-page="reseau"] .page-hero .breadcrumb .cur{ color: var(--coral); }
[data-page="reseau"] .page-hero .breadcrumb .sep{ margin: 0 8px; color: var(--ink-faint); }
[data-page="reseau"] .page-hero h1{ font-size: clamp(40px, 5vw, 64px); }
[data-page="reseau"] .page-hero .topgrid{
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: flex-start;
}
[data-page="reseau"] .group-band{
  padding: 96px 0; background: var(--grad-dark); color: var(--bg-warm);
}
[data-page="reseau"] .group-band h2{ color: var(--bg-warm); }
[data-page="reseau"] .group-band .sec-head{
  display: grid; grid-template-columns: 240px 1fr; gap: 32px;
  margin-bottom: 48px;
}
[data-page="reseau"] .group-band .label{
  font-family: var(--font-mono); font-size: 11px;
  color: rgba(244,241,238,.5); letter-spacing: 0.06em; text-transform: uppercase;
  padding-top: 8px;
}
[data-page="reseau"] .group-band .label .num{
  display: block; font-size: 32px; color: var(--coral); font-weight: 500;
  letter-spacing: -0.02em; margin-bottom: 12px; line-height: 1;
}
[data-page="reseau"] .group-band p.intro{ color: rgba(244,241,238,.7); max-width: 60ch; margin-top: 18px; }
[data-page="reseau"] .group-cards{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
[data-page="reseau"] .group-card{
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-lg); padding: 36px;
  display: flex; flex-direction: column; gap: 16px;
}
[data-page="reseau"] .group-card .head{
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
}
[data-page="reseau"] .group-card .nm{
  font-size: 36px; font-weight: 500; letter-spacing: -0.025em; color: #fff;
}
[data-page="reseau"] .group-card .nm strong{ color: var(--coral); font-weight: 500; }
[data-page="reseau"] .group-card .domain{
  font-family: var(--font-mono); font-size: 11px;
  color: rgba(244,241,238,.5); letter-spacing: 0.04em;
}
[data-page="reseau"] .group-card .pitch{
  font-size: 17px; line-height: 1.45; color: rgba(244,241,238,.85);
  max-width: 36ch;
}
[data-page="reseau"] .group-card .specs{
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px;
}
[data-page="reseau"] .group-card .specs .spec{
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px; padding: 4px 12px;
  font-family: var(--font-mono); font-size: 11px;
  color: rgba(244,241,238,.8); letter-spacing: 0.02em;
}
[data-page="reseau"] .group-card .visit{
  color: var(--coral); font-size: 14px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: auto;
}
[data-page="reseau"] .group-card .visit::after{ content: "↗"; }
[data-page="reseau"] .sec-head-light{
  display: grid; grid-template-columns: 240px 1fr; gap: 32px;
  margin-bottom: 48px;
}
[data-page="reseau"] .sec-head-light .label{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  padding-top: 8px;
}
[data-page="reseau"] .sec-head-light .label .num{
  display: block; font-size: 32px; color: var(--coral); font-weight: 500;
  letter-spacing: -0.02em; margin-bottom: 12px; line-height: 1;
}
[data-page="reseau"] .sec-head-light p{ color: var(--ink-muted); margin-top: 18px; max-width: 60ch; }
[data-page="reseau"] .cat-section{
  padding: 96px 0; border-bottom: 1px solid var(--border);
}
[data-page="reseau"] .cat-section:nth-of-type(odd){ background: var(--bg-warm); }
[data-page="reseau"] .partners-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--border); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
[data-page="reseau"] .partner-cell{
  background: var(--bg); padding: 28px;
  display: flex; flex-direction: column; gap: 12px;
}
[data-page="reseau"] .partner-cell .ptag{
  font-family: var(--font-mono); font-size: 10px; color: var(--coral);
  letter-spacing: 0.06em; text-transform: uppercase;
}
[data-page="reseau"] .partner-cell h3{ font-size: 18px; font-weight: 500; letter-spacing: -0.018em; margin: 0; }
[data-page="reseau"] .partner-cell .desc{ font-size: 13.5px; color: var(--ink-muted); line-height: 1.55; flex: 1; }
[data-page="reseau"] .partner-cell .stack{
  display: flex; flex-wrap: wrap; gap: 4px;
  font-family: var(--font-mono); font-size: 10px;
}
[data-page="reseau"] .partner-cell .stack span{
  background: var(--bg-tint); border: 1px solid var(--border);
  padding: 2px 8px; border-radius: 4px; color: var(--ink-muted);
}
[data-page="reseau"] .method-section{
  padding: 96px 0; background: var(--bg); border-bottom: 1px solid var(--border);
}
[data-page="reseau"] .method-grid{
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
[data-page="reseau"] .method-step{
  padding: 36px 32px; border-left: 1px solid var(--border);
}
[data-page="reseau"] .method-step:first-child{ border-left: 0; }
[data-page="reseau"] .method-step .step-n{
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid var(--coral); color: var(--coral);
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 12px; font-weight: 500;
  margin-bottom: 18px;
}
[data-page="reseau"] .method-step h4{ font-size: 17px; margin-bottom: 10px; font-weight: 500; }
[data-page="reseau"] .method-step p{ font-size: 14px; color: var(--ink-muted); line-height: 1.55; }
@media (max-width: 960px){[data-page="reseau"] .page-hero .topgrid, [data-page="reseau"] .group-band .sec-head, [data-page="reseau"] .sec-head-light{ grid-template-columns: 1fr; gap: 16px; }
[data-page="reseau"] .group-cards, [data-page="reseau"] .partners-grid{ grid-template-columns: 1fr; }
[data-page="reseau"] .method-grid{ grid-template-columns: 1fr 1fr; }
[data-page="reseau"] .method-step{ border-left: 0; border-top: 1px solid var(--border); }
}
/* about */
[data-page="about"] .page-hero{
  padding: 80px 0 64px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}
[data-page="about"] .page-hero .breadcrumb{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 32px;
}
[data-page="about"] .page-hero .breadcrumb .cur{ color: var(--coral); }
[data-page="about"] .page-hero .breadcrumb .sep{ margin: 0 8px; color: var(--ink-faint); }
[data-page="about"] .page-hero h1{
  font-size: clamp(48px, 6.5vw, 88px);
  font-weight: 500; letter-spacing: -0.035em; line-height: 1;
  max-width: 18ch;
}
[data-page="about"] .page-hero h1 em{
  font-style: normal; color: var(--coral);
  border-bottom: 5px solid var(--coral); padding-bottom: 4px;
}
[data-page="about"] .values-section{
  padding: 96px 0; border-bottom: 1px solid var(--border);
}
[data-page="about"] .values-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
[data-page="about"] .value{
  padding: 48px 36px 48px 0; border-right: 1px solid var(--border);
}
[data-page="about"] .value:last-child{ border-right: 0; padding-right: 0; padding-left: 36px; }
[data-page="about"] .value:nth-child(2){ padding-left: 36px; }
[data-page="about"] .value .num{
  font-family: var(--font-mono); font-size: 11px; color: var(--coral);
  letter-spacing: 0.06em;
}
[data-page="about"] .value h3{ font-size: 24px; font-weight: 500; letter-spacing: -0.022em; margin: 14px 0 14px; }
[data-page="about"] .value p{ color: var(--ink-muted); font-size: 15px; line-height: 1.6; }
[data-page="about"] .indep{
  padding: 96px 0;
  background: var(--grad-dark); color: var(--bg-warm);
}
[data-page="about"] .indep .container{ display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
[data-page="about"] .indep h2{
  font-size: clamp(36px, 4vw, 56px); color: var(--bg-warm);
  letter-spacing: -0.028em; max-width: 18ch;
}
[data-page="about"] .indep p{ color: rgba(244,241,238,.7); font-size: 17px; line-height: 1.6; max-width: 50ch; }
[data-page="about"] .indep p + p{ margin-top: 16px; }
[data-page="about"] .indep ul{
  list-style: none; padding: 0; margin: 24px 0 0;
  display: flex; flex-direction: column; gap: 10px;
}
[data-page="about"] .indep ul li{
  font-size: 15px; color: rgba(244,241,238,.85); padding-left: 24px; position: relative;
}
[data-page="about"] .indep ul li::before{
  content: "✕"; position: absolute; left: 0;
  color: var(--coral); font-weight: 500;
}
[data-page="about"] .indep ul li.ok::before{ content: "✓"; }
[data-page="about"] .indep .quote-card{
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-xl); padding: 40px;
}
[data-page="about"] .indep .quote-card .label{
  font-family: var(--font-mono); font-size: 10px;
  color: rgba(244,241,238,.5); letter-spacing: 0.08em;
  text-transform: uppercase; margin-bottom: 16px;
}
[data-page="about"] .indep .quote-card q{
  display: block; font-size: 24px; line-height: 1.35;
  color: var(--bg-warm); letter-spacing: -0.018em; quotes: "« " " »";
  font-weight: 450;
}
[data-page="about"] .indep .quote-card .sig{
  margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1);
  font-size: 14px; color: rgba(244,241,238,.7);
}
[data-page="about"] .story-section{ padding: 96px 0; border-bottom: 1px solid var(--border); }
[data-page="about"] .story-section .sec-head{
  display: grid; grid-template-columns: 240px 1fr; gap: 32px;
  margin-bottom: 56px;
}
[data-page="about"] .story-section .label{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  padding-top: 8px;
}
[data-page="about"] .story-section .label .num{
  display: block; font-size: 32px; color: var(--coral); font-weight: 500;
  letter-spacing: -0.02em; margin-bottom: 12px; line-height: 1;
}
[data-page="about"] .timeline{
  display: grid; gap: 0;
  position: relative; padding-left: 32px;
}
[data-page="about"] .timeline::before{
  content: ""; position: absolute; left: 8px; top: 12px; bottom: 12px; width: 1px;
  background: var(--border);
}
[data-page="about"] .tl-item{ padding: 24px 0 24px 32px; position: relative; }
[data-page="about"] .tl-item::before{
  content: ""; position: absolute; left: -32px; top: 28px;
  width: 17px; height: 17px; border-radius: 50%;
  background: var(--bg); border: 2px solid var(--coral);
}
[data-page="about"] .tl-item .year{
  font-family: var(--font-mono); font-size: 13px; color: var(--coral);
  letter-spacing: 0.04em; font-weight: 500;
}
[data-page="about"] .tl-item h4{ font-size: 18px; font-weight: 500; margin: 8px 0; letter-spacing: -0.015em; }
[data-page="about"] .tl-item p{ font-size: 14.5px; color: var(--ink-muted); line-height: 1.55; max-width: 60ch; }
[data-page="about"] .about-group{
  padding: 96px 0; background: var(--bg-warm); border-bottom: 1px solid var(--border);
}
[data-page="about"] .about-group .sec-head{
  display: grid; grid-template-columns: 240px 1fr; gap: 32px;
  margin-bottom: 48px;
}
[data-page="about"] .about-group .label{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  padding-top: 8px;
}
[data-page="about"] .about-group .label .num{
  display: block; font-size: 32px; color: var(--coral); font-weight: 500;
  letter-spacing: -0.02em; margin-bottom: 12px; line-height: 1;
}
[data-page="about"] .about-group p.intro{ color: var(--ink-muted); max-width: 60ch; margin-top: 18px; }
[data-page="about"] .group-trio{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
[data-page="about"] .gt-card{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 32px;
  display: flex; flex-direction: column; gap: 12px;
}
[data-page="about"] .gt-card.feat{ border-color: var(--coral); box-shadow: var(--sh-2); }
[data-page="about"] .gt-card .nm{ font-size: 24px; font-weight: 500; letter-spacing: -0.022em; }
[data-page="about"] .gt-card .nm strong{ color: var(--coral); font-weight: 500; }
[data-page="about"] .gt-card .role{
  font-family: var(--font-mono); font-size: 10px; color: var(--ink-muted);
  letter-spacing: 0.08em; text-transform: uppercase;
}
[data-page="about"] .gt-card .desc{ font-size: 14px; color: var(--ink-muted); line-height: 1.55; flex: 1; }
[data-page="about"] .gt-card .you{
  font-family: var(--font-mono); font-size: 11px; color: var(--coral);
  background: var(--coral-50); border-radius: 4px;
  padding: 2px 8px; align-self: flex-start; letter-spacing: 0.04em; text-transform: uppercase;
}
[data-page="about"] .team-section{ padding: 96px 0; }
[data-page="about"] .team-section .sec-head{
  display: grid; grid-template-columns: 240px 1fr; gap: 32px;
  margin-bottom: 48px;
}
[data-page="about"] .team-section .label{
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase;
  padding-top: 8px;
}
[data-page="about"] .team-section .label .num{
  display: block; font-size: 32px; color: var(--coral); font-weight: 500;
  letter-spacing: -0.02em; margin-bottom: 12px; line-height: 1;
}
[data-page="about"] .team-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
[data-page="about"] .team-card{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
[data-page="about"] .team-card .avatar{
  aspect-ratio: 4/3;
  background:
    repeating-linear-gradient(135deg, var(--bg-warm), var(--bg-warm) 8px, var(--bg-sand) 8px, var(--bg-sand) 16px);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 11px;
  color: var(--ink-soft); letter-spacing: 0.06em;
}
[data-page="about"] .team-card .body{ padding: 24px; }
[data-page="about"] .team-card h4{ font-size: 17px; font-weight: 500; }
[data-page="about"] .team-card .role{ font-size: 13px; color: var(--coral); margin-top: 4px; font-family: var(--font-mono); letter-spacing: 0.02em; }
[data-page="about"] .team-card .bio{ font-size: 13.5px; color: var(--ink-muted); line-height: 1.55; margin-top: 12px; }
@media (max-width: 920px){[data-page="about"] .values-grid, [data-page="about"] .group-trio, [data-page="about"] .team-grid, [data-page="about"] .indep .container{ grid-template-columns: 1fr; gap: 32px; }
[data-page="about"] .value{ border-right: 0; border-bottom: 1px solid var(--border); padding: 32px 0; }
[data-page="about"] .value:nth-child(2), [data-page="about"] .value:last-child{ padding-left: 0; }
[data-page="about"] .story-section .sec-head, [data-page="about"] .about-group .sec-head, [data-page="about"] .team-section .sec-head{ grid-template-columns: 1fr; gap: 16px; }
}
/* contact */
[data-page="contact"] .contact-page{
  padding: 72px 0 96px;
  background: var(--bg-warm);
  min-height: calc(100vh - 64px);
}
[data-page="contact"] .contact-page .breadcrumb{
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 32px;
}
[data-page="contact"] .contact-page .breadcrumb .cur{ color: var(--coral); }
[data-page="contact"] .contact-page .breadcrumb .sep{ margin: 0 8px; color: var(--ink-faint); }
[data-page="contact"] .contact-grid{
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px;
  align-items: flex-start;
  margin-top: 32px;
}
[data-page="contact"] .contact-left h1{
  font-size: clamp(36px, 4.4vw, 56px);
  max-width: 18ch;
}
[data-page="contact"] .contact-left .lede{ margin-top: 24px; max-width: 48ch; }
[data-page="contact"] .diag-form{
  display: grid; gap: 16px;
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--border);
}
[data-page="contact"] .diag-form label{
  display: grid; gap: 8px;
  font-family: var(--font-mono); font-size: 11px; color: var(--ink-muted);
  letter-spacing: 0.04em; text-transform: uppercase;
}
[data-page="contact"] .diag-form .row2{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
[data-page="contact"] .diag-form input, [data-page="contact"] .diag-form textarea{
  padding: 12px 14px; border: 1px solid var(--border-strong); background: var(--bg);
  border-radius: var(--r-md); font-family: inherit; font-size: 15px; color: var(--ink);
  transition: border .15s;
}
[data-page="contact"] .diag-form input:focus, [data-page="contact"] .diag-form textarea:focus{
  outline: 0; border-color: var(--coral); box-shadow: 0 0 0 4px rgba(234,80,83,.08);
}
[data-page="contact"] .diag-form textarea{ min-height: 120px; resize: vertical; }
[data-page="contact"] .diag-form .legal{
  font-family: var(--font-sans); font-size: 12.5px; color: var(--ink-muted);
  line-height: 1.5; text-transform: none; letter-spacing: 0;
  display: flex; gap: 10px; align-items: flex-start;
}
[data-page="contact"] .diag-form .legal input[type=checkbox]{
  margin-top: 3px; accent-color: var(--coral);
  width: 16px; height: 16px;
}
[data-page="contact"] .diag-form .legal a{ color: var(--coral); text-decoration: underline; }
[data-page="contact"] .diag-form .success{
  display: none;
  background: var(--coral-50); border: 1px solid var(--coral-100);
  padding: 16px 18px; border-radius: var(--r-md);
  color: var(--coral); font-size: 14px; font-weight: 500;
}
[data-page="contact"] .diag-form button[type=submit]{
  margin-top: 8px; justify-self: flex-start; width: fit-content;
}
[data-page="contact"] .coords{
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 36px;
  display: flex; flex-direction: column; gap: 28px;
  position: sticky; top: 88px;
}
[data-page="contact"] .coords h3{
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink-muted); margin: 0; font-weight: 500;
}
[data-page="contact"] .coord-row{
  display: grid; grid-template-columns: 32px 1fr; gap: 16px; align-items: flex-start;
}
[data-page="contact"] .coord-row .ico{
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--coral-50); color: var(--coral);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
[data-page="contact"] .coord-row .nm{
  font-size: 11px; color: var(--ink-muted);
  font-family: var(--font-mono); letter-spacing: 0.04em; text-transform: uppercase;
}
[data-page="contact"] .coord-row .val{ font-size: 15px; color: var(--ink); font-weight: 500; margin-top: 4px; line-height: 1.4; }
[data-page="contact"] .coord-row .sub{ font-size: 13px; color: var(--ink-muted); margin-top: 4px; line-height: 1.5; }
[data-page="contact"] .coords hr.rule{ border: 0; border-top: 1px solid var(--border); margin: 0; }
[data-page="contact"] .coords .map-link{
  margin-top: 4px;
  font-size: 13px; color: var(--coral); font-weight: 500;
  display: inline-flex; align-items: center; gap: 4px;
}
@media (max-width: 920px){[data-page="contact"] .contact-grid{ grid-template-columns: 1fr; gap: 32px; }
[data-page="contact"] .coords{ position: static; }
[data-page="contact"] .diag-form .row2{ grid-template-columns: 1fr; }
}


:root{--coral:#ea5053;--coral-600:#d43f43;--coral-50:#fdeeed;--coral-100:#fbd0cb;--salmon:#f0948a;--ink:#121a24;--ink-muted:#4f565f;--ink-soft:#868b93;--ink-faint:#b9bcc1;--bg:#fff;--bg-warm:#f5f5f6;--bg-sand:#ececee;--bg-tint:#f1f1f3;--border:#e3e4e7;--border-strong:#cdd0d4;--charcoal:#121a24;--navy:#121a24;--font-sans:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;--font-display:"Montserrat","Inter",sans-serif;--font-mono:"Montserrat","Inter",sans-serif;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-xl:8px;--grad-dark:radial-gradient(70% 120% at 100% 100%,rgba(234,80,83,.30),rgba(234,80,83,0) 60%),linear-gradient(165deg,#161f2b 0%,#121a24 60%,#191a24 100%);--grad-brand:linear-gradient(150deg,#363c4f 0%,#8a4653 55%,#ea5053 100%)}
[data-theme="dark"]{--bg:#0e141c;--bg-warm:#141b24;--bg-sand:#1a222d;--bg-tint:#171f29;--ink:#f2f3f4;--ink-muted:#a7acb3;--ink-soft:#7d838b;--ink-faint:#4b525b;--border:#232b36;--border-strong:#323b47;--coral-50:#2a1719;--coral-100:#3c1d20;--charcoal:#0a0f15}
body{font-family:var(--font-sans);font-feature-settings:normal}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-0.015em}
h1{font-size:clamp(36px,4.6vw,62px);line-height:1.08;letter-spacing:-0.02em}
h2{font-size:clamp(26px,3vw,40px);line-height:1.15}
h3{font-weight:600}h4{font-weight:600}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600}.eyebrow::before{display:none}
.btn{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.01em;border-radius:var(--r-md)}
.btn-lg{padding:15px 24px;font-size:14.5px}.btn-sm{font-size:12.5px;padding:9px 14px}
.btn-outline-light{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}.btn-outline-light:hover{background:#fff;color:var(--ink)}
.badge{border-radius:var(--r-md);font-family:var(--font-display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
a:hover{color:var(--coral)}
header.site{background:rgba(18,26,36,.95);border-bottom:1px solid rgba(255,255,255,.08)}
[data-theme="dark"] header.site{background:rgba(10,15,21,.95)}
header.site .wrap{height:80px}
header.site nav a{color:rgba(255,255,255,.72);font-size:13.5px;font-weight:500;position:relative}
header.site nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
header.site nav a.active{color:#fff}
header.site nav a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:-2px;height:2px;background:var(--coral)}
header.site .lang{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
header.site .lang button{color:rgba(255,255,255,.6)}
header.site .lang button.on{background:#fff;color:#121a24}
header.site .iconbtn{color:rgba(255,255,255,.7)}header.site .iconbtn:hover{background:rgba(255,255,255,.08);color:#fff}
.brand{display:flex;align-items:center;gap:10px;color:#fff}.brand:hover{color:#fff}
.brand img{height:36px;width:auto}
.brand .wm{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand .wm b{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.02em}
.brand .wm i{font-style:normal;font-family:var(--font-display);font-weight:500;font-size:8px;letter-spacing:.34em;color:var(--coral);margin-top:5px;padding-left:1px}
.groupbar{background:#0a0f15;color:rgba(255,255,255,.62);font-size:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.groupbar .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.groupbar .gb-l{display:flex;align-items:center;gap:10px;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;font-weight:600}
.groupbar .gb-l a{color:#fff}.groupbar .gb-l a:hover{color:var(--coral)}
.groupbar .gb-l .sep{width:18px;height:1px;background:var(--coral)}
.groupbar nav{display:flex;align-items:center;gap:4px}
.groupbar nav a{display:flex;align-items:center;gap:8px;padding:5px 10px;color:rgba(255,255,255,.72);font-weight:500}
.groupbar nav a small{font-size:11px;color:rgba(255,255,255,.45)}
.groupbar nav a:hover{color:#fff}
.groupbar nav a.on{color:#fff}.groupbar nav a.on::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral)}
footer.site img.flogo{height:72px;width:auto}
footer.site h5{font-family:var(--font-display);letter-spacing:.16em;font-weight:600}
.tag{border-radius:var(--r-sm);font-family:var(--font-display);font-weight:600;letter-spacing:.06em}
.vpage[data-page] .svc .ico{background:none;width:auto;height:auto;border-radius:0;margin-bottom:22px}
.vpage[data-page] .svc .ico svg{width:30px;height:30px;stroke-width:1.4}
.vpage[data-page] .svc:hover{border-color:var(--coral)}
.vpage[data-page="home"] .f4d-b .left{background:var(--grad-brand)}
.vpage[data-page="home"] .f4d-b .seal-big{color:#121a24}
.vpage[data-page="home"] .sec-head .label{font-size:10.5px;letter-spacing:.18em;font-weight:600}
.vpage[data-page="home"] .sec-head .label .num{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}
.hero2{position:relative;min-height:min(780px,90vh);display:flex;align-items:center;color:#fff;overflow:hidden;background:#121a24}
.hero2-bg{position:absolute;inset:0;background:url("../images/hero-dusk.jpg") 72% 50%/cover no-repeat}
.hero2::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,26,36,.9) 0%,rgba(18,26,36,.72) 28%,rgba(18,26,36,.22) 55%,rgba(18,26,36,0) 80%),linear-gradient(0deg,rgba(18,26,36,.55) 0%,rgba(18,26,36,0) 28%)}
.hero2 .container{position:relative;z-index:2;width:100%;padding-top:104px;padding-bottom:88px}
.hero2-in{max-width:640px}
.hero2 .eyebrow{color:var(--coral)}
.hero2 h1{color:#fff;margin-top:22px}.hero2 h1 em{font-style:normal;color:var(--coral)}
.hero2 .lede{color:rgba(255,255,255,.84);margin-top:26px;font-size:18px}
.hero2 .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.hero2 .meta{display:flex;gap:44px;flex-wrap:wrap;margin-top:64px;padding-top:28px;border-top:1px solid rgba(255,255,255,.16)}
.hero2 .meta .v{font-family:var(--font-display);font-weight:700;font-size:15px;color:#fff}
.hero2 .meta .l{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:6px}
.group-home{background:var(--grad-dark);color:#fff;padding:112px 0}
.vpage .group-home .sec-head h2{color:#fff}
.vpage .group-home .sec-head p{color:rgba(255,255,255,.74)}
.vpage .group-home .sec-head .label{color:rgba(255,255,255,.6)}
.gh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.gh-card{background:#121a24;padding:36px;display:flex;flex-direction:column;gap:14px;min-height:300px;color:#fff;transition:background .25s}
a.gh-card:hover{background:#18212d;color:#fff}
.gh-card.cur{background:linear-gradient(160deg,rgba(234,80,83,.22),rgba(18,26,36,1) 70%)}
.gh-card .k{font-family:var(--font-display);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);font-weight:600}
.gh-card .nm{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.01em}
.gh-card p{color:rgba(255,255,255,.74);font-size:15px;line-height:1.55}
.gh-card .go{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-weight:600;font-size:13px}
.gh-card .go .dom{color:rgba(255,255,255,.6);font-weight:500}
a.gh-card:hover .go span:last-child{color:var(--coral)}
.gh-foot{margin-top:32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.gh-foot p{font-size:13.5px;color:rgba(255,255,255,.62);max-width:62ch}
@media (max-width:920px){.gh-grid{grid-template-columns:1fr}.groupbar .gb-l{display:none}.hero2 .meta{gap:24px}}

:root{--bg-warm:#f6f5f2;--bg-sand:#efede8;--bg-tint:#f1f0ec;--border:#e5e3de;--border-strong:#d2cfc8;--charcoal:#0b1622;--ink:#0f1b28;--r-lg:8px;--r-xl:10px;--grad-dark:radial-gradient(60% 110% at 100% 100%,rgba(234,80,83,.18),rgba(234,80,83,0) 60%),linear-gradient(165deg,#0d1825 0%,#0b1622 60%,#0e1a26 100%);--sh-2:0 14px 40px -18px rgba(11,22,34,.18),0 2px 6px rgba(11,22,34,.04)}
h1,h2,h3{font-weight:600;letter-spacing:-0.02em}h4{font-weight:600}
.eyebrow{letter-spacing:.3em;font-size:11px}
.btn{border-radius:999px}.btn-sm{padding:9px 18px}.btn-lg{padding:15px 28px}
header.site{background:rgba(11,22,34,.96)}
header.site .btn-primary{background:transparent;border-color:var(--coral);color:#fff}header.site .btn-primary:hover{background:var(--coral)}
.vpage[data-page="home"] .sec-head .label,.vpage .sec-head .label{letter-spacing:.3em}
.vpage[data-page] .svc{background:#fff;box-shadow:var(--sh-2);border-color:transparent;border-left:3px solid var(--coral)}
[data-theme="dark"] .vpage[data-page] .svc{background:var(--bg-warm)}
.vpage[data-page="about"] .group-trio.lx4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vpage[data-page="about"] .gt-card.lx{display:flex;flex-direction:column;gap:12px;background:#fff;border:0;border-left:3px solid var(--border-strong);border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-2);color:var(--ink);position:relative}
.vpage[data-page="about"] .gt-card.lx.feat{border-left-color:var(--coral)}
.vpage[data-page="about"] .gt-card.lx .role{font-family:var(--font-display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}
.vpage[data-page="about"] .gt-card.lx .nm{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:.01em;text-transform:uppercase}
.vpage[data-page="about"] .gt-card.lx .desc{font-size:14px;color:var(--ink-muted);line-height:1.55;flex:1}
.vpage[data-page="about"] .gt-card.lx .link{font-family:var(--font-display);font-size:13px;font-weight:600;padding-top:14px;border-top:1px solid var(--border)}
.vpage[data-page="about"] .gt-card.lx .you{position:absolute;top:16px;right:16px;font-size:10px;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);font-weight:600}
.vpage[data-page="about"] a.gt-card.lx:hover .link{color:var(--coral)}
footer.site .lxline{font-size:13.5px;color:rgba(244,241,238,.6);line-height:1.5}
@media (max-width:920px){.vpage[data-page="about"] .group-trio.lx4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vpage[data-page="about"] .group-trio.lx4{grid-template-columns:1fr}}
[data-page="aides"] .org-block{margin-top:64px}
[data-page="aides"] .org-head{display:grid;grid-template-columns:64px 1fr;gap:24px;align-items:start;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--border)}
[data-page="aides"] .org-n{font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--coral);line-height:1}
[data-page="aides"] .org-name{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-0.01em;color:var(--ink)}
[data-page="aides"] .org-head p{color:var(--ink-muted);font-size:14.5px;margin-top:6px;max-width:70ch;text-wrap:pretty}
[data-page="aides"] .scheme.wide{grid-column:1/-1}
[data-page="aides"] .prog-list{display:flex;flex-direction:column;gap:0;margin:0 0 24px;flex:1}
[data-page="aides"] .prog{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--border);font-size:13.5px;color:var(--ink-muted);line-height:1.5}
[data-page="aides"] .prog:first-child{border-top:0;padding-top:0}
[data-page="aides"] .prog b{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:14px}
@media (max-width:560px){[data-page="aides"] .prog{grid-template-columns:1fr;gap:4px}[data-page="aides"] .org-head{grid-template-columns:1fr;gap:8px}}
footer.site .flogo-lock{display:inline-block}footer.site .flogo-lock img.flogo{height:110px;width:auto;display:block}
[data-page="about"] .team-grid.team-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}[data-page="about"] .team-card .avatar.has-photo{padding:0;background:var(--bg-sand);aspect-ratio:1/1}[data-page="about"] .team-card .avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block}[data-page="about"] .team-card .li-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--ink)}[data-page="about"] .team-card .li-link:hover{color:var(--coral)}@media (max-width:560px){[data-page="about"] .team-grid.team-2{grid-template-columns:1fr}}
.hero2{min-height:clamp(620px,calc(100vh - 72px),1100px)}
.hero2-in{max-width:clamp(640px,52vw,980px)}
.hero2 h1{font-size:clamp(40px,4.4vw,84px);line-height:1.04}
.hero2 .lede{font-size:clamp(17px,1.25vw,22px);max-width:58ch}
