
.section{padding:var(--section-pad) 0}
.section--band{background:var(--band)}
.section--flush{padding:0}
.cta-row{display:flex;justify-content:center;align-items:center;gap:var(--sp-7);flex-wrap:wrap;margin-top:var(--sp-6)}
.link-more--light{color:var(--on-dark-soft)}
.link-more--light:hover{color:var(--white)}
.page-title{font-size:var(--fs-display);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:var(--sp-3) 0 0}
.page-title em{font-style:normal;color:var(--blue)}
.lead{font-size:var(--fs-lead);color:var(--text-sub);letter-spacing:-.012em;line-height:1.4;max-width:680px;margin:var(--sp-4) auto 0}
.hero{padding:var(--sp-9) 0 var(--sp-6);text-align:center}
.hero-tile{max-width:var(--container);margin:var(--sp-8) auto 0;background:var(--tile);border-radius:var(--radius-xl);padding:var(--sp-6)}
.hero-media{border-radius:var(--radius-md);overflow:hidden;position:relative;aspect-ratio:21/9;background:var(--tile)}
.img-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-caption{font-size:var(--fs-caption);color:var(--text-sub);margin:var(--sp-4) 0 0;letter-spacing:0}
@media (max-width:900px){
  .hero-media{aspect-ratio:3/2}
  .hero-tile{padding:var(--sp-4)}
}
.split-body > p{margin:var(--sp-3) 0 0}
.split-body h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.014em;line-height:1.25;margin:var(--sp-5) 0 0}
.split-body h3 + p{margin:var(--sp-2) 0 0;font-size:15.5px;color:var(--text-sub)}

@media (min-width:901px){
  #request-quote .split{align-items:stretch}
}
#request-quote .split-media{min-width:0;overflow:hidden;border-radius:var(--radius-lg)}
#request-quote .split-media .media-frame{height:100%;aspect-ratio:auto;width:100%}
.step h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.014em;line-height:1.25;margin:0 0 var(--sp-2)}
.step p{margin:0;font-size:15.5px;color:var(--text-sub)}
.step p + p{margin-top:var(--sp-2)}
.tile svg{width:26px;height:26px;flex:none;color:var(--blue)}
#process .fig,
#quality-gates .fig{max-width:520px;margin:var(--sp-8) auto 0}
.stats-band .stat{text-align:center}
@media (min-width:721px){
  .spec-table{min-width:0}
}
.topline{height:3px;background:linear-gradient(90deg,var(--blue-deep),var(--blue-sky))}
.anav{
  position:sticky;top:0;z-index:var(--z-nav);
  background:var(--bg);
  background:color-mix(in srgb, var(--bg) 86%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
}
.nav-inner{
  max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);
  display:flex;align-items:center;gap:var(--sp-6);height:var(--nav-h);
}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo img{height:30px;width:auto}
.logo-fallback{font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.04em;color:var(--blue)}
.nav-links{display:flex;align-items:center;gap:var(--sp-5);margin:0 0 0 auto;padding:0;list-style:none}
.nav-link{font-size:var(--fs-caption);letter-spacing:0;color:var(--text-sub);text-decoration:none;transition:color var(--dur-fast) var(--ease)}
.nav-link:hover{color:var(--blue)}
.nav-link.is-active{color:var(--blue);font-weight:600}
.nav-cta{font-size:var(--fs-caption);padding:8px 18px}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;margin-left:auto;padding:10px;background:none;border:none;cursor:pointer}
.nav-toggle-bar{display:block;width:100%;height:2px;border-radius:2px;background:var(--ink);transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}
.site-header.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.nav-open .nav-toggle-bar:nth-child(2){opacity:0}
.site-header.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:860px){
  .nav-cta{display:none}
  .nav-toggle{display:flex}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;margin:0;
    padding:var(--sp-2) var(--gutter) var(--sp-4);
    background:var(--bg);border-bottom:1px solid var(--line-soft);box-shadow:var(--shadow-soft);
  }
  .site-header.nav-open .nav-links{display:flex}
  .nav-link{padding:var(--sp-3) 0;font-size:15px;border-bottom:1px solid var(--line-soft)}
}
.site-footer{background:var(--band);padding:var(--sp-8) 0 var(--sp-6);text-align:left}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}
.fcol-title{margin:0 0 var(--sp-2);font-size:var(--fs-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.fcol-link{display:block;padding:var(--sp-1) 0;font-size:var(--fs-caption);letter-spacing:0;color:var(--text-sub);text-decoration:none}
.fcol-link:hover{color:var(--blue);text-decoration:underline}
.faddr{margin:var(--sp-5) 0 0;font-style:normal;font-size:var(--fs-caption);line-height:1.7;letter-spacing:0;color:var(--text-sub)}
.flegal{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding-top:var(--sp-4);font-size:var(--fs-caption);letter-spacing:0;color:var(--text-sub)}
.flegal .fcol-link{display:inline;padding:0}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}}
.site-header{position:sticky;top:0;z-index:var(--z-nav)}
@media (max-width:640px){
  .btn{padding-block:9px;font-size:14px}
  .link-more,.link-more--light{display:inline-block;padding-block:5px;font-size:14px;min-height:32px}
  .fcol-link{font-size:14px;display:inline-block;padding-block:3px;min-height:32px}
  .faddr{font-size:14px}
  .flegal,.flegal-links{font-size:14px}
  .fcol-title{font-size:14px}
  .media-caption{font-size:14px}
  .eyebrow{font-size:14px}
  .flegal .fcol-link{display:inline-block;padding-block:3px;min-height:32px;font-size:14px}
}
.form-consent{font-size:13.5px;color:var(--text-sub);margin:var(--sp-3) 0 0;line-height:1.5}
@media (max-width:640px){.form-consent{font-size:14px}}
.stat-tile{background:var(--band);border-radius:var(--radius-xl);padding:var(--sp-7) var(--sp-7) var(--sp-6);text-align:center}
.stat-tile .eyebrow{display:block}
.stat-tile .sec-title{margin:var(--sp-3) 0 0}
.stat-tile .stats-band{margin-top:var(--sp-6);text-align:left}
.gates-list,.check-list{margin:var(--sp-4) 0 0;padding:0;list-style:none;display:grid;gap:var(--sp-3)}
.gates-list li,.check-list li{padding-left:28px;position:relative;font-size:15.5px;color:var(--text-sub);line-height:1.55}
.gates-list li::before,.check-list li::before{content:'';position:absolute;left:0;top:6px;width:15px;height:15px;border-radius:50%;background:var(--tile);border:3px solid var(--blue)}
.gates-list strong,.check-list strong{color:var(--ink)}
.split{align-items:center}
@media (min-width:901px){
  .split-media{min-width:0;overflow:hidden;border-radius:var(--radius-lg)}
  .split .media-frame{width:100%;aspect-ratio:3/2}
  .split .media-frame img{width:100%;height:100%;object-fit:cover}
}
.cert-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);margin-top:var(--sp-6)}
.cert-card{margin:0;background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden}
.cert-scan{aspect-ratio:1000/1360;overflow:hidden;background:var(--white)}
.cert-scan img{width:100%;height:100%;object-fit:contain;object-position:top;background:var(--white)}
.cert-card figcaption{padding:var(--sp-4)}
.cert-card h3{margin:0;font-size:17px;font-weight:700}
.cert-card p{margin:var(--sp-2) 0 0;font-size:14px;color:var(--text-sub);line-height:1.5}
@media (max-width:900px){.cert-wall{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cert-wall{grid-template-columns:1fr}}
.wall-tile{margin:0}
.wall-tile .media-caption{text-align:left;margin:var(--sp-3) 0 0}
.logo-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-4);margin-top:var(--sp-6)}
.logo-tile{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius-md);min-height:92px;display:flex;align-items:center;justify-content:center;padding:var(--sp-3)}
.logo-tile img{max-width:100%;max-height:64px;object-fit:contain}
@media (max-width:900px){.logo-wall{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.logo-wall{grid-template-columns:repeat(2,1fr)}}
.hero--band{position:relative;min-height:min(86vh,800px);display:flex;align-items:center;text-align:center;overflow:hidden;padding:var(--sp-8) 0;color:var(--ink)}
.hero-band-bg{position:absolute;inset:0;z-index:0}
.hero-band-bg .img-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-band-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,251,253,.92) 0%,rgba(251,251,253,.68) 50%,rgba(251,251,253,.18) 100%)}
.hero-band-content{position:relative;z-index:1;width:100%}
.hero--band .eyebrow{color:var(--blue)}
.hero--band .lead{color:#39434C}
.hero--band .link-more{color:var(--blue);font-weight:600}
.hero--band .link-more:hover{color:var(--blue-deep);text-decoration:underline}
.hero--band .btn{background:var(--blue);color:#fff}
.hero--band .btn:hover{background:var(--blue-deep);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-soft)}
@media (max-width:720px){.hero--band{min-height:72vh}}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.btn--on-dark:hover{background:var(--blue-deep);color:#fff}
.link-more:hover,.link-more--light:hover{text-decoration:underline}
.fcol-link:hover{text-decoration:underline}
.fbrand{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5)}
.fbrand img{height:54px;width:auto}
.fbrand p{margin:0;font-size:14.5px;color:var(--text-sub);text-align:left;line-height:1.5}
@media (max-width:560px){.fbrand{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}}
#quick-answers .stat{background:var(--white);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:var(--sp-6) var(--sp-4);text-align:center}
#quick-answers .stat-num{font-size:46px;font-weight:700;color:var(--blue);letter-spacing:-.02em}
#quick-answers .stat-label{font-size:14.5px;color:var(--text-sub);margin:var(--sp-2) 0 0;line-height:1.5}
