.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-call{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;background:#eef7fb;border:1px solid #cce2ed;border-radius:999px;color:var(--navy);font-family:Inter,Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.3px;white-space:nowrap;transition:background .15s,border-color .15s}.header-call:hover{background:#dff1f9;border-color:#a8d1e4}.hero-copy h1{font-family:Inter,Arial,sans-serif;font-weight:900;font-size:clamp(48px,4.8vw,66px);line-height:1.04;letter-spacing:-.045em}.hero-copy .hero-area{font-size:10px;letter-spacing:1.1px;font-weight:600;margin-bottom:20px}.hero-intro{font-size:15px;line-height:1.8;max-width:480px;margin:22px 0 27px}h2,h3{font-family:Inter,Arial,sans-serif;font-weight:800}.quote-card{min-height:426px;padding-top:29px;padding-bottom:24px}.quote-card #form-heading>.eyebrow{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--navy);margin-bottom:19px}.progress-track{margin:18px 0 27px}.form-step h2{font-family:Inter,Arial,sans-serif;font-size:29px;line-height:1.15;letter-spacing:-1px;font-weight:800}.address-control{margin-top:23px}.address-control .address-field input{margin-top:0}.address-status.field-hint{font-size:11px;line-height:1.6}.address-feedback{margin:10px 0 22px}.form-reassurance{margin-top:22px;font-size:10px}.color-options{margin-top:23px}.form-step .step-intro{font-size:12px;line-height:1.7;margin:13px 0 20px}.field{font-size:12px;font-weight:600}.field input{font-family:Inter,Arial,sans-serif;font-size:16px}.button{font-family:Inter,Arial,sans-serif;font-weight:700}.style-note{font-size:9px;margin-top:12px}.service-areas{padding:68px 0 64px;border-top:1px solid #e0e8ed;background:#fff}.area-layout{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;align-items:start}.area-heading h2{font-size:36px;line-height:1.14;letter-spacing:-1.3px}.area-heading>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.85;max-width:340px;margin-top:21px}.area-heading address{font-size:12px;font-style:normal;line-height:1.9;color:#6b808b;margin-top:24px;padding-left:14px;border-left:2px solid #cce4ef}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:6px 0 0}.area-grid a,.area-local{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;height:100%;padding:14px 16px;border:1px solid #dbe6ec;background:#f6fafc;border-radius:8px;font-size:12px;font-weight:600;line-height:1.5;color:var(--navy)}.area-grid a>span[aria-hidden]{font-size:17px;color:var(--blue);flex:none}.area-grid a:hover{background:#eaf5fb;border-color:#abd0e3}.area-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:23px}.area-quote{display:inline-flex;align-items:center;gap:17px;font-size:12px;font-weight:700;color:var(--blue);margin-top:16px;text-decoration:underline;text-underline-offset:4px}.area-quote>span{font-size:18px}
@media(max-width:1150px){.hero-copy h1{font-size:54px}.area-layout{gap:43px;grid-template-columns:.85fr 1.5fr}.area-heading h2{font-size:33px}.area-grid{gap:10px}.area-grid a,.area-local{font-size:11px;padding:13px 12px}}
@media(max-width:850px){.hero-copy h1{font-size:61px}.hero-intro{font-size:15px}.quote-card{min-height:418px;padding-top:29px}.form-step h2{font-size:31px}.service-areas{padding:48px 0}.area-layout{grid-template-columns:1fr;gap:30px;max-width:600px}.area-heading h2{font-size:34px}.area-heading h2 br{display:none}.area-heading>p:not(.eyebrow){max-width:470px;margin-top:17px}.area-heading address{margin-top:20px}.area-grid a,.area-local{font-size:12px;padding:14px 15px}.area-note{margin-top:20px}}
@media(max-width:550px){.header-inner{height:85px}.header-call{font-size:12px;min-height:40px;padding:9px 14px;letter-spacing:-.2px}.hero-copy h1{font-size:39px;letter-spacing:-.045em;line-height:1.06}.hero-copy .hero-area{font-size:8px;letter-spacing:.7px;margin-bottom:16px}.hero-intro{font-size:12px;line-height:1.8;margin:17px 0 22px}.quote-card{padding:25px 21px 24px;min-height:398px}.form-step h2{font-size:28px;line-height:1.15;letter-spacing:-.95px}.quote-card #form-heading>.eyebrow{font-size:12px;margin-bottom:19px}.progress-track{margin:17px 0 24px}.address-control{margin-top:23px}.address-feedback{margin:11px 0 23px}.address-status.field-hint{font-size:11px}.form-reassurance{font-size:9px;gap:20px;margin-top:24px}.color-options{margin-top:22px}.form-step .step-intro{font-size:12px}.service-areas{padding:38px 0}.area-heading h2{font-size:30px;letter-spacing:-1px}.area-heading>p:not(.eyebrow){font-size:12px;margin-top:17px}.area-heading address{font-size:11px}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.area-grid a,.area-local{min-height:58px;font-size:11px;padding:12px}.area-note{font-size:10px}.area-quote{font-size:11px}}
@media(max-width:360px){.header-call{font-size:11px;min-height:38px;padding:8px 11px}.hero-copy h1{font-size:34px}.hero-copy .hero-area{font-size:7px}.form-step h2{font-size:25px}.quote-card{padding-left:17px;padding-right:17px}.area-grid a,.area-local{font-size:10px;gap:8px}}
/* Evergreen, ivory and bright yellow keep the quote form and primary actions distinct. */
:root {
  --blue: #17634e;
  --red: #bd2e3c;
  --navy: #0b332b;
  --deep: #072b24;
  --ink: #15392f;
  --cream: #faf7ef;
  --gold: #ffe600;
  --yellow-hover: #ffed3d;
  --muted: #586961;
  --border: #d8e0da;
}
.header-call {
  color: var(--navy);
  background: var(--gold);
  border-color: var(--navy);
  box-shadow: 0 3px 0 #0b332b14;
}
.header-call:hover { background: var(--yellow-hover); border-color: var(--navy); }
.site-header { background: #fffdf8; }
.hero {
  position: relative;
  background: #0b332b;
  background-image: radial-gradient(ellipse at 85% 42%, #16483b 0, #0b332b 64%);
}
.hero-layout { position: relative; padding-top: 50px; padding-bottom: 50px; }
.hero-copy h1 {
  font-size: clamp(48px, 4.8vw, 66px);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.hero-copy h1 em { color: var(--gold); }
.hero-copy .hero-area { color: var(--gold); font-weight: 700; letter-spacing: 1px; }
.hero-intro { color: #e0e9df; max-width: 480px; }
.hero-project { border: 1px solid #ffffff45; box-shadow: 0 14px 28px #001b1738; }
.hero-checks { color: #e0e9df; }
.hero-checks > span:before { color: var(--gold); }
.form-column { align-self: center; }
.quote-card {
  border: 1px solid #ece28c;
  box-shadow: 0 0 0 7px #ffe60014, 0 0 64px #ffe6002b, 0 24px 54px #001d1759;
}
.quote-card #form-heading > .eyebrow { color: var(--blue); }
.installation-offer { display: grid; gap: 5px; margin: -4px 0 22px; padding: 13px 15px; border: 1px solid #e7d979; border-radius: 9px; background: #fffbe7; color: var(--navy); line-height: 1.5; }
.installation-offer strong { font-size: 15px; line-height: 1.3; }
.installation-offer span { font-size: 11px; }
.step-list { color: #5c6c61; }
.step-list li > span { color: #5c6c61; background: #edf2eb; }
.step-list .is-active, .step-list .is-done { color: var(--blue); }
.step-list .is-active > span, .step-list .is-done > span { background: var(--blue); }
.progress-track { background: #e8eee6; }
.button { color: var(--navy); background: var(--gold); border-color: var(--navy); box-shadow: 0 3px 0 #102f2712; }
.button:hover { background: var(--yellow-hover); border-color: var(--navy); }
.button:disabled { opacity: 1; color: #526258; background: #eeefc8; border-color: #adb69d; cursor: not-allowed; box-shadow: none; }
.mobile-cta > a { background: var(--gold); color: var(--navy); border: 1px solid var(--navy); }
.mobile-cta > a:hover { background: var(--yellow-hover); }
.field input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #17634e1c; }
.color-choice:hover, .color-choice[aria-pressed="true"] { box-shadow: 0 0 0 2px #17634e24; }
.showcase-reviews { background: var(--cream); }
.testimonial-card { border-color: #dce4da; box-shadow: 0 8px 22px #0b332b08; }
.testimonial-mark { color: var(--blue); }
.testimonial-avatar { color: var(--blue); background: #eaf1e7; }
.showcase-work {
  background: #12483c;
  color: #fff;
  border-top: 1px solid #12483c;
}
.showcase-work .eyebrow { color: var(--gold); }
.showcase-work .showcase-section-heading h2 em { color: var(--gold); }
.showcase-work .showcase-section-heading > p:last-child,
.showcase-work .showcase-photo-note { color: #e0e9df; }
.job-card { background: #0b332b; border: 1px solid #ffffff38; box-shadow: 0 12px 25px #001b1733; }
.job-card figcaption span { color: #d7e4d8; }
.included .included-grid article { border-color: #d8e2d7; }
.service-stage { color: var(--blue); border-color: #d8e2d7; }
.service-copy { border-top: 3px solid #17634e; }
.showcase-bulbs { background: var(--cream); border-top-color: #e5e2d7; }
.bulb-card { border-color: #e2dfd3; box-shadow: 0 5px 15px #0b332b08; }
.area-grid a, .area-local { background: #f5f7f0; border-color: #d4dfd2; }
.area-grid a:hover { background: #e8eee3; border-color: #a6bda5; }
.area-heading address { border-left-color: var(--gold); }
.area-heading address { color: var(--muted); }
.closing { background: #072b24; }
.closing .eyebrow { color: var(--gold); }
.closing h2 { color: #fff; }
.closing .button { border-color: var(--navy); box-shadow: 0 8px 20px #001b1726; }
.quote-card .field input { border-color: #aabbb0; background: #fcfdfb; }
.quote-card .field input::placeholder { color: #68796f; opacity: 1; }
.address-status.field-hint, .form-reassurance { color: #596c61; }
.address-option:hover, .address-option[aria-selected="true"] { background: #edf4e9; color: #15392f; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #17634e; outline-offset: 4px; }
.hero a:focus-visible, .hero button:focus-visible, .closing a:focus-visible { outline-color: var(--gold); }
.quote-card a:focus-visible, .quote-card button:focus-visible, .quote-card input:focus-visible { outline-color: #17634e; }
@media (max-width: 1150px) {
  .hero-copy h1 { font-size: 54px; }
}
@media (max-width: 850px) {
  .hero-layout { padding-top: 34px; padding-bottom: 35px; row-gap: 0; }
  .hero-copy { display: contents; }
  .hero-copy .hero-area { order: 1; margin-bottom: 18px; }
  .hero-copy h1 { order: 2; }
  .hero-intro { order: 3; }
  .form-column { order: 4; margin-top: 4px; }
  .hero-project { order: 5; margin-top: 28px; }
  .hero-checks { order: 6; }
  .hero-copy h1 { font-size: 61px; }
}
@media (max-width: 550px) {
  .hero-layout { padding-top: 28px; }
  .hero-copy h1 { font-size: 41px; line-height: 1.03; }
  .hero-copy .hero-area { font-size: 8px; letter-spacing: .55px; }
  .quote-card { box-shadow: 0 0 0 5px #ffe60014, 0 0 42px #ffe60026, 0 16px 36px #001d1747; }
}
@media (max-width: 360px) {
  .hero-copy h1 { font-size: 36px; }
  .hero-copy .hero-area { font-size: 7px; letter-spacing: .35px; }
}
/* Matching color previews retain identical framing across desktop and mobile. */
.color-choice img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.bulb-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
@media (max-width:850px) { .bulb-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
