/* =========================================================
   LOCKFAST — design tokens
   Palette: dark slate/steel base with an accent blue sampled
   directly from the Lockfast logo mark (#246ba1 / #01507f).
   Dark navy is used only for the footer as a grounding anchor.
   Type: Oswald (display) / IBM Plex Sans (body) / IBM Plex Mono (utility)
   Signature: die-cut registration marks + dashed cut-lines, zero radius
   ========================================================= */
:root{
  --navy-950:#050b13;
  --navy-900:#0e1c28;
  --navy-800:#142838;
  --navy-700:#1f3a4d;
  --ink:#1a232b;
  --steel-700:#33404a;
  --steel-600:#516170;
  --steel-400:#7a8791;
  --steel-300:#9fabb3;
  --steel-200:#d3d9dd;
  --steel-100:#e8ebee;
  --paper-100:#eef1f3;
  --paper-050:#f5f7f8;
  --white:#ffffff;
  --signal-500:#246ba1;
  --signal-600:#01507f;
  --signal-100:#dce8f0;

  --font-display:'Oswald', 'Arial Narrow', sans-serif;
  --font-body:'IBM Plex Sans', -apple-system, Segoe UI, sans-serif;
  --font-mono:'IBM Plex Mono', 'Courier New', monospace;

  --wrap:1180px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--white);
  color:var(--navy-900);
  font-family:var(--font-body);
  font-size:18.5px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img, svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul, ol, dl{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.15; margin:0; letter-spacing:0.01em; color:var(--navy-900); }
p{ margin:0; }

/* No rounded corners, anywhere, ever */
*{ border-radius:0 !important; }

.sr-only{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--signal-500); color:#fff; padding:0.75rem 1.25rem;
  font-family:var(--font-mono); font-size:0.85rem;
}
.skip-link:focus{ left:0.5rem; top:0.5rem; }

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

.wrap{
  max-width:var(--wrap);
  margin:0 auto;
  padding:0 1.5rem;
}

.eyebrow{
  font-family:var(--font-mono);
  font-size:0.85rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--signal-500);
  margin:0 0 0.9rem;
}
.section-lede{
  max-width:640px;
  color:var(--steel-700);
  font-size:1.14rem;
  margin-top:0.9rem;
}

.text-link{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:0.85rem;
  color:var(--signal-500);
  border-bottom:1px solid var(--signal-500);
  padding-bottom:2px;
}

/* Buttons — sharp edged, industrial */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  font-family:var(--font-mono);
  font-size:0.85rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  padding:0.95rem 1.6rem;
  border:1px solid transparent;
  cursor:pointer;
  transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btn-primary{
  background:var(--signal-500);
  color:#fff;
  border-color:var(--signal-500);
}
.btn-primary:hover{ background:var(--signal-600); border-color:var(--signal-600); }
.btn-ghost{
  background:transparent;
  color:var(--navy-900);
  border-color:var(--steel-400);
}
.btn-ghost:hover{ border-color:var(--navy-900); }

/* ============ TOP STRIP ============ */
.top-strip{
  background:var(--signal-600);
  color:#eaf1f6;
  font-family:var(--font-mono);
  font-size:0.85rem;
  border-bottom:1px solid var(--signal-600);
}
.top-strip-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.65rem 1.5rem;
  gap:1rem;
  flex-wrap:wrap;
}
.since-badge{ letter-spacing:0.05em; text-transform:uppercase; }
.top-contact a{ color:#ffffff; font-weight:600; }
.top-contact a:hover{ color:var(--signal-100); }
.top-contact .divider{ margin:0 0.5rem; color:#8fb7cf; }

/* ============ HEADER ============ */
.site-header{
  background:var(--white);
  border-bottom:1px solid var(--steel-200);
  position:sticky; top:0; z-index:100;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.5rem;
}
.logo{
  display:flex; align-items:center; gap:0.6rem;
  color:var(--navy-900);
}
.logo-img{ height:56px; width:auto; display:block; }
.logo-img--footer{ height:32px; background:var(--white); padding:0.5rem 0.75rem; }
.main-nav ul{
  display:flex; align-items:center; gap:1.8rem;
}
.main-nav a{
  font-family:var(--font-mono);
  font-size:0.88rem;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:var(--navy-900);
}
.main-nav a:hover{ color:var(--signal-500); }
.main-nav .nav-cta{ padding:0.7rem 1.2rem; color:#fff; }
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none; border:none; cursor:pointer; padding:0.5rem;
}
.nav-toggle span{ width:22px; height:2px; background:var(--navy-900); display:block; }

/* ============ HERO ============ */
.hero{ background:var(--paper-050); color:var(--navy-900); padding:4rem 0 0; }
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:3rem;
  align-items:center;
  padding-bottom:3.5rem;
}
.hero-copy h1{
  font-size:clamp(2.3rem, 4.2vw, 3.3rem);
  margin:0 0 1.1rem;
}
.hero-lede{ color:var(--steel-700); font-size:1.18rem; max-width:540px; }
.hero-actions{ display:flex; gap:1rem; flex-wrap:wrap; margin:1.8rem 0 1.6rem; }
.hero-facts{ display:flex; flex-direction:column; gap:0.5rem; font-family:var(--font-mono); font-size:0.85rem; color:var(--steel-700); }
.hero-facts li{ padding-left:1.1rem; position:relative; }
.hero-facts li::before{
  content:"›"; position:absolute; left:0; color:var(--signal-500); font-weight:700;
}

.hero-visual{ position:relative; }
.reg-frame{
  position:relative;
  border:1px solid var(--steel-200);
  background:var(--white);
  padding:2.5rem 2rem;
  color:var(--steel-700);
}
.reg-mark{ position:absolute; width:28px; height:28px; color:var(--signal-500); }
.reg-tl{ top:-1px; left:-1px; }
.reg-tr{ top:-1px; right:-1px; }
.reg-bl{ bottom:-1px; left:-1px; }
.reg-br{ bottom:-1px; right:-1px; }
.diecut-art{ width:100%; height:auto; color:var(--steel-700); }
.visual-caption{
  font-family:var(--font-mono);
  font-size:0.9rem;
  color:var(--steel-600);
  margin-top:0.9rem;
  text-align:center;
}

.hero-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--steel-200);
}
.split-card{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.4rem 1.6rem;
  border-right:1px solid var(--steel-200);
  color:var(--navy-900);
  background:var(--paper-050);
  transition:background 0.15s ease;
}
.split-card:last-child{ border-right:none; }
.split-card:hover{ background:var(--steel-100); }
.split-index{ font-family:var(--font-mono); color:var(--signal-500); font-size:0.85rem; }
.split-text{ font-size:0.92rem; color:var(--steel-700); flex:1; }
.split-text strong{ color:var(--navy-900); display:block; margin-bottom:0.15rem; }
.split-arrow{ color:var(--signal-500); }

.trust-bar{
  display:flex;
  flex-wrap:wrap;
  gap:0.6rem 2rem;
  padding:1.1rem 1.5rem;
  border-top:1px solid var(--steel-200);
  background:var(--steel-100);
}
.trust-item{
  font-family:var(--font-mono);
  font-size:0.85rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--steel-700);
  position:relative;
  padding-left:1.1rem;
}
.trust-item::before{
  content:"";
  position:absolute; left:0; top:0.35em;
  width:6px; height:6px;
  background:var(--signal-500);
}

/* ============ SECTIONS ============ */
.section{
  padding:4.5rem 0;
  border-top:1px solid var(--steel-200);
}
.section h2{
  font-size:clamp(1.75rem, 3.2vw, 2.4rem);
  max-width:720px;
  margin-bottom:0.4rem;
}
.section-dark{
  background:var(--paper-100);
  border-top:1px solid var(--steel-200);
}

/* Capability grid */
.capability-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.25rem;
  margin-top:2.5rem;
}
.capability-card{
  background:var(--white);
  border:1px solid var(--steel-200);
  padding:2rem 1.8rem;
  min-height:190px;
}
.capability-card--cta{ background:var(--paper-050); }
.cap-img{
  display:block;
  height:300px;
  width:auto;
  max-width:100%;
  margin-bottom:0.8rem;
}
.capability-card h3{ font-size:1.22rem; margin-bottom:0.6rem; }
.capability-card p{ color:var(--steel-700); font-size:1rem; }
.capability-card .text-link{ margin-top:0.9rem; }

/* Materials */
.material-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.25rem;
  margin-top:2.5rem;
}
.material-card{
  background:var(--white);
  border:1px solid var(--steel-200);
  padding:2rem 1.5rem;
  transition:background 0.15s ease, border-color 0.15s ease;
}
.material-card:hover{ background:var(--paper-050); }
.material-img{
  width:100%;
  height:120px;
  object-fit:contain;
  margin-bottom:1.2rem;
}
.material-card h3{ font-size:1.12rem; margin-bottom:0.4rem; }
.material-card p{ color:var(--steel-700); font-size:0.94rem; font-family:var(--font-mono); }

/* Products */
.product-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.25rem;
  margin-top:2.5rem;
}
.product-card{
  background:var(--white);
  border:1px solid var(--steel-200);
  padding:2rem 1.8rem;
  min-height:200px;
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  transition:background 0.15s ease, border-color 0.15s ease;
}
.product-card:hover{ background:var(--paper-050); }
.product-card--featured{ background:var(--signal-500); border-color:var(--signal-500); grid-column:span 1; }
.product-card--featured:hover{ background:var(--signal-600); border-color:var(--signal-600); }
.product-card--featured .text-link{ color:#fff; border-color:#fff; }
.product-card--featured p, .product-card--featured h3{ color:#fff; }
.product-tag{
  font-family:var(--font-mono); font-size:0.82rem; text-transform:uppercase;
  letter-spacing:0.08em; color:#fff; opacity:0.85;
}
.product-card h3{ font-size:1.18rem; }
.product-card p{ color:var(--steel-700); font-size:1rem; flex:1; }

/* Schools */
.schools-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:3rem;
  align-items:center;
}
.schools-list{ display:grid; gap:1.2rem; margin:2rem 0; }
.schools-list dt{ font-family:var(--font-display); font-size:1.1rem; font-weight:600; }
.schools-list dd{ margin:0.2rem 0 0; color:var(--steel-700); font-size:1rem; }
.schools-visual{
  border:1px solid var(--steel-200);
  padding:1.5rem;
  color:var(--navy-900);
  background:var(--white);
}
.schools-img{
  width:100%;
  height:auto;
  display:block;
}

/* Process */
.process-list{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin-top:2.5rem;
  border-top:1px dashed var(--steel-400);
}
.process-list li{
  padding:1.8rem 1.5rem 0 0;
  border-right:1px dashed var(--steel-400);
}
.process-list li:last-child{ border-right:none; }
.process-list h3{ font-size:1.14rem; margin:0.7rem 0 0.5rem; }
.process-list p{ color:var(--steel-700); font-size:1rem; }

.industry-tags{
  display:flex; flex-wrap:wrap; gap:0.9rem;
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--steel-200);
}
.industry-tags li{
  font-family:var(--font-mono);
  font-size:0.9rem;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--steel-700);
  border:1px solid var(--steel-300);
  padding:0.5rem 1rem;
  background:var(--white);
}

/* process 2 */
.lf-process {
    --lf-blue: #075d98;
    --lf-blue-dark: #06375e;
    --lf-navy: #102131;
    --lf-text: #263a4a;
    --lf-muted: #566a78;
    --lf-line: #cfd8df;
    --lf-light: #eef2f5;
    --lf-white: #ffffff;

    background: var(--lf-light);
    color: var(--lf-text);
    font-family: Arial, Helvetica, sans-serif;
    padding: 80px 20px;
  }

  .lf-process *,
  .lf-process *::before,
  .lf-process *::after {
    box-sizing: border-box;
  }

  .lf-process__container {
    width: min(1500px, 100%);
    margin: 0 auto;
  }

  .lf-process__header {
    max-width: 900px;
    margin-bottom: 42px;
  }

  .lf-process__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--lf-blue);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .lf-process__header h2,
  .lf-process__cta h2 {
    margin: 0;
    color: var(--lf-navy);
    font-size: clamp(34px, 4.2vw, 64px);
    line-height: 1.04;
    letter-spacing: -0.025em;
  }

  .lf-process__header p {
    max-width: 820px;
    margin: 22px 0 0;
    color: var(--lf-muted);
    font-size: 19px;
    line-height: 1.7;
  }

  .lf-process__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--lf-line);
    border-bottom: 1px solid var(--lf-line);
  }

  .lf-process__step {
    min-width: 0;
    padding: 28px 22px 36px;
    border-right: 1px solid var(--lf-line);
  }

  .lf-process__step:first-child {
    padding-left: 0;
  }

  .lf-process__step:last-child {
    padding-right: 0;
    border-right: 0;
  }

  .lf-process__image {
    position: relative;
    margin-bottom: 26px;
    overflow: hidden;
    background: #dfe5e9;
    aspect-ratio: 1 / 1;
  }

  .lf-process__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
  }

  .lf-process__step:hover .lf-process__image img {
    transform: scale(1.025);
  }

  .lf-process__number {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    background: var(--lf-blue);
    color: var(--lf-white);
    font-size: 18px;
    font-weight: 800;
  }

  .lf-process__content h3 {
    margin: 0 0 13px;
    color: var(--lf-navy);
    font-size: 24px;
    line-height: 1.2;
  }

  .lf-process__content p {
    margin: 0;
    color: var(--lf-text);
    font-size: 17px;
    line-height: 1.65;
  }

  .lf-process__content ul {
    margin: 20px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--lf-line);
    list-style: none;
  }

  .lf-process__content li {
    position: relative;
    margin: 9px 0;
    padding-left: 18px;
    color: var(--lf-muted);
    font-size: 15px;
    line-height: 1.5;
  }

  .lf-process__content li::before {
    content: "";
    position: absolute;
    top: 0.62em;
    left: 0;
    width: 7px;
    height: 7px;
    background: var(--lf-blue);
  }

  .lf-process__cta {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    gap: 48px;
    align-items: center;
    margin-top: 64px;
    padding: 42px;
    background: var(--lf-navy);
  }

  .lf-process__cta .lf-process__eyebrow {
    color: #70b7e5;
  }

  .lf-process__cta h2 {
    color: var(--lf-white);
    font-size: clamp(30px, 3vw, 48px);
  }

  .lf-process__cta p {
    max-width: 760px;
    margin: 18px 0 0;
    color: #d6e0e7;
    font-size: 17px;
    line-height: 1.65;
  }

  .lf-process__cta-actions {
    display: grid;
    gap: 12px;
  }

  .lf-process__button {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border: 2px solid transparent;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    transition:
      background-color 160ms ease,
      border-color 160ms ease,
      color 160ms ease;
  }

  .lf-process__button--primary {
    background: var(--lf-blue);
    color: var(--lf-white);
  }

  .lf-process__button--primary:hover,
  .lf-process__button--primary:focus {
    background: #0870b5;
  }

  .lf-process__button--secondary {
    border-color: #8aa2b2;
    background: transparent;
    color: var(--lf-white);
  }

  .lf-process__button--secondary:hover,
  .lf-process__button--secondary:focus {
    border-color: var(--lf-white);
    background: var(--lf-white);
    color: var(--lf-navy);
  }

  @media (max-width: 1100px) {
    .lf-process__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lf-process__step {
      padding: 28px;
      border-bottom: 1px solid var(--lf-line);
    }

    .lf-process__step:first-child,
    .lf-process__step:last-child {
      padding: 28px;
    }

    .lf-process__step:nth-child(2) {
      border-right: 0;
    }

    .lf-process__step:nth-child(3),
    .lf-process__step:nth-child(4) {
      border-bottom: 0;
    }

    .lf-process__cta {
      grid-template-columns: 1fr;
    }

    .lf-process__cta-actions {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 680px) {
    .lf-process {
      padding: 58px 16px;
    }

    .lf-process__grid {
      grid-template-columns: 1fr;
    }

    .lf-process__step,
    .lf-process__step:first-child,
    .lf-process__step:last-child {
      padding: 28px 0;
      border-right: 0;
      border-bottom: 1px solid var(--lf-line);
    }

    .lf-process__step:last-child {
      border-bottom: 0;
    }

    .lf-process__cta {
      margin-top: 44px;
      padding: 30px 22px;
    }

    .lf-process__cta-actions {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .lf-process__image img,
    .lf-process__button {
      transition: none;
    }

    .lf-process__step:hover .lf-process__image img {
      transform: none;
    }

/* FAQ */
.faq-list{ margin-top:2.5rem; border-top:1px solid var(--steel-200); }
.faq-item{ border-bottom:1px solid var(--steel-200); padding:1.2rem 0; }
.faq-item summary{
  font-family:var(--font-display);
  font-weight:600;
  font-size:1.05rem;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+";
  font-family:var(--font-mono);
  color:var(--signal-500);
  font-size:1.3rem;
  margin-left:1rem;
}
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ color:var(--steel-700); margin-top:0.8rem; max-width:680px; }
#faq > .wrap > .text-link{ margin-top:2rem; }

/* Quote */
.quote-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; }
.quote-contact{ margin-top:1.6rem; font-family:var(--font-mono); font-size:0.95rem; }
.quote-contact a:hover{ color:var(--signal-500); }
.quote-form{ background:var(--white); border:1px solid var(--steel-200); padding:2rem; }
.form-row{ margin-bottom:1.2rem; }
.form-row label{
  display:block; font-family:var(--font-mono); font-size:0.9rem;
  text-transform:uppercase; letter-spacing:0.04em; color:var(--steel-700);
  margin-bottom:0.4rem;
}
.form-row input, .form-row select, .form-row textarea{
  width:100%;
  background:var(--paper-050);
  border:1px solid var(--steel-300);
  color:var(--navy-900);
  padding:0.75rem 0.9rem;
  font-family:var(--font-body);
  font-size:0.95rem;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline:none; border-color:var(--signal-500);
}
.form-row--split{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.2rem; }
.form-row--split .form-row{ margin-bottom:0; }
.form-row--check{ display:flex; align-items:flex-start; gap:0.6rem; }
.form-row--check input{ width:auto; margin-top:0.3rem; }
.form-row--check label{ text-transform:none; font-family:var(--font-body); color:var(--steel-700); font-size:0.88rem; }
.quote-form .btn{ width:100%; }
.form-note{ font-family:var(--font-mono); font-size:0.85rem; color:var(--steel-600); margin-top:1rem; }

/* ============ FOOTER ============ */
.site-footer{ background:var(--navy-900); color:var(--steel-300); padding:3.5rem 0 0; }
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:2rem;
  padding-bottom:2.5rem;
}
.footer-brand .logo{ margin-bottom:1rem; color:var(--white); }
.footer-brand p{ font-size:0.88rem; max-width:260px; }
.footer-col h3{
  font-family:var(--font-mono);
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--white);
  margin-bottom:1rem;
}
.footer-col ul{ display:grid; gap:0.6rem; font-size:0.9rem; }
.footer-col a:hover{ color:var(--signal-500); }
address{ font-style:normal; font-size:0.9rem; line-height:1.8; }
.footer-hours{ margin-top:0.9rem; font-size:0.85rem; }
.footer-bottom{
  border-top:1px solid var(--navy-700);
  display:flex; justify-content:space-between; align-items:center;
  padding:1.3rem 1.5rem;
  font-size:0.8rem;
  flex-wrap:wrap;
  gap:0.8rem;
}
.footer-legal{ display:flex; gap:1.3rem; }
.footer-legal a:hover{ color:var(--signal-500); }

/* Mobile sticky quote bar */
.mobile-quote-bar{
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:150;
  background:var(--signal-500); color:#fff;
  text-align:center; padding:0.9rem;
  font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.05em; font-size:0.85rem;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 900px){
  .hero-grid, .schools-grid, .quote-grid{ grid-template-columns:1fr; }
  .capability-grid, .product-grid{ grid-template-columns:repeat(2, 1fr); }
  .material-grid{ grid-template-columns:repeat(2, 1fr); }
  .process-list{ grid-template-columns:repeat(2, 1fr); }
  .process-list li{ border-bottom:1px dashed var(--steel-400); padding-bottom:1.8rem; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px){
  .main-nav ul{
    display:none;
    position:absolute;
    top:100%; left:0; right:0;
    flex-direction:column;
    align-items:stretch;
    background:var(--white);
    border-top:1px solid var(--steel-200);
    border-bottom:1px solid var(--steel-200);
    padding:1rem 1.5rem 1.5rem;
    gap:1rem;
  }
  .main-nav ul.open{ display:flex; }
  .main-nav .nav-cta{ text-align:center; }
  .nav-toggle{ display:flex; }
  .top-contact{ display:none; }
  .capability-grid, .product-grid, .material-grid, .process-list{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .mobile-quote-bar{ display:block; }
  body{ padding-bottom:3.4rem; }
  .form-row--split{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; }
}
