/* Layout: full-bleed video hero with the nav floating over it, then wide colour bands (pillars, stats, safety, contact) alternating with light content sections. Colour comes from site-safety orange, steel blue and a hi-vis yellow on deep navy. */
:root{
  --paper:#F5F7FA;
  --sheet:#FFFFFF;
  --ink:#0D1B2E;
  --muted:#4F5D70;
  --rule:#D6DDE6;
  --draw:#9AA8B8;
  --draw-strong:#5C6B7D;
  --accent:#E8590C;          /* safety orange */
  --on-accent:#FFFFFF;
  --navy:#0B2545;
  --navy-2:#13315C;
  --steel:#1F6FD1;           /* steel blue */
  --hivis:#FFC530;           /* hi-vis yellow */
  --teal:#0E9F8E;
  --on-dark:#F2F6FB;
  --on-dark-muted:#AFC0D6;
  --dark-rule:rgba(255,255,255,.16);
  --f-display:"Archivo","Arial Narrow",Arial,system-ui,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gutter:clamp(16px,4vw,48px);
  --max:1240px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#08111F; --sheet:#0F1B2E; --ink:#E7EDF5; --muted:#9DAABB; --rule:#22324A;
    --draw:#4A5B72; --draw-strong:#8496AD; --accent:#FF7A33; --on-accent:#1A0A02;
    --navy:#0A1A33; --navy-2:#122746; --steel:#4C93EA; --hivis:#FFCB47; --teal:#25BFAC;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#08111F; --sheet:#0F1B2E; --ink:#E7EDF5; --muted:#9DAABB; --rule:#22324A;
  --draw:#4A5B72; --draw-strong:#8496AD; --accent:#FF7A33; --on-accent:#1A0A02;
  --navy:#0A1A33; --navy-2:#122746; --steel:#4C93EA; --hivis:#FFCB47; --teal:#25BFAC;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--navy)}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:calc(var(--max) + 2 * var(--gutter));margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:50}
.skip:focus{left:8px}

h1,h2,h3{font-family:var(--f-display);color:inherit;text-wrap:balance;margin:0}
h2{font-size:clamp(2rem,1.1rem + 3vw,3.4rem);font-weight:800;font-stretch:112%;line-height:1.02;letter-spacing:-.015em}
h3{font-size:1.3rem;font-weight:700;font-stretch:108%;line-height:1.2}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
.eyebrow::before{content:"";width:22px;height:3px;background:currentColor}
.lede{font-size:1.15rem;color:var(--muted);max-width:58ch}
.sec{padding-block:clamp(72px,10vw,128px)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font:600 .95rem/1 var(--f-body);padding:1rem 1.4rem;border-radius:0;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.btn .arr{font-family:var(--f-mono);font-weight:500;transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-light{border-color:#fff;color:#fff;background:transparent}
.btn-light:hover{background:#fff;color:#0B2545}
.link{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.link .arr{font-family:var(--f-mono);transition:transform .2s}
.link:hover .arr{transform:translateX(4px)}

/* Header: floats over the hero, turns solid on scroll */
.site-head{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:20;color:#fff;transition:background-color .3s,box-shadow .3s}
.site-head.solid{background:var(--navy);box-shadow:0 1px 0 var(--dark-rule)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.logo{display:block;height:34px;width:auto;fill:currentColor;flex:none}
.brand b{font-family:var(--f-display);font-weight:860;font-stretch:125%;font-size:1.3rem;letter-spacing:.01em}
.brand span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:#C9D6E6}
.nav{display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;font-size:.95rem;font-weight:500;color:#fff}
.nav a:not(.btn){position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--hivis);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:not(.btn):hover::after{transform:scaleX(1)}
.nav .btn{padding:.75rem 1.1rem}
.nav a.login{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:2px solid rgba(255,255,255,.7);font-weight:600;transition:background-color .2s,color .2s,border-color .2s}
.nav a.login::after{content:none}
.nav a.login svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.nav a.login:hover{background:#fff;border-color:#fff;color:var(--navy)}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);background:var(--navy);color:#fff;border-left:4px solid var(--hivis);font-size:.92rem;padding:12px 16px;box-shadow:0 6px 24px rgba(0,0,0,.3)}
.menu-btn{display:none;font:500 .8rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:none;border:2px solid #fff;color:#fff;padding:.55rem .85rem;cursor:pointer}

/* Hero */
.hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;color:#fff;background:#0B2545;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media video,.hero-media canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,16,32,.72) 0%,rgba(6,16,32,.15) 30%,rgba(6,16,32,.25) 55%,rgba(6,16,32,.88) 100%),linear-gradient(90deg,rgba(6,16,32,.55) 0%,rgba(6,16,32,0) 65%)}
.hero-inner{width:100%;padding-block:150px clamp(40px,6vw,72px)}
.hero .eyebrow{color:var(--hivis)}
h1{font-size:clamp(2.9rem,1.2rem + 6.2vw,6.4rem);font-weight:860;font-stretch:115%;line-height:.94;letter-spacing:-.025em;max-width:13ch;color:#fff}
h1 em{font-style:normal;color:var(--hivis)}
.hero-sub{margin-top:1.4rem;font-size:clamp(1.05rem,.95rem + .4vw,1.3rem);line-height:1.55;max-width:52ch;color:#DCE6F2}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.hero-rail{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;margin-top:clamp(40px,6vw,72px);padding-top:20px;border-top:1px solid rgba(255,255,255,.28)}
.jump{display:flex;flex-wrap:wrap;gap:6px 28px;list-style:none;margin:0;padding:0}
.jump a{font-family:var(--f-display);font-weight:800;font-stretch:118%;font-size:clamp(1.3rem,1rem + 1.2vw,2rem);text-decoration:none;color:#fff;transition:color .2s}
.jump a:hover{color:var(--hivis)}
.jump li:nth-child(1) a span{color:var(--hivis)}
.jump li:nth-child(2) a span{color:var(--accent)}
.jump li:nth-child(3) a span{color:#6FB3FF}
.vid-ctl{display:inline-flex;align-items:center;gap:10px;font:500 .72rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;background:rgba(6,16,32,.45);color:#fff;border:1px solid rgba(255,255,255,.4);padding:.55rem .8rem;cursor:pointer;backdrop-filter:blur(4px)}
.vid-ctl:hover{border-color:#fff}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pillar{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(28px,4vw,48px) clamp(20px,3vw,40px) clamp(32px,4vw,52px);color:#fff;min-width:0;overflow:hidden}
.pillar:nth-child(1){background:var(--steel)}
.pillar:nth-child(2){background:var(--accent)}
.pillar:nth-child(3){background:var(--navy-2)}
.pillar .num{font:500 .75rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.pillar h3{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:860;font-stretch:118%;line-height:1}
.pillar p{color:rgba(255,255,255,.88);max-width:36ch}
.pillar ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pillar li{font-size:.82rem;padding:.3rem .6rem;border:1px solid rgba(255,255,255,.45)}
.pillar .link{margin-top:auto;color:#fff;align-self:flex-start}
.pillar svg{position:absolute;right:-18px;top:-18px;width:150px;height:150px;opacity:.16;pointer-events:none}

/* Stats */
.stats-band{background:var(--navy);color:var(--on-dark);padding-block:clamp(56px,8vw,96px)}
.stats-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:clamp(32px,4vw,48px)}
.stats-head h2{max-width:20ch}
.stats-head .eyebrow{color:var(--hivis)}
.stats-head p{color:var(--on-dark-muted);max-width:44ch}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;padding:24px 20px 0 0;border-top:4px solid var(--c,var(--accent));margin:0}
.stat + .stat{padding-left:20px}
.stat:nth-child(1){--c:var(--hivis)}
.stat:nth-child(2){--c:var(--accent)}
.stat:nth-child(3){--c:#6FB3FF}
.stat:nth-child(4){--c:var(--teal)}
.stat dd{margin:0;font-family:var(--f-display);font-weight:860;font-stretch:115%;font-size:clamp(2.6rem,1.6rem + 3vw,4.6rem);line-height:1;font-variant-numeric:tabular-nums;color:#fff}
.stat dd small{font-size:.5em;color:var(--c)}
.stat dt{margin-top:.7rem;font-size:.95rem;color:var(--on-dark-muted);line-height:1.35}

/* About */
.two{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:end}
.stack{display:grid;gap:1rem}
.stack p{color:var(--muted);max-width:60ch}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:clamp(48px,6vw,72px)}
.principle{padding:28px 26px 30px;background:var(--sheet);border-top:5px solid var(--c)}
.principle:nth-child(1){--c:var(--steel)}
.principle:nth-child(2){--c:var(--accent)}
.principle:nth-child(3){--c:var(--teal)}
.principle p{color:var(--muted);margin-top:.6rem;font-size:1rem;max-width:40ch}

/* Services */
.svc-sec{background:var(--sheet)}
.svc-head{margin-bottom:clamp(32px,4vw,56px)}
.svc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,56px);align-items:start}
.svc-list{display:grid;gap:26px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 100px)}
.group-label{display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-bottom:8px;margin-bottom:4px;border-bottom:2px solid var(--gc,var(--rule))}
.svc-group:nth-child(1){--gc:var(--steel)}
.svc-group:nth-child(2){--gc:var(--teal)}
.svc-group:nth-child(3){--gc:var(--accent)}
.svc-group:nth-child(4){--gc:var(--hivis)}
.svc-group ul{list-style:none;margin:0;padding:0}
.svc-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:8px 10px 8px 0;background:none;border:0;color:var(--ink);font:500 1rem/1.3 var(--f-body);cursor:pointer;transition:color .2s,background-color .2s,padding .2s}
.svc-btn::before{content:"";width:10px;height:10px;border:2px solid var(--draw-strong);flex:none;transition:background-color .2s,border-color .2s}
.svc-btn:hover{color:var(--accent)}
.svc-btn[aria-pressed="true"]{font-weight:600;background:var(--paper);padding-left:10px}
.svc-btn[aria-pressed="true"]::before{background:var(--accent);border-color:var(--accent)}

.sheet{background:var(--paper);border:1px solid var(--rule)}
.dwg-bar{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:12px 18px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dwg-bar.top{background:var(--navy);color:var(--on-dark-muted)}
.dwg-bar.bot{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.dwg-bar strong{color:var(--accent);font-weight:500}
.key{display:inline-flex;align-items:center;gap:8px}
.key::before{content:"";width:18px;height:3px;background:var(--accent)}
.dwg{padding:8px 10px 4px;background:var(--sheet)}
.dwg svg{display:block;width:100%;height:auto;max-width:100%}
.dwg svg *{vector-effect:non-scaling-stroke}
.dwg .ln{fill:none;stroke:var(--draw);stroke-width:1.3;transition:stroke .25s,stroke-width .25s,fill .25s}
.dwg .st{stroke:var(--draw-strong);stroke-width:1.8}
.dwg .fl{fill:var(--sheet)}
.dwg .sol{fill:var(--draw);stroke:none;transition:fill .25s}
.dwg text{fill:var(--muted);stroke:none;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em}
.dwg .grade{fill:none;stroke:var(--draw-strong);stroke-width:1.8}
.dwg g.on .ln,.dwg g.on .st{stroke:var(--accent);stroke-width:2.2}
.dwg g.on .sol{fill:var(--accent)}
.dwg g.on text{fill:var(--accent)}

.svc-panel{padding:clamp(20px,3vw,32px);background:var(--sheet)}
.svc-panel h3{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);font-stretch:112%}
.svc-panel .eyebrow{margin-bottom:.6rem}
.svc-panel .sum{margin-top:.5rem;color:var(--muted);max-width:60ch}
.bul{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 28px;list-style:none;padding:0;margin:20px 0 0}
.bul li{position:relative;padding-left:18px;font-size:.98rem;line-height:1.45}
.bul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--accent)}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 28px;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--rule)}
.meta dt{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.meta dd{margin:4px 0 0;font-size:.95rem}
.div{font-family:var(--f-mono);font-size:.85rem;font-variant-numeric:tabular-nums}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:clamp(36px,4vw,56px)}
.ind{padding:26px 24px 20px;color:#fff;min-width:0}
.ind:nth-child(1){background:var(--steel)}
.ind:nth-child(2){background:var(--navy-2)}
.ind:nth-child(3){background:var(--accent)}
.ind:nth-child(4){background:var(--teal)}
.ind h3{font-size:1.15rem;font-stretch:112%;display:flex;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.35)}
.ind h3 span{font-family:var(--f-mono);font-weight:500;font-size:.85rem;opacity:.85}
.ind ul{list-style:none;margin:6px 0 0;padding:0}
.ind li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:1rem;line-height:1.35}
.ind li:last-child{border-bottom:0}

/* Companies */
.co-sec{background:var(--sheet)}
.co-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(36px,4vw,56px)}
.co{display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--paper);border-top:5px solid var(--c);min-width:0}
.co:nth-child(1){--c:var(--accent)}
.co:nth-child(2){--c:var(--hivis)}
.mark{width:60px;height:60px;display:grid;place-items:center;background:var(--c);color:#fff;font-family:var(--f-display);font-weight:860;font-stretch:120%;font-size:1.1rem;letter-spacing:.02em}
.co:nth-child(2) .mark{color:#0B2545}
.co p{color:var(--muted);font-size:1rem}
.co .tag{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* Safety band */
.band{background:var(--navy);color:var(--on-dark);position:relative;overflow:hidden}
.band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:repeating-linear-gradient(-45deg,var(--hivis) 0 18px,#0B2545 18px 36px)}
.band .eyebrow{color:var(--hivis)}
.band .stack p{color:var(--on-dark-muted)}
.safety-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.creds{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.creds li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:18px 20px;background:rgba(255,255,255,.06);border-left:4px solid var(--hivis)}
.creds li:first-child{border-left-color:var(--accent)}
.creds b{font-family:var(--f-display);font-weight:700;font-stretch:108%;font-size:1.1rem;color:#fff}
.creds span{grid-column:1/-1;color:var(--on-dark-muted);font-size:.98rem}
.creds i{font-style:normal;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--hivis);align-self:center}
.band .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}

/* Contact */
.cta-band{background:var(--accent);color:#fff;padding-block:clamp(48px,6vw,72px)}
.cta-band .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px}
.cta-band h2{max-width:18ch}
.cta-band .btn-light:hover{color:var(--accent)}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:start}
.info{display:grid;gap:22px;margin:32px 0 0}
.info dt{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.info dd{margin:6px 0 0;line-height:1.5}
.copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.email{font-weight:600;text-decoration:none;user-select:all}
.email:hover{color:var(--accent)}
.copy-btn{font:500 .75rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);cursor:pointer}
.copy-btn:hover{border-color:var(--ink)}
.form-card{background:var(--sheet);border-top:5px solid var(--steel)}
.form{padding:clamp(20px,3vw,32px)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:grid;gap:6px;min-width:0}
.full{grid-column:1/-1}
label,legend{font-size:.88rem;font-weight:500}
.opt{color:var(--muted);font-weight:400}
input[type=text],input[type=email],input[type=tel],textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);padding:.75rem .85rem;width:100%}
textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--steel);outline-offset:1px}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-block;padding:.55rem .85rem;border:1px solid var(--rule);font-size:.9rem;cursor:pointer;background:var(--paper);transition:border-color .2s,color .2s,background-color .2s}
.chip span:hover{border-color:var(--ink)}
.chip input:checked + span{border-color:var(--steel);background:var(--steel);color:#fff}
.chip input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.form-foot small{color:var(--muted);font-size:.85rem}
.done{padding:clamp(24px,4vw,40px)}
.done h3{font-size:1.6rem}
.done p{color:var(--muted);margin-top:.6rem;max-width:52ch}
.done .btn{margin-top:1.4rem}

/* Footer */
.foot{background:#06101F;color:#C7D3E3;padding-block:clamp(48px,6vw,72px) 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}
.foot .brand{margin-bottom:14px}
.foot p,.foot li{font-size:.95rem;line-height:1.6}
.foot .lab{display:block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hivis);margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.foot a{text-decoration:none;color:#E8EEF6}
.foot a:hover{color:var(--hivis)}
.stripe{height:6px;margin-top:40px;background:linear-gradient(90deg,var(--steel) 0 25%,var(--accent) 25% 50%,var(--hivis) 50% 75%,var(--teal) 75% 100%)}
.fine{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:16px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:#8EA0B8}

/* Responsive */
@media (max-width:1000px){
  .two,.safety-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .two{align-items:start}
  .ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .stat:nth-child(3){padding-left:0}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1120px){
  .menu-btn{display:inline-flex}
  .nav{display:none}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:18px;padding:20px max(var(--gutter),env(safe-area-inset-right,0px)) 24px max(var(--gutter),env(safe-area-inset-left,0px));background:var(--navy)}
  .site-head:has(.nav.open){background:var(--navy)}
}
@media (max-width:880px){
  .svc{grid-template-columns:minmax(0,1fr)}
  .svc-list{position:static;gap:18px}
  .svc-group ul{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
  .svc-btn{width:auto;padding:8px 12px;border:1px solid var(--rule);font-size:.92rem;background:var(--paper)}
  .svc-btn[aria-pressed="true"]{border-color:var(--accent);padding-left:12px}
  .svc-btn::before{width:8px;height:8px}
  .pillars{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .co-grid,.principles{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .fields,.ind-grid,.foot-grid{grid-template-columns:minmax(0,1fr)}
  .stat + .stat{padding-left:14px}
  .stat:nth-child(3){padding-left:0}
  .dwg-bar{font-size:.66rem}
  .hero-inner{padding-top:120px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}
