/* Editorial rebuild inspired by the selected Squarespace HVAC template. */
:root {
  --sq-black: #0a0a0a;
  --sq-paper: #f6f5f1;
  --sq-blue: #086fd6;
}

body { background: var(--sq-paper); color: var(--sq-black); }

.site-header {
  position: relative;
  height: 94px;
  padding: 0 clamp(24px, 4.5vw, 72px);
  background: #fff;
  color: var(--sq-black);
  border-bottom: 1px solid #d8d8d5;
}
.site-header .brand { color: var(--sq-black); font-size: 23px; letter-spacing: .04em; }
.site-header .brand-mark { display: none; }
.site-header .nav { gap: clamp(18px, 2.7vw, 44px); }
.site-header .nav > a:not(.button) { color: var(--sq-black); font-weight: 700; }
.site-header .nav-login { border-color: #bbb; }
.site-header .button-small { border-radius: 0; background: var(--sq-black); box-shadow: none; }
.menu-toggle { color: var(--sq-black); }

.hero {
  min-height: min(800px, calc(100vh - 94px));
  display: flex;
  align-items: flex-end;
  padding: clamp(72px, 10vw, 140px) clamp(24px, 6vw, 92px);
  background:
    linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.48) 55%, rgba(0,0,0,.2) 100%),
    url('hero-background-text-lower.png') center / cover no-repeat;
  color: #fff;
}
.hero::after { display: none; }
.hero-copy { max-width: 980px; }
.hero .eyebrow { margin-bottom: 24px; color: #fff; letter-spacing: .16em; }
.hero .eyebrow span { background: #fff; }
.hero h1 {
  max-width: 980px;
  margin-bottom: 24px;
  font-size: clamp(54px, 8vw, 118px);
  line-height: .92;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
.hero h1 em { color: #fff; }
.hero-copy > p { max-width: 710px; color: #fff; font-size: clamp(17px, 1.5vw, 22px); }
.hero-actions { margin: 0 0 28px; flex-wrap: wrap; }
.hero-actions .button { border-radius: 0; background: #fff; color: var(--sq-black)!important; box-shadow: none; }
.hero-actions .text-link { border-bottom: 2px solid #fff; padding-bottom: 5px; }
.trust-row { color: #fff; }
.hero-visual { display: none; }

.value-strip {
  margin: 0;
  box-shadow: none;
  border-bottom: 1px solid #d8d8d5;
}
.value-strip > div { min-height: 138px; padding: 34px clamp(22px, 3vw, 48px); }
.value-strip b { color: var(--sq-black); font-size: 18px; }

.ahri-home { margin: 0; border-radius: 0; border: 0; border-bottom: 1px solid #d8d8d5; box-shadow: none; }

.section { padding: clamp(80px, 10vw, 150px) clamp(24px, 6vw, 92px); }
.section-heading { align-items: start; margin-bottom: 70px; }
.section-heading h2,.center-heading h2,.problem-section h2,.partner h2,.contact h2 {
  font-size: clamp(48px, 6.3vw, 92px);
  line-height: .96;
  letter-spacing: -.055em;
}
.section-heading > p { color: #333; font-size: 17px; }
.eyebrow { color: var(--sq-black); }
.eyebrow span { background: var(--sq-black); }

.service-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--sq-black); }
.service-card {
  min-height: 280px;
  display: grid;
  grid-template-columns: 100px minmax(220px,.8fr) minmax(260px,1.35fr) auto;
  align-items: center;
  gap: clamp(24px, 4vw, 70px);
  padding: 46px 0;
  border: 0;
  border-bottom: 1px solid var(--sq-black);
  background: transparent;
}
.service-card:hover { transform: none; box-shadow: none; }
.service-card.featured { border-top: 0; }
.service-card .popular { top: 20px; transform: none; background: var(--sq-black); }
.service-icon { width: 86px; height: 86px; border-radius: 50%; background: var(--sq-black); color: #fff; }
.service-card .service-num { display: none; }
.service-card h3 { font-size: clamp(32px, 4vw, 58px); }
.service-card p,.service-card li { color: #272727; font-size: 15px; }
.service-card ul { margin: 0; border: 0; }
.service-card a { color: var(--sq-black); border-bottom: 2px solid; font-size: 14px; white-space: nowrap; }

.problem-section {
  padding: clamp(90px, 11vw, 160px) clamp(24px, 7vw, 110px);
  background: var(--sq-black);
  gap: clamp(50px, 8vw, 130px);
}
.problem-copy p { color: #ddd; font-size: 17px; }
.problem-section .button { border-radius: 0; }
.problem-list > div { border-color: #444; }

.process { background: #fff; }
.center-heading { max-width: 1020px; margin-inline: auto; }
.steps { gap: 0; border-top: 1px solid var(--sq-black); }
.steps article { border: 0; border-right: 1px solid #bbb; border-radius: 0; box-shadow: none; background: transparent; }
.steps article:last-child { border-right: 0; }

.pricing-grid { gap: 0; border: 1px solid var(--sq-black); }
.pricing-grid article { border: 0; border-right: 1px solid var(--sq-black); border-radius: 0; box-shadow: none; }
.pricing-grid article:last-child { border-right: 0; }
.pricing-grid .price-featured { background: var(--sq-black); color: #fff; transform: none; }
.pricing-grid .price-featured p,.pricing-grid .price-featured li,.pricing-grid .price-featured span { color: #ddd; }
.pricing-grid .button,.outline-button { border-radius: 0; }

.partner { background: #173d5b; }
.tiers { border-radius: 0; }

.contact { background: #fff; }
.contact-card { border-radius: 0; box-shadow: none; background: var(--sq-black); }
.contact-card input,.contact-card select,.contact-card textarea { border-radius: 0; }
.contact-card .button { border-radius: 0; background: #fff; color: var(--sq-black)!important; }

footer { background: #fff; color: var(--sq-black); border-top: 1px solid #d8d8d5; }
footer .brand { color: var(--sq-black); }
footer .brand-mark { display: none; }

@media (max-width: 900px) {
  .service-card { grid-template-columns: 72px 1fr; gap: 18px 28px; }
  .service-card p,.service-card ul,.service-card a { grid-column: 2; }
  .steps { grid-template-columns: 1fr; }
  .steps article { border-right: 0; border-bottom: 1px solid #bbb; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-grid article { border-right: 0; border-bottom: 1px solid var(--sq-black); }
}

@media (max-width: 700px) {
  .site-header { height: 78px; }
  .site-header .nav.open { background: #fff; color: var(--sq-black); }
  .hero { min-height: 700px; padding-bottom: 60px; }
  .hero h1 { font-size: clamp(46px, 15vw, 72px); }
  .value-strip { grid-template-columns: 1fr; }
  .value-strip > div { min-height: auto; border-right: 0; border-bottom: 1px solid #ddd; }
  .section-heading { display: block; }
  .service-card { grid-template-columns: 1fr; }
  .service-card p,.service-card ul,.service-card a { grid-column: 1; }
  .problem-section { grid-template-columns: 1fr; }
}
