/* ==========================================================================
   Accutech Digital Consulting — site.css
   Brand: #0b72b8 blue / #999999 grey / #231f20 ink (taken from the logo)
   ========================================================================== */

:root{
  --blue:#0b72b8;
  --blue-dk:#0a537f;
  --navy:#0a3a5c;
  --navy-dp:#072b45;
  --grey:#999999;
  --ink:#22262b;
  --ink-2:#4d5761;
  --ink-3:#7b858f;
  --paper:#f4f7fa;
  --paper-2:#eaeff4;
  --line:#d9e1e8;
  --line-lt:#eaeff3;
  --rust:#bd5f1c;
  --green:#1a7a56;
  --white:#ffffff;

  --sans:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  --wrap:1140px;   /* widened on large monitors below */
  /* fluid spacing — nothing hardcoded, scales 375px to 1440px */
  --px:clamp(18px,4.5vw,32px);          /* page gutter          */
  --section-py:clamp(38px,5.5vw,60px);  /* section vertical pad  */
  --section-py-sm:clamp(30px,4vw,44px); /* tight section         */
  --hero-py:clamp(36px,5vw,52px);
  --card-p:clamp(18px,2.4vw,24px);
  --gap:clamp(14px,2vw,20px);
  --stack:clamp(28px,4.5vw,52px);       /* two-column gap        */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
[id]{scroll-margin-top:96px}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--serif);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,h6{font-family:var(--sans);font-weight:700;color:var(--ink);
  letter-spacing:-.022em;margin:0;text-wrap:balance;line-height:1.15}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:10px 18px;
  font-family:var(--sans);font-size:14px;z-index:200}
.skip:focus{left:0}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--px);width:100%}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue);margin:0 0 16px;font-weight:500}
.lede{font-size:19px;line-height:1.62;color:var(--ink-2)}
.tabnum{font-variant-numeric:tabular-nums}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-family:var(--sans);font-size:13.5px;font-weight:700;
  letter-spacing:.015em;padding:14px 26px;min-height:46px;line-height:1.3;border:2px solid var(--blue);background:var(--blue);
  color:#fff;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:center}
.btn:hover{background:var(--blue-dk);border-color:var(--blue-dk);color:#fff;text-decoration:none}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line)}
.btn--ghost:hover{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn--light{background:#fff;border-color:#fff;color:var(--navy)}
.btn--light:hover{background:var(--paper);border-color:var(--paper);color:var(--navy)}
.btn--onnavy{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.btn--onnavy:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Utility bar ---------- */
.utility{background:var(--navy-dp);color:#b7cddd;font-family:var(--sans);font-size:11.5px;
  letter-spacing:.04em}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;
  min-height:38px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.utility a{color:#e2eef7;display:inline-block;padding:6px 2px}
.utility .certs{display:flex;gap:18px;flex-wrap:wrap}
.utility .certs span{white-space:nowrap}
.utility b{color:#fff;font-weight:600}

/* ---------- Header ---------- */
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:78px}
.brand{display:flex;align-items:center;flex:0 0 auto;min-height:44px;margin-right:auto}
.brand img{width:196px}
.nav{display:flex;align-items:center;gap:2px}
.nav a{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--ink-2);
  padding:10px 13px;letter-spacing:.005em;white-space:nowrap}
.nav a:hover{color:var(--blue);text-decoration:none}
.nav a.is-current{color:var(--blue)}
.nav .nav-cta{margin-left:10px;background:var(--blue);color:#fff;padding:12px 20px;border:0}
.nav .nav-cta:hover{background:var(--blue-dk);color:#fff}
.burger{display:none;background:none;border:1px solid var(--line);min-width:44px;min-height:44px;
  cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.burger i{display:block;width:19px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{padding:var(--hero-py) 0;background:
  linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));
  gap:var(--stack);align-items:center}
.hero h1{font-size:clamp(32px,4.2vw,50px);line-height:1.04;margin:0 0 22px;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .lede{margin:0 0 30px;max-width:46ch}
.hero .lede strong{color:var(--ink);font-weight:600}
.hero-note{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3)}

/* ---------- Review card (hero object) ---------- */
.revcard{background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -34px rgba(10,58,92,.45)}
.revcard__hd{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.revcard__hd b{color:var(--blue);font-weight:500}
.revcard__img{background:#1e242a;padding:26px 18px;display:flex;justify-content:center;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 5px}
.plate{background:linear-gradient(#fdfdfa,#eceee6);border:2px solid #b4b8aa;border-radius:8px;
  padding:8px 24px 10px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.55);
  transform:rotate(-1.5deg)}
.plate .plate__st{font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:.22em;
  color:#8a3d3d;text-transform:uppercase;line-height:1}
.plate .plate__no{font-family:var(--mono);font-size:34px;font-weight:600;letter-spacing:.09em;
  color:#232a33;line-height:1.1;margin-top:3px}
.plate .plate__ft{font-size:7.5px;letter-spacing:.15em;color:#989e8d;text-transform:uppercase;
  font-family:var(--sans);margin-top:2px}
.revcard__conf{padding:13px 18px;border-bottom:1px solid var(--line);display:flex;
  align-items:center;gap:12px}
.revcard__conf .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.meter{flex:1;height:6px;background:var(--paper-2);position:relative}
.meter i{position:absolute;inset:0 auto 0 0;width:41%;background:var(--rust);display:block}
.meter u{position:absolute;left:75%;top:-4px;bottom:-4px;width:1px;background:var(--ink-3);display:block}
.revcard__conf .val{font-family:var(--mono);font-size:12px;color:var(--rust);font-weight:600}
.revcard__rows{padding:5px 18px 12px}
.revrow{display:grid;grid-template-columns:1fr auto;gap:14px;padding:10px 0;
  border-bottom:1px solid var(--line-lt);align-items:baseline}
.revrow:last-child{border-bottom:0}
.revrow .who{font-family:var(--sans);font-size:12px;color:var(--ink-2)}
.revrow .who b{color:var(--ink);font-weight:600}
.revrow .keyed{font-family:var(--mono);font-size:13.5px;color:var(--ink);letter-spacing:.07em}
.revrow.is-match .keyed{color:var(--green)}
.revcard__ft{background:var(--paper);border-top:1px solid var(--line);padding:12px 18px;
  display:flex;justify-content:space-between;align-items:center;gap:12px}
.revcard__ft .disp{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--green);font-weight:600}
.revcard__ft .tm{font-family:var(--mono);font-size:10px;color:var(--ink-3)}

/* ---------- Inner page hero ---------- */
.pagehero{padding:clamp(30px,4vw,46px) 0 clamp(30px,4vw,44px);
  background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);
  border-bottom:1px solid var(--line)}
.pagehero h1{font-size:clamp(29px,4vw,44px);line-height:1.06;letter-spacing:-.035em;margin:0 0 18px;
  max-width:20ch}
.pagehero .lede{max-width:64ch;margin:0 0 28px}
.pagehero .lede strong{color:var(--ink);font-weight:600}
.crumbs{font-family:var(--sans);font-size:12px;color:var(--ink-3);margin-bottom:20px}
.crumbs a{color:var(--ink-3);font-weight:500}
.crumbs a:hover{color:var(--blue)}
.crumbs span{margin:0 7px;color:var(--line)}

/* ---------- Stat rail ---------- */
.statrail{background:var(--navy);color:#cde0ee}
.statrail .wrap{display:grid;grid-template-columns:repeat(2,1fr);
  padding-top:0;padding-bottom:0}
.statrail > .wrap > div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.statrail b{display:block;font-family:var(--sans);font-size:clamp(22px,2.6vw,29px);font-weight:800;
  color:#fff;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.statrail span{display:block;font-family:var(--sans);font-size:12.5px;color:#9dc2dc;margin-top:8px}
@media (min-width:720px){
  .statrail .wrap{grid-template-columns:repeat(4,1fr)}
  .statrail > .wrap > div{padding:22px 0;border-bottom:0}
}

/* ---------- Offices ---------- */
.offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.offices > div{background:#fff;padding:var(--card-p)}
.offices__tag{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);border:1px solid var(--line);padding:4px 9px;
  margin-bottom:14px}
.offices h3{font-size:17px;margin:0 0 10px}
.offices address{font-style:normal;font-size:14.5px;color:var(--ink-2);line-height:1.6;
  margin-bottom:12px}
.offices p{font-size:14px;color:var(--ink-3);margin:0;line-height:1.5}

/* ---------- Forms ---------- */
.formwrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:var(--stack);align-items:start}
.formwrap--wide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.form{display:flex;flex-direction:column;gap:18px}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:18px}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__note{font-family:var(--sans);font-size:12.5px;color:var(--ink-3);margin:0}
.form button{align-self:flex-start}
.form select{appearance:none;background-image:
  linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),
  linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px}
.form input[type="file"]{padding:11px 14px;background:var(--paper);font-family:var(--sans);font-size:14px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue);outline:none;
  box-shadow:0 0 0 3px rgba(11,114,184,.16)}

.contactside{background:var(--paper);border:1px solid var(--line);padding:var(--card-p)}
.contactside__block{padding:16px 0;border-bottom:1px solid var(--line)}
.contactside__block:first-child{padding-top:0}
.contactside__block:last-child{border-bottom:0;padding-bottom:0}
.contactside h3{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 10px;font-weight:500}
.contactside address{font-style:normal;font-size:15px;color:var(--ink-2);line-height:1.6}
.contactside p{font-size:15px;color:var(--ink-2);line-height:1.6;margin:0}
.foot-certs--light span{border-color:var(--line);color:var(--ink-2)}

.pagehero--center{text-align:center}
.pagehero--center h1,.pagehero--center .lede{margin-left:auto;margin-right:auto}
.pagehero--center .btn-row{justify-content:center}

/* ---------- Long-form prose ---------- */
.prose{max-width:74ch}
.prose h2{font-size:clamp(19px,2.2vw,24px);margin:34px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:16.5px;color:var(--ink-2);line-height:1.7}

/* ---------- Solution blocks ---------- */
.solution{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));
  gap:var(--stack);padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.solution:first-child{padding-top:0}
.solution:last-child{border-bottom:0;padding-bottom:0}
.solution h2{font-size:clamp(22px,2.6vw,29px);margin:0 0 14px}
.solution p{font-size:16.5px;color:var(--ink-2)}
.inline-more{font-family:var(--sans);font-size:13.5px;font-weight:700}
.solution__pts{list-style:none;margin:0;padding:0;background:var(--paper);
  border:1px solid var(--line)}
.solution__pts li{font-family:var(--sans);font-size:14.5px;color:var(--ink-2);
  padding:12px 20px;border-bottom:1px solid var(--line);line-height:1.45}
.solution__pts li:last-child{border-bottom:0}

/* ---------- Certification grid ---------- */
.certgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.certgrid > div{background:#fff;padding:22px 24px}
.certgrid b{display:block;font-family:var(--sans);font-size:19px;font-weight:800;color:var(--blue);
  letter-spacing:-.02em;margin-bottom:8px}
.certgrid span{display:block;font-family:var(--sans);font-size:14px;color:var(--ink);font-weight:600}
.certgrid__note{font-weight:400!important;font-size:12.5px!important;color:var(--ink-3)!important;
  margin-top:7px;line-height:1.45}

/* ---------- Stage detail ---------- */
.stagedetail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.stagedetail article{background:#fff;padding:var(--card-p)}
.sd__n{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue);margin-bottom:11px}
.stagedetail h3{font-size:16.5px;margin:0 0 10px}
.stagedetail p{font-size:15.5px;color:var(--ink-2);line-height:1.58;margin:0 0 12px}
.sd__why{margin:14px 0 0!important;padding-top:12px;border-top:1px dashed var(--line);
  font-size:14.5px!important;color:var(--ink-3)!important}
.sd__why b{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--rust);font-weight:700}

/* ---------- Two column prose ---------- */
.twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));
  gap:var(--stack)}
.twocol p{font-size:16.5px;color:var(--ink-2)}

/* ---------- Module list ---------- */
.modules{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));
  gap:0 var(--stack);border-top:1px solid var(--line)}
.modules li{display:grid;grid-template-columns:46px 1fr;gap:0 16px;padding:17px 0;
  border-bottom:1px solid var(--line);align-items:baseline}
.modules__n{grid-row:span 2;font-family:var(--mono);font-size:12px;color:var(--blue);
  font-weight:600;letter-spacing:.06em}
.modules b{font-family:var(--sans);font-size:15.5px;font-weight:700;color:var(--ink);
  letter-spacing:-.01em}
.modules li > span:last-child{font-size:15px;color:var(--ink-2);line-height:1.5;margin-top:5px}

/* engage cards laid out in a row rather than a stack */
.engage--row{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}

/* ---------- Answer box ---------- */
.answerbox{max-width:82ch}
.answerbox__lead{font-size:clamp(18px,2.1vw,23px);line-height:1.55;color:#e2eff8;margin:0;
  font-family:var(--serif)}
.answerbox__lead em{color:#fff;font-style:italic}

/* ---------- Q&A ---------- */
.qa{margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));
  gap:0 var(--stack);border-top:1px solid var(--line)}
.qa__item{padding:20px 0 22px;border-bottom:1px solid var(--line);break-inside:avoid}
.qa dt{font-family:var(--sans);font-size:16.5px;font-weight:700;color:var(--ink);
  letter-spacing:-.015em;margin:0 0 8px}
.qa dd{margin:0;font-size:16px;line-height:1.62;color:var(--ink-2)}
.qa dd em{color:var(--ink);font-style:italic}

/* ---------- Controls grid ---------- */
.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.controls > div{background:#fff;padding:var(--card-p)}
.controls h3{font-size:15px;margin:0 0 14px;color:var(--blue);letter-spacing:.01em}
.controls ul{list-style:none;margin:0;padding:0}
.controls li{font-size:14.5px;color:var(--ink-2);line-height:1.5;padding:8px 0 8px 18px;
  position:relative;border-bottom:1px solid var(--line-lt)}
.controls li:last-child{border-bottom:0}
.controls li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:1px;
  background:var(--blue)}

/* ---------- Engagement list ---------- */
.engagelist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.engagelist li{padding:15px 0;border-bottom:1px solid var(--line);font-size:16px;
  color:var(--ink-2);line-height:1.58}
.engagelist b{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--ink)}

/* ---------- Section notes ---------- */
.sec__note{font-size:16.5px;color:var(--ink-2);max-width:70ch;margin:0 0 24px}
.sec__note--small{font-family:var(--sans);font-size:12.5px;color:var(--ink-3);margin:14px 0 0}
.sec--navy .sec__note{color:#b3cee2}

/* ---------- Reason code table ---------- */
.codetable{border:1px solid var(--line);background:#fff}
.codetable__hd,.codetable__rw{display:grid;grid-template-columns:150px 1fr 118px;gap:18px;
  padding:13px 20px;align-items:baseline}
.codetable__hd{border-bottom:1px solid var(--line);background:var(--paper);
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.codetable__rw{border-bottom:1px solid var(--line-lt);font-size:15.5px;color:var(--ink-2)}
.codetable__rw:last-child{border-bottom:0}
.codetable .cd{font-family:var(--mono);font-size:12.5px;color:var(--blue);letter-spacing:.04em}
.codetable .rt{font-family:var(--sans);font-size:12px;color:var(--ink-3);text-align:right}
@media (max-width:660px){
  .codetable__hd{display:none}
  .codetable__rw{grid-template-columns:1fr;gap:5px;padding:15px 18px}
  .codetable .rt{text-align:left}
}

/* ---------- Credential strip ---------- */
.credstrip{background:var(--navy);color:#cde0ee}
.credstrip .wrap{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;
  padding-top:16px;padding-bottom:16px;font-family:var(--sans);font-size:12px;letter-spacing:.03em}
.credstrip b{color:#fff;font-weight:700}
.credstrip .sep{color:rgba(255,255,255,.3)}

/* ---------- Sections ---------- */
.sec{padding:var(--section-py) 0}
.sec--paper{background:var(--paper)}
.sec--navy{background:var(--navy);color:#c9dded}
.sec--navy h2,.sec--navy h3{color:#fff}
.sec--navy .eyebrow{color:#7db9e2}
.sec--tight{padding:var(--section-py-sm) 0}
.sec__head{max-width:62ch;margin-bottom:34px}
.sec__head h2{font-size:clamp(25px,3.1vw,35px);margin:0 0 14px}
.sec__head p{font-size:17.5px;color:var(--ink-2);margin:0}
.sec--navy .sec__head p{color:#b3cee2}

/* ---------- Proof lead ---------- */
.prooflead{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:14px var(--stack);align-items:end;margin-bottom:26px;padding-bottom:22px;
  border-bottom:1px solid var(--line)}
.prooflead p{font-size:17px;color:var(--ink-2);margin:0;max-width:66ch}
.prooflead p b{color:var(--ink);font-weight:600}
.prooflead > a{font-family:var(--sans);font-size:13.5px;font-weight:700;white-space:nowrap;
  justify-self:start;padding:6px 0}

/* ---------- Trust band ---------- */
.trustband{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));
  gap:var(--stack)}
.trustband h2{font-size:clamp(20px,2.3vw,25px);margin:0 0 12px}
.trustband p{font-size:16px;color:#b3cee2;margin:0 0 18px}
.trustband .eyebrow{margin-bottom:12px}
.trustband .chips{margin-bottom:0}

/* ---------- Metric band ---------- */
.metrics{display:grid;grid-template-columns:repeat(2,1fr);
  border:1px solid var(--line);background:#fff}
.metrics > div{padding:var(--card-p);border-right:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.metrics > div:last-child{border-right:0}
.metrics > div{margin:0 -1px -1px 0}
.metrics .m-n{font-family:var(--sans);font-weight:800;font-size:clamp(28px,3.4vw,40px);
  color:var(--blue);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.metrics .m-n span{font-size:.46em;color:var(--ink-3);font-weight:700;letter-spacing:-.01em}
.metrics .m-l{font-family:var(--sans);font-size:12.5px;color:var(--ink-2);margin-top:12px;
  line-height:1.45;font-weight:500}

/* ---------- Proof / Texas ---------- */
.proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));
  gap:var(--stack);align-items:center}
.proof h2{font-size:clamp(24px,3vw,33px);margin:0 0 18px}
.proof p{color:#b3cee2;font-size:17px}
.engage{display:grid;grid-template-columns:1fr;gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.engage article{background:var(--navy);padding:20px 22px}
.engage h3{font-size:14.5px;margin:0 0 7px;font-family:var(--sans);font-weight:700}
.engage p{font-size:14px;margin:0;color:#a9c8de;line-height:1.55}
.engage .tagpill{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:#7db9e2;border:1px solid rgba(255,255,255,.25);
  padding:3px 8px;margin-bottom:11px}

/* ---------- Process steps ---------- */
.steps{border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:64px 250px 1fr;gap:28px;padding:22px 0;
  border-bottom:1px solid var(--line);align-items:start}
.step__n{font-family:var(--mono);font-size:12px;color:var(--blue);font-weight:600;padding-top:3px;
  letter-spacing:.06em}
.step__t{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--ink);
  letter-spacing:-.012em;padding-top:1px}
.step__d{font-size:16px;color:var(--ink-2);line-height:1.6}
.step__d .flagcode{font-family:var(--mono);font-size:12.5px;color:var(--rust);
  letter-spacing:.04em;white-space:nowrap}

/* ---------- Section head with an inline link ---------- */
.sec__head--row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;
  gap:30px;flex-wrap:wrap;padding-bottom:0}
.sec__head--row > div{max-width:56ch}
.sec__head--row h2{margin:0}

/* ---------- Full-width floor band ---------- */
.floorband{position:relative;overflow:hidden;background:var(--navy-dp);
  min-height:clamp(280px,30vw,380px);display:flex;align-items:flex-end}
.floorband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 42%}
.floorband::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,43,69,.55) 0%,rgba(7,43,69,.18) 55%,rgba(7,43,69,0) 100%)}
.floorband__copy{position:relative;z-index:2;width:100%;padding:clamp(30px,4vw,46px) 0;
  background:linear-gradient(to top,rgba(7,43,69,.96) 0%,rgba(7,43,69,.93) 55%,
    rgba(7,43,69,.74) 82%,rgba(7,43,69,0) 100%)}
.floorband .eyebrow{color:#7db9e2;margin-bottom:10px}
.floorband h2{color:#fff;font-size:clamp(22px,3vw,33px);margin:0 0 10px;max-width:18ch}
.floorband p{color:#cbdfee;font-size:16.5px;margin:0;max-width:52ch}

/* ---------- Process: photo beside the stages ---------- */
.processgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:var(--stack);align-items:start}
.processgrid__shot{margin:0}
.processgrid__shot img{width:100%;height:auto;border:1px solid var(--line);display:block}
.processgrid__shot figcaption{font-family:var(--sans);font-size:12px;color:var(--ink-3);
  margin-top:11px;line-height:1.5}
.processgrid .stages{grid-template-columns:1fr}

/* ---------- Process stages (homepage summary) ---------- */
.stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.stages article{background:#fff;padding:var(--card-p)}
.stage__n{display:block;font-family:var(--sans);font-size:13.5px;font-weight:700;color:var(--blue);
  margin-bottom:9px;letter-spacing:-.005em}
.stages p{font-size:15.5px;color:var(--ink-2);margin:0;line-height:1.55}

/* ---------- Service index (compact) ---------- */
.svcindex{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.svcindex a{background:#fff;padding:16px 20px;display:block;min-height:44px;text-decoration:none;
  transition:background .15s}
.svcindex a:hover{background:#fbfcfd;text-decoration:none}
.svcindex a:hover b{color:var(--blue)}
.svcindex b{display:block;font-family:var(--sans);font-size:14.5px;font-weight:700;color:var(--ink);
  margin-bottom:5px;letter-spacing:-.01em;transition:color .15s}
.svcindex b::after{content:" \2192";color:var(--blue);font-weight:600}
.svcindex span{display:block;font-size:13.5px;color:var(--ink-3);line-height:1.45}

/* ---------- Service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--gap)}
.card{background:#fff;border:1px solid var(--line);padding:26px 24px 28px;display:flex;
  flex-direction:column}
.card--paper{background:var(--paper)}
.card__k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue);margin-bottom:14px}
.card h3{font-size:16px;margin:0 0 10px}
.card p{font-size:15.5px;color:var(--ink-2);margin:0;line-height:1.58}
.card__more{font-family:var(--sans);font-size:12.5px;font-weight:700;color:var(--blue);
  margin-top:16px;letter-spacing:.01em}

/* ---------- Differentiators ---------- */
.diffs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:1px;background:var(--line);border:1px solid var(--line)}
.diffs--three{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.diffs > div{background:#fff;padding:26px 28px}
.diffs h3{font-size:16px;margin:0 0 9px;display:flex;align-items:baseline;gap:10px}
.diffs h3 em{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--blue);
  letter-spacing:.12em}
.diffs p{font-size:15.5px;color:var(--ink-2);margin:0;line-height:1.58}

/* ---------- Why band ---------- */
.whyband{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:var(--stack);align-items:center}
.whyband__lead h2{font-size:clamp(22px,2.7vw,29px);margin:0 0 12px}
.whyband__lead p{font-size:16.5px;color:var(--ink-2);margin:0 0 20px}
.whyband__pts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.whyband__pts li{padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;
  color:var(--ink-2);line-height:1.5}
.whyband__pts b{font-family:var(--sans);font-size:14.5px;font-weight:700;color:var(--ink)}

/* ---------- Security band ---------- */
.secband{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:var(--stack);align-items:center}
.secband h2{font-size:clamp(22px,2.7vw,29px);margin:0 0 12px}
.secband p{font-size:16.5px;color:#b3cee2;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-family:var(--sans);font-size:12.5px;font-weight:500;color:#d3e6f4;
  border:1px solid rgba(255,255,255,.28);padding:8px 13px}

/* ---------- Governance list ---------- */
.gov{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));
  gap:var(--stack);align-items:start}
.gov h2{font-size:clamp(24px,3vw,33px);margin:0 0 18px}
.gov p{font-size:17px}
.govlist{list-style:none;margin:0;padding:0}
.govlist li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.16);font-size:15.5px;color:#c9dded}
.govlist li:first-child{border-top:1px solid rgba(255,255,255,.16)}
.govlist i{font-family:var(--mono);font-style:normal;font-size:10.5px;color:#7db9e2;
  letter-spacing:.1em;padding-top:4px}

/* ---------- CTA band ---------- */
.ctaband{background:var(--blue);color:#fff;padding:var(--section-py) 0}
.ctaband .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;
  flex-wrap:wrap}
.ctaband h2{color:#fff;font-size:clamp(24px,3vw,32px);margin:0 0 10px}
.ctaband p{color:#d4eaf8;font-size:17px;margin:0;max-width:52ch}

/* ---------- Footer ---------- */
.site-foot{background:var(--navy-dp);color:#a8c4d6;font-family:var(--sans);font-size:14px;
  padding:var(--section-py) 0 24px}
.site-foot a{color:#cbe1f0}
.site-foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--stack) var(--gap)}
.foot-brand img{width:190px;margin-bottom:20px}
.foot-brand address{font-style:normal;line-height:1.75;font-size:14px;color:#a8c4d6}
.foot-brand address b{color:#fff;font-weight:600;display:block;margin-top:12px}
.site-foot h4{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:#6fa9d1;margin:0 0 15px;font-weight:500}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:9px;line-height:1.5}
.foot-certs{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.foot-certs span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.24);padding:5px 9px;color:#cbe1f0}
.foot-base{border-top:1px solid rgba(255,255,255,.15);margin-top:44px;padding-top:20px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:#7ea5c0}
.foot-base a{color:#7ea5c0}

/* form controls: 16px minimum stops iOS Safari auto-zooming on focus */
input,select,textarea{font-family:var(--sans);font-size:16px;padding:12px 14px;
  border:1px solid var(--line);background:#fff;color:var(--ink);width:100%;min-height:48px}
textarea{min-height:120px;line-height:1.55}
label{display:block;font-family:var(--sans);font-size:13px;font-weight:600;margin-bottom:6px}

/* Large monitors: a 1140px column stranded in the middle of a 2560px display
   reads as a broken page, so the container and gutters grow with the screen. */
@media (min-width:1500px){ :root{ --wrap:1260px; --px:40px } }
@media (min-width:1800px){ :root{ --wrap:1380px; --px:48px } }
@media (min-width:2200px){ :root{ --wrap:1520px; --px:56px } }
@media (min-width:2700px){ :root{ --wrap:1660px; --px:64px } }
/* full-bleed photo bands get taller as they get wider, so they never look like a letterbox strip */
@media (min-width:1800px){ .floorband{min-height:clamp(380px,24vw,520px)} }

/* ---------- Responsive: mobile is the base, min-width adds desktop ---------- */
@media (min-width:720px){
  .metrics{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:880px){
  .foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}
}
/* below the desktop nav breakpoint, footer links become thumb-sized */
@media (max-width:900px){
  .site-foot li{margin-bottom:2px}
  .site-foot li a,.foot-brand address a{display:inline-block;padding:14px 0;min-height:44px;line-height:1.3}
}
/* service index: 1 up on phones, 2 up on large phones and tablets, 3 up on desktop */
@media (min-width:560px){ .svcindex{grid-template-columns:repeat(2,1fr)} }
@media (min-width:960px){ .svcindex{grid-template-columns:repeat(3,1fr)} }

@media (max-width:1040px){
  .step{grid-template-columns:52px 200px 1fr;gap:20px}
}
@media (max-width:900px){
  :root{--gut:24px}
  .burger{display:flex}
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;
    box-shadow:0 18px 30px -20px rgba(10,58,92,.4)}
  .nav[hidden]{display:none}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line-lt);font-size:15px}
  .nav .nav-cta{margin:14px 0 0;text-align:center;padding:14px 20px;border-bottom:0}
  .sec__head--row{align-items:flex-start}
  .formwrap--wide{grid-template-columns:1fr}
}
@media (max-width:660px){
  body{font-size:16px}
  .utility .wrap{justify-content:center;text-align:center}
  .utility a{padding:13px 6px;min-height:44px}
  .utility .certs{justify-content:center;gap:12px}
  .step{grid-template-columns:1fr;gap:6px;padding:18px 0}
  .step__n{padding-top:0}
  .ctaband .wrap{gap:24px}
  .btn{width:100%}
  .btn-row{flex-direction:column}
  .brand img{width:164px}
  .plate .plate__no{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   Motion — the hero card plays one real review, once, on load.
   Everything below degrades to the finished state with no JS.
   ========================================================================== */

/* JS rewinds the card to its "in progress" state by adding .is-playing */
.revcard.is-playing .revrow{opacity:.18;transition:opacity .35s ease}
.revcard.is-playing .revrow.is-done{opacity:1}
.revcard.is-playing .revrow .keyed{opacity:0;transform:translateX(6px);
  transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.3,1)}
.revcard.is-playing .revrow.is-done .keyed{opacity:1;transform:none}
.revcard.is-playing .revcard__ft .disp{opacity:0;transition:opacity .4s ease}
.revcard.is-playing.is-released .revcard__ft .disp{opacity:1}
.revcard.is-playing .revcard__ft .disp::before{content:"";display:inline-block;width:7px;height:7px;
  border-radius:50%;background:currentColor;margin-right:8px;vertical-align:baseline}

.revcard__ft .stat-wait{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--rust);font-weight:600;display:none}
.revcard.is-playing:not(.is-released) .revcard__ft .stat-wait{display:inline-block}
.revcard.is-playing:not(.is-released) .revcard__ft .disp{display:none}
.revcard.is-playing:not(.is-released) .revcard__ft .stat-wait::before{content:"";display:inline-block;
  width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:8px;
  animation:pulse 1s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}

/* meter fills from 0 while "reading" */
.revcard.is-playing .meter i{width:0;transition:width 1.1s cubic-bezier(.3,.7,.4,1)}
.revcard.is-playing.is-scored .meter i{width:41%}
.revcard.is-playing .revcard__conf .val{opacity:0;transition:opacity .3s ease}
.revcard.is-playing.is-scored .revcard__conf .val{opacity:1}

/* scan sweep across the captured image while reviewers work */
.revcard__img{position:relative;overflow:hidden}
.scanline{position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(122,200,255,.9),transparent);
  opacity:0;pointer-events:none}
.revcard.is-playing:not(.is-released) .scanline{opacity:1;animation:sweep 1.9s ease-in-out infinite}
@keyframes sweep{0%{transform:translateY(0)}50%{transform:translateY(112px)}100%{transform:translateY(0)}}

.revcard.is-playing .plate{filter:blur(2.2px);transition:filter .8s ease}
.revcard.is-playing.is-scored .plate{filter:none}

/* replay control */
.revcard__replay{background:none;border:0;padding:12px 6px;margin:-12px -6px;cursor:pointer;
  min-height:44px;font-family:var(--mono);
  font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.revcard__replay:hover{color:var(--blue)}
.revcard__replay span{display:inline-block;margin-right:5px;font-size:11px}

/* metric count-up: HTML always holds the final value */
.card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 34px -24px rgba(10,58,92,.5);
  border-color:#c3d3e0}
.engage article{transition:background .2s ease}
.engage article:hover{background:#0c4671}

@media (prefers-reduced-motion:reduce){
  .revcard.is-playing .revrow,
  .revcard.is-playing .revrow .keyed,
  .revcard.is-playing .revcard__ft .disp{opacity:1!important;transform:none!important}
  .revcard.is-playing .meter i{width:41%!important}
  .revcard.is-playing .plate{filter:none!important}
  .revcard.is-playing .revcard__conf .val{opacity:1!important}
  .scanline{display:none!important}
  .revcard.is-playing:not(.is-released) .revcard__ft .stat-wait{display:none!important}
  .revcard.is-playing:not(.is-released) .revcard__ft .disp{display:inline-block!important}
  .card:hover{transform:none}
}
