/* styles.css — extracted from index.html */
:root{
  --navy:#0D2438;
  --navy-2:#123353;
  --navy-3:#1A4270;
  --blueprint:#7FB2E5;
  --blueprint-dim:rgba(127,178,229,0.28);
  --blueprint-faint:rgba(127,178,229,0.12);
  --paper:#FFFFFF;
  --paper-2:#F1F4F7;
  --ink:#101820;
  --steel:#55677A;
  --steel-light:#8695A4;
  --safety:#FF5A1F;
  --safety-dark:#DC4611;
  --line:#D8E0E8;
  --radius:2px;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

img,svg{display:block;max-width:100%;}

a{color:inherit;}

button{
  font:inherit;
  border:none;
  background:none;
  cursor:pointer;
}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}

h1,h2,h3,.display{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.05;
}

.mono{
  font-family:'IBM Plex Mono',monospace;
  letter-spacing:0.04em;
}

.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:10px;
}

.eyebrow::before{
  content:"";
  width:22px;
  height:1px;
  background:currentColor;
  display:inline-block;
}

/* ---------- Header ---------- */
header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(13,36,56,0.96);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(127,178,229,0.18);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
}

.logo{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  font-size:22px;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--paper);
  display:flex;
  align-items:baseline;
  gap:2px;
}
.logo span{color:var(--safety);}

.header-cta{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  font-weight:500;
  color:var(--navy);
  background:var(--safety);
  padding:11px 20px;
  border-radius:var(--radius);
  text-decoration:none;
  letter-spacing:0.03em;
  transition:background .15s ease;
}
.header-cta:hover{background:var(--safety-dark);}

/* ---------- Hero ---------- */
.hero{
  background:var(--navy);
  color:var(--paper);
  position:relative;
  overflow:hidden;
  padding:88px 0 0;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--blueprint-faint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint-faint) 1px, transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}

.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:56px;
  align-items:center;
  padding-bottom:70px;
}

.hero-eyebrow{color:var(--blueprint);margin-bottom:22px;}

.hero h1{
  font-size:clamp(38px,5vw,58px);
  margin-bottom:22px;
}
.hero h1 .accent{color:var(--safety);}

.hero p.lede{
  font-size:18px;
  color:#C7D6E3;
  max-width:520px;
  margin-bottom:34px;
}

.hero-ctas{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:38px;
}

.btn{
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  font-weight:500;
  letter-spacing:0.03em;
  padding:15px 26px;
  border-radius:var(--radius);
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
  transition:all .15s ease;
}
.btn-primary{background:var(--safety);color:var(--navy);}
.btn-primary:hover{background:var(--safety-dark);}
.btn-ghost{border-color:rgba(255,255,255,0.35);color:var(--paper);}
.btn-ghost:hover{border-color:var(--paper);}

.hero-proof{
  display:flex;
  gap:32px;
  flex-wrap:wrap;
  padding-top:26px;
  border-top:1px solid rgba(127,178,229,0.2);
}
.hero-proof div{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--blueprint);letter-spacing:0.02em;}
.hero-proof strong{display:block;color:var(--paper);font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;letter-spacing:0;}

/* Blueprint diagram (signature element) */
.blueprint{
  position:relative;
  border:1px solid var(--blueprint-dim);
  background:var(--navy-2);
  padding:26px 22px 22px;
}
.blueprint-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;
  color:var(--blueprint);
  letter-spacing:0.1em;
  display:flex;
  justify-content:space-between;
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:1px dashed var(--blueprint-dim);
}
.bp-block{
  border:1px dashed var(--blueprint-dim);
  padding:12px 14px;
  margin-bottom:10px;
  position:relative;
}
.bp-block .tag{
  font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;
  color:var(--blueprint);
  letter-spacing:0.08em;
  display:block;
  margin-bottom:4px;
}
.bp-block .name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:17px;
  font-weight:600;
  color:var(--paper);
  text-transform:uppercase;
}
.bp-row{display:flex;gap:10px;}
.bp-row .bp-block{flex:1;}
.bp-dims{
  display:flex;
  justify-content:space-between;
  margin-top:16px;
  padding-top:12px;
  border-top:1px dashed var(--blueprint-dim);
  font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;
  color:var(--steel-light);
  letter-spacing:0.05em;
}

/* ---------- Sections generic ---------- */
section{padding:96px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head .eyebrow{color:var(--safety);margin-bottom:16px;}
.section-head h2{font-size:clamp(30px,3.4vw,42px);color:var(--ink);}
.section-head p{color:var(--steel);font-size:17px;margin-top:14px;}

/* ---------- Mission / founder note ---------- */
.mission{
  background:var(--navy);
  color:var(--paper);
  position:relative;
  overflow:hidden;
}
.mission::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--blueprint-faint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint-faint) 1px, transparent 1px);
  background-size:44px 44px;
  pointer-events:none;
}
.mission-inner{
  position:relative;
  max-width:820px;
}
.mission-founder{
  display:flex;
  gap:34px;
  align-items:flex-start;
}
.founder-photo{
  flex-shrink:0;
  width:180px;
  height:210px;
  border:1px solid rgba(127,178,229,0.35);
  position:relative;
  overflow:hidden;
}
.founder-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.founder-photo span{
  display:none;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;
  letter-spacing:0.08em;
  color:var(--blueprint);
  background:
    linear-gradient(var(--blueprint-faint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint-faint) 1px, transparent 1px);
  background-size:24px 24px;
  padding:16px;
  line-height:1.6;
}
.mission .eyebrow{color:var(--blueprint);margin-bottom:22px;}
.mission-quote{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
  font-size:clamp(22px,2.6vw,30px);
  line-height:1.3;
  color:var(--paper);
  margin-bottom:26px;
}
.mission-quote .accent{color:var(--safety);}
.mission-sig{
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:22px;
  border-top:1px solid rgba(127,178,229,0.2);
}
.mission-sig .mono{font-size:12.5px;color:var(--blueprint);letter-spacing:0.05em;}
.mission-sig strong{
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:17px;
  font-weight:700;
  color:var(--paper);
  text-transform:uppercase;
  letter-spacing:0.02em;
}

/* ---------- Problem / comparison ---------- */
.compare{
  background:var(--paper-2);
}
.compare-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.compare-col{
  background:var(--paper);
  padding:32px 26px;
}
.compare-col.highlight{
  background:var(--navy);
  color:var(--paper);
}
.compare-col .ctag{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  letter-spacing:0.08em;
  color:var(--steel-light);
  margin-bottom:8px;
  display:block;
}
.compare-col.highlight .ctag{color:var(--blueprint);}
.compare-col h3{
  font-size:23px;
  margin-bottom:18px;
}
.compare-col .price{
  font-family:'IBM Plex Mono',monospace;
  font-size:15px;
  color:var(--steel);
  margin-bottom:20px;
}
.compare-col.highlight .price{color:#C7D6E3;}
.compare-col ul{list-style:none;}
.compare-col li{
  font-size:14.5px;
  padding:9px 0;
  border-top:1px solid var(--line);
  color:var(--steel);
  display:flex;
  gap:10px;
}
.compare-col.highlight li{border-top:1px solid rgba(127,178,229,0.2);color:#C7D6E3;}
.compare-col li:first-of-type{border-top:none;}
.mark{font-family:'IBM Plex Mono',monospace;font-weight:600;}
.mark.no{color:#B7472A;}
.mark.yes{color:var(--safety);}

/* ---------- Spec sheet (what's included) ---------- */
.spec-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid var(--line);
}
.spec-item{
  display:flex;
  gap:20px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.spec-item:nth-child(odd){padding-right:32px;border-right:1px solid var(--line);} 
.spec-item:nth-child(even){padding-left:32px;}
.spec-num{
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  color:var(--safety);
  padding-top:3px;
  flex-shrink:0;
  width:34px;
}
.spec-item h4{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:19px;
  text-transform:uppercase;
  margin-bottom:6px;
}
.spec-item p{color:var(--steel);font-size:14.5px;}

/* ---------- Timeline ---------- */
.timeline-wrap{
  background:var(--navy);
  color:var(--paper);
}
.timeline-wrap .section-head h2{color:var(--paper);} 
.timeline-wrap .section-head p{color:#C7D6E3;} 
.timeline-wrap .eyebrow{color:var(--blueprint);} 

.timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--blueprint-dim);
  position:relative;
}
.timeline::after{
  content:"";
  position:absolute;
  top:-1px;left:0;
  height:1px;
  background:var(--safety);
  width:100%;
}
.t-step{
  padding:26px 24px 0 0;
  border-left:1px solid var(--blueprint-dim);
  position:relative;
}
.t-step:first-child{border-left:none;padding-left:0;}
.t-step:not(:first-child){padding-left:24px;}
.t-day{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  color:var(--safety);
  letter-spacing:0.08em;
  margin-bottom:10px;
  display:block;
}
.t-step h4{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:19px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.t-step p{font-size:14px;color:#B9CAD8;}

/* ---------- Pricing ---------- */
.pricing{
  background:var(--paper-2);
}
.billing-toggle{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-bottom:28px;
}
.billing-btn{
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  letter-spacing:0.02em;
  padding:10px 22px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
}
.billing-btn:hover{border-color:var(--navy-3);}
.billing-btn.is-active{
  background:var(--safety);
  border-color:var(--safety);
  color:var(--navy);
  font-weight:600;
}
.billing-save{
  font-size:11px;
  background:var(--navy);
  color:var(--safety);
  padding:2px 6px;
  margin-left:6px;
  vertical-align:middle;
}
.billing-btn.is-active .billing-save{background:var(--navy);}
.price-card{
  background:var(--navy);
  color:var(--paper);
  max-width:760px;
  margin:0 auto;
  padding:52px 56px;
  position:relative;
  border:1px solid var(--navy-3);
}
.price-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px dashed var(--blueprint-dim);
  pointer-events:none;
}
.price-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:30px;
  flex-wrap:wrap;
  gap:20px;
}
.price-figure{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  font-size:64px;
  line-height:1;
}
.price-figure sup{font-size:24px;font-family:'IBM Plex Mono',monospace;font-weight:500;vertical-align:top;position:relative;top:8px;}
.price-sub{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--blueprint);margin-top:6px;}
.price-setup{
  text-align:right;
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  color:#C7D6E3;
}
.price-setup strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:26px;color:var(--paper);font-weight:700;}

.price-includes{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 24px;
  margin:28px 0 34px;
  padding-top:26px;
  border-top:1px solid rgba(127,178,229,0.2);
}
.price-includes li{
  font-size:14.5px;
  color:#DCE7EF;
  display:flex;
  gap:9px;
}
.price-includes li::before{
  content:"—";
  color:var(--safety);
  flex-shrink:0;
}

.price-guarantee{
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;
  color:var(--blueprint);
  margin-bottom:26px;
  letter-spacing:0.02em;
}

/* ---------- Growth path ---------- */
.growth{
  padding-top:90px;
}
.growth-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:60px;
  align-items:start;
}
.growth-cards{
  display:flex;
  flex-direction:column;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.growth-card{
  background:var(--paper);
  padding:22px 24px;
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.growth-card .gnum{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  color:var(--safety);
  padding-top:4px;
}
.growth-card h4{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:18px;
  text-transform:uppercase;
  margin-bottom:4px;
}
.growth-card p{font-size:14px;color:var(--steel);}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);}
.faq-item{
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.faq-item h4{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  font-size:19px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.faq-item p{color:var(--steel);font-size:14.5px;max-width:640px;}

/* ---------- Final CTA ---------- */
.final-cta{
  background:var(--navy);
  color:var(--paper);
  text-align:center;
  padding:110px 0;
  position:relative;
  overflow:hidden;
}
.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--blueprint-faint) 1px, transparent 1px),
    linear-gradient(90deg, var(--blueprint-faint) 1px, transparent 1px);
  background-size:44px 44px;
}
.final-cta .wrap{position:relative;}
.final-cta h2{font-size:clamp(30px,4vw,46px);max-width:680px;margin:0 auto 18px;color:var(--paper);} 
.final-cta p{color:#C7D6E3;max-width:520px;margin:0 auto 34px;font-size:16px;}

footer{
  background:var(--navy);
  border-top:1px solid rgba(127,178,229,0.18);
  padding:34px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}
.footer-inner p{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  color:var(--steel-light);
}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .compare-grid{grid-template-columns:1fr;}
  .compare-col:nth-child(2){order:-1;}
  .spec-list{grid-template-columns:1fr;}
  .spec-item:nth-child(odd){padding-right:0;border-right:none;}
  .spec-item:nth-child(even){padding-left:0;}
  .timeline{grid-template-columns:1fr 1fr;}
  .growth-grid{grid-template-columns:1fr;}
  .price-card{padding:36px 24px;}
  .price-includes{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}

a:focus-visible, button:focus-visible{
  outline:2px solid var(--safety);
  outline-offset:2px;
}

/* ---------- Audit Modal ---------- */
.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(9,20,32,0.75);
  backdrop-filter:blur(3px);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:200;
  padding:20px;
}
.modal-overlay.open{display:flex;}

.modal{
  background:var(--paper);
  max-width:520px;
  width:100%;
  max-height:90vh;
  overflow-y:auto;
  position:relative;
  border-top:4px solid var(--safety);
}

.modal-inner{padding:36px 32px 32px;}

.modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:32px;
  height:32px;
  border:none;
  background:var(--paper-2);
  color:var(--ink);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  border-radius:var(--radius);
}
.modal-close:hover{background:var(--line);} 

.modal h3{
  font-size:26px;
  margin-bottom:8px;
  padding-right:30px;
}
.modal .modal-sub{
  color:var(--steel);
  font-size:14.5px;
  margin-bottom:26px;
}

.field{margin-bottom:16px;}
.field label{
  display:block;
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--steel);
  margin-bottom:6px;
}
.field label .opt{
  text-transform:none;
  font-family:'Inter',sans-serif;
  letter-spacing:0;
  color:var(--steel-light);
}
.field input{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:'Inter',sans-serif;
  font-size:15px;
  color:var(--ink);
  background:var(--paper);
}
.field input:focus{
  outline:none;
  border-color:var(--safety);
}

.field-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:20px;
}
.field-check input[type="checkbox"]{
  width:17px;
  height:17px;
  margin-top:2px;
  flex-shrink:0;
  accent-color:var(--safety);
  cursor:pointer;
}
.field-check label{
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  color:var(--steel);
  line-height:1.4;
  cursor:pointer;
}

.modal-submit{
  width:100%;
  border:none;
  cursor:pointer;
  margin-top:6px;
}

.modal-fineprint{
  font-size:12px;
  color:var(--steel-light);
  margin-top:14px;
  text-align:center;
}

.modal-status{
  font-size:14px;
  margin-top:14px;
  display:none;
}
.modal-status.show{display:block;}
.modal-status.success{color:#1B7A3D;}
.modal-status.error{color:#B7472A;}

/* Pricing card dual CTA */
.price-ctas{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.price-ctas .btn{flex:1;text-align:center;min-width:200px;}
