@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;900&family=Barlow:wght@300;400;500;600&display=swap');

:root {
  --red:       #CC0000;
  --red-dark:  #AA0000;
  --red-mid:   #DD2222;
  --red-pale:  #FFF5F5;
  --red-muted: #F5DADA;
  --white:     #FFFFFF;
  --off-white: #FAFAFA;
  --grey-lt:   #F2F2F2;
  --grey-mid:  #CCCCCC;
  --grey-dk:   #888888;
  --text:      #2A2A2A;
  --text-soft: #666666;
}
.logo-img {
  height: 160px;
  width: auto;
}

.footer-logo-img {
  height: 120px;
  width: auto;
}



* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Barlow',sans-serif; color:var(--text); background:var(--white); line-height:1.65; font-size:16px; }

/* ── NAV ── */
nav {
  background: var(--red-dark);
  position:sticky; top:0; z-index:1000;
  padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  height:70px;
  box-shadow:0 3px 20px rgba(150,0,0,0.3);
}
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo-mark {
  width:44px; height:44px; background:white; border-radius:4px;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
}
.logo-mark .tx { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:19px; color:var(--red); line-height:1; }
.logo-mark .dot { width:6px; height:6px; background:var(--red); border-radius:50%; margin-top:2px; }
.logo-name { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:26px; color:white; letter-spacing:3px; }
.logo-name small { display:block; font-size:9px; font-weight:600; letter-spacing:2px; opacity:0.6; margin-top:-4px; }

.nav-links { display:flex; list-style:none; }
.nav-links a {
  color:rgba(255,255,255,0.82); text-decoration:none;
  font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  padding:24px 15px; display:block;
  border-bottom:3px solid transparent; transition:all 0.2s;
}
.nav-links a:hover, .nav-links a.active { color:white; border-bottom-color:rgba(255,255,255,0.5); }
.nav-links a.nav-quote {
  background:white; color:var(--red) !important;
  border-radius:3px; padding:10px 18px !important;
  border-bottom:none !important; margin-left:8px; font-weight:700 !important;
}
.nav-links a.nav-quote:hover { background:var(--red-pale) !important; }

.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; }
.nav-hamburger span { width:24px; height:2px; background:white; display:block; transition:all 0.3s; }

/* ── PAGE BANNER ── */
.page-banner {
  background:linear-gradient(135deg, var(--red-dark) 0%, var(--red) 100%);
  padding:72px 5% 56px; position:relative; overflow:hidden;
}
.page-banner::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:rgba(255,255,255,0.25); }
.page-banner::before {
  content:attr(data-tx);
  position:absolute; right:5%; top:50%; transform:translateY(-50%);
  font-family:'Barlow Condensed',sans-serif; font-size:200px; font-weight:900;
  color:rgba(255,255,255,0.06); line-height:1; pointer-events:none;
}
.breadcrumb { font-size:11px; color:rgba(255,255,255,0.5); letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.breadcrumb a { color:rgba(255,255,255,0.5); text-decoration:none; }
.breadcrumb span { color:rgba(255,255,255,0.8); }
.page-banner h1 {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(40px,5.5vw,72px); font-weight:900;
  color:white; text-transform:uppercase; letter-spacing:-0.5px; line-height:1;
}
.page-banner p { color:rgba(255,255,255,0.72); font-size:17px; margin-top:14px; font-weight:300; max-width:600px; }

/* ── MARQUEE ── */
.marquee-strip { background:var(--red-dark); padding:11px 0; overflow:hidden; white-space:nowrap; }
.marquee-inner { display:inline-block; animation:scrollx 24s linear infinite; }
.marquee-inner span { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.85); padding:0 28px; }
.marquee-inner span::before { content:'◆ '; opacity:0.4; }
@keyframes scrollx { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── SECTION HELPERS ── */
section { padding:88px 5%; }
.section-eyebrow { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:3.5px; text-transform:uppercase; color:var(--red); margin-bottom:14px; }
.section-eyebrow::before { content:''; width:26px; height:2px; background:var(--red); flex-shrink:0; }
.section-title { font-family:'Barlow Condensed',sans-serif; font-size:clamp(34px,4vw,56px); font-weight:900; text-transform:uppercase; letter-spacing:-0.5px; line-height:1; color:var(--text); margin-bottom:16px; }
.section-sub { font-size:16px; color:var(--text-soft); max-width:520px; font-weight:300; line-height:1.75; }

/* ── BUTTONS ── */
.btn-red { background:var(--red); color:white; padding:14px 34px; font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; border-radius:3px; text-decoration:none; display:inline-block; transition:all 0.2s; border:none; cursor:pointer; }
.btn-red:hover { background:var(--red-dark); transform:translateY(-1px); }
.btn-white { background:white; color:var(--red); padding:14px 34px; font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; border-radius:3px; text-decoration:none; display:inline-block; transition:all 0.2s; }
.btn-white:hover { background:var(--red-pale); transform:translateY(-1px); }
.btn-outline { background:transparent; color:white; border:2px solid rgba(255,255,255,0.5); padding:12px 28px; font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; border-radius:3px; text-decoration:none; display:inline-block; transition:all 0.2s; }
.btn-outline:hover { border-color:white; background:rgba(255,255,255,0.1); }
.btn-full { width:100%; text-align:center; }

/* ── CERTS BAR ── */
.certs-bar { background:white; padding:32px 5%; border-top:1px solid var(--red-muted); border-bottom:1px solid var(--red-muted); }
.certs-row { display:flex; justify-content:center; align-items:center; gap:40px; flex-wrap:wrap; }
.cert { text-align:center; }
.cert-box { width:60px; height:60px; border:2px solid var(--red-muted); border-radius:5px; display:flex; align-items:center; justify-content:center; margin:0 auto 7px; font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; color:var(--red); letter-spacing:0.5px; }
.cert p { font-size:10px; color:var(--text-soft); text-transform:uppercase; letter-spacing:1px; font-weight:600; }

/* ── CTA BAND ── */
.cta-band { background:linear-gradient(135deg, var(--red-dark), var(--red)); padding:80px 5%; text-align:center; position:relative; overflow:hidden; }
.cta-band::before { content:'TX'; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-family:'Barlow Condensed',sans-serif; font-size:500px; font-weight:900; color:rgba(255,255,255,0.04); pointer-events:none; line-height:1; }
.cta-band h2 { font-family:'Barlow Condensed',sans-serif; font-size:clamp(36px,4.5vw,62px); font-weight:900; color:white; text-transform:uppercase; letter-spacing:-0.5px; margin-bottom:14px; position:relative; }
.cta-band p { color:rgba(255,255,255,0.8); font-size:17px; font-weight:300; margin-bottom:32px; position:relative; }

/* ── FOOTER ── */
footer { background:var(--red-dark); padding:64px 5% 32px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.1); }
.footer-logo-row { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-logo-box { width:36px; height:36px; background:white; border-radius:3px; display:flex; align-items:center; justify-content:center; }
.footer-logo-box span { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:15px; color:var(--red); }
.footer-brand-name { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:900; color:white; letter-spacing:3px; }
.footer-brand p { color:rgba(255,255,255,0.45); font-size:14px; line-height:1.7; max-width:270px; margin-bottom:18px; }
.footer-badges { display:flex; gap:8px; flex-wrap:wrap; }
.fbadge { background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.7); font-family:'Barlow Condensed',sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; padding:4px 10px; border-radius:2px; text-transform:uppercase; }
.footer-col h4 { font-family:'Barlow Condensed',sans-serif; font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:white; margin-bottom:16px; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:9px; }
.footer-col ul li a { color:rgba(255,255,255,0.45); font-size:14px; text-decoration:none; transition:color 0.2s; }
.footer-col ul li a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:28px; flex-wrap:wrap; gap:10px; }
.footer-bottom p { color:rgba(255,255,255,0.28); font-size:12px; }

/* ── CHAT BTN ── */
.chat-btn { position:fixed; bottom:26px; right:26px; width:56px; height:56px; background:white; border:3px solid var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 20px rgba(204,0,0,0.3); z-index:999; font-size:22px; transition:transform 0.2s; text-decoration:none; }
.chat-btn:hover { transform:scale(1.1); }

/* ── RESPONSIVE ── */
@media(max-width:1024px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:768px) {
  .nav-links { display:none; flex-direction:column; position:absolute; top:70px; left:0; right:0; background:var(--red-dark); padding:16px 0; box-shadow:0 8px 24px rgba(0,0,0,0.2); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:14px 5%; border-bottom:1px solid rgba(255,255,255,0.08); border-left:none; }
  .nav-links a.nav-quote { margin:12px 5%; border-radius:3px; }
  .nav-hamburger { display:flex; }
  nav { position:relative; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
}
