:root{
  --ink-1000: #04080F;
  --ink-900:  #0A1628;
  --ink-800:  #0F1E36;
  --ink-700:  #1B365D;
  --ink-600:  #2E4068;
  --ink-500:  #4A5A78;
  --ink-400:  #6B7891;
  --ink-300:  #9AA4B8;
  --ink-200:  #D5DAE3;
  --ink-150:  #E8EBF0;
  --ink-100:  #F1F3F7;
  --ink-50:   #F8F9FB;

  --white:     #FFFFFF;
  --off-white: #FCFCFD;

  --gold-700: #8A6B26;
  --gold-600: #A88A3D;
  --gold-500: #C5A55A;
  --gold-400: #D9C083;
  --gold-100: #F5EFDE;
  --gold-50:  #FAF6EA;

  --success:  #1F7A47;
  --signal:   #C0392B;
  --info:     #1B365D;

  --display-1: clamp(44px, 7vw, 92px);
  --display-2: clamp(36px, 5.4vw, 68px);
  --h1:        clamp(30px, 4vw, 52px);
  --h2:        clamp(24px, 2.8vw, 36px);
  --h3:        clamp(19px, 1.8vw, 24px);
  --body-lg:   18px;
  --body:      16px;
  --small:     14px;
  --micro:     12px;

  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 24px;
  --r-pill: 999px;
}

*,*::before,*::after{ box-sizing: border-box; margin: 0; padding: 0;}
html{ scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-style: normal;}
body{
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Geist", system-ui, "Segoe UI", sans-serif;
  font-feature-settings: "ss01", "cv11", "kern";
  background: var(--white);
  color: var(--ink-900);
  font-size: var(--body);
  line-height: 1.55;
  letter-spacing: -0.011em;
  overflow-x: hidden;
  font-style: normal !important;
}
i, em{ font-style: normal; }
a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; cursor: pointer; border: 0; background: none; }
img,svg{ display: block; max-width: 100%; }
::selection{ background: var(--ink-900); color: var(--white); }

.mono{ font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace; font-feature-settings: "tnum","ss01"; }

.container{ width: min(100% - 40px, 1280px); margin-inline: auto; }
.container-wide{ width: min(100% - 40px, 1440px); margin-inline: auto; }

.nav{
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  padding: 14px 0;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid transparent;
  transition: all .3s var(--ease-out-quint);
}
.nav.scrolled{ background: rgba(255, 255, 255, 0.94); border-bottom-color: var(--ink-150); }
.nav-inner{ display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand{ display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; letter-spacing: -0.02em;}
.brand-mark{
  width: 30px; height: 30px; border-radius: 8px;
  background: linear-gradient(135deg, var(--ink-900), var(--ink-700));
  position: relative;
  box-shadow: 0 2px 8px -2px rgba(10, 22, 40, .25);
}
.brand-mark::after{
  content: ""; position: absolute; inset: 6px;
  border: 1.5px solid var(--gold-500);
  border-radius: 4px;
  border-bottom-color: transparent;
  border-right-color: transparent;
}
.brand-text{ display:flex; flex-direction: column; line-height: 1; }
.brand-text small{ font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-400); margin-top: 4px; font-weight: 500;}

.nav-links{ display: flex; align-items: center; gap: 2px; }
.nav-links a{ padding: 8px 14px; font-size: 14px; font-weight: 450; color: var(--ink-700); border-radius: var(--r-pill); transition: all .25s var(--ease-out-quint); letter-spacing: -0.005em;}
.nav-links a:hover{ background: var(--ink-100); color: var(--ink-900); }

.nav-cta{ display: flex; align-items: center; gap: 8px;}
.btn{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; font-size: 14px; font-weight: 500;
  border-radius: var(--r-pill);
  transition: all .3s var(--ease-out-quint);
  letter-spacing: -0.005em;
  white-space: nowrap;
}
.btn-ghost{ color: var(--ink-700); }
.btn-ghost:hover{ background: var(--ink-100); }
.btn-outline{ color: var(--ink-900); border: 1px solid var(--ink-200); background: var(--white); }
.btn-outline:hover{ border-color: var(--ink-900); }
.btn-primary{
  background: var(--ink-900); color: var(--white);
  box-shadow: 0 1px 0 rgba(255,255,255,.1) inset, 0 4px 14px -4px rgba(10,22,40,.4);
}
.btn-primary:hover{ background: var(--ink-700); transform: translateY(-1px); box-shadow: 0 8px 22px -6px rgba(10,22,40,.5);}
.btn-arrow{ transition: transform .3s var(--ease-out-quint); }
.btn:hover .btn-arrow{ transform: translateX(3px); }
@media (max-width: 1080px){ .nav-links{ display: none; } }

.hero{
  position: relative; padding: 130px 0 70px;
  background: var(--white); overflow: hidden;
}
.hero::before{
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(to right, var(--ink-100) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 100%;
  background-position: 20px 0;
  opacity: 0.55;
  mask-image: linear-gradient(to bottom, black 0%, black 60%, transparent 100%);
}
.hero-inner{ position: relative; z-index: 1; }

.hero-eyebrow{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 14px 6px 6px;
  border: 1px solid var(--ink-150);
  background: var(--white); border-radius: var(--r-pill);
  font-size: 12px; letter-spacing: 0.005em; color: var(--ink-600);
  margin-bottom: 32px; font-weight: 450;
}
.hero-eyebrow .badge{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px; background: var(--gold-50); color: var(--gold-700);
  border-radius: var(--r-pill); font-size: 11px; font-weight: 600;
  letter-spacing: 0.02em;
}
.hero-eyebrow .pulse{ width: 6px; height: 6px; border-radius: 50%; background: var(--gold-500); box-shadow: 0 0 0 0 rgba(197,165,90,.6); animation: pulse 2s infinite;}
@keyframes pulse{ 70%{ box-shadow: 0 0 0 8px rgba(197,165,90,0);} 100%{ box-shadow: 0 0 0 0 rgba(197,165,90,0);}}

.hero h1{
  font-size: var(--display-1);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.04em;
  max-width: 22ch;
  margin-bottom: 26px;
  color: var(--ink-900);
}
.hero h1 .accent{ color: var(--ink-400); font-weight: 450; }

.hero p.lede{
  font-size: clamp(17px, 1.55vw, 20px);
  line-height: 1.5; color: var(--ink-500);
  max-width: 62ch; margin-bottom: 36px; letter-spacing: -0.005em;
  font-weight: 400;
}

.hero-keychips{
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 36px;
}
.keychip{
  padding: 5px 10px; font-size: 12px; color: var(--ink-700);
  background: var(--ink-50); border: 1px solid var(--ink-150);
  border-radius: var(--r-pill); font-weight: 450; letter-spacing: -0.005em;
}

.hero-actions{ display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 70px; }
.hero-actions .btn-primary, .hero-actions .btn-outline{ padding: 14px 22px; font-size: 15px;}

.hero-trust{
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  padding-top: 36px; border-top: 1px solid var(--ink-150);
}
.hero-trust .stat{ display: flex; flex-direction: column; gap: 8px; padding-right: 24px; border-right: 1px solid var(--ink-150);}
.hero-trust .stat:last-child{ border-right: none; }
.hero-trust .stat:not(:first-child){ padding-left: 24px; }
.hero-trust .num{ font-size: clamp(34px, 4vw, 48px); line-height: 1; font-weight: 500; letter-spacing: -0.035em; color: var(--ink-900);}
.hero-trust .num sup{ font-size: 0.5em; color: var(--gold-600); font-weight: 600; vertical-align: super; margin-left: 2px;}
.hero-trust .label{ font-size: 12.5px; color: var(--ink-500); letter-spacing: -0.005em; line-height: 1.4;}

@media (max-width: 720px){
  .hero{ padding: 110px 0 60px; }
  .hero-trust{ grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .hero-trust .stat{ border-right: none; padding-left: 0 !important; padding-right: 0;}
  .hero-actions{ margin-bottom: 50px; }
}

.compliance-strip{ padding: 50px 0; background: var(--white); border-top: 1px solid var(--ink-150); border-bottom: 1px solid var(--ink-150);}
.cs-row{ display: grid; grid-template-columns: auto repeat(5, 1fr); gap: 28px; align-items: center;}
@media (max-width: 1000px){ .cs-row{ grid-template-columns: repeat(2, 1fr); gap: 20px;}}
.cs-label{ font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-400); font-weight: 500;}
.cs-item{ display: flex; flex-direction: column; gap: 3px; padding-left: 20px; border-left: 1px solid var(--ink-150);}
@media (max-width: 1000px){ .cs-item{ border-left: none; padding-left: 0;}}
.cs-item strong{ font-size: 13px; font-weight: 600; color: var(--ink-900); letter-spacing: -0.01em;}
.cs-item span{ font-size: 11.5px; color: var(--ink-500); font-weight: 450;}

.section{ padding: 110px 0; }
@media (max-width: 720px){ .section{ padding: 70px 0;}}

.section-head{ display: flex; flex-direction: column; gap: 14px; margin-bottom: 56px; max-width: 720px;}
.section-head.center{ margin-inline: auto; align-items: center; text-align: center;}
.section-head.row{ display:flex; flex-direction:row; flex-wrap: wrap; align-items:flex-end; justify-content:space-between; max-width:none; gap: 24px;}
.section-head.row > div:first-child{ display: flex; flex-direction: column; gap: 14px;}

.section-eyebrow{
  font-family: "Geist Mono", monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-700); display: flex; align-items: center; gap: 12px;
  font-weight: 500;
}
.section-eyebrow::before{ content: ""; width: 24px; height: 1px; background: var(--gold-500);}
.section-head.center .section-eyebrow{ justify-content: center;}

.section-title{ font-size: var(--h1); font-weight: 500; line-height: 1.05; letter-spacing: -0.035em; color: var(--ink-900);}
.section-title .accent{ color: var(--ink-400); font-weight: 450;}
.section-sub{ font-size: var(--body-lg); color: var(--ink-500); line-height: 1.55; letter-spacing: -0.005em;}

.answer-direct{
  display: block;
  max-width: 880px;
  margin: 18px 0 8px;
  padding: 16px 22px;
  background: linear-gradient(135deg, var(--gold-50) 0%, var(--white) 100%);
  border-left: 3px solid var(--gold-500);
  border-radius: 10px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-900);
  font-weight: 450;
  letter-spacing: -0.005em;
  position: relative;
}
.answer-direct::before{
  content: "RÉPONSE";
  position: absolute;
  top: -9px; left: 22px;
  background: var(--ink-900);
  color: var(--gold-400);
  font-family: "Geist Mono", monospace;
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  padding: 3px 8px;
  border-radius: 4px;
}
.answer-direct strong{ color: var(--ink-1000); font-weight: 600;}
@media (max-width: 700px){
  .answer-direct{ font-size: 14.5px; padding: 14px 18px; margin: 14px 0 6px;}
}

.qr-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
@media (max-width: 900px){ .qr-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 560px){ .qr-grid{ grid-template-columns: 1fr;}}

.qr-card{
  position: relative;
  display: flex; flex-direction: column; gap: 12px;
  padding: 28px 26px;
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  cursor: pointer;
  transition: all .3s var(--ease-out-quint);
  min-height: 200px;
  overflow: hidden;
}
.qr-card::before{
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--gold-500); transform: scaleY(0); transform-origin: bottom;
  transition: transform .35s var(--ease-out-quint);
}
.qr-card:hover{ border-color: var(--ink-900); transform: translateY(-3px); box-shadow: 0 16px 36px -16px rgba(10,22,40,.16);}
.qr-card:hover::before{ transform: scaleY(1); transform-origin: top;}

.qr-num{ font-family: "Geist Mono", monospace; font-size: 11px; color: var(--gold-700); font-weight: 500; letter-spacing: 0.04em;}
.qr-card h3{ font-size: 17px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink-900);}
.qr-card p{ font-size: 13.5px; color: var(--ink-500); line-height: 1.55; flex: 1;}
.qr-tags{ display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px;}
.qr-tag{ font-family: "Geist Mono", monospace; font-size: 10.5px; padding: 2px 7px; background: var(--ink-50); color: var(--ink-600); border: 1px solid var(--ink-150); border-radius: var(--r-pill); font-weight: 450;}
.qr-foot{ display: flex; align-items: center; justify-content: space-between; margin-top: 8px; font-size: 13px; font-weight: 500; color: var(--ink-700);}
.qr-foot .arrow{ transition: transform .3s var(--ease-out-quint);}
.qr-card:hover .qr-foot .arrow{ transform: translateX(4px);}

.authority-section{
  background: var(--ink-900); color: var(--white);
  padding: 100px 0; position: relative; overflow: hidden;
}
.authority-section::before{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 100%;
  background-position: 20px 0;
  pointer-events: none;
}
.authority-section .container{ position: relative;}
.authority-section .section-eyebrow{ color: var(--gold-400);}
.authority-section .section-eyebrow::before{ background: var(--gold-400);}
.authority-section .section-title{ color: var(--white);}
.authority-section .section-title .accent{ color: var(--ink-400);}
.authority-section .section-sub{ color: var(--ink-300);}

.auth-grid{ display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1);}
@media (max-width: 900px){ .auth-grid{ grid-template-columns: repeat(3, 1fr);}}
@media (max-width: 560px){ .auth-grid{ grid-template-columns: repeat(2, 1fr);}}

.auth-stat{
  padding: 32px 24px;
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column; gap: 8px;
}
.auth-stat:last-child{ border-right: none;}
.auth-stat .num{ font-size: clamp(28px, 3.4vw, 44px); font-weight: 500; line-height: 1; letter-spacing: -0.035em; color: var(--white);}
.auth-stat .num sup{ font-size: 0.5em; color: var(--gold-400); font-weight: 600; vertical-align: super; margin-left: 2px;}
.auth-stat .label{ font-size: 12px; color: var(--ink-300); line-height: 1.4; font-weight: 450;}

.persona-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;}
@media (max-width: 1000px){ .persona-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 560px){ .persona-grid{ grid-template-columns: 1fr;}}

.persona{
  position: relative; padding: 28px 24px; border-radius: var(--r-xl);
  background: var(--white); border: 1px solid var(--ink-150);
  cursor: pointer; transition: all .35s var(--ease-out-quint);
  display: flex; flex-direction: column; min-height: 320px; overflow: hidden;
}
.persona:hover{ transform: translateY(-4px); border-color: var(--ink-900); box-shadow: 0 18px 40px -16px rgba(10,22,40,.16);}
.persona-icon{
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--ink-50); border: 1px solid var(--ink-150);
  color: var(--ink-700);
  display: grid; place-items: center; margin-bottom: 22px;
  transition: all .3s var(--ease-out-quint);
}
.persona:hover .persona-icon{ background: var(--ink-900); color: var(--gold-400); border-color: var(--ink-900);}
.persona-icon svg{ width: 20px; height: 20px;}
.persona h3{ font-size: 18px; font-weight: 600; line-height: 1.25; letter-spacing: -0.02em; color: var(--ink-900); margin-bottom: 8px;}
.persona p{ font-size: 14px; color: var(--ink-500); line-height: 1.55; flex: 1; margin-bottom: 22px; font-weight: 400;}
.persona .arrow{ display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--ink-700); transition: gap .3s var(--ease-out-quint);}
.persona:hover .arrow{ gap: 12px; color: var(--ink-900);}

.persona-tag{
  position: absolute; top: 22px; right: 22px;
  padding: 4px 10px; font-size: 10px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-500); border: 1px solid var(--ink-150);
  border-radius: var(--r-pill); background: var(--ink-50);
}

.chips-section{
  background: var(--gold-50);
  padding: 60px 0;
  border-top: 1px solid var(--gold-100);
  border-bottom: 1px solid var(--gold-100);
}
.chips-label{
  font-family: "Geist Mono", monospace;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-700); margin-bottom: 18px; font-weight: 500;
  display: flex; align-items: center; gap: 10px;
}
.chips-label::before{ content: ""; width: 24px; height: 1px; background: var(--gold-500);}
.chips-row{ display: flex; flex-wrap: wrap; gap: 8px;}
.chip{
  padding: 8px 14px; background: var(--white);
  border: 1px solid var(--gold-100);
  border-radius: var(--r-pill);
  font-size: 13px; font-weight: 500; color: var(--ink-800);
  letter-spacing: -0.005em;
  transition: all .25s var(--ease-out-quint);
}
.chip:hover{ border-color: var(--gold-500); background: var(--white); transform: translateY(-1px);}
.chip .c-mono{ font-family: "Geist Mono", monospace; font-size: 11px; color: var(--gold-700); margin-left: 6px;}

.services-section{ background: var(--white); padding: 110px 0;}
.services-grid-x{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;}
@media (max-width: 800px){ .services-grid-x{ grid-template-columns: 1fr;}}

.svc-card{
  display: flex; flex-direction: column; gap: 14px;
  padding: 32px 30px;
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  transition: all .3s var(--ease-out-quint);
  position: relative;
}
.svc-card:hover{ border-color: var(--ink-900); transform: translateY(-3px); box-shadow: 0 18px 40px -16px rgba(10,22,40,.12);}

.svc-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--ink-150);}
.svc-head .left{ display: flex; align-items: center; gap: 12px;}
.svc-icon{
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--ink-50); border: 1px solid var(--ink-150);
  color: var(--ink-700); display: grid; place-items: center;
}
.svc-icon svg{ width: 18px; height: 18px;}
.svc-num{ font-family: "Geist Mono", monospace; font-size: 11px; color: var(--gold-700); font-weight: 500; letter-spacing: 0.04em;}
.svc-card h3{ font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink-900);}
.svc-card p.svc-def{ font-size: 14px; color: var(--ink-500); line-height: 1.6; font-weight: 400;}

.svc-list{ list-style: none; display: flex; flex-wrap: wrap; gap: 6px;}
.svc-list li{ font-size: 12px; padding: 4px 10px; background: var(--ink-50); border: 1px solid var(--ink-150); border-radius: var(--r-pill); color: var(--ink-700); font-weight: 450;}

.svc-foot{ display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--ink-150); margin-top: auto;}
.svc-cta{ display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 500; color: var(--ink-900);}
.svc-cta .arrow{ transition: transform .3s var(--ease-out-quint);}
.svc-card:hover .svc-cta .arrow{ transform: translateX(4px);}
.svc-related{ font-size: 11.5px; color: var(--ink-400); font-weight: 450;}

.geo-section{
  background: var(--ink-1000); color: var(--white);
  padding: 110px 0; position: relative; overflow: hidden;
}
.geo-section::before{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 100%;
  background-position: 20px 0;
}
.geo-section .container{ position: relative;}
.geo-section .section-eyebrow{ color: var(--gold-400);}
.geo-section .section-eyebrow::before{ background: var(--gold-400);}
.geo-section .section-title{ color: var(--white);}
.geo-section .section-title .accent{ color: var(--ink-400);}
.geo-section .section-sub{ color: var(--ink-300);}

.geo-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-xl); overflow: hidden;}
@media (max-width: 800px){ .geo-grid{ grid-template-columns: 1fr;}}
.geo-block{
  background: var(--ink-1000);
  padding: 28px 30px;
  display: flex; flex-direction: column; gap: 12px;
}
.geo-block .q-mark{ font-family: "Geist Mono", monospace; font-size: 11px; color: var(--gold-400); letter-spacing: 0.06em; font-weight: 500;}
.geo-block h3{ font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: var(--white); line-height: 1.25;}
.geo-block p{ font-size: 14px; line-height: 1.65; color: var(--ink-200); font-weight: 400;}
.geo-block .geo-link{ font-size: 12.5px; color: var(--gold-400); display: inline-flex; align-items: center; gap: 6px; font-weight: 500; margin-top: 4px;}

.framework-section{ background: var(--white); padding: 110px 0;}
.framework-table{
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--white);
}
.fw-row{
  display: grid; grid-template-columns: 100px 1.2fr 1.4fr 1fr;
  border-bottom: 1px solid var(--ink-150);
  transition: background .25s var(--ease-out-quint);
}
.fw-row:last-child{ border-bottom: none;}
.fw-row:hover{ background: var(--ink-50);}
.fw-row.head{ background: var(--ink-50); font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-500); font-weight: 500;}
.fw-row.head:hover{ background: var(--ink-50);}
.fw-cell{ padding: 18px 22px; border-right: 1px solid var(--ink-150); display: flex; align-items: center;}
.fw-cell:last-child{ border-right: none;}
.fw-acronym{ font-weight: 700; color: var(--ink-900); font-size: 16px; letter-spacing: -0.01em;}
.fw-name{ font-size: 14px; color: var(--ink-900); font-weight: 500;}
.fw-name span{ display: block; font-size: 12px; color: var(--ink-500); margin-top: 2px; font-weight: 400;}
.fw-role{ font-size: 13.5px; color: var(--ink-500); line-height: 1.5;}
.fw-our{ font-size: 12.5px; color: var(--gold-700); font-weight: 500;}
@media (max-width: 800px){
  .fw-row{ grid-template-columns: 1fr; }
  .fw-cell{ border-right: none; border-bottom: 1px solid var(--ink-100); padding: 14px 22px;}
  .fw-cell:last-child{ border-bottom: none;}
  .fw-row.head{ display: none; }
}

.process{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.process-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; position: relative;}
.process-grid::before{ content: ""; position: absolute; top: 24px; left: 5%; right: 5%; height: 1px; background: var(--ink-150); z-index: 0;}
.step{ position: relative; z-index: 1;}
.step-num{
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--white); border: 1px solid var(--ink-200);
  display: grid; place-items: center;
  font-family: "Geist Mono", monospace; font-size: 14px; font-weight: 500;
  color: var(--ink-700);
  margin-bottom: 24px; position: relative;
}
.step-num::after{ content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid var(--ink-100);}
.step h3{ font-size: 15px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 8px; color: var(--ink-900);}
.step p{ font-size: 13px; color: var(--ink-500); line-height: 1.55; font-weight: 400;}
.step time{ display: block; margin-top: 8px; font-family: "Geist Mono", monospace; font-size: 11px; color: var(--gold-700); font-weight: 500;}
@media (max-width: 900px){
  .process-grid{ grid-template-columns: 1fr; gap: 24px;}
  .process-grid::before{ display: none;}
}

.pricing-section{ background: var(--ink-50); padding: 110px 0; border-top: 1px solid var(--ink-150); border-bottom: 1px solid var(--ink-150);}

.pricing-table{
  background: var(--white); border: 1px solid var(--ink-150);
  border-radius: var(--r-xl); overflow: hidden;
}
.pt-row{
  display: grid; grid-template-columns: 1.5fr 1.2fr 1.2fr 0.8fr;
  border-bottom: 1px solid var(--ink-150);
  transition: background .2s var(--ease-out-quint);
}
.pt-row:last-child{ border-bottom: none;}
.pt-row.head{ background: var(--ink-900); color: var(--white); font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500;}
.pt-row:not(.head):hover{ background: var(--ink-50);}
.pt-cell{ padding: 18px 22px; border-right: 1px solid var(--ink-150); display: flex; align-items: center; flex-direction: column; align-items: flex-start; justify-content: center;}
.pt-row.head .pt-cell{ border-right: 1px solid rgba(255,255,255,.08);}
.pt-cell:last-child{ border-right: none;}
.pt-svc{ font-size: 14.5px; font-weight: 600; color: var(--ink-900); margin-bottom: 2px;}
.pt-svc span{ display: block; font-size: 12px; color: var(--ink-500); font-weight: 400; margin-top: 2px;}
.pt-profile{ font-size: 13px; color: var(--ink-700); font-weight: 450;}
.pt-price{ font-family: "Geist Mono", monospace; font-size: 14px; color: var(--gold-700); font-weight: 500;}
.pt-cta a{ font-size: 12.5px; color: var(--ink-900); font-weight: 500; display: inline-flex; align-items: center; gap: 4px;}

@media (max-width: 800px){
  .pt-row{ grid-template-columns: 1fr;}
  .pt-cell{ border-right: none; border-bottom: 1px solid var(--ink-100); padding: 12px 22px;}
  .pt-row.head{ display: none;}
}

.pricing-note{
  margin-top: 24px; padding: 18px 22px;
  background: var(--white); border: 1px solid var(--ink-150);
  border-radius: var(--r-md);
  font-size: 13px; color: var(--ink-500); line-height: 1.55;
}
.pricing-note strong{ color: var(--ink-900); font-weight: 600;}

.switch-section{ background: var(--white); padding: 110px 0;}
.switch-grid{ display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start;}
@media (max-width: 900px){ .switch-grid{ grid-template-columns: 1fr; gap: 48px;}}

.switch-content h2{ font-size: var(--h1); font-weight: 500; line-height: 1.05; letter-spacing: -0.035em; color: var(--ink-900); margin-bottom: 20px;}
.switch-content h2 .accent{ color: var(--ink-400); font-weight: 450;}
.switch-content > p{ font-size: var(--body-lg); color: var(--ink-500); line-height: 1.55; margin-bottom: 28px;}
.switch-content .btn-primary{ padding: 14px 22px; font-size: 15px;}

.switch-list{ display: grid; gap: 0; border-top: 1px solid var(--ink-150);}
.switch-item{
  display: grid; grid-template-columns: 70px 1fr;
  gap: 20px; padding: 22px 0;
  border-bottom: 1px solid var(--ink-150);
  align-items: start;
}
.switch-item .num{ font-family: "Geist Mono", monospace; font-size: 12px; color: var(--gold-700); font-weight: 500; padding-top: 3px;}
.switch-item .text strong{ display: block; font-size: 15px; font-weight: 600; color: var(--ink-900); margin-bottom: 6px;}
.switch-item .text p{ font-size: 13.5px; color: var(--ink-500); line-height: 1.55;}

.bento-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}
@media (max-width: 800px){ .bento-grid{ grid-template-columns: 1fr;}}

.bento{ border-radius: var(--r-xl); padding: 36px; position: relative; overflow: hidden; min-height: 420px; display: flex; flex-direction: column; transition: transform .3s var(--ease-out-quint);}
.bento:hover{ transform: translateY(-3px);}
.bento-1{ background: var(--ink-900); color: var(--white); border: 1px solid var(--ink-900);}
.bento-2{ background: var(--white); color: var(--ink-900); border: 1px solid var(--ink-150);}

.bento-eyebrow{ font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 20px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px;}
.bento-1 .bento-eyebrow{ color: var(--gold-400);}
.bento-2 .bento-eyebrow{ color: var(--gold-700);}
.bento-eyebrow::before{ content: ""; width: 18px; height: 1px; background: currentColor;}

.bento h3{ font-size: clamp(26px, 2.8vw, 34px); font-weight: 500; line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 14px;}
.bento p{ font-size: 15px; max-width: 38ch; margin-bottom: 28px; line-height: 1.55; font-weight: 400;}
.bento-1 p{ color: var(--ink-200);}
.bento-2 p{ color: var(--ink-500);}

.bento-preview{ margin-top: auto; display: flex; flex-direction: column; gap: 8px;}
.fee-bar{ display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 10px; font-size: 12.5px; font-weight: 450;}
.bento-1 .fee-bar{ background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);}
.bento-2 .fee-bar{ background: var(--ink-50); border: 1px solid var(--ink-150);}
.fee-bar-label{ flex: 1;}
.bento-1 .fee-bar-label{ color: var(--ink-200);}
.bento-2 .fee-bar-label{ color: var(--ink-700);}
.fee-bar-bar{ flex: 2; height: 4px; border-radius: 2px; overflow: hidden;}
.bento-1 .fee-bar-bar{ background: rgba(255,255,255,.1);}
.bento-2 .fee-bar-bar{ background: var(--ink-150);}
.fee-bar-fill{ height: 100%; border-radius: 2px;}
.bento-1 .fee-bar-fill{ background: var(--gold-400);}
.bento-2 .fee-bar-fill{ background: var(--ink-700);}
.fee-bar-val{ font-family: "Geist Mono", monospace; font-size: 12px; font-weight: 500; min-width: 70px; text-align: right;}
.bento-1 .fee-bar-val{ color: var(--white);}
.bento-2 .fee-bar-val{ color: var(--ink-900);}
.fee-bar.highlight{ background: var(--gold-50) !important; border: 1px solid var(--gold-400) !important;}
.fee-bar.highlight .fee-bar-label{ color: var(--gold-700); font-weight: 600;}
.fee-bar.highlight .fee-bar-bar{ background: rgba(197,165,90,.2);}
.fee-bar.highlight .fee-bar-fill{ background: var(--gold-600);}
.fee-bar.highlight .fee-bar-val{ color: var(--gold-700); font-weight: 600;}

.bento-cta{ margin-top: 24px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; align-self: flex-start; padding: 10px 16px; border-radius: var(--r-pill); transition: all .3s var(--ease-out-quint);}
.bento-1 .bento-cta{ background: var(--white); color: var(--ink-900);}
.bento-1 .bento-cta:hover{ transform: translateX(3px);}
.bento-2 .bento-cta{ background: var(--ink-900); color: var(--white);}
.bento-2 .bento-cta:hover{ transform: translateX(3px);}

.pillar{ display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; align-items: center;}
@media (max-width: 900px){ .pillar{ grid-template-columns: 1fr; gap: 48px;}}

.pillar-visual{ position: relative; aspect-ratio: 4/5; border-radius: var(--r-xl); background: var(--ink-900); overflow: hidden; border: 1px solid var(--ink-800);}
.pillar-visual::before{ content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 40px 40px;}
.pillar-badge{ position: absolute; top: 24px; left: 24px; padding: 6px 12px; border-radius: var(--r-pill); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); font-size: 11px; color: var(--ink-200); display: flex; align-items: center; gap: 8px; font-weight: 450; letter-spacing: 0.02em;}
.pillar-headline{ position: absolute; top: 80px; left: 32px; right: 32px; font-size: clamp(28px, 3vw, 40px); font-weight: 500; color: var(--white); line-height: 1.05; letter-spacing: -0.03em;}
.pillar-headline .small{ display: block; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-400); margin-bottom: 14px; font-weight: 500; font-family: "Geist Mono", monospace;}
.pillar-headline .accent{ color: var(--ink-400); font-weight: 450;}
.timeline{ position: absolute; inset: auto 32px 32px 32px; display: flex; flex-direction: column; gap: 6px;}
.tl-row{ display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; font-size: 12.5px; color: var(--ink-200); font-weight: 450;}
.tl-row.last{ background: var(--ink-800); border-color: var(--gold-500); color: var(--white);}
.tl-dot{ width: 6px; height: 6px; border-radius: 50%; background: var(--ink-400); flex-shrink: 0;}
.tl-row.last .tl-dot{ background: var(--gold-400); box-shadow: 0 0 0 3px rgba(197,165,90,.2);}
.tl-row .tl-day{ font-family: "Geist Mono", monospace; color: var(--ink-300); font-size: 11px; margin-left: auto;}
.tl-row.last .tl-day{ color: var(--gold-400); font-weight: 500;}

.pillar-content h2{ font-size: var(--h1); font-weight: 500; line-height: 1.05; letter-spacing: -0.035em; margin-bottom: 20px; color: var(--ink-900);}
.pillar-content h2 .accent{ color: var(--ink-400); font-weight: 450;}
.pillar-content p{ font-size: var(--body-lg); color: var(--ink-500); line-height: 1.55; margin-bottom: 36px; max-width: 50ch; font-weight: 400;}

.pillar-list{ display: grid; gap: 0; margin-bottom: 36px; border-top: 1px solid var(--ink-150);}
.pillar-list li{ display: grid; grid-template-columns: 60px 1fr auto; gap: 20px; align-items: center; padding: 18px 0; list-style: none; border-bottom: 1px solid var(--ink-150);}
.pillar-list .num{ font-family: "Geist Mono", monospace; font-size: 12px; color: var(--ink-400); font-weight: 500;}
.pillar-list .text strong{ display: block; font-weight: 600; color: var(--ink-900); font-size: 15px; margin-bottom: 2px;}
.pillar-list .text span{ font-size: 13.5px; color: var(--ink-500); line-height: 1.5; font-weight: 400;}
.pillar-list .price{ font-family: "Geist Mono", monospace; font-size: 13px; color: var(--gold-700); font-weight: 500;}

.local-section{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.local-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px;}
@media (max-width: 1000px){ .local-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 560px){ .local-grid{ grid-template-columns: 1fr;}}

.local-card{
  padding: 24px 22px; background: var(--white);
  border: 1px solid var(--ink-150); border-radius: var(--r-lg);
  display: flex; flex-direction: column; gap: 8px;
  transition: all .3s var(--ease-out-quint);
}
.local-card:hover{ border-color: var(--gold-500); transform: translateY(-2px); box-shadow: 0 14px 30px -14px rgba(10,22,40,.12);}
.local-card .pin{ width: 28px; height: 28px; border-radius: 8px; background: var(--gold-50); border: 1px solid var(--gold-100); display: grid; place-items: center; color: var(--gold-700);}
.local-card .pin svg{ width: 14px; height: 14px;}
.local-card h3{ font-size: 15px; font-weight: 600; color: var(--ink-900); letter-spacing: -0.01em; margin-top: 4px;}
.local-card p{ font-size: 12px; color: var(--ink-500); line-height: 1.5; font-weight: 400;}
.local-card .highlight-card{ font-family: "Geist Mono", monospace; font-size: 11px; color: var(--gold-700); font-weight: 500; margin-top: auto;}

.local-card.is-hq{ background: var(--ink-900); border-color: var(--ink-900); color: var(--white); grid-column: span 1;}
.local-card.is-hq h3{ color: var(--white);}
.local-card.is-hq p{ color: var(--ink-300);}
.local-card.is-hq .pin{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); color: var(--gold-400);}
.local-card.is-hq .highlight-card{ color: var(--gold-400);}

.articles-section{ background: var(--ink-50); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.articles-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;}
@media (max-width: 900px){ .articles-grid{ grid-template-columns: 1fr;}}

.article{ display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: var(--r-xl); background: var(--white); border: 1px solid var(--ink-150); transition: all .3s var(--ease-out-quint); cursor: pointer; min-height: 240px;}
.article:hover{ transform: translateY(-3px); border-color: var(--ink-900); box-shadow: 0 18px 40px -16px rgba(10,22,40,.12);}
.article-meta{ display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--ink-400); font-weight: 450;}
.article-tag{ padding: 4px 10px; font-size: 10.5px; font-weight: 600; background: var(--gold-50); color: var(--gold-700); border-radius: var(--r-pill); letter-spacing: 0.04em; border: 1px solid var(--gold-100);}
.article h3{ font-size: 18px; font-weight: 500; line-height: 1.3; letter-spacing: -0.02em; color: var(--ink-900); margin-top: auto;}
.article-foot{ display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--ink-150); font-size: 12.5px; color: var(--ink-500); font-weight: 450;}
.article-foot .arrow{ width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--ink-200); display: grid; place-items: center; transition: all .3s var(--ease-out-quint); color: var(--ink-700);}
.article:hover .article-foot .arrow{ background: var(--ink-900); border-color: var(--ink-900); color: var(--white);}

.cta-final{ background: var(--ink-900); color: var(--white); padding: 130px 0; position: relative; overflow: hidden;}
.cta-final::before{ content: ""; position: absolute; inset: 0; background-image: linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px); background-size: calc((100vw - 40px) / 12) 100%; background-position: 20px 0; pointer-events: none;}
.cta-final .container{ position: relative; text-align: center;}
.cta-final h2{ font-size: clamp(38px, 5.4vw, 72px); font-weight: 500; line-height: 1; letter-spacing: -0.04em; margin-bottom: 24px; max-width: 22ch; margin-inline: auto;}
.cta-final h2 .accent{ color: var(--ink-400); font-weight: 450;}
.cta-final p{ font-size: 17px; color: var(--ink-300); max-width: 50ch; margin: 0 auto 36px; font-weight: 400;}
.cta-final .actions{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;}
.cta-final .btn-primary{ padding: 16px 28px; font-size: 15px; background: var(--white); color: var(--ink-900); box-shadow: 0 8px 24px -6px rgba(0,0,0,.5);}
.cta-final .btn-primary:hover{ background: var(--gold-50);}
.cta-final .btn-outline{ padding: 16px 28px; font-size: 15px; color: var(--white); border: 1px solid rgba(255,255,255,.2); background: transparent;}
.cta-final .btn-outline:hover{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.4);}

.cta-reassure{
  margin-top: 48px; padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,.1);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
@media (max-width: 800px){ .cta-reassure{ grid-template-columns: repeat(2, 1fr);}}
.cta-reassure-item{ display: flex; align-items: flex-start; gap: 12px; text-align: left;}
.cta-reassure-item .check{ width: 22px; height: 22px; border-radius: 50%; background: var(--gold-400); color: var(--ink-900); display: grid; place-items: center; flex-shrink: 0; font-weight: 700; font-size: 12px;}
.cta-reassure-item strong{ display: block; font-size: 13.5px; color: var(--white); font-weight: 600; margin-bottom: 2px;}
.cta-reassure-item span{ font-size: 12px; color: var(--ink-300); line-height: 1.45;}

footer{ background: var(--ink-1000); color: var(--ink-300); padding: 60px 0 40px;}
.footer-grid{ display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 48px;}
@media (max-width: 1000px){ .footer-grid{ grid-template-columns: 2fr 1fr 1fr;}}
@media (max-width: 700px){ .footer-grid{ grid-template-columns: 1fr 1fr;}}
.footer-grid h5{ font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-400); margin-bottom: 18px; font-weight: 500; font-family: "Geist Mono", monospace;}
.footer-grid ul{ list-style: none; display: flex; flex-direction: column; gap: 10px;}
.footer-grid a{ font-size: 13px; transition: color .25s; font-weight: 450;}
.footer-grid a:hover{ color: var(--white);}
.footer-brand p{ font-size: 13px; line-height: 1.6; max-width: 38ch; margin-top: 14px; font-weight: 400;}
.footer-brand .brand-text{ color: var(--white);}
.footer-brand .brand-text small{ color: var(--ink-400);}
.footer-bottom{ display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.06); font-size: 12px; color: var(--ink-400); font-weight: 450;}

.outcomes-strip{
  background: var(--white);
  padding: 28px 0;
  border-top: 1px solid var(--ink-150);
  border-bottom: 1px solid var(--ink-150);
}
.outcomes-track{
  display: flex; align-items: center; gap: 28px;
  flex-wrap: wrap; justify-content: center;
}
.outcome-pill{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--ink-700); font-weight: 450;
  letter-spacing: -0.005em;
}
.outcome-pill::before{
  content: ""; width: 4px; height: 4px; border-radius: 50%;
  background: var(--gold-500);
}
.outcome-pill strong{ color: var(--ink-900); font-weight: 600;}

.why-lux{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.why-lux .section-eyebrow{ color: var(--gold-700);}
.wl-grid{
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start;
}
@media (max-width: 900px){ .wl-grid{ grid-template-columns: 1fr; gap: 48px;}}

.wl-stage{
  display: flex; flex-direction: column; gap: 8px;
  padding: 28px;
  background: var(--ink-900); color: var(--white);
  border-radius: var(--r-xl);
  position: sticky; top: 100px;
  min-height: 380px;
  overflow: hidden;
}
.wl-stage::before{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
.wl-stage > *{ position: relative;}
.wl-stage .crest{
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--gold-400);
  display: grid; place-items: center; margin-bottom: 22px;
}
.wl-stage .label{
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
}
.wl-stage h3{
  font-size: clamp(28px, 3vw, 40px); font-weight: 500;
  line-height: 1.05; letter-spacing: -0.03em;
  color: var(--white); margin: 14px 0 18px;
}
.wl-stage h3 .accent{ color: var(--ink-400); font-weight: 450;}
.wl-stage p{ font-size: 14px; color: var(--ink-200); line-height: 1.6; max-width: 36ch;}

.wl-stage .stat-grid{
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1px; margin-top: auto; padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.wl-stage .stat-cell{
  padding: 12px 14px 0 0;
}
.wl-stage .stat-cell strong{
  display: block; font-size: 22px; line-height: 1; color: var(--white); font-weight: 500;
  letter-spacing: -0.025em; margin-bottom: 4px;
}
.wl-stage .stat-cell span{ font-size: 11px; color: var(--ink-300); line-height: 1.4;}

.wl-list{ display: flex; flex-direction: column;}
.wl-item{
  display: grid; grid-template-columns: 36px 1fr;
  gap: 18px; padding: 22px 0;
  border-bottom: 1px solid var(--ink-150);
  align-items: start;
}
.wl-item:last-child{ border-bottom: none;}
.wl-item .num{
  font-family: "Geist Mono", monospace; font-size: 11px;
  color: var(--gold-700); font-weight: 500;
  padding-top: 4px;
}
.wl-item h4{
  font-size: 17px; font-weight: 600; letter-spacing: -0.02em;
  color: var(--ink-900); margin-bottom: 6px;
}
.wl-item p{
  font-size: 14px; color: var(--ink-500); line-height: 1.55; font-weight: 400;
}
.wl-item .entities{
  margin-top: 8px; display: flex; flex-wrap: wrap; gap: 4px;
}
.wl-item .entity{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  padding: 2px 7px; background: var(--ink-50);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-pill);
  color: var(--ink-600); font-weight: 450;
}

.infra-mega{
  background: var(--ink-1000); color: var(--white);
  padding: 130px 0;
  position: relative; overflow: hidden;
}
.infra-mega::before{
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(60% 50% at 50% 0%, rgba(197,165,90,0.05), transparent 70%),
              radial-gradient(40% 30% at 0% 100%, rgba(40,80,144,0.08), transparent 70%);
}
.infra-mega::after{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 100%;
  background-position: 20px 0;
}
.infra-mega .container{ position: relative; z-index: 1;}

.infra-mega .infra-head{
  display: flex; flex-direction: column; gap: 20px;
  max-width: 880px; margin: 0 auto 80px; text-align: center;
}
.infra-mega .infra-eyebrow{
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
  display: inline-flex; align-items: center; gap: 14px;
  justify-content: center;
}
.infra-mega .infra-eyebrow::before, .infra-mega .infra-eyebrow::after{
  content: ""; flex: 0 0 60px; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold-500), transparent);
}
.infra-mega h2{
  font-size: clamp(40px, 5.6vw, 76px);
  font-weight: 500; line-height: 1; letter-spacing: -0.04em;
  color: var(--white);
}
.infra-mega h2 .accent{
  color: var(--ink-400); font-weight: 450;
}
.infra-mega .infra-head p{
  font-size: 17px; color: var(--ink-300); line-height: 1.6;
  max-width: 60ch; margin: 0 auto;
}

.infra-diagram{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 36px;
}
@media (max-width: 900px){ .infra-diagram{ grid-template-columns: 1fr;}}

.infra-layer{
  padding: 32px 28px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  position: relative;
  display: flex; flex-direction: column; gap: 16px;
  transition: all .35s var(--ease-out-quint);
  overflow: hidden;
}
.infra-layer:hover{ background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14);}
.infra-layer .ix-tag{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
}
.infra-layer h3{
  font-size: 22px; font-weight: 500; letter-spacing: -0.025em;
  line-height: 1.15; color: var(--white);
}
.infra-layer p{ font-size: 13.5px; line-height: 1.6; color: var(--ink-200);}
.infra-layer .ix-list{
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.infra-layer .ix-list span{
  font-family: "Geist Mono", monospace; font-size: 11px;
  padding: 3px 8px; background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-pill);
  color: var(--ink-200); font-weight: 450;
}

.infra-flow{
  display: grid; grid-template-columns: repeat(7, 1fr);
  gap: 0; margin-top: 24px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  overflow: hidden;
}
@media (max-width: 900px){ .infra-flow{ grid-template-columns: repeat(2, 1fr);}}
.infra-step{
  padding: 18px 16px;
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column; gap: 6px;
  background: rgba(255,255,255,.02);
}
.infra-step:last-child{ border-right: none;}
.infra-step .n{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  color: var(--gold-400); font-weight: 500;
}
.infra-step .t{ font-size: 13px; color: var(--white); font-weight: 500; line-height: 1.3;}
.infra-step .auth{ font-size: 11px; color: var(--ink-400); font-family: "Geist Mono", monospace;}

.comparison-section{ background: var(--white); padding: 110px 0;}
.cmp-wrapper{
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--white);
}
.cmp-row{
  display: grid; grid-template-columns: 1.4fr 1fr 1fr;
  border-bottom: 1px solid var(--ink-150);
}
.cmp-row:last-child{ border-bottom: none;}
.cmp-row.head .cmp-cell{
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  font-weight: 500; padding: 22px;
}
.cmp-row.head{
  background: var(--ink-50);
}
.cmp-row.head .cmp-cell:first-child{ color: var(--ink-500);}
.cmp-row.head .cmp-cell:nth-child(2){ color: var(--ink-500);}
.cmp-row.head .cmp-cell:nth-child(3){ background: var(--ink-900); color: var(--gold-400);}

.cmp-cell{
  padding: 18px 22px;
  border-right: 1px solid var(--ink-150);
  display: flex; align-items: center;
  font-size: 13.5px;
}
.cmp-cell:last-child{ border-right: none;}
.cmp-row:not(.head) .cmp-cell:first-child{
  color: var(--ink-700); font-weight: 500;
}
.cmp-row:not(.head) .cmp-cell:nth-child(2){
  color: var(--ink-400);
}
.cmp-row:not(.head) .cmp-cell:nth-child(3){
  color: var(--ink-900); font-weight: 600;
  background: var(--gold-50);
}
.cmp-cell .marker{
  display: inline-flex; align-items: center; gap: 8px;
}
.cmp-cell .marker.no::before{
  content: "—"; color: var(--ink-300); font-weight: 400;
}
.cmp-cell .marker.yes::before{
  content: "✓"; color: var(--gold-700); font-weight: 700;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--white); border: 1px solid var(--gold-400);
  display: inline-grid; place-items: center; font-size: 11px;
}
@media (max-width: 800px){
  .cmp-row{ grid-template-columns: 1fr;}
  .cmp-cell{ border-right: none; border-bottom: 1px solid var(--ink-100); padding: 12px 22px;}
  .cmp-cell:last-child{ border-bottom: none;}
  .cmp-row.head{ display: none;}
  .cmp-row:not(.head) .cmp-cell:nth-child(3){ background: var(--gold-50);}
}

.reassure-section{
  background: var(--ink-50);
  padding: 60px 0;
  border-top: 1px solid var(--ink-150);
  border-bottom: 1px solid var(--ink-150);
}
.reassure-grid{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 900px){ .reassure-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 480px){ .reassure-grid{ grid-template-columns: 1fr;}}
.reassure-item{
  display: flex; align-items: flex-start; gap: 14px;
}
.reassure-icon{
  width: 32px; height: 32px; flex-shrink: 0;
  border-radius: 8px;
  background: var(--white); border: 1px solid var(--gold-400);
  color: var(--gold-700);
  display: grid; place-items: center;
  font-weight: 700; font-size: 14px;
}
.reassure-text strong{
  display: block; font-size: 14px; color: var(--ink-900);
  font-weight: 600; margin-bottom: 2px;
}
.reassure-text span{
  font-size: 12px; color: var(--ink-500); line-height: 1.5;
}

.concerns-section{ background: var(--white); padding: 110px 0;}
.concerns-grid{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--ink-150);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  overflow: hidden;
}
@media (max-width: 900px){ .concerns-grid{ grid-template-columns: 1fr;}}

.concern{
  background: var(--white);
  padding: 28px 26px;
  display: flex; flex-direction: column; gap: 14px;
  position: relative;
  transition: background .25s var(--ease-out-quint);
}
.concern:hover{ background: var(--ink-50);}
.concern .worry{
  display: flex; align-items: flex-start; gap: 10px;
  padding-bottom: 14px; border-bottom: 1px dashed var(--ink-200);
}
.concern .worry .q{
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--ink-100); color: var(--ink-500);
  display: grid; place-items: center; flex-shrink: 0;
  font-family: "Geist Mono", monospace; font-size: 11px; font-weight: 600;
}
.concern .worry strong{
  font-size: 14.5px; color: var(--ink-900);
  font-weight: 600; line-height: 1.4; letter-spacing: -0.015em;
}
.concern .answer{
  display: flex; align-items: flex-start; gap: 10px;
}
.concern .answer .a{
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--gold-500); color: var(--ink-900);
  display: grid; place-items: center; flex-shrink: 0;
  font-family: "Geist Mono", monospace; font-size: 11px; font-weight: 700;
}
.concern .answer p{
  font-size: 13.5px; color: var(--ink-500); line-height: 1.55;
}

.aiops-section{ background: var(--ink-1000); color: var(--white); padding: 110px 0; position: relative; overflow: hidden;}
.aiops-section::before{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 100%;
  background-position: 20px 0;
}
.aiops-section .container{ position: relative;}
.aiops-section .section-eyebrow{ color: var(--gold-400);}
.aiops-section .section-eyebrow::before{ background: var(--gold-400);}
.aiops-section .section-title{ color: var(--white);}
.aiops-section .section-title .accent{ color: var(--ink-400);}
.aiops-section .section-sub{ color: var(--ink-300);}

.aiops-grid{
  display: grid; grid-template-columns: 1.2fr 1fr 1fr;
  gap: 16px;
}
@media (max-width: 900px){ .aiops-grid{ grid-template-columns: 1fr;}}

.aiops-card{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  padding: 28px;
  display: flex; flex-direction: column; gap: 14px;
  position: relative;
}
.aiops-card.large{
  grid-row: span 2;
  background: linear-gradient(160deg, rgba(197,165,90,.05) 0%, rgba(255,255,255,.02) 60%);
  border-color: rgba(197,165,90,.2);
}
.aiops-card .micro{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
}
.aiops-card h3{
  font-size: 19px; font-weight: 500; letter-spacing: -0.02em;
  color: var(--white); line-height: 1.25;
}
.aiops-card.large h3{ font-size: 28px; line-height: 1.15;}
.aiops-card p{ font-size: 13.5px; color: var(--ink-200); line-height: 1.6;}
.aiops-card .ai-list{ display: flex; flex-direction: column; gap: 8px; margin-top: auto;}
.aiops-card .ai-list li{
  display: flex; align-items: center; gap: 10px;
  font-size: 12.5px; color: var(--ink-200);
  padding: 8px 12px; background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px;
}
.aiops-card .ai-list li::before{
  content: ""; width: 4px; height: 4px; border-radius: 50%;
  background: var(--gold-400);
}
.aiops-card .ai-tag{
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; padding: 4px 10px;
  background: rgba(197,165,90,.1); color: var(--gold-300);
  border: 1px solid rgba(197,165,90,.25);
  border-radius: var(--r-pill); font-weight: 500;
  font-family: "Geist Mono", monospace; letter-spacing: 0.04em;
  align-self: flex-start;
}

.faq-section{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.faq-layout{
  display: grid; grid-template-columns: 280px 1fr; gap: 60px;
  align-items: start;
}
@media (max-width: 900px){ .faq-layout{ grid-template-columns: 1fr; gap: 40px;}}

.faq-side{
  position: sticky; top: 100px;
}
.faq-cats{
  display: flex; flex-direction: column; gap: 4px;
  margin-bottom: 24px;
}
.faq-cat{
  padding: 10px 14px;
  font-family: "Geist Mono", monospace; font-size: 11.5px;
  letter-spacing: 0.06em; color: var(--ink-500);
  border-left: 2px solid var(--ink-150);
  font-weight: 450;
  cursor: pointer;
  transition: all .25s var(--ease-out-quint);
}
.faq-cat:hover, .faq-cat.active{
  border-left-color: var(--gold-500);
  color: var(--ink-900);
  background: var(--gold-50);
}
.faq-cat .count{
  float: right; color: var(--ink-400); font-size: 10.5px;
}

.faq-list{ display: flex; flex-direction: column;}
.faq-block-title{
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-700); margin: 32px 0 14px;
  padding-bottom: 10px; border-bottom: 1px solid var(--ink-150);
}
.faq-block-title:first-child{ margin-top: 0;}
.faq-item{
  border-bottom: 1px solid var(--ink-150);
}
.faq-q{
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; cursor: pointer; gap: 24px;
  transition: padding .25s var(--ease-out-quint);
}
.faq-q:hover{ padding-left: 8px;}
.faq-q-text{
  font-size: 15.5px; color: var(--ink-900); font-weight: 500;
  letter-spacing: -0.015em; line-height: 1.3;
}
.faq-toggle{
  width: 28px; height: 28px; border-radius: 50%;
  border: 1px solid var(--ink-200);
  display: grid; place-items: center; flex-shrink: 0;
  color: var(--ink-700); transition: all .3s var(--ease-out-quint);
  font-size: 14px; font-weight: 400;
}
.faq-item[open] .faq-toggle{
  background: var(--ink-900); border-color: var(--ink-900); color: var(--white);
  transform: rotate(45deg);
}
.faq-a{
  padding: 0 36px 22px 0;
  font-size: 14px; color: var(--ink-500); line-height: 1.65;
  max-width: 75ch;
}
.faq-a strong{ color: var(--ink-900); font-weight: 600;}

.has-mega{ position: relative;}
.mega-trigger{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; font-size: 14px; font-weight: 450; color: var(--ink-700);
  border-radius: var(--r-pill);
  cursor: pointer;
  letter-spacing: -0.005em;
  transition: all .25s var(--ease-out-quint);
}
.mega-trigger:hover{ background: var(--ink-100); color: var(--ink-900);}
.mega-trigger .chev{ width: 10px; height: 10px; transition: transform .3s var(--ease-out-quint);}
.has-mega.open .mega-trigger{ background: var(--ink-100); color: var(--ink-900);}
.has-mega.open .mega-trigger .chev{ transform: rotate(180deg);}

.mega-panel{
  position: fixed;
  top: 64px; left: 50%;
  transform: translateX(-50%) translateY(-8px);
  width: min(calc(100vw - 40px), 1180px);
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  box-shadow: 0 24px 60px -16px rgba(10,22,40,.18);
  padding: 28px;
  opacity: 0; pointer-events: none;
  transition: opacity .25s var(--ease-out-quint), transform .25s var(--ease-out-quint);
  z-index: 200;
  max-height: calc(100vh - 90px);
  overflow-y: auto;
}
.has-mega.open .mega-panel{ opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto;}

.mega-grid{ display: grid; gap: 28px;}
.mega-grid.s-services{ grid-template-columns: 2.2fr 1fr 1fr;}
.mega-grid.s-personas{ grid-template-columns: 1fr 1fr 1fr;}
.mega-grid.s-resources{ grid-template-columns: 2fr 1fr;}
.mega-grid.s-fiduciaire{ grid-template-columns: 1fr 1fr 1fr;}
.mega-grid.s-career{ grid-template-columns: 1fr 1fr 1fr;}
@media (max-width: 900px){ .mega-grid{ grid-template-columns: 1fr !important;}}

.mega-col h6{
  font-family: "Geist Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-700); font-weight: 500; margin-bottom: 14px;
  display: flex; align-items: center; gap: 10px;
}
.mega-col h6::before{ content: ""; width: 18px; height: 1px; background: var(--gold-500);}
.mega-list{ display: flex; flex-direction: column; gap: 2px;}
.mega-item{
  display: grid; grid-template-columns: 28px 1fr auto;
  gap: 10px; align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  transition: all .2s var(--ease-out-quint);
  text-align: left;
}
.mega-item:hover{ background: var(--ink-50);}
.mega-item .ic{
  width: 26px; height: 26px; border-radius: 7px;
  background: var(--ink-50); border: 1px solid var(--ink-150);
  color: var(--ink-700);
  display: grid; place-items: center;
}
.mega-item .ic svg{ width: 13px; height: 13px;}
.mega-item:hover .ic{ background: var(--ink-900); color: var(--gold-400); border-color: var(--ink-900);}
.mega-item .body{ display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.mega-item .body strong{ font-size: 13.5px; font-weight: 600; color: var(--ink-900); letter-spacing: -0.01em;}
.mega-item .body span{ font-size: 11.5px; color: var(--ink-500); line-height: 1.35;}
.mega-item .pill{
  font-family: "Geist Mono", monospace; font-size: 10px;
  padding: 2px 6px; background: var(--gold-50); color: var(--gold-700);
  border-radius: var(--r-pill); font-weight: 500; letter-spacing: 0.03em;
  border: 1px solid var(--gold-100); white-space: nowrap;
}
.mega-item .pill.money{ background: var(--ink-900); color: var(--gold-400); border-color: var(--ink-900);}

.mega-feature{
  background: var(--ink-900); color: var(--white);
  border-radius: var(--r-lg); padding: 22px;
  display: flex; flex-direction: column; gap: 14px;
  position: relative; overflow: hidden; min-height: 180px;
}
.mega-feature::before{ content: ""; position: absolute; inset: 0; background: radial-gradient(70% 70% at 100% 0%, rgba(197,165,90,.16), transparent 70%);}
.mega-feature > *{ position: relative;}
.mega-feature .micro{ font-family: "Geist Mono", monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-400); font-weight: 500;}
.mega-feature h4{ font-size: 18px; font-weight: 500; line-height: 1.2; letter-spacing: -0.02em;}
.mega-feature p{ font-size: 12.5px; color: var(--ink-200); line-height: 1.5;}
.mega-feature .mf-cta{
  margin-top: auto;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; background: var(--white); color: var(--ink-900);
  border-radius: var(--r-pill); font-size: 12.5px; font-weight: 500;
  align-self: flex-start;
  transition: transform .2s var(--ease-out-quint);
}
.mega-feature .mf-cta:hover{ transform: translateX(3px);}

.os-badges{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px;}
.os-badge{
  font-family: "Geist Mono", monospace; font-size: 10px;
  padding: 3px 8px; background: var(--ink-50);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-pill);
  color: var(--ink-700); font-weight: 500;
  letter-spacing: 0.04em;
}
.os-badge.os-acc{ background: var(--gold-50); color: var(--gold-700); border-color: var(--gold-100);}
.os-badge.os-comp{ background: var(--ink-900); color: var(--gold-400); border-color: var(--ink-900);}

.testi-section{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.testi-grid{ display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 16px;}
@media (max-width: 900px){ .testi-grid{ grid-template-columns: 1fr;}}
.testi{
  background: var(--white); border: 1px solid var(--ink-150);
  border-radius: var(--r-xl); padding: 30px 28px;
  display: flex; flex-direction: column; gap: 20px;
  position: relative; transition: all .3s var(--ease-out-quint);
}
.testi:hover{ border-color: var(--ink-900); transform: translateY(-3px); box-shadow: 0 18px 40px -16px rgba(10,22,40,.12);}
.testi.featured{ background: var(--ink-900); color: var(--white); border-color: var(--ink-900);}
.testi.featured:hover{ box-shadow: 0 18px 40px -16px rgba(10,22,40,.5);}
.testi .stars{ display: inline-flex; gap: 2px; color: var(--gold-500); font-size: 14px; letter-spacing: 1px;}
.testi.featured .stars{ color: var(--gold-400);}
.testi blockquote{ font-size: 16px; line-height: 1.55; color: var(--ink-900); font-weight: 500; letter-spacing: -0.015em;}
.testi.featured blockquote{ color: var(--white); font-size: 18px;}
.testi blockquote::before{ content: "\201C"; font-size: 40px; color: var(--gold-500); line-height: 0.6; display: block; margin-bottom: 4px; font-family: Georgia, serif;}
.testi.featured blockquote::before{ color: var(--gold-400);}
.testi-author{ display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--ink-150);}
.testi.featured .testi-author{ border-top-color: rgba(255,255,255,.12);}
.testi-avatar{
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--ink-100); color: var(--ink-700);
  display: grid; place-items: center;
  font-family: "Geist Mono", monospace; font-size: 13px; font-weight: 600;
  flex-shrink: 0;
}
.testi.featured .testi-avatar{ background: rgba(255,255,255,.08); color: var(--gold-400);}
.testi-meta strong{ display: block; font-size: 13.5px; color: var(--ink-900); font-weight: 600; letter-spacing: -0.01em;}
.testi.featured .testi-meta strong{ color: var(--white);}
.testi-meta span{ font-size: 11.5px; color: var(--ink-500); display: block; margin-top: 2px;}
.testi.featured .testi-meta span{ color: var(--ink-300);}

.refs-section{ background: var(--ink-50); padding: 80px 0; border-top: 1px solid var(--ink-150); border-bottom: 1px solid var(--ink-150);}
.refs-label{ font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-500); font-weight: 500; text-align: center; margin-bottom: 30px;}
.refs-grid{ display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px;}
@media (max-width: 900px){ .refs-grid{ grid-template-columns: repeat(3, 1fr);}}
@media (max-width: 480px){ .refs-grid{ grid-template-columns: repeat(2, 1fr);}}
.ref-tile{
  background: var(--white); border: 1px solid var(--ink-150);
  border-radius: var(--r-md); padding: 22px 16px; text-align: center;
  display: flex; flex-direction: column; gap: 6px; align-items: center; justify-content: center;
  min-height: 90px; transition: all .3s var(--ease-out-quint);
}
.ref-tile:hover{ border-color: var(--gold-500); transform: translateY(-2px);}
.ref-tile strong{ font-size: 13px; font-weight: 600; color: var(--ink-900); letter-spacing: -0.015em; line-height: 1.25;}
.ref-tile span{ font-family: "Geist Mono", monospace; font-size: 10px; color: var(--ink-400); font-weight: 450; letter-spacing: 0.04em;}

.press-section{ background: var(--white); padding: 90px 0;}
.press-bar{ display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center;}
@media (max-width: 800px){ .press-bar{ grid-template-columns: 1fr;}}
.press-label{ font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-500); font-weight: 500; line-height: 1.4;}
.press-label strong{ display: block; color: var(--ink-900); font-size: 13px; margin-bottom: 4px;}
.press-list{ display: flex; flex-wrap: wrap; gap: 24px 36px; align-items: center;}
.press-item{ font-size: 15px; font-weight: 500; color: var(--ink-700); letter-spacing: -0.015em; position: relative; padding-right: 36px;}
.press-item:not(:last-child)::after{ content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 16px; background: var(--ink-200);}
.press-item .pub{ color: var(--ink-400); font-size: 11px; font-family: "Geist Mono", monospace; letter-spacing: 0.06em; display: block; margin-top: 2px; font-weight: 450;}

.qr-section{ background: var(--white); padding: 90px 0; border-top: 1px solid var(--ink-150);}
.qr-grid{
  display: grid; grid-template-columns: auto 1fr auto; gap: 40px; align-items: center;
  background: var(--ink-900); color: var(--white);
  border-radius: var(--r-xl); padding: 36px 40px;
  position: relative; overflow: hidden;
}
.qr-grid::before{ content: ""; position: absolute; inset: 0; background: radial-gradient(60% 60% at 100% 0%, rgba(197,165,90,.12), transparent 70%);}
.qr-grid > *{ position: relative;}
@media (max-width: 800px){ .qr-grid{ grid-template-columns: 1fr; gap: 24px; text-align: center;}}
.qr-code{ width: 130px; height: 130px; background: var(--white); padding: 10px; border-radius: var(--r-md); display: grid; place-items: center;}
.qr-code svg{ width: 100%; height: 100%;}
.qr-text .micro{ font-family: "Geist Mono", monospace; font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-400); font-weight: 500; margin-bottom: 10px;}
.qr-text h3{ font-size: 22px; font-weight: 500; letter-spacing: -0.02em; color: var(--white); margin-bottom: 6px;}
.qr-text p{ font-size: 13px; color: var(--ink-300); line-height: 1.5; max-width: 50ch;}
.qr-cta{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 20px; background: var(--white); color: var(--ink-900);
  border-radius: var(--r-pill); font-size: 13px; font-weight: 500;
  white-space: nowrap; transition: all .25s var(--ease-out-quint);
}
.qr-cta:hover{ background: var(--gold-50); transform: translateY(-1px);}

.editorial-section{ background: var(--paper-2); padding: 100px 0; border-top: 1px solid var(--ink-150);}
.editorial-section .section-eyebrow{ color: var(--gold-700);}
.ed-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;}
@media (max-width: 900px){ .ed-grid{ grid-template-columns: 1fr;}}
.ed-card{
  display: flex; flex-direction: column; gap: 14px;
  padding: 26px; background: var(--white);
  border: 1px solid var(--ink-150); border-radius: var(--r-xl);
  transition: all .3s var(--ease-out-quint); position: relative; min-height: 220px;
}
.ed-card:hover{ transform: translateY(-3px); border-color: var(--gold-500); box-shadow: 0 18px 36px -16px rgba(10,22,40,.12);}
.ed-meta{ display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: var(--ink-400); font-family: "Geist Mono", monospace; letter-spacing: 0.04em;}
.ed-tag{ font-family: "Geist Mono", monospace; font-size: 10.5px; padding: 3px 9px; background: var(--gold-50); color: var(--gold-700); border-radius: var(--r-pill); letter-spacing: 0.06em; font-weight: 500; border: 1px solid var(--gold-100);}
.ed-tag.linkedin{ background: var(--ink-900); color: var(--white); border-color: var(--ink-900);}
.ed-card h3{ font-size: 17px; font-weight: 500; line-height: 1.3; letter-spacing: -0.02em; color: var(--ink-900); margin-top: auto;}
.ed-foot{ display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--ink-150); font-size: 12px; color: var(--ink-500);}
.ed-foot .arrow{ width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--ink-200); display: grid; place-items: center; transition: all .3s var(--ease-out-quint); color: var(--ink-700);}
.ed-card:hover .ed-foot .arrow{ background: var(--ink-900); border-color: var(--ink-900); color: var(--white);}

.lbi-section{
  background: var(--ink-1000); color: var(--white);
  padding: 140px 0 130px;
  position: relative; overflow: hidden;
}
.lbi-section::before{
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(50% 40% at 50% 0%, rgba(197,165,90,.06), transparent 70%),
    radial-gradient(40% 35% at 100% 50%, rgba(27,54,93,.18), transparent 70%),
    radial-gradient(40% 35% at 0% 100%, rgba(27,54,93,.14), transparent 70%);
  pointer-events: none;
}
.lbi-section::after{
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 48px;
  background-position: 20px 0;
  pointer-events: none;
  mask-image: linear-gradient(to bottom, black 0%, black 80%, transparent 100%);
}
.lbi-section .container{ position: relative; z-index: 1;}

.lbi-hero{
  text-align: center; max-width: 920px;
  margin: 0 auto 100px;
  display: flex; flex-direction: column; gap: 28px; align-items: center;
}
.lbi-eyebrow{
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
  display: inline-flex; align-items: center; gap: 14px;
}
.lbi-eyebrow::before, .lbi-eyebrow::after{
  content: ""; width: 60px; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold-500), transparent);
}
.lbi-hero h2{
  font-size: clamp(44px, 6.4vw, 88px);
  font-weight: 500; line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--white);
  max-width: 14ch;
}
.lbi-hero h2 .accent{ color: var(--ink-400); font-weight: 450;}
.lbi-hero .deck{
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.6; color: var(--ink-300);
  max-width: 56ch; font-weight: 400;
  letter-spacing: -0.005em;
}

.lbi-bar{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; margin-top: 14px;
  width: 100%; max-width: 760px;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lbi-bar .b{
  padding: 22px 18px;
  display: flex; flex-direction: column; gap: 6px; text-align: left;
  border-right: 1px solid rgba(255,255,255,.06);
}
.lbi-bar .b:last-child{ border-right: none;}
.lbi-bar .b strong{
  font-size: clamp(20px, 1.8vw, 26px); font-weight: 500;
  letter-spacing: -0.025em; line-height: 1; color: var(--white);
}
.lbi-bar .b span{ font-size: 11px; color: var(--ink-400); line-height: 1.4; letter-spacing: 0.04em; font-family: "Geist Mono", monospace; text-transform: uppercase;}
@media (max-width: 720px){
  .lbi-bar{ grid-template-columns: repeat(2, 1fr);}
  .lbi-bar .b:nth-child(2){ border-right: none;}
  .lbi-bar .b:nth-child(1), .lbi-bar .b:nth-child(2){ border-bottom: 1px solid rgba(255,255,255,.06);}
}

.lbi-grid{
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 12px; margin-bottom: 100px;
}
@media (max-width: 1000px){ .lbi-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 560px){ .lbi-grid{ grid-template-columns: 1fr;}}

.lbi-card{
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  padding: 28px 26px 24px;
  display: flex; flex-direction: column; gap: 18px;
  transition: all .35s var(--ease-out-quint);
  position: relative; overflow: hidden;
}
.lbi-card::before{
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold-500), transparent);
  opacity: 0; transition: opacity .35s var(--ease-out-quint);
}
.lbi-card:hover{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.16);
  transform: translateY(-3px);
}
.lbi-card:hover::before{ opacity: 1;}

.lbi-card .ic{
  width: 36px; height: 36px; border-radius: 9px;
  background: rgba(197,165,90,.08);
  border: 1px solid rgba(197,165,90,.22);
  color: var(--gold-400);
  display: grid; place-items: center;
}
.lbi-card .ic svg{ width: 16px; height: 16px;}
.lbi-card .micro{
  font-family: "Geist Mono", monospace; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
}
.lbi-card h3{
  font-size: 18px; font-weight: 500;
  letter-spacing: -0.02em; line-height: 1.2;
  color: var(--white);
}
.lbi-card ul{ list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 9px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.lbi-card ul li{
  display: flex; align-items: center; gap: 10px;
  font-size: 13.5px; color: var(--ink-200);
  letter-spacing: -0.005em;
  padding-left: 0 !important;
}
.lbi-card ul li::before{
  content: ""; width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold-500); flex-shrink: 0;
  position: static !important; top: auto !important; left: auto !important;
}
.lbi-card ul li .src{
  margin-left: auto; font-family: "Geist Mono", monospace;
  font-size: 10.5px; color: var(--ink-400); letter-spacing: 0.03em;
}

.lbi-map-wrap{
  display: grid; grid-template-columns: 320px 1fr;
  gap: 60px; align-items: center;
  margin-bottom: 100px;
}
@media (max-width: 1000px){ .lbi-map-wrap{ grid-template-columns: 1fr; gap: 40px;}}

.lbi-map-intro .label{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
  margin-bottom: 16px; display: block;
}
.lbi-map-intro h3{
  font-size: clamp(26px, 2.6vw, 32px); font-weight: 500;
  line-height: 1.1; letter-spacing: -0.03em;
  color: var(--white); margin-bottom: 16px;
}
.lbi-map-intro h3 .accent{ color: var(--ink-400); font-weight: 450;}
.lbi-map-intro p{
  font-size: 14.5px; line-height: 1.65;
  color: var(--ink-300); max-width: 40ch;
  font-weight: 400;
}
.lbi-map-intro .lm-legend{
  display: flex; flex-direction: column; gap: 8px;
  margin-top: 24px; padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.lbi-map-intro .lm-legend li{
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; color: var(--ink-300);
  font-family: "Geist Mono", monospace; letter-spacing: 0.04em;
  padding-left: 0 !important;
  list-style: none;
}
.lbi-map-intro .lm-legend li::before{ display: none;}
.lbi-map-intro .lm-legend .dot{
  width: 8px; height: 8px; border-radius: 50%;
}
.lm-legend .dot.core{ background: var(--gold-400); box-shadow: 0 0 0 3px rgba(197,165,90,.18);}
.lm-legend .dot.gov{ background: var(--ink-400);}
.lm-legend .dot.fin{ background: rgba(255,255,255,.4);}

.lbi-map{
  position: relative;
  aspect-ratio: 16 / 11;
  background: rgba(255,255,255,.015);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.lbi-map svg{ position: absolute; inset: 0; width: 100%; height: 100%;}

.lbi-ops{
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 900px){ .lbi-ops{ grid-template-columns: 1fr;}}

.lbi-ops-card{
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  padding: 26px 24px;
  display: flex; flex-direction: column; gap: 18px;
  min-height: 280px;
  position: relative;
  overflow: hidden;
}
.lbi-ops-card .micro{
  font-family: "Geist Mono", monospace; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 500;
}
.lbi-ops-card h4{
  font-size: 16px; font-weight: 500;
  letter-spacing: -0.015em; line-height: 1.25;
  color: var(--white);
}
.lbi-ops-card .ops-body{ flex: 1; display: flex; flex-direction: column; gap: 8px; margin-top: 4px;}

.ops-row{
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 12px; align-items: center;
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 8px;
  font-size: 12px;
}
.ops-row .dot{ width: 6px; height: 6px; border-radius: 50%; background: var(--ink-400);}
.ops-row.ok .dot{ background: var(--success);}
.ops-row.warn .dot{ background: var(--gold-500); box-shadow: 0 0 0 2px rgba(197,165,90,.16);}
.ops-row.crit .dot{ background: var(--signal); box-shadow: 0 0 0 2px rgba(192,57,43,.18);}
.ops-row .lbl{ color: var(--ink-200); font-weight: 450;}
.ops-row .val{ font-family: "Geist Mono", monospace; font-size: 11px; color: var(--ink-300);}
.ops-row.ok .val{ color: var(--success);}
.ops-row.warn .val{ color: var(--gold-400);}

.ops-kpi{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;}
.ops-kpi .k{
  padding: 12px 14px; background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.05); border-radius: 8px;
  display: flex; flex-direction: column; gap: 4px;
}
.ops-kpi .k .v{ font-size: 22px; font-weight: 500; letter-spacing: -0.025em; color: var(--white); line-height: 1; font-family: "Geist Mono", monospace;}
.ops-kpi .k .l{ font-size: 10.5px; color: var(--ink-400); letter-spacing: 0.04em; text-transform: uppercase; font-family: "Geist Mono", monospace;}

.ops-flow{ display: flex; flex-direction: column; gap: 4px;}
.ops-step{
  display: grid; grid-template-columns: 22px 1fr auto; gap: 10px; align-items: center;
  padding: 9px 0; font-size: 12.5px;
}
.ops-step .s{
  width: 18px; height: 18px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18);
  display: grid; place-items: center;
  font-family: "Geist Mono", monospace; font-size: 9.5px; color: var(--ink-300);
}
.ops-step.done .s{ background: var(--success); border-color: var(--success); color: var(--white);}
.ops-step.done .s::after{ content: "✓"; font-size: 10px;}
.ops-step.done .s span{ display: none;}
.ops-step.active .s{ background: var(--gold-500); border-color: var(--gold-500); color: var(--ink-900); font-weight: 700;}
.ops-step .t{ color: var(--ink-200);}
.ops-step.done .t{ color: var(--ink-400);}
.ops-step .when{ font-family: "Geist Mono", monospace; font-size: 10.5px; color: var(--ink-400); letter-spacing: 0.03em;}

.reveal{ opacity: 0; transform: translateY(20px); transition: opacity .7s var(--ease-out-quint), transform .7s var(--ease-out-quint);}
.reveal.in{ opacity: 1; transform: translateY(0);}

.annot{ position: fixed; bottom: 20px; right: 20px; z-index: 200; padding: 10px 14px; background: var(--ink-900); color: var(--white); border-radius: 10px; font-size: 12px; display: flex; align-items: center; gap: 10px; box-shadow: 0 8px 24px -6px rgba(0,0,0,.3); cursor: pointer; transition: transform .3s var(--ease-out-quint); font-weight: 450;}
.annot:hover{ transform: translateY(-2px);}
.annot .dot{ width: 6px; height: 6px; border-radius: 50%; background: var(--gold-400);}

.industries-section{ background: var(--white); padding: 110px 0; border-top: 1px solid var(--ink-150);}
.industries-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;}
@media (max-width: 1100px){ .industries-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 560px){ .industries-grid{ grid-template-columns: 1fr;}}

.industry{
  position: relative;
  padding: 26px 24px;
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  display: flex; flex-direction: column; gap: 14px;
  transition: all .35s var(--ease-out-quint);
  min-height: 340px;
  overflow: hidden;
}
.industry::after{
  content: ""; position: absolute; right: -40px; bottom: -40px;
  width: 120px; height: 120px; border-radius: 50%;
  background: var(--gold-50); opacity: 0;
  transition: opacity .4s var(--ease-out-quint);
  pointer-events: none;
}
.industry:hover{ transform: translateY(-4px); border-color: var(--ink-900); box-shadow: 0 18px 40px -16px rgba(10,22,40,.14);}
.industry:hover::after{ opacity: 1;}
.industry > *{ position: relative; z-index: 1;}

.industry-icon{
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--ink-50); border: 1px solid var(--ink-150);
  color: var(--ink-700);
  display: grid; place-items: center;
  transition: all .3s var(--ease-out-quint);
}
.industry:hover .industry-icon{ background: var(--ink-900); color: var(--gold-400); border-color: var(--ink-900);}
.industry-icon svg{ width: 18px; height: 18px;}

.industry-tag{
  font-family: "Geist Mono", monospace; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-700); font-weight: 500;
}
.industry h3{
  font-size: 17px; font-weight: 600;
  letter-spacing: -0.02em; line-height: 1.25;
  color: var(--ink-900);
}
.industry p{
  font-size: 13px; line-height: 1.55;
  color: var(--ink-500); font-weight: 400;
}
.industry ul.industry-modules{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 4px;
  padding-top: 12px; margin-top: auto;
  border-top: 1px solid var(--ink-150);
}
.industry ul.industry-modules li{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  padding: 3px 7px; background: var(--ink-50);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-pill); color: var(--ink-600);
  font-weight: 450;
}

.modulemap-section{ background: var(--ink-50); padding: 110px 0; border-top: 1px solid var(--ink-150); border-bottom: 1px solid var(--ink-150);}
.mm-table{
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.mm-row{
  display: grid; grid-template-columns: 200px 1.6fr 1fr 120px;
  border-bottom: 1px solid var(--ink-150);
  transition: background .2s var(--ease-out-quint);
}
.mm-row:last-child{ border-bottom: none;}
.mm-row:not(.head):hover{ background: var(--ink-50);}
.mm-row.head{
  background: var(--ink-900); color: var(--white);
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500;
}
.mm-cell{
  padding: 16px 20px; border-right: 1px solid var(--ink-150);
  display: flex; align-items: center;
  font-size: 13.5px;
}
.mm-row.head .mm-cell{ border-right: 1px solid rgba(255,255,255,.08);}
.mm-cell:last-child{ border-right: none;}
.mm-name{ font-weight: 600; color: var(--ink-900); display: flex; flex-direction: column; align-items: flex-start; gap: 2px;}
.mm-name .ms{ font-family: "Geist Mono", monospace; font-size: 10.5px; color: var(--ink-400); font-weight: 450; letter-spacing: 0.04em;}
.mm-desc{ font-size: 13px; color: var(--ink-500); line-height: 1.5;}
.mm-config{ font-size: 12.5px; color: var(--gold-700); font-weight: 500;}
.mm-tier{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.06em; text-transform: uppercase;
  padding: 4px 10px; border-radius: var(--r-pill); font-weight: 500;
  align-self: center;
}
.mm-tier.core{ background: var(--ink-900); color: var(--gold-400); border: 1px solid var(--ink-900);}
.mm-tier.opt{ background: var(--gold-50); color: var(--gold-700); border: 1px solid var(--gold-100);}
.mm-tier.sect{ background: var(--white); color: var(--ink-700); border: 1px solid var(--ink-200);}

@media (max-width: 900px){
  .mm-row{ grid-template-columns: 1fr;}
  .mm-cell{ border-right: none; border-bottom: 1px solid var(--ink-100); padding: 12px 20px;}
  .mm-cell:last-child{ border-bottom: none;}
  .mm-row.head{ display: none;}
}

.erp-cmp .cmp-row{ grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;}
.erp-cmp .cmp-row.head .cmp-cell:nth-child(2),
.erp-cmp .cmp-row.head .cmp-cell:nth-child(3),
.erp-cmp .cmp-row.head .cmp-cell:nth-child(4){ background: var(--ink-50); color: var(--ink-500);}
.erp-cmp .cmp-row.head .cmp-cell:nth-child(5){ background: var(--ink-900); color: var(--gold-400);}
.erp-cmp .cmp-row:not(.head) .cmp-cell:nth-child(2),
.erp-cmp .cmp-row:not(.head) .cmp-cell:nth-child(3),
.erp-cmp .cmp-row:not(.head) .cmp-cell:nth-child(4){ color: var(--ink-500); background: var(--white);}
.erp-cmp .cmp-row:not(.head) .cmp-cell:nth-child(5){ color: var(--ink-900); font-weight: 600; background: var(--gold-50);}

@media (max-width: 800px){
  .erp-cmp .cmp-row{ grid-template-columns: 1fr;}
}

.hero-odoo-stage{
  position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  width: 42%; min-width: 280px; max-width: 520px;
  aspect-ratio: 5/6;
  background: var(--ink-900);
  border-radius: var(--r-xl);
  overflow: hidden;
  display: none;
}
@media (min-width: 1100px){ .hero-odoo-stage{ display: block;}}
.hero-odoo-stage::before{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 32px 32px;
}
.hero-odoo-tag{
  position: absolute; top: 22px; left: 22px;
  padding: 6px 12px; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--r-pill);
  font-size: 11px; color: var(--ink-200);
  display: flex; align-items: center; gap: 8px;
  font-family: "Geist Mono", monospace; letter-spacing: 0.04em;
}
.hero-odoo-tag .live-dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold-400);
  box-shadow: 0 0 0 0 rgba(197,165,90,.6);
  animation: pulse 2s infinite;
}
.hero-odoo-headline{
  position: absolute; top: 70px; left: 22px; right: 22px;
  font-size: clamp(20px, 2vw, 26px); font-weight: 500;
  color: var(--white); line-height: 1.15; letter-spacing: -0.025em;
}
.hero-odoo-headline .small{
  display: block; font-size: 10.5px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-400); margin-bottom: 12px;
  font-weight: 500; font-family: "Geist Mono", monospace;
}
.hero-odoo-modules{
  position: absolute; inset: auto 22px 22px 22px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px;
}
.hero-odoo-mod{
  padding: 10px 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  font-size: 11.5px;
  color: var(--ink-200); font-weight: 450;
  display: flex; align-items: center; gap: 8px;
}
.hero-odoo-mod .dot{
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold-400); flex-shrink: 0;
}
.hero-odoo-mod.active{
  background: var(--ink-800);
  border-color: var(--gold-500);
  color: var(--white);
}

.anchor-nav{
  position: sticky; top: 64px; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid var(--ink-150);
  padding: 12px 0;
}
.anchor-nav-inner{
  display: flex; align-items: center; gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.anchor-nav-inner::-webkit-scrollbar{ display: none;}
.anchor-link{
  padding: 6px 12px; font-family: "Geist Mono", monospace;
  font-size: 11px; letter-spacing: 0.04em;
  color: var(--ink-500); border-radius: var(--r-pill);
  white-space: nowrap; font-weight: 450;
  transition: all .2s var(--ease-out-quint);
}
.anchor-link:hover{ background: var(--ink-50); color: var(--ink-900);}
.anchor-link.active{ background: var(--ink-900); color: var(--gold-400);}
.anchor-num{ color: var(--gold-700); margin-right: 8px;}

.migration-section{ background: var(--white); padding: 110px 0;}
.mig-grid{ display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: start;}
@media (max-width: 1000px){ .mig-grid{ grid-template-columns: 1fr;}}

.mig-sources{
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
}
.mig-source{
  padding: 16px 18px; background: var(--ink-50);
  border: 1px solid var(--ink-150); border-radius: var(--r-md);
  display: flex; flex-direction: column; gap: 4px;
  transition: all .25s var(--ease-out-quint);
}
.mig-source:hover{ border-color: var(--gold-500); transform: translateY(-2px);}
.mig-source strong{
  font-size: 13px; font-weight: 600;
  color: var(--ink-900); letter-spacing: -0.005em;
}
.mig-source span{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  color: var(--ink-400); letter-spacing: 0.04em;
}
.mig-source .src-delta{
  font-size: 11px; color: var(--gold-700); font-weight: 500; margin-top: 4px;
}

.mig-roadmap{
  display: grid; gap: 0;
  border-top: 1px solid var(--ink-150);
}
.mig-step{
  display: grid; grid-template-columns: 60px 1fr auto;
  gap: 18px; padding: 20px 0;
  border-bottom: 1px solid var(--ink-150);
  align-items: start;
}
.mig-step:last-child{ border-bottom: none;}
.mig-step .week{
  font-family: "Geist Mono", monospace; font-size: 11px;
  color: var(--gold-700); font-weight: 500;
  padding-top: 4px;
}
.mig-step .text strong{
  display: block; font-size: 15px; font-weight: 600;
  color: var(--ink-900); margin-bottom: 4px;
}
.mig-step .text p{
  font-size: 13.5px; color: var(--ink-500);
  line-height: 1.55; max-width: 60ch;
}
.mig-step .deliv{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  padding: 3px 8px; background: var(--ink-900);
  color: var(--gold-400); border-radius: var(--r-pill);
  font-weight: 500; letter-spacing: 0.04em;
  white-space: nowrap;
  align-self: center;
}

.respo-section{ background: var(--ink-1000); color: var(--white); padding: 110px 0; position: relative; overflow: hidden;}
.respo-section::before{
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: calc((100vw - 40px) / 12) 100%;
  background-position: 20px 0;
}
.respo-section .container{ position: relative;}
.respo-section .section-eyebrow{ color: var(--gold-400);}
.respo-section .section-eyebrow::before{ background: var(--gold-400);}
.respo-section .section-title{ color: var(--white);}
.respo-section .section-title .accent{ color: var(--ink-400);}
.respo-section .section-sub{ color: var(--ink-300);}

.respo-table{
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.respo-row{
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.respo-row:last-child{ border-bottom: none;}
.respo-row.head{
  background: rgba(255,255,255,.02);
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500;
  color: var(--gold-400);
}
.respo-cell{
  padding: 16px 20px; border-right: 1px solid rgba(255,255,255,.06);
  display: flex; align-items: center;
  font-size: 13.5px; color: var(--ink-200);
}
.respo-cell:last-child{ border-right: none;}
.respo-row:not(.head) .respo-cell:first-child{
  color: var(--white); font-weight: 500;
}
.respo-mark{
  display: inline-flex; align-items: center;
  font-family: "Geist Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.06em;
  padding: 3px 9px; border-radius: var(--r-pill);
  font-weight: 600; text-transform: uppercase;
}
.respo-mark.fsl{ background: var(--gold-500); color: var(--ink-1000);}
.respo-mark.client{ background: rgba(255,255,255,.06); color: var(--ink-300); border: 1px solid rgba(255,255,255,.08);}
.respo-mark.shared{ background: rgba(197,165,90,.12); color: var(--gold-400); border: 1px solid rgba(197,165,90,.2);}

@media (max-width: 800px){
  .respo-row{ grid-template-columns: 1fr;}
  .respo-cell{ border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); padding: 12px 20px;}
  .respo-cell:last-child{ border-bottom: none;}
  .respo-row.head{ display: none;}
}

.intent-chips .chips-row{ flex-direction: column; gap: 16px;}
.intent-group{ display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
.intent-group-label{
  font-family: "Geist Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold-700); font-weight: 500;
  min-width: 140px;
}

.guarantee-box{
  background: var(--gold-50);
  border: 1px solid var(--gold-100);
  border-left: 3px solid var(--gold-500);
  border-radius: var(--r-md);
  padding: 18px 22px;
  display: flex; gap: 16px; align-items: flex-start;
  margin-top: 24px;
}
.guarantee-box .ic{
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--white); border: 1px solid var(--gold-400);
  color: var(--gold-700); display: grid; place-items: center;
  flex-shrink: 0;
}
.guarantee-box .ic svg{ width: 14px; height: 14px;}
.guarantee-box strong{
  display: block; font-size: 14px; color: var(--ink-900);
  font-weight: 600; margin-bottom: 4px;
}
.guarantee-box p{ font-size: 13px; color: var(--ink-700); line-height: 1.55;}

.participations-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  margin-top: 36px;
}
@media (max-width: 900px){ .participations-grid{ grid-template-columns: 1fr;}}
.part-card{
  padding: 26px 24px;
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-xl);
  display: flex; flex-direction: column; gap: 14px;
  transition: all .3s var(--ease-out-quint);
}
.part-card:hover{ border-color: var(--gold-500); transform: translateY(-2px);}
.part-flag{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold-700); font-weight: 600;
}
.part-flag::before{
  content: ""; width: 18px; height: 12px;
  background: linear-gradient(to right, var(--gold-500) 33%, var(--ink-1000) 33% 66%, var(--ink-50) 66%);
  border-radius: 2px; flex-shrink: 0;
  border: 1px solid var(--ink-200);
}
.part-card h4{
  font-size: 16px; font-weight: 600;
  color: var(--ink-900); letter-spacing: -0.015em;
  line-height: 1.3;
}
.part-meta{
  display: grid; grid-template-columns: auto 1fr; gap: 6px 16px;
  font-size: 12.5px; padding-top: 10px;
  border-top: 1px solid var(--ink-150);
}
.part-meta dt{ color: var(--ink-500); font-family: "Geist Mono", monospace; font-size: 11px; letter-spacing: 0.04em;}
.part-meta dd{ color: var(--ink-900); font-weight: 500; margin: 0; font-family: "Geist Mono", monospace;}
.part-status{
  display: inline-flex; align-self: flex-start;
  padding: 3px 10px; border-radius: var(--r-pill);
  font-family: "Geist Mono", monospace; font-size: 10px;
  letter-spacing: 0.08em; font-weight: 600;
}
.part-status.qualified{ background: #D1FAE5; color: #065F46;}
.part-status.testing{ background: #FEF3C7; color: #92400E;}
.part-status.below{ background: var(--ink-100); color: var(--ink-700);}

.tax-flow{
  margin-top: 36px;
  padding: 40px;
  background: linear-gradient(135deg, var(--gold-50) 0%, var(--white) 100%);
  border: 1px solid var(--gold-100);
  border-radius: var(--r-xl);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  align-items: stretch;
}
@media (max-width: 900px){ .tax-flow{ grid-template-columns: 1fr;}}
.tax-step{
  padding: 20px 18px;
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-radius: var(--r-md);
  display: flex; flex-direction: column; gap: 10px;
  position: relative;
}
.tax-step:not(:last-child)::after{
  content: "→";
  position: absolute;
  right: -18px; top: 50%;
  transform: translateY(-50%);
  font-family: "Geist Mono", monospace;
  font-size: 22px; color: var(--gold-500);
  font-weight: 700; z-index: 2;
}
@media (max-width: 900px){
  .tax-step:not(:last-child)::after{
    right: 50%; top: auto; bottom: -22px;
    transform: translateX(50%) rotate(90deg);
  }
}
.tax-step-num{
  font-family: "Geist Mono", monospace; font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-700); font-weight: 600;
}
.tax-step strong{
  display: block; font-size: 14px; color: var(--ink-900);
  font-weight: 600; line-height: 1.3;
}
.tax-step span{ font-size: 12.5px; color: var(--ink-500); line-height: 1.45;}

.substance-grid{
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
  margin-top: 36px;
}
@media (max-width: 800px){ .substance-grid{ grid-template-columns: 1fr;}}
.sub-card{
  padding: 24px 22px;
  background: var(--white);
  border: 1px solid var(--ink-150);
  border-left: 3px solid var(--gold-500);
  border-radius: var(--r-md);
  display: flex; flex-direction: column; gap: 10px;
}
.sub-card h4{
  font-size: 15px; font-weight: 600;
  color: var(--ink-900); letter-spacing: -0.01em;
}
.sub-card-list{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 6px;
  font-size: 13px; line-height: 1.5;
}
.sub-card-list li{
  display: flex; align-items: flex-start; gap: 8px;
  color: var(--ink-700);
}
.sub-card-list li::before{
  content: "✓"; flex-shrink: 0;
  color: var(--gold-700); font-weight: 600;
  margin-top: 1px;
}

.ladder-section{ background: var(--ink-1000); color: var(--white); padding: 110px 0;}
.ladder-section .section-eyebrow{ color: var(--gold-400);}
.ladder-section .section-eyebrow::before{ background: var(--gold-400);}
.ladder-section .section-title{ color: var(--white);}
.ladder-section .section-sub{ color: var(--ink-300);}
.ladder-section .answer-direct{
  background: rgba(197,165,90,.10);
  border-left-color: var(--gold-400);
  color: var(--white);
}
.ladder-section .answer-direct strong{ color: var(--white);}

.ladder-grid{
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  margin-top: 42px; align-items: stretch;
}
@media (max-width: 1100px){ .ladder-grid{ grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 620px){ .ladder-grid{ grid-template-columns: 1fr;}}

.tier{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--r-xl);
  padding: 28px 24px 26px;
  display: flex; flex-direction: column; gap: 14px;
  transition: all .3s var(--ease-out-quint);
  position: relative;
}
.tier:hover{ border-color: var(--gold-500); background: rgba(255,255,255,.065); transform: translateY(-3px);}

.tier.free{ border-color: rgba(197,165,90,.35);}
.tier.hero-tier{
  background: var(--white);
  border-color: var(--white);
  color: var(--ink-900);
}
.tier.hero-tier:hover{ transform: translateY(-5px);}

.tier-flag{
  position: absolute; top: -11px; left: 24px;
  font-family: "Geist Mono", monospace; font-size: 9.5px;
  letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700;
  padding: 4px 11px; border-radius: var(--r-pill);
  background: var(--gold-500); color: var(--ink-1000);
}
.tier.free .tier-flag{ background: #10B981; color: var(--white);}

.tier-name{
  font-family: "Geist Mono", monospace; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold-400); font-weight: 600;
}
.tier.hero-tier .tier-name{ color: var(--gold-700);}

.tier-promise{
  font-size: 17px; font-weight: 600; line-height: 1.28;
  letter-spacing: -0.018em; color: var(--white);
}
.tier.hero-tier .tier-promise{ color: var(--ink-1000);}

.tier-price{
  font-family: "Geist Mono", monospace;
  font-size: 34px; font-weight: 600; letter-spacing: -0.03em;
  color: var(--white); line-height: 1;
  padding-top: 6px;
}
.tier.hero-tier .tier-price{ color: var(--ink-1000);}
.tier.free .tier-price{ color: #34D399;}
.tier-price small{
  display: block; font-family: "Geist", sans-serif;
  font-size: 11.5px; font-weight: 400; letter-spacing: 0;
  color: var(--ink-400); margin-top: 6px; line-height: 1.4;
}
.tier.hero-tier .tier-price small{ color: var(--ink-500);}

.tier-recurring{
  padding: 10px 13px;
  background: rgba(197,165,90,.11);
  border: 1px solid rgba(197,165,90,.22);
  border-radius: var(--r-md);
  font-size: 12.5px; line-height: 1.4;
  color: var(--ink-200);
}
.tier.hero-tier .tier-recurring{
  background: var(--gold-50); border-color: var(--gold-100); color: var(--ink-700);
}
.tier-recurring strong{
  display: block; font-family: "Geist Mono", monospace;
  font-size: 15px; color: var(--gold-400); font-weight: 600;
  letter-spacing: -0.01em; margin-bottom: 2px;
}
.tier.hero-tier .tier-recurring strong{ color: var(--gold-700);}

.tier-for{
  font-size: 12px; color: var(--ink-400);
  padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.09);
  line-height: 1.45;
}
.tier.hero-tier .tier-for{ color: var(--ink-500); border-bottom-color: var(--ink-150);}

.tier-list{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 8px;
  font-size: 13px; line-height: 1.45; flex-grow: 1;
}
.tier-list li{
  display: flex; align-items: flex-start; gap: 8px;
  color: var(--ink-200);
}
.tier.hero-tier .tier-list li{ color: var(--ink-700);}
.tier-list li::before{
  content: "✓"; flex-shrink: 0; margin-top: 0px;
  color: var(--gold-400); font-weight: 700; font-size: 12px;
}
.tier.hero-tier .tier-list li::before{ color: var(--gold-700);}
.tier-list li strong{ color: var(--white); font-weight: 500;}
.tier.hero-tier .tier-list li strong{ color: var(--ink-1000);}

.tier-cta{
  display: block; text-align: center;
  padding: 12px 18px; border-radius: var(--r-pill);
  font-size: 13.5px; font-weight: 550; letter-spacing: -0.005em;
  text-decoration: none; margin-top: 4px;
  transition: all .25s var(--ease-out-quint);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--white);
}
.tier-cta:hover{ background: rgba(255,255,255,.09); border-color: var(--gold-500);}
.tier.free .tier-cta{ background: #10B981; border-color: #10B981; color: var(--white); font-weight: 600;}
.tier.free .tier-cta:hover{ background: #059669; border-color: #059669;}
.tier.hero-tier .tier-cta{ background: var(--ink-1000); border-color: var(--ink-1000); color: var(--gold-400); font-weight: 600;}
.tier.hero-tier .tier-cta:hover{ background: var(--ink-900);}

.tier-micro{
  font-size: 10.5px; color: var(--ink-500);
  text-align: center; line-height: 1.4; margin-top: -4px;
}
.tier.hero-tier .tier-micro{ color: var(--ink-400);}

.savings-strip{
  margin-top: 32px; padding: 26px 32px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(197,165,90,.25);
  border-radius: var(--r-xl);
  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 22px;
  align-items: center;
}
@media (max-width: 900px){
  .savings-strip{ grid-template-columns: 1fr; gap: 14px; text-align: center;}
  .savings-op{ display: none !important;}
}
.savings-col strong{
  display: block; font-family: "Geist Mono", monospace;
  font-size: 19px; color: var(--white); font-weight: 600;
  letter-spacing: -0.02em; margin-bottom: 4px;
}
.savings-col span{ font-size: 12px; color: var(--ink-400); line-height: 1.45;}
.savings-col.win strong{ color: var(--gold-400); font-size: 23px;}
.savings-op{
  font-family: "Geist Mono", monospace; font-size: 20px;
  color: var(--gold-500); font-weight: 600;
}

.lede,
.section-sub,
.answer-direct,
.svc-def,
.faq-a,
.pricing-note,
.guarantee-box > div p,
.step-content p,
.risk-card > p,
.verdict-body,
.rp-text p,
.pack-desc,
.tier-for {
  text-align: justify;
  text-justify: inter-word;

  
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;

  
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
          hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-lines: 2;
          hyphenate-limit-lines: 2;

  
  orphans: 2;
  widows: 2;
}

.lede,
.section-sub,
.answer-direct,
.svc-def,
.faq-a,
.pricing-note,
.step-content p,
.verdict-body,
.pack-desc {
  text-align-last: left;
}

@media (max-width: 760px) {
  .lede,
  .section-sub,
  .answer-direct,
  .svc-def,
  .faq-a,
  .pricing-note,
  .guarantee-box > div p,
  .step-content p,
  .risk-card > p,
  .verdict-body,
  .rp-text p,
  .pack-desc,
  .tier-for {
    text-align: left;
    hyphens: manual;
    -webkit-hyphens: manual;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lede, .section-sub, .answer-direct, .svc-def, .faq-a,
  .pricing-note, .step-content p, .verdict-body, .pack-desc {
    text-align: left;
  }
}