:root {
  --red: #C8102E;
  --blue: #002868;
  --dark: #0A0A0A;
  --dark2: #111111;
  --dark3: #1A1A1A;
  --grey: #c8c8c8;
  --light: #F5F5F0;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth }
body {
  background:var(--dark);
  color:var(--light);
  font-family:'Barlow',sans-serif;
  font-size:1.0625rem;
  overflow-x:hidden
}
body::before {
  content:'';
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  pointer-events:none; z-index:9997
}

/* ─ NAV ─ */
#navbar {
  position:fixed; top:0; left:0; right:0;
  z-index:1000; padding:0 40px;
  display:flex; align-items:center; justify-content:space-between;
  height:160px
}
#navbar::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(10,10,10,.97),transparent);
  z-index:-1; transition:background .3s
}
#navbar.scrolled::after { background:rgba(10,10,10,.97) }

.nav-logo { display:flex; align-items:center; text-decoration:none }
.nav-logo img { height:150px; width:auto }

.nav-desktop {
  display:flex; gap:0; list-style:none; align-items:center
}
.nav-desktop>li { position:relative }
.nav-desktop>li>a {
  color:var(--grey); text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1rem; letter-spacing:.15em; text-transform:uppercase;
  transition:color .2s; padding:8px 16px;
  display:flex; align-items:center; gap:5px
}
.nav-desktop>li>a:hover { color:var(--red) }
.nav-desktop>li>a.nav-cta {
  background:var(--red);
  color:#fff !important;
  padding:8px 20px; font-weight:700;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)
}
.nav-desktop>li>a.nav-cta:hover { background:var(--blue) }

/* dropdown */
.has-dropdown:hover .dropdown-menu-custom {
  opacity:1; transform:translateY(0); pointer-events:auto
}
.dropdown-menu-custom {
  position:absolute; top:100%; left:0; min-width:300px;
  background:rgba(12,12,12,.97);
  border:1px solid rgba(200,16,46,.15);
  padding:8px 0; list-style:none;
  opacity:0; transform:translateY(10px);
  transition:opacity .25s,transform .25s;
  pointer-events:none; backdrop-filter:blur(12px)
}
.dropdown-menu-custom li a {
  display:flex; align-items:center; gap:10px;
  padding:10px 20px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.1rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--grey); text-decoration:none;
  transition:color .2s,background .2s
}
.dropdown-menu-custom li a i { color:var(--red); width:16px; font-size:.75rem }
.dropdown-menu-custom li a:hover { color:var(--red); background:rgba(200,16,46,.06) }
.dropdown-menu-custom::before {
  content:''; position:absolute; top:-6px; left:18px;
  width:10px; height:10px;
  background:rgba(12,12,12,.97);
  border-left:1px solid rgba(200,16,46,.15);
  border-top:1px solid rgba(200,16,46,.15);
  transform:rotate(45deg)
}
.chevron-icon { font-size:.6rem; transition:transform .2s }
.has-dropdown:hover .chevron-icon { transform:rotate(180deg) }

/* hamburger */
.ham-btn {
  display:none; background:none;
  border:1px solid rgba(255,255,255,.15);
  color:var(--light); width:40px; height:40px;
  font-size:1rem; align-items:center; justify-content:center; cursor:pointer
}

/* ─ OFFCANVAS ─ */
.offcanvas { background:#0d0d0d !important; border-right:1px solid rgba(200,16,46,.12) !important }
.offcanvas-header { border-bottom:1px solid rgba(255,255,255,.05) !important; padding:20px 24px }
.offcanvas-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:1rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--light)
}
.offcanvas-title img { height:34px; width:auto }
.offcanvas .btn-close { filter:invert(1) brightness(.6) }
.oc-nav { list-style:none; padding:0 }
.oc-nav li { border-bottom:1px solid rgba(255,255,255,.04) }
.oc-nav>li>a,
.oc-nav>li>div.oc-parent {
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 24px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.95rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase;
  color:var(--grey); text-decoration:none;
  transition:color .2s,background .2s; cursor:pointer
}
.oc-nav>li>a i,
.oc-nav>li>div.oc-parent i.nav-icon { color:var(--red); width:18px; font-size:.85rem }
.oc-nav>li>a:hover,
.oc-nav>li>div.oc-parent:hover { color:var(--red); background:rgba(200,16,46,.05) }
.oc-sub {
  list-style:none; background:rgba(200,16,46,.03);
  display:none; padding:4px 0
}
.oc-sub.open { display:block }
.oc-sub li a {
  display:flex; align-items:center; gap:10px;
  padding:10px 24px 10px 52px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--grey); text-decoration:none; transition:color .2s
}
.oc-sub li a:hover { color:var(--red) }
.oc-caret { font-size:.6rem; transition:transform .25s; color:var(--grey) }
.oc-caret.open { transform:rotate(180deg) }

/* ─ HERO ─ */
#hero { position:relative; height:100vh; overflow:hidden }

.slide {
  position:absolute; inset:0;
  opacity:0; transition:opacity 1.2s ease; pointer-events:none
}
.slide.active { opacity:1; pointer-events:auto }

.slide-bg { position:absolute; inset:0 }
.slide-bg img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  transform:scale(1.08); transition:transform 8s ease
}
.slide.active .slide-bg img { transform:scale(1) }

/* hero without a photo: dark gradient background */
.slide-bg.no-photo {
  background:radial-gradient(ellipse 120% 100% at 70% 40%, #1a0e00 0%, #0a0a0a 60%)
}

.slide-overlay {
  position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 60% at 60% 50%, #00060f 0%, #0a0a0a 70%);
  mix-blend-mode:multiply
}
.slide-overlay2 {
  position:absolute; inset:0;
  background:linear-gradient(to right,rgba(10,10,10,.92) 0%,rgba(10,10,10,.5) 55%,rgba(10,10,10,.25) 100%)
}
.hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(200,16,46,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(200,16,46,.03) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%)
}
.splat { position:absolute; border-radius:50%; filter:blur(60px); opacity:.12 }
.sp1 { width:600px; height:600px; background:var(--blue); top:-200px; right:-100px }
.sp2 { width:400px; height:400px; background:var(--red); bottom:-100px; left:10% }
.sp3 { width:300px; height:300px; background:#001640; top:40%; left:50% }

.slide-content {
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:flex-start; justify-content:center;
  padding:0 60px; padding-top:160px; max-width:760px
}
.slide-eyebrow {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.78rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--red); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
  opacity:0; transform:translateY(22px); transition:all .65s .3s
}
.slide-eyebrow::before {
  content:''; width:36px; height:2px; background:var(--red)
}
.slide.active .slide-eyebrow { opacity:1; transform:translateY(0) }

.slide-title {
  font-family:'Black Han Sans',sans-serif;
  font-size:clamp(3.5rem,8vw,8rem);
  line-height:.9; letter-spacing:-.02em; color:var(--light);
  opacity:0; transform:translateY(44px); transition:all .85s .5s
}
.slide.active .slide-title { opacity:1; transform:translateY(0) }
.slide-title .outline { -webkit-text-stroke:2px var(--blue); color:transparent }
.slide-title .accent { color:var(--red) }

.slide-desc {
  font-size:1rem; color:var(--grey); max-width:480px;
  margin-top:22px; line-height:1.75; font-weight:300;
  opacity:0; transform:translateY(30px); transition:all .7s .72s
}
.slide.active .slide-desc { opacity:1; transform:translateY(0) }

.slide-actions {
  display:flex; gap:14px; margin-top:34px;
  align-items:center; flex-wrap:wrap;
  opacity:0; transform:translateY(22px); transition:all .65s .9s
}
.slide.active .slide-actions { opacity:1; transform:translateY(0) }

/* ─ BUTTONS ─ */
.btn-primary-cust {
  background:var(--red); color:#fff;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:900; font-size:.95rem; letter-spacing:.1em; text-transform:uppercase;
  padding:13px 34px; border:none;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  transition:all .2s; text-decoration:none; display:inline-block; cursor:pointer
}
.btn-primary-cust:hover { background:var(--blue); color:#fff; transform:translateY(-2px) }
.btn-ghost-cust {
  background:transparent; color:var(--light);
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:.95rem; letter-spacing:.1em; text-transform:uppercase;
  padding:11px 32px; border:2px solid rgba(255,255,255,.2);
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  transition:all .2s; text-decoration:none; display:inline-block; cursor:pointer
}
.btn-ghost-cust:hover { border-color:var(--red); color:var(--red) }

.sl-dots {
  position:absolute; bottom:32px; left:60px;
  display:flex; gap:10px; z-index:20
}
.sdot {
  width:28px; height:3px;
  background:rgba(255,255,255,.22); cursor:pointer; transition:all .3s
}
.sdot.active { background:var(--red); width:48px }

/* hero stats */
.hero-stats {
  position:absolute; bottom:36px; right:60px;
  display:flex; gap:40px; z-index:20
}
.hstat .n {
  font-family:'Black Han Sans',sans-serif;
  font-size:2.2rem; color:var(--red); line-height:1
}
.hstat .l {
  font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--grey)
}

/* ─ MARQUEE ─ */
.marquee-strip {
  background:var(--red); padding:10px 0;
  overflow:hidden; white-space:nowrap
}
.mtrack { display:inline-flex; animation:marquee 28s linear infinite }
.mitem {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:.8rem; letter-spacing:.15em; text-transform:uppercase;
  color:#fff; padding:0 28px;
  display:inline-flex; align-items:center; gap:14px
}
.mitem::after { content:'●'; font-size:.45em; opacity:.6 }
@keyframes marquee { to { transform:translateX(-50%) } }

/* ─ SECTIONS ─ */
section { padding:100px 0 }
.sec-label {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.72rem; letter-spacing:.35em; text-transform:uppercase;
  color:var(--red); margin-bottom:10px
}
.sec-title {
  font-family:'Black Han Sans',sans-serif;
  font-size:clamp(2rem,5vw,3.8rem);
  line-height:1; color:var(--light)
}
.sec-title span { color:var(--blue) }

/* ─ PRODUCTS SECTION ─ */
#products { background:var(--dark2) }

.prod-card {
  position:relative; overflow:hidden;
  clip-path:polygon(0 0,95% 0,100% 5%,100% 100%,5% 100%,0 95%);
  cursor:pointer; background:var(--dark3);
  border:1px solid rgba(255,255,255,.06)
}
.prod-card-img {
  width:100%; height:300px;
  display:flex; align-items:center; justify-content:center;
  padding:30px; background:var(--dark3); overflow:hidden;
  transition:background .4s
}
.prod-card-img img {
  max-width:100%; max-height:240px;
  object-fit:contain;
  filter:drop-shadow(0 0 24px rgba(200,16,46,.18));
  transition:transform .55s ease,filter .4s
}
.prod-card:hover .prod-card-img { background:#151515 }
.prod-card:hover .prod-card-img img {
  transform:scale(1.06);
  filter:drop-shadow(0 0 32px rgba(200,16,46,.35))
}
.prod-card-body {
  padding:22px 26px 28px;
  border-top:1px solid rgba(255,255,255,.04)
}
.prod-card-label {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.7rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--red); margin-bottom:5px
}
.prod-card-name {
  font-family:'Black Han Sans',sans-serif;
  font-size:1.55rem; color:var(--light); line-height:1; margin-bottom:8px
}
.prod-card-desc {
  font-size:.83rem; color:var(--grey); line-height:1.55; margin-bottom:18px
}
.prod-pill {
  position:absolute; top:14px; right:14px;
  background:var(--blue); color:#fff;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  padding:4px 12px;
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%)
}
.prod-pill.new { background:var(--red) }

/* ─ LEGACY / WHY WOOD ─ */
#legacy { background:var(--dark) }
.step-card { text-align:center; padding:40px 20px; position:relative }
.step-num {
  font-family:'Black Han Sans',sans-serif; font-size:5rem; line-height:1;
  color:transparent; -webkit-text-stroke:2px rgba(200,16,46,.1);
  position:absolute; top:0; left:50%; transform:translateX(-50%)
}
.step-ico {
  width:72px; height:72px;
  background:var(--dark3); border:2px solid rgba(200,16,46,.2);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin:0 auto 18px; font-size:1.5rem; color:var(--red);
  position:relative; z-index:1; transition:all .3s; cursor:pointer
}
.step-card:hover .step-ico {
  background:var(--red); color:#fff; border-color:var(--red);
  box-shadow:0 0 30px rgba(200,16,46,.3)
}
.step-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.25rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  margin-bottom:8px
}
.step-text { color:var(--grey); font-size:.87rem; line-height:1.6 }

/* ─ TESTIMONIALS ─ */
#testimonials { background:var(--dark2) }
.testi-slider { position:relative; overflow:hidden }
.testi-track { display:flex; transition:transform .6s cubic-bezier(.25,.46,.45,.94) }
.testi-slide { min-width:100%; padding:0 8px }
.testi-inner { display:grid; grid-template-columns:repeat(3,1fr); gap:24px }
.testi-card {
  background:var(--dark3);
  border:1px solid rgba(255,255,255,.06);
  padding:32px;
  clip-path:polygon(0 0,100% 0,100% 85%,92% 100%,0 100%);
  height:100%
}
.testi-stars { color:var(--red); margin-bottom:14px; letter-spacing:2px; font-size:.85rem }
.testi-text {
  font-size:.9rem; color:rgba(245,245,240,.84);
  line-height:1.75; margin-bottom:18px; font-style:italic
}
.testi-author { display:flex; align-items:center; gap:11px }
.testi-avatar {
  width:44px; height:44px; border-radius:50%;
  background:var(--dark); border:2px solid var(--red);
  display:flex; align-items:center; justify-content:center;
  font-family:'Barlow Condensed',sans-serif; font-size:.95rem; color:var(--red)
}
.testi-name {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:.95rem; text-transform:uppercase
}
.testi-role { font-size:.72rem; color:var(--grey) }
.testi-controls {
  display:flex; align-items:center; gap:16px; margin-top:32px; justify-content:center
}
.testi-btn {
  width:44px; height:44px;
  background:var(--dark3); border:1px solid rgba(255,255,255,.1);
  color:var(--grey); display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:.9rem; transition:all .2s
}
.testi-btn:hover { background:var(--red); color:#fff; border-color:var(--red) }
.testi-dots { display:flex; gap:8px }
.tdot { width:20px; height:3px; background:rgba(255,255,255,.2); cursor:pointer; transition:all .3s }
.tdot.active { background:var(--red); width:32px }

/* ─ TECH NOTES ─ */
#tech { background:var(--dark3) }
.tech-card {
  background:var(--dark2);
  border:1px solid rgba(255,255,255,.06);
  padding:30px 26px;
  clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,0 100%);
  transition:transform .3s,border-color .3s;
  position:relative; overflow:hidden; cursor:pointer; text-decoration:none;
  display:block; height:100%
}
.tech-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(200,16,46,.04) 0%,transparent 60%);
  opacity:0; transition:opacity .3s
}
.tech-card:hover { transform:translateY(-6px); border-color:rgba(200,16,46,.4) }
.tech-card:hover::before { opacity:1 }
.tech-ico {
  width:52px; height:52px;
  background:var(--dark3); border:1px solid rgba(200,16,46,.2);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; color:var(--red); margin-bottom:18px;
  transition:all .3s
}
.tech-card:hover .tech-ico { background:var(--red); color:#fff; border-color:var(--red) }
.tech-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:1rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--light); margin-bottom:8px; line-height:1.25
}
.tech-action {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--red); margin-top:16px;
  display:flex; align-items:center; gap:8px
}
.tech-action::after { content:'→'; transition:transform .2s }
.tech-card:hover .tech-action::after { transform:translateX(4px) }

/* ─ CTA ─ */
#cta {
  background:linear-gradient(135deg,#12000a 0%,#0a000d 100%);
  position:relative; overflow:hidden; text-align:center
}
#cta::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(200,16,46,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(200,16,46,.055) 1px,transparent 1px);
  background-size:40px 40px
}
.cta-title {
  font-family:'Black Han Sans',sans-serif;
  font-size:clamp(2.5rem,7vw,6rem);
  line-height:.95; position:relative; z-index:1
}
.cta-title .outline { -webkit-text-stroke:2px var(--blue); color:transparent }
.cta-sub {
  font-size:1.05rem; color:var(--grey);
  margin:18px auto; max-width:500px; position:relative; z-index:1
}

/* ─ BACK TO TOP ─ */
#btt {
  position:fixed; bottom:30px; right:30px; z-index:2000;
  width:46px; height:46px;
  background:var(--red); border:none; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1rem;
  cursor:pointer; opacity:0; transform:translateY(20px);
  transition:opacity .3s,transform .3s,background .2s;
  pointer-events:none;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%)
}
#btt.show { opacity:1; transform:translateY(0); pointer-events:auto }
#btt:hover { background:var(--blue) }

/* ─ FOOTER ─ */
footer {
  background:#050505; padding:60px 0 28px;
  border-top:1px solid rgba(255,255,255,.04)
}
.foot-logo { display:inline-block; margin-bottom:14px; text-decoration:none }
.foot-logo img { height:46px; width:auto }
.foot-desc { color:var(--grey); font-size:.88rem; max-width:270px; line-height:1.65 }
.foot-heading {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.72rem; letter-spacing:.25em; text-transform:uppercase;
  color:var(--red); margin-bottom:18px
}
.foot-links { list-style:none }
.foot-links li { margin-bottom:9px }
.foot-links a {
  color:var(--grey); text-decoration:none; font-size:.88rem; transition:color .2s
}
.foot-links a:hover { color:var(--light) }
.soc-row { display:flex; gap:10px; margin-top:18px }
.soc {
  width:38px; height:38px; border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:var(--grey); text-decoration:none; font-size:.88rem; transition:all .2s;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%)
}
.soc:hover { background:var(--red); color:#fff; border-color:var(--red) }
.foot-bottom {
  border-top:1px solid rgba(255,255,255,.04); padding-top:22px; margin-top:46px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px
}
.foot-copy { font-size:.78rem; color:var(--grey) }
.foot-badge {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.68rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--red); border:1px solid rgba(200,16,46,.3); padding:4px 12px
}

/* ─ INTERIOR PAGES ─ */
.page-hero {
  padding-top:160px; padding-bottom:60px;
  position:relative; overflow:hidden;
  background:var(--dark2)
}
.page-hero::after {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(200,16,46,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(200,16,46,.03) 1px,transparent 1px);
  background-size:50px 50px
}
.page-hero-inner { position:relative; z-index:1 }
.breadcrumb-row {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.75rem; letter-spacing:.25em; text-transform:uppercase;
  color:var(--grey); margin-bottom:16px;
  display:flex; align-items:center; gap:10px
}
.breadcrumb-row a { color:var(--grey); text-decoration:none; transition:color .2s }
.breadcrumb-row a:hover { color:var(--red) }
.breadcrumb-row span { color:var(--red) }
.page-title {
  font-family:'Black Han Sans',sans-serif;
  font-size:clamp(2.8rem,6vw,5.5rem);
  line-height:.95; color:var(--light)
}
.page-title span { -webkit-text-stroke:2px var(--red); color:transparent }

.interior-section { padding:90px 0 }
.interior-section.alt { background:var(--dark2) }
.interior-section.dark3 { background:var(--dark3) }

/* stat bar */
.stat-bar {
  background:var(--red); padding:36px 0
}
.stat-item { text-align:center }
.stat-item .num {
  font-family:'Black Han Sans',sans-serif;
  font-size:2.8rem; color:#fff; line-height:1
}
.stat-item .lbl {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.75); margin-top:4px
}

/* team cards */
.team-card {
  background:var(--dark3);
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
  clip-path:polygon(0 0,95% 0,100% 5%,100% 100%,5% 100%,0 95%);
  transition:border-color .3s
}
.team-card:hover { border-color:rgba(200,16,46,.4) }
.team-card-thumb {
  position:relative; overflow:hidden
}
.team-card-thumb img {
  width:100%; display:block;
  filter:saturate(.8);
  transition:transform .5s,filter .4s
}
.team-card:hover .team-card-thumb img {
  transform:scale(1.05); filter:saturate(1.1)
}
.team-card-play {
  position:absolute; inset:0;
  background:rgba(10,10,10,.45);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .3s
}
.team-card:hover .team-card-play { opacity:1 }
.play-btn {
  width:56px; height:56px; border-radius:50%;
  background:var(--red); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; text-decoration:none;
  transition:transform .2s,background .2s
}
.play-btn:hover { background:#fff; color:var(--red); transform:scale(1.1) }
.team-card-body { padding:22px 24px }
.team-name {
  font-family:'Black Han Sans',sans-serif;
  font-size:1.4rem; color:var(--light); margin-bottom:4px
}
.team-role {
  font-family:'Barlow Condensed',sans-serif;
  font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--red); margin-bottom:12px
}
.team-desc { font-size:.87rem; color:var(--grey); line-height:1.65 }

/* about checklist */
.about-checks { list-style:none; margin-top:24px }
.about-checks li {
  display:flex; align-items:flex-start; gap:12px;
  padding:10px 0; border-bottom:1px solid rgba(255,255,255,.05);
  font-size:.95rem; color:rgba(245,245,240,.85); line-height:1.5
}
.about-checks li i { color:var(--red); margin-top:3px; flex-shrink:0 }

/* feature split */
.feature-img {
  width:100%; display:block;
  clip-path:polygon(0 0,95% 0,100% 5%,100% 100%,5% 100%,0 95%);
  filter:saturate(.85)
}

/* made in usa band */
.usa-band {
  background:linear-gradient(135deg,#0a0005 0%,#000814 100%);
  position:relative; overflow:hidden; padding:80px 0
}
.usa-band::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(200,16,46,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(200,16,46,.04) 1px,transparent 1px);
  background-size:40px 40px
}
.usa-band-inner { position:relative; z-index:1 }
.usa-flag-stripe {
  height:5px;
  background:linear-gradient(to right, var(--red) 33.3%, #fff 33.3%, #fff 66.6%, var(--blue) 66.6%);
  margin-bottom:48px
}

/* ─ DYNO RUNS ─ */
.dyno-img-card {
  background:var(--dark3);
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
  clip-path:polygon(0 0,95% 0,100% 5%,100% 100%,5% 100%,0 95%);
  transition:border-color .3s;
  margin-bottom:24px
}
.dyno-img-card:hover { border-color:rgba(200,16,46,.4) }
.dyno-img-card a { display:block; overflow:hidden }
.dyno-img-card img {
  width:100%; display:block;
  aspect-ratio:4/3; object-fit:cover;
  filter:saturate(.85);
  transition:transform .4s,filter .3s
}
.dyno-img-card:hover img { transform:scale(1.04); filter:saturate(1.1) }
.dyno-print-btn {
  display:flex; align-items:center; gap:8px;
  width:100%; padding:10px 14px;
  background:transparent; border:none; border-top:1px solid rgba(255,255,255,.06);
  color:var(--grey); font-family:'Barlow Condensed',sans-serif;
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
  cursor:pointer; transition:color .2s,background .2s
}
.dyno-print-btn:hover { color:var(--light); background:rgba(255,255,255,.04) }

.dyno-section-heading {
  font-family:'Black Han Sans',sans-serif;
  font-size:1.5rem; color:var(--light);
  padding-bottom:12px;
  border-bottom:2px solid var(--red);
  margin:48px 0 24px
}
.dyno-section-heading:first-of-type { margin-top:0 }

/* ─ GSAP INIT ─ */
.gsap-fade { opacity:0; transform:translateY(40px) }
.gsap-left { opacity:0; transform:translateX(-60px) }
.gsap-right { opacity:0; transform:translateX(60px) }
.gsap-scale { opacity:0; transform:scale(.88) }

/* ─ RESPONSIVE ─ */
@media(max-width:1199px) { .hero-stats { right:30px } }

@media(max-width:991px) {
  .nav-desktop { display:none }
  .ham-btn { display:flex }
  .testi-inner { grid-template-columns:1fr }
  .hero-stats { display:none }
  .slide-content { padding:0 36px; padding-top:80px }
  .selector-visual { display:none }
}

@media(max-width:767px) {
  #navbar { padding:0 20px }
  section { padding:70px 0 }
  .sl-dots { left:20px }
  .slide-content { padding:0 20px; padding-top:80px }
}

/* ─ CART / CHECKOUT ─ */
.cart-panel {
  background:var(--dark3);
  border:1px solid rgba(255,255,255,.06);
  padding:36px;
  clip-path:polygon(0 0,97% 0,100% 3%,100% 100%,3% 100%,0 97%)
}
.cart-panel-title {
  font-family:'Black Han Sans',sans-serif;
  font-size:1.5rem; color:var(--light); margin-bottom:24px
}
.form-group { margin-bottom:18px }
.form-label {
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.72rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--grey); margin-bottom:7px
}
.form-input,
.form-select {
  width:100%; background:var(--dark2); color:var(--light);
  border:1px solid rgba(255,255,255,.12);
  padding:12px 14px; font-family:'Barlow',sans-serif; font-size:.92rem;
  transition:border-color .2s; outline:none
}
.form-input::placeholder { color:rgba(245,245,240,.35) }
.form-input:focus,
.form-select:focus { border-color:var(--red) }
.form-select { -webkit-appearance:none; -moz-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23c8c8c8' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px; padding-right:36px }
.form-note { font-size:.78rem; color:var(--red); margin-top:6px }
.form-row { display:flex; gap:14px }
.form-row .form-group { flex:1 }

.callout {
  display:block; color:var(--red); font-size:.82rem; margin-top:6px
}

.coupon-row { display:flex; gap:10px; flex-wrap:wrap }
.coupon-row .form-input { flex:1; min-width:200px; text-transform:uppercase }

/* checkout summary table */
.checkout-table { width:100%; border-collapse:collapse }
.checkout-table th {
  text-align:left; font-family:'Barlow Condensed',sans-serif;
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--red); padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.1)
}
.checkout-table td {
  padding:14px 0; font-size:.88rem; color:var(--light);
  border-bottom:1px solid rgba(255,255,255,.05); vertical-align:top
}
.checkout-table td.num { text-align:right; white-space:nowrap }
.checkout-table tr.total-row td { padding-top:16px; font-size:1.1rem }
.checkout-table tr.total-row.grand td {
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.3rem; color:var(--light)
}
.checkout-table a.cart-remove { color:var(--red); margin-right:10px; text-decoration:none }
.checkout-table a.cart-remove:hover { color:var(--light) }
.checkout-table a.cart-item-link { color:var(--light); text-decoration:none }
.checkout-table a.cart-item-link:hover { color:var(--red) }
.cart-item-model { display:block; font-size:.78rem; color:var(--grey) }

.ship-option {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 0; border-bottom:1px solid rgba(255,255,255,.05); cursor:pointer
}
.ship-option label { display:flex; align-items:center; gap:10px; font-size:.9rem; color:var(--light); cursor:pointer }
.ship-option input[type="radio"] { accent-color:var(--red); width:16px; height:16px }
.ship-option .price { font-size:.9rem; color:var(--grey) }

.cart-agree { display:flex; align-items:flex-start; gap:10px; font-size:.85rem; color:var(--grey); margin:20px 0 }
.cart-agree input { accent-color:var(--red); margin-top:4px; width:16px; height:16px; flex-shrink:0 }
.cart-agree a { color:var(--red); text-decoration:none }
.cart-agree a:hover { text-decoration:underline }

.checkout-notice {
  background:rgba(200,16,46,.08); border:1px solid rgba(200,16,46,.25);
  color:var(--light); padding:16px 20px; font-size:.87rem; line-height:1.6; margin-bottom:28px
}
.checkout-notice strong { color:var(--red) }

.cart-submit-btn { width:100%; text-align:center; margin-top:10px }
.cart-submit-btn:disabled { opacity:.4; cursor:not-allowed; pointer-events:none }

/* payment processing modal */
#paymentModal .pm-card {
  background:var(--dark3); border:1px solid rgba(200,16,46,.25);
  max-width:420px; width:92%; padding:32px; text-align:center
}
#paymentModal h2 { font-family:'Black Han Sans',sans-serif; font-size:1.4rem; color:var(--light); margin-bottom:8px }
#paymentModal p { font-size:.85rem; color:var(--grey) }
#paymentModal .pm-count { font-family:'Black Han Sans',sans-serif; font-size:2.6rem; color:var(--red); line-height:1; margin:14px 0 4px }
#paymentModal .pm-secs { font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; color:var(--grey); margin-bottom:18px }
#paymentModal #pm-status { font-size:.85rem; color:var(--light) }
#paymentModal #pm-try-again { margin-top:16px }

/* success page */
.success-icon {
  width:80px; height:80px; border-radius:50%;
  background:rgba(200,16,46,.1); border:2px solid var(--red);
  display:flex; align-items:center; justify-content:center;
  font-size:2rem; color:var(--red); margin:0 auto 28px
}

/* ─ CAM SPEC CARDS (product category listing) ─ */
.cam-card {
  background:var(--dark3); border:1px solid rgba(255,255,255,.06);
  padding:26px; height:100%; display:flex; flex-direction:column;
  clip-path:polygon(0 0,93% 0,100% 6%,100% 100%,7% 100%,0 94%);
  transition:border-color .3s
}
.cam-card:hover { border-color:rgba(200,16,46,.35) }
.cam-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px }
.cam-card-sku {
  font-family:'Black Han Sans',sans-serif; font-size:1.35rem; color:var(--light); letter-spacing:.02em
}
.cam-card-badge {
  background:var(--red); color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-size:.65rem; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase; padding:4px 10px;
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%)
}
.cam-card-app { font-size:.88rem; color:var(--grey); line-height:1.6; flex-grow:1; margin-bottom:18px }
.cam-card-meta { border-top:1px solid rgba(255,255,255,.06); padding-top:14px; margin-bottom:18px }
.cam-card-meta > div { display:flex; justify-content:space-between; gap:12px; font-size:.78rem; padding:4px 0 }
.cam-card-meta-label { color:var(--grey); text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; flex-shrink:0 }
.cam-card-meta-val { color:var(--light); text-align:right }
.cam-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid rgba(255,255,255,.06); padding-top:18px }
.cam-card-price { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.15rem; color:var(--light) }
.cam-card-cart { display:flex; align-items:center; gap:8px }
.cam-card-qty {
  width:52px; background:var(--dark2); color:var(--light);
  border:1px solid rgba(255,255,255,.12); padding:8px; text-align:center; font-size:.85rem
}
