:root{
  --navy:#16324F; --navy-deep:#0C1F33; --navy-mid:#1E4166;
  --blue:#1D6FE0; --blue-bright:#2E86FF;
  --ice:#EEF4FA; --paper:#FFFFFF; --steel:#54677A; --line:#CBDAE8;
  --brass:#C08A2D; --brass-deep:#8D630E; --brass-bg:#F8F1E1;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
body{font-family:'Public Sans',system-ui,sans-serif;color:var(--navy);background:var(--paper);line-height:1.6;font-size:17px;}
h1,h2,h3{font-family:'Archivo',sans-serif;line-height:1.04;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
a{color:var(--blue);}
img{max-width:100%;height:auto;display:block;}

/* machined chamfer — the site's signature. no rounded corners anywhere */
.cut{clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);}
.cut-sm{clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);}

.spray{display:inline-block;vertical-align:-2px;margin-right:9px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);font-weight:600;display:flex;align-items:center;margin-bottom:16px;}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px;}
.brand{display:flex;align-items:center;text-decoration:none;}
.brand img{height:52px;width:auto;}
nav.links{display:flex;gap:26px;align-items:center;}
nav.links a{text-decoration:none;color:var(--navy);font-weight:600;font-size:15px;padding-bottom:2px;border-bottom:2px solid transparent;}
nav.links a:hover{color:var(--blue);}
nav.links a.active{border-bottom-color:var(--blue);color:var(--blue);}
.call-btn{background:var(--blue);color:#fff!important;padding:11px 22px;font-weight:700;text-decoration:none;font-size:15px;white-space:nowrap;transition:background .15s ease;border-bottom:none!important;}
.call-btn:hover{background:var(--navy);}
/* nav: desktop inline; mobile collapses to a disclosure menu */
.menu-links{display:flex;gap:26px;align-items:center;}
.navtoggle{display:none;background:none;border:0;cursor:pointer;color:var(--navy);padding:8px;margin:0;line-height:0;}
.navtoggle svg{display:block;}
@media(max-width:960px){
  .menu-links{display:none;}
  .navtoggle{display:inline-flex;align-items:center;}
  header.nav-open .navtoggle{color:var(--blue);}
  header.nav-open .menu-links{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--line);
    box-shadow:0 8px 16px rgba(12,31,51,.10);
    padding:6px 24px 18px;
  }
  header.nav-open .menu-links a{padding:15px 2px;border-bottom:1px solid var(--line);font-size:17px;}
  header.nav-open .menu-links a:last-child{border-bottom:0;}
}

/* skip link: visually hidden until keyboard focus */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;font-weight:700;text-decoration:none;}
.skip:focus{left:0;}

.sprayfield{background-image:repeating-linear-gradient(-20deg,rgba(255,255,255,.045) 0 2px,transparent 2px 96px);}

section{padding:92px 0;}
section.alt{background:var(--ice);}
.sec-head{max-width:660px;margin-bottom:54px;}
.sec-head h2, h2.big{font-size:clamp(28px,3.6vw,42px);font-weight:800;font-stretch:82%;text-transform:uppercase;letter-spacing:.005em;}
.sec-head p{margin-top:14px;color:var(--steel);font-size:17.5px;}

/* hairline as INSET shadow: outset shadows are clipped away by the .cut clip-path */
.panel{background:#fff;padding:34px 30px;position:relative;box-shadow:inset 0 0 0 1px var(--line);}
section.alt .panel{box-shadow:none;}
.panel.dark{background:var(--navy);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}
.panel h3,.panel h2{font-size:20px;font-weight:800;font-stretch:88%;text-transform:uppercase;margin-bottom:12px;}
.panel p{color:var(--steel);font-size:16px;}
.panel.dark p{color:#B9CCDD;}
.tag{display:inline-block;margin-bottom:16px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-deep);background:var(--brass-bg);padding:5px 12px;}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:880px){.grid2,.grid3{grid-template-columns:1fr;}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media(max-width:880px){.split{grid-template-columns:1fr;}}

.checklist{list-style:none;margin-top:26px;display:grid;gap:16px;}
.checklist li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px;}
.checklist li svg{flex:none;margin-top:4px;}

.dataplate{background:var(--navy);color:#fff;padding:38px 34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}
.dataplate h3{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8FB4D9;margin-bottom:22px;}
.dataplate table{width:100%;border-collapse:collapse;font-size:15.5px;}
.dataplate td{padding:11px 0;border-bottom:1px dashed rgba(255,255,255,.18);vertical-align:top;}
.dataplate td:first-child{color:#A9C2D8;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding-right:18px;white-space:nowrap;}
.dataplate tr:last-child td{border-bottom:none;}
.dataplate td b{color:#fff;font-weight:600;}
.dataplate a{color:#fff;text-decoration:none;}

.cta-primary{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:16px 30px;font-size:17px;transition:background .15s ease;}
.cta-primary:hover{background:var(--blue-bright);}
.cta-ghost{color:var(--blue);text-decoration:none;font-weight:700;font-size:16px;}
.cta-ghost:hover{text-decoration:underline;}
.arrowlink{font-weight:700;text-decoration:none;color:var(--blue);font-size:15.5px;}
.arrowlink:hover{text-decoration:underline;}

/* pre-footer contact band */
.band{background:var(--navy);color:#fff;padding:74px 0;}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;}
.band h2{font-size:clamp(24px,3vw,34px);font-weight:800;font-stretch:82%;text-transform:uppercase;max-width:20ch;}
.band .phone{font-family:'Archivo',sans-serif;font-weight:900;font-stretch:80%;font-size:clamp(28px,3.6vw,40px);color:#fff;text-decoration:none;display:block;}
.band .phone:hover{color:var(--blue-bright);}
.band .meta{color:#8FB4D9;font-size:15px;margin-top:8px;}
.band .meta a{color:#C9D8E6;text-decoration:none;}

footer{background:var(--navy-deep);color:#7E9DB8;font-size:14px;}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px;}
footer a{color:#A9C2D8;text-decoration:none;}
footer a:hover{color:#fff;}

:focus-visible{outline:3px solid var(--blue-bright);outline-offset:2px;}
