/* JTF Home Group Roofing — September 2026 identity.
   Shared final layer for the existing static site; status colors stay semantic. */
:root {
  --navy: #012854; --navy-dark: #012854; --navy-deeper: #001b38; --navy-light: #174473;
  --red: #b4051a; --red-dark: #8d0414;
  /* Legacy decorative aliases kept for existing templates. */
  --gold: #b4051a; --gold-light: #fff; --gold-dark: #8d0414;
  --text-dark: #012854; --text-body: #24364b; --text-muted: #526174;
  --border: #d9e1ea; --font-accent: var(--font-body);
  --shadow-red: none; --shadow-gold: none;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #b4051a; outline-offset: 4px;
}
img[src*="home-group-roofing-primary"] { object-fit: contain; background: #fff; padding: 8%; }
.nav, .nav.opaque, .nav.scrolled, .mobile-menu, .footer, .portal-topnav { background: #012854; backdrop-filter: none; }
.nav { border-bottom: 1px solid rgba(255,255,255,.22); }
.nav-inner { height: 104px; max-width: 1320px; gap: 20px; }
.nav-logo { flex-shrink: 0; }
.nav-logo img { width: 88px; height: 88px; }
.nav-logo:hover img { transform: none; filter: none; }
.nav-links { gap: 22px; }
.nav-links a { letter-spacing: .06em; }
.footer-brand img { width: 144px; height: 144px; filter: none; }
.footer-brand .footer-tag { color: #fff; }
.jtf-attribution { font-size: 12px; line-height: 1.5; color: #fff; }
.footer-bottom { gap: 20px; flex-wrap: wrap; }
.btn-gold, .nav-cta-gold, .btn-hero-primary, .mobile-menu > .btn:not(.btn-primary) {
  background: #b4051a !important; color: #fff !important; border-color: #b4051a; box-shadow: none !important;
}
.btn-gold:hover, .nav-cta-gold:hover, .btn-hero-primary:hover { background: #8d0414 !important; transform: none; }
.btn, .btn-hero-primary, .btn-hero-glass { border-radius: 4px; min-height: 44px; }
.nav-cta-btn { font-size: 12px; padding: 12px; }
.nav-portal-btn { border-color: rgba(255,255,255,.6); color: #fff; background: transparent; }
.hero { min-height: min(820px,100svh); padding-top: 148px; padding-bottom: 64px; background: #012854; }
.hero-bg::before { background: #012854; }
.hero-bg::after, .hero-glow, .hero-insignia, .hero-particles, .hero-divider,
.about-shield::before, .about-shield::after { display: none; }
.hero-content { max-width: 1160px; margin: auto; padding: 0 32px; text-align: left; display: grid; grid-template-columns: 1fr 300px; column-gap: 64px; align-items: center; }
.hero-logo { grid-column: 2; grid-row: 1 / 4; width: 280px; height: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; filter: none; background: transparent; }
.hero-title { grid-column: 1; font-size: clamp(64px,7vw,108px); line-height: .96; letter-spacing: -.025em; }
.hero-title .line-mission { background: none; -webkit-text-fill-color: #fff; color: #fff; }
.hero-sub { grid-column: 1; text-align: left; margin: 28px 0; font-size: 16px; letter-spacing: .04em; }
.hero-actions { grid-column: 1; justify-content: flex-start; flex-wrap: wrap; }
.btn-hero-glass { background: transparent; box-shadow: none; border: 1px solid rgba(255,255,255,.6); backdrop-filter: none; }
.scroll-indicator { display: none; }
.about-shield { background: #fff; clip-path: none; border-radius: 0; box-shadow: none; }
.about-shield-inner { clip-path: none; background: #fff; }
.about-shield-inner img { filter: none !important; width: 100% !important; height: auto !important; }
.section-label, .why-header .section-label, .why-item .why-num, .stat-num { color: #b4051a; }
.why-section .section-label, .why-section .why-num, .why-section .stat-num { color: #fff; }
.ent-brand img, .portal-topnav-logo img { width: 72px; height: 72px; object-fit: contain; filter: none; }
.ent-bar { background: #012854; }
.hero-title, .section-title, .section-subtitle { text-shadow: none; }
@media (max-width: 1100px) { .nav-links { gap: 14px; } .nav-cta-group { gap: 6px; } .hero-content { column-gap: 32px; grid-template-columns: 1fr 240px; } .hero-logo { width: 240px; } }
@media (max-width: 900px) { .nav-inner { height: 88px; } .nav-logo img { width: 72px; height: 72px; } .hero { padding-top: 120px; min-height: auto; } .hero-content { grid-template-columns: 1fr 200px; } .hero-logo { width: 200px; } .hero-title { font-size: 68px; } }
@media (max-width: 640px) {
  .hero-content { display: flex; flex-direction: column; align-items: flex-start; padding: 0 24px; gap: 0; }
  .hero-logo { width: 176px; height: auto; margin: 0 0 28px; }
  .hero-title { font-size: clamp(56px,14vw,76px); text-align: left; }
  .hero-sub { line-height: 1.8; margin: 24px 0; }
  .hero-actions { width: 100%; gap: 12px; }
  .hero-actions > a { width: 100%; justify-content: center; }
  .hero { padding: 116px 0 48px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: 0s !important; }
}

.founder-card h3 { font-family: var(--font-display); font-size: 1.15rem; color: var(--text-dark); }
.btn-primary { background: #b4051a; box-shadow: none; }
.btn-primary:hover { background: #8d0414; box-shadow: none; }
.mobile-menu a, .footer-trust-badge { text-shadow: none; }
