:root {
  --adc-charcoal: #172326;
  --adc-ink: #243137;
  --adc-teal: #078c86;
  --adc-teal-dark: #056a66;
  --adc-sky: #dff3f2;
  --adc-mint: #edf8ee;
  --adc-clay: #c92a2a;
  --adc-gold: #e9b949;
  --adc-cream: #f4f0e8;
  --adc-surface: #f7fbf8;
  --adc-line: #cadbd8;
  --adc-muted: #65767a;
}
* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
body { background: #e7efec; color: var(--adc-ink); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; text-rendering: optimizeLegibility; }
img { max-width: 100%; }
a { color: var(--adc-teal-dark); }
.row { margin-left: 0; margin-right: 0; }
.navbar { background: rgba(244, 240, 232, .96); border-bottom: 1px solid var(--adc-line); backdrop-filter: blur(16px); }
.navbar-brand { color: var(--adc-charcoal); font-weight: 900; gap: .65rem; letter-spacing: 0; min-width: 0; }
.navbar-brand span:last-child { overflow-wrap: anywhere; }
.brand-mark { align-items: center; background: linear-gradient(135deg, var(--adc-teal), var(--adc-charcoal)); border-radius: 8px; color: #fff; display: inline-flex; flex: 0 0 42px; font-size: .88rem; height: 42px; justify-content: center; width: 42px; }
.nav-link { color: var(--adc-ink); font-weight: 760; }
.nav-link.active, .nav-link:hover { color: var(--adc-teal-dark); }
.btn { border-radius: 8px; font-weight: 850; min-height: 44px; white-space: normal; }
.btn-primary { background: var(--adc-teal); border-color: var(--adc-teal); color: #fff; }
.btn-primary:hover { background: var(--adc-teal-dark); border-color: var(--adc-teal-dark); }
.btn-outline-primary { border-color: var(--adc-teal); color: var(--adc-teal-dark); }
.btn-outline-primary:hover { background: var(--adc-teal); border-color: var(--adc-teal); color: #fff; }
.hero { background: linear-gradient(90deg, rgba(244,240,232,.98) 0%, rgba(244,240,232,.92) 42%, rgba(244,240,232,.24) 72%), url("../images/air-duct-cleaning-hero.webp") center right / cover no-repeat; min-height: 760px; padding: 5.5rem 0 4rem; }
.eyebrow { color: var(--adc-clay); font-size: .82rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.hero h1, .page-hero h1 { color: var(--adc-charcoal); font-size: 4.35rem; font-weight: 900; letter-spacing: 0; line-height: 1.04; overflow-wrap: break-word; }
.hero-copy, .lead-muted { color: #4c5d61; font-size: 1.12rem; max-width: 68ch; }
.section { background: rgba(231, 239, 236, .76); padding: 5.2rem 0; }
.section-soft { background: linear-gradient(135deg, var(--adc-sky), var(--adc-mint)); }
.visual-strip { background: linear-gradient(135deg, #e8f5f3, #f3eadf); }
.proof-section { background: linear-gradient(135deg, #eef8f3, #e2f2f5); }
.section-title { color: var(--adc-charcoal); font-size: 2.65rem; font-weight: 900; letter-spacing: 0; line-height: 1.1; overflow-wrap: break-word; }
.service-card, .area-card, .feature-panel, .quote-panel, .price-card, .proof-card, .faq-item, .blog-card, .testimonial-card { background: linear-gradient(180deg, var(--adc-surface), #eef7f2); border: 1px solid var(--adc-line); border-radius: 8px; box-shadow: 0 14px 34px rgba(23,35,38,.09); height: 100%; }
.service-card, .area-card, .price-card, .proof-card, .faq-item, .testimonial-card { padding: 1.35rem; }
.service-card:hover, .area-card:hover { border-color: rgba(7,140,134,.4); transform: translateY(-2px); transition: transform .18s ease, border-color .18s ease; }
.service-card h3, .area-card h3, .proof-card h3, .faq-item h3, .price-card h3 { color: var(--adc-charcoal); font-size: 1.12rem; font-weight: 900; }
.service-icon, .proof-card i { align-items: center; background: #dff3f2; border-radius: 8px; color: var(--adc-teal-dark); display: inline-flex; font-size: 1.25rem; height: 44px; justify-content: center; margin-bottom: 1rem; width: 44px; }
.check-list { list-style: none; margin: 0; padding: 0; }
.check-list li { margin-bottom: .65rem; padding-left: 1.65rem; position: relative; }
.check-list li:before { color: var(--adc-teal); content: "+"; font-weight: 900; left: 0; position: absolute; top: 0; }
.keyword-pill { background: #fbf8f1; border: 1px solid var(--adc-line); border-radius: 999px; color: #314247; display: inline-flex; font-size: .92rem; font-weight: 800; margin: .22rem; padding: .48rem .78rem; text-decoration: none; }
a.keyword-pill:hover { background: var(--adc-charcoal); color: #fff; }
.hero-quote-card, .quote-panel { background: linear-gradient(180deg, rgba(247,251,248,.98), rgba(223,243,242,.98)); border: 1px solid rgba(23,35,38,.18); box-shadow: 0 28px 75px rgba(23,35,38,.2); }
.form-control, .form-select { background: #fbf8f1; border: 2px solid #8da9a5; border-radius: 8px; color: var(--adc-ink); min-height: 48px; }
.form-label { color: var(--adc-charcoal); font-weight: 800; }
.form-control:focus { border-color: var(--adc-teal); box-shadow: 0 0 0 .2rem rgba(7,140,134,.18); }
.spam-check { background: rgba(7,140,134,.08); border: 1px solid rgba(7,140,134,.24); border-radius: 8px; padding: .85rem; }
.spam-check label { color: var(--adc-charcoal); font-size: .92rem; font-weight: 900; margin-bottom: .45rem; }
.image-card { background: #d7e9e7; border: 1px solid var(--adc-line); border-radius: 8px; box-shadow: 0 18px 44px rgba(23,35,38,.15); overflow: hidden; }
.image-card img, .blog-card img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: cover; width: 100%; }
.image-card-caption, .blog-card-body { color: #435457; font-weight: 760; padding: .85rem 1rem; }
.faq-block { background: linear-gradient(135deg, #deefec, #f2eadf); border-top: 1px solid var(--adc-line); }
.testimonial-strip { background: linear-gradient(135deg, #f5ecdd, #e2f3f0); }
.testimonial-card { position: relative; }
.testimonial-card:before { background: var(--adc-gold); border-radius: 999px; content: ""; display: block; height: 4px; margin-bottom: 1rem; width: 56px; }
.testimonial-card h3 { color: var(--adc-charcoal); font-size: 1.15rem; font-weight: 900; }
.rating-row { color: var(--adc-clay); font-size: .78rem; font-weight: 900; letter-spacing: .08em; margin-bottom: .65rem; text-transform: uppercase; }
.offer-panel { background: var(--adc-charcoal); border-radius: 8px; color: #fff; padding: 1.5rem; }
.call-link { color: inherit; font-weight: 900; text-decoration: none; }
.price-card span, .area-card strong, .review-badge { color: var(--adc-clay); font-weight: 900; }
.price-card h3 { font-size: 2rem; color: var(--adc-teal-dark); }
.blog-grid { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.blog-card { overflow: hidden; }
.blog-card h2 a { color: var(--adc-charcoal); text-decoration: none; }
.blog-article h2 { color: var(--adc-charcoal); font-size: 1.55rem; font-weight: 900; margin-top: 1.8rem; overflow-wrap: break-word; }
.footer { background: var(--adc-charcoal); color: rgba(255,255,255,.78); padding: 4rem 0 2rem; }
.footer a { color: #fff; text-decoration: none; }
.footer-title { color: #fff; font-weight: 900; }
@media (max-width: 1199.98px) { .hero h1, .page-hero h1 { font-size: 3.55rem; } .section-title { font-size: 2.3rem; } }
@media (max-width: 991.98px) {
  .navbar-collapse { padding: .85rem 0 1rem; }
  .navbar .btn { display: flex; justify-content: center; margin: .45rem 0 0 !important; width: 100%; }
  .hero { background: linear-gradient(180deg, rgba(244,240,232,.98) 0%, rgba(244,240,232,.94) 56%, rgba(244,240,232,.52) 100%), url("../images/air-duct-cleaning-hero.webp") center bottom / cover no-repeat; min-height: auto; padding: 4.4rem 0 3.5rem; }
  .hero h1, .page-hero h1 { font-size: 3rem; }
  .hero-copy, .lead-muted { font-size: 1.06rem; }
  .section { padding: 4rem 0; }
  .hero-quote-card { margin-top: .25rem; }
}
@media (max-width: 575.98px) {
  .navbar-brand { font-size: 1rem; max-width: calc(100% - 64px); }
  .brand-mark { flex-basis: 38px; height: 38px; width: 38px; }
  .hero { padding: 3.25rem 0 2.75rem; }
  .hero h1, .page-hero h1 { font-size: 2.2rem; line-height: 1.08; }
  .section-title { font-size: 1.85rem; }
  .hero-copy, .lead-muted { font-size: 1rem; }
  .btn-lg { font-size: 1rem; width: 100%; }
  .d-flex.flex-wrap.gap-3 .btn { width: 100%; }
  .hero-quote-card, .quote-panel { padding: 1.1rem !important; }
  .service-card, .area-card, .price-card, .proof-card, .faq-item, .testimonial-card { padding: 1.1rem; }
  .keyword-pill { max-width: 100%; overflow-wrap: anywhere; }
  .footer { padding: 3rem 0 1.5rem; }
}

/* Calgary accent: a restrained prairie-red highlight layered onto the retained TT palette. */
.eyebrow::before { background: var(--adc-clay); content: ''; display: inline-block; height: 3px; margin-right: .55rem; vertical-align: middle; width: 1.8rem; }
