/* EverWatt — site-specific styles. Palette and type: brand.md §6. */

/* Archivo, latin subset, variable weight + width (one file) */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-stretch:62% 125%;font-display:optional;src:url(https://fonts.gstatic.com/s/archivo/v25/k3kQo8UDI-1M0wlSfdnoLg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--steel:#4A5A68;--navy:#0F2233;--rule:#D5DEE5;--container:1200px}
h1,h2,h3{font-weight:700;font-stretch:92%;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,1.6rem + 4vw,4.6rem);line-height:1.02;max-width:16ch}
h2{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.6rem)}
.num,.ledger td.fig{font-variant-numeric:tabular-nums lining-nums}

/* header */
.brand img{height:34px}
.nav a.tel{color:var(--navy);font-weight:650}
.btn-accent{font-weight:650}
.btn-accent:hover{filter:brightness(1.06)}
@media(max-width:860px){.head-cta{display:none}}

/* hero */
.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem)}
.hero .lede{max-width:60ch;color:var(--steel)}
.hero .actions{margin-top:var(--s-5)}
.hero .actions .tel-line{color:var(--navy);font-weight:600;text-decoration:none}
.hero-wide{margin:0}
.hero-wide img{width:100%;height:clamp(240px,42vw,560px);object-fit:cover;animation:settle 1.6s var(--ease) both}
@keyframes settle{from{transform:scale(1.04)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-wide img{animation:none}}
.hero-wide{overflow:hidden}
.hero-wide figcaption{width:min(100% - 2*var(--gutter),var(--container));margin:var(--s-3) auto 0;color:var(--steel);font-size:var(--fs-sm)}
.hero-wide figcaption a{font-weight:600}

/* the ledger */
.ledger-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ledger{width:100%;border-collapse:collapse;font-size:var(--fs-sm);min-width:0}
.ledger caption{text-align:left;color:var(--steel);font-size:var(--fs-sm);padding-bottom:var(--s-3);caption-side:bottom;padding-top:var(--s-4)}
.ledger thead th{text-align:left;font-weight:600;color:var(--steel);padding:.6rem .9rem .6rem 0;border-bottom:3px solid var(--brand);font-size:var(--fs-xs);vertical-align:bottom}
.ledger tbody th,.ledger td{text-align:left;vertical-align:top;padding:1rem .9rem 1rem 0;border-bottom:1px solid var(--rule)}
.ledger tbody th{font-weight:700;font-stretch:92%;font-size:var(--fs-md);color:var(--navy);min-width:11rem}
.ledger tbody th a{color:inherit;text-decoration:none}
.ledger tbody th a:hover{color:var(--brand);text-decoration:underline}
.ledger tbody th small{display:block;font-weight:400;font-stretch:100%;color:var(--steel);margin-top:.2em}
.ledger td.fig{font-weight:650;color:var(--navy)}
.ledger td.fund{color:var(--brand);font-weight:600}
@media(max-width:760px){
  .ledger thead{display:none}
  .ledger tr{display:grid;grid-template-columns:1fr;padding:1rem 0;border-bottom:1px solid var(--rule)}
  .ledger tbody th,.ledger td{border:0;padding:.15rem 0}
  .ledger td[data-k]::before{content:attr(data-k) ": ";color:var(--steel);font-weight:400}
}
.trusted{margin-top:var(--s-6);color:var(--steel);max-width:80ch}

/* contractor vs owner's rep */
.versus{display:grid;gap:var(--s-6);grid-template-columns:1fr}
@media(min-width:800px){.versus{grid-template-columns:1fr 1fr}}
.versus h3{font-size:var(--fs-lg);padding-bottom:var(--s-3);border-bottom:1px solid var(--rule)}
.versus .ours h3{border-bottom:3px solid var(--accent)}
.versus ul{list-style:none;padding:0;margin:0;display:grid;gap:.7em}
.versus .theirs li{color:var(--steel)}
.versus .ours li{font-weight:500}

/* services list */
.svc{border-top:1px solid var(--rule)}
.svc li{grid-template-columns:minmax(12rem,1fr) 2fr;align-items:baseline}
.svc li>span:last-child{white-space:normal;color:var(--steel);font-size:var(--fs-sm)}
.svc h3 a{color:var(--navy);text-decoration:none}
.svc h3 a:hover{color:var(--brand);text-decoration:underline}
@media(max-width:640px){.svc li{grid-template-columns:1fr}}

/* funding */
.funding{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:0}
.funding div{border-top:3px solid var(--navy);padding-top:var(--s-4)}
.funding dt{font-weight:700;font-stretch:92%;font-size:var(--fs-lg);margin-bottom:.35em}
.funding dd{margin:0;color:var(--steel)}

/* photo pair */
.pair{display:grid;gap:var(--s-4);grid-template-columns:1fr}
@media(min-width:760px){.pair{grid-template-columns:3fr 2fr}}
.pair img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.pair figure{margin:0}
.pair figcaption{font-size:var(--fs-sm);color:var(--steel);margin-top:.5em}

/* credentials */
.creds{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-4) var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.creds li{border-left:3px solid var(--brand);padding-left:var(--s-4)}
.creds b{display:block;color:var(--navy)}
.creds span{color:var(--steel);font-size:var(--fs-sm)}

/* survey / contact */
.survey{display:grid;gap:var(--s-7);grid-template-columns:1fr}
@media(min-width:880px){.survey{grid-template-columns:1.1fr 1fr}}
.dark{background:var(--navy);color:#E6EDF2}
.dark h2,.dark h3{color:#fff}
.dark a{color:#fff}
.dark .muted,.dark p{color:#C4D0DA}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.5em var(--s-5);margin:var(--s-5) 0 0}
.facts dt{color:#9FB2C2;font-size:var(--fs-sm)}
.facts dd{margin:0;font-weight:600}
.dark .btn-accent{color:var(--navy)}

/* faq */
.faq details{border-radius:var(--radius)}

/* page heads (inner pages) */
.page-head{padding-block:clamp(2.5rem,6vw,4.5rem) var(--s-6)}
.page-head .lede{color:var(--steel)}
.crumbs{font-size:var(--fs-sm);color:var(--steel);margin-bottom:var(--s-4)}
.crumbs a{color:var(--steel)}

/* team */
.team{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-2) var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.team li{padding:.7rem 0;border-bottom:1px solid var(--rule)}
.team b{display:block;color:var(--navy)}
.team span{color:var(--steel);font-size:var(--fs-sm)}

/* engagement steps (a real sequence) */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.steps li{counter-increment:s;border-top:1px solid var(--rule);padding-top:var(--s-4)}
.steps li::before{content:counter(s);display:block;font-weight:700;font-size:var(--fs-xl);color:var(--brand);line-height:1;margin-bottom:.4em}
.steps b{display:block;color:var(--navy);margin-bottom:.25em}
.steps span{color:var(--steel);font-size:var(--fs-sm)}

/* service detail blocks */
.svc-detail{padding-block:var(--s-7);border-top:1px solid var(--rule);display:grid;gap:var(--s-5);grid-template-columns:1fr}
@media(min-width:880px){.svc-detail{grid-template-columns:1fr 1.4fr}}
.svc-detail ul{margin:0;padding-left:1.1em;color:var(--steel);display:grid;gap:.35em}
.svc-detail h2{font-size:var(--fs-xl)}

/* footer */
.site-footer{background:var(--navy)}
.site-footer address{font-style:normal;line-height:1.7}
.site-footer .brand img{height:32px}
