/* HDS Solar concept. Tokens first. Brand: amber + charcoal sampled from the real logo (hds-solar-logo-light.png). */
:root{
  --amber:#F2A31B;      /* logo amber */
  --amber-hi:#FFC24A;
  --amber-deep:#8A5600; /* amber deepened for text on white (AA) */
  --ink:#1C1D20;        /* logo charcoal #303030, deepened for large surfaces */
  --char:#303030;       /* logo charcoal as-is */
  --ink-2:#44474C;      /* secondary text on white */
  --sky:#E8EDF1;        /* cool neutral lifted from the roof photography */
  --line:#D3DAE0;
  --white:#fff;
  --f-d:"Anybody","Arial Narrow",Arial,sans-serif;
  --f-b:"Instrument Sans","Segoe UI",system-ui,sans-serif;
  --r:6px;
  --lw:min(1340px,100% - 48px);
  --pad:clamp(64px,8vw,128px);
}
*{box-sizing:border-box}
html{background:#EEF1F4;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0 auto;max-width:1920px;background:var(--white);color:var(--ink);font:400 1.0625rem/1.65 var(--f-b);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:2px}
.on-light :focus-visible,.light :focus-visible{outline-color:var(--ink)}
.wrap{width:var(--lw);margin-inline:auto}
h1,h2,h3,h4{font-family:var(--f-d);font-stretch:112%;margin:0;letter-spacing:-.02em;text-wrap:balance}
h2{font-weight:780;font-size:clamp(2rem,3.8vw,3.75rem);line-height:1}
h3{font-weight:720;font-size:clamp(1.3rem,1.8vw,1.75rem);line-height:1.1}
p{margin:0 0 1em;max-width:68ch}
.lede{font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.5;max-width:56ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* concept banner + header */
.concept{background:var(--amber);color:var(--ink);font:600 .875rem/1.35 var(--f-b);padding:8px 24px;text-align:center}
.hd{background:var(--ink);color:#fff;position:relative;z-index:5}
.hd-in{display:flex;align-items:center;gap:28px;height:78px}
.hd .logo{display:block;flex:none}
.hd .logo img{display:block;height:50px;width:auto}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto;white-space:nowrap}
.nav a{color:#fff;text-decoration:none;font:600 .95rem/1 var(--f-b);padding:11px 11px;border-radius:4px;transition:background .2s,color .2s}
.nav a:hover{background:rgba(255,255,255,.1)}
.nav a[aria-current=page]{color:var(--amber)}
.nav .btn{margin-left:10px;color:var(--ink);padding:12px 18px}
.nav .btn:hover{background:var(--amber-hi)}
.menu-box,.menu-btn{display:none}
@media (max-width:1240px){
  .hd-in{height:68px}
  .menu-btn{display:grid;place-items:center;width:46px;height:46px;margin-left:auto;border:2px solid rgba(255,255,255,.4);border-radius:4px;cursor:pointer;gap:0;align-content:center}
  .menu-btn i{display:block;width:22px;height:2px;background:#fff;margin:3px 0}
  .menu-box:focus-visible+.menu-btn{outline:3px solid var(--amber);outline-offset:3px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);flex-direction:column;align-items:stretch;padding:12px 24px 24px;border-top:1px solid #444;margin:0;white-space:normal}
  .menu-box{display:block;position:absolute;opacity:0;width:1px;height:1px}
  .menu-box:checked~.nav{display:flex}
  .nav a{padding:14px 8px;font-size:1.05rem;border-bottom:1px solid #34363a}
  .nav .btn{margin:14px 0 0;text-align:center}
}

/* buttons */
.btn{display:inline-block;background:var(--amber);color:var(--ink);font:700 1rem/1 var(--f-b);padding:17px 26px;border-radius:4px;text-decoration:none;border:2px solid var(--amber);transition:background .2s,transform .2s,color .2s}
.btn:hover{background:var(--amber-hi);border-color:var(--amber-hi);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.dark:hover{background:var(--char);border-color:var(--char)}
.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.phone-link{font:700 1.15rem/1 var(--f-d);font-stretch:112%;text-decoration:none;border-bottom:3px solid var(--amber);padding-bottom:4px}
.phone-link:hover{border-color:currentColor}

/* sections */
.sec{padding-block:var(--pad)}
.sec.ink{background:var(--ink);color:#fff}
.sec.sky{background:var(--sky)}
.sec.amber{background:var(--amber);color:var(--ink)}
.sec.tight{padding-block:clamp(48px,6vw,88px)}
.ink p.mute{color:#C9CDD2}
p.mute{color:var(--ink-2)}
.ink .mute{color:#C9CDD2}

/* ===== HOME HERO ===== */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;display:flex;flex-direction:column;min-height:clamp(340px,calc(100svh - 222px),640px)}
.hero-photo{position:absolute;inset:0 0 0 46%}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:0 20%}
.hero-fade{position:absolute;inset:0 0 0 44%;background:linear-gradient(90deg,var(--ink) 0,var(--ink) 5%,rgba(28,29,32,.72) 14%,rgba(28,29,32,.28) 30%,rgba(28,29,32,0) 48%)}
.hero-in{position:relative;flex:1;display:flex;align-items:center;padding-block:clamp(24px,2.4vw,40px)}
.hero h1{font-weight:820;font-size:clamp(2.5rem,4.7vw,5.2rem);line-height:.95;font-stretch:120%;letter-spacing:-.03em;margin:0 0 .3em}
.hero .lede{color:#E6E8EB;margin-bottom:1.4em}
.hero-copy{max-width:min(800px,58%)}
@media (max-width:900px){.hero-copy{max-width:none}.hero-photo{inset:0}.hero-fade{inset:0;background:linear-gradient(180deg,rgba(28,29,32,.92),rgba(28,29,32,.78))}}

/* ledger bar: signature element. widths are real money: 18,440 of 78,824 = 23.39% */
.ledger-band{position:relative;background:linear-gradient(90deg,var(--char) calc((100% - var(--lw))/2 + var(--lw)*.2339),var(--amber) 0)}
.ledger{display:grid;grid-template-columns:23.39% 1fr;width:var(--lw);margin-inline:auto}
.ledger>div{padding:18px 0 16px;min-height:76px}
.ledger .cost{color:var(--amber);padding-right:20px}
.ledger .net{color:var(--ink);padding-left:24px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap}
.ledger b{display:block;font:800 clamp(1.5rem,2.6vw,2.5rem)/1 var(--f-d);font-stretch:125%;letter-spacing:-.03em}
.ledger small{display:block;font:600 .85rem/1.3 var(--f-b);margin-top:5px}
.ledger .net .tot{text-align:right}
@media (max-width:760px){.ledger{grid-template-columns:1fr}.ledger .net{padding-left:0}.ledger-band{background:linear-gradient(180deg,var(--char) 96px,var(--amber) 0)}.ledger .net .tot{text-align:left}}

/* fact strip */
.facts{background:#fff;border-bottom:1px solid var(--line)}
.facts-in{display:grid;grid-template-columns:repeat(5,1fr);width:var(--lw);margin-inline:auto}
.facts-in>div{padding:18px 18px 16px;border-left:1px solid var(--line)}
.facts-in>div:first-child{border-left:0;padding-left:0}
.facts b{display:block;font:800 1.55rem/1.05 var(--f-d);font-stretch:118%;letter-spacing:-.02em}
.facts span{display:block;font-size:.9rem;line-height:1.35;color:var(--ink-2);margin-top:4px}
@media (max-width:1000px){.facts-in{grid-template-columns:repeat(2,1fr)}.facts-in>div{border-top:1px solid var(--line);padding-left:0;border-left:0}.facts-in>div:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}}

/* welcome */
.welcome{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:start}
.welcome h2{font-size:clamp(2.3rem,4.1vw,4.2rem);font-stretch:120%;line-height:.98;margin-bottom:.5em;text-wrap:pretty}
.tall{position:relative;margin:0}
.tall img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 100%;border-radius:var(--r)}
.tall .tab{position:absolute;left:-28px;bottom:28px;background:var(--amber);color:var(--ink);padding:14px 20px;font:800 1.1rem/1.1 var(--f-d);font-stretch:115%;border-radius:4px;max-width:240px}
.tall .tab span{display:block;font:500 .85rem/1.3 var(--f-b);margin-top:4px}
.tick{list-style:none;margin:1.5em 0 0;padding:0;display:grid;gap:0;max-width:60ch}
.tick li{padding:12px 0 12px 34px;border-top:1px solid var(--line);background:linear-gradient(var(--amber),var(--amber)) 0 21px/20px 10px no-repeat}
.tick li:last-child{border-bottom:1px solid var(--line)}
@media (max-width:900px){.welcome{grid-template-columns:1fr}.tall .tab{left:12px}}

/* services index */
.idx-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:clamp(28px,4vw,56px);flex-wrap:wrap}
.idx{border-top:3px solid var(--ink)}
.idx-row{display:grid;grid-template-columns:minmax(220px,4fr) 5fr 3fr;gap:clamp(16px,3vw,48px);align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .25s,padding .25s}
.idx-row:hover{background:var(--sky);padding-inline:20px}
.idx-row h3{font-size:clamp(1.8rem,3.2vw,3rem);font-weight:800;font-stretch:120%;letter-spacing:-.03em}
.idx-row p{margin:0;color:var(--ink-2);max-width:44ch}
.idx-row .th{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);display:block;background:var(--char)}
.idx-row .blk{aspect-ratio:3/2;border-radius:var(--r);background:var(--amber);display:grid;place-items:center;font:800 1.2rem/1.1 var(--f-d);font-stretch:118%;padding:12px;text-align:center}
@media (max-width:900px){.idx-row{grid-template-columns:1fr 1fr}.idx-row h3{grid-column:1/-1}.idx-row p{grid-column:1}}
@media (max-width:560px){.idx-row{grid-template-columns:1fr}}

/* payback (ink) */
.pay-top{display:grid;grid-template-columns:6fr 5fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,72px)}
.pay-top h2{font-size:clamp(2.4rem,5vw,5rem);font-stretch:122%;line-height:.96}
.bar{display:grid;grid-template-columns:23.39% 1fr;height:clamp(64px,8vw,120px);border-radius:var(--r);overflow:hidden;margin-bottom:20px}
.bar .c{background:var(--char);border-right:4px solid var(--ink);display:flex;align-items:center;padding-left:clamp(10px,2vw,28px);color:var(--amber);font:800 clamp(1rem,2.4vw,2.2rem)/1 var(--f-d);font-stretch:120%;transform-origin:left;animation:grow 1.1s cubic-bezier(.2,.7,.2,1) both}
.bar .n{background:var(--amber);display:flex;align-items:center;padding-left:clamp(10px,2vw,28px);color:var(--ink);font:800 clamp(1.2rem,3.4vw,3.2rem)/1 var(--f-d);font-stretch:120%;transform-origin:left;animation:grow 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #4a4c50}
.nums>div{padding:24px 24px 8px 0}
.nums>div+div{padding-left:24px;border-left:1px solid #4a4c50}
.nums b{display:block;font:800 clamp(1.6rem,3vw,2.9rem)/1 var(--f-d);font-stretch:122%;letter-spacing:-.03em;color:#fff}
.nums span{display:block;color:#C9CDD2;font-size:.95rem;margin-top:8px}
.nums .hl b{color:var(--amber)}
.foot-note{font-size:.88rem;color:#B9BEC4;margin-top:20px}
@media (max-width:900px){.pay-top{grid-template-columns:1fr}.nums{grid-template-columns:1fr 1fr}.nums>div:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:520px){.nums{grid-template-columns:1fr}.nums>div+div{padding-left:0;border-left:0}.nums>div{border-top:1px solid #4a4c50}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px);margin-top:clamp(40px,6vw,80px);counter-reset:s}
.steps li{list-style:none;border-top:4px solid var(--amber);padding-top:16px}
.steps ol,ol.steps{padding:0;margin-bottom:0}
.steps .no{display:block;font:800 clamp(2.4rem,4vw,4rem)/1 var(--f-d);font-stretch:125%;color:var(--amber);letter-spacing:-.04em;margin-bottom:8px}
.steps h3{margin-bottom:8px;font-size:1.35rem}
.steps p{font-size:.98rem;margin:0}
.light .steps li{border-color:var(--ink)}
.light .steps .no{color:var(--amber-deep)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* warranties (amber) */
.war{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,6vw,96px);align-items:center}
.war .big{font:850 clamp(9rem,24vw,22rem)/.78 var(--f-d);font-stretch:140%;letter-spacing:-.07em;margin:0}
.war .big small{display:block;font:800 clamp(1.2rem,2vw,1.9rem)/1.1 var(--f-d);font-stretch:118%;letter-spacing:-.01em;margin-top:18px;max-width:14ch}
.war-list{border-top:3px solid var(--ink)}
.war-list>div{display:grid;grid-template-columns:minmax(170px,2fr) 5fr;gap:20px;padding:20px 0;border-bottom:1px solid rgba(28,29,32,.35);align-items:baseline}
.war-list b{white-space:nowrap;font:800 clamp(1.7rem,3vw,2.8rem)/1 var(--f-d);font-stretch:120%;letter-spacing:-.03em}
.war-list span{font-size:1.1rem}
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:clamp(36px,5vw,64px);align-items:stretch}
.logos .lp{background:#fff;border-radius:var(--r);padding:14px 18px;display:grid;place-items:center;min-height:96px}
.logos .lp.dk{background:var(--ink)}
.logos img{display:block;max-height:68px;width:auto;max-width:100%}
@media (max-width:900px){.logos{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.logos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.war{grid-template-columns:1fr}}

/* reviews */
.rev{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,80px);align-items:start}
.bigq{margin:0;font:700 clamp(1.7rem,3.2vw,3.2rem)/1.08 var(--f-d);font-stretch:112%;letter-spacing:-.025em;text-wrap:pretty}
.bigq cite{display:block;margin-top:20px;font:600 1.05rem/1.3 var(--f-b);font-style:normal;color:var(--ink-2)}
.rev-side{display:grid;gap:0}
.rq{margin:0;padding:24px 0;border-top:1px solid var(--line)}
.rq p{margin:0 0 10px;font-size:1.05rem;max-width:none}
.rq cite{font-style:normal;font-weight:700}
.rq cite span{font-weight:400;color:var(--ink-2)}
.score{display:flex;gap:22px;align-items:center;margin-top:clamp(28px,4vw,48px);flex-wrap:wrap}
.score img{display:block;width:240px;height:auto;border-radius:var(--r)}
.score div{max-width:44ch}
@media (max-width:900px){.rev{grid-template-columns:1fr}}

/* area / cta */
.areas{display:grid;grid-template-columns:6fr 5fr;gap:clamp(28px,5vw,80px);align-items:center}
.areas .map{background:#fff;padding:10px;border-radius:var(--r)}
.areas .map img{display:block;width:100%;height:auto;border-radius:2px}
.areas h2{margin-bottom:.5em}
.bigphone{display:block;font:850 clamp(2.2rem,4.6vw,4.4rem)/1 var(--f-d);font-stretch:125%;letter-spacing:-.04em;color:var(--amber);text-decoration:none;margin:.2em 0 .35em}
.bigphone:hover{color:var(--amber-hi)}
@media (max-width:900px){.areas{grid-template-columns:1fr}}

/* footer */
.ft{background:#121315;color:#D5D8DC;padding-block:clamp(48px,6vw,80px) 28px;font-size:.98rem}
.ft-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(24px,4vw,64px)}
.ft img{height:56px;width:auto;display:block;margin-bottom:18px}
.ft h4{font:700 1.05rem/1.2 var(--f-d);color:#fff;margin-bottom:12px}
.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.ft a{text-decoration:none}
.ft a:hover{color:var(--amber);text-decoration:underline}
.ft .legal{margin-top:clamp(32px,4vw,56px);padding-top:20px;border-top:1px solid #34363a;font-size:.9rem;color:#B5BAC0}
@media (max-width:900px){.ft-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft-in{grid-template-columns:1fr}}

/* ===== INNER HEROES (each its own composition) ===== */
.ph{border-bottom:10px solid;border-image:linear-gradient(90deg,var(--char) 23.39%,var(--amber) 0) 1;position:relative;overflow:hidden;min-height:clamp(320px,26vw,380px);display:flex;align-items:stretch}
.ph h1{font-weight:820;font-size:clamp(2.3rem,4.8vw,4.9rem);line-height:.96;font-stretch:120%;letter-spacing:-.03em}
.ph p.lede{margin:.8em 0 0}
.ph .in{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(32px,4vw,56px)}
/* split: copy one side, photo other (photos never wider than half so they stay sharp) */
.ph.split{background:var(--ink);color:#fff}
.ph.split .ph-img{position:absolute;top:0;bottom:0;right:0;width:50%}
.ph.split.flip .ph-img{right:auto;left:0}
.ph.split .ph-img img{display:block;width:100%;height:100%;object-fit:cover}
.ph.split .ph-fade{position:absolute;top:0;bottom:0;right:50%;width:160px;background:linear-gradient(90deg,rgba(28,29,32,0),var(--ink));transform:translateX(0)}
.ph.split.flip .ph-fade{right:auto;left:50%;background:linear-gradient(270deg,rgba(28,29,32,0),var(--ink))}
.ph.split .in{max-width:min(660px,48%)}
.ph.split.flip .in{margin-left:auto;margin-right:calc((100% - var(--lw))/2);padding-left:0;max-width:min(560px,46%)}
.ph.split.flip .wrap{display:flex;justify-content:flex-end}
.ph.split.amb{background:var(--amber);color:var(--ink)}
.ph.split.amb .ph-fade{background:linear-gradient(90deg,rgba(242,163,27,0),var(--amber))}
.ph.amberh{background:var(--amber);color:var(--ink);border-image:linear-gradient(90deg,var(--ink) 23.39%,var(--amber-hi) 0) 1}
.ph.split.amb{border-image:linear-gradient(90deg,var(--ink) 23.39%,var(--amber-hi) 0) 1}
.ph.skyh{background:var(--sky);color:var(--ink)}
.ph.inkh{background:var(--ink);color:#fff}
.ph.inkh .lede{color:#E0E3E6}
@media (max-width:900px){
  .ph.split .ph-img{position:relative;width:100%;height:220px;order:-1}
  .ph.split{flex-direction:column}
  .ph.split .ph-fade{display:none}
  .ph.split .in,.ph.split.flip .in{max-width:none;margin:0}
}

/* big word hero (typography-led) */
.ph .stack{display:grid;grid-template-columns:7fr 4fr;gap:clamp(24px,4vw,64px);align-items:end;width:100%}
.ph .aside{border-left:3px solid currentColor;padding-left:22px;font-size:1.05rem;align-self:end;margin-bottom:6px}
.ph .aside b{display:block;font:800 clamp(1.8rem,3vw,2.8rem)/1 var(--f-d);font-stretch:120%;letter-spacing:-.03em;margin-bottom:6px}
@media (max-width:900px){.ph .stack{grid-template-columns:1fr}}

/* ===== shared content bits ===== */
.two{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,6vw,96px);align-items:start}
.two.rev-o{grid-template-columns:7fr 5fr}
.sticky{position:sticky;top:24px}
@media (max-width:900px){.two,.two.rev-o{grid-template-columns:1fr}.sticky{position:static}}
.spec{border-top:3px solid var(--ink)}
.spec>div{display:grid;grid-template-columns:minmax(150px,3fr) 7fr;gap:clamp(16px,3vw,40px);padding:24px 0;border-bottom:1px solid var(--line)}
.spec h3{font-size:clamp(1.25rem,1.8vw,1.7rem)}
.spec p{margin:0;color:var(--ink-2)}
.spec p+p{margin-top:.7em}
@media (max-width:640px){.spec>div{grid-template-columns:1fr;gap:6px}}
.plate{margin:0;background:#fff;border:1px solid var(--line);padding:10px;border-radius:var(--r)}
.plate img{display:block;width:100%;height:auto;border-radius:2px}
.plate figcaption{font-size:.88rem;color:var(--ink-2);padding:8px 2px 0}
.ink .plate{background:#2a2c30;border-color:#44474c}
.ink .plate figcaption{color:#C9CDD2}
.stagger{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px);align-items:start}
.stagger>:nth-child(2){margin-top:48px}
.stagger>:nth-child(3){margin-top:16px}
.stagger img{aspect-ratio:3/2;object-fit:cover}
@media (max-width:760px){.stagger{grid-template-columns:1fr}.stagger>*{margin-top:0!important}}
.quad{display:grid;grid-template-columns:1fr 1fr;border-top:3px solid var(--ink)}
.quad>div{padding:28px clamp(0px,2vw,28px) 32px 0;border-bottom:1px solid var(--line)}
.quad>div:nth-child(even){padding-left:clamp(16px,3vw,40px);border-left:1px solid var(--line);padding-right:0}
.quad h3{font-size:clamp(1.8rem,3.4vw,3.2rem);font-weight:800;font-stretch:122%;letter-spacing:-.03em;margin-bottom:12px}
.quad p{margin:0;color:var(--ink-2)}
@media (max-width:700px){.quad{grid-template-columns:1fr}.quad>div:nth-child(even){padding-left:0;border-left:0}}
.callout{background:var(--ink);color:#fff;border-radius:var(--r);padding:clamp(28px,4vw,56px)}
.callout p{max-width:60ch}
.pq{font:700 clamp(1.3rem,1.9vw,2rem)/1.18 var(--f-d);font-stretch:112%;letter-spacing:-.02em;margin:0;text-wrap:pretty}
.pq cite{display:block;font:600 1rem/1.3 var(--f-b);font-style:normal;margin-top:14px;opacity:.85}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:3px solid var(--ink)}
.grid3>div{padding:26px 26px 30px 0}
.grid3>div+div{padding-left:26px;border-left:1px solid var(--line)}
.grid3 h3{margin-bottom:10px}
.grid3 p{color:var(--ink-2);margin:0}
@media (max-width:800px){.grid3{grid-template-columns:1fr}.grid3>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

/* faq */
details.q{border-top:1px solid var(--line)}
details.q:last-of-type{border-bottom:1px solid var(--line)}
details.q summary{list-style:none;cursor:pointer;padding:22px 56px 22px 0;font:700 clamp(1.15rem,1.7vw,1.5rem)/1.2 var(--f-d);font-stretch:108%;position:relative;letter-spacing:-.01em}
details.q summary::-webkit-details-marker{display:none}
details.q .pl{position:absolute;right:6px;top:50%;translate:0 -50%;font:700 2rem/1 var(--f-b);color:var(--amber-deep);transition:rotate .25s}
details.q[open] .pl{rotate:45deg}
details.q summary:hover{color:var(--amber-deep)}
details.q .a{padding:0 0 26px;max-width:72ch;color:var(--ink-2)}
details.q .a p{margin-bottom:.8em}

/* project pages */
.sched{border-top:3px solid var(--ink);margin:0;padding:0;list-style:none}
.sched li{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:1.1rem}
.sched b{font:800 2rem/1 var(--f-d);font-stretch:125%;letter-spacing:-.03em;color:var(--amber-deep)}
.pj{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);align-items:start}
.pj figure{margin:0}
.pj a{text-decoration:none;display:block}
.pj img{display:block;width:100%;aspect-ratio:3/4.4;object-fit:cover;border-radius:var(--r);transition:transform .35s}
.pj a:hover img{transform:translateY(-6px)}
.pj figcaption{padding-top:14px}
.pj figcaption b{display:block;font:800 1.5rem/1.05 var(--f-d);font-stretch:118%;letter-spacing:-.02em}
.pj figcaption span{display:block;color:var(--ink-2);font-size:.95rem;margin-top:4px}
.pj>:nth-child(even){margin-top:56px}
@media (max-width:1000px){.pj{grid-template-columns:1fr 1fr}.pj>:nth-child(even){margin-top:32px}}
@media (max-width:520px){.pj{grid-template-columns:1fr}.pj>:nth-child(even){margin-top:0}}

/* team */
.ppl{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px)}
.ppl figure{margin:0}
.ppl img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);background:var(--sky)}
.ppl .ph0{aspect-ratio:1;border-radius:var(--r);background:var(--char);color:var(--amber);display:grid;place-items:center;font:800 4rem/1 var(--f-d);font-stretch:130%}
.ppl figcaption{padding-top:12px}
.ppl b{display:block;font:800 1.6rem/1.05 var(--f-d);font-stretch:116%;letter-spacing:-.02em}
.ppl span{color:var(--ink-2)}
@media (max-width:900px){.ppl{grid-template-columns:1fr 1fr}}

/* areas big list */
.towns{display:grid;gap:0;border-top:3px solid var(--ink)}
.towns div{font:850 clamp(2.4rem,6vw,6rem)/1 var(--f-d);font-stretch:130%;letter-spacing:-.045em;padding:12px 0 10px;border-bottom:1px solid var(--line)}
.towns div span{font:500 1rem/1.3 var(--f-b);letter-spacing:0;color:var(--ink-2);margin-left:14px;font-stretch:100%}

/* contact */
.cbig{display:block;font:850 clamp(2.6rem,7.5vw,7.4rem)/.95 var(--f-d);font-stretch:130%;letter-spacing:-.05em;text-decoration:none}
.cbig:hover{text-decoration:underline;text-decoration-thickness:6px;text-underline-offset:8px}
.cmail{font:750 clamp(1.4rem,3vw,2.6rem)/1.1 var(--f-d);font-stretch:116%;letter-spacing:-.02em;word-break:break-word}
.dl{display:grid;gap:0;border-top:3px solid var(--ink);margin:0}
.dl>div{display:grid;grid-template-columns:minmax(120px,2fr) 5fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.dl dt{font-weight:700}
.dl dd{margin:0}

/* reviews page */
.cnt{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid currentColor}
.cnt>div{padding:22px 20px 8px 0}
.cnt>div+div{padding-left:20px;border-left:1px solid rgba(28,29,32,.35)}
.cnt b{display:block;font:850 clamp(2.4rem,5vw,5rem)/1 var(--f-d);font-stretch:128%;letter-spacing:-.05em}
.cnt span{display:block;margin-top:6px}
@media (max-width:760px){.cnt{grid-template-columns:1fr 1fr}.cnt>div:nth-child(3){padding-left:0;border-left:0}}
.qwall{columns:2;column-gap:clamp(28px,5vw,80px)}
.qwall .rq{break-inside:avoid;border-top:1px solid var(--line);padding:26px 0}
.qwall .rq p{font-size:1.2rem;line-height:1.5}
@media (max-width:760px){.qwall{columns:1}}

.ink .grid3 p{color:#E0E3E6}
.ink .grid3{border-color:#4a4c50}
.ink .grid3>div+div{border-color:#4a4c50}
.pq.long{font-size:clamp(1.15rem,1.55vw,1.6rem);line-height:1.3;font-weight:650}

.ph.split.w40 .ph-img{width:40%}.ph.split.w40 .ph-fade{left:60%;right:auto;background:linear-gradient(270deg,rgba(28,29,32,0),var(--ink))}
.ph.split.flip.w40 .ph-img{right:auto;left:0}.ph.split.flip.w40 .ph-fade{left:calc(40% - 0px)}
.collage{display:flex;justify-content:flex-end;padding-right:24px}
.collage img{display:block;width:clamp(120px,15vw,250px);aspect-ratio:1;object-fit:cover;border:6px solid var(--sky);border-radius:var(--r);margin-left:-44px;box-shadow:0 14px 30px -18px rgba(28,29,32,.6)}
.collage img:nth-child(2){margin-top:44px}
@media (max-width:900px){.collage{justify-content:flex-start;padding:0 0 0 44px}.ph.split.w40 .ph-img{width:100%}}
.towns div{font-size:clamp(2.2rem,4.6vw,4.6rem)}
.ph.split.flip .ph-fade{left:calc(50% - 160px);right:auto;background:linear-gradient(90deg,rgba(28,29,32,0),var(--ink))}
.ph.split.flip.w40 .ph-fade{left:calc(40% - 160px)}
@media (max-width:900px){.ph.split.flip .ph-fade{display:none}}

.areas.cta7{grid-template-columns:7fr 5fr}.two.p65{grid-template-columns:6fr 5fr}.ph .stack.crow{grid-template-columns:1fr auto;align-items:center}
@media (max-width:900px){.areas.cta7,.two.p65,.ph .stack.crow{grid-template-columns:1fr}}
.bigphone{word-break:keep-all}
@media (min-width:901px) and (max-height:780px){
  .hero h1{font-size:clamp(2.2rem,3.7vw,3.6rem);margin-bottom:.25em}
  .hero .lede{font-size:1rem;margin-bottom:.9em;line-height:1.4}
  .hero-in{padding-block:14px}
  .ledger>div{padding:10px 0 8px;min-height:60px}
  .ledger b{font-size:1.5rem}
  .facts-in>div{padding-block:10px 8px}
  .facts b{font-size:1.25rem}
  .btn{padding:13px 22px}
}
.war-list>div{grid-template-columns:max-content 1fr;column-gap:clamp(20px,3vw,48px)}
.war-list b{font-size:clamp(1.5rem,2.5vw,2.5rem)}
.bigphone{font-size:clamp(1.9rem,3.5vw,3.5rem);white-space:nowrap}
@media (max-width:420px){.war-list>div{grid-template-columns:1fr;row-gap:4px}}
@media (max-width:520px){.bar .c{font-size:.72rem;padding-left:8px;letter-spacing:-.04em}.bar .n{font-size:1.2rem}}
