/* House Call Tech brand: shiny 4K navy + electric blue (from logo) */
:root {
  --bg-deep: #050b16;
  --bg: #0a1c38;
  --bg-elevated: #0e2850;
  --surface: #12325e;
  --text: #f4f8ff;
  --text-muted: #b4c9e6;
  --brand-blue: #1e7bff;
  --brand-blue-bright: #4da3ff;
  --brand-blue-dark: #0f5ed1;
  --gold: var(--brand-blue);
  --gold-dim: var(--brand-blue-bright);
  --gold-dark: var(--brand-blue-dark);
  --accent: var(--brand-blue);
  --accent-bright: var(--brand-blue-bright);
  --accent-dark: var(--brand-blue-dark);
  --accent-soft: rgba(30, 123, 255, 0.22);
  --border: rgba(160, 200, 255, 0.16);
  --border-gold: rgba(77, 163, 255, 0.55);
  --blue: var(--brand-blue);
  --blue-hover: var(--brand-blue-bright);
  --blue-light: var(--accent-soft);
  --navy: #0a1c38;
  --shine-blue: linear-gradient(135deg, #4da3ff 0%, #1e7bff 42%, #0a4db8 100%);
  --shine-blue-soft: linear-gradient(145deg, rgba(77, 163, 255, 0.35), rgba(30, 123, 255, 0.08) 50%, transparent);
  --shadow-card: 0 12px 40px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(77, 163, 255, 0.08);
  --shadow-card-hover: 0 18px 50px rgba(0, 20, 60, 0.55), 0 0 40px rgba(30, 123, 255, 0.18);
  --font-display: "DM Sans", system-ui, sans-serif;
}

body {
  color: var(--text) !important;
  background:
    radial-gradient(ellipse 90% 55% at 15% -10%, rgba(77, 163, 255, 0.22), transparent 55%),
    radial-gradient(ellipse 70% 45% at 95% 10%, rgba(30, 123, 255, 0.16), transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 100%, rgba(12, 60, 140, 0.35), transparent 55%),
    var(--bg-deep) !important;
  background-attachment: fixed !important;
}

a {
  color: var(--gold) !important;
}

a:hover {
  color: var(--gold-dim) !important;
  text-decoration: none;
}

.text-accent {
  color: #fff !important;
  background: var(--shine-blue) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-style: italic;
  filter: drop-shadow(0 0 18px rgba(77, 163, 255, 0.55));
}

.site-header {
  background: linear-gradient(180deg, rgba(5, 14, 30, 0.96), rgba(10, 28, 56, 0.9)) !important;
  border-bottom: 1px solid rgba(77, 163, 255, 0.22) !important;
  box-shadow: 0 8px 32px rgba(0, 20, 60, 0.35), inset 0 1px 0 rgba(160, 210, 255, 0.12) !important;
  backdrop-filter: blur(14px);
}

.logo {
  color: var(--text) !important;
  gap: 0;
}

.logo-img {
  display: block;
  height: 56px;
  width: auto;
  border-radius: 12px;
  box-shadow:
    0 0 0 1px rgba(160, 210, 255, 0.35),
    0 0 28px rgba(77, 163, 255, 0.55),
    0 0 56px rgba(30, 123, 255, 0.28);
}

.footer-logo-img {
  display: block;
  height: 96px;
  width: auto;
  border-radius: 14px;
  margin-bottom: 0.75rem;
  box-shadow:
    0 0 0 1px rgba(160, 210, 255, 0.3),
    0 0 36px rgba(77, 163, 255, 0.45);
}

.logo-icon {
  display: none !important;
}

.logo-tag {
  color: var(--brand-blue-bright) !important;
  letter-spacing: 0.1em;
}

.site-nav a {
  color: var(--text-muted) !important;
}

.site-nav a:hover {
  color: var(--text) !important;
}

.header-phone {
  color: var(--text) !important;
}

.nav-toggle-bar {
  background: var(--text) !important;
}

.btn-primary {
  background: var(--shine-blue) !important;
  color: #ffffff !important;
  font-weight: 800;
  border: 1px solid rgba(180, 220, 255, 0.45) !important;
  box-shadow:
    0 4px 24px rgba(30, 123, 255, 0.55),
    0 0 40px rgba(77, 163, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  text-shadow: 0 1px 2px rgba(0, 40, 100, 0.35);
}

.btn-primary:hover {
  background: linear-gradient(135deg, #6bb4ff 0%, #2b8cff 45%, #1563e0 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow:
    0 8px 32px rgba(77, 163, 255, 0.55),
    0 0 56px rgba(30, 123, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

.btn-outline {
  background: rgba(10, 40, 90, 0.35) !important;
  color: #e8f2ff !important;
  border: 1px solid rgba(120, 180, 255, 0.55) !important;
  box-shadow: inset 0 1px 0 rgba(200, 230, 255, 0.15), 0 0 20px rgba(30, 123, 255, 0.12) !important;
}

.btn-outline:hover {
  background: rgba(30, 123, 255, 0.22) !important;
  border-color: #4da3ff !important;
  color: #ffffff !important;
  box-shadow: 0 0 28px rgba(77, 163, 255, 0.35) !important;
}

.hero-content .btn-outline {
  color: #eaf3ff !important;
  border-color: rgba(140, 195, 255, 0.65) !important;
}

.hero-content .btn-outline:hover {
  background: rgba(30, 123, 255, 0.25) !important;
  color: #fff !important;
}

.link-arrow {
  color: var(--brand-blue-bright) !important;
  text-shadow: 0 0 16px rgba(77, 163, 255, 0.45);
}

.hero-overlay {
  background:
    radial-gradient(ellipse 55% 50% at 78% 18%, rgba(77, 163, 255, 0.38), transparent 60%),
    radial-gradient(ellipse 40% 35% at 20% 70%, rgba(30, 123, 255, 0.22), transparent 55%),
    linear-gradient(105deg, rgba(5, 14, 30, 0.92) 0%, rgba(10, 35, 70, 0.72) 48%, rgba(8, 24, 50, 0.55) 100%),
    linear-gradient(180deg, transparent 0%, rgba(5, 14, 30, 0.45) 60%, var(--bg-deep) 100%) !important;
}

.hero h1 {
  font-family: var(--font-display);
  font-weight: 800;
  color: #fff;
  text-shadow: 0 2px 24px rgba(30, 123, 255, 0.35), 0 0 48px rgba(77, 163, 255, 0.2);
}

.hero-tagline {
  color: var(--text) !important;
}

.hero-content .hero-lead,
.hero-content .hero-status,
.hero-content .hero-stats {
  color: var(--text-muted) !important;
}

.hero-content .hero-stats strong {
  color: var(--text) !important;
}

.hero-stats li {
  background: linear-gradient(145deg, rgba(77, 163, 255, 0.16), rgba(255, 255, 255, 0.04)) !important;
  border: 1px solid rgba(120, 180, 255, 0.35) !important;
  border-left: 2px solid #4da3ff !important;
  box-shadow: 0 0 24px rgba(30, 123, 255, 0.15), inset 0 1px 0 rgba(200, 230, 255, 0.2) !important;
  backdrop-filter: blur(8px);
}

.status-dot {
  background: #22c55e !important;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.5) !important;
}

.section-head h2 {
  color: var(--text) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  font-family: var(--font-display);
  font-weight: 800;
}

.section-head p {
  color: var(--text-muted) !important;
}

.pillars {
  background: var(--bg) !important;
  border-color: var(--border) !important;
}

.pillar-grid h2 {
  color: var(--gold) !important;
  font-family: var(--font-display);
  font-weight: 800;
}

.pillar-grid p {
  color: var(--text-muted) !important;
}

.category-card,
.price-card,
.brand-card,
.area-card,
.quote-grid blockquote,
.pillar-grid article,
.book-form,
.contact-inner,
.iphone-models {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: none;
}

.category-card:hover,
.price-card:hover,
.brand-card:hover,
.area-card:hover,
.quote-grid blockquote:hover,
.pillar-grid article:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card-hover) !important;
  border-color: var(--border-gold) !important;
}

.category-card h3 {
  color: var(--text) !important;
  font-family: var(--font-display);
}

.category-card ul,
.brand-card span,
.area-card span {
  color: var(--text-muted) !important;
}

.pricing {
  background: var(--bg-deep) !important;
  border-color: var(--border) !important;
}

.price-card.featured {
  border-color: var(--border-gold) !important;
}

.price-badge {
  background: var(--gold) !important;
  color: #0a0a0c !important;
}

.price-amount {
  color: var(--gold) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  font-family: var(--font-display);
}

.brand-card-hint {
  color: var(--gold) !important;
}

.brand-card-btn[aria-expanded="true"] {
  background: var(--accent-soft) !important;
  border-color: var(--border-gold) !important;
}

.model-link {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.model-link:hover {
  border-color: var(--border-gold) !important;
  color: var(--gold) !important;
}

.testimonials {
  background: var(--bg) !important;
  border-color: var(--border) !important;
}

.quote-grid p {
  color: var(--text-muted) !important;
}

.quote-grid footer {
  color: var(--gold) !important;
}

.contact {
  background: var(--bg-deep) !important;
  border-color: var(--border) !important;
}

.contact-inner h2,
.book-copy h2,
.faq-layout header h2 {
  color: var(--text) !important;
  background: none !important;
  font-family: var(--font-display);
  font-weight: 800;
}

.faq-list dt {
  color: var(--text);
}

.faq-list dd {
  color: var(--text-muted) !important;
}

.book-form input,
.book-form textarea,
.book-form select {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.book-form input:focus,
.book-form textarea:focus,
.book-form select:focus {
  outline-color: var(--gold) !important;
  border-color: var(--border-gold) !important;
}

.price-tier-note {
  color: var(--text-muted) !important;
}

.price-card-field select {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.price-card-field select:focus {
  outline-color: var(--gold) !important;
  border-color: var(--border-gold) !important;
}

.quality-option.is-active {
  border-color: var(--border-gold) !important;
  background: rgba(245, 209, 66, 0.1) !important;
  color: var(--text) !important;
}

.quality-option:hover {
  border-color: var(--border-gold) !important;
}

.iphone-panel-field select {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

.iphone-panel-field select:focus {
  outline-color: var(--gold) !important;
  border-color: var(--border-gold) !important;
}

.iphone-panel-price {
  color: var(--gold) !important;
}

.model-link.is-selected {
  border-color: var(--border-gold) !important;
  background: rgba(245, 209, 66, 0.1) !important;
  color: var(--gold) !important;
}

.form-note,
.book-email a {
  color: var(--gold) !important;
}

.book-copy p,
.contact-inner > p,
.pricing-note,
.areas-note {
  color: var(--text-muted) !important;
}

.book-phone a {
  color: var(--text) !important;
}

.book-phone a:hover,
.contact-list a:hover {
  color: var(--gold) !important;
}

.contact-list a {
  color: var(--text) !important;
}

.site-footer {
  background: #080809 !important;
  border-top: 1px solid var(--border) !important;
}

.site-footer a {
  color: var(--gold) !important;
}

.site-footer .footer-brand {
  color: var(--text) !important;
}

.site-footer .footer-tag,
.site-footer .footer-heading,
.site-footer .footer-bottom {
  color: var(--text-muted) !important;
}

.site-nav.is-open {
  background: var(--bg-deep) !important;
  border-bottom-color: var(--border) !important;
}

.section {
  padding: 5rem 0;
}

.skip-link {
  background: var(--gold) !important;
  color: #0a0a0c !important;
}

/* Bold typography (Hz-style sans) */
body {
  font-weight: 600 !important;
}

.logo-name {
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.logo-tag {
  font-weight: 700 !important;
}

.site-nav a {
  font-weight: 700 !important;
}

.header-phone {
  font-weight: 800 !important;
}

.btn {
  font-weight: 800 !important;
  letter-spacing: 0.02em;
}

.hero h1 {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
}

.hero-tagline {
  font-weight: 700 !important;
}

.hero-lead {
  font-weight: 600 !important;
}

.hero-stats strong {
  font-weight: 800 !important;
}

.section-head h2 {
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.section-head p {
  font-weight: 600 !important;
}

.pillar-grid h2,
.category-card h3,
.faq-list dt {
  font-weight: 800 !important;
}

.pillar-grid p,
.category-card ul {
  font-weight: 600 !important;
}

.price-amount {
  font-weight: 800 !important;
}

.price-card h3,
.brand-card strong,
.area-card strong {
  font-weight: 700 !important;
}

.contact-inner h2,
.book-copy h2,
.faq-layout header h2 {
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.book-phone a {
  font-weight: 800 !important;
}

.contact-list a,
.book-email a {
  font-weight: 700 !important;
}

.footer-brand {
  font-weight: 800 !important;
}

.footer-heading {
  font-weight: 800 !important;
}

.quote-grid footer {
  font-weight: 800 !important;
}

.link-arrow {
  font-weight: 800 !important;
}

.text-accent {
  font-weight: 800 !important;
  font-style: normal !important;
}

.book-form label {
  font-weight: 700 !important;
}

.book-wizard {
  border-color: var(--border) !important;
}

.device-tile.is-active {
  border-color: rgba(77, 163, 255, 0.7) !important;
  box-shadow: 0 0 28px rgba(30, 123, 255, 0.35), inset 0 1px 0 rgba(200, 230, 255, 0.2) !important;
}

.device-tile.is-active::after {
  background: var(--gold) !important;
}

.device-tile.is-active .device-tile-icon {
  color: #fff !important;
}

.phone-brand-tile.is-active {
  border-color: rgba(77, 163, 255, 0.7) !important;
  box-shadow: 0 0 28px rgba(30, 123, 255, 0.35), inset 0 1px 0 rgba(200, 230, 255, 0.2) !important;
}

.phone-brand-tile.is-active .phone-brand-logo {
  color: var(--gold) !important;
}

.phone-brand-tile.is-active strong {
  color: var(--gold) !important;
}

.device-tile strong {
  color: var(--gold) !important;
}

.device-tile:hover {
  border-color: var(--border-gold) !important;
}

.book-services-head h3 {
  color: var(--gold) !important;
}

.service-picker-item:hover,
.service-picker-item.is-active {
  color: var(--gold) !important;
}

.book-iphone-options {
  background: var(--bg-elevated) !important;
  border-color: var(--border) !important;
}
