/* Homepage: readable type, a clear starting point, and a warm solar palette. */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center;padding-block:56px 64px}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(44px,4.45vw,64px);line-height:1.08;letter-spacing:-.055em;font-weight:650}
.highlight-word{position:relative;display:inline-block;isolation:isolate}
.highlight-word::after{content:'';position:absolute;inset:auto -3px 2px;height:.18em;background:var(--yellow);z-index:-1}
.hero-description{font-size:var(--type-body);line-height:1.75;color:var(--text);max-width:510px;margin-top:24px}
.hero-form{margin-top:28px;max-width:560px}
.object-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:22px}
.object-option{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 6px;min-height:48px;border:1px solid var(--line);border-radius:8px;font-size:var(--type-meta);font-weight:700;color:var(--text);cursor:pointer;line-height:1.4;transition:background .18s,border-color .18s}
.object-option input{position:absolute;opacity:0;width:1px;height:1px}
.object-option .icon{width:18px;height:18px}
.object-option:hover{background:var(--soft)}
.object-option:has(input:checked){background:var(--ink);border-color:var(--ink);color:white}
.object-option:has(input:focus-visible){outline:3px solid #b88b05;outline-offset:3px}
.hero-city-label{display:block;font-size:var(--type-small);font-weight:700;margin-bottom:10px}
.hero-input-row{display:flex;gap:6px;padding:6px;border:1px solid #b9c5b9;border-radius:12px;background:white;box-shadow:0 5px 18px #22382e08}
.hero-input-row:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #22382e12}
.location-input{display:flex;align-items:center;flex:1;min-width:0;padding-left:8px;gap:8px}
.location-input .icon{width:20px;height:20px;color:var(--muted)}
.location-input input{width:100%;border:0;padding:14px 0;background:transparent;font-size:var(--type-body);color:var(--ink)}
.hero-input-row .button{padding:14px 16px;gap:12px;white-space:nowrap;font-size:var(--type-small)}
.form-benefits{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:14px;font-size:var(--type-meta);color:var(--text)}
.form-benefits span{display:flex;align-items:center;gap:6px}
.form-benefits .icon{width:16px;height:16px;color:var(--ink)}
.hero-request-note{font-size:var(--type-meta);line-height:1.7;color:var(--muted);margin-top:16px;max-width:500px}
.hero-art{position:relative;isolation:isolate;min-width:0;min-height:570px;align-self:stretch;border-radius:var(--radius-large);background:var(--surface-warm);display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-art::before{content:'';position:absolute;width:300px;aspect-ratio:1;border-radius:50%;background:#f4d875;top:-160px;right:-100px;z-index:-1}
.hero-house{width:118%;max-width:none;mix-blend-mode:multiply;margin-top:30px}
.hero-art-label{position:absolute;top:28px;left:28px;right:20px;display:flex;align-items:center;gap:10px;font-size:var(--type-meta);font-weight:750;letter-spacing:.07em;line-height:1.5}
.tiny-sun{color:#94731a;font-size:24px}
.hero-note{position:absolute;left:28px;bottom:28px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:white;border-radius:12px;font-size:var(--type-small);line-height:1.6;color:var(--text)}
.hero-note strong{color:var(--ink);font-weight:750}
.note-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--yellow);color:var(--ink)}
.note-icon .icon{width:22px;height:22px}
.benefit-band{background:var(--soft);border-block:1px solid var(--line)}
.benefit-band-inner{display:grid;grid-template-columns:1fr 1.15fr 1.2fr auto;align-items:center;gap:28px;padding-block:28px}
.benefit-band-inner>div{display:flex;align-items:center;gap:16px;border-right:1px solid #d7dfd3;padding-right:18px}
.benefit-value{font-size:40px;font-weight:600;letter-spacing:-.06em;line-height:1}
.benefit-value>span{font-size:24px}
.benefit-band p{font-size:var(--type-meta);line-height:1.7;color:var(--text)}
.benefit-band strong{color:var(--ink);font-weight:700}
.band-link{display:flex;align-items:center;gap:14px;font-size:var(--type-meta);font-weight:750}
.band-link .icon{width:18px;height:18px}
.section-space{padding-block:96px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:40px}
.section-heading .eyebrow,.comparison-copy .eyebrow,.faq-heading .eyebrow{margin-bottom:18px;color:var(--muted)}
.section-heading h2,.comparison-copy h2,.faq-heading h2{font-size:clamp(32px,3.5vw,48px);line-height:1.14}
.section-intro{font-size:var(--type-body);line-height:1.75;max-width:340px;color:var(--text)}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.step-visual{position:relative;aspect-ratio:1.7;background:var(--soft);border-radius:16px;margin-bottom:24px;overflow:hidden}
.step-visual img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:16px}
.step-number{position:absolute;top:16px;left:16px;z-index:1;font-size:var(--type-meta);font-weight:750;color:var(--ink);background:white;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.step h3{font-size:23px;line-height:1.3;letter-spacing:-.035em;margin-bottom:12px}
.step>p{font-size:var(--type-body);line-height:1.75;color:var(--text);max-width:370px}
.section-bottom{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}
.section-bottom>span{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--type-small)}
.section-bottom .icon{width:18px;height:18px}
.section-bottom .text-button{font-size:var(--type-small);white-space:nowrap}
.property-section{padding-block:72px;background:var(--soft)}
.property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.property-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:28px 24px;border:1px solid var(--line);border-radius:16px;background:white;transition:border-color .18s,transform .18s}
.property-card:hover{border-color:#9aab98;transform:translateY(-3px)}
.property-icon{display:grid;place-items:center;align-self:flex-start;width:48px;height:48px;background:var(--surface-warm);border-radius:12px;margin-bottom:28px}
.property-icon .icon{width:26px;height:26px}
.property-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:19px;font-weight:750;letter-spacing:-.025em;line-height:1.35}
.property-title>.icon{width:18px;height:18px}
.property-description{font-size:var(--type-small);line-height:1.75;color:var(--text);margin-top:10px}
.comparison-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.comparison-art{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-warm);border-radius:var(--radius-large);padding:36px 24px}
.image-eyebrow{font-size:var(--type-meta);font-weight:750;letter-spacing:.09em;color:var(--muted);text-align:center}
.comparison-art img{width:100%;mix-blend-mode:multiply;margin-block:30px}
.comparison-art-caption{display:flex;align-items:center;gap:10px;font-size:var(--type-small);text-align:center}
.small-check{display:grid;place-items:center;flex:none;width:28px;height:28px;background:var(--yellow);border-radius:50%}
.small-check .icon{width:16px;height:16px}
.comparison-intro{font-size:var(--type-body);line-height:1.75;color:var(--text);margin-top:20px}
.comparison-list{margin:24px 0}
.comparison-item{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.comparison-item>span{font-size:var(--type-meta);color:var(--muted);padding-top:3px}
.comparison-item h3{font-size:19px;letter-spacing:-.025em;line-height:1.3;margin-bottom:8px}
.comparison-item p{font-size:var(--type-body);line-height:1.75;color:var(--text)}
.comparison-copy .text-button{font-size:var(--type-small)}
.installer-banner{display:flex;align-items:center;gap:32px;padding:48px;background:var(--ink);color:white;border-radius:var(--radius-large)}
.installer-symbol{align-self:flex-start;color:var(--yellow);padding-top:6px}
.installer-symbol .sunmark{width:48px;height:48px}
.installer-copy{flex:1;min-width:0}
.installer-copy .eyebrow{font-size:var(--type-meta);color:#c8d3c6;margin-bottom:16px}
.installer-copy h2{font-size:32px;line-height:1.25;font-weight:550;letter-spacing:-.035em}
.installer-copy p:last-child{font-size:var(--type-small);line-height:1.8;color:#c8d3c6;margin-top:18px}
.button-light{background:white;color:var(--ink);font-size:var(--type-small);white-space:nowrap;padding:16px 20px}
.button-light:hover{background:var(--yellow)}
.faq-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px}
.faq-heading>p:last-child{font-size:var(--type-body);color:var(--text);margin-top:20px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;font-size:var(--type-body);font-weight:700;cursor:pointer;padding:24px 0;line-height:1.6}
.faq-list summary::-webkit-details-marker{display:none}
.faq-plus{display:grid;place-items:center;flex:none;width:30px;height:30px;background:var(--soft);border-radius:50%}
.faq-plus .icon{width:16px;height:16px;transition:transform .18s}
.faq-list details[open] .faq-plus{background:var(--yellow)}
.faq-list details[open] .faq-plus .icon{transform:rotate(45deg)}
.faq-list details>p{font-size:var(--type-body);line-height:1.8;color:var(--text);padding:0 40px 24px 0}
.final-section{padding-block:80px;background:var(--surface-warm);border-block:1px solid #eae6d8}
.final-inner{text-align:center}
.final-inner .eyebrow{color:var(--muted);margin-bottom:20px}
.final-inner h2{font-size:clamp(32px,3.7vw,52px);line-height:1.15}
.final-inner .button{margin-top:28px;font-size:var(--type-body)}
.final-inner>p:last-child{font-size:var(--type-small);color:var(--muted);margin-top:18px}
@media(max-width:1199px){
  .hero{gap:32px;padding-block:40px 48px}.hero h1{font-size:clamp(42px,4.8vw,58px)}.hero-art{min-height:520px}.hero-art-label{left:20px;top:22px;font-size:var(--type-meta)}.hero-note{left:20px;bottom:22px}
  .hero-input-row{flex-direction:column}.location-input{padding-inline:10px}.hero-input-row .button{justify-content:space-between}.object-option{flex-direction:column;gap:6px;padding-block:10px}
  .benefit-band-inner{grid-template-columns:1fr 1.1fr 1.2fr;gap:20px}.benefit-band-inner>div:last-of-type{border:0;padding-right:0}.band-link{display:none}
  .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-section,.faq-section{gap:40px}.installer-banner{padding:36px;gap:24px}.installer-symbol{display:none}.installer-copy h2{font-size:28px}
}
@media(max-width:899px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:24px}.hero h1{font-size:42px}.hero-art{min-height:480px}.hero-art::before{width:240px;top:-130px;right:-100px}.hero-house{width:145%}.hero-art-label{font-size:var(--type-meta);max-width:190px;align-items:flex-start}.hero-note{right:16px;left:16px;bottom:20px;padding:12px;gap:8px;font-size:var(--type-meta)}
  .section-space{padding-block:72px}.section-heading{gap:30px}.section-intro{max-width:290px}.steps-grid{gap:24px}.step h3{font-size:20px}.step-visual{aspect-ratio:1.2}.step>p{font-size:var(--type-small)}.installer-banner{display:block}.installer-banner .button{margin-top:24px}
}
@media(max-width:699px){
  .hero{grid-template-columns:1fr;gap:28px;padding-block:32px 36px}.hero h1{font-size:clamp(38px,10.7vw,58px);line-height:1.1}.hero-description{margin-top:22px;line-height:1.7}.hero-form{margin-top:24px;max-width:none}.object-switch{margin-bottom:20px}.object-option{font-size:var(--type-meta);min-height:64px}.object-option .icon{width:20px;height:20px}.hero-input-row{padding:7px;gap:4px}.location-input input{min-height:50px;padding-block:12px}.hero-input-row .button{min-height:50px;font-size:var(--type-body);justify-content:center}.form-benefits{gap:10px 16px}.hero-request-note{margin-top:14px}
  .hero-art{min-height:310px;height:310px;border-radius:20px}.hero-art::before{width:210px;top:-115px;right:-50px}.hero-house{width:105%;max-width:470px;margin:25px 0 0}.hero-art-label{max-width:none;left:20px;top:14px;align-items:center;font-size:var(--type-meta)}.tiny-sun{font-size:21px}.hero-note{left:16px;right:auto;bottom:16px;padding:10px 14px;font-size:var(--type-meta)}.note-icon{width:34px;height:34px}
  .benefit-band-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-block:24px}.benefit-band-inner>div{flex-direction:column;align-items:flex-start;gap:12px;padding-right:10px}.benefit-value{font-size:32px}.benefit-value>span{font-size:20px}.benefit-band p{font-size:var(--type-meta);line-height:1.65}
  .section-space{padding-block:60px}.section-heading{display:block;margin-bottom:32px}.section-heading h2,.comparison-copy h2,.faq-heading h2{font-size:34px}.section-heading .eyebrow,.comparison-copy .eyebrow,.faq-heading .eyebrow{font-size:var(--type-meta);letter-spacing:.1em}.section-intro{max-width:none;margin-top:20px}.desktop-break{display:none}
  .steps-grid{grid-template-columns:1fr;gap:28px}.step{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 20px;align-items:start}.step-visual{grid-row:1/3;aspect-ratio:1;margin:0;border-radius:12px}.step-visual img{padding:8px}.step-number{width:25px;height:25px;left:6px;top:6px;font-size:var(--type-meta)}.step h3{font-size:20px;margin:0}.step>p{font-size:var(--type-small);line-height:1.75}.section-bottom{align-items:flex-start;flex-direction:column;gap:16px}.section-bottom>span{align-items:flex-start}
  .property-section{padding-block:56px}.property-grid{gap:12px}.property-card{padding:20px 16px;border-radius:12px}.property-icon{width:42px;height:42px;margin-bottom:24px}.property-title{font-size:17px;gap:8px}.property-title>.icon{width:16px;height:16px}.property-description{font-size:var(--type-small);line-height:1.65}
  .comparison-section{grid-template-columns:1fr;gap:32px}.comparison-art{order:2;padding:24px 16px}.comparison-art img{max-height:220px;margin-block:18px}.comparison-copy h2{font-size:32px}.comparison-item{gap:16px}.comparison-art-caption{font-size:var(--type-small)}
  .installer-banner{padding:30px 24px;border-radius:20px}.installer-copy h2{font-size:27px}.installer-copy .eyebrow{letter-spacing:.07em}.installer-copy p:last-child{font-size:var(--type-small)}.installer-copy br{display:none}.installer-banner .button{width:100%;justify-content:space-between}
  .faq-section{display:block}.faq-list{margin-top:30px}.faq-list summary{padding-block:20px;gap:16px}.faq-list details>p{padding-right:0}.final-section{padding-block:56px}.final-inner .eyebrow{font-size:var(--type-meta);letter-spacing:.07em}.final-inner .button{gap:16px;padding-inline:20px}
}
@media(max-width:359px){.hero h1{font-size:37px}.object-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.object-option{flex-direction:row;min-height:48px;font-size:var(--type-small)}.benefit-band-inner{gap:10px}.benefit-value{font-size:28px}.benefit-band-inner>div{padding-right:6px}.property-grid{grid-template-columns:1fr}.property-icon{margin-bottom:16px}.step{grid-template-columns:78px minmax(0,1fr);column-gap:16px}.hero-art-label{font-size:var(--type-meta)}.hero-note{font-size:var(--type-meta)}}
