/* v3.5: Restored racing header, mobile header tweak, WebP logo support; SEO/analytics preserved */
:root {
  --black:#0a0a0a; --red:#E10600; --red-dark:#8b0a04; --text:#f2f2f2; --muted:#c9c9c9;
  --panel:#121212; --panel-2:#181818; --glass:rgba(255,255,255,0.04); --border:#242424; --focus:#ffd166;
}

*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html,body{margin:0;padding:0;background:var(--black);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
img{max-width:100%;height:auto;display:block}

h1,h2,h3,h4{font-family:'Teko',Arial,sans-serif;letter-spacing:.5px;margin:0 0 6px}
h1{font-size:clamp(28px,4.2vw,44px)} h2{font-size:clamp(26px,3.6vw,40px)} h3{font-size:clamp(22px,3vw,32px)}

.container{width:min(1120px,92%);margin:0 auto}

/* Header with no-wrap tweak */
.site-header{background:var(--panel);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;min-height:84px;flex-wrap:nowrap}
.brand-wrap{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;white-space:nowrap;overflow:hidden}
.logo{width:96px;height:96px;border-radius:14px;object-fit:cover;flex:0 0 auto}
.logo.small{width:48px;height:48px}
.brand-name{font-family:'Teko',Arial,sans-serif;font-size:clamp(38px,6.5vw,68px);font-weight:800;letter-spacing:.5px;line-height:.82}
.brand .emph{color:var(--red);text-shadow:0 0 10px rgba(225,6,0,0.12)}
.brand .tagline{margin:2px 0 0;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1px;white-space:normal}

.banner img{width:100%;height:auto;display:block}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;text-decoration:none;border-radius:12px;font-weight:800;position:relative;border:2px solid transparent}
.btn.primary{background:linear-gradient(90deg,var(--red),var(--red-dark));color:#fff;border:none}
.btn.ghost{color:#fff;border:2px solid var(--red);background:transparent}
.btn.big{padding:16px 26px;font-size:18px}
.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.hero{background:radial-gradient(80% 120% at 20% 0%,rgba(255,255,255,0.08),rgba(0,0,0,0))}
.hero-inner{padding:26px 0 22px;text-align:center}
.hero p{margin:0 auto 14px;max-width:740px;color:var(--muted);line-height:1.5}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:12px 0 6px}
.service-area{color:var(--muted);font-size:14px;margin-top:6px}

.services{background:var(--panel-2);padding:26px 0}
.section-head{display:flex;align-items:flex-end;gap:12px}
.section-head .bar{height:10px;flex:1;background:repeating-linear-gradient(90deg,var(--red) 0 14px,transparent 14px 22px);mask-image:linear-gradient(90deg,rgba(0,0,0,1),rgba(0,0,0,0))}
.muted{color:var(--muted)} .center{text-align:center}
.chart-wrap{border-radius:14px;padding:10px;overflow:hidden;border:1px solid var(--border);background:#0e0e0e}
.glass{background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));backdrop-filter:saturate(120%) blur(2px)}

.about{padding:24px 0 36px}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.card{border:1px solid var(--border);border-radius:14px;padding:18px}

.bullets{padding-left:18px;line-height:1.8}

/* Mobile refinements */
@media (max-width:880px){
  .two-col{grid-template-columns:1fr}
  .header-inner{gap:8px 14px;min-height:76px}
  .logo{width:88px;height:88px}
  .btn.big{font-size:17px}
  .hero-inner{padding:22px 18px 18px}
  .chart-wrap{padding:8px;border-radius:12px}
  .glass{backdrop-filter:none}
}

/* Sticky mobile Book button */
.sticky-book{position:fixed;left:0;right:0;bottom:14px;width:min(520px,92%);margin:0 auto;display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:14px;background:linear-gradient(90deg,var(--red),var(--red-dark));color:#fff;text-decoration:none;font-weight:900;letter-spacing:.6px;border:none;box-shadow:0 8px 24px rgba(0,0,0,0.35)}
@media (min-width:880px){.sticky-book{display:none}}

.site-footer{background:var(--panel);border-top:1px solid var(--border);margin-top:0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.foot-left{display:flex;align-items:center;gap:10px}
.legal{text-align:center;color:var(--muted);font-size:13px;padding:10px 0 18px}

.visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;clip-path:inset(50%);border:0;padding:0;margin:0}

/* Footer links */
.foot-links{display:flex;justify-content:center;gap:16px;margin-top:6px}
.foot-links a{color:var(--muted);text-decoration:none;font-weight:700}
.foot-links a:hover,.foot-links a:focus-visible{color:#fff;text-decoration:underline}


/* --- v3.5.1 mobile header fix --- */
@media (max-width: 520px){
  .header-inner{padding:8px 0; min-height:72px; flex-wrap:nowrap}
  .brand-wrap{gap:10px; white-space:normal; align-items:center}
  .logo{width:72px; height:72px}
  .brand-name{font-size:clamp(30px, 9.5vw, 52px); line-height:0.9}
  .brand .tagline{display:none}
  .btn.primary{min-height:42px; padding:10px 14px; font-size:15px}
  .container{width:min(1120px,94%)}
}
@media (max-width: 380px){
  .logo{width:64px; height:64px}
  .brand-name{font-size:clamp(26px, 9.8vw, 46px)}
}
/* --- end mobile header fix --- */


/* --- v3.6 sticky compact header (mobile) --- */
@media (max-width: 880px){
  .site-header{transition: all .18s ease-in-out; backdrop-filter: saturate(120%) blur(6px); background: rgba(18,18,18,0.92);}
  .site-header.compact .header-inner{padding:6px 0; min-height:64px}
  .site-header.compact .logo{width:64px; height:64px}
  .site-header.compact .brand-name{font-size:clamp(24px, 8.8vw, 42px); line-height:0.9}
  .site-header.compact .tagline{display:none}
  .site-header.compact .btn.primary{min-height:38px; padding:8px 14px; font-size:14px}
}
/* --- end v3.6 --- */


/* --- v3.6.1 no-wrap brand name on mobile --- */
@media (max-width: 880px){
  .brand-name{white-space:nowrap; font-size:clamp(22px, 7.8vw, 38px)}
}
@media (max-width: 520px){
  .brand-name{font-size:clamp(20px, 7.4vw, 34px)}
}
/* --- end v3.6.1 --- */
