  :root{
    --blue:#004C97;
    --blue-d:#003B76;
    --teal:#008080;        /* rules, accents, non-text only */
    --teal-t:#006E6E;      /* teal for text, AA on paper */
    --gray:#4B4B4B;
    --ink:#2E2E2E;
    --light:#E6E6E6;
    --paper:#F4F5F6;
    --card:#FFFFFF;
    --rule:#CFD3D6;
    --measure:34rem;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{
    margin:0;background:var(--paper);color:var(--gray);
    font-family:"Open Sans",system-ui,sans-serif;
    font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:74rem;margin:0 auto;padding:0 1.75rem}
  a{color:inherit}
  a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}

  .eyebrow{
    font-family:"IBM Plex Mono",ui-monospace,monospace;
    font-size:.72rem;font-weight:500;letter-spacing:.14em;
    text-transform:uppercase;color:var(--teal-t);margin:0;
  }

  /* masthead */
  .masthead{background:var(--card);border-bottom:1px solid var(--rule)}
  .masthead .wrap{
    display:flex;align-items:center;justify-content:space-between;
    gap:1rem;padding-top:.95rem;padding-bottom:.95rem;
  }
  .mark{display:flex;align-items:center;gap:.62rem;text-decoration:none}
  .mark svg,.mark img{display:block;height:26px;width:auto}
  .mark .bar{width:1px;height:22px;background:var(--rule)}
  .mark .rest{
    font-family:"Montserrat",system-ui,sans-serif;font-weight:600;
    font-size:.78rem;letter-spacing:.19em;text-transform:uppercase;color:var(--blue);
  }
  .masthead .contact{
    font-family:"IBM Plex Mono",monospace;font-size:.8rem;
    text-decoration:none;color:var(--gray);
    border-bottom:1px solid var(--rule);padding-bottom:2px;
  }
  .masthead .contact:hover{color:var(--blue);border-color:var(--blue)}

  /* hero */
  .hero{background:var(--card);border-bottom:1px solid var(--rule)}
  .hero .wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
    padding-top:5rem;padding-bottom:5rem;
  }
  h1{
    font-family:"Montserrat",sans-serif;font-weight:700;color:var(--blue);
    font-size:clamp(2.25rem,4.4vw,3.4rem);line-height:1.08;
    letter-spacing:-.025em;margin:.9rem 0 1.35rem;text-wrap:balance;
  }
  .lede{font-size:1.13rem;max-width:var(--measure);margin:0 0 1.9rem}
  .lede strong{color:var(--blue);font-weight:600}
  .cta{
    display:inline-block;font-family:"Montserrat",sans-serif;font-weight:600;
    font-size:.94rem;background:var(--blue);color:#fff;text-decoration:none;
    padding:.85rem 1.6rem;border-radius:3px;
    transition:background .15s ease,transform .15s ease;
  }
  .cta:hover{background:var(--blue-d);transform:translateY(-1px)}
  .cta-note{
    font-family:"IBM Plex Mono",monospace;font-size:.72rem;
    margin:.9rem 0 0;opacity:.8;
  }

  /* signature: the alert artifact */
  .alert{
    background:var(--card);border:1px solid var(--rule);
    border-top:3px solid var(--teal);border-radius:3px;
    box-shadow:0 18px 42px -30px rgba(0,76,151,.55);
    font-family:"IBM Plex Mono",monospace;font-size:.82rem;overflow:hidden;
  }
  .alert-head{
    display:flex;justify-content:space-between;align-items:baseline;
    gap:1rem;padding:.85rem 1.15rem;border-bottom:1px solid var(--rule);
  }
  .sev{
    background:rgba(0,110,110,.12);color:var(--teal-t);font-weight:600;
    font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
    padding:.24rem .55rem;border-radius:2px;
  }
  .stamp{color:var(--gray);font-size:.7rem;text-align:right}
  .alert-body{padding:1.2rem 1.15rem}
  .alert-title{
    font-family:"Montserrat",sans-serif;font-size:1.1rem;font-weight:600;
    color:var(--blue);letter-spacing:-.01em;line-height:1.32;margin:0 0 .95rem;
  }
  .kv{display:grid;grid-template-columns:auto 1fr;gap:.42rem 1.1rem;margin:0 0 1.1rem}
  .kv dt{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;opacity:.75}
  .kv dd{margin:0;font-weight:500;color:var(--ink)}
  .money{
    border-top:1px solid var(--rule);padding-top:1rem;
    display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  }
  .money b{
    font-family:"Montserrat",sans-serif;font-size:1.75rem;font-weight:700;
    letter-spacing:-.03em;color:var(--blue);line-height:1;
  }
  .money span{font-size:.74rem}
  .doit{
    margin:1.05rem 0 0;padding:.78rem .9rem;background:var(--paper);
    border-left:3px solid var(--teal);font-size:.79rem;line-height:1.55;
  }
  .caption{
    font-family:"IBM Plex Mono",monospace;font-size:.67rem;
    margin-top:.7rem;letter-spacing:.02em;opacity:.8;line-height:1.6;
  }

  /* sections */
  .sec-pad{padding-top:4.5rem;padding-bottom:4.5rem}
  h2{
    font-family:"Montserrat",sans-serif;font-weight:700;color:var(--blue);
    font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.02em;
    line-height:1.2;margin:.7rem 0 1rem;max-width:32rem;
  }
  .sec-intro{max-width:var(--measure);margin:0 0 2.75rem}
  .band{background:var(--card);border-bottom:1px solid var(--rule)}
  .src{
    font-family:"IBM Plex Mono",monospace;font-size:.67rem;
    letter-spacing:.02em;opacity:.75;margin:2rem 0 0;line-height:1.6;
    border-top:1px solid var(--rule);padding-top:.9rem;
  }

  /* proof */
  .proof{background:var(--blue);color:#fff;border-bottom:1px solid var(--blue)}
  .proof .eyebrow{color:#8FD4D4}
  .proof h2{color:#fff;max-width:34rem}
  .proof .sec-intro{color:rgba(255,255,255,.86);max-width:44rem;margin-bottom:2.5rem}
  .proof .src{opacity:.7;border-top-color:rgba(255,255,255,.25);color:rgba(255,255,255,.9)}
  .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.22)}
  .tile{background:var(--blue);padding:1.5rem 1.3rem}
  .tile.claim{background:#00366C}
  .tile p.lab{
    font-family:"IBM Plex Mono",monospace;font-size:.66rem;font-weight:500;
    letter-spacing:.11em;text-transform:uppercase;margin:0 0 .7rem;
    color:rgba(255,255,255,.72);
  }
  .tile.claim p.lab{color:#8FD4D4}
  .tile b{
    display:block;font-family:"Montserrat",sans-serif;font-weight:700;
    font-size:2.1rem;letter-spacing:-.035em;line-height:1;color:#fff;
  }
  .tile span{
    display:block;margin-top:.6rem;font-size:.83rem;line-height:1.5;
    color:rgba(255,255,255,.82);
  }

  /* daily cycle */
  .cycle{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--blue)}
  .step{padding:1.5rem 1.4rem 1.5rem 0;border-right:1px solid var(--rule)}
  .step:last-child{border-right:0;padding-right:0}
  .step:not(:first-child){padding-left:1.4rem}
  .clock{
    font-family:"IBM Plex Mono",monospace;font-size:.74rem;font-weight:600;
    color:var(--teal-t);letter-spacing:.08em;margin:0;
  }
  .step h3{
    font-family:"Montserrat",sans-serif;font-size:1rem;font-weight:600;
    color:var(--blue);letter-spacing:-.008em;margin:.6rem 0 .45rem;
  }
  .step p{margin:0;font-size:.93rem;line-height:1.6}

  /* case studies */
  .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1.9rem}
  .case{border-top:2px solid var(--blue);padding-top:1.15rem;display:flex;flex-direction:column}
  .case .tag{
    font-family:"IBM Plex Mono",monospace;font-size:.66rem;font-weight:500;
    letter-spacing:.11em;text-transform:uppercase;color:var(--teal-t);margin:0 0 .5rem;
  }
  .case h3{
    font-family:"Montserrat",sans-serif;font-size:1.02rem;font-weight:600;
    color:var(--blue);letter-spacing:-.01em;line-height:1.3;margin:0 0 .6rem;
  }
  .case p{margin:0 0 .9rem;font-size:.93rem;line-height:1.6}
  .case dl{
    display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:auto 0 0;
    font-family:"IBM Plex Mono",monospace;font-size:.75rem;
    border-top:1px solid var(--rule);padding-top:.75rem;
  }
  .case dt{color:var(--teal-t);font-weight:500}
  .case dd{margin:0;color:var(--ink);font-weight:500}

  /* grains + fit */
  .grains{display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:start}
  .grain-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
  .grain-list li{
    display:grid;grid-template-columns:5.5rem 1fr;gap:1.2rem;
    padding:.85rem 0;border-bottom:1px solid var(--rule);align-items:baseline;
  }
  .grain-list code{
    font-family:"IBM Plex Mono",monospace;font-size:.82rem;
    font-weight:600;color:var(--blue);
  }
  .grain-list span{font-size:.94rem}
  .fit{list-style:none;padding:0;margin:1.5rem 0 0}
  .fit li{padding:.55rem 0 .55rem 1.5rem;position:relative;font-size:.96rem}
  .fit li::before{
    content:"";position:absolute;left:0;top:1.15em;
    width:.7rem;height:2px;background:var(--teal);
  }
  .fit li strong{color:var(--blue);font-weight:600}

  /* contact */
  .contact-sec{background:var(--blue);color:#fff}
  .contact-sec .wrap{padding-top:4.5rem;padding-bottom:4.5rem}
  .contact-sec .eyebrow{color:#8FD4D4}
  .contact-sec h2{color:#fff}
  .contact-sec .sec-intro{color:rgba(255,255,255,.86);margin-bottom:2rem}
  .contact-card{max-width:38rem}
  .mailto{
    font-family:"Montserrat",sans-serif;font-weight:700;
    font-size:clamp(1.15rem,2.9vw,1.75rem);letter-spacing:-.02em;
    color:#fff;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.4);
    transition:border-color .15s ease;overflow-wrap:break-word;
  }
  .mailto:hover{border-color:#fff}
  .contact-sec .mailto:focus-visible{outline-color:#fff}
  .tel{
    font-family:"IBM Plex Mono",monospace;font-size:.84rem;
    color:rgba(255,255,255,.85);margin-top:1.2rem;
  }
  .tel a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}

  footer{background:var(--light)}
  footer .wrap{
    padding-top:2rem;padding-bottom:2rem;display:flex;
    justify-content:space-between;gap:1.25rem;flex-wrap:wrap;
    font-family:"IBM Plex Mono",monospace;font-size:.71rem;line-height:1.65;
  }
  footer p{margin:0;max-width:40rem}

  @media (max-width:980px){
    .cases{grid-template-columns:1fr;gap:2.2rem}
  }
  @media (max-width:900px){
    .hero .wrap{grid-template-columns:1fr;gap:3rem;padding-top:3.5rem;padding-bottom:3.5rem}
    .cycle{grid-template-columns:1fr 1fr}
    .step{border-bottom:1px solid var(--rule)}
    .step:nth-child(2n){border-right:0;padding-right:0}
    .step:nth-child(odd){padding-left:0}
    .step:nth-child(2n){padding-left:1.4rem}
    .tiles{grid-template-columns:1fr 1fr}
    .grains{grid-template-columns:1fr;gap:2.5rem}
  }
  @media (max-width:560px){
    body{font-size:16px}
    .wrap{padding:0 1.15rem}
    .cycle,.tiles{grid-template-columns:1fr}
    .step{border-right:0;padding:1.25rem 0}
    .step:nth-child(2n){padding-left:0}
    .masthead .contact{display:none}
    .mark .rest{font-size:.7rem;letter-spacing:.15em}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *{transition:none!important;animation:none!important}
  }

  /* ---- site nav (added 2026-08-18 for the multi-page template) ---- */
  .nav{display:flex;align-items:center;gap:1.4rem}
  .nav a{
    font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.04em;
    text-decoration:none;color:var(--gray);padding-bottom:2px;border-bottom:1px solid transparent;
  }
  .nav a:hover,.nav a[aria-current="page"]{color:var(--blue);border-color:var(--blue)}
  .nav .cta-sm{
    font-family:"Montserrat",sans-serif;font-weight:600;font-size:.8rem;
    background:var(--blue);color:#fff;padding:.5rem .95rem;border-radius:3px;border:0;
  }
  .nav .cta-sm:hover{background:var(--blue-d);color:#fff}
  @media (max-width:760px){.nav a:not(.cta-sm){display:none}}

  /* ---- page header (interior pages) ---- */
  .page-head{background:var(--card);border-bottom:1px solid var(--rule)}
  .page-head .wrap{padding-top:3.5rem;padding-bottom:3rem}
  .page-head h1{font-size:clamp(2rem,3.6vw,2.8rem);margin:.7rem 0 .9rem}
  .page-head .lede{margin-bottom:0}

  /* ---- prose + generic blocks ---- */
  .prose{max-width:var(--measure)}
  .prose h3{font-family:"Montserrat",sans-serif;font-size:1.08rem;font-weight:600;color:var(--blue);margin:2rem 0 .5rem}
  .prose p{margin:0 0 1rem}
  .prose ul{padding-left:1.2rem;margin:0 0 1rem}
  .prose li{margin:.3rem 0}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  @media (max-width:900px){.two{grid-template-columns:1fr;gap:2rem}}

  /* the readiness ladder (rung system) */
  .ladder{list-style:none;padding:0;margin:1.5rem 0 0;border-top:1px solid var(--rule);max-width:var(--measure)}
  .ladder li{display:grid;grid-template-columns:2.2rem 9rem 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:.94rem}
  .ladder .n{font-family:"IBM Plex Mono",monospace;font-weight:600;color:var(--teal-t)}
  .ladder .r{font-family:"Montserrat",sans-serif;font-weight:600;color:var(--blue)}
  .ladder li.broken{background:rgba(0,110,110,.06)}
  .ladder li.broken .r::after{content:"lowest broken rung";display:block;margin-top:.15rem;font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-t);white-space:nowrap}

  /* alert-family list */
  .fam{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
  .fam li{background:var(--card);padding:1.1rem 1.2rem}
  .fam .tag{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-t);margin:0 0 .35rem}
  .fam h3{font-family:"Montserrat",sans-serif;font-size:1rem;font-weight:600;color:var(--blue);margin:0 0 .4rem}
  .fam p{margin:0;font-size:.9rem;line-height:1.55}
  @media (max-width:760px){.fam{grid-template-columns:1fr}}

  /* case study long-form */
  .study{border-top:2px solid var(--blue);padding-top:1.4rem;margin-top:3rem}
  .study:first-of-type{margin-top:0}
  .study .tag{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-t);margin:0 0 .5rem}
  .study h2{margin-top:0}
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin:1.5rem 0}
  .stats div{background:var(--card);padding:1.1rem 1rem}
  .stats p.lab{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;margin:0 0 .5rem;color:var(--teal-t)}
  .stats b{display:block;font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.7rem;letter-spacing:-.03em;color:var(--blue);line-height:1}
  .stats span{display:block;margin-top:.45rem;font-size:.8rem;line-height:1.45}
  @media (max-width:760px){.stats{grid-template-columns:1fr 1fr}}

  /* trust / facts table */
  .facts{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:1.2rem}
  .facts th,.facts td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--rule);vertical-align:top}
  .facts th{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-t);font-weight:500;width:12rem}
  .note{font-family:"IBM Plex Mono",monospace;font-size:.72rem;opacity:.8;line-height:1.6;margin-top:1rem}

/* ---- Alerts in action (index) ---- */
.queue{border:1px solid var(--rule);border-top:2px solid var(--blue);background:#fff}
.qrow{display:grid;grid-template-columns:7.2rem 1fr 12rem;gap:1.1rem;align-items:start;
  padding:1.05rem 1.15rem;border-bottom:1px solid var(--rule)}
.qrow:last-child{border-bottom:0}
.qsev{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.28rem .5rem;border-radius:2px;white-space:nowrap;justify-self:start;margin-top:.15rem}
.qsev.act{background:#B3261E;color:#fff}
.qsev.wk{background:var(--blue);color:#fff}
.qsev.watch{background:#E7EDF5;color:var(--blue)}
.qtitle{font-family:"Montserrat",system-ui,sans-serif;font-weight:700;font-size:.98rem;color:var(--ink);margin:0 0 .3rem}
.qdetail{font-size:.85rem;color:var(--gray);margin:0 0 .45rem;line-height:1.55}
.qask{font-size:.82rem;color:var(--ink);margin:0;border-left:3px solid #008080;padding-left:.6rem}
.qside{text-align:right}
.qside b{display:block;font-family:"Montserrat",system-ui,sans-serif;font-weight:800;font-size:1.25rem;color:var(--blue)}
.qside span{display:block;font-size:.7rem;color:var(--gray)}
.qside em{display:block;font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:.62rem;
  letter-spacing:.05em;color:var(--gray);margin-top:.5rem}
.qoutcome{display:flex;gap:1rem;align-items:baseline;margin-top:1.15rem;padding:.95rem 1.15rem;
  background:#F2FBF9;border:1px solid #CDE9E2;border-left:4px solid #008080}
.qo-stamp{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:#006E6E;white-space:nowrap}
.qoutcome p{margin:0;font-size:.9rem}
@media (max-width:900px){
  .qrow{grid-template-columns:1fr}
  .qside{text-align:left;display:flex;gap:.7rem;align-items:baseline;flex-wrap:wrap}
  .qside em{margin-top:0}
  .qoutcome{flex-direction:column;gap:.35rem}
}

/* ---- product screenshot (how-it-works) ---- */
.screen{margin:2.6rem 0 0}
.screen img{display:block;width:100%;height:auto;border:1px solid var(--rule);border-top:3px solid var(--blue);
  box-shadow:0 14px 34px rgba(15,23,42,.12)}
.screen figcaption{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:var(--gray);
  margin-top:.65rem;line-height:1.5}
