@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;800;900&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:#0E1116;--ink-2:#141922;--ink-3:#1B2029;
  --bone:#E7E2D9;--mute:#9AA1AC;
  --ember:#C8412C;--ember-soft:#D9634F;--steel:#7897AB;
  --line:rgba(231,226,217,.10);--line-2:rgba(231,226,217,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--bone);
  font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
.mono{font-family:"IBM Plex Mono",monospace}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
a{color:inherit}
.ey{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--steel)}
.ey .dot{color:var(--ember)}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(14,17,22,.82);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
.brand{font-family:"Archivo",sans-serif;font-weight:900;font-size:22px;letter-spacing:-.02em;
  text-transform:uppercase;display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--bone)}
.logo{flex:none;display:block}
.nav{display:flex;gap:26px;align-items:center;margin-left:auto}
.navlink{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;
  text-decoration:none;color:var(--mute);transition:color .16s ease}
.navlink:hover,.navlink:focus-visible{color:var(--bone);outline:none}
.btn{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.04em;text-decoration:none;
  padding:11px 18px;border:1px solid var(--ember);color:var(--bone);background:transparent;cursor:pointer;
  transition:background .18s ease,color .18s ease;white-space:nowrap;display:inline-block}
.btn:hover,.btn:focus-visible{background:var(--ember);color:#fff;outline:none}
.bar .btn{padding:9px 15px}

/* hero (home) */
.hero{padding:84px 0 54px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
h1{font-family:"Archivo",sans-serif;font-weight:900;line-height:.98;letter-spacing:-.025em;
  margin:20px 0 0;font-size:clamp(40px,6.4vw,76px)}
h1 .em{color:var(--ember)}
.lede{margin:26px 0 0;font-size:18.5px;color:#CDC8BF;max-width:33ch}
.hero-cta{margin-top:34px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ghost{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.03em;color:var(--mute);
  text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px}
.ghost:hover{color:var(--bone)}

/* transcript */
.term{background:var(--ink-2);border:1px solid var(--line-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.term-top{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;
  border-bottom:1px solid var(--line);font-family:"IBM Plex Mono",monospace;font-size:11px;
  letter-spacing:.14em;color:var(--mute)}
.term-top .sev{color:var(--ember)}
.term-body{padding:20px 18px;font-family:"IBM Plex Mono",monospace;font-size:13.5px;line-height:1.75}
.ln{opacity:0;transform:translateY(4px);animation:rise .5s ease forwards}
.ln .who{color:var(--ember-soft)}
.ln.sys .who{color:var(--steel)}
.leak{color:var(--ember);border-bottom:1px dotted var(--ember)}
.ann{margin-top:14px;padding-top:13px;border-top:1px dashed var(--line-2);color:var(--steel);
  font-size:12px;letter-spacing:.05em}
.ann b{color:var(--ember);font-weight:500}
@keyframes rise{to{opacity:1;transform:none}}
.ln:nth-child(1){animation-delay:.15s}.ln:nth-child(2){animation-delay:.55s}
.ln:nth-child(3){animation-delay:.95s}.ln:nth-child(4){animation-delay:1.5s}
.cap{margin-top:12px;font-size:11px;letter-spacing:.14em;color:var(--mute);text-align:right}

/* bands + headings */
.band{padding:74px 0;border-top:1px solid var(--line)}
.band-head{max-width:62ch}
h2{font-family:"Archivo",sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.04;
  font-size:clamp(27px,3.6vw,40px);margin:14px 0 0}
.band p.sub{color:#C5C0B7;margin:18px 0 0;font-size:17.5px;max-width:60ch}
.pull{font-family:"Archivo",sans-serif;font-weight:800;letter-spacing:-.02em;
  font-size:clamp(24px,3.3vw,36px);line-height:1.12;margin:0;max-width:24ch}
.pull .em{color:var(--ember)}
.pull + p{color:#C5C0B7;margin-top:22px;max-width:56ch}

/* vectors */
.vex{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  margin-top:40px;border:1px solid var(--line)}
.vex .cell{background:var(--ink);padding:24px 22px;transition:background .18s ease}
.vex .cell:hover{background:var(--ink-2)}
.vex .n{font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--ember);letter-spacing:.1em}
.vex .t{font-family:"Archivo",sans-serif;font-weight:600;font-size:18px;margin:10px 0 6px;letter-spacing:-.01em}
.vex .d{font-size:14px;color:var(--mute);line-height:1.5}

/* steps */
.steps{margin-top:42px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:26px 0;
  border-bottom:1px solid var(--line);align-items:start}
.step .num{font-family:"IBM Plex Mono",monospace;color:var(--ember);font-size:14px;letter-spacing:.06em;padding-top:5px}
.step h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:21px;margin:0;letter-spacing:-.01em}
.step p{margin:8px 0 0;color:#C0BBB2;font-size:15.5px;max-width:60ch}

/* onshore */
.onshore{background:var(--ink-2);border-top:1px solid var(--line-2)}
.frameworks{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.chip{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;
  border:1px solid var(--line-2);padding:8px 13px;color:#CFCAC1}
.chip b{color:var(--steel);font-weight:400}

/* assurance */
.assure{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:6px}
.assure .a{background:var(--ink);padding:24px 20px}
.assure .a .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;
  color:var(--ember);text-transform:uppercase}
.assure .a .v{margin-top:10px;font-size:15px;color:#D3CEC5;line-height:1.45}

/* sectors */
.sectors{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:26px}
.sectors span{font-family:"Archivo",sans-serif;font-weight:700;font-size:clamp(20px,2.6vw,28px);
  color:var(--bone);letter-spacing:-.01em}
.sectors span .em{color:var(--ember)}

/* cta */
.cta{padding:88px 0;border-top:1px solid var(--line)}
.cta h2{font-size:clamp(30px,4.4vw,52px)}
.cta p{color:#C5C0B7;margin:20px 0 32px;max-width:52ch;font-size:18px}

/* page hero (sub pages) */
.phero{padding:70px 0 8px}
.phero h1{font-size:clamp(34px,5vw,60px)}
.phero .lede{max-width:58ch;font-size:19px}

/* prose (about + legal) */
.prose{max-width:70ch}
.prose h2{font-size:clamp(22px,2.6vw,28px);margin-top:44px}
.prose h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;
  margin:30px 0 0}
.prose p{color:#CBC6BD;margin:14px 0 0}
.prose ul{margin:14px 0 0;padding-left:20px;color:#CBC6BD}
.prose li{margin:7px 0}
.prose a{color:var(--ember-soft)}
.prose strong{color:var(--bone);font-weight:600}

/* draft banner + placeholder */
.note{border:1px solid var(--ember);background:rgba(200,65,44,.08);padding:14px 18px;
  font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.03em;color:var(--ember-soft);
  margin:26px 0 0}
.ph-fill{color:var(--steel);border-bottom:1px dashed var(--steel)}

/* contact */
.cgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;margin-top:16px;align-items:start}
.field{display:block;margin-top:18px}
.field span{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel);display:block;margin-bottom:8px}
.field input,.field textarea,.field select{width:100%;background:var(--ink-2);border:1px solid var(--line-2);
  color:var(--bone);font-family:"IBM Plex Sans",sans-serif;font-size:16px;padding:12px 14px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ember)}
.cinfo .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ember);margin-top:24px}
.cinfo .v{margin-top:7px;color:#D3CEC5;font-size:15.5px;line-height:1.5}
.cinfo .v a{color:var(--ember-soft)}

/* footer */
footer{border-top:1px solid var(--line);padding:34px 0;color:var(--mute);font-size:13.5px}
.foot{display:flex;justify-content:space-between;gap:16px 30px;flex-wrap:wrap;align-items:center}
.foot .mono{letter-spacing:.04em}
.foot .ph{color:var(--ember)}
.footlinks{display:flex;gap:20px;flex-wrap:wrap}
.footlinks a{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;
  text-decoration:none;color:var(--mute)}
.footlinks a:hover{color:var(--bone)}
.backlink{font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.04em;
  color:var(--mute);text-decoration:none;display:inline-block;margin-top:40px}
.backlink:hover{color:var(--bone)}

/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .vex{grid-template-columns:1fr 1fr}
  .assure{grid-template-columns:1fr 1fr}
  .cgrid{grid-template-columns:1fr;gap:36px}
  .nav{display:none}
}
@media (max-width:540px){
  .vex{grid-template-columns:1fr}.assure{grid-template-columns:1fr}
  .step{grid-template-columns:44px 1fr;gap:16px}.wrap{padding:0 20px}
}
@media (prefers-reduced-motion:reduce){
  .ln{opacity:1;transform:none;animation:none}
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---- audit additions ---- */
/* faq */
.faq{margin-top:34px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 0;font-family:"Archivo",sans-serif;font-weight:600;font-size:18px;letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ember);font-family:"IBM Plex Mono",monospace;font-size:22px;flex:none;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{padding:0 0 24px;color:#C5C0B7;max-width:72ch}
.faq .ans p{margin:0 0 10px}
.faq .ans a{color:var(--ember-soft)}

/* reassurance chips */
.reassure{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.reassure .r{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.03em;border:1px solid var(--line-2);padding:7px 12px;color:#CFCAC1}
.reassure .r b{color:var(--steel);font-weight:400}

/* sample report */
.illus{border:1px solid var(--steel);background:rgba(120,151,171,.09);padding:14px 18px;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--steel);letter-spacing:.02em;margin-top:24px}
.repmeta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}
.repmeta .m{background:var(--ink);padding:16px 18px}
.repmeta .m .k{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.12em;color:var(--steel);text-transform:uppercase}
.repmeta .m .v{margin-top:6px;font-size:15px;color:var(--bone)}
.sevtag{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;padding:3px 9px;border:1px solid;text-transform:uppercase}
.sevtag.crit{color:#E9705C;border-color:#C8412C}
.sevtag.high{color:#D98A4F;border-color:#B5722F}
.sevtag.med{color:#C9B24F;border-color:#8A7A2F}
.finding{border:1px solid var(--line-2);padding:24px;margin-top:20px;background:var(--ink-2)}
.finding .fh{display:flex;justify-content:space-between;align-items:center;gap:16px}
.finding h3{margin:0;font-family:"Archivo",sans-serif;font-weight:700;font-size:20px;letter-spacing:-.01em}
.finding .lbl{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--steel);letter-spacing:.1em;margin-top:18px;text-transform:uppercase}
.finding p{margin:6px 0 0;color:#C5C0B7;font-size:15px}
.finding pre{background:var(--ink);border:1px solid var(--line);padding:12px 14px;margin:8px 0 0;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:#CFCAC1;overflow-x:auto;white-space:pre-wrap;line-height:1.6}
.leadbox{border:1px solid var(--line-2);background:var(--ink-2);padding:28px;margin-top:40px}
.leadbox h3{margin:0;font-family:"Archivo",sans-serif;font-weight:700;font-size:20px}
.leadbox p{color:#C5C0B7;margin:10px 0 0;max-width:56ch}
.leadrow{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.leadrow input{flex:1;min-width:220px;background:var(--ink);border:1px solid var(--line-2);color:var(--bone);font-family:"IBM Plex Sans",sans-serif;font-size:15px;padding:12px 14px}
.leadrow input:focus{outline:none;border-color:var(--ember)}
.hp{position:absolute;left:-9999px}
@media(max-width:640px){.repmeta{grid-template-columns:1fr 1fr}}
