
/* ── TOKENS ── */
:root {
  --blue:   #3F97FF;
  --indigo: #6261E4;
  --purple: #7A3CD2;
  --brand:  linear-gradient(135deg, #3F97FF 0%, #6261E4 55%, #7A3CD2 100%);
  --f: 'Inter', -apple-system, sans-serif;
  --max: 1100px;
  --r: 5px; --rl: 9px; --rx: 13px;
  --ease: cubic-bezier(.16,1,.3,1);
}
[data-theme="dark"] {
  --bg:    #09131F; --surf:  #0d1d2e; --card:  #0f1e30;
  --card2: #13263c; --bdr:   rgba(63,151,255,.14); --bdr2: rgba(255,255,255,.08);
  --txt:   #FFFFFF; --muted: rgba(255,255,255,.60); --dim:  rgba(255,255,255,.34);
  --faint: rgba(255,255,255,.14); --rule: rgba(255,255,255,.08);
}
[data-theme="light"] {
  --bg:    #f1f4f9; --surf:  #ffffff; --card:  #f7f9fc;
  --card2: #edf0f7; --bdr:   rgba(63,151,255,.18); --bdr2: rgba(9,19,31,.10);
  --txt:   #09131F; --muted: #3d4e65; --dim:   #7e90a8;
  --faint: #b8c8d8; --rule:  rgba(9,19,31,.08);
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:66px; }
body { font-family:var(--f); background:var(--bg); color:var(--txt);
       -webkit-font-smoothing:antialiased; line-height:1.65; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { font-family:var(--f); cursor:pointer; border:none; background:none; }
img { display:block; max-width:100%; }

/* ── LAYOUT ── */
.wrap   { max-width:var(--max); margin:0 auto; padding:0 28px; }
section { padding:80px 0; }

/* ── TYPE ── */
h1 { font-size:clamp(2.3rem,4.4vw,3.8rem); font-weight:800; line-height:1.05; letter-spacing:-.028em; }
h2 { font-size:clamp(1.7rem,2.8vw,2.5rem); font-weight:700; line-height:1.1;  letter-spacing:-.022em; }
h3 { font-size:1.08rem; font-weight:700; line-height:1.25; letter-spacing:-.01em; }
h4 { font-size:.88rem;  font-weight:700; }
p  { color:var(--muted); font-size:15px; line-height:1.78; }
strong { color:var(--txt); font-weight:600; }
.label {
  display:inline-block; font-size:10.5px; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase; color:var(--blue); margin-bottom:10px;
}

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--f); font-weight:600; font-size:13.5px;
  padding:11px 22px; border-radius:var(--r); border:none;
  cursor:pointer; text-decoration:none;
  transition:opacity .15s, transform .12s; white-space:nowrap;
}
.btn:hover { opacity:.87; transform:translateY(-1px); }
.btn-p  { background:var(--brand); color:#fff; }
.btn-s  { background:transparent; border:1.5px solid var(--bdr2); color:var(--txt); }
[data-theme="dark"] .btn-s { color:#fff; }
.btn-s:hover { border-color:var(--blue); color:var(--blue); }
.btn-sm { padding:8px 16px; font-size:12.5px; }
.btn-lg { padding:13px 28px; font-size:15px; }



/* ── HERO ── */
.hero {
  padding:92px 0 84px; position:relative; overflow:hidden;
  border-bottom:1px solid var(--bdr);
}
[data-theme="dark"] .hero { background:#09131F; }
.hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(63,151,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63,151,255,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 70% at 68% 50%, black 20%, transparent 75%);
}
[data-theme="light"] .hero-grid { opacity:.35; }
.hero-accent {
  position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--brand);
}
.hero-wrap {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 390px; gap:52px; align-items:center;
}
.hero-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue); margin-bottom:20px;
}
.hero-label::before { content:''; width:18px; height:2px; background:var(--brand); border-radius:1px; }
.hero h1 { color:var(--txt); margin-bottom:22px; }
.hero h1 em { font-style:normal; background:var(--brand); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-support { font-size:14px; color:var(--dim); margin-bottom:28px; max-width:520px; line-height:1.6; }
.hero-sub {
  font-size:16px; color:var(--muted); line-height:1.75; max-width:480px; margin-bottom:32px;
}
[data-theme="dark"] .hero-sub { color:rgba(255,255,255,.60); }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; }
.hero-proof {
  display:flex; gap:32px; flex-wrap:wrap; margin-top:40px;
  padding-top:32px; border-top:1px solid var(--bdr);
}
.hstat .n {
  font-size:1.9rem; font-weight:800; line-height:1;
  background:var(--brand); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.hstat .l { font-size:10.5px; font-weight:600; color:var(--dim); text-transform:uppercase; letter-spacing:.09em; margin-top:4px; }

/* Hero panel */
.panel {
  background:var(--card); border:1px solid var(--bdr);
  border-radius:var(--rx); overflow:hidden;
}
[data-theme="dark"] .panel { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1); }
.phead {
  padding:13px 20px; border-bottom:1px solid var(--bdr);
  display:flex; align-items:center; justify-content:space-between;
}
[data-theme="dark"] .phead { border-bottom-color:rgba(255,255,255,.08); }
.ptitle { font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); }
.pbadge { font-size:10px; font-weight:700; padding:3px 9px; border-radius:4px; background:rgba(63,151,255,.12); color:var(--blue); letter-spacing:.07em; text-transform:uppercase; }
.prows { padding:4px 0; }
.prow { display:flex; align-items:center; padding:9px 20px; border-bottom:1px solid rgba(255,255,255,.04); font-size:13px; }
[data-theme="light"] .prow { border-bottom-color:var(--bdr); }
.prow:last-child { border-bottom:none; }
.pdot { width:6px; height:6px; border-radius:50%; margin-right:11px; flex-shrink:0; }
.prow-l { color:var(--muted); flex:1; }
.prow-v { font-size:12px; font-weight:700; color:var(--txt); }
[data-theme="dark"] .prow-v { color:#fff; }
.pfoot { margin:10px 12px 12px; padding:10px 14px; background:rgba(63,151,255,.06); border:1px solid rgba(63,151,255,.14); border-radius:var(--r); font-size:12px; color:var(--blue); }

/* ── CERT STRIP ── */
.cstrip { background:var(--surf); border-bottom:1px solid var(--bdr); padding:22px 0; }
.cstrip-inner { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; }
.citem { display:flex; align-items:center; gap:10px; padding:9px 26px; border-right:1px solid var(--bdr); }
.citem:last-of-type { border-right:none; }
.cicon { width:30px; height:30px; border-radius:var(--r); background:var(--brand); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.cname { font-size:12px; font-weight:700; }
.csub  { font-size:10px; color:var(--dim); margin-top:1px; }
.ccaption { width:100%; text-align:center; padding-top:12px; font-size:11px; color:var(--dim); font-style:italic; }

/* ── PROBLEM ── */
.problem-section { background:var(--bg); }
[data-theme="dark"] .problem-section { background:#09131F; }
.problem-table {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--bdr); border:1px solid var(--bdr);
  border-radius:var(--rx); overflow:hidden; margin-top:40px;
}
.pt-col { background:var(--card); padding:0; }
.pt-head {
  padding:12px 20px; border-bottom:1px solid var(--bdr);
  font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase;
}
.pt-head.bad  { color:#f87171; }
.pt-head.good { color:var(--blue); }
.pt-rows { display:flex; flex-direction:column; }
.pt-row {
  display:flex; align-items:flex-start; gap:12px; padding:14px 20px;
  border-bottom:1px solid var(--rule); font-size:13px; color:var(--muted); line-height:1.5;
}
.pt-row:last-child { border-bottom:none; }
.pt-row.bad::before  { content:'✕'; color:#f87171; font-weight:700; font-size:12px; flex-shrink:0; margin-top:1px; }
.pt-row.good::before { content:'✓'; color:var(--blue); font-weight:700; font-size:12px; flex-shrink:0; margin-top:1px; }
.tension-bar {
  margin-top:32px; padding:20px 24px;
  background:rgba(63,151,255,.06); border:1px solid rgba(63,151,255,.14);
  border-left:3px solid var(--blue); border-radius:0 var(--rl) var(--rl) 0;
  font-size:15px; font-weight:600; color:var(--txt); line-height:1.55;
}

/* ── SYSTEM DEF ── */
.sysdef-section { background:var(--surf); }
.sysdef-layout { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.sysdef-def {
  background:var(--card); border:1px solid var(--bdr);
  border-radius:var(--rx); padding:28px; margin-top:32px;
}
.sysdef-def-label { font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-bottom:12px; }
.sysdef-def-title { font-size:1.1rem; font-weight:800; margin-bottom:14px; line-height:1.25; }
.sysdef-def p { font-size:13.5px; line-height:1.75; }
.sysdef-points { display:flex; flex-direction:column; gap:0; margin-top:32px; }
.sysdef-point {
  display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--bdr);
}
.sysdef-point:last-child { border-bottom:none; }
.sp-icon {
  width:36px; height:36px; border-radius:var(--r); display:flex; align-items:center;
  justify-content:center; font-size:16px; flex-shrink:0;
}
.sp-icon.blue   { background:rgba(63,151,255,.1); }
.sp-icon.indigo { background:rgba(98,97,228,.1); }
.sp-icon.purple { background:rgba(122,60,210,.1); }
.sysdef-point h4 { margin-bottom:4px; font-size:.9rem; }
.sysdef-point p  { font-size:13px; }

/* ── ARCH LAYERS ── */
.layers-section { background:var(--bg); }
[data-theme="dark"] .layers-section { background:#09131F; position:relative; overflow:hidden; }
[data-theme="dark"] .layers-section::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(63,151,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(63,151,255,.04) 1px, transparent 1px);
  background-size:64px 64px;
}
[data-theme="dark"] .layers-section .wrap { position:relative; z-index:1; }
.layers-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--bdr); border:1px solid var(--bdr);
  border-radius:var(--rx); overflow:hidden; margin-top:40px;
}
.layer-card { background:var(--card); padding:24px 20px; position:relative; }
.layer-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; }
.lc-1::before { background:var(--blue); }
.lc-2::before { background:var(--indigo); }
.lc-3::before { background:var(--purple); }
.lc-4::before { background:var(--brand); }
.layer-num { font-size:2.8rem; font-weight:800; line-height:1; color:var(--faint); margin-bottom:10px; letter-spacing:-.03em; }
.layer-tag {
  font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:2px 9px; border-radius:var(--r); border:1px solid var(--bdr);
  color:var(--dim); display:inline-block; margin-bottom:12px;
}
.layer-card h3 { margin-bottom:8px; font-size:1rem; }
.layer-card > p { font-size:12.5px; line-height:1.65; margin-bottom:14px; }
.layer-controls { display:flex; flex-direction:column; gap:5px; }
.lc-item {
  font-size:11.5px; color:var(--muted); display:flex; align-items:flex-start;
  gap:7px; line-height:1.4;
}
.lc-item::before { content:'→'; color:var(--blue); font-size:11px; font-weight:700; flex-shrink:0; margin-top:1px; }

/* ── ARCHITECTURE ── */
.arch-section { background:var(--surf); }
.arch-flow {
  display:grid; grid-template-columns:1fr 32px 1fr 32px 1fr;
  align-items:start; margin-top:40px; margin-bottom:24px;
}
.arch-col { background:var(--card); border:1px solid var(--bdr); border-radius:var(--rx); overflow:hidden; }
.arch-head { padding:13px 16px; border-bottom:1px solid var(--bdr); }
.arch-lbl { font-size:9.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin-bottom:2px; }
.col-in  .arch-lbl { color:var(--blue); }
.col-eng .arch-lbl { color:var(--indigo); }
.col-out .arch-lbl { color:var(--purple); }
.arch-title { font-size:.92rem; font-weight:700; }
.arch-body { padding:10px 14px; display:flex; flex-direction:column; gap:6px; }
.aitem { display:flex; align-items:flex-start; gap:8px; padding:7px 9px; background:var(--card2); border:1px solid var(--bdr); border-radius:var(--rl); font-size:12.5px; color:var(--muted); line-height:1.45; }
.adot { width:6px; height:6px; border-radius:50%; flex-shrink:0; margin-top:4px; }
.arch-arrow { display:flex; align-items:flex-start; justify-content:center; padding-top:58px; opacity:.32; }
.arch-personas { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ap { padding:14px 16px; background:var(--card); border:1px solid var(--bdr); border-radius:var(--rl); }
.ap-role { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--blue); margin-bottom:6px; }
.ap p { font-size:12.5px; }

/* ── MODULES ── */
.modules-section { background:var(--bg); }
.modules-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:14px; margin-top:40px;
}
.mod-card {
  background:var(--card); border:1px solid var(--bdr);
  border-radius:var(--rx); padding:26px 24px; position:relative; overflow:hidden;
  transition:border-color .2s; display:block; color:inherit; text-decoration:none;
}
.mod-card:hover { border-color:rgba(63,151,255,.36); }
.mod-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; }
.mc-1::before { background:var(--blue); }
.mc-2::before { background:var(--indigo); }
.mc-3::before { background:var(--purple); }
.mc-4::before { background:linear-gradient(90deg,var(--blue),var(--indigo)); }
.mc-5::before { background:var(--brand); }
.mc-5 { grid-column:span 2; }
.mod-head { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; }
.mod-icon { width:38px; height:38px; border-radius:var(--r); display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.mc-1 .mod-icon { background:rgba(63,151,255,.12); }
.mc-2 .mod-icon { background:rgba(98,97,228,.12); }
.mc-3 .mod-icon { background:rgba(122,60,210,.12); }
.mc-4 .mod-icon { background:rgba(63,151,255,.08); }
.mc-5 .mod-icon { background:rgba(122,60,210,.08); }
.mod-badge { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; padding:2px 8px; border-radius:4px; margin-bottom:4px; display:inline-block; }
.mc-1 .mod-badge { background:rgba(63,151,255,.12); color:var(--blue); }
.mc-2 .mod-badge { background:rgba(98,97,228,.12); color:var(--indigo); }
.mc-3 .mod-badge { background:rgba(122,60,210,.12); color:var(--purple); }
.mc-4 .mod-badge { background:rgba(63,151,255,.08); color:var(--blue); }
.mc-5 .mod-badge { background:rgba(122,60,210,.08); color:var(--purple); }
.mod-card h3 { margin-bottom:4px; font-size:1.02rem; }
.mod-value { font-size:13px; font-weight:600; color:var(--blue); margin-bottom:10px; }
.mod-card > p { font-size:13px; line-height:1.7; margin-bottom:14px; }
.mod-spec { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.mc-5 .mod-spec { grid-template-columns:repeat(4,1fr); }
.mod-spec-col label { display:block; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--dim); margin-bottom:6px; }
.mod-spec-col ul { display:flex; flex-direction:column; gap:4px; }
.mod-spec-col li { font-size:12px; color:var(--muted); display:flex; align-items:flex-start; gap:6px; line-height:1.4; }
.mod-spec-col li::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--bdr2); flex-shrink:0; margin-top:5px; }
.mod-footer { display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid var(--bdr); flex-wrap:wrap; gap:8px; }
.mod-timeline { font-size:10.5px; font-weight:700; color:var(--dim); text-transform:uppercase; letter-spacing:.07em; }
.mod-link { font-size:12.5px; font-weight:600; color:var(--blue); }
.mod-link:hover { text-decoration:underline; }

/* ── BEFORE/AFTER ── */
.ba-section { background:var(--surf); }
.ba-wrap { background:#fff; border-radius:var(--rx); overflow-x:auto; margin-top:40px; }
[data-theme="dark"] .ba-wrap { background:#0a1520; }
.ba-table { width:100%; border-collapse:collapse; }
.ba-table thead th { padding:10px 16px; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; border-bottom:2px solid; }
.th-m { color:#475569; background:#f8fafc; border-color:#e2e8f0; text-align:left; min-width:160px; }
.th-b { color:#dc2626; background:#fef2f2; border-color:#fecaca; text-align:left; }
.th-a { color:#2563eb; background:#eff6ff; border-color:#bfdbfe; text-align:left; }
[data-theme="dark"] .th-m { color:#8ca3bc; background:#0e1a2c; border-color:#1a2e44; }
[data-theme="dark"] .th-b { color:#f87171; background:#1a0d0d; border-color:#7f1d1d; }
[data-theme="dark"] .th-a { color:#60a5fa; background:#0d1827; border-color:#1e3a5f; }
.ba-table td { padding:11px 16px; font-size:13px; border-bottom:1px solid #f1f5f9; vertical-align:top; line-height:1.6; }
[data-theme="dark"] .ba-table td { border-bottom-color:#1a2a3a; color:#8ca3bc; }
.ba-table tr:hover td { background:rgba(63,151,255,.03); }
.ba-table tr:last-child td { border-bottom:none; }
.td-m { font-weight:700; color:#1e293b; font-size:12px; }
[data-theme="dark"] .td-m { color:#c8d8e8; }
.td-b { color:#64748b; }
.td-a { color:#2563eb; font-weight:600; }
[data-theme="dark"] .td-a { color:#60a5fa; }
.nbad  { font-weight:800; color:#dc2626; }
.ngood { font-weight:800; color:#2563eb; }
[data-theme="dark"] .nbad  { color:#f87171; }
[data-theme="dark"] .ngood { color:#60a5fa; }

/* ── OUTCOMES ── */
.outcomes-section { background:var(--bg); }
[data-theme="dark"] .outcomes-section { background:#09131F; }
.outcomes-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--bdr); border:1px solid var(--bdr); border-radius:var(--rx);
  overflow:hidden; margin-bottom:32px;
}
.oc { background:var(--card); padding:22px 20px; }
.oc-num { font-size:2rem; font-weight:800; line-height:1; background:var(--brand); -webkit-background-clip:text; -webkit-text-fill-color:transparent; margin-bottom:5px; }
.oc-lbl { font-size:10.5px; font-weight:700; color:var(--dim); text-transform:uppercase; letter-spacing:.09em; margin-bottom:7px; }
.oc-desc { font-size:12px; color:var(--muted); line-height:1.6; }
.cases-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.case { background:var(--card); border:1px solid var(--bdr); border-radius:var(--rx); padding:20px; position:relative; overflow:hidden; }
.case::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--brand); }
.case-tag { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-bottom:9px; }
.case-result { font-size:1.3rem; font-weight:800; line-height:1; margin-bottom:3px; }
.case-result span { background:var(--brand); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.case-sub { font-size:11.5px; color:var(--dim); margin-bottom:11px; }
.case p { font-size:12px; line-height:1.65; }

/* ── WHY NEXGENTEK ── */
.why-section { background:var(--surf); }
.why-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--bdr); border:1px solid var(--bdr); border-radius:var(--rx);
  overflow:hidden; margin-top:40px;
}
.why-card { background:var(--card); padding:26px 24px; }
.why-card.highlight { background:var(--card2); }
.why-head { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; }
.why-head.vs { color:#f87171; }
.why-head.us { color:var(--blue); }
.why-row { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid var(--rule); font-size:13px; color:var(--muted); line-height:1.5; }
.why-row:last-child { border-bottom:none; }
.why-row.vs-row::before { content:'✕'; color:#f87171; font-size:12px; font-weight:700; flex-shrink:0; margin-top:1px; }
.why-row.us-row::before { content:'✓'; color:var(--blue); font-size:12px; font-weight:700; flex-shrink:0; margin-top:1px; }
.quote-bar {
  margin-top:24px; padding:20px 24px;
  background:rgba(63,151,255,.05); border-left:3px solid var(--blue);
  font-size:15px; font-weight:600; color:var(--txt); line-height:1.55; font-style:italic;
}

/* ── PROCUREMENT ── */
.proc-section { background:var(--bg); }
[data-theme="dark"] .proc-section { background:#09131F; }
.proc-layout { display:grid; grid-template-columns:1fr 380px; gap:48px; align-items:start; }
.proc-list { display:flex; flex-direction:column; gap:9px; }
.proc-item { display:flex; align-items:flex-start; gap:12px; padding:12px 16px; background:var(--card); border:1px solid var(--bdr); border-radius:var(--rl); }
.pchk { width:22px; height:22px; flex-shrink:0; margin-top:1px; border-radius:50%; background:rgba(22,163,74,.12); display:flex; align-items:center; justify-content:center; }
.pchk svg { color:#16a34a; }
.pititle { font-size:13px; font-weight:600; }
.pisub { font-size:10.5px; color:var(--dim); margin-top:2px; line-height:1.45; }
.pkg-box {
  background:var(--card); border:1px solid var(--bdr); border-radius:var(--rx);
  padding:26px; position:relative; overflow:hidden;
}
[data-theme="dark"] .pkg-box { background:#09131F; border-color:rgba(63,151,255,.22); }
.pkg-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--brand); }
.pkg-box h3 { font-size:1.15rem; margin-bottom:9px; }
.pkg-box > p { font-size:13px; color:var(--muted); line-height:1.7; margin-bottom:18px; }
.pkg-micro { font-size:11px; color:var(--dim); margin-top:9px; }
.pkg-includes { display:flex; flex-direction:column; gap:6px; margin-top:16px; padding-top:16px; border-top:1px solid var(--bdr); }
.pkg-includes li { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.pkg-includes li svg { color:#16a34a; flex-shrink:0; }

/* ── PROCESS ── */
.process-section { background:var(--surf); }
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--bdr); border:1px solid var(--bdr); border-radius:var(--rx);
  overflow:hidden; margin-top:40px;
}
.ps { background:var(--card); padding:24px 20px; }
.ps-n { font-size:3.6rem; font-weight:800; line-height:1; color:var(--faint); margin-bottom:8px; letter-spacing:-.03em; }
.ps-lbl { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); margin-bottom:6px; }
.ps h3 { margin-bottom:8px; font-size:.98rem; }
.ps > p { font-size:12.5px; line-height:1.65; margin-bottom:14px; }
.ps-out { background:var(--card2); border:1px solid var(--bdr); border-radius:var(--rl); padding:11px 13px; }
.ps-out-lbl { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--dim); margin-bottom:6px; }
.ps-out ul { display:flex; flex-direction:column; gap:4px; }
.ps-out li { font-size:12px; color:var(--muted); display:flex; align-items:flex-start; gap:7px; line-height:1.4; }
.ps-out li::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--blue); flex-shrink:0; margin-top:5px; }

/* ── CONTACT ── */
.contact-section { background:var(--bg); }
[data-theme="dark"] .contact-section { background:#09131F; }
.contact-layout { display:grid; grid-template-columns:1fr 440px; gap:52px; align-items:start; }
.contact-commits { display:flex; flex-direction:column; gap:8px; margin-top:22px; }
.commit { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--muted); }
.commit::before { content:'✓'; color:var(--blue); font-weight:800; flex-shrink:0; margin-top:1px; }
.cform {
  background:var(--card); border:1px solid var(--bdr); border-radius:var(--rx);
  padding:26px; position:relative; overflow:hidden;
}
.cform::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--brand); }
.cform h3 { margin-bottom:18px; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.fg { margin-bottom:12px; }
.flbl { display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--dim); margin-bottom:5px; }
.fi, .fsel, .fta { width:100%; padding:9px 12px; background:var(--card2); border:1.5px solid var(--bdr); border-radius:var(--r); font-family:var(--f); font-size:13px; color:var(--txt); outline:none; transition:border-color .15s; }
.fi:focus, .fsel:focus, .fta:focus { border-color:var(--blue); }
.fta { resize:vertical; min-height:85px; }
.fsub { width:100%; padding:12px; background:var(--brand); color:#fff; border:none; border-radius:var(--r); font-family:var(--f); font-size:14px; font-weight:600; cursor:pointer; transition:opacity .15s; }
.fsub:hover { opacity:.88; }

/* ── FINAL CTA ── */
.fcta-section { background:var(--surf); padding:88px 0; }
.fcta-box {
  max-width:620px; margin:0 auto; text-align:center;
  background:var(--card); border:1px solid var(--bdr); border-radius:var(--rx);
  padding:48px 44px; position:relative; overflow:hidden;
}
[data-theme="dark"] .fcta-box { background:#09131F; border-color:rgba(63,151,255,.22); }
.fcta-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--brand); }
.fcta-box h2 { margin-bottom:12px; }
.fcta-box p { max-width:46ch; margin:0 auto 26px; }
.fcta-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.fcta-trust { display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; margin-top:14px; }
.ftrust { font-size:11.5px; color:var(--dim); }
.ftrust::before { content:'✓ '; color:var(--blue); font-weight:700; }


/* ── RESPONSIVE ── */
@media(max-width:1020px) {
  .hero-wrap       { grid-template-columns:1fr; }
  .panel           { display:none; }
  .layers-grid     { grid-template-columns:repeat(2,1fr); }
  .arch-flow       { grid-template-columns:1fr; gap:8px; }
  .arch-arrow      { display:none; }
  .arch-personas   { grid-template-columns:1fr; }
  .modules-grid    { grid-template-columns:1fr; }
  .mc-5            { grid-column:span 1; }
  .mc-5 .mod-spec  { grid-template-columns:1fr 1fr; }
  .sysdef-layout   { grid-template-columns:1fr; }
  .proc-layout     { grid-template-columns:1fr; }
  .contact-layout  { grid-template-columns:1fr; }
  .outcomes-grid   { grid-template-columns:repeat(2,1fr); }
  .cases-grid      { grid-template-columns:1fr; }
  .process-grid    { grid-template-columns:repeat(2,1fr); }
  .why-grid        { grid-template-columns:1fr; }
  .problem-table   { grid-template-columns:1fr; }
}
@media(max-width:720px) {
  .nav-links       { display:none; }
  .nav-actions .btn:not(.btn-p) { display:none; }
  .ham             { display:flex; }
  section          { padding:56px 0; }
  .cstrip-inner    { flex-direction:column; align-items:flex-start; padding:0 28px; }
  .citem           { border-right:none; padding:7px 0; }
  .layers-grid     { grid-template-columns:1fr; }
  .process-grid    { grid-template-columns:1fr; }
  .outcomes-grid   { grid-template-columns:1fr 1fr; }
  .frow            { grid-template-columns:1fr; }
  .fcta-box        { padding:36px 20px; }
  .footer-links    { flex-direction:column; gap:22px; }
}

/* ── CONSULTING COMPARISON ────────────────────────── */
.consulting-section { background:var(--surf); }
.consult-intro { max-width:640px; margin-bottom:44px; }
.consult-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--bdr); border:1px solid var(--bdr);
  border-radius:var(--rx); overflow:hidden; margin-bottom:28px;
}
.cg-col { background:var(--card); padding:26px 24px; }
.cg-col.hl { background:var(--card2); }
.cg-col-head { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.11em; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--bdr); }
.cg-col-head.red { color:#f87171; }
.cg-col-head.blue { color:var(--blue); }
.cg-row { display:flex; align-items:flex-start; gap:9px; padding:9px 0; border-bottom:1px solid var(--rule); font-size:13px; color:var(--muted); line-height:1.5; }
.cg-row:last-child { border-bottom:none; }
.cg-row.neg::before { content:"✕"; color:#f87171; font-size:11px; font-weight:700; flex-shrink:0; margin-top:2px; }
.cg-row.pos::before { content:"✓"; color:var(--blue); font-size:11px; font-weight:700; flex-shrink:0; margin-top:2px; }
.consult-note { padding:18px 22px; background:rgba(63,151,255,.05); border:1px solid rgba(63,151,255,.13); border-left:3px solid var(--blue); border-radius:0 var(--rl) var(--rl) 0; font-size:14px; color:var(--muted); line-height:1.65; }
.consult-note strong { color:var(--txt); }
/* ── FLEXIBLE DELIVERY MODEL ───────────────────────── */
.flexible-section { background:var(--bg); }
[data-theme="dark"] .flexible-section { background:#09131F; }
.flex-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--bdr); border:1px solid var(--bdr); border-radius:var(--rx); overflow:hidden; margin-top:40px; }
.flex-card { background:var(--card); padding:26px 22px; position:relative; }
.flex-card::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; }
.flex-card:nth-child(1)::before { background:var(--blue); }
.flex-card:nth-child(2)::before { background:var(--indigo); }
.flex-card:nth-child(3)::before { background:var(--purple); }
.flex-icon { width:40px; height:40px; border-radius:var(--r); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:14px; }
.flex-card:nth-child(1) .flex-icon { background:rgba(63,151,255,.12); }
.flex-card:nth-child(2) .flex-icon { background:rgba(98,97,228,.12); }
.flex-card:nth-child(3) .flex-icon { background:rgba(122,60,210,.12); }
.flex-card h3 { margin-bottom:7px; font-size:1rem; }
.flex-card p { font-size:13px; line-height:1.68; margin-bottom:14px; }
.flex-list { display:flex; flex-direction:column; gap:5px; }
.flex-item { font-size:12px; color:var(--muted); display:flex; align-items:flex-start; gap:7px; line-height:1.4; }
.flex-item::before { content:"→"; color:var(--blue); font-size:11px; font-weight:700; flex-shrink:0; margin-top:1px; }
.flex-note { margin-top:20px; padding:16px 20px; background:rgba(63,151,255,.05); border:1px solid rgba(63,151,255,.13); border-radius:var(--rl); font-size:14px; color:var(--muted); line-height:1.65; }
.flex-note strong { color:var(--txt); }
@media(max-width:860px) { .consult-grid { grid-template-columns:1fr; } .flex-grid { grid-template-columns:1fr; } }