:root{
  --navy-deep:#12153A;
  --navy:#26327A;
  --navy-mid:#3C4896;
  --gold:#C9932A;
  --gold-light:#E8C468;
  --paper:#F6F7FB;
  --ink:#171A2E;
  --line:#DBDFEE;
  --line-dark:#3A4590;
  --max:1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:88px;}
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
/* branded scrollbar */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--paper); }
::-webkit-scrollbar-thumb{ background:var(--navy-mid); border-radius:5px; border:2px solid var(--paper); }
::-webkit-scrollbar-thumb:hover{ background:var(--gold); }
html{ scrollbar-color:var(--navy-mid) var(--paper); scrollbar-width:thin; }

/* scroll progress indicator */
#scrollProgress{
  position:fixed; top:0; left:0; height:2.5px; width:0%; background:var(--gold);
  z-index:100; transition:width .08s linear;
}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; line-height:1.08;}
a{color:inherit; text-decoration:none;}
.mono{font-family:'IBM Plex Mono', monospace;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
img,svg{display:block; max-width:100%;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase;
}
::selection{ background:var(--gold-light); color:var(--navy-deep); }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ===== nav ===== */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(18,21,58,0.94); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(232,196,104,0.15);
}
nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:var(--max); margin:0 auto; gap:20px; }
.brand{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.brand img{ width:34px; height:18px; object-fit:contain; }
.brand-name{ color:#fff; font-family:'IBM Plex Mono', monospace; font-size:13px; font-weight:600; letter-spacing:0.14em; white-space:nowrap; }
.brand-name span{ color:var(--gold-light); }
.navlinks{ display:none; gap:26px; align-items:center; }
.navlinks a{ color:#C9CEEE; font-size:14px; font-weight:500; transition:color .15s; white-space:nowrap; }
.navlinks a:hover, .navlinks a.active{ color:var(--gold-light); }
@media(min-width:1280px){ .navlinks{ display:flex; } }
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  padding:12px 22px; border-radius:2px; border:1px solid transparent; cursor:pointer; transition:all .15s;
}
.btn-gold{ background:var(--gold); color:var(--navy-deep); }
.btn-gold:hover{ background:var(--gold-light); transform:translateY(-1px); }
.btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,0.3); }
.btn-ghost:hover{ border-color:var(--gold-light); color:var(--gold-light); }
.btn-navy{ background:var(--navy-deep); color:#fff; }
.btn-navy:hover{ background:var(--navy); }
.btn-outline-navy{ background:transparent; color:var(--navy-deep); border-color:var(--navy-deep); }
.btn-outline-navy:hover{ background:var(--navy-deep); color:#fff; }
.navcta{ display:none; flex:0 0 auto; }
@media(min-width:1280px){ .navcta{ display:inline-flex; } }
.burger{ display:block; background:none; border:none; color:#fff; font-size:22px; cursor:pointer; flex:0 0 auto; }
@media(min-width:1280px){ .burger{ display:none; } }
.mobile-nav{ display:none; flex-direction:column; padding:20px 32px; gap:16px; background:#12153A; border-bottom:1px solid rgba(232,196,104,0.15); }
.mobile-nav.open{ display:flex; }
.mobile-nav a{ color:#C9CEEE; font-size:15px; font-weight:500; }

/* ===== page hero (interior pages) ===== */
.page-hero{
  background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 140%);
  color:#fff; padding:64px 0 56px; position:relative; overflow:hidden;
}
.grid-tex{
  position:absolute; inset:0; opacity:0.06; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.6) 1px, transparent 1px);
  background-size:44px 44px;
}
.page-hero .eyebrow{ color:var(--gold-light); margin-bottom:16px; position:relative; }
.page-hero h1{ font-size:clamp(32px,4.6vw,52px); color:#fff; margin-bottom:16px; max-width:760px; position:relative; }
.page-hero p.lead{ font-size:16.5px; color:#C9CEEE; max-width:600px; position:relative; }
.crumb{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:#8A92C6; margin-bottom:18px; position:relative; }
.crumb a{ color:#8A92C6; } .crumb a:hover{ color:var(--gold-light); }

/* ===== sections ===== */
section{ padding:88px 0; }
.section-light{ background:var(--paper); }
.section-white{ background:#fff; }
.section-navy{ background:var(--navy-deep); color:#fff; }
.section-head{ max-width:640px; margin-bottom:52px; }
.section-head .eyebrow{ color:var(--gold); margin-bottom:14px; }
.section-navy .section-head .eyebrow{ color:var(--gold-light); }
.section-head h2{ font-size:clamp(28px,3.6vw,42px); color:var(--navy-deep); margin-bottom:16px; }
.section-navy .section-head h2{ color:#fff; }
.section-head p{ color:#565B7A; font-size:16px; }
.section-navy .section-head p{ color:#B7BCE2; }

.stat-strip{ display:flex; flex-wrap:wrap; border-top:1px solid rgba(232,196,104,0.25); border-bottom:1px solid rgba(232,196,104,0.25); position:relative; }
.stat{ flex:1 1 130px; padding:22px 20px; border-right:1px solid rgba(232,196,104,0.15); }
.stat:last-child{ border-right:none; }
.stat .num{ font-family:'IBM Plex Mono', monospace; font-size:26px; font-weight:600; color:var(--gold-light); }
.stat .lbl{ font-size:11px; letter-spacing:0.06em; color:#9AA2D4; text-transform:uppercase; margin-top:4px; }

/* ===== cards ===== */
.card-grid{ display:grid; gap:20px; grid-template-columns:1fr; }
@media(min-width:700px){ .card-grid.cols-2{ grid-template-columns:1fr 1fr; } .card-grid.cols-3{ grid-template-columns:repeat(3,1fr); } .card-grid.cols-4{ grid-template-columns:repeat(4,1fr); } }
.card{ padding:30px; border:1px solid var(--line); border-radius:6px; background:#fff; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s ease; }
.card:hover{ transform:translateY(-5px); box-shadow:0 18px 34px -18px rgba(18,21,58,0.25); border-color:var(--gold); }
.card h3, .card h4{ color:var(--navy-deep); }
.card p{ color:#565B7A; font-size:14.5px; }
.card-icon{ width:38px; height:38px; border-radius:50%; background:var(--navy); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:13px; margin-bottom:16px; transition:transform .3s ease; }
.card:hover .card-icon{ transform:scale(1.1) rotate(-6deg); }

/* button polish */
.btn{ position:relative; overflow:hidden; }
.btn::after{ content:""; position:absolute; inset:0; background:rgba(255,255,255,0.25); transform:translateX(-100%); transition:transform .4s ease; }
.btn:hover::after{ transform:translateX(100%); }
.btn-gold:active, .btn-navy:active{ transform:translateY(0) scale(0.98); }

/* proof card hover */
.proof-card{ transition:transform .25s ease, background .25s ease; }
.proof-card:hover{ transform:translateY(-4px); background:var(--navy-mid); }

/* sticky mini conversion bar */
#miniCta{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(18,21,58,0.97); backdrop-filter:blur(10px);
  border-top:1px solid rgba(232,196,104,0.25);
  padding:14px 24px; display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
  transform:translateY(120%); transition:transform .35s cubic-bezier(.2,.9,.25,1);
}
#miniCta.show{ transform:translateY(0); }
#miniCta span{ color:#fff; font-size:13.5px; font-family:'Fraunces',serif; font-style:italic; }
#miniCta .btn{ padding:9px 18px; font-size:11.5px; }

/* ===== ladder blueprint (shared component) ===== */
.ladder-blueprint{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:44px 36px 30px; position:relative; }
.ladder-blueprint::before{ content:""; position:absolute; inset:14px; border:1px dashed var(--line); border-radius:4px; pointer-events:none; }
.steps-row{ display:flex; align-items:flex-end; gap:14px; padding:0 6px 26px; overflow-x:auto; }
.step-block{ flex:1 1 0; min-width:118px; cursor:pointer; text-align:center; transition:transform .18s; background:none; border:none; padding:0; font:inherit; color:inherit; }
.step-block:hover{ transform:translateY(-4px); }
.step-riser{ background:var(--navy); border:1px solid var(--navy-mid); border-radius:3px 3px 0 0; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding-top:14px; transition:background .18s; }
.step-block.active .step-riser{ background:var(--gold); }
.step-block.active .step-riser .step-num{ color:var(--navy-deep); }
.step-num{ font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:20px; color:var(--gold-light); }
.step-name{ font-size:12.5px; font-weight:600; margin-top:14px; padding:0 6px; color:var(--navy-deep); }
.step-focus{ font-family:'IBM Plex Mono', monospace; font-size:10px; color:#8A8FA8; margin-top:6px; letter-spacing:0.03em; }
.ladder-detail{ border-top:1px solid var(--line); padding-top:28px; margin-top:6px; display:grid; gap:26px; grid-template-columns:1fr; }
@media(min-width:760px){ .ladder-detail{ grid-template-columns: 1fr 1.6fr; } }
.ladder-detail .obj-label{ font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--gold); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:8px; }
.ladder-detail h3{ font-size:24px; color:var(--navy-deep); margin-bottom:10px; }
.ladder-detail .objective{ color:#4A4F6B; font-style:italic; font-family:'Fraunces',serif; font-size:16.5px; }
.detail-points{ list-style:none; display:grid; gap:14px; }
.detail-points li{ display:flex; gap:12px; align-items:flex-start; font-size:14.5px; color:#2A2E4A; }
.detail-points .chk{ flex:0 0 auto; width:20px; height:20px; border-radius:50%; background:var(--navy); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font-size:11px; margin-top:2px; }

/* ===== proof / results ===== */
.proof-grid{ display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
@media(min-width:700px){ .proof-grid{ grid-template-columns:repeat(4,1fr); } }
.proof-card{ background:var(--navy); border:1px solid var(--navy-mid); border-radius:4px; padding:26px 18px; text-align:center; }
.proof-card .p-num{ font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:28px; color:var(--gold-light); }
.proof-card .p-lbl{ font-size:12px; color:#B7BCE2; margin-top:8px; }
.proof-note{ font-size:12.5px; color:#8A92C6; margin-top:22px; max-width:760px; }

/* ===== tabs / process ===== */
.tabbar{ display:inline-flex; border:1px solid var(--line); border-radius:4px; overflow:hidden; margin-bottom:40px; flex-wrap:wrap; }
.tabbtn{ font-family:'IBM Plex Mono', monospace; font-size:12.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; padding:12px 22px; background:#fff; color:#565B7A; border:none; cursor:pointer; border-right:1px solid var(--line); }
.tabbtn:last-child{ border-right:none; }
.tabbtn.active{ background:var(--navy); color:#fff; }
.process-flow{ display:none; }
.process-flow.active{ display:grid; gap:0; grid-template-columns:1fr; }
@media(min-width:760px){ .process-flow.active{ grid-template-columns:repeat(3,1fr); } }
.pf-step{ padding:22px 22px 26px; border:1px solid var(--line); border-top:3px solid var(--gold); background:#fff; position:relative; }
.pf-step .pf-num{ font-family:'IBM Plex Mono', monospace; color:var(--gold); font-size:13px; font-weight:600; }
.pf-step h4{ font-size:16.5px; color:var(--navy-deep); margin:10px 0 8px; }
.pf-step p{ font-size:13.5px; color:#565B7A; }

/* ===== FAQ ===== */
.faq-item{ border-bottom:1px solid rgba(255,255,255,0.12); }
.faq-item.on-light{ border-bottom-color:var(--line); }
.faq-q{ width:100%; text-align:left; background:none; border:none; color:#fff; font-family:'Fraunces',serif; font-size:18px; font-weight:500; padding:22px 0; display:flex; justify-content:space-between; align-items:center; cursor:pointer; gap:20px; }
.faq-item.on-light .faq-q{ color:var(--navy-deep); }
.faq-q .plus{ font-family:'IBM Plex Mono',monospace; color:var(--gold-light); font-size:20px; flex:0 0 auto; transition:transform .2s; }
.faq-item.on-light .faq-q .plus{ color:var(--gold); }
.faq-item.open .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.faq-item.open .faq-a{ max-height:400px; }
.faq-a p{ color:#B7BCE2; font-size:14.5px; padding-bottom:22px; max-width:760px; }
.faq-item.on-light .faq-a p{ color:#565B7A; }

/* ===== CTA ===== */
.cta-block{ text-align:center; }
.cta-block h2{ color:#fff; font-size:clamp(28px,4vw,42px); margin-bottom:18px; }
.cta-block p{ color:#B7BCE2; max-width:560px; margin:0 auto 34px; }
.cta-buttons{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-bottom:26px; }
.cta-contact{ font-family:'IBM Plex Mono', monospace; font-size:13px; color:#9AA2D4; }
.cta-contact a{ color:var(--gold-light); }

/* ===== video cards ===== */
.video-card{ border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#fff; }
.video-thumb{
  aspect-ratio:16/9; background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.video-thumb .play{ width:56px; height:56px; border-radius:50%; background:rgba(232,196,104,0.15); border:1.5px solid var(--gold-light); display:flex; align-items:center; justify-content:center; }
.video-thumb .play::after{ content:""; border-style:solid; border-width:8px 0 8px 13px; border-color:transparent transparent transparent var(--gold-light); margin-left:4px; }
.video-thumb .badge{ position:absolute; top:12px; left:12px; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase; background:rgba(18,21,58,0.7); color:var(--gold-light); padding:4px 9px; border-radius:2px; }
.video-card .vc-body{ padding:18px 20px; }
.video-card h4{ font-size:15px; color:var(--navy-deep); margin-bottom:6px; }
.video-card p{ font-size:13px; color:#7A7F9C; }

/* ===== testimonial / case study cards ===== */
.tcard{ border:1px solid var(--line); border-radius:6px; padding:32px; background:#fff; }
.tcard .quote-mark{ font-family:'Fraunces',serif; font-size:44px; color:var(--gold); line-height:1; margin-bottom:6px; }
.tcard blockquote{ font-family:'Fraunces',serif; font-size:17px; font-style:italic; color:var(--navy-deep); margin-bottom:18px; }
.tcard .who{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:#7A7F9C; }
.pending-note{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:#B08A2E; background:#FBF1DC; border:1px dashed var(--gold); padding:12px 16px; border-radius:4px; margin-top:8px; }

.cs-card{ border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#fff; }
.cs-head{ background:var(--navy); padding:22px 26px; }
.cs-head .cs-tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--gold-light); letter-spacing:0.08em; text-transform:uppercase; }
.cs-head h3{ color:#fff; font-size:21px; margin-top:8px; }
.cs-body{ padding:24px 26px; }
.cs-stats{ display:flex; gap:22px; margin-bottom:18px; flex-wrap:wrap; }
.cs-stats .cs-stat .n{ font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:22px; color:var(--navy); }
.cs-stats .cs-stat .l{ font-size:11px; color:#7A7F9C; text-transform:uppercase; letter-spacing:0.04em; }
.cs-body p{ font-size:14px; color:#4A4F6B; }

/* ===== service catalog ===== */
.service-icon{ width:52px; height:52px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; margin-bottom:18px; flex:0 0 auto; transition:transform .3s ease; }
.service-icon img{ width:24px; height:24px; object-fit:contain; }
.card:hover .service-icon{ transform:scale(1.1) rotate(-6deg); }
.service-card{ display:flex; flex-direction:column; }
.service-card .svc-num{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--gold); letter-spacing:0.12em; margin-bottom:8px; }
.service-card h3{ font-size:19px; color:var(--navy-deep); margin-bottom:8px; }
.service-card p.svc-desc{ color:#565B7A; font-size:13.5px; margin-bottom:18px; }
.service-list{ list-style:none; display:grid; gap:9px; margin-top:auto; }
.service-list li{ display:flex; gap:9px; align-items:flex-start; font-size:13px; color:#3A3F5C; line-height:1.4; }
.service-list li::before{ content:"—"; color:var(--gold); flex:0 0 auto; }
.engage-card{ text-align:center; padding:36px 28px; }
.engage-card .service-icon{ margin:0 auto 18px; }
.engage-card .service-list{ text-align:left; }
.engage-card .service-list li::before{ content:"\2022"; font-weight:700; }

/* ===== approval wall & featured case study ===== */
.wall-grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media(min-width:700px){ .wall-grid{ grid-template-columns:repeat(3,1fr); } }
.wall-item{ border:1px solid var(--line); border-radius:6px; background:#fff; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease; }
.wall-item:hover{ transform:translateY(-4px); box-shadow:0 16px 30px -18px rgba(18,21,58,0.3); }
.wall-item img{ width:100%; display:block; aspect-ratio:4/5; object-fit:cover; object-position:top; }
.wall-cap{ padding:12px 14px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:#3A3F5C; line-height:1.45; border-top:1px solid var(--line); margin-top:auto; }
.wall-cap strong{ color:var(--navy-deep); }
.feature-cs{ background:#fff; border:1px solid var(--gold); border-radius:8px; overflow:hidden; }
.feature-head{ background:var(--navy); padding:24px 30px; }
.feature-head .cs-tag{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--gold-light); letter-spacing:0.08em; text-transform:uppercase; }
.feature-head h3{ color:#fff; font-size:26px; margin-top:8px; }
.feature-imgs{ display:grid; gap:2px; grid-template-columns:repeat(3,1fr); background:var(--line); }
.feature-imgs img{ width:100%; height:100%; display:block; aspect-ratio:3/4; object-fit:cover; object-position:top; }
.feature-body{ padding:28px 30px; }

/* ===== affiliate portal ===== */
.portal-box{ background:var(--navy); border:1px solid var(--navy-mid); border-radius:8px; padding:48px 40px; text-align:center; }
.portal-box h3{ color:#fff; font-size:26px; margin-bottom:14px; }
.portal-box p{ color:#B7BCE2; max-width:480px; margin:0 auto 30px; font-size:15px; }

/* ===== footer ===== */
footer{ background:var(--navy-deep); color:#8A92C6; padding:64px 0 30px; border-top:1px solid rgba(232,196,104,0.12); }
.foot-grid{ display:grid; gap:40px; grid-template-columns:1.4fr 1fr 1fr 1fr; margin-bottom:50px; }
@media(max-width:760px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
.foot-brand img{ width:46px; height:24px; object-fit:contain; margin-bottom:12px; }
.foot-brand p{ font-size:13.5px; margin-top:14px; max-width:280px; }
.foot-col h5{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--gold-light); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:16px; }
.foot-col a{ display:block; font-size:13.5px; color:#8A92C6; margin-bottom:10px; }
.foot-col a:hover{ color:#fff; }
.legal{ border-top:1px solid rgba(255,255,255,0.08); padding-top:30px; font-size:11.5px; color:#5F6598; line-height:1.7; }
.legal p{ margin-bottom:14px; }
.legal strong{ color:#8A92C6; }
.copyline{ margin-top:24px; font-size:11.5px; color:#5F6598; display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:space-between; }

.reveal{ opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; }
.reveal.in{ opacity:1; transform:none; }

.stagger{ opacity:0; transform:translateY(14px); animation:staggerIn .6s ease forwards; }
@keyframes staggerIn{ to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  .stagger{ opacity:1; transform:none; animation:none; }
  .step-block, .btn, .faq-a, .card, .proof-card{ transition:none; }
  #miniCta{ transition:none; }
  .btn::after{ display:none; }
}

/* ===== Ticker + proof additions (7/11 update) ===== */
.mega-tick{ text-align:center; margin-bottom:44px; }
.mega-tick .mt-num{ font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:clamp(42px,9vw,82px); color:var(--navy-deep); line-height:1; letter-spacing:-0.02em; }
.section-navy .mega-tick .mt-num, .section-dark .mega-tick .mt-num{ color:var(--gold-light); }
.mega-tick .mt-lbl{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.09em; text-transform:uppercase; color:#7A7F9C; margin-top:14px; }
.mega-tick .mt-rule{ width:60px; height:3px; background:var(--gold); margin:18px auto 0; border-radius:2px; }
/* natural-aspect proof shots (full report / screenshot legible, no crop) */
.wall-item.nat img{ aspect-ratio:auto; height:auto; object-fit:contain; background:#fff; }

/* ===== Accessibility: skip link (7/11 QA) ===== */
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--navy-deep); color:#fff; padding:12px 18px; border:2px solid var(--gold-light); border-radius:0 0 6px 0; font-family:'IBM Plex Mono',monospace; font-size:13px; text-decoration:none; }
.skip-link:focus{ left:0; }

/* ===== v2 additions: assessment, insights (blog), portal ===== */
.assess-shell{max-width:760px;margin:0 auto;}
.assess-rail{display:flex;gap:8px;margin:26px 0 34px;}
.assess-rail .rung{flex:1;height:6px;border-radius:3px;background:var(--line);transition:background .3s;}
.assess-rail .rung.done{background:var(--gold);}
.q-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;box-shadow:0 10px 30px rgba(18,21,58,.06);}
.q-card h3{font-size:22px;margin:6px 0 18px;}
.q-num{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;}
.q-opts{display:grid;gap:10px;}
.q-opt{border:1.5px solid var(--line);border-radius:10px;padding:14px 16px;font-size:15px;cursor:pointer;background:#fff;text-align:left;transition:all .15s;font-family:'Inter',sans-serif;color:var(--ink);}
.q-opt:hover{border-color:var(--navy-mid);}
.q-opt.sel{border-color:var(--gold);background:#FBF4E4;}
.assess-nav{display:flex;justify-content:space-between;margin-top:22px;gap:12px;}
.readout{background:var(--navy-deep);color:#E8EAF6;border-radius:16px;padding:38px 34px;position:relative;overflow:hidden;}
.readout .eyebrow{color:var(--gold-light);}
.readout h2{color:#fff;font-size:30px;margin:10px 0 6px;}
.readout .rung-viz{display:flex;gap:10px;margin:22px 0;}
.readout .rung-viz div{flex:1;height:10px;border-radius:5px;background:rgba(255,255,255,.12);}
.readout .rung-viz div.lit{background:var(--gold);}
.readout p{color:#C9CEEE;font-size:15px;line-height:1.65;}
.readout .next{background:rgba(255,255,255,.06);border:1px solid rgba(232,196,104,.25);border-radius:12px;padding:18px 20px;margin:20px 0;}
.assess-note{font-size:12.5px;color:#6A7195;margin-top:16px;line-height:1.6;}
.privacy-chip{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;color:var(--navy-mid);background:#EDEFFA;border:1px solid var(--line);border-radius:999px;padding:7px 14px;}
.blog-grid{display:grid;gap:26px;grid-template-columns:1fr;}
@media(min-width:820px){.blog-grid{grid-template-columns:repeat(3,1fr);}}
.post-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;gap:12px;transition:transform .18s, box-shadow .18s;}
.post-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(18,21,58,.09);}
.post-card h3{font-size:19px;line-height:1.25;}
.post-card .meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;}
.post-card p{font-size:14px;color:#4A5170;flex:1;}
.post-card .rd{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--navy-mid);}
article.post{max-width:720px;margin:0 auto;}
article.post h1{font-size:clamp(30px,5vw,42px);margin:14px 0 18px;}
article.post h2{font-size:24px;margin:34px 0 12px;}
article.post p, article.post li{font-size:16.5px;line-height:1.75;color:#2A3050;margin-bottom:16px;}
article.post ul,article.post ol{padding-left:22px;margin-bottom:16px;}
article.post .post-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;}
article.post .callout{background:#FBF4E4;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:16px 20px;margin:22px 0;font-size:15px;}
.portal-strip{background:linear-gradient(120deg,var(--navy-deep),var(--navy));border-radius:16px;padding:34px 32px;display:flex;flex-wrap:wrap;align-items:center;gap:22px;justify-content:space-between;border:1px solid rgba(232,196,104,.22);}
.portal-strip h3{color:#fff;font-size:24px;}
.portal-strip p{color:#C9CEEE;font-size:14.5px;max-width:520px;}
.soon-pill{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-deep);background:var(--gold-light);border-radius:999px;padding:5px 12px;display:inline-block;margin-bottom:10px;}
/* Desktop nav (>=1280px): let the bar use available width and tighten link
   spacing/size so all 10 links + the Book a Call button fit without clipping.
   Below 1280px the burger menu is shown instead (see breakpoints above). */
@media(min-width:1280px){ nav{ max-width:1280px; } .navlinks{ gap:14px; } .navlinks a{ font-size:12.5px; } }

/* ===== v2.1 fix: balanced final-CTA spacing (specialist finding #1) ===== */
section.section-navy > .cta-block{ padding:96px 0 100px; }
@media(max-width:720px){ section.section-navy > .cta-block{ padding:72px 0 78px; } }

/* ===== v2.2: audit fixes (specialist round 1) ===== */
footer .legal p{ color:#A9B0DA; font-size:12.5px; line-height:1.65; }
footer .foot-col a{ color:#B7BCE2; }
footer .foot-brand p{ color:#A9B0DA; }
@media(min-width:900px){ footer .legal p{ font-size:13.5px; } footer .foot-col a{ font-size:14px; } }
/* case-study proof lightbox */
.lightbox{ position:fixed; inset:0; background:rgba(10,12,32,.92); display:none; align-items:center; justify-content:center; z-index:999; padding:20px; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:96vw; max-height:88vh; border-radius:8px; }
.lightbox .lb-close{ position:absolute; top:16px; right:20px; color:#fff; font-size:34px; background:none; border:0; cursor:pointer; }
.proof-zoomable{ cursor:zoom-in; }

/* v2.3: nav robustness */
.mobile-nav{ position:relative; z-index:60; }
.grid-tex{ pointer-events:none; }
header nav .burger{ position:relative; z-index:61; }
