
  :root{
    --blue: #1E3FD9;
    --blue-deep: #0B1550;
    --blue-mid: #2C4FEC;
    --ink: #0A0A0A;
    --paper: #F5F6FA;
    --white: #FFFFFF;
    --line: rgba(10,10,10,0.1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    overflow-x:hidden;
  }
  img,svg{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}

  .mono{font-family:'IBM Plex Mono', monospace;}

  /* ---------- Blue line ruler divider (signature element) ---------- */
  .ruler{
    position:relative;
    height:34px;
    background:var(--blue);
    display:flex;
    align-items:center;
    overflow:hidden;
    border-top:3px solid var(--ink);
    border-bottom:4px solid var(--ink);
  }
  .ruler-track{
    display:flex;
    align-items:flex-end;
    height:100%;
    animation:scrollLeft 45s linear infinite;
    white-space:nowrap;
  }
  .ruler-tick{
    width:14px;
    flex:none;
    height:10px;
    border-left:3px solid rgba(255,255,255,0.6);
    margin-right:14px;
  }
  .ruler-tick.big{height:18px;border-left:3px solid #fff;}
  @keyframes scrollLeft{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- Top bar ---------- */
  .topbar{
    background:var(--ink);
    color:var(--white);
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:8px 24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
  }
  .topbar a{border-bottom:1px solid transparent;}
  .topbar a:hover{border-bottom:1px solid var(--blue-mid);}

  header.nav{
    position:sticky;
    top:0;
    z-index:50;
    background:var(--white);
    border-bottom:4px solid var(--ink);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 32px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:14px;
  }
  .brand-mark{
    width:48px;height:48px;
    background:var(--white);
    border:4px solid var(--ink);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .brand-mark svg{width:26px;height:26px;}
  .brand-name{
    font-family:'Anton', sans-serif;
    font-size:1.5rem;
    letter-spacing:0.01em;
    line-height:1;
  }
  .brand-name span{display:block;font-family:'Archivo Black', sans-serif;font-weight:900;font-size:0.8rem;letter-spacing:0.08em;color:var(--blue);margin-top:5px;}
  .nav-cta{
    display:flex;
    align-items:center;
    gap:18px;
  }
  .nav-phone{
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    font-size:1.1rem;
    letter-spacing:0.02em;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--blue);
    color:var(--white);
    font-weight:800;
    font-size:0.95rem;
    letter-spacing:0.03em;
    text-transform:uppercase;
    padding:15px 28px;
    border:4px solid var(--ink);
    border-radius:6px;
    box-shadow:5px 5px 0 var(--ink);
    transition:transform .15s ease, box-shadow .15s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink);}
  .btn.dark{background:var(--ink);}
  .btn.ghost{background:var(--white);color:var(--ink);}

  @media (max-width:760px){
    .nav-phone{display:none;}
    header.nav{
      flex-wrap:wrap;
      justify-content:center;
      gap:14px;
      padding:16px 20px;
    }
    .nav-cta{
      width:100%;
      justify-content:center;
    }
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:var(--white);
    padding:86px 32px 70px;
    overflow:hidden;
  }
  .hero-diag{
    position:absolute;
    inset:0;
    background:
      linear-gradient(115deg, transparent 0%, transparent 62%, var(--blue) 62%, var(--blue) 66%, transparent 66%),
      linear-gradient(115deg, transparent 0%, transparent 68%, var(--blue-deep) 68%, var(--blue-deep) 70%, transparent 70%);
    opacity:0.9;
    pointer-events:none;
  }
  .hero-inner{
    position:relative;
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:50px;
    align-items:center;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.85rem;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--blue);
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    width:34px;height:6px;background:var(--blue);display:block;
  }
  h1{
    font-family:'Anton', sans-serif;
    font-size:clamp(2.6rem, 6vw, 4.6rem);
    line-height:0.96;
    letter-spacing:0.005em;
  }
  h1 .stroke{
    color:var(--white);
    -webkit-text-stroke:2px var(--ink);
  }
  h1 .fill{color:var(--blue);}
  .hero-sub{
    margin-top:22px;
    font-size:1.15rem;
    max-width:46ch;
    color:#232323;
    line-height:1.55;
  }
  .hero-actions{
    margin-top:32px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    align-items:center;
  }
  .hero-phone-block{
    margin-top:34px;
    display:flex;
    align-items:center;
    gap:14px;
  }
  .phone-icon{
    width:52px;height:52px;
    border-radius:50%;
    background:var(--blue);
    border:4px solid var(--ink);
    display:flex;align-items:center;justify-content:center;
    flex:none;
  }
  .phone-icon svg{width:24px;height:24px;fill:#fff;}
  .hero-phone-num{
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    font-size:1.65rem;
    letter-spacing:0.01em;
  }
  .hero-phone-label{
    font-size:0.8rem;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:#555;
    font-weight:700;
  }

  /* Hero visual: shield/handshake emblem card */
  .hero-visual{
    position:relative;
    background:var(--white);
    border:4px solid var(--ink);
    border-radius:14px;
    padding:38px 30px;
    box-shadow:8px 8px 0 var(--ink);
    color:var(--ink);
  }
  .hero-visual-cap{
    margin-top:20px;
    font-family:'Work Sans', sans-serif;
    font-weight:800;
    font-size:0.9rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-align:center;
    color:var(--blue);
  }

  @media (max-width:900px){
    .hero-inner{grid-template-columns:1fr;}
    .hero-visual{order:-1;max-width:340px;margin:0 auto;}
  }

  /* ---------- What we buy ---------- */
  .section{
    padding:80px 32px;
    max-width:1180px;
    margin:0 auto;
  }
  .section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin-bottom:44px;
    flex-wrap:wrap;
  }
  h2{
    font-family:'Anton', sans-serif;
    font-size:clamp(2rem, 4vw, 2.8rem);
    line-height:1;
  }
  .section-note{
    max-width:38ch;
    color:#4a4a4a;
    font-size:1rem;
    line-height:1.5;
  }
  .buy-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
  .buy-card{
    background:var(--white);
    border:4px solid var(--ink);
    border-radius:10px;
    padding:26px 22px;
    box-shadow:5px 5px 0 var(--ink);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .buy-card:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--blue);}
  .buy-card svg{width:36px;height:36px;margin-bottom:16px;}
  .buy-card h3{
    font-family:'Archivo Black', sans-serif;
    font-size:1.1rem;
    margin-bottom:8px;
    letter-spacing:0.01em;
  }
  .buy-card p{font-size:0.92rem;color:#555;line-height:1.5;font-weight:500;}
  @media (max-width:900px){ .buy-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .buy-grid{grid-template-columns:1fr;} }

  /* ---------- How it works (dark band) ---------- */
  .how{
    background:var(--ink);
    color:var(--white);
    padding:80px 32px;
  }
  .how-inner{max-width:1180px;margin:0 auto;}
  .how h2{color:var(--white);}
  .how .section-note{color:#C8CBD8;}
  .steps{
    margin-top:48px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    position:relative;
  }
  .step{
    padding:0 28px;
    position:relative;
  }
  .step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:26px;
    right:-2px;
    width:2px;
    height:60px;
    background:var(--blue-mid);
    display:none;
  }
  @media (min-width:761px){ .step:not(:last-child)::after{display:block;} }
  .step-num{
    font-family:'IBM Plex Mono', monospace;
    color:var(--blue-mid);
    font-weight:700;
    font-size:1rem;
    letter-spacing:0.1em;
  }
  .step h3{
    font-family:'Anton', sans-serif;
    font-size:1.5rem;
    margin:14px 0 12px;
  }
  .step p{color:#C8CBD8;line-height:1.6;font-size:0.98rem;}
  @media (max-width:760px){
    .steps{grid-template-columns:1fr;gap:34px;}
  }

  /* ---------- Trust strip ---------- */
  .trust{
    background:var(--blue);
    color:var(--white);
    padding:54px 32px;
  }
  .trust-inner{
    max-width:1180px;margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
  }
  .trust-item{display:flex;gap:14px;align-items:flex-start;}
  .trust-item svg{width:26px;height:26px;flex:none;margin-top:3px;fill:#fff;}
  .trust-item h4{font-family:'Archivo Black';font-size:1.02rem;margin-bottom:5px;letter-spacing:0.01em;}
  .trust-item p{font-size:0.86rem;color:#DCE3FF;line-height:1.5;font-weight:500;}
  @media (max-width:900px){ .trust-inner{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .trust-inner{grid-template-columns:1fr;} }

  /* ---------- CTA band ---------- */
  .cta-band{
    padding:90px 32px;
    text-align:center;
    background:var(--paper);
  }
  .cta-band h2{
    font-size:clamp(2.2rem,5vw,3.4rem);
  }
  .cta-band .hero-sub{margin:18px auto 0;text-align:center;}
  .cta-band .hero-actions{justify-content:center;margin-top:30px;}
  .cta-phone{
    margin-top:26px;
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    font-size:2.2rem;
  }
  .cta-phone a{border-bottom:4px solid var(--blue);}

  /* ---------- Footer ---------- */
  footer{
    background:var(--blue-deep);
    color:#fff;
    padding:52px 32px 28px;
  }
  .footer-inner{
    max-width:1180px;margin:0 auto;
    display:flex;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap;
    padding-bottom:30px;
    border-bottom:1px solid rgba(255,255,255,0.15);
  }
  .footer-brand{font-family:'Anton';font-size:1.4rem;}
  .footer-col h5{
    font-size:0.78rem;text-transform:uppercase;letter-spacing:0.12em;
    color:#8FA0FF;margin-bottom:12px;font-weight:700;
  }
  .footer-col p, .footer-col a{
    display:block;font-size:0.95rem;color:#E4E7FF;line-height:1.7;
  }
  .footer-bottom{
    max-width:1180px;margin:20px auto 0;
    display:flex;justify-content:space-between;
    font-size:0.78rem;color:#8891C7;flex-wrap:wrap;gap:8px;
  }

  @media (max-width:900px){
    .section{padding:60px 24px;}
    .how{padding:60px 24px;}
    .trust{padding:44px 24px;}
    .cta-band{padding:64px 24px;}
  }

  .areas .areas-sub{max-width:60ch;margin:10px 0 22px;}
  .area-links{display:flex;flex-wrap:wrap;gap:10px;}
  .area-link{display:inline-block;padding:10px 16px;border:3px solid var(--ink);border-radius:10px;font-weight:800;color:var(--ink);text-decoration:none;background:var(--white);box-shadow:4px 4px 0 var(--ink);}
  .area-link:hover,.area-link:focus-visible{background:var(--blue);color:var(--white);}
  .post-wrap ul{padding-left:1.3em;margin:0 0 16px;}
  .post-wrap li{font-size:1.05rem;line-height:1.75;color:#232323;margin-bottom:8px;}

  /* ---------- Hero refresh: badges, short copy, call bar ---------- */
  .sub-short{display:none}
  .hero-badges{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:6px}
  .hb{border:3px solid var(--ink);border-radius:10px;padding:12px 8px;text-align:center;font-weight:800;font-size:.9rem;line-height:1.2;box-shadow:4px 4px 0 var(--ink);background:#fff;text-transform:none}
  .hb b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:1.3rem;color:var(--blue);letter-spacing:.02em;margin-bottom:2px;text-transform:uppercase}
  .callbar{display:none}

  @media (max-width:900px) and (min-width:700px){
    .hero{padding:56px 28px 60px}
    .hero-inner{grid-template-columns:1.15fr 1fr;gap:28px;align-items:center}
    .hero-visual{order:0;max-width:none;margin:0;padding:26px 18px}
    h1{font-size:3.1rem}
    .hero-sub{font-size:1.05rem}
    .hero-diag{background:linear-gradient(115deg,transparent 0 74%,var(--blue) 74% 78%,transparent 78%),linear-gradient(115deg,transparent 0 80%,var(--blue-deep) 80% 82%,transparent 82%)}
  }

  @media (max-width:900px){
    .callbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--ink);transform:translateY(110%);transition:transform .25s ease}
    .callbar.show{transform:none}
    .callbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 8px;border-radius:10px;font-weight:900;text-decoration:none;font-size:1rem;letter-spacing:.02em}
    .callbar svg{width:18px;height:18px;fill:currentColor}
    .callbar .c{background:var(--blue);color:#fff}
    .callbar .t{background:#fff;color:var(--ink)}
    body{padding-bottom:80px}
  }
  @media (max-width:900px) and (min-width:700px){ .callbar{transform:none} }

  @media (max-width:699px){
    .topbar{justify-content:center;padding:7px 10px;font-size:.62rem}
    .topbar span:first-child{display:none}
    header.nav{flex-wrap:nowrap;justify-content:space-between;padding:10px 16px;gap:10px}
    .brand-mark{width:40px;height:40px}
    .brand-name{font-size:1.15rem}
    .brand-name span{font-size:.62rem}
    .nav-cta{width:auto}
    .nav-cta .btn:not(.ghost){display:none}
    .nav-cta .btn.ghost{padding:9px 14px;font-size:.8rem}

    .hero{padding:26px 18px 40px}
    .hero-inner{grid-template-columns:1fr 138px;column-gap:14px;row-gap:0;align-items:start}
    .hero-inner>div:first-child{display:contents}
    .eyebrow{grid-column:1/-1;font-size:.68rem;letter-spacing:.08em;margin-bottom:14px}
    h1{grid-column:1;grid-row:2;font-size:2.35rem;line-height:1;align-self:center}
    .hero-visual{grid-column:2;grid-row:2;order:0;max-width:none;margin:0;padding:10px 8px;box-shadow:5px 5px 0 var(--ink);border-width:3px;border-radius:10px;align-self:center}
    .hero-visual-cap{display:none}
    .hero-sub,.hero-actions,.hero-badges{grid-column:1/-1}
    .hero-sub{font-size:1rem;margin-top:16px}
    .sub-full{display:none}
    .sub-short{display:inline}
    .hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:20px}
    .hero-actions .btn{width:100%;justify-content:center;padding:16px 10px;font-size:1.02rem}
    .hero-phone-block{display:none}
    .hero-badges{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
    .hero-badges .hb.hb-bonded{display:none}
    .hb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 4px;font-size:.78rem;box-shadow:3px 3px 0 var(--ink);border-width:2px;line-height:1.15}
    .hb::before{content:"✓";width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900}
    .hb b{display:inline;font-family:'Work Sans',sans-serif;font-weight:900;font-size:.78rem;color:var(--ink);margin:0;text-transform:none;letter-spacing:0}
    .hero-diag{background:linear-gradient(115deg,transparent 0 78%,var(--blue) 78% 83%,transparent 83%),linear-gradient(115deg,transparent 0 86%,var(--blue-deep) 86% 88%,transparent 88%)}
  }
  @media (max-width:699px){
    .ruler-top{display:none}
    header.nav{border-bottom:4px solid var(--ink)}
    .hero-inner{grid-template-columns:1fr 168px}
    h1{font-size:2.2rem}
  }
  /* Hero call button with pulsing phone icon */
  .call-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px}
  .call-ic{position:relative;flex:none;width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;animation:bl-beat 2s ease-in-out infinite}
  .call-ic::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #fff;animation:bl-halo 2s ease-out infinite}
  .call-ic svg{width:16px;height:16px;fill:var(--blue)}
  @keyframes bl-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}}
  @keyframes bl-halo{0%{transform:scale(1);opacity:.85}70%,100%{transform:scale(1.9);opacity:0}}
  @media (max-width:699px){ .hero-actions .call-btn{font-size:1.15rem;padding:16px 10px} }
  @media (prefers-reduced-motion:reduce){ .call-ic,.call-ic::after{animation:none} }
  @media (max-width:699px){
    .hero-inner{grid-template-columns:1fr 196px;column-gap:12px}
    h1{font-size:2.05rem}
  }
  @media (max-width:699px){
    .hero-inner{grid-template-columns:1fr 226px;column-gap:12px}
    h1{font-size:1.95rem}
  }
