/* Read Analytics theme styles — consolidated & de-duplicated from the static build. Edit here to change global styling. */

:root{
    --bg:#08080a;
    --bg-2:#101012;
    --card:#16161a;
    --card-2:#1f1f24;
    --line:#2c2c33;
    --text:#ededef;
    --mute:#8e8e96;
    --signal:#ef3e36;
    --signal-dim:#6b1c1c;
    --signal-soft:#c52e2e;
  }

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
    font-family:'Sora',sans-serif;background:var(--bg);color:var(--text);
    line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  }

a{color:inherit;text-decoration:none;}

img{max-width:100%;display:block;}

.mono{font-family:'IBM Plex Mono',monospace;}

.serif{font-family:'Instrument Serif',serif;font-weight:400;}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

h1,h2,h3,h4{font-weight:600;line-height:1.18;letter-spacing:-0.02em;}

p{line-height:1.7;}

.btn{
    display:inline-flex;align-items:center;gap:9px;font-family:'Sora',sans-serif;
    font-weight:500;font-size:.94rem;padding:14px 26px;border-radius:10px;
    cursor:pointer;border:1px solid transparent;transition:.2s;
  }

.btn-signal{background:var(--signal);color:#1a0606;}

.btn-signal:hover{box-shadow:0 0 30px rgba(239,62,54,.4);transform:translateY(-2px);}

.btn-ghost{background:transparent;border-color:var(--line);color:var(--text);}

.btn-ghost:hover{border-color:var(--signal);color:var(--signal);}

header{
    position:sticky;top:0;z-index:60;background:rgba(8,8,10,.85);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  }

.nav{display:flex;align-items:center;justify-content:space-between;height:74px;}

.logo{display:flex;align-items:center;gap:11px;}

.logo-mark{
    width:42px;height:42px;border-radius:9px;background:#000;
    border:1px solid var(--line);overflow:hidden;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
  }

.logo-mark img{width:100%;height:100%;object-fit:cover;display:block;}

.logo-text b{font-size:1.06rem;display:block;line-height:1;}

.logo-text small{font-size:.68rem;color:var(--mute);font-family:'IBM Plex Mono',monospace;}

nav ul{display:flex;gap:28px;list-style:none;align-items:center;}

nav ul a{font-size:.9rem;color:var(--mute);transition:.2s;}

nav ul a:hover{color:var(--text);}

nav ul a.active{color:var(--signal);}

/* Services dropdown */
  nav ul li.has-dropdown{position:relative;}

nav ul li.has-dropdown > a .caret{
    display:inline-block;color:var(--mute);font-size:.65rem;margin-left:4px;
    transition:transform .2s,color .2s;
  }

nav ul li.has-dropdown:hover > a .caret,
  nav ul li.has-dropdown:focus-within > a .caret{
    color:var(--signal);transform:rotate(180deg);
  }

.dropdown{
    position:absolute;top:calc(100% + 12px);left:-16px;
    background:var(--card);border:1px solid var(--line);border-radius:12px;
    padding:10px;min-width:340px;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .2s,transform .2s,visibility .2s;
    z-index:100;box-shadow:0 14px 40px rgba(0,0,0,.4);
  }

nav ul li.has-dropdown:hover > .dropdown,
  nav ul li.has-dropdown:focus-within > .dropdown{
    opacity:1;visibility:visible;transform:translateY(0);
  }

/* Bridge the gap so hover doesn't break */
  nav ul li.has-dropdown::after{
    content:"";position:absolute;top:100%;left:0;width:100%;height:14px;
  }

.dropdown a{
    display:flex;align-items:flex-start;gap:12px;
    padding:12px 14px;border-radius:9px;color:var(--text);
    transition:.2s;font-size:.92rem;
  }

.dropdown a:hover{background:var(--bg-2);color:var(--text);}

.dropdown a:hover .dd-num{color:var(--signal);background:rgba(239,62,54,.1);border-color:var(--signal-dim);}

.dropdown .dd-num{
    font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--mute);
    background:var(--bg-2);border:1px solid var(--line);
    padding:5px 8px;border-radius:6px;flex-shrink:0;margin-top:1px;transition:.2s;
  }

.dropdown a b{display:block;font-size:.92rem;font-weight:500;margin-bottom:2px;color:var(--text);}

.dropdown a small{
    display:block;font-size:.78rem;color:var(--mute);
    font-family:'Sora',sans-serif;line-height:1.4;
  }

.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}

.burger span{width:24px;height:2px;background:var(--text);}

/* PAGE HERO */
  .page-hero{
    padding:80px 0 64px;text-align:center;position:relative;
    border-bottom:1px solid var(--line);overflow:hidden;
  }

.page-hero::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:720px;height:340px;
    background:radial-gradient(ellipse,rgba(239,62,54,.09) 0,transparent 70%);
    pointer-events:none;
  }

.crumb{
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);
    text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px;position:relative;
  }

.crumb a{color:var(--signal);transition:.2s;}

.crumb a:hover{text-decoration:underline;}

.page-hero h1{font-size:3.2rem;margin-bottom:18px;position:relative;}

.page-hero h1 .serif{font-style:italic;color:var(--signal);font-size:3.3rem;}

.page-hero p.lead{
    color:var(--mute);font-size:1.1rem;max-width:600px;margin:0 auto;position:relative;
  }

.sec-tag{
    font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--signal);
    margin-bottom:14px;display:flex;align-items:center;gap:8px;
  }

.sec-tag::before{content:"//";color:var(--mute);}

footer{border-top:1px solid var(--line);padding:54px 0 30px;margin-top:90px;}

.foot-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:40px;}

.foot-grid .logo-text small{color:var(--mute);}

.foot-about{margin-top:16px;font-size:.9rem;color:var(--mute);max-width:280px;}

.foot-col h4{
    font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--signal);
    margin-bottom:15px;text-transform:uppercase;
  }

.foot-col ul{list-style:none;}

.foot-col li{margin-bottom:9px;}

.foot-col a{font-size:.9rem;color:var(--mute);transition:.2s;}

.foot-col a:hover{color:var(--text);}

.foot-contact p{font-size:.9rem;color:var(--mute);margin-bottom:9px;}

.foot-contact b{color:var(--text);}

.foot-base{
    border-top:1px solid var(--line);padding-top:24px;display:flex;
    justify-content:space-between;flex-wrap:wrap;gap:10px;
    font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--mute);
  }

/* PLAIN ENGLISH CALLOUT - reused */
  .plain-en{
    background:var(--bg-2);border:1px solid var(--line);border-radius:18px;
    padding:46px;margin:60px 0;position:relative;overflow:hidden;
  }

.plain-en::before{
    content:"";position:absolute;top:-80px;right:-80px;width:300px;height:300px;
    background:radial-gradient(circle,rgba(239,62,54,.1),transparent 70%);
  }

.plain-en .inner{position:relative;display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center;}

.plain-en .quote-mark{
    font-family:'Instrument Serif',serif;font-size:6rem;line-height:.7;color:var(--signal);
  }

.plain-en h3{font-size:1.8rem;margin-bottom:14px;}

.plain-en h3 .serif{font-style:italic;color:var(--signal);}

.plain-en p{color:var(--mute);font-size:1rem;}

/* END CTA - reused */
  .end-cta{
    background:linear-gradient(180deg,var(--bg-2),var(--card));
    border:1px solid var(--line);border-radius:22px;padding:60px;text-align:center;
    position:relative;overflow:hidden;margin-top:60px;
  }

.end-cta::before{
    content:"";position:absolute;top:-100px;left:50%;transform:translateX(-50%);
    width:500px;height:300px;
    background:radial-gradient(ellipse,rgba(239,62,54,.14),transparent 70%);
  }

.end-cta > *{position:relative;z-index:2;}

.end-cta h2{font-size:2.3rem;margin-bottom:14px;}

.end-cta h2 .serif{font-style:italic;color:var(--signal);}

.end-cta p{color:var(--mute);max-width:480px;margin:0 auto 28px;}

.end-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

@media(max-width:920px){
    .foot-grid{grid-template-columns:1fr;}
    nav ul{display:none;}
    .burger{display:flex;}
    .page-hero h1{font-size:2.3rem;}
    .page-hero h1 .serif{font-size:2.4rem;}
    .plain-en .inner{grid-template-columns:1fr;}
    .plain-en{padding:30px;}
    .end-cta{padding:40px 24px;}

    /* Mobile menu - toggled by JS via .menu-open on body */
    .burger span{transition:transform .2s,opacity .2s;transform-origin:center;}
    body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    body.menu-open .burger span:nth-child(2){opacity:0;}
    body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    body.menu-open nav ul{
      display:flex;flex-direction:column;align-items:stretch;
      position:fixed;top:74px;left:0;right:0;
      background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
      padding:20px;gap:6px;z-index:99;
      box-shadow:0 14px 40px rgba(0,0,0,.5);
      max-height:calc(100vh - 74px);overflow-y:auto;
    }
    body.menu-open nav ul li{width:100%;}
    body.menu-open nav ul li > a{
      display:block;padding:14px 16px;font-size:1rem;border-radius:9px;
    }
    body.menu-open nav ul li > a:hover{background:var(--bg-2);}
    /* On mobile the dropdown sits inline under its parent, always visible */
    body.menu-open .has-dropdown::after{display:none;}
    body.menu-open .has-dropdown > a .caret{display:none;}
    body.menu-open .has-dropdown .dropdown{
      position:static;opacity:1;visibility:visible;transform:none;
      background:transparent;border:none;padding:4px 0 10px 12px;
      min-width:0;box-shadow:none;display:flex;flex-direction:column;gap:4px;
    }
    body.menu-open .has-dropdown .dropdown a{padding:10px 12px;}
    body.menu-open{overflow:hidden;}
  }

.about-section{padding:80px 0;border-bottom:1px solid var(--line);}

.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:54px;align-items:center;}

.about-grid.flip > div:first-child{order:2;}

.about-visual{
    border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);
  }

.about-visual .top-bar{display:flex;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);}

.about-visual .top-bar i{width:9px;height:9px;border-radius:50%;background:var(--card-2);}

.about-visual .ph{
    height:380px;display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    text-align:center;
    background:linear-gradient(rgba(239,62,54,.03),rgba(239,62,54,.03)),
      repeating-linear-gradient(0deg,#171b23,#171b23 22px,#1b2029 22px,#1b2029 44px);
  }

.about-section h2{font-size:2.3rem;margin-bottom:16px;}

.about-section h2 .serif{font-style:italic;color:var(--signal);font-size:2.4rem;}

.about-section p{color:var(--mute);margin-bottom:14px;font-size:1rem;}

.principles{padding:80px 0;border-bottom:1px solid var(--line);}

.principles h2{font-size:2.3rem;margin-bottom:14px;text-align:center;}

.principles h2 .serif{font-style:italic;color:var(--signal);font-size:2.4rem;}

.principles .lead{color:var(--mute);max-width:520px;margin:0 auto 50px;text-align:center;}

.prin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

.prin-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;
    transition:.2s;
  }

.prin-card:hover{border-color:var(--signal);transform:translateY(-4px);}

.prin-card .pn{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--signal);
    margin-bottom:14px;display:block;
  }

.prin-card h3{font-size:1.15rem;margin-bottom:8px;}

.prin-card p{color:var(--mute);font-size:.9rem;line-height:1.55;}

.stats-band{padding:60px 0;background:var(--bg-2);border-bottom:1px solid var(--line);}

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center;
    border:1px solid var(--line);border-radius:14px;overflow:hidden;}

.stat{padding:30px 20px;border-right:1px solid var(--line);}

.stat:last-child{border-right:none;}

.stat b{font-size:2rem;display:block;color:var(--signal);}

.stat small{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);}

@media(max-width:920px){
    .about-grid{grid-template-columns:1fr;}
    .about-grid.flip > div:first-child{order:0;}
    .prin-grid{grid-template-columns:1fr 1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;}
    .stat:nth-child(2){border-right:none;}
    .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line);}
    .about-section h2,.principles h2{font-size:1.9rem;}
  }

@media(max-width:520px){
    .prin-grid,.stats-grid{grid-template-columns:1fr;}
    .stat{border-right:none;border-bottom:1px solid var(--line);}
    .stat:last-child{border-bottom:none;}
  }

.svc-section{padding:80px 0;border-bottom:1px solid var(--line);}

.svc-section h2{font-size:2.4rem;margin-bottom:14px;}

.svc-section h2 .serif{font-style:italic;color:var(--signal);font-size:2.5rem;}

.svc-section .lead-p{color:var(--mute);font-size:1.05rem;max-width:560px;margin-bottom:32px;}

.svc-price{font-family:'IBM Plex Mono',monospace;color:var(--signal);font-size:1.1rem;font-weight:600;margin:-14px 0 22px;}

.svc-price small{color:var(--mute);font-size:.82rem;font-weight:400;margin-left:6px;}

.svc-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start;}

.svc-detail-grid.flip > div:first-child{order:2;}

.svc-detail-img{
    border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);
  }

.svc-detail-img .top-bar{display:flex;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);}

.svc-detail-img .top-bar i{width:9px;height:9px;border-radius:50%;background:var(--card-2);}

.svc-detail-img .ph{
    height:340px;display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    text-align:center;
    background:linear-gradient(rgba(239,62,54,.03),rgba(239,62,54,.03)),
      repeating-linear-gradient(0deg,#171b23,#171b23 22px,#1b2029 22px,#1b2029 44px);
  }

.includes-list{display:grid;gap:10px;margin-top:18px;}

.includes-row{
    display:flex;align-items:flex-start;gap:12px;padding:14px 16px;
    background:var(--card);border:1px solid var(--line);border-radius:10px;transition:.2s;
  }

.includes-row:hover{border-color:var(--signal);}

.includes-row .check{
    width:24px;height:24px;border-radius:6px;background:var(--signal);color:#1a0606;
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    font-size:.84rem;font-weight:700;margin-top:1px;
  }

.includes-row b{font-size:.96rem;display:block;margin-bottom:3px;}

.includes-row small{color:var(--mute);font-size:.86rem;}

.svc-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);}

.svc-meta span{
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    background:var(--card);border:1px solid var(--line);padding:6px 12px;border-radius:30px;
  }

.svc-meta span b{color:var(--signal);}

.offerings{padding:80px 0;}

.offerings h2{font-size:2.2rem;margin-bottom:14px;}

.offerings h2 .serif{font-style:italic;color:var(--signal);font-size:2.3rem;}

.offerings .lead-p{color:var(--mute);max-width:560px;margin-bottom:40px;}

.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}

.offer-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:24px;transition:.2s;
  }

.offer-card:hover{border-color:var(--signal);transform:translateY(-3px);}

.offer-card .num{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--signal);
    margin-bottom:12px;display:block;
  }

.offer-card h4{font-size:1.1rem;margin-bottom:8px;}

.offer-card p{color:var(--mute);font-size:.9rem;line-height:1.55;}

@media(max-width:920px){
    .svc-detail-grid{grid-template-columns:1fr;}
    .svc-detail-grid.flip > div:first-child{order:0;}
    .offer-grid{grid-template-columns:1fr;}
    .svc-section h2{font-size:1.9rem;}
  }

/* Intro block */
  .svc-intro{padding:80px 0;border-bottom:1px solid var(--line);}

.svc-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}

.svc-intro h2{font-size:2.1rem;margin-bottom:16px;}

.svc-intro h2 .serif{font-style:italic;color:var(--signal);font-size:2.2rem;}

.svc-intro p{color:var(--mute);margin-bottom:14px;font-size:1rem;line-height:1.75;}

.svc-intro .quick-facts{
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px;
  }

.svc-intro .quick-facts h4{
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--signal);
    text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px;
  }

.svc-intro .quick-facts dl{display:grid;gap:14px;}

.svc-intro .quick-facts dt{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--mute);
    text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;
  }

.svc-intro .quick-facts dd{color:var(--text);font-size:.94rem;font-weight:500;}

/* Signs block (who it's for) */
  .signs{padding:80px 0;border-bottom:1px solid var(--line);background:var(--bg-2);}

.signs h2{font-size:2.1rem;margin-bottom:14px;}

.signs h2 .serif{font-style:italic;color:var(--signal);}

.signs .lead{color:var(--mute);max-width:520px;margin-bottom:36px;}

.signs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}

.sign{
    display:flex;align-items:flex-start;gap:14px;padding:18px 20px;
    background:var(--card);border:1px solid var(--line);border-radius:12px;
    transition:.2s;
  }

.sign:hover{border-color:var(--signal);}

.sign .check{
    width:26px;height:26px;border-radius:7px;background:var(--signal);color:#1a0606;
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    font-size:.88rem;font-weight:700;margin-top:1px;
  }

.sign p{font-size:.95rem;color:var(--text);line-height:1.55;}

/* Covers block */
  .covers{padding:80px 0;border-bottom:1px solid var(--line);}

.covers h2{font-size:2.2rem;margin-bottom:14px;}

.covers h2 .serif{font-style:italic;color:var(--signal);font-size:2.3rem;}

.covers .lead{color:var(--mute);max-width:560px;margin-bottom:40px;}

.covers-grid{display:grid;gap:18px;}

.cover-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:32px;display:grid;grid-template-columns:60px 1fr;gap:24px;
    transition:.2s;
  }

.cover-card:hover{border-color:var(--signal);}

.cover-card .cn{
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--signal);
    background:rgba(239,62,54,.08);border:1px solid var(--signal-dim);
    padding:8px;border-radius:8px;text-align:center;align-self:flex-start;font-weight:500;
  }

.cover-card h3{font-size:1.25rem;margin-bottom:10px;}

.cover-card p{color:var(--mute);font-size:.96rem;line-height:1.7;margin-bottom:14px;}

.cover-card ul{list-style:none;display:grid;gap:8px;}

.cover-card ul li{
    font-size:.9rem;color:var(--text);padding-left:18px;position:relative;
  }

.cover-card ul li::before{
    content:"+";position:absolute;left:0;color:var(--signal);font-weight:600;
  }

/* Process steps */
  .process{padding:80px 0;border-bottom:1px solid var(--line);background:var(--bg-2);}

.process h2{font-size:2.1rem;margin-bottom:14px;text-align:center;}

.process h2 .serif{font-style:italic;color:var(--signal);}

.process .lead{color:var(--mute);max-width:520px;margin:0 auto 50px;text-align:center;}

.steps{display:grid;gap:18px;max-width:780px;margin:0 auto;}

.step{
    display:grid;grid-template-columns:60px 1fr;gap:24px;align-items:flex-start;
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:24px 28px;transition:.2s;position:relative;
  }

.step:hover{border-color:var(--signal);}

.step .sn{
    font-family:'IBM Plex Mono',monospace;font-size:1.2rem;color:var(--signal);
    font-weight:500;
  }

.step h4{font-size:1.1rem;margin-bottom:6px;}

.step p{color:var(--mute);font-size:.94rem;line-height:1.65;}

.step .step-meta{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--mute);
    text-transform:uppercase;letter-spacing:.08em;margin-top:8px;display:block;
  }

/* What you get */
  .deliver{padding:80px 0;border-bottom:1px solid var(--line);}

.deliver-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center;}

.deliver h2{font-size:2.1rem;margin-bottom:14px;}

.deliver h2 .serif{font-style:italic;color:var(--signal);}

.deliver > div p{color:var(--mute);margin-bottom:14px;}

.deliver-list{display:grid;gap:12px;}

.deliver-item{
    background:var(--card);border:1px solid var(--line);border-radius:12px;
    padding:18px 22px;
  }

.deliver-item b{font-size:1rem;display:block;margin-bottom:4px;}

.deliver-item small{color:var(--mute);font-size:.88rem;}

/* FAQ */
  .faq{padding:80px 0;border-bottom:1px solid var(--line);}

.faq h2{font-size:2.1rem;margin-bottom:14px;text-align:center;}

.faq h2 .serif{font-style:italic;color:var(--signal);}

.faq .lead{color:var(--mute);max-width:520px;margin:0 auto 40px;text-align:center;}

.faq-list{display:grid;gap:12px;max-width:780px;margin:0 auto;}

.faq-item{
    background:var(--card);border:1px solid var(--line);border-radius:12px;
    overflow:hidden;transition:.2s;
  }

.faq-item[open]{border-color:var(--signal-dim);}

.faq-item summary{
    padding:22px 26px;cursor:pointer;font-weight:500;font-size:1.02rem;
    list-style:none;display:flex;justify-content:space-between;align-items:center;
    gap:18px;transition:.2s;
  }

.faq-item summary::-webkit-details-marker{display:none;}

.faq-item summary::after{
    content:"+";color:var(--signal);font-size:1.4rem;font-weight:300;
    transition:transform .2s;flex-shrink:0;
  }

.faq-item[open] summary::after{transform:rotate(45deg);}

.faq-item summary:hover{color:var(--signal);}

.faq-item .faq-body{
    padding:0 26px 24px;color:var(--mute);font-size:.96rem;line-height:1.75;
  }

.faq-item .faq-body p{margin-bottom:12px;}

.faq-item .faq-body p:last-child{margin-bottom:0;}

/* Related services */
  .related-svc{padding:80px 0;}

.related-svc h2{font-size:2.1rem;margin-bottom:14px;text-align:center;}

.related-svc h2 .serif{font-style:italic;color:var(--signal);}

.related-svc .lead{color:var(--mute);max-width:520px;margin:0 auto 40px;text-align:center;}

.rel-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

.rel-svc{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:32px;transition:.2s;display:flex;flex-direction:column;
  }

.rel-svc:hover{border-color:var(--signal);transform:translateY(-4px);}

.rel-svc .rel-tag{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--signal);
    margin-bottom:14px;
  }

.rel-svc h3{font-size:1.4rem;margin-bottom:10px;}

.rel-svc h3 .serif{font-style:italic;color:var(--signal);}

.rel-svc p{color:var(--mute);font-size:.94rem;margin-bottom:20px;flex:1;}

.rel-svc .rel-arrow{
    font-family:'IBM Plex Mono',monospace;font-size:.84rem;color:var(--signal);
    display:inline-flex;align-items:center;gap:6px;transition:.2s;
  }

.rel-svc:hover .rel-arrow{gap:10px;}

@media(max-width:920px){
    .svc-intro-grid,.deliver-grid{grid-template-columns:1fr;}
    .signs-grid,.rel-svc-grid{grid-template-columns:1fr;}
    .cover-card{grid-template-columns:50px 1fr;gap:16px;padding:24px;}
    .step{grid-template-columns:50px 1fr;gap:16px;padding:20px;}
    .svc-intro h2,.signs h2,.covers h2,.process h2,.deliver h2,.faq h2,.related-svc h2{font-size:1.8rem;}
  }

/* FREE DOWNLOADS */
  .dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

.dl-card{display:flex;gap:18px;align-items:flex-start;background:var(--card);
    border:1px solid var(--line);border-radius:14px;padding:26px;transition:.2s;}

.dl-card:hover{border-color:var(--signal);transform:translateY(-4px);}

.dl-icon{width:52px;height:52px;border-radius:10px;flex-shrink:0;display:flex;
    align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;
    font-weight:600;font-size:.78rem;color:#fff;letter-spacing:.04em;}

.dl-icon.doc{background:#2b579a;}

.dl-icon.xls{background:#1d6f42;}

.dl-card h3{font-size:1.12rem;margin-bottom:6px;}

.dl-card p{color:var(--mute);font-size:.9rem;margin-bottom:10px;line-height:1.55;}

.dl-meta{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--mute);
    margin-bottom:14px;display:block;}

.dl-card .btn{padding:11px 20px;font-size:.88rem;}

.dl-free{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;
    color:#37c871;border:1px solid #2e7d4f;border-radius:20px;padding:2px 9px;margin-left:6px;
    vertical-align:middle;}

@media(max-width:920px){.dl-grid{grid-template-columns:1fr;}}

.blog-grid-wrap{padding:80px 0;}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

.post{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    overflow:hidden;transition:.2s;display:flex;flex-direction:column;
  }

.post:hover{border-color:var(--signal);transform:translateY(-5px);}

.post-img{height:200px;
    background:linear-gradient(rgba(239,62,54,.05),rgba(239,62,54,.05)),
      repeating-linear-gradient(45deg,#171b23,#171b23 16px,#1b2029 16px,#1b2029 32px);
    display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);
  }

.post-body{padding:24px;display:flex;flex-direction:column;flex:1;}

.post-meta{
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--signal);
    margin-bottom:14px;display:flex;justify-content:space-between;
  }

.post-meta span:last-child{color:var(--mute);}

.post h3{font-size:1.18rem;margin-bottom:10px;line-height:1.3;}

.post p{font-size:.9rem;color:var(--mute);margin-bottom:18px;flex:1;}

.post a.read{
    font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--signal);
    display:inline-flex;align-items:center;gap:6px;transition:.2s;
  }

.post a.read:hover{gap:10px;}

.featured-row{
    display:grid;grid-template-columns:1.6fr 1fr;gap:24px;margin-bottom:40px;
    background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  }

.featured-row .post-img{height:auto;min-height:280px;}

.featured-row .post-body{padding:36px;}

.featured-row .featured-tag{
    font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--signal);
    background:rgba(239,62,54,.1);border:1px solid var(--signal-dim);
    padding:5px 12px;border-radius:30px;display:inline-block;margin-bottom:14px;
  }

.featured-row h2{font-size:1.7rem;margin-bottom:12px;line-height:1.25;}

.featured-row p{font-size:.96rem;color:var(--mute);margin-bottom:18px;}

.newsletter{
    background:var(--bg-2);border:1px solid var(--line);border-radius:18px;
    padding:46px;margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:36px;
    align-items:center;
  }

.newsletter h3{font-size:1.6rem;margin-bottom:10px;}

.newsletter h3 .serif{font-style:italic;color:var(--signal);}

.newsletter p{color:var(--mute);font-size:.95rem;}

.nl-form{display:flex;gap:10px;}

.nl-form input{
    flex:1;background:var(--card);border:1px solid var(--line);color:var(--text);
    padding:13px 16px;border-radius:10px;font-family:'Sora',sans-serif;font-size:.94rem;
    outline:none;transition:.2s;
  }

.nl-form input:focus{border-color:var(--signal);}

@media(max-width:920px){
    .blog-grid{grid-template-columns:1fr;}
    .featured-row{grid-template-columns:1fr;}
    .newsletter{grid-template-columns:1fr;padding:30px;}
    .nl-form{flex-direction:column;}
  }

.article-hero{
    padding:64px 0 50px;text-align:left;position:relative;border-bottom:1px solid var(--line);
    overflow:hidden;
  }

.article-hero::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:720px;height:340px;
    background:radial-gradient(ellipse,rgba(239,62,54,.07) 0,transparent 70%);
    pointer-events:none;
  }

.article-hero .wrap{max-width:820px;position:relative;}

.article-hero .crumb{margin-bottom:18px;}

.article-hero h1{font-size:2.6rem;margin-bottom:18px;line-height:1.18;}

.article-hero h1 .serif{font-style:italic;color:var(--signal);font-size:2.7rem;}

.article-hero .article-meta{
    display:flex;gap:18px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;
    font-size:.78rem;color:var(--mute);margin-top:18px;align-items:center;
  }

.article-meta .tag{
    background:rgba(239,62,54,.1);border:1px solid var(--signal-dim);color:var(--signal);
    padding:5px 12px;border-radius:30px;
  }

.article-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--mute);}

.article-feature-img{
    max-width:820px;margin:40px auto 0;border:1px solid var(--line);border-radius:14px;
    overflow:hidden;
  }

.article-feature-img .ph{
    height:380px;display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    background:linear-gradient(rgba(239,62,54,.04),rgba(239,62,54,.04)),
      repeating-linear-gradient(45deg,#171b23,#171b23 18px,#1b2029 18px,#1b2029 36px);
  }

.article-body{padding:60px 0;}

.article-body .wrap{max-width:760px;}

.article-body p{
    color:var(--text);font-size:1.05rem;line-height:1.8;margin-bottom:22px;
  }

.article-body p.lead-graf{
    font-size:1.25rem;color:var(--text);line-height:1.6;font-weight:400;
    padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:32px;
  }

.article-body h2{
    font-size:1.7rem;margin-top:44px;margin-bottom:18px;
  }

.article-body h2 .serif{font-style:italic;color:var(--signal);}

.article-body h3{font-size:1.25rem;margin-top:30px;margin-bottom:12px;}

.article-body ul, .article-body ol{
    margin:18px 0 26px 22px;color:var(--text);
  }

.article-body li{margin-bottom:10px;line-height:1.7;}

.article-body ul li::marker{color:var(--signal);}

.article-body ol li::marker{color:var(--signal);font-family:'IBM Plex Mono',monospace;font-weight:500;}

.pull-quote{
    border-left:3px solid var(--signal);padding:6px 0 6px 24px;margin:36px 0;
    font-family:'Instrument Serif',serif;font-style:italic;font-size:1.5rem;
    line-height:1.4;color:var(--text);
  }

.pull-quote cite{
    display:block;font-family:'IBM Plex Mono',monospace;font-style:normal;
    font-size:.78rem;color:var(--mute);margin-top:10px;text-transform:uppercase;
    letter-spacing:.08em;
  }

.callout{
    background:var(--card);border:1px solid var(--line);border-radius:12px;
    padding:24px;margin:30px 0;
  }

.callout .lbl{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--signal);
    text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;
  }

.callout p{font-size:.96rem;margin-bottom:0;}

.placeholder-note{
    background:rgba(239,62,54,.06);border:1px dashed var(--signal-dim);
    border-radius:10px;padding:20px;margin:24px 0;
    font-family:'IBM Plex Mono',monospace;font-size:.86rem;color:var(--mute);
  }

.placeholder-note b{color:var(--signal);}

.article-end{
    border-top:1px solid var(--line);padding-top:30px;margin-top:50px;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
  }

.article-end .share{
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
  }

.article-end .share a{color:var(--signal);margin-left:10px;}

.related{padding:60px 0;background:var(--bg-2);border-top:1px solid var(--line);}

.related h3{font-size:1.4rem;margin-bottom:24px;}

.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

.rel-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:24px;transition:.2s;
  }

.rel-card:hover{border-color:var(--signal);transform:translateY(-3px);}

.rel-card .rel-tag{
    font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--signal);
    margin-bottom:10px;display:block;
  }

.rel-card h4{font-size:1.1rem;margin-bottom:8px;}

.rel-card p{color:var(--mute);font-size:.9rem;}

@media(max-width:760px){
    .article-hero h1{font-size:1.9rem;}
    .article-hero h1 .serif{font-size:2rem;}
    .article-body p.lead-graf{font-size:1.1rem;}
    .article-body h2{font-size:1.4rem;}
    .pull-quote{font-size:1.25rem;}
    .related-grid{grid-template-columns:1fr;}
  }

/* INLINE DOWNLOAD */
  .dl-inline{display:flex;gap:18px;align-items:center;flex-wrap:wrap;
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin:34px 0;}

.dl-inline .dl-icon{width:50px;height:50px;border-radius:10px;flex-shrink:0;display:flex;
    align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;
    font-weight:600;font-size:.78rem;color:#fff;}

.dl-inline .dl-icon.xls{background:#1d6f42;}

.dl-inline-body{flex:1;min-width:210px;}

.dl-inline-body b{font-size:1.05rem;display:block;margin-bottom:4px;}

.dl-inline-body p{font-size:.9rem;color:var(--mute);margin:0 0 6px;line-height:1.5;}

.dl-inline .dl-meta{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--mute);}

.dl-inline .dl-free{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.66rem;
    color:#37c871;border:1px solid #2e7d4f;border-radius:20px;padding:2px 9px;margin-left:6px;vertical-align:middle;}

.dl-inline .btn{flex-shrink:0;}

.partners-intro{padding:60px 0 30px;text-align:center;}

.partners-intro p{
    color:var(--mute);font-size:1.02rem;max-width:600px;margin:0 auto;
  }

.featured-partner{padding:50px 0;}

.featured-card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    overflow:hidden;display:grid;grid-template-columns:1fr 1fr;
  }

.featured-logo{
    background:#000;display:flex;align-items:center;justify-content:center;
    padding:50px 40px;min-height:320px;position:relative;
  }

.featured-logo::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at center,rgba(239,62,54,.06),transparent 70%);
  }

.featured-logo img{
    max-width:100%;max-height:200px;position:relative;
  }

/* Variant for logos that need a clean white panel */
  .featured-logo.light-logo{
    background:#ffffff;padding:60px 50px;
  }

.featured-logo.light-logo::before{display:none;}

.featured-logo.light-logo img{
    max-width:78%;max-height:160px;width:auto;height:auto;
    object-fit:contain;
  }

.featured-content{padding:46px 42px;display:flex;flex-direction:column;justify-content:center;}

.featured-content .featured-tag{
    font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--signal);
    background:rgba(239,62,54,.1);border:1px solid var(--signal-dim);
    padding:5px 12px;border-radius:30px;display:inline-block;margin-bottom:16px;align-self:flex-start;
  }

.featured-content h2{font-size:1.9rem;margin-bottom:10px;}

.featured-content h2 .serif{font-style:italic;color:var(--signal);}

.featured-content .specialty{
    font-family:'IBM Plex Mono',monospace;font-size:.84rem;color:var(--mute);
    margin-bottom:18px;
  }

.featured-content p{color:var(--mute);font-size:.98rem;line-height:1.7;margin-bottom:24px;}

.featured-actions{display:flex;gap:12px;flex-wrap:wrap;}

.grid-section{padding:60px 0;}

.grid-section h2{font-size:1.7rem;margin-bottom:10px;}

.grid-section h2 .serif{font-style:italic;color:var(--signal);}

.grid-section .grid-intro{color:var(--mute);margin-bottom:34px;max-width:520px;}

.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

.partner-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:28px 24px;text-align:left;transition:.2s;
  }

.partner-card:hover{border-color:var(--signal);transform:translateY(-4px);}

.partner-logo{
    width:100%;height:100px;background:var(--bg-2);border:1px solid var(--line);
    border-radius:10px;display:flex;align-items:center;justify-content:center;
    margin-bottom:20px;position:relative;overflow:hidden;
  }

.partner-logo .placeholder-mark{
    font-family:'Instrument Serif',serif;font-size:2.4rem;color:var(--mute);
    font-style:italic;opacity:.4;
  }

.partner-card .coming{
    font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--signal);
    background:rgba(239,62,54,.08);border:1px solid var(--signal-dim);padding:3px 10px;
    border-radius:30px;display:inline-block;margin-bottom:12px;
  }

.partner-card h3{font-size:1.1rem;margin-bottom:6px;color:var(--text);}

.partner-card .specialty{
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    margin-bottom:12px;display:block;
  }

.partner-card p{color:var(--mute);font-size:.88rem;line-height:1.55;}

.partner-info{
    background:var(--bg-2);border:1px solid var(--line);border-radius:14px;
    padding:32px;margin-top:50px;display:grid;grid-template-columns:1fr 1fr;gap:30px;
    align-items:center;
  }

.partner-info h3{font-size:1.3rem;margin-bottom:8px;}

.partner-info h3 .serif{font-style:italic;color:var(--signal);}

.partner-info p{color:var(--mute);font-size:.95rem;}

@media(max-width:920px){
    .featured-card{grid-template-columns:1fr;}
    .featured-content{padding:30px;}
    .featured-logo{padding:40px 30px;min-height:240px;}
    .partner-grid{grid-template-columns:1fr 1fr;}
    .partner-info{grid-template-columns:1fr;padding:24px;}
  }

@media(max-width:520px){
    .partner-grid{grid-template-columns:1fr;}
  }

.contact-wrap{padding:80px 0;}

.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:start;}

.contact-form{
    background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px;
  }

.contact-form h2{font-size:1.6rem;margin-bottom:8px;}

.contact-form h2 .serif{font-style:italic;color:var(--signal);}

.contact-form .form-sub{color:var(--mute);font-size:.95rem;margin-bottom:26px;}

.field{margin-bottom:18px;}

.field label{
    display:block;font-family:'IBM Plex Mono',monospace;font-size:.74rem;
    color:var(--mute);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;
  }

.field label .req{color:var(--signal);margin-left:3px;}

.field input, .field textarea, .field select{
    width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--text);
    padding:13px 16px;border-radius:9px;font-family:'Sora',sans-serif;font-size:.96rem;
    outline:none;transition:.2s;
  }

.field input:focus, .field textarea:focus, .field select:focus{border-color:var(--signal);}

.field textarea{resize:vertical;min-height:120px;font-family:'Sora',sans-serif;}

.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

.submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;}

.submit-row p{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);}

.form-success{
    display:none;background:rgba(239,62,54,.08);border:1px solid var(--signal-dim);
    border-radius:12px;padding:24px;color:var(--text);text-align:center;
  }

.form-success.show{display:block;}

.form-success b{display:block;font-size:1.2rem;color:var(--signal);margin-bottom:6px;}

.form-success small{color:var(--mute);font-size:.9rem;}

.contact-side{display:grid;gap:18px;}

.contact-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;
  }

.contact-card .lbl{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--signal);
    text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;
  }

.contact-card h3{font-size:1.2rem;margin-bottom:6px;}

.contact-card p{color:var(--mute);font-size:.94rem;margin-bottom:4px;}

.contact-card a{color:var(--text);font-weight:500;}

.contact-card a:hover{color:var(--signal);}

.hours-list{display:grid;gap:8px;font-size:.92rem;}

.hours-list div{display:flex;justify-content:space-between;color:var(--mute);}

.hours-list div b{color:var(--text);font-weight:500;}

.map-placeholder{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    height:240px;display:flex;align-items:center;justify-content:center;text-align:center;
    font-family:'IBM Plex Mono',monospace;color:var(--mute);font-size:.84rem;position:relative;
    overflow:hidden;
  }

.map-placeholder::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(circle at 30% 40%,rgba(239,62,54,.08),transparent 50%),
      linear-gradient(rgba(239,62,54,.02),rgba(239,62,54,.02)),
      repeating-linear-gradient(0deg,#171b23,#171b23 28px,#1b2029 28px,#1b2029 56px),
      repeating-linear-gradient(90deg,#171b23,#171b23 28px,#1b2029 28px,#1b2029 56px);
  }

.map-placeholder span{position:relative;}

.map-placeholder .pin{
    position:absolute;left:30%;top:40%;width:18px;height:18px;border-radius:50%;
    background:var(--signal);box-shadow:0 0 0 8px rgba(239,62,54,.2);transform:translate(-50%,-50%);
  }

@media(max-width:920px){
    .contact-grid{grid-template-columns:1fr;}
    .field-row{grid-template-columns:1fr;}
    .contact-form{padding:26px;}
  }

:root{
    --bg:#08080a;
    --bg-2:#101012;
    --card:#16161a;
    --card-2:#1f1f24;
    --line:#2c2c33;
    --text:#ededef;
    --mute:#8e8e96;
    --signal:#ef3e36;
    --signal-dim:#6b1c1c;
    --signal-soft:#c52e2e;
    --amber:#f4b14a;
    --red:#f06363;
    --violet:#9b8cff;
  }

h1,h2,h3{font-weight:600;line-height:1.12;letter-spacing:-0.02em;}

/* HEADER */
  header{
    position:sticky;top:0;z-index:60;background:rgba(13,15,20,.85);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  }

.logo-mark{
    width:42px;height:42px;border-radius:9px;background:#000;
    border:1px solid var(--line);overflow:hidden;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    position:relative;
  }

.logo-mark .pulse{
    width:9px;height:9px;border-radius:50%;background:var(--signal);
    box-shadow:0 0 0 0 rgba(239,62,54,.6);animation:pulse 2.2s infinite;
  }

@keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(239,62,54,.5);}
    70%{box-shadow:0 0 0 12px rgba(239,62,54,0);}
    100%{box-shadow:0 0 0 0 rgba(239,62,54,0);}
  }

nav ul{display:flex;gap:30px;list-style:none;align-items:center;}

nav ul li.has-dropdown::after{
    content:"";position:absolute;top:100%;left:0;width:100%;height:14px;
  }

/* HERO + DIAGNOSTIC */
  .hero{padding:60px 0 40px;position:relative;}

.hero::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:760px;height:420px;
    background:radial-gradient(ellipse,rgba(239,62,54,.1) 0,transparent 70%);
    pointer-events:none;
  }

.hero-top{text-align:center;max-width:720px;margin:0 auto 38px;position:relative;}

.status-line{
    display:inline-flex;align-items:center;gap:9px;font-family:'IBM Plex Mono',monospace;
    font-size:.76rem;color:var(--signal);border:1px solid var(--signal-dim);
    padding:6px 14px;border-radius:30px;margin-bottom:22px;
  }

.status-line .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);}

.hero h1{font-size:3.3rem;margin-bottom:16px;}

.hero h1 .serif{font-size:3.5rem;font-style:italic;color:var(--signal);}

.hero-top p{color:var(--mute);font-size:1.08rem;max-width:540px;margin:0 auto;}

/* THE CONSOLE */
  .console{
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    overflow:hidden;position:relative;box-shadow:0 40px 80px rgba(0,0,0,.5);
  }

.console-bar{
    display:flex;align-items:center;gap:8px;padding:14px 18px;
    border-bottom:1px solid var(--line);background:var(--bg-2);
  }

.console-bar .dots{display:flex;gap:6px;}

.console-bar .dots i{width:11px;height:11px;border-radius:50%;display:block;}

.console-bar .dots i:nth-child(1){background:#6b1c1c;}

.console-bar .dots i:nth-child(2){background:#a02520;}

.console-bar .dots i:nth-child(3){background:#ef3e36;}

.console-bar .title{
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    margin-left:8px;
  }

.console-body{display:grid;grid-template-columns:1.25fr 1fr;}

.console-q{padding:38px 38px 30px;border-right:1px solid var(--line);}

.q-progress{
    display:flex;gap:6px;margin-bottom:26px;
  }

.q-progress span{
    flex:1;height:4px;border-radius:2px;background:var(--card-2);transition:.4s;
  }

.q-progress span.done{background:var(--signal);}

.q-step{
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);
    margin-bottom:10px;
  }

.q-text{font-size:1.42rem;font-weight:600;margin-bottom:22px;min-height:64px;}

.q-options{display:grid;gap:10px;}

.q-opt{
    display:flex;align-items:center;gap:13px;padding:15px 17px;
    background:var(--card-2);border:1px solid var(--line);border-radius:11px;
    cursor:pointer;transition:.18s;font-size:.96rem;
  }

.q-opt:hover{border-color:var(--signal);transform:translateX(3px);}

.q-opt .key{
    width:26px;height:26px;border-radius:7px;background:var(--bg);
    border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);flex-shrink:0;
  }

.q-opt:hover .key{background:var(--signal);color:#1a0606;border-color:var(--signal);}

.q-restart{
    margin-top:20px;font-family:'IBM Plex Mono',monospace;font-size:.76rem;
    color:var(--mute);cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  }

.q-restart:hover{color:var(--signal);}

/* READOUT PANEL */
  .console-readout{padding:34px 34px;background:var(--bg-2);}

.readout-label{
    font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--mute);
    text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;
    display:flex;justify-content:space-between;
  }

.readout-label .live{color:var(--signal);display:flex;align-items:center;gap:6px;}

.readout-label .live::before{
    content:"";width:6px;height:6px;border-radius:50%;background:var(--signal);
    animation:pulse 2s infinite;
  }

.gauge{
    position:relative;width:170px;height:170px;margin:0 auto 20px;
  }

.gauge svg{transform:rotate(-90deg);}

.gauge-track{fill:none;stroke:var(--card-2);stroke-width:14;}

.gauge-fill{
    fill:none;stroke:var(--signal);stroke-width:14;stroke-linecap:round;
    stroke-dasharray:440;stroke-dashoffset:440;transition:stroke-dashoffset 1s ease,stroke .5s;
  }

.gauge-num{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    text-align:center;
  }

.gauge-num b{font-size:2.6rem;font-weight:700;display:block;line-height:1;}

.gauge-num small{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--mute);}

.readout-rows{display:grid;gap:9px;margin-bottom:20px;}

.r-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:11px 14px;background:var(--card);border:1px solid var(--line);
    border-radius:9px;font-size:.86rem;
  }

.r-row .label{color:var(--mute);font-family:'IBM Plex Mono',monospace;font-size:.78rem;}

.r-row .val{display:flex;align-items:center;gap:8px;font-weight:500;}

.r-row .chip{
    width:9px;height:9px;border-radius:50%;background:var(--card-2);
  }

.r-row.on .chip{background:var(--signal);box-shadow:0 0 8px var(--signal);}

.readout-msg{
    font-size:.92rem;color:var(--mute);padding:14px;background:var(--card);
    border:1px dashed var(--line);border-radius:10px;margin-bottom:18px;
    min-height:72px;
  }

.readout-msg b{color:var(--signal);}

.readout-cta{display:none;}

.readout-cta.show{display:block;animation:fadein .5s ease;}

@keyframes fadein{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.readout-cta .btn{width:100%;justify-content:center;}

/* RECOMMENDED SERVICE TAG */
  .rec-tag{
    display:none;margin-top:14px;padding:14px;border-radius:10px;
    background:rgba(239,62,54,.08);border:1px solid var(--signal-dim);
  }

.rec-tag.show{display:block;animation:fadein .5s ease;}

.rec-tag small{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--mute);text-transform:uppercase;}

.rec-tag b{display:block;color:var(--signal);font-size:1.05rem;margin-top:3px;}

/* TRUST STRIP */
  .trust{
    display:flex;justify-content:center;gap:0;margin-top:34px;flex-wrap:wrap;
    border:1px solid var(--line);border-radius:14px;overflow:hidden;
  }

.trust div{
    padding:18px 30px;border-right:1px solid var(--line);text-align:center;flex:1;
    min-width:160px;
  }

.trust div:last-child{border-right:none;}

.trust b{font-size:1.5rem;display:block;}

.trust small{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);}

/* SECTIONS */
  section{padding:90px 0;}

.sec-title{font-size:2.4rem;margin-bottom:14px;max-width:560px;}

.sec-title .serif{font-style:italic;color:var(--signal);font-size:2.6rem;}

.sec-intro{color:var(--mute);max-width:520px;margin-bottom:48px;}

/* SERVICES - module cards */
  .mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

.mod{
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:28px;transition:.25s;position:relative;overflow:hidden;
  }

.mod:hover{border-color:var(--signal);transform:translateY(-5px);}

.mod .mod-id{
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);
    display:flex;justify-content:space-between;margin-bottom:18px;
  }

.mod .mod-id .stat{color:var(--signal);}

.mod h3{font-size:1.28rem;margin-bottom:9px;}

.mod>p{color:var(--mute);font-size:.92rem;margin-bottom:16px;}

.mod ul{list-style:none;border-top:1px solid var(--line);padding-top:14px;}

.mod li{
    font-family:'IBM Plex Mono',monospace;font-size:.82rem;padding:6px 0;
    color:var(--text);display:flex;align-items:center;gap:9px;
  }

.mod li::before{content:"▸";color:var(--signal);}

/* ABOUT */
  .about{background:var(--bg-2);}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}

.about-visual{
    border:1px solid var(--line);border-radius:16px;overflow:hidden;
    background:var(--card);
  }

.about-visual .scr-bar{
    display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);
  }

.about-visual .scr-bar i{width:9px;height:9px;border-radius:50%;background:var(--card-2);}

.img-ph{
    height:340px;display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--mute);
    text-align:center;
    background:
      linear-gradient(rgba(239,62,54,.03),rgba(239,62,54,.03)),
      repeating-linear-gradient(0deg,#171b23,#171b23 22px,#1b2029 22px,#1b2029 44px);
  }

.about h2{font-size:2.3rem;margin-bottom:16px;}

.about h2 .serif{font-style:italic;color:var(--signal);}

.about p{color:var(--mute);margin-bottom:16px;}

.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;}

.about-stat{
    border:1px solid var(--line);border-radius:11px;padding:16px;
    background:var(--card);
  }

.about-stat b{font-size:1.5rem;display:block;}

.about-stat small{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--mute);}

/* BLOG */
  .log-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

.log{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:24px;transition:.25s;
  }

.log:hover{border-color:var(--signal);transform:translateY(-5px);}

.log .log-meta{
    font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--signal);
    margin-bottom:14px;display:flex;justify-content:space-between;
  }

.log .log-meta span:last-child{color:var(--mute);}

.log h3{font-size:1.14rem;margin-bottom:9px;line-height:1.3;}

.log p{font-size:.89rem;color:var(--mute);margin-bottom:14px;}

.log a{font-family:'IBM Plex Mono',monospace;font-size:.8rem;color:var(--signal);}

/* CTA */
  .endcta{
    background:linear-gradient(180deg,var(--bg-2),var(--card));
    border:1px solid var(--line);border-radius:22px;padding:60px;text-align:center;
    position:relative;overflow:hidden;
  }

.endcta::before{
    content:"";position:absolute;top:-100px;left:50%;transform:translateX(-50%);
    width:500px;height:300px;
    background:radial-gradient(ellipse,rgba(239,62,54,.14),transparent 70%);
  }

.endcta>*{position:relative;z-index:2;}

.endcta h2{font-size:2.5rem;margin-bottom:14px;}

.endcta h2 .serif{font-style:italic;color:var(--signal);}

.endcta p{color:var(--mute);max-width:480px;margin:0 auto 28px;}

.endcta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* FOOTER */
  footer{border-top:1px solid var(--line);padding:54px 0 30px;margin-top:90px;}

@media(max-width:920px){
    .console-body,.about-grid,.foot-grid{grid-template-columns:1fr;}
    .console-q{border-right:none;border-bottom:1px solid var(--line);}
    .mod-grid,.log-grid{grid-template-columns:1fr;}
    .hero h1{font-size:2.4rem;}
    .hero h1 .serif{font-size:2.5rem;}
    nav ul{display:none;}
    .burger{display:flex;}
    section{padding:64px 0;}
    .endcta{padding:40px 24px;}

    /* Mobile menu - toggled by JS via .menu-open on body */
    .burger span{transition:transform .2s,opacity .2s;transform-origin:center;}
    body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
    body.menu-open .burger span:nth-child(2){opacity:0;}
    body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
    body.menu-open nav ul{
      display:flex;flex-direction:column;align-items:stretch;
      position:fixed;top:74px;left:0;right:0;
      background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
      padding:20px;gap:6px;z-index:99;
      box-shadow:0 14px 40px rgba(0,0,0,.5);
      max-height:calc(100vh - 74px);overflow-y:auto;
    }
    body.menu-open nav ul li{width:100%;}
    body.menu-open nav ul li > a{
      display:block;padding:14px 16px;font-size:1rem;border-radius:9px;
    }
    body.menu-open nav ul li > a:hover{background:var(--bg-2);}
    body.menu-open .has-dropdown::after{display:none;}
    body.menu-open .has-dropdown > a .caret{display:none;}
    body.menu-open .has-dropdown .dropdown{
      position:static;opacity:1;visibility:visible;transform:none;
      background:transparent;border:none;padding:4px 0 10px 12px;
      min-width:0;box-shadow:none;display:flex;flex-direction:column;gap:4px;
    }
    body.menu-open .has-dropdown .dropdown a{padding:10px 12px;}
    body.menu-open{overflow:hidden;}
  }

@media(max-width:520px){
    .hero h1{font-size:2rem;}
    .sec-title{font-size:1.8rem;}
    .trust div{min-width:50%;}
  }

/* INTRO / WELCOME */
  .intro{padding:60px 0 24px;border-bottom:1px solid var(--line);position:relative;}

.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}

.intro h2{font-size:2.5rem;margin-bottom:18px;}

.intro h2 .serif{font-style:italic;color:var(--signal);}

.intro p{color:var(--mute);font-size:1.05rem;margin-bottom:14px;}

.intro-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}

.intro-note{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--signal-soft);
    border:1px dashed var(--signal-dim);border-radius:8px;padding:7px 11px;margin-bottom:16px;display:inline-block;}

.video-frame{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;
    background:var(--card);box-shadow:0 30px 60px rgba(0,0,0,.45);}

.video-frame .scr-bar{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--bg-2);}

.video-frame .scr-bar i{width:9px;height:9px;border-radius:50%;background:var(--card-2);}

.video-frame .scr-bar i:nth-child(3){background:var(--signal);}

.video-ph{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
    background:linear-gradient(rgba(239,62,54,.04),rgba(239,62,54,.04)),
      repeating-linear-gradient(0deg,#15151a,#15151a 22px,#191920 22px,#191920 44px);
    color:var(--mute);font-family:'IBM Plex Mono',monospace;font-size:.8rem;text-align:center;padding:20px;}

.video-ph .play{width:64px;height:64px;border-radius:50%;background:var(--signal);color:#1a0606;
    display:flex;align-items:center;justify-content:center;font-size:1.3rem;padding-left:4px;
    animation:pulse 2.2s infinite;}

/* MODULE PRICE */
  .mod-price{font-family:'IBM Plex Mono',monospace;font-size:.92rem;color:var(--signal);
    font-weight:600;margin:0 0 14px;}

.mod-price small{display:block;color:var(--mute);font-size:.72rem;margin-top:2px;font-weight:400;}

/* CIC CALLOUT */
  .cic{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.cic-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:44px;
    display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden;}

.cic-card::before{content:"";position:absolute;top:-90px;left:-60px;width:280px;height:280px;
    background:radial-gradient(circle,rgba(239,62,54,.1),transparent 70%);}

.cic-card > *{position:relative;z-index:2;}

.cic-card h2{font-size:2.1rem;margin-bottom:14px;}

.cic-card h2 .serif{font-style:italic;color:var(--signal);}

.cic-card p{color:var(--mute);margin-bottom:14px;}

.cic-points{list-style:none;display:grid;gap:10px;}

.cic-points li{font-family:'IBM Plex Mono',monospace;font-size:.84rem;display:flex;gap:10px;
    align-items:flex-start;color:var(--text);}

.cic-points li::before{content:"\25B8";color:var(--signal);}

.cic-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}

@media(max-width:920px){
    .intro-grid{grid-template-columns:1fr;}
    .intro h2{font-size:2rem;}
    .cic-card{grid-template-columns:1fr;padding:30px;}
  }

.intro strong{color:var(--text);font-weight:600;}

/* ============================================================
   MOBILE HEADER + OVERFLOW FIXES (appended)
   ============================================================ */

/* Backstop against sideways panning. html gets the dark bg so any
   future overflow never reveals a white strip, and overflow-x on
   html (not just body) is what iOS Safari actually respects. */
html{background:var(--bg);}
html,body{max-width:100%;overflow-x:hidden;}

@media(max-width:920px){
    .wrap{padding:0 18px;}
    .nav{height:64px;gap:10px;}
    .logo{gap:8px;min-width:0;}
    .logo-mark{width:34px;height:34px;border-radius:7px;}
    .logo-text b{font-size:.92rem;}
    .logo-text small{font-size:.6rem;}
    .nav > .btn{padding:9px 14px;font-size:.8rem;white-space:nowrap;}
    /* mobile menu panel hangs from the shorter header */
    body.menu-open nav ul{top:64px;max-height:calc(100vh - 64px);}
  }

@media(max-width:420px){
    .logo-text small{display:none;}
    .nav > .btn{padding:8px 12px;font-size:.76rem;}
  }

/* Keyless Google Maps embed on the Contact page */
.map-embed{
    border:1px solid var(--line);border-radius:14px;overflow:hidden;
    height:240px;background:var(--card);
  }
.map-embed iframe{
    width:100%;height:100%;border:0;display:block;
    filter:grayscale(1) invert(.9) contrast(.85);
  }