:root {
  --bg: #050505;
  --panel: #0d0d0f;
  --panel-2: #141418;
  --text: #f5f7fb;
  --muted: #a7adb8;
  --line: #242832;
  --blue: #0b5df0;
  --blue-2: #2e7cff;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 85% 8%, rgba(11,93,240,.18), transparent 28%),
    linear-gradient(180deg, #020202 0%, var(--bg) 100%);
  color: var(--text);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.eyebrow { color: var(--blue-2); text-transform: uppercase; letter-spacing: .16em; font-weight: 800; font-size: .78rem; }
.section { padding: 86px 0; }
.section-title { font-size: clamp(2rem, 4vw, 3.5rem); line-height: .98; margin: 10px 0 18px; letter-spacing: -.045em; }
.section-copy { color: var(--muted); max-width: 720px; font-size: 1.05rem; line-height: 1.75; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(5,5,5,.86);
  backdrop-filter: blur(14px);
}
.nav { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 14px; font-weight: 900; }
.brand img { width: 118px; height: 48px; object-fit: cover; object-position: center; border-radius: 4px; }
.nav-links { display: flex; align-items: center; gap: 22px; font-size: .93rem; color: #d9dde5; }
.nav-links a:hover { color: white; }
.nav-cta { background: var(--blue); padding: 11px 16px; border-radius: 8px; font-weight: 800; }
.menu-btn { display: none; background: transparent; color: white; border: 1px solid var(--line); padding: 9px 12px; border-radius: 8px; }

.hero { padding: 92px 0 72px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 56px; }
.hero h1 { font-size: clamp(3.6rem, 7vw, 6.7rem); line-height: .86; letter-spacing: -.065em; margin: 18px 0 24px; text-transform: uppercase; }
.hero h1 span { color: var(--blue-2); display: block; }
.hero p { color: var(--muted); font-size: 1.16rem; line-height: 1.7; max-width: 700px; }
.hero-actions { display: flex; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border-radius: 8px; font-weight: 850; letter-spacing: .01em; border: 1px solid transparent; }
.btn-primary { background: var(--blue); }
.btn-secondary { border-color: var(--line); background: rgba(255,255,255,.025); }
.hero-card {
  position: relative;
  min-height: 480px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,0)),
    radial-gradient(circle at 75% 25%, rgba(11,93,240,.32), transparent 35%),
    #0a0a0d;
  overflow: hidden;
  display: grid; place-items: center;
}
.hero-card::before, .hero-card::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
.hero-card::before { width: 520px; height:520px; left:-210px; top:-100px; }
.hero-card::after { width: 340px; height:340px; right:-140px; bottom:-90px; }
.hero-card img { width: 82%; max-width: 500px; position: relative; z-index: 2; mix-blend-mode: screen; }
.hero-badge { position:absolute; left:24px; bottom:24px; right:24px; z-index:2; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:rgba(4,4,5,.72); backdrop-filter:blur(10px); }
.hero-badge strong { display:block; font-size:1.1rem; margin-bottom:4px; }
.hero-badge span { color:var(--muted); font-size:.9rem; }

.stat-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #09090b; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 24px; border-right: 1px solid var(--line); }
.stat:last-child { border-right: 0; }
.stat strong { display:block; font-size:1.08rem; }
.stat span { color:var(--muted); font-size:.9rem; }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.card { border:1px solid var(--line); background:linear-gradient(180deg,#101014,#0b0b0d); border-radius:18px; padding:28px; min-height:260px; transition:.22s ease; }
.card:hover { transform: translateY(-4px); border-color:#394050; }
.brand-name { font-size:2rem; letter-spacing:-.04em; margin:8px 0 12px; }
.card p { color:var(--muted); line-height:1.65; }
.card-link { display:inline-block; margin-top:18px; color:var(--blue-2); font-weight:800; }

.service-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: stretch; }
.service-panel { border:1px solid var(--line); border-radius:24px; padding:38px; background:var(--panel); }
.service-list { margin: 28px 0 0; padding: 0; list-style: none; display:grid; gap:14px; }
.service-list li { border-top:1px solid var(--line); padding-top:14px; display:flex; justify-content:space-between; gap:20px; }
.service-list span { color:var(--muted); }
.tech-panel { min-height:420px; background:
  linear-gradient(135deg, rgba(11,93,240,.16), transparent 45%),
  repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 13px),
  #0a0a0d; position:relative; overflow:hidden; }
.tech-panel::after { content:"92"; position:absolute; right:-12px; bottom:-42px; font-size:15rem; font-weight:950; line-height:1; color:rgba(255,255,255,.035); letter-spacing:-.08em; }

.cta-band { margin: 32px auto 90px; width:min(var(--max),calc(100% - 40px)); border-radius:24px; border:1px solid rgba(46,124,255,.35); background:linear-gradient(120deg,#0b5df0 0%,#07317d 60%,#0a0a0d 100%); padding:42px; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.cta-band h3 { font-size:clamp(2rem,4vw,3.1rem); margin:0 0 8px; letter-spacing:-.045em; }
.cta-band p { margin:0; color:#dce8ff; }
.cta-band .btn { background:white; color:#06132c; white-space:nowrap; }

.page-hero { padding: 92px 0 44px; }
.page-hero h1 { font-size: clamp(3.2rem, 6vw, 5.4rem); margin:12px 0 16px; letter-spacing:-.055em; line-height:.92; }
.content-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:28px; }
.content-card { border:1px solid var(--line); background:var(--panel); border-radius:20px; padding:30px; }
.content-card h2 { margin-top:0; }
.placeholder-products { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; }
.product { border:1px solid var(--line); border-radius:16px; min-height:210px; padding:18px; background:#0b0b0e; }
.product .thumb { height:110px; border-radius:10px; background:linear-gradient(135deg,#151820,#090a0e); display:grid; place-items:center; color:#576071; font-weight:800; margin-bottom:14px; }
.product strong { display:block; margin-bottom:5px; }
.product span { color:var(--muted); font-size:.9rem; }

form { display:grid; gap:14px; }
input, textarea, select { width:100%; background:#09090b; color:white; border:1px solid var(--line); border-radius:10px; padding:13px 14px; font:inherit; }
textarea { min-height:140px; resize:vertical; }

footer { border-top:1px solid var(--line); padding:36px 0 50px; color:var(--muted); }
.footer-grid { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
.footer-brand strong { color:white; display:block; font-size:1.1rem; margin-bottom:6px; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px 20px; }

@media (max-width: 920px) {
  .nav-links { display:none; position:absolute; left:20px; right:20px; top:78px; flex-direction:column; align-items:stretch; background:#09090b; border:1px solid var(--line); border-radius:14px; padding:18px; }
  .nav-links.open { display:flex; }
  .menu-btn { display:block; }
  .hero-grid, .service-grid, .content-grid { grid-template-columns:1fr; }
  .hero-card { min-height:360px; }
  .cards, .placeholder-products { grid-template-columns:1fr; }
  .stats { grid-template-columns:1fr 1fr; }
  .stat:nth-child(2) { border-right:0; }
  .stat:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .cta-band { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 560px) {
  .container { width:min(var(--max), calc(100% - 28px)); }
  .hero { padding-top:62px; }
  .hero h1 { font-size:3.3rem; }
  .stats { grid-template-columns:1fr; }
  .stat { border-right:0; border-bottom:1px solid var(--line); }
  .stat:last-child { border-bottom:0; }
  .cta-band { width:calc(100% - 28px); padding:30px 24px; }
  .footer-grid { flex-direction:column; }
}

/* V3 — Original NTC photography */
.photo-hero { min-height:480px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:#0a0a0d; }
.photo-hero img { width:100%; height:100%; min-height:480px; object-fit:cover; position:absolute; inset:0; }
.photo-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04) 35%,rgba(0,0,0,.88) 100%); }
.photo-hero .hero-badge { z-index:3; }
.photo-feature { border:1px solid var(--line); border-radius:24px; overflow:hidden; min-height:420px; position:relative; background:#0a0a0d; }
.photo-feature img { width:100%; height:100%; min-height:420px; object-fit:cover; position:absolute; inset:0; }
.photo-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78)); }
.photo-caption { position:absolute; z-index:2; left:24px; right:24px; bottom:22px; font-weight:800; }
.dyno-section { display:grid; grid-template-columns:1.08fr .92fr; gap:30px; align-items:stretch; }
.dyno-copy { padding:38px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,rgba(11,93,240,.12),transparent 45%),var(--panel); }
.before-after { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; }
.ba-card { border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--panel); }
.ba-card img { width:100%; height:360px; object-fit:cover; }
.ba-copy { padding:22px; }
.ba-copy h3 { margin:5px 0 8px; font-size:1.55rem; }
.ba-copy p { margin:0; color:var(--muted); line-height:1.6; }
.shop-gallery { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; margin-top:28px; }
.shop-gallery img { width:100%; height:100%; min-height:330px; object-fit:cover; border-radius:18px; border:1px solid var(--line); }
@media(max-width:920px){ .dyno-section,.before-after,.shop-gallery{grid-template-columns:1fr;} .photo-hero,.photo-hero img{min-height:360px;} .ba-card img{height:300px;} }
.brand-hero{padding:54px 0 34px;border-bottom:1px solid #222;background:radial-gradient(circle at 85% 10%,rgba(0,150,255,.16),transparent 34%),#080a0d}.brand-wordmark{font-weight:950;letter-spacing:.06em;font-size:clamp(1.25rem,3vw,2.15rem);margin-bottom:18px}.brand-hero h1{max-width:850px}.brand-hero .section-copy{max-width:780px}.brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.model-card{background:#0d1117;border:1px solid #232a33;border-radius:18px;padding:26px}.model-card h3{font-size:1.7rem;margin:0 0 10px}.model-card .model-tag{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:#6fc7ff;margin-bottom:10px}.feature-list{margin:18px 0 0;padding-left:20px;color:#cbd3dc;line-height:1.65}.ntc-band{margin-top:22px;background:linear-gradient(135deg,#0b2940,#0b1118);border:1px solid #164d70;border-radius:18px;padding:28px}.ntc-band h2{margin-top:0}.sanction-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.sanction-row span{border:1px solid #32404d;border-radius:999px;padding:8px 13px;font-weight:800;font-size:.84rem}.brand-note{font-size:.84rem;color:#8f9aa7;margin-top:18px}.brand-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}@media(max-width:760px){.brand-grid{grid-template-columns:1fr}}

/* V6 — manufacturer logo cards */
.brand-cards .brand-card {
  min-height: 410px;
  border-color: rgba(46,124,255,.55);
  box-shadow: inset 0 0 0 1px rgba(46,124,255,.05);
  background: linear-gradient(180deg, #10131a 0%, #0b0d12 100%);
}
.brand-logo-wrap {
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -4px 0 10px;
}
.brand-logo-wrap img {
  max-height: 138px;
  width: 100%;
  object-fit: contain;
  border-radius: 8px;
}
.card-divider { height: 1px; background: #2c405f; margin: 6px 0 18px; }
.brand-wordmark-logo { max-width: 430px; margin-bottom: 22px; }
.brand-wordmark-logo img { max-height: 150px; width: 100%; object-fit: contain; object-position: left center; border-radius: 8px; }
@media(max-width:920px){
  .brand-cards .brand-card { min-height: auto; }
  .brand-logo-wrap { height: 125px; }
}

/* V7 homepage refinements */
.dyno-section { grid-template-columns:1.25fr .75fr; }
.dyno-section .photo-feature,.dyno-section .photo-feature img { min-height:500px; }
.race-ready-panel { padding:28px; }
.race-ready-photos { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.race-ready-photos figure { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#08090d; }
.race-ready-photos img { display:block; width:100%; height:210px; object-fit:cover; }
.race-ready-photos figcaption { padding:14px; display:flex; flex-direction:column; gap:4px; }
.race-ready-photos figcaption strong { color:var(--blue); font-size:1.05rem; }
.race-ready-photos figcaption span { color:var(--muted); font-size:.82rem; }
@media(max-width:920px){ .dyno-section{grid-template-columns:1fr;} .dyno-section .photo-feature,.dyno-section .photo-feature img{min-height:380px;} }
@media(max-width:620px){ .race-ready-photos{grid-template-columns:1fr;} .race-ready-photos img{height:240px;} }

/* V8 refinements */
body.afco-page .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.social-cta{border:1px solid rgba(46,124,255,.45);background:linear-gradient(120deg,rgba(11,93,240,.18),rgba(11,17,24,.8));border-radius:20px;padding:30px;display:flex;justify-content:space-between;gap:28px;align-items:center;}
.social-cta h2{margin:4px 0 10px;font-size:clamp(2rem,4vw,3rem);}
@media(max-width:920px){body.afco-page .brand-grid{grid-template-columns:1fr}.social-cta{flex-direction:column;align-items:flex-start}}

/* V10 shopping cards */
.shop-brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px}
.shop-brand-card{display:block;overflow:hidden;border:1px solid rgba(46,124,255,.48);border-radius:22px;background:linear-gradient(180deg,#10131a,#090b0f);transition:transform .2s ease,border-color .2s ease;}
.shop-brand-card:hover{transform:translateY(-3px);border-color:var(--blue)}
.shop-logo-wrap{height:300px;background:#050609;display:flex;align-items:center;justify-content:center;padding:24px;border-bottom:1px solid var(--line)}
.shop-logo-wrap img{width:100%;height:100%;object-fit:contain}
.shop-card-copy{padding:28px}
.shop-card-copy h2{font-size:2rem;margin:7px 0 10px;color:white}
.shop-card-copy p{color:var(--muted);line-height:1.65;margin:0 0 22px}
@media(max-width:760px){.shop-brand-grid{grid-template-columns:1fr}.shop-logo-wrap{height:240px}}

/* V17 general race shop updates */
.ntc-service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ntc-service-cards .card{display:flex;flex-direction:column;min-height:260px}
.ntc-service-cards .card .card-link{margin-top:auto}
.parts-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.parts-service-grid .content-card{scroll-margin-top:110px}
.parts-service-grid .content-card p{color:var(--muted);line-height:1.7}
@media(max-width:1050px){.ntc-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links{gap:10px}.nav-links a{font-size:.82rem}}
@media(max-width:700px){.ntc-service-cards,.parts-service-grid{grid-template-columns:1fr}}
