:root{
  --navy:#080D1A;
  --navy-deep:#050810;
  --navy-card:#0D1425;
  --navy-line:rgba(255,255,255,0.06);
  --gold:#F8CF40;
  --white:#FFFFFF;
  --grey:#8a8aaa;
  --grey-bright:#c3c6e6;
  --grey-dim:#4a5080;
  --green:#4CAF50;
  --amber:#FF9800;
  --red:#F44336;
  --blue:#1877F2;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* The fixed nav is 63px on phones, 72px on wide desktop and 93px in the band where it
   wraps (roughly 860 to 1020px), so a single offset cannot clear it everywhere. This is a
   sane fallback; script.js measures the nav and overwrites it at runtime. */
:root{--nav-h:72px;}
#audit-highlight{scroll-margin-top:calc(var(--nav-h) + 22px);}
body{
  font-family:'Montserrat',sans-serif;
  background:var(--navy);
  color:var(--white);
  line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

/* ===== NAV ===== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(5,8,16,0.85);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--navy-line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:1180px;margin:0 auto;}
.nav-logo img{width:398px;max-width:100%;height:auto;}
.nav-links{display:flex;gap:32px;font-size:13.5px;letter-spacing:0.4px;color:var(--grey-bright);font-weight:600;}
.nav-links a{transition:color .15s ease;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{
  background:var(--gold);color:var(--navy);font-weight:700;font-size:13px;
  padding:9px 20px;border-radius:100px;letter-spacing:0.3px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(248,207,64,0.25);}
.cta-short{display:none;}
@media(max-width:820px){.nav-links{display:none;}}

/* ===== HERO ===== */
.hero{
  padding:132px 0 110px;
  position:relative;
  background:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(248,207,64,0.08), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 10%, rgba(24,119,242,0.07), transparent 60%);
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:800;
  border:1px solid rgba(248,207,64,0.3);background:rgba(248,207,64,0.08);
  padding:8px 18px;border-radius:100px;margin-bottom:22px;
}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
.hero-tagline{
  font-style:italic;font-weight:500;font-size:clamp(15px,1.8vw,18px);
  color:var(--grey-bright);letter-spacing:0.2px;margin-bottom:26px;
  border-left:2px solid var(--gold);padding-left:14px;
}
.hero h1{
  font-size:clamp(28px,4.2vw,46px);font-weight:800;letter-spacing:-1px;line-height:1.15;
  max-width:1040px;margin:0 auto 24px;text-align:center;
}
.hero h1 .accent{color:var(--gold);}
.hero-sub{
  font-size:clamp(16px,2vw,19px);color:var(--grey-bright);max-width:600px;line-height:1.75;margin:0 auto 40px;text-align:center;
}
.hero-cta-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:64px;}
.btn-primary{
  background:var(--gold);color:var(--navy);font-weight:700;font-size:14.5px;
  padding:16px 30px;border-radius:100px;display:inline-flex;align-items:center;gap:8px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(248,207,64,0.28);}
.btn-secondary{
  border:1.5px solid rgba(255,255,255,0.35);color:var(--white);font-weight:600;font-size:14.5px;
  padding:16px 30px;border-radius:100px;display:inline-flex;align-items:center;gap:8px;
  transition:border-color .15s ease, background .15s ease;
}
.btn-secondary:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.05);}

/* ===== SIGNATURE ELEMENT: SKU TRAFFIC STRIP ===== */
.signature{
  background:var(--navy-card);
  border:1px solid var(--navy-line);
  border-radius:16px;
  padding:24px 26px;
  max-width:660px;
  margin:0 auto;
}
.sig-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.sig-label{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);font-weight:800;}
.sig-live{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--green);letter-spacing:1px;text-transform:uppercase;font-weight:800;}
.sig-live .dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;}
.sig-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--navy-line);}
.sig-row:last-child{border-bottom:none;}
.sig-sku{font-size:13px;font-weight:700;color:var(--white);width:88px;flex-shrink:0;}
.sig-bar-track{flex:1;height:7px;background:rgba(255,255,255,0.05);border-radius:4px;overflow:hidden;}
.sig-bar-fill{height:100%;border-radius:4px;}
.sig-status{
  font-size:11px;font-weight:800;letter-spacing:0.4px;width:104px;text-align:center;flex-shrink:0;
  padding:5px 10px;border-radius:100px;
}
.status-green{color:var(--green);background:rgba(76,175,80,0.12);}
.status-amber{color:var(--amber);background:rgba(255,152,0,0.12);}
.status-red{color:var(--red);background:rgba(244,67,54,0.12);}

/* ===== SECTION SCAFFOLDING ===== */
section{padding:100px 0;}
@media(max-width:640px){section{padding:70px 0;}}
.section-eyebrow{
  font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);
  margin-bottom:14px;font-weight:700;
}
.section-title{
  font-size:clamp(26px,3.6vw,40px);font-weight:800;letter-spacing:-1px;line-height:1.15;
  max-width:700px;margin-bottom:18px;
}
.section-sub{font-size:16px;color:var(--grey-bright);max-width:600px;line-height:1.75;}

/* ===== PROBLEM ===== */
.problem{background:var(--navy-deep);border-top:1px solid var(--navy-line);border-bottom:1px solid var(--navy-line);}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.16);border-radius:16px;overflow:hidden;margin-top:52px;}
@media(max-width:820px){.problem-grid{grid-template-columns:1fr;}}
.problem-card{background:var(--navy-card);padding:34px 28px;}
.problem-num{font-size:11px;font-weight:800;color:var(--gold);letter-spacing:2px;margin-bottom:16px;}
.problem-card h3{font-size:18px;font-weight:700;margin-bottom:10px;color:var(--white);}
.problem-card p{font-size:14.5px;color:var(--grey-bright);line-height:1.7;min-height:49px;}
.problem-card .stat{font-size:40px;font-weight:900;color:var(--red);margin:18px 0 8px;letter-spacing:-1px;height:52px;line-height:1;display:flex;align-items:flex-end;overflow:hidden;}
.problem-card .stat.stat-sm{font-size:min(38px, calc(12.6vw - 13.6px));letter-spacing:-0.5px;white-space:nowrap;}
@media(min-width:821px){
  .problem-card .stat.stat-sm{font-size:min(38px, calc(4.2vw - 11.5px));}
  /* Subgrid ties every row across the three cards, so the red figures sit on one line
     with each other no matter how the headings or descriptions wrap. */
  .problem-grid{grid-template-rows:repeat(6, auto);}
  .problem-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;align-content:start;}
}
.problem-card .stat-label{font-size:13px;color:var(--white);font-weight:600;line-height:1.5;}
.problem-card .stat-source{font-size:10.5px;color:var(--grey);margin-top:8px;font-style:italic;}

/* ===== APPROACH ===== */
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:56px;}
@media(max-width:900px){.approach-grid{grid-template-columns:1fr;gap:36px;}}
.approach-list{display:flex;flex-direction:column;gap:30px;}
.approach-item{display:flex;gap:18px;}
.approach-icon{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  background:rgba(248,207,64,0.08);border:1px solid rgba(248,207,64,0.25);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
}
.approach-icon svg{width:22px;height:22px;}
.approach-item h4{font-size:16.5px;font-weight:700;margin-bottom:6px;}
.approach-item p{font-size:14px;color:var(--grey-bright);line-height:1.7;}
.approach-visual{
  background:var(--navy-card);border:1px solid var(--navy-line);border-radius:16px;padding:28px;
}
.mockup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.mockup-title{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--white);}
.mockup-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:22px;}
.mockup-kpi{background:rgba(255,255,255,0.02);border:1px solid var(--navy-line);border-radius:8px;padding:14px 10px;}
.mockup-kpi .v{font-size:22px;font-weight:900;}
.mockup-kpi .l{font-size:10px;color:var(--grey-bright);letter-spacing:0.8px;text-transform:uppercase;margin-top:4px;font-weight:700;}
.mockup-chart-label{font-size:10.5px;color:var(--grey-bright);letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-bottom:12px;}
.mockup-chart{display:flex;align-items:flex-end;gap:14px;height:90px;padding-top:16px;}
.mockup-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;}
.mockup-bar-val{font-size:11px;font-weight:800;}
.mockup-bar{width:100%;border-radius:4px 4px 0 0;}
.mockup-bar-label{font-size:10px;color:var(--grey);margin-top:4px;}

/* ===== TIERS ===== */
.tiers{background:var(--navy-deep);border-top:1px solid var(--navy-line);border-bottom:1px solid var(--navy-line);}
/* Five tiers, not four. Cards keep the same width they had in the old 4-up grid (about 264px)
   by letting the grid choose its own column count rather than forcing five equal fractions
   into the 1116px content column, which would have squeezed each card to roughly 210px.
   The grid sits in its own wider wrap (.tier-grid-wrap) so five cards fit on one row on a
   large desktop, and falls back to 3+2, then 2+2+1, then a single column, centred each time. */
.tier-grid-wrap{max-width:1420px;margin:0 auto;padding:0 24px;}
@media(max-width:640px){.tier-grid-wrap{padding:0 20px;}}
/* Flex rather than grid, so an incomplete final row centres itself instead of leaving a
   card stranded in column one. Five 258px cards plus gaps need 1346px of content width,
   so five-across only switches on above 1400px. Below that it is 3+2, then 2+2+1, then
   a single column. Four-across is deliberately skipped: with five cards it always leaves
   a lone orphan on the second row. */
.tier-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:56px;}
.tier-card{flex:0 0 auto;width:300px;}
@media(min-width:1400px){.tier-card{width:258px;}}
@media(max-width:1000px){.tier-card{width:calc(50% - 7px);}}
@media(max-width:700px){.tier-card{width:100%;}}
.tier-card{
  background:var(--navy-card);border:1px solid var(--navy-line);border-radius:16px;
  padding:26px 22px;display:flex;flex-direction:column;
  transition:border-color .2s ease, transform .2s ease;
}
.tier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
.tier-icon{
  width:39px;height:39px;border-radius:11px;flex-shrink:0;
  background:rgba(248,207,64,0.1);border:1px solid rgba(248,207,64,0.3);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  transition:border-color .2s ease, background .2s ease;
}
.tier-icon svg{width:23px;height:23px;}
.tier-card:hover .tier-icon{border-color:rgba(248,207,64,0.55);background:rgba(248,207,64,0.16);}
.tier-card.popular .tier-icon{background:rgba(248,207,64,0.16);border-color:rgba(248,207,64,0.45);}
.tier-card:hover{border-color:rgba(248,207,64,0.3);transform:translateY(-3px);}
.tier-card.featured{border-color:rgba(248,207,64,0.4);background:linear-gradient(160deg, rgba(248,207,64,0.05), var(--navy-card));}
.tier-badge{
  font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);
  margin:0;padding-top:9px;
}
.tier-name{font-size:16.5px;font-weight:700;margin-bottom:8px;line-height:1.35;text-wrap:balance;}
.tier-price{font-size:27px;font-weight:800;color:var(--gold);margin-bottom:4px;line-height:1.2;}
.tier-price span{font-size:12.5px;font-weight:500;color:var(--grey-bright);white-space:nowrap;}
.tier-desc{font-size:13.5px;color:var(--white);line-height:1.7;margin:14px 0 20px;flex:1;}
/* On the multi-column layouts the descriptions run to four lines at most, so fixing that
   height lines the bullet lists up across the row instead of letting each card float. */
@media(min-width:1001px){.tier-desc{flex:0 0 auto;min-height:92px;}.tier-list{flex:1;}.tier-name{min-height:45px;}}
.tier-list{list-style:none;display:flex;flex-direction:column;gap:9px;}
.tier-list li{font-size:12.5px;color:#dde0f7;font-weight:600;line-height:1.55;display:flex;gap:8px;align-items:flex-start;}
.tier-list li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:6px;flex-shrink:0;}

/* ===== CREDIBILITY ===== */
.cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:52px;}
@media(max-width:900px){.cred-grid{grid-template-columns:1fr;gap:36px;}}
.cred-quote{font-size:clamp(20px,2.6vw,26px);font-weight:600;line-height:1.5;color:var(--white);}
.cred-quote .em{color:var(--gold);}
.cred-facts{display:flex;flex-direction:column;gap:24px;}
.cred-fact{border-left:2px solid rgba(248,207,64,0.35);padding-left:18px;}
.cred-fact .num{font-size:30px;font-weight:900;color:var(--gold);letter-spacing:-0.5px;}
.cred-fact .label{font-size:13.5px;color:var(--grey-bright);margin-top:6px;line-height:1.6;}
.cred-fact .label strong{color:var(--white);}

/* ===== PROCESS ===== */
.process-track{display:flex;flex-direction:column;margin-top:56px;}
.process-step{display:grid;grid-template-columns:52px 52px 1fr;gap:18px;padding:30px 0;border-top:1px solid var(--navy-line);align-items:start;}
.process-step:last-child{border-bottom:1px solid var(--navy-line);}
.process-num{font-size:26px;font-weight:900;color:var(--white);}
.process-num.with-tag{margin-top:32px;}
.process-content h4{font-size:17.5px;font-weight:700;margin-bottom:8px;}
.process-content p{font-size:14px;color:var(--grey-bright);line-height:1.75;max-width:560px;}
.process-tag{
  display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:var(--green);background:rgba(76,175,80,0.1);border:1px solid rgba(76,175,80,0.25);
  padding:4px 10px;border-radius:100px;margin-bottom:10px;
}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start;margin-top:52px;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:36px;}}
.about-card{background:var(--navy-card);border:1px solid var(--navy-line);border-radius:16px;padding:32px 28px;}
.about-card .role{font-size:13px;color:var(--gold);font-weight:700;letter-spacing:0.5px;margin-bottom:6px;}
.about-card h3{font-size:22px;font-weight:800;margin-bottom:18px;}
.about-card p{font-size:14px;color:var(--grey-bright);line-height:1.75;margin-bottom:14px;}
.about-body p{font-size:15px;color:var(--grey-bright);line-height:1.85;margin-bottom:18px;}

/* ===== CTA ===== */
.cta-band{
  background:linear-gradient(135deg, rgba(248,207,64,0.06), var(--navy));
  border-top:1px solid var(--navy-line);
  text-align:center;padding:110px 0;
}
.cta-band h2{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-1px;margin-bottom:18px;}
.cta-band p{font-size:16px;color:var(--grey-bright);max-width:780px;margin:0 auto 36px;}

/* ===== FOOTER ===== */
footer{border-top:1px solid var(--navy-line);padding:44px 0;background:var(--navy-deep);}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.footer-logo img{width:398px;max-width:100%;height:auto;opacity:1;}
.footer-links{display:flex;gap:24px;font-size:12.5px;color:var(--grey-bright);}
.footer-links a:hover{color:var(--gold);}
.footer-copy{font-size:11.5px;color:var(--grey-dim);width:100%;margin-top:20px;text-align:center;}
/* ===== HERO BRAND BLOCK ===== */
.hero-top{text-align:center;margin-bottom:58px;}
.hero-logo{width:795px;max-width:100%;height:auto;margin:0 auto 20px;display:block;}
.hero-tagline-c{font-style:italic;font-weight:500;font-size:clamp(15px,1.8vw,18px);color:var(--grey-bright);max-width:640px;margin:0 auto 16px;}
.hero-top .hero-eyebrow{margin-bottom:0;}
/* ===== MOST POPULAR TIER ===== */
.tier-card.popular{border:1.5px solid var(--gold);box-shadow:0 12px 34px rgba(248,207,64,0.16);position:relative;overflow:visible;}
.popular-ribbon{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-size:9.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 14px;border-radius:100px;white-space:nowrap;box-shadow:0 4px 12px rgba(248,207,64,0.3);}
/* ===== MOBILE REFINEMENTS ===== */
@media(max-width:640px){
  .hero{padding:120px 0 70px;}
  .hero-logo{width:530px;}
  .tier-grid{margin-top:40px;}
  .hero-top{margin-bottom:34px;}
  .nav-inner{padding:12px 16px;}
  .nav-logo img{width:250px;max-width:100%;height:auto;}
  .nav-cta{font-size:12px;padding:8px 16px;white-space:nowrap;flex-shrink:0;}
  .cta-full{display:none;}
  .cta-short{display:inline;}
}
/* ===== PROCESS ICONS ===== */
.process-icon{width:52px;height:52px;border-radius:14px;flex-shrink:0;background:rgba(248,207,64,0.08);border:1px solid rgba(248,207,64,0.25);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.process-icon svg{width:28px;height:28px;}
.process-icon.with-tag{margin-top:32px;}
.process-icon.glow{background:rgba(248,207,64,0.18);border-color:rgba(248,207,64,0.5);box-shadow:0 0 20px rgba(248,207,64,0.30);}
/* ===== CTA TAGLINE ===== */
.cta-tagline{font-style:italic;font-weight:500;font-size:clamp(15px,1.8vw,18px);color:var(--grey-bright);max-width:640px;margin:0 auto 20px;}
@media(max-width:640px){
  .process-step{grid-template-columns:30px 46px 1fr;column-gap:13px;row-gap:12px;}
  .process-num{font-size:20px;}
  .process-icon{width:46px;height:46px;}
  .process-icon svg{width:25px;height:25px;}
  .process-num.with-tag,.process-icon.with-tag{margin-top:26px;}
}
.process-icon.glow svg{width:40px;height:40px;}
/* ===== FOOTER SOCIAL ===== */
.footer-social-row{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:26px;padding-top:22px;border-top:1px solid var(--navy-line);width:100%;text-align:center;}
.footer-social-cta{font-size:12.5px;color:var(--grey-bright);font-weight:600;letter-spacing:0.3px;}
.footer-social{display:flex;align-items:center;gap:12px;}
.footer-social a{width:34px;height:34px;border-radius:9px;border:1px solid var(--navy-line);display:flex;align-items:center;justify-content:center;color:var(--grey-bright);transition:color .15s,border-color .15s,background .15s;}
.footer-social a:hover{color:var(--gold);border-color:rgba(248,207,64,0.4);background:rgba(248,207,64,0.06);}
.footer-social svg{width:17px;height:17px;}
@media(max-width:640px){.footer-social-row{justify-content:center;text-align:center;}}
/* ===== NEWSLETTER ===== */
.news-band{background:linear-gradient(135deg, rgba(24,119,242,0.06), var(--navy-deep));border-top:1px solid var(--navy-line);border-bottom:1px solid var(--navy-line);}
.news-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.news-copy{flex:1;min-width:280px;}
.news-title{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-0.8px;margin:12px 0 12px;line-height:1.15;}
.news-sub{font-size:15px;color:var(--grey-bright);max-width:480px;line-height:1.7;}
.news-form{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;}
.news-input{background:var(--navy-card);border:1px solid var(--navy-line);border-radius:100px;padding:14px 20px;color:var(--white);font-family:inherit;font-size:14px;min-width:240px;outline:none;transition:border-color .15s;}
.news-input:focus{border-color:rgba(248,207,64,0.5);}
.news-input::placeholder{color:var(--grey-dim);}
.news-btn{background:var(--gold);color:var(--navy);font-weight:700;font-size:14px;padding:14px 26px;border-radius:100px;border:none;cursor:pointer;font-family:inherit;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:transform .15s, box-shadow .15s;}
.news-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(248,207,64,0.25);}
@media(max-width:640px){.news-inner{gap:24px;}.news-form{width:100%;}.news-input{flex:1;min-width:0;}}
.news-status{width:100%;font-size:13px;margin:10px 0 0;min-height:18px;}
.news-status.is-success{color:#3ddc84;}
.news-status.is-error{color:var(--red);}
.news-btn:disabled{opacity:0.6;cursor:default;transform:none;box-shadow:none;}
/* ===== CTA SOCIAL + GRAPH HEADERS + COOKIE BANNER ===== */
.sig-head{display:flex;align-items:center;gap:14px;padding-bottom:9px;margin-bottom:2px;border-bottom:1px solid var(--navy-line);}
.sig-head span{font-size:9.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--grey);font-weight:700;}
.sig-head-product{width:88px;flex-shrink:0;}
.sig-head-perf{flex:1;}
.sig-head-status{width:104px;flex-shrink:0;text-align:center;}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;max-width:720px;margin:0 auto;background:var(--navy-card);border:1px solid var(--navy-line);border-radius:14px;padding:16px 20px;display:none;align-items:center;gap:18px;flex-wrap:wrap;box-shadow:0 16px 44px rgba(0,0,0,0.5);}
.cookie-banner.show{display:flex;}
.cookie-text{font-size:13px;color:var(--grey-bright);line-height:1.6;flex:1;min-width:220px;margin:0;}
.cookie-text a{color:var(--gold);text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-btn{font-family:inherit;font-size:13px;font-weight:700;padding:10px 20px;border-radius:100px;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s,border-color .15s;}
.cookie-accept{background:var(--gold);color:var(--navy);}
.cookie-accept:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(248,207,64,0.25);}
.cookie-decline{background:transparent;color:var(--grey-bright);border:1px solid var(--navy-line);}
.cookie-decline:hover{border-color:var(--grey-bright);}
@media(max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:center;}.cookie-actions{justify-content:center;}}
.btn-arrow{width:16px;height:16px;flex-shrink:0;}
/* ===== LEGAL PANELS ===== */
.legal-overlay{position:fixed;inset:0;z-index:400;background:rgba(3,5,10,0.74);backdrop-filter:blur(4px);display:none;padding:40px 16px;overflow-y:auto;}
.legal-overlay.show{display:block;}
.legal-panel{display:none;max-width:760px;margin:0 auto;background:var(--navy-deep);border:1px solid var(--navy-line);border-radius:16px;padding:44px 40px 48px;position:relative;}
.legal-panel.active{display:block;}
.legal-close{position:absolute;top:14px;right:18px;background:transparent;border:none;color:var(--grey-bright);font-size:28px;line-height:1;cursor:pointer;padding:4px 8px;}
.legal-close:hover{color:var(--gold);}
.legal-panel h1{color:#fff;font-size:28px;font-weight:800;letter-spacing:-0.5px;margin-bottom:6px;}
.legal-panel .updated{font-size:13px;color:var(--grey);margin-bottom:26px;}
.legal-panel h2{color:#fff;font-size:17px;font-weight:700;margin:26px 0 9px;}
.legal-panel p{font-size:14px;color:var(--grey-bright);line-height:1.7;margin-bottom:11px;}
.legal-panel ul{margin:0 0 11px 20px;}
.legal-panel li{font-size:14px;color:var(--grey-bright);line-height:1.7;margin-bottom:6px;}
.legal-panel a{color:var(--gold);text-decoration:underline;}
@media(max-width:600px){.legal-panel{padding:36px 22px 40px;}}
.section-title.problem-title{max-width:820px;font-size:clamp(23px,3.1vw,34px);text-wrap:balance;}
/* ===== ONGOING INTELLIGENCE ===== */
.ongoing{background:var(--navy-deep);border-top:1px solid var(--navy-line);border-bottom:1px solid var(--navy-line);}
.ongoing-grid{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:center;}
.ongoing-points{list-style:none;display:flex;flex-direction:column;gap:16px;margin-top:28px;}
.ongoing-points li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;color:var(--white);line-height:1.6;font-weight:500;}
.pov-tick{width:20px;height:20px;flex-shrink:0;color:var(--gold);margin-top:1px;}
.ongoing-visual{display:flex;justify-content:center;}
.pov-phone{width:300px;background:#000;border-radius:42px;padding:11px;box-shadow:0 30px 70px rgba(0,0,0,0.55),0 0 0 2px #1a1f2e;}
.pov-screen{position:relative;border-radius:32px;overflow:hidden;background:linear-gradient(170deg,#0b1220,#080D1A 55%,#0a1830);min-height:580px;}
.pov-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:104px;height:26px;background:#000;border-radius:14px;z-index:5;}
.pov-clock{position:absolute;top:58px;left:0;right:0;text-align:center;}
.pov-time{color:#fff;font-size:56px;font-weight:300;letter-spacing:-1px;line-height:1;}
.pov-date{color:rgba(255,255,255,.75);font-size:13px;font-weight:500;margin-top:5px;}
.pov-notifs{position:absolute;left:11px;right:11px;top:180px;display:flex;flex-direction:column;gap:10px;}
.pov-card{background:rgba(20,26,42,0.85);border:1px solid rgba(255,255,255,0.07);border-radius:18px;padding:12px 13px;}
.pov-red{box-shadow:inset 3px 0 0 var(--amber);}
.pov-gold{box-shadow:inset 3px 0 0 var(--gold);}
.pov-top{display:flex;align-items:center;gap:7px;margin-bottom:6px;}
.pov-icon{width:20px;height:20px;border-radius:6px;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pov-badge{width:13px;height:13px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;}
.pov-badge svg{display:block;}
.pov-app{font-size:9.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--grey-bright);flex:1;}
.pov-when{font-size:9.5px;color:var(--grey);font-weight:600;}
.pov-pill{display:inline-block;font-size:8.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:2px 7px;border-radius:100px;margin-bottom:6px;}
.pov-pill-green{color:var(--green);background:rgba(76,175,80,.14);}
.pov-pill-gold{color:var(--gold);background:rgba(248,207,64,.14);}
.pov-ntitle{color:#fff;font-size:13.5px;font-weight:700;margin-bottom:3px;line-height:1.25;}
.pov-body{color:#cdd0ea;font-size:12px;line-height:1.5;}
.pov-big{color:var(--gold);font-weight:800;}
.pov-bar{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:106px;height:5px;border-radius:100px;background:rgba(255,255,255,.5);}
@media(max-width:900px){
  .ongoing-grid{grid-template-columns:1fr;gap:34px;}
  .ongoing-visual{order:-1;}
}
/* ==========================================================================
   AMENDMENTS: master build
   ========================================================================== */

/* ----- 1. SECTION RHYTHM: Ongoing goes plain navy, About goes deep ----- */
.ongoing{
  border-top:none;
  border-bottom:none;
  background:var(--navy);
}
.about-band{
  background:var(--navy-deep);
  border-top:1px solid var(--navy-line);
}

/* ----- 2. PHONE MOCKUP CONTRAST ----- */
.pov-phone{
  background:#04060c;
  box-shadow:
    0 30px 64px rgba(0,0,0,0.66),
    0 0 0 1.5px rgba(255,255,255,0.38),
    0 0 30px rgba(255,255,255,0.11);
}
.pov-screen{box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);}

/* ----- 3. ONGOING HEADLINE: keep the phrase intact on desktop ----- */
@media(min-width:901px){
  .ongoing-title{max-width:none;}
  .ongoing-title .nb{white-space:nowrap;}
}

/* ----- 4. TIER CARD CTAs: book a call (primary) + buy now (secondary) ----- */
.tier-cta{display:flex;flex-direction:column;gap:9px;margin-top:22px;}
.tier-btn{
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:13px;font-weight:700;letter-spacing:0.3px;
  padding:11px 14px;border-radius:100px;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.tier-btn-book{background:var(--gold);color:var(--navy);}
.tier-btn-book:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(248,207,64,0.28);}
.tier-btn-buy{
  font-size:12.5px;
  color:var(--gold);
  background:rgba(248,207,64,0.07);
  border:2px solid rgba(248,207,64,0.62);
}
.tier-btn-buy:hover{background:rgba(248,207,64,0.15);border-color:var(--gold);transform:translateY(-1px);box-shadow:0 8px 20px rgba(248,207,64,0.18);}
.tier-note{display:flex;align-items:center;justify-content:center;min-height:43px;padding:0 6px;font-size:11.5px;line-height:1.5;color:var(--grey);text-align:center;margin:0;}

/* ----- 5. TIER ESCALATION across five cards -----
   The escalation now rises gently from Index to Advisory, and the strongest treatment is
   reserved for whichever card carries the Recommended ribbon (currently the Engine). With
   four tiers the old scale made tier four the boldest card, which quietly out-shouted the
   ribbon sitting on tier three. One visual anchor per grid, and it is the ribboned one. */
.tier-card.tier-e1{border:1px solid var(--navy-line);background:var(--navy-card);}
.tier-card.tier-e2{
  border:1px solid rgba(248,207,64,0.18);
  background:linear-gradient(168deg, rgba(248,207,64,0.022), var(--navy-card) 58%);
}
.tier-card.tier-e3{
  border:1px solid rgba(248,207,64,0.26);
  background:linear-gradient(168deg, rgba(248,207,64,0.03), var(--navy-card) 58%);
}
.tier-card.tier-e4{
  border:1px solid rgba(248,207,64,0.34);
  background:linear-gradient(168deg, rgba(248,207,64,0.042), var(--navy-card) 60%);
}
.tier-card.tier-e5{
  border:1.5px solid rgba(248,207,64,0.46);
  background:linear-gradient(168deg, rgba(248,207,64,0.058), var(--navy-card) 62%);
}
.tier-card.tier-e1:hover{border-color:rgba(248,207,64,0.32);}
.tier-card.tier-e2:hover{border-color:rgba(248,207,64,0.40);}
.tier-card.tier-e3:hover{border-color:rgba(248,207,64,0.48);}
.tier-card.tier-e4:hover{border-color:rgba(248,207,64,0.56);}
.tier-card.tier-e5:hover{border-color:rgba(248,207,64,0.70);}
/* The ribboned card wins over the escalation scale, whichever position it sits in. */
.tier-card.popular,
.tier-card.popular:hover{
  border:2px solid var(--gold);
  box-shadow:0 14px 34px rgba(0,0,0,0.36), 0 0 22px rgba(248,207,64,0.16), inset 0 0 48px rgba(248,207,64,0.045);
  background:linear-gradient(168deg, rgba(248,207,64,0.085), var(--navy-card) 62%);
}

/* ----- AUDIT CARD SPOTLIGHT -----
   Fires once when someone arrives from the hero CTA, so the card they were sent to is
   obvious without a hard flash. Pale gold rather than white, to stay inside the palette. */
@keyframes viSpotlight{
  0%{box-shadow:0 0 0 0 rgba(255,241,194,0), 0 0 0 0 rgba(248,207,64,0);}
  16%{box-shadow:0 0 38px 10px rgba(255,241,194,0.42), 0 0 0 2px rgba(248,207,64,0.62);}
  52%{box-shadow:0 0 32px 7px rgba(255,241,194,0.3), 0 0 0 2px rgba(248,207,64,0.45);}
  100%{box-shadow:0 0 0 0 rgba(255,241,194,0), 0 0 0 0 rgba(248,207,64,0);}
}
.tier-card.is-spotlit{animation:viSpotlight 1.9s cubic-bezier(.3,0,.25,1) 1 both;}
@media(prefers-reduced-motion:reduce){
  /* No pulse, but still show which card was meant, held briefly by the same class. */
  .tier-card.is-spotlit{animation:none;box-shadow:0 0 0 2px rgba(248,207,64,0.6);}
}

/* ----- 6. ICON ANIMATIONS (hover only, one motion per icon) ----- */

/* Approach 01: dashboard bars rise */
@keyframes viBarRise{0%{transform:scaleY(0.18);}55%{transform:scaleY(1.22);}78%{transform:scaleY(0.94);}100%{transform:scaleY(1);}}
.ico-bars .b1{transform-origin:7px 17px;}
.ico-bars .b2{transform-origin:12px 17px;}
.ico-bars .b3{transform-origin:17px 17px;}
.approach-item:hover .ico-bars .bar,.ico-bars:hover .bar{animation:viBarRise .6s cubic-bezier(.34,1.3,.5,1) both;}
.approach-item:hover .ico-bars .b2,.ico-bars:hover .b2{animation-delay:.07s;}
.approach-item:hover .ico-bars .b3,.ico-bars:hover .b3{animation-delay:.14s;}

/* Approach 02: handset buzzes, alert dot pops */
@keyframes viBuzz{0%,100%{transform:rotate(0deg);}14%{transform:rotate(-7deg);}30%{transform:rotate(6deg);}46%{transform:rotate(-4.5deg);}62%{transform:rotate(3deg);}80%{transform:rotate(-1.5deg);}}
@keyframes viPing{0%{transform:scale(1);}30%{transform:scale(1.6);}62%{transform:scale(0.82);}100%{transform:scale(1);}}
.ico-alert .handset{transform-origin:12px 20px;}
.ico-alert .ping{transform-origin:17px 5px;}
.approach-item:hover .ico-alert .handset,.ico-alert:hover .handset{animation:viBuzz .7s ease-in-out both;}
.approach-item:hover .ico-alert .ping,.ico-alert:hover .ping{animation:viPing .7s cubic-bezier(.34,1.4,.5,1) both;}

/* Approach 03: scales tip, then level */
@keyframes viTipLevel{0%{transform:rotate(0deg);}22%{transform:rotate(-12deg);}48%{transform:rotate(8deg);}70%{transform:rotate(-4deg);}87%{transform:rotate(1.5deg);}100%{transform:rotate(0deg);}}
.ico-scales .beam{transform-origin:12px 7px;}
.approach-item:hover .ico-scales .beam,.ico-scales:hover .beam{animation:viTipLevel 1.15s cubic-bezier(.36,.07,.25,1) both;}

/* Approach 04: globe turns on its axis */
@keyframes viMeridian{0%{transform:scaleX(1);}24%{transform:scaleX(0.08);}50%{transform:scaleX(1);}74%{transform:scaleX(0.08);}100%{transform:scaleX(1);}}
.ico-globe .meridian{transform-origin:12px 12px;}
.approach-item:hover .ico-globe .meridian,.ico-globe:hover .meridian{animation:viMeridian 1.6s linear both;}

/* Tier icons: one motion each, same hover-plus-tap pattern as the approach and
   process icons above. The cog is drawn on a path whose bounding box is symmetrical
   about 12,12, so it turns on its own centre rather than wobbling round an offset one. */
@keyframes viTrendDraw{0%{stroke-dashoffset:24;}100%{stroke-dashoffset:0;}}
@keyframes viTrendTip{0%{opacity:0;transform:scale(.55);}100%{opacity:1;transform:scale(1);}}
@keyframes viCogTurn{0%{transform:rotate(0deg);}100%{transform:rotate(45deg);}}
@keyframes viSearchSweep{0%{transform:translate(0,0);}26%{transform:translate(-1.7px,-1px);}58%{transform:translate(1.5px,.8px);}82%{transform:translate(-.5px,-.2px);}100%{transform:translate(0,0);}}
@keyframes viJoin{0%{transform:scale(1);opacity:1;}18%{transform:scale(.78);opacity:.35;}58%{transform:scale(1.13);opacity:1;}100%{transform:scale(1);opacity:1;}}
@keyframes viCrownLift{0%{transform:translateY(0) scale(1);}34%{transform:translateY(-2.1px) scale(1.05);}66%{transform:translateY(.6px) scale(.99);}100%{transform:translateY(0) scale(1);}}
.ico-tier-index .trend{stroke-dasharray:24;}
.ico-tier-index .tip{transform-origin:17.9px 9px;}
.ico-tier-engine .cog{transform-origin:12px 12px;}
.ico-tier-audit .lens{transform-origin:12px 12px;}
.ico-tier-partner .mate{transform-origin:18.5px 12px;}
.ico-tier-advisory .crown{transform-origin:12px 19.1px;}
.tier-card:hover .ico-tier-index .trend,.ico-tier-index:hover .trend,.ico-tier-index.is-tapped .trend{animation:viTrendDraw .72s ease-out both;}
.tier-card:hover .ico-tier-index .tip,.ico-tier-index:hover .tip,.ico-tier-index.is-tapped .tip{animation:viTrendTip .34s ease-out both;animation-delay:.6s;}
.tier-card:hover .ico-tier-audit .lens,.ico-tier-audit:hover .lens,.ico-tier-audit.is-tapped .lens{animation:viSearchSweep .95s cubic-bezier(.4,0,.35,1) both;}
.tier-card:hover .ico-tier-engine .cog,.ico-tier-engine:hover .cog,.ico-tier-engine.is-tapped .cog{animation:viCogTurn .85s cubic-bezier(.45,.05,.2,1) both;}
.tier-card:hover .ico-tier-partner .mate,.ico-tier-partner:hover .mate,.ico-tier-partner.is-tapped .mate{animation:viJoin .8s cubic-bezier(.34,1.3,.5,1) both;}
.tier-card:hover .ico-tier-advisory .crown,.ico-tier-advisory:hover .crown,.ico-tier-advisory.is-tapped .crown{animation:viCrownLift .8s cubic-bezier(.34,1.2,.5,1) both;}

/* How It Works 01: the phone rings */
@keyframes viBubbleSettle{0%{transform:translateY(0) scale(1);}40%{transform:translateY(-0.7px) scale(1.02);}100%{transform:translateY(0) scale(1);}}
@keyframes viTypingDot{0%,100%{transform:translateY(0);opacity:0.45;}45%{transform:translateY(-1.5px);opacity:1;}}
@keyframes viReplyIn{0%{transform:scale(1) translateY(0);}34%{transform:scale(1.24) translateY(-0.7px);}68%{transform:scale(0.97) translateY(0);}100%{transform:scale(1) translateY(0);}}
.ico-chat .bubble-a{transform-origin:9.7px 8.6px;}
.ico-chat .dot{transform-origin:center;}
.ico-chat .bubble-b{transform-origin:20.1px 18.3px;}
.process-step:hover .ico-chat .bubble-a,.ico-chat:hover .bubble-a{animation:viBubbleSettle 1.4s cubic-bezier(.4,0,.3,1) both;}
.process-step:hover .ico-chat .dot,.ico-chat:hover .dot{animation:viTypingDot .78s cubic-bezier(.4,0,.4,1) both;}
.process-step:hover .ico-chat .d2,.ico-chat:hover .d2{animation-delay:.15s;}
.process-step:hover .ico-chat .d3,.ico-chat:hover .d3{animation-delay:.3s;}
.process-step:hover .ico-chat .bubble-b,.ico-chat:hover .bubble-b{animation:viReplyIn .72s cubic-bezier(.34,1.2,.5,1) both;animation-delay:.58s;}

/* How It Works 02: the audit page lifts and its lines are read off */
@keyframes viPageLift{0%{transform:translateY(0);}40%{transform:translateY(-1.7px);}100%{transform:translateY(0);}}
@keyframes viScan{0%{stroke-dashoffset:7;opacity:0.25;}25%{opacity:1;}100%{stroke-dashoffset:0;opacity:1;}}
.ico-doc .scan{stroke-dasharray:7;}
.process-step:hover .ico-doc .page,.ico-doc:hover .page{animation:viPageLift .7s ease-out both;}
.process-step:hover .ico-doc .scan,.ico-doc:hover .scan{animation:viScan .55s ease-out both;}
.process-step:hover .ico-doc .s2,.ico-doc:hover .s2{animation-delay:.15s;}

/* How It Works 03: the summit flag ripples */
@keyframes viFlagWave{0%,100%{transform:scaleX(1) skewY(0deg);}20%{transform:scaleX(0.52) skewY(-13deg);}45%{transform:scaleX(1.1) skewY(10deg);}70%{transform:scaleX(0.74) skewY(-6deg);}88%{transform:scaleX(1.04) skewY(3deg);}}
.ico-summit .flag{transform-origin:9.5px 3.95px;}
.process-step:hover .ico-summit .flag,.ico-summit:hover .flag{animation:viFlagWave 1s ease-in-out both;}

/* How It Works 04: the AI core pulses deeper */
@keyframes viAiGlow{
  0%{background:rgba(248,207,64,0.18);border-color:rgba(248,207,64,0.5);box-shadow:0 0 20px rgba(248,207,64,0.30);}
  45%{background:rgba(248,207,64,0.32);border-color:rgba(248,207,64,0.95);box-shadow:0 0 36px rgba(248,207,64,0.60), 0 0 0 5px rgba(248,207,64,0.10);}
  100%{background:rgba(248,207,64,0.18);border-color:rgba(248,207,64,0.5);box-shadow:0 0 20px rgba(248,207,64,0.30);}
}
@keyframes viSpark{0%{transform:scale(1) rotate(0deg);}42%{transform:scale(1.5) rotate(95deg);}72%{transform:scale(0.86) rotate(150deg);}100%{transform:scale(1) rotate(180deg);}}
.ico-ai .spark{transform-origin:18.8px 6px;}
.process-step:hover .ico-ai,.ico-ai:hover{animation:viAiGlow 1.1s ease-in-out both;}
.process-step:hover .ico-ai .spark,.ico-ai:hover .spark{animation:viSpark 1.1s cubic-bezier(.34,1.2,.5,1) both;}

@media(prefers-reduced-motion:reduce){
  .approach-icon *,.process-icon,.process-icon *,
  .tier-icon,.tier-icon *,.tp-icon,.tp-icon *{animation:none !important;}
}

/* ----- 7. CONTACT PANEL ----- */
.contact-list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:14px;}
.contact-list li{
  display:flex;flex-direction:column;gap:3px;margin-bottom:0;
  border-left:2px solid rgba(248,207,64,0.35);padding-left:15px;
}
.contact-list li a{font-size:14.5px;font-weight:700;color:var(--gold);text-decoration:none;word-break:break-word;}
.contact-list li a:hover{text-decoration:underline;}
.contact-list li span{font-size:13.5px;color:var(--grey-bright);line-height:1.6;}

/* ----- LOGO ASPECT LOCK -----
   The logo asset is 1909 x 144 (ratio 13.2569). Every instance is sized by WIDTH with
   height:auto, because the global img{max-width:100%} clamps width while a fixed height
   stays put, which stretches the logo vertically on narrow screens. Do not reintroduce a
   fixed height on these elements. ----- */
.nav-logo img,.footer-logo img,img.hero-logo{height:auto;aspect-ratio:1909/144;}

/* ----- 8c. HERO HEADLINE BREAKS ----- */
.br-m{display:none;}

/* ----- 8d + footer: stop the page overflowing sideways on small screens ----- */
.footer-links{flex-wrap:wrap;}

/* ----- COOKIE BANNER: keep it inside the viewport ----- */
.cookie-banner{
  left:50%;right:auto;
  transform:translateX(-50%);
  width:calc(100% - 32px);
  margin:0;
  bottom:16px;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  background:#0D1425;
}

/* ----- MOBILE AND TABLET ----- */
@media(max-width:820px){
  .nav-inner{gap:10px;}
  .nav-logo{flex:0 1 auto;min-width:0;display:block;line-height:0;}
  .nav-logo img{width:320px;max-width:100%;height:auto;}
  .footer-inner{justify-content:center;text-align:center;}
  .footer-links{justify-content:center;row-gap:12px;column-gap:20px;}
}
@media(max-width:640px){
  .nav-inner{padding:12px 12px;}
  .nav-logo img{width:250px;max-width:100%;height:auto;}
  .nav-cta{font-size:11px;padding:8px 13px;letter-spacing:0.2px;}
  .br-m{display:inline;}
  .br-d{display:none;}
  .hero h1{font-size:min(28px, calc((100vw - 44px) / 13));}
  .tier-cta{margin-top:20px;}
}
@media(max-width:359px){
  .sig-sku,.sig-head-product{width:74px;}
  .sig-status,.sig-head-status{width:86px;font-size:10px;padding:5px 6px;}
  .sig-row,.sig-head{gap:10px;}
  .signature{padding:22px 18px;}
}
@media(max-width:600px){
  .cookie-banner{
    width:calc(100% - 24px);
    padding:15px 16px 16px;
    gap:13px;
    border-radius:16px;
    max-height:calc(100vh - 28px);
  }
  .cookie-text{font-size:12.5px;line-height:1.55;}
  .cookie-actions{width:100%;gap:9px;}
  .cookie-btn{flex:1 1 0;padding:11px 10px;font-size:13px;}
}
/* ==========================================================================
   PHASE ONE AMENDMENTS
   ========================================================================== */

/* ----- WHAT WE DO: deliberately plain, no cards, no icons ----- */
.whatwedo{background:var(--navy);padding:88px 0;border-bottom:1px solid var(--navy-line);}
.wwd-title{font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-0.8px;line-height:1.2;color:var(--white);max-width:760px;margin-bottom:22px;}
.wwd-body{font-size:clamp(15px,1.6vw,17px);line-height:1.85;color:var(--grey-bright);max-width:820px;}
@media(max-width:640px){.whatwedo{padding:60px 0;}}

/* ----- HERO STRIP TOGGLE ----- */
.sig-toggle{display:flex;gap:22px;margin:0 0 18px;flex-wrap:wrap;}
.sig-tab{
  background:none;border:none;padding:0 0 5px;cursor:pointer;
  font-family:inherit;font-size:12.5px;font-weight:700;letter-spacing:0.4px;
  color:var(--grey);opacity:0.55;
  border-bottom:2px solid transparent;
  transition:color .18s ease, opacity .18s ease, border-color .18s ease;
}
.sig-tab:hover{opacity:0.85;color:var(--grey-bright);}
.sig-tab.is-active{color:var(--white);opacity:1;border-bottom-color:var(--gold);}
@media(max-width:640px){.sig-toggle{gap:16px;}.sig-tab{font-size:11.5px;}}

/* ----- EXPERIENCE LOGOS ----- */
.exp-logos{margin-top:34px;padding-top:28px;border-top:1px solid var(--navy-line);}
.exp-logos-label{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--grey);margin-bottom:18px;}
.exp-logos-row{display:flex;align-items:center;gap:34px;row-gap:22px;flex-wrap:wrap;}
.exp-logo{display:inline-flex;align-items:center;color:var(--grey-bright);opacity:0.72;transition:opacity .2s ease;}
.exp-logo:hover{opacity:1;}
.exp-logo img,.exp-logo .brand-logo-svg{display:block;width:auto;}
.exp-logo-zelus .brand-logo-svg{height:60px;}
.exp-logo-mp .brand-logo-svg{height:26px;}
.exp-logo-nb .brand-logo-svg{height:46px;}
@media(max-width:640px){
  .exp-logos-row{gap:14px;flex-wrap:nowrap;justify-content:space-between;}
  .exp-logo{flex:0 1 auto;min-width:0;}
  .exp-logo .brand-logo-svg{width:100%;height:auto;}
  .exp-logo-zelus{flex-basis:102px;}
  .exp-logo-mp{flex-basis:143px;}
  .exp-logo-nb{flex-basis:61px;}
}


/* ----- MISSION PANEL ----- */
.mission-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
#modal-mission .mission-sub{font-size:15px;line-height:1.75;color:var(--grey-bright);margin-bottom:30px;}
.mission-values{display:flex;flex-direction:column;gap:26px;}
.mission-value{border-left:2px solid rgba(248,207,64,0.35);padding-left:18px;}
.mission-value-num{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--gold);margin-bottom:7px;}
#modal-mission .mission-value h2{font-size:17px;font-weight:800;color:var(--white);margin:0 0 8px;border:none;padding:0;}
#modal-mission .mission-value p{font-size:14px;line-height:1.7;color:var(--grey-bright);margin:0;}

/* ----- MOBILE NAV MENU ----- */
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:38px;padding:0 9px;flex-shrink:0;
  background:rgba(255,255,255,0.04);border:1px solid var(--navy-line);border-radius:10px;
  cursor:pointer;
}
.burger-bar{display:block;height:2px;width:100%;background:var(--grey-bright);border-radius:2px;transition:transform .22s ease,opacity .18s ease;}
.nav-burger[aria-expanded="true"] .burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger[aria-expanded="true"] .burger-bar:nth-child(2){opacity:0;}
.nav-burger[aria-expanded="true"] .burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none;flex-direction:column;
  background:var(--navy-card);border-top:1px solid var(--navy-line);
  padding:8px 20px 18px;
}
.mobile-menu a{
  display:block;padding:15px 2px;font-size:15px;font-weight:600;color:var(--grey-bright);
  border-bottom:1px solid var(--navy-line);
}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a:active{color:var(--gold);}
@media(max-width:820px){
  .nav-burger{display:flex;}
  .mobile-menu.is-open{display:flex;}
}

/* ----- ONGOING INTELLIGENCE: eyebrow before the phone on mobile ----- */
@media(max-width:900px){
  .ongoing-visual{order:0;}
}

/* ----- TOUCH-TRIGGERED ICON ANIMATIONS -----
   Hover is not available on touch devices, so every icon animation also runs
   from an .is-tapped class applied on touchstart. Same keyframes, same timings. */
.ico-bars.is-tapped .bar{animation:viBarRise .6s cubic-bezier(.34,1.3,.5,1) both;}
.ico-bars.is-tapped .b2{animation-delay:.07s;}
.ico-bars.is-tapped .b3{animation-delay:.14s;}
.ico-alert.is-tapped .handset{animation:viBuzz .7s ease-in-out both;}
.ico-alert.is-tapped .ping{animation:viPing .7s cubic-bezier(.34,1.4,.5,1) both;}
.ico-scales.is-tapped .beam{animation:viTipLevel 1.15s cubic-bezier(.36,.07,.25,1) both;}
.ico-globe.is-tapped .meridian{animation:viMeridian 1.6s linear both;}
.ico-chat.is-tapped .bubble-a{animation:viBubbleSettle 1.4s cubic-bezier(.4,0,.3,1) both;}
.ico-chat.is-tapped .dot{animation:viTypingDot .78s cubic-bezier(.4,0,.4,1) both;}
.ico-chat.is-tapped .d2{animation-delay:.15s;}
.ico-chat.is-tapped .d3{animation-delay:.3s;}
.ico-chat.is-tapped .bubble-b{animation:viReplyIn .72s cubic-bezier(.34,1.2,.5,1) both;animation-delay:.58s;}
.ico-doc.is-tapped .page{animation:viPageLift .7s ease-out both;}
.ico-doc.is-tapped .scan{animation:viScan .55s ease-out both;}
.ico-doc.is-tapped .s2{animation-delay:.15s;}
.ico-summit.is-tapped .flag{animation:viFlagWave 1s ease-in-out both;}
.ico-ai.is-tapped{animation:viAiGlow 1.1s ease-in-out both;}
.ico-ai.is-tapped .spark{animation:viSpark 1.1s cubic-bezier(.34,1.2,.5,1) both;}
/* ----- SIGNATURE STRIP: widen the product column so longer product names
   (sportswear set) stay on one line and row heights stay even ----- */
.sig-sku,.sig-head-product{width:126px;}
@media(max-width:820px){
  .sig-sku,.sig-head-product{width:112px;}
  .sig-sku{font-size:12px;}
}
@media(max-width:640px){
  .sig-sku,.sig-head-product{width:108px;}
  .sig-sku{font-size:11px;}
  .sig-row,.sig-head{gap:9px;}
  .sig-status,.sig-head-status{width:92px;font-size:10px;padding:5px 7px;}
}
@media(max-width:359px){
  .sig-sku,.sig-head-product{width:96px;}
  .sig-sku{font-size:10px;}
  .sig-row,.sig-head{gap:7px;}
  .sig-status,.sig-head-status{width:72px;font-size:9px;padding:5px 4px;}
  .signature{padding:20px 14px;}
}
/* ==========================================================================
   PHASE ONE FOLLOW-UP AMENDMENTS
   ========================================================================== */

/* ----- HERO TAGLINE: hold on one line on desktop ----- */
@media(min-width:901px){
  .hero-tagline-c{max-width:none;white-space:nowrap;font-size:clamp(14px,1.45vw,17px);}
}

/* ----- APPROACH CHART LABELS: brighter, bolder, larger ----- */
.mockup-bar-label{font-size:11px;font-weight:700;color:var(--grey-bright);letter-spacing:0.2px;margin-top:6px;}
@media(max-width:640px){.mockup-bar-label{font-size:10.5px;font-weight:700;}}

/* ----- ONGOING INTELLIGENCE: eyebrow above phone on mobile only ----- */
.ongoing-eyebrow-m{display:none;}
@media(max-width:900px){
  .ongoing-grid{display:flex;flex-direction:column;gap:26px;align-items:stretch;}
  .ongoing-eyebrow-m{display:block;order:1;margin-bottom:-6px;}
  .ongoing-visual{order:2;}
  .ongoing-copy{order:3;}
  .ongoing-eyebrow-d{display:none;}
}

/* ----- MOBILE NAV: hamburger sits at the far left of the ribbon ----- */
@media(max-width:820px){
  .nav-inner{gap:12px;}
  .nav-burger{order:-1;margin-right:2px;}
  .nav-logo{order:0;flex:1 1 auto;min-width:0;}
  .nav-cta{order:1;}
}

/* ----- WHY TRUST THIS: room for the longer quote ----- */
.cred-quote br{line-height:0.6;}
/* ==========================================================================
   AMENDMENTS: partner positioning, objection block, values strip
   ========================================================================== */

/* ----- OBJECTION HANDLER, closing the Why Trust This section ----- */
.cred-objection{
  margin-top:54px;padding-top:34px;
  border-top:1px solid var(--navy-line);
  max-width:820px;
}
.cred-objection p{
  font-size:clamp(16px,1.9vw,19px);
  line-height:1.7;font-weight:500;color:var(--grey-bright);margin:0;
}
.cred-objection .em{color:var(--gold);font-weight:700;}
@media(max-width:640px){.cred-objection{margin-top:40px;padding-top:28px;}}

/* ----- HERO SUB-LINE: hold to two lines on desktop, balanced ----- */
@media(min-width:768px){
  .hero-sub{max-width:770px;text-wrap:balance;}
}
/* ----- NEWSLETTER: match the sub-line measure to the headline ----- */
.news-sub{max-width:none;}
@media(min-width:901px){
  /* Headline scales with its column so it never breaks onto a second line.
     The copy below is capped to the same measure so the two stay aligned. */
  .news-title{font-size:min(34px, calc(5.4vw - 28.5px));max-width:620px;white-space:nowrap;}
  .news-sub{max-width:min(620px, calc(97.5vw - 517px));text-wrap:pretty;}
}
/* ----- OPERATIONAL HEALTH CHART -----
   Bars are fixed pixel heights on a shared scale (11.2 weeks = 80px). Previously they were
   percentages of a flex container too short to hold them, so the browser shrank every bar
   to roughly the same size and the chart no longer reflected its own numbers. flex-shrink:0
   stops that recurring, and the equal label block keeps the baselines aligned when a label
   wraps to two lines on narrow screens. */
.mockup-chart{height:auto;align-items:flex-end;}
.mockup-bar-group{height:auto;justify-content:flex-end;}
.mockup-bar{flex-shrink:0;}
.mockup-bar-val{flex-shrink:0;}
.mockup-bar-label{
  flex-shrink:0;text-align:center;line-height:1.3;
  min-height:2.6em;display:flex;align-items:flex-start;justify-content:center;
}

/* ===== DEDICATED TIER PAGES =====
   Five full views inside the same file, routed by flat hash (#tier-index, #tier-audit,
   #tier-engine, #tier-partner, #tier-advisory). The nav and footer sit outside both views
   so they persist, and only the body between them swaps. Same routing idea as the legal
   panels, but these are full views rather than an overlay, because a pricing page that
   opens in a modal cannot be linked, shared or indexed properly. */
#tier-view{display:none;}
#tier-view.is-active{display:block;}
.tier-page{display:none;}
.tier-page.is-active{display:block;}
.tier-more{
  display:block;text-align:center;font-size:12px;font-weight:700;letter-spacing:0.3px;
  color:var(--grey-bright);margin-top:14px;text-decoration:underline;text-underline-offset:3px;
}
.tier-more:hover{color:var(--gold);}
.tp-hero{padding:124px 0 64px;background:linear-gradient(168deg, rgba(248,207,64,0.055), var(--navy) 58%);border-bottom:1px solid var(--navy-line);}
.tp-back{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--grey-bright);margin-bottom:28px;}
.tp-back:hover{color:var(--gold);}
.tp-back svg{width:15px;height:15px;}
.tp-hero-grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:52px;align-items:start;}
@media(max-width:900px){.tp-hero-grid{grid-template-columns:1fr;gap:36px;}}
.tp-eyebrow-row{display:flex;align-items:center;gap:13px;margin-bottom:16px;flex-wrap:wrap;}
.tp-icon{width:50px;height:50px;border-radius:13px;background:rgba(248,207,64,0.12);border:1px solid rgba(248,207,64,0.35);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.tp-icon svg{width:28px;height:28px;}
.tp-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:800;}
.tp-flag{background:var(--gold);color:var(--navy);font-size:9.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:100px;}
.tp-name{font-size:16px;font-weight:700;color:var(--grey-bright);letter-spacing:0.4px;margin-bottom:12px;}
.tp-title{font-size:clamp(27px,3.6vw,41px);font-weight:800;letter-spacing:-1px;line-height:1.16;margin-bottom:22px;text-wrap:balance;}
.tp-price{font-size:37px;font-weight:900;color:var(--gold);margin-bottom:26px;line-height:1.1;}
.tp-price span{font-size:14px;font-weight:500;color:var(--grey-bright);}
.tp-promises{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:32px;}
.tp-promises li{display:flex;gap:11px;font-size:15px;color:var(--white);line-height:1.6;}
.tp-tick{width:18px;height:18px;color:var(--gold);flex-shrink:0;margin-top:3px;}
.tp-cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.tp-note{font-size:12px;color:var(--grey);margin:0;}
.tp-section{padding:66px 0;border-bottom:1px solid var(--navy-line);}
.tp-h2{font-size:clamp(20px,2.3vw,26px);font-weight:800;letter-spacing:-0.5px;margin-bottom:24px;text-wrap:balance;}
.tp-body p{font-size:15.5px;color:var(--grey-bright);line-height:1.9;margin-bottom:18px;max-width:830px;text-wrap:pretty;}
.tp-body p:last-child{margin-bottom:0;}
.tp-incl{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:15px 36px;}
@media(max-width:780px){.tp-incl{grid-template-columns:1fr;}}
.tp-incl li{display:flex;gap:11px;font-size:14.5px;color:#dde0f7;line-height:1.7;font-weight:600;}
.tp-incl li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:9px;}
.tp-phases{display:grid;gap:14px;}
.tp-phase{display:grid;grid-template-columns:34px 1fr;gap:17px;align-items:start;background:var(--navy-card);border:1px solid var(--navy-line);border-radius:14px;padding:20px 22px;}
.tp-phase-num{width:34px;height:34px;border-radius:50%;background:rgba(248,207,64,0.1);border:1px solid rgba(248,207,64,0.3);color:var(--gold);font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.tp-phase h4{font-size:15.5px;font-weight:700;margin-bottom:6px;}
.tp-phase p{font-size:14px;color:var(--grey-bright);line-height:1.7;}
.tp-fit{list-style:none;display:grid;gap:13px;max-width:860px;}
.tp-fit li{display:flex;gap:12px;font-size:15px;color:var(--grey-bright);line-height:1.75;}
.tp-faq{max-width:860px;}
.tp-faq details{border-bottom:1px solid var(--navy-line);padding:17px 0;}
.tp-faq details:first-child{border-top:1px solid var(--navy-line);}
.tp-faq summary{font-size:15.5px;font-weight:700;color:#fff;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;}
.tp-faq summary::-webkit-details-marker{display:none;}
.tp-faq summary::after{content:"+";color:var(--gold);font-size:21px;font-weight:700;line-height:1;flex-shrink:0;}
.tp-faq details[open] summary::after{content:"\2212";}
.tp-faq p{font-size:14.5px;color:var(--grey-bright);line-height:1.8;margin-top:12px;max-width:790px;}
.tp-close{text-align:center;padding:76px 0 88px;background:linear-gradient(135deg, rgba(248,207,64,0.06), var(--navy));border-top:1px solid var(--navy-line);}
.tp-close h2{font-size:clamp(23px,3.1vw,33px);font-weight:800;letter-spacing:-0.8px;margin-bottom:14px;text-wrap:balance;}
.tp-close p{font-size:15.5px;color:var(--grey-bright);max-width:640px;margin:0 auto 30px;}
.tp-close .tp-cta-row{justify-content:center;}
/* The note inside the closing CTA is a <p>, so it was inheriting .tp-close p and its
   margin:0 auto, which ate the free space and shoved the button off centre. */
.tp-close .tp-note{max-width:none;margin:0;}
.tp-section:last-of-type{border-bottom:none;}
@media(max-width:640px){
  .tp-hero{padding:104px 0 48px;}
  .tp-section{padding:50px 0;}
  .tp-close{padding:56px 0 64px;}
  .tp-cta-row .btn-primary,.tp-cta-row .btn-secondary{width:100%;justify-content:center;}
  .tp-note{width:100%;text-align:center;}
}
/* ----- preview graphics, built in CSS in the site's own navy and gold ----- */
.tp-preview{background:var(--navy-card);border:1px solid var(--navy-line);border-radius:16px;overflow:hidden;box-shadow:0 20px 46px rgba(0,0,0,0.42);}
.tp-preview-bar{display:flex;align-items:center;gap:6px;padding:11px 15px;border-bottom:1px solid var(--navy-line);background:var(--navy-deep);}
.pv-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.14);flex-shrink:0;}
.pv-label{margin-left:9px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--grey);font-weight:800;}
.tp-preview-body{padding:20px 20px 22px;}
.tp-preview-caption{font-size:11.5px;color:var(--grey);margin-top:13px;text-align:center;line-height:1.6;}
.pv-score-num{font-size:40px;font-weight:900;color:var(--gold);line-height:1;}
.pv-score-num span{font-size:16px;font-weight:600;color:var(--grey-bright);}
.pv-score-lab{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--grey);font-weight:800;margin-top:7px;}
.pv-track{height:7px;border-radius:100px;background:rgba(255,255,255,0.07);margin:14px 0 18px;overflow:hidden;}
.pv-fill{height:100%;border-radius:100px;background:var(--gold);}
.pv-rows{display:flex;flex-direction:column;gap:10px;}
.pv-row{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#dde0f7;line-height:1.5;}
.pv-tag{font-size:8.5px;font-weight:800;letter-spacing:0.8px;text-transform:uppercase;padding:3px 7px;border-radius:5px;flex-shrink:0;white-space:nowrap;}
.pv-red{background:rgba(229,73,73,0.14);color:#ff8b8b;border:1px solid rgba(229,73,73,0.3);}
.pv-amber{background:rgba(248,207,64,0.12);color:var(--gold);border:1px solid rgba(248,207,64,0.3);}
.pv-green{background:rgba(76,175,80,0.12);color:#7fdc84;border:1px solid rgba(76,175,80,0.3);}
.pv-grid3{display:grid;grid-template-columns:1fr 1.5fr auto;gap:9px 12px;align-items:center;}
.pv-head{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:var(--grey-dim);font-weight:800;padding-bottom:8px;border-bottom:1px solid var(--navy-line);}
.pv-cell{font-size:11.5px;color:#dde0f7;line-height:1.5;padding:4px 0;}
.pv-cell.pv-sku{font-weight:700;color:#fff;font-size:11px;letter-spacing:0.3px;}
.pv-cell.pv-cost{color:#ff8b8b;font-weight:800;text-align:right;white-space:nowrap;}
.pv-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--navy-line);font-size:11.5px;color:var(--grey-bright);}
.pv-total strong{font-size:17px;color:var(--gold);font-weight:900;}
.pv-trig{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:11.5px;color:#dde0f7;}
.pv-trig:last-of-type{border-bottom:none;}
.pv-switch{width:26px;height:14px;border-radius:100px;background:rgba(248,207,64,0.3);position:relative;flex-shrink:0;}
.pv-switch::after{content:"";position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:var(--gold);}
.pv-alert{margin-top:14px;padding:11px 13px;border-radius:10px;background:rgba(248,207,64,0.07);border:1px solid rgba(248,207,64,0.24);font-size:11.5px;color:#dde0f7;line-height:1.55;}
.pv-alert b{color:var(--gold);}
.pv-bars{display:flex;align-items:flex-end;gap:10px;height:96px;margin-bottom:12px;}
.pv-barcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;}
.pv-bar{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg, var(--gold), rgba(248,207,64,0.35));flex-shrink:0;}
.pv-barlab{font-size:8.5px;color:var(--grey-dim);font-weight:700;letter-spacing:0.5px;flex-shrink:0;}
.pv-kpis{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--navy-line);padding-top:13px;}
.pv-kpi{flex:1 1 90px;}
.pv-kpi b{display:block;font-size:17px;color:var(--gold);font-weight:900;line-height:1.2;}
.pv-kpi span{font-size:9.5px;letter-spacing:0.9px;text-transform:uppercase;color:var(--grey-dim);font-weight:700;}
.pv-scen{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.pv-scen-col{background:rgba(255,255,255,0.025);border:1px solid var(--navy-line);border-radius:10px;padding:12px 10px;text-align:center;}
.pv-scen-col.is-mid{border-color:rgba(248,207,64,0.4);background:rgba(248,207,64,0.05);}
.pv-scen-col h5{font-size:9px;letter-spacing:0.9px;text-transform:uppercase;color:var(--grey);font-weight:800;margin-bottom:8px;}
.pv-scen-col b{display:block;font-size:18px;font-weight:900;color:#fff;line-height:1.2;}
.pv-scen-col.is-mid b{color:var(--gold);}
.pv-scen-col span{font-size:9.5px;color:var(--grey-dim);font-weight:700;}
.pv-foot{margin-top:13px;font-size:11px;color:var(--grey);line-height:1.6;}
