:root {
  --graphite-950: #111519;
  --graphite-900: #171c21;
  --graphite-800: #242b31;
  --graphite-700: #354049;
  --steel-500: #7f8b94;
  --steel-300: #b9c1c7;
  --steel-100: #e8ecef;
  --paper: #f7f7f4;
  --white: #fff;
  --signal: #f15a24;
  --signal-dark: #c83f11;
  --ink: #161b1f;
  --muted: #59636b;
  --border: 1px solid rgba(17, 21, 25, .14);
  --shadow: 0 22px 50px rgba(17, 21, 25, .14);
  --container: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 200; transform: translateY(-180%); background: var(--signal); color: var(--white); padding: .75rem 1rem; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.container { width: min(calc(100% - 2.5rem), var(--container)); margin-inline: auto; }
.narrow { width: min(calc(100% - 2.5rem), 900px); margin-inline: auto; }
.section { padding: clamp(4.25rem, 8vw, 7rem) 0; }
.section-alt { background: linear-gradient(120deg, rgba(127,139,148,.11), transparent 50%), var(--steel-100); border-block: var(--border); }
.section-head { max-width: 820px; margin-bottom: 2.25rem; }
.section-head h2, .hero-copy h1, .slide-caption h2 { font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif; font-stretch: condensed; text-transform: uppercase; letter-spacing: -.025em; }
.section-head h2 { margin: .35rem 0 .65rem; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .94; }
.section-head p { margin: 0; color: var(--muted); font-size: 1.05rem; }
.eyebrow { display: flex; align-items: center; gap: .65rem; color: var(--signal); font-size: .76rem; font-weight: 900; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 30px; height: 3px; background: currentColor; }
.topbar { background: #0d1013; color: rgba(255,255,255,.76); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.topbar-inner { min-height: 38px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.topbar-copy { font-weight: 750; }
.topbar-links { display: flex; gap: 1rem; font-weight: 850; }
.topbar a:hover { color: var(--white); }
.nav-wrap { position: sticky; top: 0; z-index: 90; background: rgba(23,28,33,.97); border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(14px); }
.nav-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { flex: 0 0 auto; }
.brand img { width: 240px; max-height: 80px; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 1.1rem; }
.site-nav > a, .nav-group > button { position: relative; appearance: none; border: 0; background: none; padding: .7rem 0; color: rgba(255,255,255,.88); cursor: pointer; font-weight: 800; font-size: .76rem; letter-spacing: .055em; text-transform: uppercase; }
.site-nav > a::after, .nav-group > button::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .28rem; height: 2px; background: var(--signal); transition: right .2s ease; }
.site-nav > a:hover::after, .site-nav > a[aria-current="page"]::after, .nav-group > button:hover::after, .nav-group > button[aria-expanded="true"]::after { right: 0; }
.site-nav > a[aria-current="page"] { color: var(--white); }
.nav-group { position: relative; }
.dropdown { position: absolute; top: 100%; left: -.9rem; min-width: 250px; padding: .65rem; padding-top: calc(.65rem + 8px); background: var(--graphite-800); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow); display: none; }
.nav-group:hover .dropdown, .nav-group:focus-within .dropdown, .nav-group.is-open .dropdown { display: grid; }
.dropdown a { padding: .68rem .78rem; color: rgba(255,255,255,.85); font-size: .88rem; border-left: 2px solid transparent; }
.dropdown a:hover, .dropdown a[aria-current="page"] { color: var(--white); background: rgba(255,255,255,.07); border-left-color: var(--signal); }
.dropdown-all { margin-top: .3rem; border-top: 1px solid rgba(255,255,255,.13); font-weight: 850; }
.mega { min-width: 320px; }
.nav-toggle { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid rgba(255,255,255,.28); background: transparent; cursor: pointer; }
.nav-toggle span { width: 21px; height: 2px; background: var(--white); transition: transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.hero { position: relative; overflow: hidden; padding: clamp(3.75rem, 7vw, 7rem) 0; color: var(--white); background: linear-gradient(115deg, rgba(241,90,36,.11), transparent 32%), linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px), var(--graphite-900); background-size: auto, 56px 56px, 56px 56px, auto; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 5px; background: linear-gradient(90deg, var(--signal) 0 22%, var(--steel-500) 22% 100%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.hero-copy h1 { margin: .5rem 0 1rem; max-width: 760px; font-size: clamp(3rem, 6.4vw, 6.6rem); line-height: .86; }
.hero-copy > p { max-width: 60ch; margin: 0; color: rgba(255,255,255,.76); font-size: 1.08rem; }
.hero-actions, .cta-row, .chip-row, .form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.hero-actions { margin-top: 1.55rem; }
.btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .78rem 1.15rem; border: 1px solid transparent; border-radius: 2px; font-weight: 900; font-size: .8rem; letter-spacing: .075em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: var(--white); background: var(--signal); border-color: var(--signal); }
.btn-primary:hover { background: var(--signal-dark); }
.btn-secondary { color: var(--white); background: transparent; border-color: rgba(255,255,255,.4); }
.section .btn-secondary, .lead-form .btn-secondary { color: var(--ink); border-color: rgba(17,21,25,.32); }
.hero-media, .hero-slider { position: relative; box-shadow: var(--shadow); background: var(--graphite-950); clip-path: polygon(4% 0,100% 0,100% 94%,96% 100%,0 100%,0 6%); }
.hero-media::before, .hero-slider::before { content: ""; position: absolute; z-index: 5; inset: 0 auto 0 0; width: 6px; background: var(--signal); pointer-events: none; }
.hero-media img { width: 100%; height: clamp(340px, 43vw, 570px); object-fit: cover; }
.hero-slider { min-height: 560px; }
.slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .55s ease; }
.slide.is-active { opacity: 1; pointer-events: auto; }
.slide img { width: 100%; height: 560px; object-fit: cover; }
.slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(10,13,15,.93)); }
.slide-caption { position: absolute; z-index: 2; left: clamp(1.4rem,4vw,2.6rem); right: 2rem; bottom: 3.1rem; color: var(--white); }
.slide-caption h2 { margin: .25rem 0 .35rem; font-size: clamp(2.1rem,4vw,4rem); line-height: .9; }
.slide-caption p { max-width: 50ch; margin: 0 0 1rem; color: rgba(255,255,255,.78); }
.slide-dots { position: absolute; z-index: 4; left: 2.3rem; bottom: 1.25rem; display: flex; gap: .45rem; }
.slide-dots button { width: 28px; height: 4px; padding: 0; border: 0; background: rgba(255,255,255,.33); cursor: pointer; }
.slide-dots button.is-active { background: var(--signal); }
.carousel-toggle { position: absolute; z-index: 6; right: 1rem; top: 1rem; border: 1px solid rgba(255,255,255,.45); background: rgba(17,21,25,.72); color: white; min-width: 42px; min-height: 42px; cursor: pointer; }
.stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 1.6rem; background: rgba(255,255,255,.15); }
.stat-card, .spec-row { padding: 1rem; background: var(--graphite-800); }
.stat-card span, .spec-row span { display: block; color: var(--steel-300); font-size: .69rem; font-weight: 850; letter-spacing: .095em; text-transform: uppercase; }
.stat-card strong, .spec-row strong { display: block; margin-top: .25rem; color: var(--white); font-size: 1rem; }
.family-grid, .model-grid, .pillar-grid, .capability-grid, .browse-grid, .card-grid, .file-grid { display: grid; gap: 1.25rem; }
.family-grid, .model-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pillar-grid, .capability-grid, .browse-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.family-card, .model-card, .pillar-card, .capability-card, .glass-card, .alert-card, .note-card, .file-card { position: relative; overflow: hidden; border: var(--border); background: var(--white); box-shadow: 0 9px 22px rgba(17,21,25,.06); }
.family-card::before, .model-card::before { content: ""; position: absolute; z-index: 2; inset: 0 auto auto 0; width: 52px; height: 4px; background: var(--signal); }
.model-card { display: flex; flex-direction: column; height: 100%; }
.family-card img, .model-card img { width: 100%; height: 238px; object-fit: cover; object-position: center 55%; filter: saturate(.82) contrast(1.04); }
.family-card-body, .model-card-body, .content-card, .glass-card, .alert-card, .note-card, .file-card { padding: 1.35rem; }
.model-card-body { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.model-card-body > .text-link,
.model-card-body > .cta-row,
.model-card-body > .model-card-actions { margin-top: auto; padding-top: .35rem; }
.family-card h3, .model-card h3, .pillar-card h3, .capability-card h3 { margin: .35rem 0 .45rem; font-size: 1.48rem; }
.family-card p, .model-card p, .content-card p, .glass-card p, .alert-card p, .note-card p { color: var(--muted); }
.chip-row span { padding: .25rem .45rem; background: var(--steel-100); color: var(--graphite-700); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.text-link { display: inline-flex; margin-top: .8rem; color: var(--signal-dark); font-weight: 900; text-transform: uppercase; letter-spacing: .055em; font-size: .8rem; }
.text-link::after { content: " →"; margin-left: .35rem; }
.pillar-card img, .capability-card img { width: 100%; height: 220px; object-fit: cover; filter: grayscale(.35) contrast(1.07); }
.split { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: clamp(1.5rem,4vw,4rem); }
.spec-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--steel-300); border: 1px solid var(--steel-300); }
.spec-row { background: var(--graphite-900); }
.glass-card > img { width: 100%; max-height: 430px; object-fit: cover; background: var(--steel-100); }
.tabs { margin-top: 1rem; }
.tab-buttons, .filter-bar { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.35rem; }
.tab-btn, .filter-bar button { min-height: 44px; padding: .65rem .95rem; border: 1px solid var(--graphite-700); background: transparent; cursor: pointer; font-weight: 900; font-size: .77rem; letter-spacing: .055em; text-transform: uppercase; }
.tab-btn.is-active, .filter-bar button.is-active, .filter-bar button[aria-pressed="true"] { background: var(--graphite-900); color: var(--white); border-color: var(--graphite-900); }
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }
.bullet-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--steel-300); border: 1px solid var(--steel-300); }
.bullet-card { position: relative; min-height: 80px; padding: 1rem 1rem 1rem 2.35rem; background: var(--white); }
.bullet-card::before { content: "+"; position: absolute; left: .85rem; top: .78rem; color: var(--signal); font-weight: 950; font-size: 1.25rem; }
.alert-card { border-left: 5px solid var(--signal); }
.quote-strip { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem; padding: clamp(1.6rem,4vw,3rem); color: var(--white); background: var(--graphite-900); border-left: 7px solid var(--signal); }
.quote-strip h2 { font-family: "Arial Narrow", Impact, sans-serif; text-transform: uppercase; letter-spacing: -.02em; font-size: clamp(1.8rem,3vw,3rem); }
.lead-form { padding: clamp(1.25rem,3vw,2rem); border: var(--border); background: var(--white); box-shadow: 0 10px 30px rgba(17,21,25,.07); }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.lead-form label { display: block; }
.lead-form span { display: block; margin-bottom: .35rem; color: var(--graphite-700); font-weight: 800; font-size: .85rem; }
.lead-form input, .lead-form select, .lead-form textarea { width: 100%; min-height: 50px; padding: .8rem .9rem; border: 1px solid var(--steel-300); border-radius: 0; background: var(--paper); color: var(--ink); }
.lead-form textarea { min-height: 135px; resize: vertical; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--signal); outline: 2px solid rgba(241,90,36,.18); }
.field-span-2 { grid-column: span 2; }
.checkbox { display: flex !important; align-items: flex-start; gap: .7rem; }
.checkbox input { width: 18px; min-height: 18px; margin-top: .2rem; }
.form-actions { margin-top: 1rem; }
.form-status { min-height: 1.5rem; margin: 0; color: var(--signal-dark); font-weight: 800; }
.gform-wrapper { overflow: hidden; border: var(--border); background: white; box-shadow: 0 10px 30px rgba(17,21,25,.07); }
.gform-wrapper iframe { display: block; width: 100%; min-height: 960px; border: 0; }
.site-footer { margin-top: 0; color: rgba(255,255,255,.76); background: #0d1013; border-top: 5px solid var(--signal); }
.footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 2rem; padding: 4rem 0 2.5rem; }
.footer-logo { width: 205px; max-height: 76px; object-fit: contain; margin-bottom: 1rem; }
.site-footer h4 { margin-top: 0; color: var(--white); font-size: .76rem; letter-spacing: .13em; text-transform: uppercase; }
.site-footer a:hover { color: var(--white); }
.footer-bottom { padding: 1.2rem 0 2.2rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .87rem; }
.footer-bottom a { color: var(--white); }
.browse-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.file-list a { display: block; padding: .3rem 0; color: var(--signal-dark); font-weight: 800; }
@media (max-width: 1120px) {
  .site-nav { gap: .75rem; }
  .site-nav > a, .nav-group > button { font-size: .69rem; }
  .hero-grid { grid-template-columns: 1fr 1fr; }
  .family-grid, .model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .topbar-copy { display: none; }
  .topbar-inner { justify-content: flex-end; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: fixed; inset: 120px 0 0; display: block; padding: 1rem 1.25rem 3rem; overflow-y: auto; background: var(--graphite-900); transform: translateX(100%); transition: transform .25s ease; }
  .site-nav.is-open { transform: translateX(0); }
  .site-nav > a, .nav-group > button { display: block; width: 100%; padding: .9rem 0; text-align: left; font-size: .9rem; border-bottom: 1px solid rgba(255,255,255,.1); }
  .nav-group { width: 100%; }
  .nav-group:hover .dropdown:not([data-open="true"]), .nav-group:focus-within .dropdown:not([data-open="true"]) { display: none; }
  .dropdown { position: static; width: 100%; min-width: 0; padding: .4rem 0 .7rem 1rem; box-shadow: none; background: rgba(255,255,255,.04); }
  .nav-group.is-open .dropdown { display: grid !important; }
  .dropdown a { padding: .65rem .7rem; }
  .hero-grid, .split { grid-template-columns: 1fr; }
  .hero-slider { min-height: 500px; }
  .slide img { height: 500px; }
  .hero-copy h1 { font-size: clamp(3.2rem,12vw,5.8rem); }
  .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pillar-grid, .capability-grid, .browse-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bullet-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .container, .narrow { width: min(calc(100% - 1.5rem), var(--container)); }
  .section { padding: 4rem 0; }
  .brand img { width: 190px; max-height: 64px; }
  .site-nav { inset-block-start: 120px; }
  .hero { padding-top: 3.25rem; }
  .family-grid, .model-grid, .pillar-grid, .capability-grid, .browse-grid, .footer-grid, .bullet-grid, .spec-grid, .form-grid { grid-template-columns: 1fr; }
  .field-span-2 { grid-column: auto; }
  .hero-slider { min-height: 440px; }
  .slide img { height: 440px; }
  .slide-caption { left: 1.35rem; right: 1.35rem; }
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .stat-card strong { font-size: .88rem; }
  .btn { width: 100%; }
  .hero-actions .btn, .cta-row .btn { flex: 1 1 180px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* Gallery + lightbox */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.gallery-card,.gallery-tile{border:none;padding:0;background:none;overflow:hidden;border-radius:16px;cursor:pointer;display:block;width:100%;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.gallery-card img,.gallery-tile img,img.clickable-image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-card:hover img,.gallery-tile:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:100vw;background:rgba(6,10,24,.92);display:none;align-items:center;justify-content:center;z-index:120;padding:1rem;box-sizing:border-box}
.lightbox.is-open{display:flex}
.lightbox__stage{position:relative;max-width:min(1100px,94vw);width:100%;display:flex;flex-direction:column;align-items:center}
.lightbox__close{position:fixed;top:1rem;right:1rem;width:48px;height:48px;border-radius:999px;border:none;background:#fff;color:#0d1433;font-size:1.8rem;cursor:pointer;z-index:30}
.lightbox__nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:none;background:rgba(255,255,255,.92);color:#0d1433;font-size:2rem;cursor:pointer;z-index:30}
.lightbox__nav--prev{left:1rem}.lightbox__nav--next{right:1rem}
.lightbox__nav[hidden]{display:none}
.lightbox__image{width:auto;max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;background:#0d1433}
.lightbox__caption{color:#fff;text-align:center;margin:.75rem 0 0}
.lightbox__counter{color:rgba(255,255,255,.72);text-align:center;margin:.35rem 0 0;font-size:.9rem}
.lightbox__counter[hidden]{display:none}
body.no-scroll{overflow:hidden;touch-action:none}
@media (max-width:720px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .lightbox__nav{width:42px;height:42px}
  .lightbox__nav--prev{left:.4rem}.lightbox__nav--next{right:.4rem}
}

@media (max-width:720px){
  body,html{overflow-x:hidden}
}


/* Unified gallery filters */
.gallery-filters{
  display:flex;flex-wrap:nowrap;gap:.6rem;margin:0 0 1.25rem;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:.15rem 0 .35rem;
}
.gallery-filter{
  flex:0 0 auto;min-height:44px;min-width:44px;padding:.7rem 1.15rem;border-radius:999px;
  border:1px solid var(--line, #d5dbe8);background:#fff;color:var(--ink, #102033);
  font-weight:700;font-size:.95rem;cursor:pointer;white-space:nowrap;
  box-shadow:0 4px 14px rgba(13,20,51,.06);
}
.gallery-filter.is-active{
  background:var(--ink, #102033);color:#fff;border-color:var(--ink, #102033);
}
.gallery-filter:focus-visible{outline:3px solid #c9a227;outline-offset:2px}
.gallery-filter[hidden]{display:none}
.gallery-card.is-filtered-out,
.gallery-card[hidden]{display:none !important}

/* Sticky mobile Request a Quote bar */
.mobile-quote-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;
  align-items:center;justify-content:center;min-height:52px;
  padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom, 0px));
  background:var(--ink, #102033);color:#fff;font-weight:800;letter-spacing:.02em;
  text-decoration:none;text-align:center;box-shadow:0 -8px 28px rgba(6,10,24,.28);
}
body.lightbox-open .mobile-quote-bar{display:none !important}
@media (max-width:768px){
  .mobile-quote-bar{display:flex}
  body.has-mobile-quote-bar{
    padding-bottom:calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
  body.has-mobile-quote-bar .site-footer{
    padding-bottom:1rem;
  }
}
@media (min-width:769px){
  .mobile-quote-bar{display:none !important}
}

/* Full-bleed home hero (Defiance parity) */
:root{--hero-min:650px}
.home-hero{
  position:relative;min-height:var(--hero-min);display:flex;align-items:flex-end;color:#fff;
  overflow:hidden;width:100%;
}
.home-hero__slide{
  position:absolute;inset:0;opacity:0;transition:opacity .7s ease;
  background:#0b1014;
}
.home-hero__slide.is-active{opacity:1}
.home-hero__slide img{
  width:100%;height:100%;object-fit:cover;object-position:center 45%;
  display:block;
}
.home-hero__overlay{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(12,16,20,.58) 0%,rgba(12,16,20,.26) 42%,rgba(12,16,20,0) 70%),
    linear-gradient(0deg,rgba(8,12,16,.3),transparent 45%);
}
.home-hero__content{
  position:relative;z-index:2;padding:6rem 0 4.5rem;max-width:820px;
}
.home-hero .eyebrow{
  color:rgba(255,255,255,.78);
  display:inline-flex;align-items:center;gap:.65rem;
  margin:0 0 .75rem;
}
.home-hero .eyebrow::before{
  content:"";width:32px;height:2px;background:var(--signal,#f15a24);
}
.home-hero h1{
  margin:0;max-width:16ch;
  font-size:clamp(2.55rem,5.2vw,5.4rem);line-height:.95;
  letter-spacing:-.03em;text-wrap:balance;
  text-shadow:0 4px 24px rgba(0,0,0,.32);
  color:#fff;
}
.home-hero .hero-actions{
  display:flex;flex-wrap:wrap;gap:.8rem;margin:1.45rem 0 0;
}
.home-hero .hero-actions .btn{min-height:48px}
.home-hero .btn-secondary{
  background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);
}
.home-hero .btn-secondary:hover{background:rgba(255,255,255,.2);color:#fff}
.hero-controls{
  position:absolute;left:max(1.5rem,calc((100% - 1180px)/2));bottom:1.5rem;z-index:3;
  display:flex;gap:.5rem;padding:.45rem;border-radius:999px;
  background:rgba(8,12,16,.42);backdrop-filter:blur(10px);
}
.hero-controls button{
  width:28px;height:4px;padding:0;border:0;border-radius:10px;
  background:rgba(255,255,255,.42);cursor:pointer;
}
.hero-controls button[aria-current="true"]{background:#fff}

@media (max-width: 980px){
  .hero-controls{right:1.5rem;left:auto;bottom:1.1rem}
}
@media (max-width: 760px){
  :root{--hero-min:570px}
  .home-hero{align-items:flex-end}
  .home-hero__content{padding:4rem 0 2.25rem}
  .home-hero h1{font-size:clamp(2.45rem,12vw,4rem);line-height:.98;max-width:12ch}
  .home-hero__slide img{object-position:58% center}
  .home-hero .hero-actions{gap:.65rem}
  .home-hero .hero-actions .btn{flex:1 1 160px}
}
@media (max-width: 560px){
  .home-hero__content{padding-bottom:1.5rem}
  .home-hero h1{font-size:clamp(2.3rem,11vw,3.3rem)}
  .home-hero .hero-actions .btn{width:100%;flex-basis:100%}
}
.home-hero h1,.home-hero .eyebrow{text-shadow:0 2px 14px rgba(0,0,0,.45)}


/* ==========================================================================
   v11 refresh (Nov 2026): self-hosted fonts, contrast, layout fixes,
   new navigation, finder, compare, gallery, breadcrumbs, spec badges
   ========================================================================== */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-condensed-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/barlow-condensed-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"),url("../fonts/inter-latin-wght-normal.woff2") format("woff2")}
:root{--font-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--signal-deep:#a9350e}
body{font-family:var(--font-body)}
img{height:auto}
picture{display:contents}

/* One rugged display face everywhere */
.section-head h2,.hero-copy h1,.slide-caption h2,.quote-strip h2,.home-hero h1,
.family-card h3,.model-card h3,.pillar-card h3,.capability-card h3,.point-card h3,
.note-card h2,.glass-card h2,.glass-card h3,.alert-card h3,main h1{
  font-family:var(--font-display);font-weight:800;font-stretch:normal;text-transform:uppercase;letter-spacing:.005em}
.home-hero h1{line-height:.92;max-width:17ch}
.hero-copy h1{line-height:.9}
.family-card h3,.model-card h3,.pillar-card h3,.capability-card h3,.point-card h3{font-size:1.65rem;line-height:1}

/* Contrast: darker orange for small text and button fills on light backgrounds */
.eyebrow{color:var(--signal-dark)}
.hero .eyebrow,.quote-strip .eyebrow,.site-footer .eyebrow,.fact-band .eyebrow{color:var(--signal)}
.btn-primary{background:var(--signal-dark);border-color:var(--signal-dark)}
.btn-primary:hover{background:var(--signal-deep);border-color:var(--signal-deep)}
.skip-link{background:var(--signal-dark)}
.bullet-card::before{color:var(--signal-dark)}

/* Fix: CTA band buttons were dark-on-dark */
.quote-strip .btn-secondary{color:#fff;background:transparent;border-color:rgba(255,255,255,.6)}
.quote-strip .btn-secondary:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* Fix: no gray filler cells in spec, stat, and feature grids */
.spec-grid,.stat-grid{gap:4px;background:transparent;border:0}
.spec-row{border-left:3px solid var(--graphite-700)}
.bullet-grid{gap:.6rem;background:transparent;border:0}
.bullet-card{border:1px solid var(--steel-300)}

/* Fix: homepage series grid gap (Wildcat featured across two columns) */
.family-grid{grid-auto-flow:dense}
.family-card--featured{grid-column:span 2}
.family-card--featured img{height:300px}
.grid-foot{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:1.5rem 0 0}
.head-link{margin-top:.6rem !important}
.section-tight{padding:clamp(2rem,4vw,3rem) 0 0}

/* Fact band */
.fact-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.fact-band>div{padding:1.4rem 1.5rem;background:var(--graphite-900);color:#fff;border-top:4px solid var(--signal)}
.fact-band strong{display:block;margin-bottom:.35rem;font-family:var(--font-display);font-size:1.65rem;font-weight:800;line-height:1;text-transform:uppercase}
.fact-band span{color:var(--steel-300);font-size:.95rem}
.fact-band a{color:#fff;text-decoration:underline}

/* Navigation: Models mega menu + standout quote button */
.topbar-loc{color:rgba(255,255,255,.62);font-weight:750}
.brand img{height:auto}
.site-nav{gap:1.35rem}
.site-nav>a.nav-cta{padding:.72rem 1.05rem;color:#fff;background:var(--signal-dark);border-radius:2px;letter-spacing:.07em}
.site-nav>a.nav-cta::after{display:none}
.site-nav>a.nav-cta:hover,.site-nav>a.nav-cta[aria-current="page"]{background:var(--signal-deep)}
.mega-col{display:flex;flex-direction:column;min-width:0}
.mega-col a{padding:.42rem .6rem;font-size:.85rem}
.dropdown .mega-series{margin-bottom:.2rem;color:#fff;font-weight:850;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.14)}
.mega-label{display:block;padding:.42rem .6rem;margin-bottom:.2rem;color:var(--steel-300);font-weight:850;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.14)}
.mega-tools{background:rgba(255,255,255,.04)}
@media (min-width:901px){
  .nav-inner{position:relative}
  .nav-group--models{position:static}
  .nav-group--models .mega{left:auto;right:0;top:100%;min-width:0;width:min(1040px,calc(100vw - 2.5rem));padding:1.1rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem .9rem}
  .nav-group--models .mega::before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}
}
@media (max-width:900px){
  .mega{grid-template-columns:1fr;gap:.6rem}
  .site-nav>a.nav-cta{margin-top:1rem;text-align:center;border-bottom:0}
  .topbar-loc{display:none}
}

/* Breadcrumbs */
.breadcrumbs{margin:0 0 1rem;font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}
.breadcrumbs li{display:flex;align-items:center;gap:.35rem}
.breadcrumbs li+li::before{content:"\203A";color:rgba(255,255,255,.45)}
.breadcrumbs a{color:rgba(255,255,255,.75)}
.breadcrumbs a:hover{color:#fff;text-decoration:underline}
.breadcrumbs [aria-current]{color:#fff}

/* At-a-glance spec badges (stamped plates) */
.spec-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.15rem;padding:0;list-style:none}
.spec-badges li{padding:.38rem .7rem;color:#fff;background:linear-gradient(180deg,#3d4850,#242b31);border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 2px 0 rgba(0,0,0,.35);font-family:var(--font-display);font-weight:700;font-size:1.08rem;letter-spacing:.05em;text-transform:uppercase;line-height:1.1}

/* Model page: sizes, compare, CTA */
.sibling-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem}
.sibling-card{display:block;padding:1rem 1.1rem;background:#fff;border:1px solid var(--steel-300);border-left:4px solid var(--signal-dark);transition:transform .2s ease}
a.sibling-card:hover{transform:translateY(-2px)}
.sibling-card strong{display:block;font-family:var(--font-display);font-size:1.4rem;font-weight:800;line-height:1.05;text-transform:uppercase}
.sibling-card span{color:var(--muted);font-size:.9rem}
.sibling-card.is-current{color:#fff;background:var(--graphite-900);border-color:var(--graphite-900);border-left-color:var(--signal)}
.sibling-card.is-current span{color:var(--steel-300)}
.compare-cta{margin:1.25rem 0 2rem}
.cta-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.cta-card h3{margin:0 0 .3rem;font-size:1.8rem}
.cta-card p{margin:0}
.alert-card{border-left-color:var(--signal-dark)}
.text-link--muted{color:var(--graphite-700)}
.model-card-actions{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}

/* Models page finder */
.finder{display:grid;gap:.8rem;margin-bottom:1.5rem;padding:1.15rem 1.2rem;background:#fff;border:var(--border)}
.finder-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.finder-label{min-width:4.5rem;color:var(--graphite-700);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.finder .filter-bar{margin:0}
.finder-note{margin:.4rem 0 0;color:var(--muted);font-size:.86rem}
.card-specs{display:flex;flex-wrap:wrap;gap:.35rem;margin:.25rem 0 .55rem;padding:0;list-style:none}
.card-specs li{padding:.22rem .5rem;background:var(--steel-100);color:var(--ink);font-size:.8rem;font-weight:750}
.card-specs li span{color:var(--muted);font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.finder-empty{padding:1.5rem;background:#fff;border:var(--border)}

/* Compare */
.compare-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1rem;padding:1.15rem 1.2rem;background:#fff;border:var(--border)}
.compare-picker fieldset{margin:0;padding:0;border:0}
.compare-picker legend{margin-bottom:.35rem;font-family:var(--font-display);font-size:1.2rem;font-weight:800;text-transform:uppercase}
.compare-picker label{display:flex;align-items:center;gap:.55rem;min-height:36px;cursor:pointer}
.compare-picker input{width:18px;height:18px;accent-color:var(--signal-dark)}
.compare-wrap{overflow-x:auto;background:#fff;border:var(--border);-webkit-overflow-scrolling:touch}
.compare-table{width:100%;min-width:520px;border-collapse:collapse}
.compare-table th,.compare-table td{padding:.75rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--steel-100)}
.compare-table thead th{color:#fff;background:var(--graphite-900);font-family:var(--font-display);font-size:1.25rem;font-weight:800;text-transform:uppercase;white-space:nowrap}
.compare-table thead th a{color:#fff}
.compare-table tbody th{width:11rem;color:var(--graphite-700);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.compare-table tbody td a{color:var(--signal-dark);font-weight:800}
.compare-table [data-hidden]{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Site gallery */
.gallery-card,.gallery-tile{border-radius:2px}
.gallery-item{margin:0}
.gallery-item figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .75rem;margin:.55rem 0 0;font-size:.82rem}
.gallery-item figcaption span{color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
.gallery-item figcaption a{color:var(--signal-dark);font-weight:800}
.gallery-item[hidden]{display:none !important}
.gallery-filter.is-active{background:var(--graphite-900);border-color:var(--graphite-900)}
.gallery-filter{border-radius:2px}
.gallery-filter:focus-visible{outline-color:var(--signal)}
.hero-slim .hero-copy{max-width:820px}

/* About fact sheet + FAQ; Why Allied points */
.fact-sheet{display:grid;grid-template-columns:minmax(9rem,13rem) 1fr;margin:0;background:#fff;border:var(--border)}
.fact-sheet dt{padding:.95rem 1rem;color:var(--graphite-700);background:var(--steel-100);border-bottom:1px solid #fff;font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.fact-sheet dd{margin:0;padding:.95rem 1rem;border-bottom:1px solid var(--steel-100)}
.fact-sheet a,.point-links a,.faq a{color:var(--signal-dark);font-weight:800}
.inline-address{display:inline;font-style:normal}
.faq details{margin-bottom:.6rem;background:#fff;border:var(--border)}
.faq summary{padding:1rem 1.1rem;cursor:pointer;font-weight:850;list-style:none;position:relative;padding-right:2.6rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:.75rem;color:var(--signal-dark);font-size:1.4rem;font-weight:900}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0;padding:0 1.1rem 1rem;color:var(--muted)}
.point-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.point-card{padding:1.35rem;background:#fff;border:var(--border);border-top:4px solid var(--signal-dark)}
.point-card h3{margin:0 0 .5rem}
.point-card p{margin:0 0 .6rem;color:var(--muted)}
.point-links{font-size:.86rem}

/* Footer */
.footer-grid{grid-template-columns:1.4fr repeat(4,minmax(0,1fr))}
.footer-logo{width:205px;height:auto}
.footer-badge{display:inline-block;margin:.25rem 0 .75rem;padding:.35rem .65rem;color:#fff;border:1px solid rgba(255,255,255,.3);font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.footer-address{font-style:normal;line-height:1.55}
.site-footer p a{display:inline-block;padding:.1rem 0}

/* Mobile action bar: click-to-call + Request a Quote */
.mobile-actions{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;grid-template-columns:auto 1fr;box-shadow:0 -8px 28px rgba(6,10,24,.28)}
.mobile-actions .mobile-quote-bar{position:static;display:flex;box-shadow:none;background:var(--graphite-900)}
.mobile-call{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:52px;padding:.85rem 1.1rem calc(.85rem + env(safe-area-inset-bottom,0px));color:#fff;background:var(--signal-dark);font-weight:850;letter-spacing:.02em}
body.lightbox-open .mobile-actions{display:none !important}

/* Re-declare responsive rules after the overrides above */
@media (max-width:1120px){
  .site-nav{gap:.8rem}
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:900px){
  .fact-band{grid-template-columns:1fr}
}
@media (max-width:768px){
  .mobile-actions{display:grid}
  .mobile-actions .mobile-quote-bar{display:flex !important}
}
@media (min-width:769px){
  .mobile-actions{display:none !important}
}
@media (max-width:620px){
  .family-card--featured{grid-column:auto}
  .family-card--featured img{height:238px}
  .footer-grid{grid-template-columns:1fr}
  .fact-sheet{grid-template-columns:1fr}
  .fact-sheet dt{border-bottom:0}
  .finder-group{align-items:flex-start;flex-direction:column;gap:.4rem}
  .cta-card .cta-row{width:100%}
}

/* Mobile nav fix: .nav-wrap's backdrop-filter makes it the containing block for the fixed
   .site-nav, which collapsed the open menu to ~64px tall (bug also present on v10). */
@media (max-width: 900px){
  .site-nav{inset:100% 0 auto 0;height:calc(100vh - 120px);height:calc(100dvh - 120px);border-top:1px solid rgba(255,255,255,.12)}
}

/* Responsive 16:9 YouTube embeds (WildCat, P21 Mustang, reusable) */
.video-embed{
  position:relative;
  width:100%;
  max-width:960px;
  aspect-ratio:16/9;
  background:var(--graphite-900);
  border:var(--border);
  box-shadow:0 9px 22px rgba(17,21,25,.06);
  overflow:hidden;
}
.video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
/* Fallback when aspect-ratio is unsupported */
@supports not (aspect-ratio:16/9){
  .video-embed{height:0;padding-bottom:56.25%;max-width:960px}
}
@media (max-width:620px){
  .video-embed{max-width:100%}
}

/* Vertical 9:16 Facebook reels (34 Dominator Custom, WildCat, 25 Mustang HD, reusable) */
.video-embed-row{
  display:flex;
  flex-wrap:wrap;
  gap:1.25rem;
  align-items:flex-start;
}
.video-embed + .video-embed-row{margin-top:1.25rem}
.video-embed-item{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  width:100%;
  max-width:360px;
}
.video-embed--reel{
  position:relative;
  width:100%;
  max-width:360px;
  aspect-ratio:9/16;
  background:var(--graphite-900);
  border:var(--border);
  box-shadow:0 9px 22px rgba(17,21,25,.06);
  overflow:hidden;
}
.video-embed--reel iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.video-embed-fallback{margin:0;font-size:.86rem}
@supports not (aspect-ratio:9/16){
  .video-embed--reel{height:0;padding-bottom:177.78%;max-width:360px}
}
@media (max-width:620px){
  .video-embed-row{flex-direction:column}
  .video-embed-item,.video-embed--reel{max-width:360px;width:100%}
}
