:root {
  --ink: #1a1d1c;
  --muted: #535955;
  --paper: #f7f7f2;
  --soft: #eaece5;
  --line: #ced0c8;
  --yellow: #ffda2c;
  --mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --gutter: clamp(22px,5.3vw,98px);
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:18px}
body {margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a {color:inherit;text-decoration:none}
button,input,select,textarea {font:inherit}
button,summary {cursor:pointer}
button {color:inherit}
h1,h2,h3,p,figure {margin:0}
h1,h2,h3 {text-wrap:balance}
img {display:block;max-width:100%;height:auto}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {outline:3px solid #2783ac;outline-offset:4px}
[hidden] {display:none!important}
.skip {position:fixed;left:10px;top:-100px;z-index:9;background:white;color:var(--ink);padding:12px 22px}
.skip:focus {top:10px}
.icon {width:20px;height:20px;flex-shrink:0}
.wrap {width:min(100%,1730px);margin:0 auto;padding-inline:var(--gutter)}
.mast {background:#191b1a;color:#fff;position:relative;z-index:3}
.nav-row {min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:3vw}
.brand {display:inline-flex;align-items:center;padding-block:9px}
.wordmark {width:149px;height:auto}
.desktop-nav,.nav-contact,.tel-link,.btn,.plain-link,.hero-actions,.mobile-menu summary,.inline-link {display:inline-flex;align-items:center}
.desktop-nav {gap:clamp(22px,3vw,53px);margin-left:auto}
.desktop-nav a,.plain-link,.nav-contact .tel-link,.inline-link {font-size:.9rem;font-weight:600}
.desktop-nav a:hover,.foot a:hover,.plain-link:hover {text-decoration:underline;text-underline-offset:5px}
.nav-contact {gap:clamp(14px,2vw,36px);border-left:1px solid #434543;padding-left:2.8vw}
.tel-link {gap:9px;font-weight:650;white-space:nowrap}
.tel-link .icon {width:16px;height:16px}
.btn {gap:24px;justify-content:space-between;min-height:49px;border-radius:4px;padding:13px 21px;border:0;font-size:15px;font-weight:700;line-height:1.2;transition:background-color .16s,transform .16s}
.btn .icon,.inline-link .icon {height:17px;width:17px}
.btn:hover {transform:translateY(-1px)}
.primary,.nav-button {background:var(--yellow);color:var(--ink)}
.primary:hover,.nav-button:hover {background:#ffe665}
.nav-button {min-height:39px;padding:10px 15px;gap:17px;font-size:.86rem}
.ink {background:var(--ink);color:white}
.ink:hover {background:#353c37}
.mobile-menu,.mob-only {display:none}
.home-hero {position:relative;isolation:isolate;overflow:hidden;background:#222520;color:white}
.hero-visual,.hero-shade {position:absolute;inset:0;z-index:-1}
.hero-visual img {height:100%;width:100%;object-fit:cover;object-position:50% 58%}
.hero-visual img[data-slide="coast"] {object-position:50% 54%}
.hero-visual img[data-slide="array"] {object-position:50% 47%}
.hero-shade {background:linear-gradient(90deg,rgba(8,12,11,.88) 0%,rgba(11,15,13,.77) 28%,rgba(14,18,16,.30) 55%,rgba(14,18,16,.01) 77%),linear-gradient(0deg,rgba(8,13,10,.72),transparent 26%)}
.hero-inner {min-height:clamp(530px,42vw,650px);display:flex;flex-direction:column;justify-content:space-between;gap:35px}
.hero-copy {padding-top:clamp(52px,5.1vw,86px);max-width:675px}
.kicker,.folio,.tile-top span,.item-no,.foot-label,.draft,.plate figcaption span,.eyeline,.ev-pair figcaption span {font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.105em;text-transform:uppercase}
.kicker {display:flex;align-items:center;gap:11px;line-height:1.5}
.kicker>span {display:block;width:26px;height:3px;background:var(--yellow)}
.hero-copy .kicker {color:#f7f4e9}
.hero-copy h1 {font-weight:700;letter-spacing:-.072em;font-size:clamp(76px,7.6vw,130px);line-height:.91;margin:23px 0 21px;text-wrap:initial}
.hero-copy h1 span {color:var(--yellow)}
.hero-copy>p:not(.kicker) {font-size:clamp(1.03rem,1.3vw,1.32rem);line-height:1.45;font-weight:450;max-width:440px;color:#f2f3ed;text-wrap:pretty}
.hero-actions {gap:28px;margin-top:27px}
.plain-link {gap:10px}
.plain-link .icon {width:15px;height:15px;color:var(--yellow)}
.hero-lower {display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff45;padding:16px 0 19px}
.hero-place,.photo-nav,.slide-caption,.slide-controls {display:flex;align-items:center}
.hero-place {gap:9px;font:600 10px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#f1f1eb}
.hero-place .icon {width:15px;height:15px;color:var(--yellow)}
.hero-place b {color:#c1c3b9;font-weight:400}
.photo-nav {gap:20px}
.slide-caption {gap:14px;font-size:13px;font-weight:550}
.folio {font-size:10px;white-space:nowrap;color:#dbddd4}
.folio b {color:var(--yellow)}
.slide-controls {gap:6px}
.slide-controls button {display:grid;place-items:center;padding:0;background:#161b1980;border:1px solid #ffffff80;color:white;border-radius:50%;width:37px;height:37px}
.slide-controls button:hover {color:var(--ink);background:var(--yellow);border-color:var(--yellow)}
.slide-controls .icon {width:16px;height:16px}
.section {padding-block:clamp(56px,5.6vw,100px)}
.section h2,.contact-band h2,.detail-grid h2 {font-size:clamp(40px,4.2vw,72px);line-height:1.01;letter-spacing:-.06em;font-weight:650}
.section-top {display:flex;align-items:end;justify-content:space-between;gap:45px}
.section-top h2,.work-copy h2,.detail-grid h2,.contact-band h2 {margin-top:16px}
.section-top>p {max-width:325px;font-size:1rem;line-height:1.5;color:var(--muted)}
.tiles {display:grid;grid-template-columns:repeat(4,1fr);margin-top:37px;border-top:1px solid #858c82;border-bottom:1px solid var(--line)}
.service-tile {padding:22px 24px 24px;border-right:1px solid var(--line);transition:background-color .18s}
.service-tile:first-child {padding-left:0}
.service-tile:last-child {border-right:0;padding-right:0}
.service-tile:hover {background:#eceedf}
.tile-top,.tile-title {display:flex;align-items:center;justify-content:space-between;gap:8px}
.tile-top .icon {width:29px;height:29px}
.tile-top span {font-size:10px;letter-spacing:.08em;color:#5b6259}
.tile-title {align-items:baseline;margin-top:27px}
.tile-title h3 {font-size:clamp(19px,1.55vw,27px);font-weight:650;letter-spacing:-.045em;line-height:1.12}
.tile-title .icon {width:15px;height:15px}
.service-tile p {font-size:.91rem;line-height:1.45;margin-top:10px;max-width:245px;color:var(--muted)}
.work {background:#e9ebe4}
.work-grid {display:grid;grid-template-columns: .82fr 1.3fr;gap:clamp(40px,6.6vw,110px);align-items:center}
.work-copy h2 {max-width:530px}
.work-copy>p:not(.kicker),.story p {font-size:1.08rem;color:#475047;line-height:1.6}
.work-copy>p:not(.kicker) {margin:23px 0}
.inline-link {gap:13px;border-bottom:1px solid currentColor;padding-bottom:4px}
.inline-link:hover .icon {transform:translateX(2px)}
.ev-pair {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ev-pair figure {min-width:0}
.ev-pair img {width:100%;aspect-ratio: .82;object-fit:cover;border-radius:3px}
.ev-pair figcaption {display:flex;align-items:baseline;gap:8px;margin-top:10px;border-bottom:1px solid #b9c0b4;padding:0 0 10px;font-weight:650;font-size:.91rem;line-height:1.3}
.ev-pair figcaption span {color:#616a5c;letter-spacing:0;font-size:10px}
.ev-pair figcaption b {font-weight:400;font-size:.8rem;color:#535c52;margin-left:auto}
.contact-band {padding-block:clamp(46px,5vw,78px);background:var(--yellow)}
.contact-band .kicker>span {background:var(--ink)}
.band-inner {display:flex;align-items:center;justify-content:space-between;gap:50px}
.band-inner>div:first-child {max-width:760px}
.band-inner h2 {font-size:clamp(36px,3.7vw,60px)}
.band-inner p:not(.kicker) {margin-top:14px;max-width:640px;color:#35362a}
.band-actions {display:flex;align-items:center;flex-shrink:0;gap:24px;flex-wrap:wrap}
.foot {background:var(--ink);color:#f6f7ef;padding:52px 0 24px}
.foot-grid {display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px}
.foot-grid>div {display:flex;align-items:flex-start;flex-direction:column;gap:7px}
.foot-grid .wordmark {width:160px}
.foot-grid>div>p:not(.foot-label) {font-size:.85rem;color:#cad0c5;margin-top:9px}
.foot-grid a {font-size:.9rem}
.foot-label {margin-bottom:8px;font-size:10px;color:#b5bcb2}
.foot-end {display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #444841;padding-top:18px;margin-top:38px;font-size:.75rem;color:#c8cbc4}
.draft {display:flex;align-items:center;gap:7px;letter-spacing:.07em;font-size:10px}
.draft i {width:6px;height:6px;border-radius:50%;background:var(--yellow)}
.interior-hero {padding-block:clamp(40px,5.1vw,84px);background:#eaede6}
.split {display:grid;grid-template-columns:1fr .96fr;gap:clamp(35px,6.3vw,106px);align-items:center}
.backlink,.crumb-current,.crumb-slash {font:500 11px/1.5 var(--mono);color:#495247}
.backlink {text-decoration:underline;text-underline-offset:3px}
.crumb-slash {padding:0 4px}
.interior-copy .backlink~.kicker {margin-top:34px}
.interior-copy h1,.contact-copy h1 {font-size:clamp(46px,4.7vw,85px);line-height:.99;letter-spacing:-.062em;margin:16px 0 19px}
.interior-copy p:not(.kicker),.contact-copy>p:not(.kicker):not(.contact-location) {font-size:clamp(1.03rem,1.3vw,1.23rem);line-height:1.55;color:#465046;max-width:555px}
.interior-copy .btn {margin-top:24px}
.plate {position:relative;align-self:stretch;min-height:330px;overflow:hidden;border-radius:3px}
.plate img {width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.plate figcaption {position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:40px 19px 14px;color:#fff;background:linear-gradient(transparent,#111910cd);font-size:13px}
.plate figcaption span {font-size:9px}
.detail-grid {display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw}
.scope-list {border-top:1px solid #979f91}
.scope-list article {display:grid;grid-template-columns:38px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}
.item-no {color:#5d6459;line-height:1.8}
.scope-list h3,.enquiry-result h3 {font-size:clamp(21px,2vw,31px);line-height:1.15;letter-spacing:-.045em}
.scope-list p {color:var(--muted);margin-top:7px;max-width:660px}
.story p+p {margin-top:17px}
.story .inline-link {margin-top:25px}
.contact-layout {display:grid;grid-template-columns:.86fr 1fr;gap:clamp(40px,9vw,150px)}
.direct {margin:28px 0;border-top:1px solid var(--line);max-width:460px}
.direct a {display:flex;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:clamp(20px,1.8vw,29px);font-weight:650;letter-spacing:-.035em}
.direct a>.icon:last-child {margin-left:auto;width:16px;height:16px}
.direct small {display:block;font:550 10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.contact-location {display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--muted)}
.contact-location .icon {width:15px;height:15px}
.enquiry-panel {padding:clamp(21px,3.2vw,48px);background:#e9ece5;border:1px solid #d3d7cc;border-radius:4px}
.eyeline {display:inline-flex;background:#d9dfd3;padding:5px 8px;border-radius:2px}
.eyeline i {background:#536746}
.enquiry-panel h2 {font-size:clamp(32px,2.8vw,46px);margin:15px 0 9px}
.form-intro,.enquiry-result>p {color:var(--muted);line-height:1.5;font-size:.95rem}
form,.enquiry-result {margin-top:23px}
.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
form label {display:block;font-size:14px;font-weight:600;margin-bottom:14px}
label small {font-weight:400;color:var(--muted)}
input,textarea,select {display:block;background:#fcfdf8;border:1px solid #aeb5a7;border-radius:3px;padding:10px 11px;min-height:44px;width:100%;color:var(--ink);font-size:16px;margin-top:5px}
textarea {resize:vertical}
form .error {color:#922b23;font-weight:600;font-size:14px}
form .error:not(:empty) {margin:12px 0}
.enquiry-result dl {display:grid;grid-template-columns:auto 1fr;gap:6px 20px;margin:16px 0 20px;border-top:1px solid var(--line);padding-top:12px;overflow-wrap:anywhere}
.enquiry-result dt {font-weight:600}
.enquiry-result dd {margin:0;white-space:pre-wrap}
@media (min-width:1600px) {
  .hero-shade {background:linear-gradient(90deg,#0b100ede,rgba(10,15,12,.79) 31%,transparent 80%),linear-gradient(0deg,#131713a8,transparent 28%)}
}
@media (max-width:1050px) {
  .nav-row {min-height:70px}
  .nav-contact {border:0;padding:0}
  .nav-contact>.tel-link {display:none}
  .service-tile {padding:19px 15px}
  .section-top>p {max-width:260px;font-size:.92rem}
  .band-actions {flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:740px) {
  :root {--gutter:clamp(19px,5.4vw,36px)}
  .nav-row {min-height:64px;gap:14px}
  .wordmark {width:126px}
  .desktop-nav {display:none}
  .nav-contact {margin-left:auto}
  .nav-button {min-height:36px;font-size:13px;gap:8px;padding:9px 12px}
  .mobile-menu {display:block}
  .mobile-menu summary {min-height:44px;min-width:40px;justify-content:center;list-style:none}
  .mobile-menu summary::-webkit-details-marker {display:none}
  .mobile-menu summary span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mobile-menu nav {position:absolute;left:0;right:0;top:100%;padding:10px var(--gutter) 22px;border-top:1px solid #343a34;background:var(--ink);box-shadow:0 10px 15px #0002}
  .mobile-menu nav a {display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #414740}
  .hero-inner {min-height:555px}
  .hero-copy {padding-top:43px;max-width:90%}
  .hero-copy h1 {font-size:clamp(65px,12.9vw,88px);margin-top:17px;margin-bottom:17px}
  .hero-copy>p:not(.kicker) {max-width:355px;font-size:1.03rem}
  .hero-visual {top:0}
  .hero-visual img {object-position:64% 57%}
  .hero-shade {background:linear-gradient(90deg,#0a110cea,rgba(12,18,14,.76) 32%,rgba(12,18,14,.22) 88%),linear-gradient(0deg,#101610c4,transparent 30%)}
  .hero-lower {gap:10px;padding:10px 0 13px}
  .hero-place {font-size:0;gap:0}
  .hero-place>* {display:none}
  .hero-place {display:none}
  .photo-nav {width:100%;justify-content:space-between;gap:8px}
  .slide-controls button {width:40px;height:40px}
  .section-top {display:block}
  .section-top>p {margin-top:15px;max-width:420px;font-size:1rem}
  .tiles {grid-template-columns:repeat(2,1fr);margin-top:26px}
  .service-tile,.service-tile:first-child,.service-tile:last-child {padding:16px 14px 19px}
  .service-tile:nth-child(odd) {padding-left:0}
  .service-tile:nth-child(even) {padding-right:0;border-right:0}
  .service-tile:nth-child(-n+2) {border-bottom:1px solid var(--line)}
  .tile-title {margin-top:18px}
  .work-grid,.split,.detail-grid,.contact-layout {grid-template-columns:1fr;gap:30px}
  .work-copy>p:not(.kicker) {margin:16px 0;max-width:540px}
  .ev-pair {gap:9px}
  .band-inner {align-items:flex-start;flex-direction:column;gap:24px}
  .band-actions {flex-direction:row;align-items:center;gap:20px}
  .foot-grid {grid-template-columns:1fr 1fr;gap:29px 18px}
  .foot-grid>div:first-child {grid-column:1/-1}
  .foot-end {align-items:flex-start;gap:10px;flex-wrap:wrap}
  .plate {min-height:0;aspect-ratio:1.65}
  .interior-copy .backlink~.kicker {margin-top:23px}
  .scope-list article {grid-template-columns:23px 1fr;gap:10px}
}
@media (max-width:480px) {
  .hero-inner {min-height:590px;gap:120px}
  .hero-copy {max-width:100%;padding-top:33px}
  .hero-visual {top:28%}
  .hero-visual img {object-position:65% 56%}
  .hero-shade {background:linear-gradient(180deg,#20231f 0%,#20231f 18%,rgba(23,28,23,.88) 35%,rgba(17,23,18,.58) 56%,rgba(17,23,18,.04) 75%,rgba(14,20,15,.72) 100%)}
  .hero-actions {margin-top:20px;gap:19px}
  .hero-copy h1 {font-size:clamp(60px,16.5vw,79px)}
  .hero-copy>p:not(.kicker) {max-width:335px}
  .hero-copy .kicker {font-size:9px}
  .slide-caption {gap:9px;font-size:.8rem}
  .mob-only {display:block}
  .tile-title h3 {font-size:20px}
  .tile-title .icon {width:13px}
  .ev-pair figcaption {gap:5px;font-size:.81rem}
  .ev-pair figcaption b {font-size:.7rem}
  .form-grid {grid-template-columns:1fr}
  .enquiry-panel {padding:20px}
  .section {padding-block:46px}
  .band-actions {flex-wrap:wrap}
  .contact-location {align-items:start}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {transition:none!important;animation:none!important}
}
.mobile-call {display:none}
@media (max-width:740px) {
  .desktop-contact {display:none}
  .mobile-call {display:inline-flex;min-height:42px}
  .mobile-call .icon {width:14px;height:14px}
}
@media (max-width:480px) {
  .mobile-call,.hero-actions a {white-space:nowrap}
  .hero-actions {display:flex;flex-wrap:wrap;gap:14px 18px}
  .hero-actions .btn {gap:13px;padding:13px 15px}
  .hero-actions .plain-link {gap:6px;font-size:14px}
  .hero-copy h1 {font-size:clamp(48px,15.6vw,75px)}
}
@media (max-width:350px) {
  .nav-row {gap:8px}
  .wordmark {width:106px}
  .hero-actions {gap:10px}
  .hero-actions .btn {font-size:14px}
}
.retail {background:#202420;color:#f7f7ee}
.retail-grid {display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:clamp(35px,6.2vw,95px)}
.retail-poster {display:block;position:relative;border-radius:3px;overflow:hidden}
.retail-poster img {width:100%;height:auto;aspect-ratio:1.55;object-fit:cover;object-position:50% 32%}
.film-chip {position:absolute;bottom:15px;left:15px;display:flex;gap:10px;align-items:center;border-radius:3px;background:#191c19ed;color:#fff;padding:7px 11px;font-size:12px;font-weight:600}
.film-chip i {font-style:normal;color:var(--yellow);font-size:12px}
.film-chip b {font:10px var(--mono);color:#f0efdb}
.retail-copy h2 {margin:17px 0}
.retail-copy>p:not(.kicker) {font-size:1.08rem;color:#d7ddd2;line-height:1.6;max-width:440px}
.retail-copy .inline-link {margin-top:24px}
.film-plate {border-radius:3px;background:#202420;color:#f7f7ee;overflow:hidden}
.film-plate video {display:block;background:#171b17;width:100%;height:clamp(300px,28vw,440px);object-fit:contain}
.film-plate figcaption {display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 16px 6px}
.film-plate figcaption span {font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#e8e9c7}
.film-plate figcaption strong {font-size:14px}
.film-description {padding:0 16px 11px;font-size:12px;color:#d3d7cf}
.film-description summary {width:fit-content;text-decoration:underline;text-underline-offset:3px}
.film-description p {margin-top:8px;max-width:49ch}
@media(max-width:740px) {
  .retail-grid {grid-template-columns:1fr;gap:22px}
  .retail-copy {grid-row:1}
  .retail-copy .inline-link {margin-top:16px}
  .film-plate video {height:auto;aspect-ratio:4/5;max-height:500px}
}

/* The energy section shares the masthead, typography and enquiry route of the main site. */
.energy-nav[aria-current="page"] {color:var(--yellow)}
.array-feature {background:#e9ede9}
.array-feature-grid,.energy-split {display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(32px,6vw,95px)}
.array-feature h2 {margin:17px 0}
.array-feature-copy>p:not(.kicker) {max-width:46ch;font-size:1.08rem;color:var(--muted);line-height:1.6}
.array-feature-copy .inline-link {margin-top:22px}
.array-photo img {width:100%;aspect-ratio:1.85;object-fit:cover;object-position:50% 41%;border-radius:3px}
.array-photo figcaption {padding-top:9px;color:var(--muted);font-size:.82rem}
.energy-hero {background:#1c282b;color:#fff}
.energy-split {padding-block:clamp(36px,4.2vw,75px)}
.energy-intro h1 {max-width:9ch;margin:21px 0;font-size:clamp(58px,6.5vw,106px);line-height:.95;letter-spacing:-.068em}
.energy-intro>p:not(.kicker) {max-width:46ch;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.57;color:#e1e8e6}
.energy-intro .btn {margin-top:24px}
.energy-plate {position:relative;overflow:hidden;border-radius:3px;background:#34474a}
.energy-plate img {width:100%;aspect-ratio:1.37;object-fit:cover;object-position:50% 43%}
.energy-plate figcaption {position:absolute;bottom:14px;left:14px;display:flex;align-items:center;gap:9px;background:#172023f0;color:white;padding:7px 12px;border-radius:2px;font:600 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.energy-plate figcaption span {width:16px;height:2px;background:var(--yellow)}
.energy-index {border-bottom:1px solid var(--line);background:#e9ede9}
.energy-index .wrap {display:flex;align-items:center;flex-wrap:wrap;gap:0 clamp(24px,4vw,70px)}
.energy-index a {display:inline-flex;align-items:center;min-height:54px;font-size:.9rem;font-weight:650}
.energy-index a:hover {text-decoration:underline;text-underline-offset:5px}
.energy-scope h2 {max-width:12ch}
@media(max-width:740px) {
  .array-feature-grid,.energy-split {grid-template-columns:1fr;gap:25px}
  .energy-intro h1 {max-width:none;font-size:clamp(52px,11vw,78px)}
  .energy-plate img {aspect-ratio:1.82}
  .energy-index .wrap {display:grid;grid-template-columns:auto auto;gap:0 15px;padding-block:5px}
  .energy-index a {min-height:42px;font-size:.85rem}
}

/* Project pages share one photo treatment and the same enquiry and FAQ patterns. */
.desktop-nav {gap:clamp(15px,2.1vw,35px)}
.desktop-nav a[aria-current] {color:var(--yellow)}
.route-hero,.work-intro,.project-band,.tour {background:#182527;color:#f6f6ef}
.route-hero {background:linear-gradient(120deg,#152024,#253838)}
.route-split {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,5vw,86px);padding-block:clamp(43px,5vw,88px)}
.route-hero h1,.work-intro h1 {font-size:clamp(50px,5.8vw,94px);letter-spacing:-.066em;line-height:.98;margin:20px 0}
.route-hero p:not(.kicker),.work-intro p:not(.kicker) {max-width:53ch;font-size:clamp(1.04rem,1.25vw,1.24rem);line-height:1.56;color:#dee7df}
.route-hero .btn {margin-top:24px}
.project-photo {position:relative;margin:0;overflow:hidden;background:#1d2826;border-radius:3px}
.project-photo img {width:100%;aspect-ratio:1.46;object-fit:cover}
.project-photo figcaption {position:absolute;bottom:0;left:0;right:0;padding:44px 16px 13px;color:#fff;background:linear-gradient(transparent,#0b1214da);font-size:.8rem}
.field-visual {border:1px solid #709087;color:#eff3eb;padding:clamp(20px,3vw,46px);background-color:#253738;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:26px 26px}
.field-tag,.project-byline,.proof-note {font:600 .67rem/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.field-tag {color:var(--yellow);display:block;padding-bottom:25px}
.field-visual>div {display:grid;grid-template-columns:32px 1fr;gap:9px;padding:12px 0;border-top:1px solid #70817b;align-items:center}
.field-visual b {font:600 .75rem var(--mono);color:#c3d3ce}
.field-visual>div>span {font-size:clamp(18px,2.2vw,34px);font-weight:600;letter-spacing:-.04em}
.index-title h2 {margin-top:17px}
.route-columns {display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,95px);margin-top:34px}
.route-columns h3 {font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.065em;color:var(--muted);padding-bottom:13px;border-bottom:2px solid var(--ink)}
.route-columns a {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.route-columns strong {display:block;font-size:clamp(1.12rem,1.8vw,1.65rem);letter-spacing:-.04em;line-height:1.15}
.route-columns small {display:block;font-size:.9rem;color:var(--muted);padding-top:5px}
.route-columns a:hover strong,.feature-pair a:hover h3 {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.feature-pair {display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,44px);margin-top:30px}
.project-cover {position:relative;overflow:hidden;aspect-ratio:1.85;border-radius:3px;background:#324242}
.project-cover img {width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.project-byline {color:#d7deca;margin:16px 0 8px}
.feature-pair h3 {font-size:clamp(23px,2.5vw,43px);line-height:1.05;letter-spacing:-.045em}
.feature-pair p {color:#d6ddcf;max-width:54ch;margin:10px 0 0}
.tunnel-type {display:block;padding:25px;font:700 clamp(24px,5vw,72px)/1 var(--mono)}
.areas,.plan-note,.case-link {background:#e5e9e2}
.areas .wrap,.case-link .wrap,.energy-related .wrap {display:flex;gap:clamp(25px,6vw,100px);align-items:center;justify-content:space-between}
.areas .wrap,.energy-related .wrap,.plan-note .wrap {padding-block:clamp(40px,4.5vw,74px)}
.areas h2,.case-link h2,.plan-note h2,.energy-related h2 {font-size:clamp(31px,3.5vw,59px);letter-spacing:-.055em;line-height:1.03;margin-top:16px}
.areas p:not(.kicker),.case-link p:not(.kicker),.plan-note p:not(.kicker) {color:#414d47;font-size:1.04rem;line-height:1.6}
.areas p:not(.kicker) {max-width:52ch}
.case-link p {max-width:60ch;margin-top:12px}
.case-link .inline-link,.energy-related .inline-link {flex-shrink:0}
.plan-note p+p {margin-top:13px}
.proof-note {display:block;margin-top:17px;color:#46584f}
.faq-block {background:#f2f2eb;border-top:1px solid var(--line)}
.faq-block h2 {margin-top:16px}
.faqs {border-top:1px solid #9ca49a}
.faqs details {border-bottom:1px solid #c3cac0}
.faqs summary {display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;padding:18px 0;font-weight:650;font-size:clamp(1.02rem,1.25vw,1.22rem)}
.faqs summary::-webkit-details-marker {display:none}
.faqs summary span {flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:1px solid #9aa397;border-radius:50%;font:16px/1 var(--mono)}
.faqs summary span::before {content:'+'}
.faqs details[open] summary span::before {content:'−'}
.faqs details[open] p {max-width:68ch;color:#414a43;padding:0 40px 19px 0;line-height:1.6}
.body-link {text-decoration:underline;text-underline-offset:3px}
.work-intro .wrap {padding-block:clamp(40px,4.7vw,75px)}
.work-intro+.project-band {padding-top:0}
.tour-stage {margin-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tour-stage.is-ready {display:block}
.tour-stage.is-ready img {height:clamp(260px,41vw,560px);object-fit:contain;background:#111d20;aspect-ratio:auto}
.tour .section-top>p {color:#d5dfd9}
.tour-controls,.tour-controls>div,.enquiry-actions {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tour-controls {justify-content:space-between;margin-top:14px}
.tour-controls button,.secondary {min-height:42px;background:transparent;color:inherit;border:1px solid #8e9c92;border-radius:3px;padding:9px 15px}
.tour-controls button:hover {background:#354645}
.tour-count {font:.8rem var(--mono)}
.enquiry-actions {margin:10px 0}
#copy-status {font-size:.9rem;margin-bottom:8px}
.enquiry-panel .secondary {color:var(--ink);font-weight:650}
.field-prompt {font-size:.9rem}
.foot-grid {grid-template-columns:1.2fr 1.1fr 1fr 1fr}
@media(min-width:741px) and (max-width:1150px){.nav-contact>.tel-link{display:none}.nav-contact{border:0;padding:0}}
@media(max-width:740px){
 .route-split,.route-columns,.feature-pair {grid-template-columns:1fr}
 .route-split {gap:26px}
 .route-split .project-photo img {aspect-ratio:1.65}
 .route-columns {margin-top:23px}
 .feature-pair {gap:32px}
 .areas .wrap,.case-link .wrap,.energy-related .wrap {align-items:flex-start;flex-direction:column;gap:19px}
 .case-link .inline-link,.energy-related .inline-link {align-self:flex-start}
 .foot-grid {grid-template-columns:1fr 1fr}
 .tour-stage {grid-template-columns:1fr}
 .tour-stage.is-ready img {height:clamp(240px,60vw,420px)}
 .project-photo figcaption {font-size:.75rem}

}
.what-next {margin:23px 0;max-width:48ch}
.what-next h2 {font-size:1.3rem;letter-spacing:-.03em}
.what-next p {margin-top:6px;color:var(--muted)}
.more-projects {background:#e8eae2}
.more-project-grid {display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,48px);margin-top:26px}
.more-project-grid a {position:relative;display:grid;grid-template-columns:minmax(100px,.75fr) 1fr;align-items:center;gap:clamp(14px,2vw,28px);border-top:1px solid #8c968a;border-bottom:1px solid #c3c9bd;padding:18px 0}
.more-project-grid a>.icon {position:absolute;top:18px;right:0;width:14px}
.more-photo {height:100%;min-height:170px;background:#263b39;overflow:hidden;border-radius:3px}
.more-photo img {width:100%;height:100%;object-fit:cover}
.more-project-grid .proof-note {margin:0;padding-right:15px}
.more-project-grid h3 {margin:7px 0;font-size:clamp(1.35rem,1.8vw,1.9rem);line-height:1.1;letter-spacing:-.04em}
.more-project-grid p {font-size:.92rem;color:var(--muted)}
.plate-tag {display:block;margin:22px;color:var(--yellow);font:600 .9rem/1.35 var(--mono)}
.hero-visual img {object-position:50% 49%}
@media(max-width:820px){.more-project-grid{grid-template-columns:1fr}.more-photo{min-height:140px}.more-project-grid a{grid-template-columns: .75fr 1.25fr}}
.board-feature {background:#e7ebe4}
.reno-gallery {background:#e8eae3}
.reno-gallery h2 {margin:16px 0 26px}
.reno-pair {display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,3vw,38px)}
.reno-pair img {width:100%;aspect-ratio:1.04;object-fit:cover;border-radius:3px}
.reno-pair figcaption {font-size:.89rem;color:var(--muted);margin-top:10px}
@media(max-width:520px){.reno-pair{grid-template-columns:1fr;gap:20px}}
.entry-strip {background:#f3f4ed;border-bottom:1px solid var(--line)}
.entry-strip .wrap {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.entry-strip .wrap>span {font:650 .65rem var(--mono);text-transform:uppercase;letter-spacing:.085em;color:var(--muted)}
.entry-strip .inline-link {border:0;padding:8px 0;font-size:.9rem}
.entry-strip .icon {height:14px;width:14px}
@media(max-width:740px){.entry-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding-block:10px}.entry-strip .wrap>span{display:none}.entry-strip .inline-link{font-size:.83rem;min-height:40px;justify-content:space-between}.entry-strip a:nth-child(2),.entry-strip a:nth-child(3){border-bottom:1px solid var(--line)}}
.reno-film {background:#e3e7df}
.reno-film .film-plate {justify-self:center;max-width:385px;width:100%}
.reno-film video {height:clamp(380px,35vw,520px);background:#182020}
.archive-index {background:#e5e9e1}
.archive-index .wrap {padding-block:30px;display:flex;align-items:center;gap:clamp(30px,7vw,115px)}
.archive-index .wrap>div:last-child {display:flex;flex-wrap:wrap;gap:18px 32px}
.archive-index h2 {font-size:clamp(28px,3vw,40px);letter-spacing:-.05em}
@media(max-width:640px){.archive-index .wrap {display:block}.archive-index .wrap>div:last-child{margin-top:16px}.reno-film video{height:420px}}
.hero-visual img[data-slide="tunnel"] {object-position:52% 9%}
@media(max-width:480px){.hero-visual img[data-slide="tunnel"]{object-position:52% 24%}}
.solar-movie {background:#e2e8e1}
.wide-film {margin-top:22px}
.wide-film video {width:100%;height:auto;max-height:580px;aspect-ratio:16/9;object-fit:contain}

.buyer-guide {background:#f2f3ec}
.guide-heading {display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:end;margin:14px 0 30px}
.guide-heading p,.handover-steps p,.regional-note p,.regional-cross p {color:var(--muted);max-width:62ch;line-height:1.6}
.guide-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(25px,5vw,78px)}
.guide-grid article,.handover-steps article {border-top:1px solid #aeb7aa;padding:19px 0}
.guide-grid h3,.handover-steps h3 {font-size:clamp(21px,2vw,30px);letter-spacing:-.045em;line-height:1.14}
.guide-grid p {max-width:60ch;margin:9px 0 14px;color:var(--muted)}
.handover-steps p,.regional-note p+p {margin-top:9px}
.handover-steps a,.regional-note a {display:inline-block;margin-top:12px}
.handover h2,.regional-note h2,.regional-cross h2 {margin-top:14px}
.regional-cross {background:#e4e9e1}
.regional-cross .wrap {display:flex;gap:32px;align-items:center;justify-content:space-between;padding-block:44px}
.regional-cross h2 {font-size:clamp(28px,3.2vw,54px);letter-spacing:-.05em;line-height:1.04}
.regional-cross p {margin-top:10px}
.regional-cross .btn {flex-shrink:0}
@media(max-width:740px){.guide-heading,.guide-grid{grid-template-columns:1fr}.guide-heading{gap:14px;margin-bottom:18px}.regional-cross .wrap{align-items:flex-start;flex-direction:column;gap:18px}}

.existing-system {background:#e4eae2}
.existing-system h2 {margin:14px 0}
.existing-system .detail-grid>div:first-child>p:not(.kicker) {max-width:44ch;color:var(--muted);line-height:1.6}
.existing-jump {display:block;width:fit-content;margin-top:16px;color:#e1e9dc;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}

.intake-wrap {display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.18fr);align-items:start;gap:clamp(32px,7vw,110px)}
.intake-intro h1 {font-size:clamp(45px,5.8vw,90px);line-height:.98;letter-spacing:-.065em;margin:20px 0}
.intake-intro p:not(.kicker){color:var(--muted);margin-bottom:18px;max-width:40ch}
.upload-form,.upload-result {background:#eaede5;border:1px solid var(--line);border-radius:4px;margin:0;padding:clamp(20px,3vw,40px)}
.upload-form fieldset {border:0;margin:0 0 18px;padding:0;min-width:0}
.upload-form legend,.upload-label {font-size:1rem;font-weight:700;margin-bottom:10px}
.intake-mode,.service-checks {display:flex;flex-wrap:wrap;gap:7px}
.intake-mode label,.service-checks label {display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #aeb6aa;border-radius:3px;background:#f9faf5;margin:0}
.upload-form input[type=radio],.upload-form input[type=checkbox] {width:16px;min-height:16px;margin:0;accent-color:#344c40}
.intake-hint,.privacy-note,.upload-form details small,.drop-target small {color:#4c574e;font-size:.88rem;line-height:1.5}
#availability:not(:empty) {margin:14px 0 20px;padding:10px 13px;border-left:3px solid #68755d;background:#f6f7ef;font-size:.88rem}
.upload-label {display:block}
.drop-target {position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:#f9faf4;border:2px dashed #889581;border-radius:4px;padding:20px 14px}
.drop-target.over,.drop-target:focus-within {background:#fff9d6;border-color:#4a6041}
.drop-target .btn {display:inline-flex;margin:0;min-height:40px;cursor:pointer}
.file-control {position:absolute;opacity:0;inset:0;width:100%;height:100%;padding:0;margin:0;cursor:pointer}
.drop-icon {color:#415744;font-size:1.3rem}
#selected-files {list-style:none;margin:7px 0;padding:0}
#selected-files li {display:flex;align-items:center;justify-content:space-between;gap:14px;overflow-wrap:anywhere;border-bottom:1px solid var(--line);padding:6px 0;font-size:.9rem}
#selected-files button {background:none;border:0;text-decoration:underline;min-height:34px}
.upload-form details {padding:10px 0 18px}.upload-form summary {font-weight:650;font-size:.93rem}
.upload-form details label {margin:10px 0 3px}
.upload-error {color:#8d2724;font-size:.9rem;font-weight:650}
.privacy-note {margin:10px 0 18px}
.trap {display:none!important}
.upload-result h2 {font-size:2rem;margin:16px 0}
.upload-result p {margin-bottom:12px;overflow-wrap:anywhere}
.upload-result button {display:block;border:0;border-bottom:1px solid;background:none;margin-top:14px}
.file-routes {display:grid;gap:10px;margin:22px 0}
.file-routes h2 {font-size:1.25rem}
.file-routes a {text-decoration:underline;text-underline-offset:3px}
@media(max-width:780px){.intake-wrap{grid-template-columns:1fr;gap:22px}.upload-form,.upload-result{width:100%}.intake-mode label{font-size:.87rem}}

.v2g-section {background:#e1e9e0}
.v2g-section h2 {margin:16px 0}
.v2g-section .detail-grid>div:first-child>p:not(.kicker) {max-width:44ch;color:var(--muted);line-height:1.55}
.v2g-section .btn {margin-top:20px}
.ground-photo {position:relative;max-width:760px;background:#182923}
.ground-photo img {width:100%;height:clamp(200px,30vw,395px);object-fit:cover}
.ground-photo figcaption {padding:9px 14px;color:#e3e9e1;font:600 .75rem/1.5 var(--mono)}
.plan-note video {display:block;width:100%;border-radius:3px}
.learn-index,.finance-list,.standalone {padding-block:clamp(52px,7vw,106px)}
.learn-index h2,.finance-list h2,.standalone h2 {font-size:clamp(30px,4.4vw,64px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 26px}
.guide-tag {font:600 .76rem/1.4 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:#3c584d}
.guide-topic,.finance-list article {border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.5fr);gap:24px}
.guide-topic summary {font-size:clamp(18px,2vw,27px);line-height:1.28;font-weight:650;letter-spacing:-.025em}
.guide-topic p {max-width:68ch;margin:12px 0;color:var(--muted)}
.guide-strip {background:#eef1e9;border-top:1px solid var(--line)}
.guide-strip .wrap {display:flex;justify-content:space-between;align-items:center;gap:28px;padding-block:32px}
.guide-strip h2 {font-size:clamp(24px,3vw,39px);letter-spacing:-.045em;line-height:1.1;margin:12px 0 9px}
.guide-strip p:not(.kicker) {color:var(--muted);max-width:64ch}
.guide-strip .inline-link,.finance-list a {flex-shrink:0}
.finance-list article {grid-template-columns:minmax(160px,.55fr) minmax(0,1.25fr) auto;align-items:start}
.finance-list h3 {font-size:1.27rem;margin-top:2px;letter-spacing:-.025em}
.finance-list p {max-width:67ch;color:var(--muted)}
.lender-mark {width:166px;height:auto;margin-bottom:20px}
#mtf .btn {margin:14px 14px 3px 0}
.tariff-layout {display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,86px);align-items:start}
.tariff-layout h3 {font-size:clamp(24px,2.8vw,39px);line-height:1.1;letter-spacing:-.04em}
.tariff-layout p,.tariff-note {margin:12px 0;color:var(--muted);line-height:1.55;max-width:72ch}
.tariff-form {padding:clamp(16px,2.8vw,32px);background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:15px}
.tariff-form label {font-weight:600;font-size:.9rem;display:flex;flex-direction:column;justify-content:space-between;gap:6px}
.tariff-form input {min-width:0;width:100%;border:1px solid #929c91;background:#fff;color:var(--ink);border-radius:3px;padding:9px}
.tariff-form output,.tariff-form button {grid-column:1/-1}
.tariff-form output:not(:empty) {padding:13px 0 0;border-top:1px solid #a7b1a7;font-weight:650}
.tariff-form output:empty {display:none}
.tariff-note {margin:28px 0 14px}
.standalone .btn {margin-right:18px}
@media(max-width:760px){.guide-topic,.finance-list article,.tariff-layout{grid-template-columns:1fr;gap:9px}.tariff-layout{gap:22px}.guide-strip .wrap{align-items:flex-start;flex-direction:column;gap:12px}.finance-list article a{justify-self:start}}
@media(max-width:410px){.tariff-form{grid-template-columns:1fr}.route-hero .btn{margin:13px 4px 0 0}}
.service-menu summary {display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:.9rem;font-weight:600;list-style:none}
.service-menu summary::-webkit-details-marker {display:none}
.service-menu summary::after {content:'';width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:translateY(-2px) rotate(45deg)}
.service-menu[open]>summary::after {transform:translateY(2px) rotate(225deg)}
.service-flyout {position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(660px,94vw);padding:22px 26px;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:26px;border:1px solid var(--line);box-shadow:0 12px 30px #0d171d26}
.service-flyout p {font:600 .7rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:3px 0 8px}
.desktop-nav .service-flyout a {display:block;padding:10px 0;border-top:1px solid var(--line)}
.desktop-nav .service-flyout a[aria-current] {color:#244f3a}
.project-routes {background:#f0f0e9;padding-block:clamp(40px,5.8vw,86px)}
.project-route-head {display:flex;justify-content:space-between;align-items:end;gap:24px}
.project-route-head h2 {font-size:clamp(35px,5.2vw,78px);line-height:.99;letter-spacing:-.061em;margin:16px 0 0}
.project-route-head>p {max-width:34ch;color:var(--muted);line-height:1.55}
.project-choices {display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0 0;border:1px solid #aab4a7;background:#f8f9f3}
.project-choices a {padding:13px 16px;border-right:1px solid #bec7bb;font-weight:650;text-align:center}
.project-choices a:last-child {border-right:0}
.project-choices a:is([aria-selected=true],:hover) {background:#263a32;color:white}
.project-choices a:focus-visible {outline-offset:-4px}
.project-path {scroll-margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper);margin:0 0 10px}
.project-path-copy {padding:clamp(22px,3.1vw,50px)}
.project-path h3 {font-size:clamp(27px,3.25vw,50px);line-height:1.02;letter-spacing:-.045em;margin:16px 0 10px}
.project-path-copy>p:not(.kicker) {color:var(--muted);max-width:55ch}
.project-path-links {display:grid;grid-template-columns:1fr 1fr;column-gap:16px;margin:18px 0 20px}
.project-path-links a {font-weight:600;font-size:.93rem;border-bottom:1px solid var(--line);padding:9px 0}
.project-path-links a:hover,.energy-question:hover {text-decoration:underline;text-underline-offset:3px}
.path-proof {align-self:stretch;background:#20332b;display:grid;grid-template-rows:1fr auto;position:relative;overflow:hidden}
.path-proof img {width:100%;height:100%;min-height:0;position:absolute;inset:0;object-fit:cover}
.path-proof span {grid-row:2;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#15231eeb;color:white;padding:14px 21px;font-size:.97rem;font-weight:650}
.path-proof span b {color:var(--yellow)}
.energy-question {display:inline-flex;margin:14px 0 0 12px;color:white;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.solar-process {padding-block:clamp(32px,4.3vw,64px);background:#eef1e9}
.solar-process h2 {font-size:clamp(29px,3.5vw,56px);line-height:1.06;letter-spacing:-.045em;margin:14px 0 23px}
.solar-process ol {list-style:none;counter-reset:solarstep;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,4vw,60px);padding:0;margin:0}
.solar-process li {counter-increment:solarstep;border-top:1px solid #aab7a9;padding-top:12px}
.solar-process li::before {content:'0' counter(solarstep);font:600 .72rem/1.4 var(--mono);color:#48624e}
.solar-process h3 {font-size:1.25rem;margin:4px 0 6px}
.solar-process li p {color:var(--muted);max-width:46ch}
.intake-switch a {font-size:.92rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.film-next {margin-top:14px}
@media(max-width:740px) {
 .mobile-menu nav {max-height:calc(100dvh - 66px);overflow-y:auto}
 .mobile-menu .service-menu>summary {display:flex;min-height:46px;min-width:0;justify-content:space-between;border-bottom:1px solid #414740;font-size:1rem}
 .service-flyout {position:static;transform:none;width:auto;box-shadow:none;background:#202d26;color:white;border:0;padding:12px;gap:14px}
 .service-flyout p {color:#c5d8c4}
 .mobile-menu .service-flyout a {font-size:.86rem;line-height:1.4;font-weight:600;min-height:42px;padding:7px 0}
 .project-route-head {align-items:flex-start;flex-direction:column;gap:12px}
 .project-route-head>p {max-width:48ch}
 .project-choices {grid-template-columns:1fr 1fr;margin-top:16px}
 .project-choices a {min-height:44px;padding:10px 9px;font-size:.9rem}
 .project-choices a:nth-child(even) {border-right:0}
 .project-choices a:nth-child(-n+2) {border-bottom:1px solid #bec7bb}
 .project-path {grid-template-columns:1fr}
 .path-proof {min-height:180px}
 .solar-process ol {grid-template-columns:1fr;gap:16px}
 .energy-question {display:table;margin:15px 0 0}
}
.neo-note .btn {margin:14px 15px 0 0}
.neo-note p+p {margin-top:12px}
.hero-visual {overflow:hidden}
.hero-visual .hero-shot {position:absolute;inset:0;opacity:1;transition:opacity 1.25s cubic-bezier(.45,0,.35,1)}
.hero-visual .hero-shot.retiring {z-index:1;opacity:0}
.slide-controls #photo-motion {width:auto;min-height:40px;padding:0 12px;border-radius:22px;font-size:.78rem;white-space:nowrap;background:#17211dc9;color:#fff}
.slide-controls #photo-motion:hover {background:#344239}
.hero-shade {pointer-events:none}
@media(max-width:740px){
 .hero-lower {min-width:0}
 .slide-caption {min-width:0;gap:7px;font-size:.76rem}
 .photo-nav {gap:8px}
 .slide-controls {gap:4px;flex:none}
 .slide-controls button {width:40px;height:40px}
}
@media(max-width:380px){.slide-caption {flex-direction:column;align-items:flex-start;gap:2px}}
.maze-hero,.maze-film {background:#172428;color:#f5f5ec}
.maze-hero .wrap {padding-block:clamp(28px,4.3vw,65px)}
.maze-back {font-weight:650;font-size:.9rem;color:#d1dfd2}
.maze-head {max-width:80ch;padding:clamp(28px,3.2vw,50px) 0 26px}
.maze-head h1 {font-size:clamp(44px,6.7vw,100px);line-height:.98;letter-spacing:-.065em;margin:18px 0}
.maze-head>p:last-child,.maze-film .detail-grid p:not(.kicker) {max-width:60ch;color:#d7e1dc;font-size:1.08rem;line-height:1.6}
.maze-lead {margin:0;position:relative;border-radius:4px;overflow:hidden}
.maze-lead img {width:100%;height:clamp(245px,35vw,510px);object-fit:cover;object-position:50% 49%}
.maze-lead figcaption {position:absolute;bottom:0;left:0;right:0;padding:28px 18px 12px;display:flex;justify-content:space-between;background:linear-gradient(transparent,#101815cf);font:650 .8rem/1.4 var(--mono)}
.maze-gallery {background:#ecede6}
.maze-details {display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(16px,3vw,40px);margin-top:25px}
.maze-detail img {width:100%;aspect-ratio:1.55;object-fit:cover}
.maze-detail figcaption {display:flex;gap:12px;padding:12px 0;color:var(--muted);line-height:1.5}
.maze-detail figcaption b {font:600 .75rem/1.5 var(--mono);color:#405951}
.maze-film video {display:block;width:100%;max-height:480px;background:#0c1212}
.maze-film figcaption {margin-top:7px;font:600 .76rem/1.4 var(--mono);color:#c4d0c8}
.maze-film p:not(.kicker){margin-top:15px}
.maze-next {display:grid;gap:10px;justify-items:start}
.commercial-maze {background:#202d28;color:#f4f6ee}
.commercial-maze .wrap {display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;padding-block:clamp(30px,4.6vw,70px)}
.commercial-maze h2 {margin:14px 0 12px;font-size:clamp(28px,4vw,55px);line-height:1.04;letter-spacing:-.05em}
.commercial-maze .inline-link {margin-top:15px;color:#f1f4ea}
.commercial-maze img {width:100%;max-height:300px;object-fit:cover}
.maze-arrow {position:absolute;right:2px;top:14px}
.rejected-files {padding:12px;border:1px solid #994e37;background:#faf2ed;margin:12px 0}
.rejected-files .inline-link {cursor:pointer;font-size:.92rem}
#receipt-files {overflow-wrap:anywhere}
@media(min-width:821px){.more-project-grid:has(.maze-arrow)>a:first-child{grid-column:1/-1;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr)}.more-project-grid:has(.maze-arrow)>a:first-child .more-photo{height:190px}}
@media(max-width:740px){.maze-details,.commercial-maze .wrap{grid-template-columns:1fr}.maze-lead img{height:auto;aspect-ratio:1.4}}
@media(min-width:950px){
 .maze-head {max-width:none;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.85fr);column-gap:clamp(28px,5vw,90px);align-items:end}
 .maze-head .kicker {grid-column:1/-1}
 .maze-head h1 {font-size:clamp(57px,5.5vw,93px);margin:16px 0 0}
 .maze-head>p:last-child {padding-bottom:4px}
}

.maze-film-link {display:inline-block;margin-top:10px;color:#f5f5ec;text-decoration:underline;text-underline-offset:4px;font-weight:650;font-size:.93rem}

/* The issued marks keep their original colours. Equipment sits below the credentials. */
.trust {background:#23302b;color:#f5f4e9;border-top:4px solid #ebc82d}
.trust .wrap {padding-block:clamp(28px,4.4vw,64px)}
.trust-head {display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid #64736a;padding-bottom:16px}
.trust-head h2 {font-size:clamp(1.65rem,2.6vw,2.8rem);line-height:1.12;letter-spacing:-.038em;font-weight:650}
.trust-head a,.trust-records a,.equipment-line a {font-size:.9rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}
.trust-head a {color:#fff0ad}
.trust-records {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:22px}
.trust-records article {min-width:0;padding:0 clamp(18px,3vw,48px);border-left:1px solid #5c6a60;display:flex;flex-direction:column;align-items:flex-start}
.trust-records article:first-child {padding-left:0;border-left:0}
.trust-records article:last-child {padding-right:0}
.trust-emblem {height:72px;display:flex;align-items:center;margin-bottom:16px}
.trust-emblem .master-mark {height:68px;width:auto}
.trust-emblem .sitewise-mark {width:150px;height:auto}
.trust-number {color:#f1e1a2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.trust-number span {font-size:.74rem}
.trust-number b {font-size:2.35rem;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}
/* Typographic credential for the verified SEANZ listing. */
.trust-type {flex-direction:column;align-items:flex-start;justify-content:center;color:#f1e1a2}
.trust-type span {font-size:.74rem}
.trust-type b {font-size:1.8rem;letter-spacing:-.045em;line-height:1.2}
@media(min-width:741px) and (max-width:1020px){
  .trust-records {grid-template-columns:1fr 1fr;row-gap:22px}
  .trust-records article:nth-child(odd) {padding-left:0;border-left:0}
}
.trust-records h3 {font-size:clamp(1.1rem,1.7vw,1.5rem);letter-spacing:-.025em;line-height:1.22}
.trust-records p {margin:5px 0 12px;max-width:31ch;color:#dce5d9;font-size:.98rem;line-height:1.45}
.trust-records a,.trust-records small {margin-top:auto;color:#e4e9db}
.trust-records small {font-size:.83rem}
.equipment-line {background:#f0f1e9;color:#26352c;border-bottom:1px solid #c2cbbf}
.equipment-line .wrap {display:flex;align-items:center;gap:clamp(18px,3vw,50px);padding-block:18px}
.equipment-line img {width:123px;height:auto}
.equipment-line p {font-size:.98rem;color:var(--muted)}
.equipment-line a {flex-shrink:0;margin-left:auto}
@media(max-width:740px){
  .trust-head {align-items:flex-start;flex-direction:column;gap:9px}
  .trust-records {grid-template-columns:1fr;padding-top:0}
  .trust-records article,.trust-records article:first-child,.trust-records article:last-child {display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;column-gap:16px;padding:18px 0;border:0;border-bottom:1px solid #526459}
  .trust-records article:last-child {border-bottom:0;padding-bottom:0}
  .trust-emblem {grid-row:1/4;margin:0;min-height:58px;height:auto;align-self:center}
  .trust-emblem .master-mark {height:57px}
  .trust-emblem .sitewise-mark {width:92px;height:auto}
  .trust-records h3,.trust-records p,.trust-records article>a,.trust-records small {grid-column:2}
  .trust-records p {margin:3px 0 8px}
  .trust-records article>a {width:fit-content}
  .equipment-line .wrap {display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 16px}
  .equipment-line img {grid-row:1/3;width:91px;align-self:center}
  .equipment-line a {grid-column:2;margin:0;justify-self:start}
}
.contractor-docs {background:#eeefe7}
.contractor-docs .detail-grid>div>p {margin:16px 0;color:var(--muted);max-width:47ch}
.document-list article {padding:17px 0;border-top:1px solid #bec7bb}
.document-list article:first-child {padding-top:0;border-top:0}
.document-list article p {margin:6px 0;max-width:64ch;color:var(--muted)}
.case-trail {background:#e7ebe2;color:#2c4036;border-bottom:1px solid #c9d0c4}
.case-trail .wrap {display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:11px}
.case-trail ol {display:flex;align-items:center;flex-wrap:wrap;gap:4px 9px;margin:0;padding:0;list-style:none;font-size:.85rem}
.case-trail li+li::before {content:'›';margin-right:9px;color:#637567}
.case-trail a {text-decoration:underline;text-underline-offset:3px}
.case-service {font-size:.87rem;font-weight:650}
@media(max-width:600px){.case-trail .wrap{align-items:flex-start;flex-direction:column;gap:4px}}

/* Standalone service and region entries */
.entry-actions {display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}
.entry-actions .entry-secondary {display:inline-block;margin-top:24px;padding-block:8px;color:#f6f6ed;text-decoration:underline;text-underline-offset:4px;font-size:.95rem;font-weight:650}
.local-entry-nav {background:#e5e9de;border-bottom:1px solid #bac3b6}
.local-entry-nav .wrap {display:flex;align-items:center;gap:10px clamp(16px,3.3vw,55px);flex-wrap:wrap;padding-block:8px}
.local-entry-nav a {font-size:.93rem;line-height:1.35;font-weight:650;padding-block:8px}
.local-entry-nav a:hover,.entry-related a:hover {text-decoration:underline;text-underline-offset:4px}
.scope-entry .detail-grid>div:first-child>p,.entry-proof .detail-grid>div:nth-child(2)>p {margin-top:15px;font-size:1.04rem;line-height:1.6;max-width:60ch}
.scope-entry .detail-grid>div:first-child>p {color:var(--muted)}
.entry-proof {padding-block:clamp(38px,5vw,75px);background:#e8ece2;color:#27372d}
.entry-proof .inline-link {margin-top:12px}
.energy-readout {display:flex;gap:0;margin:22px 0 0;flex-wrap:wrap}
.energy-readout div {border-left:1px solid #adbba9;padding:2px 13px}
.energy-readout div:first-child {border-left:0;padding-left:0}
.energy-readout dt {font-size:.78rem;color:#435a45}
.energy-readout dd {margin:4px 0 0;font-size:clamp(1.5rem,3vw,2.8rem);font-weight:650;line-height:1;letter-spacing:-.045em}
.energy-readout small {font-size:.48em;letter-spacing:0}
.deep-route,.entry-related {background:#eef0e9;color:#25372b;border-bottom:1px solid #c6cebf}
.deep-route .wrap {display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:clamp(25px,3vw,42px)}
.deep-route h2,.entry-related h2 {font-size:clamp(23px,2.5vw,38px);line-height:1.1;letter-spacing:-.042em;margin-bottom:6px}
.deep-route p {color:var(--muted);max-width:65ch}
.deep-route .inline-link {flex-shrink:0}
.entry-related .wrap {display:flex;align-items:center;gap:14px 32px;flex-wrap:wrap;padding-block:27px}
.entry-related a {font-size:.93rem}
.geo-proofs {background:#eff0e9}
.geo-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,40px);margin-top:26px}
.geo-grid img {display:block;width:100%;aspect-ratio:1.6;object-fit:cover;margin-bottom:16px}
.geo-grid h3 {margin:9px 0 4px;letter-spacing:-.035em;line-height:1.1;font-size:clamp(23px,2.4vw,36px)}
.geo-grid p:not(.kicker) {color:var(--muted);margin-bottom:12px}
@media(max-width:740px){
 .deep-route .wrap,.entry-related .wrap {flex-direction:column;align-items:flex-start;gap:12px}
 .geo-grid {grid-template-columns:1fr;gap:27px}
 .entry-actions {align-items:flex-start;flex-direction:column}
 .entry-actions .entry-secondary {margin:8px 0 0}
}

.energy-intro h1 {max-width:15ch;font-size:clamp(48px,5.4vw,86px)}

/* Project archive spreads */
.bank-hero {background:#1d2b28;color:var(--paper)}
.bank-spread {display:grid;grid-template-columns:1.2fr minmax(240px,.83fr);gap:30px clamp(30px,7vw,100px);align-items:start;padding-block:clamp(32px,4vw,76px)}
.bank-hero h1 {max-width:12ch;font-size:clamp(48px,6.4vw,106px);line-height:.97;letter-spacing:-.065em;margin:21px 0}
.bank-hero p:not(.kicker,.folio) {max-width:54ch;line-height:1.6;color:#e0e7dc}
.bank-hero .btn {margin-top:26px}
.field-spec {border-top:3px solid var(--yellow);padding-top:15px}
.field-spec .folio {color:#d5dfcf}
.field-spec dl {margin:14px 0}
.field-spec dl>div {display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid #718079}
.field-spec dd {margin:0;color:#ffdf4a;font-size:clamp(36px,4.1vw,68px);letter-spacing:-.05em;line-height:1}
.field-spec dt {font-size:1rem;font-weight:600}
.field-spec dd small {font-size:.46em;letter-spacing:-.02em}
.field-spec .spec-foot {font-size:.9rem}
.archive-callout,.project-papers {background:#e5e9e1}
.archive-callout .wrap {display:grid;grid-template-columns:minmax(0,2fr) minmax(14rem,1fr);gap:clamp(24px,8vw,130px);align-items:center;padding-block:clamp(34px,4.5vw,70px)}
.archive-callout h2 {font-size:clamp(32px,4vw,66px);line-height:1.04;letter-spacing:-.055em;margin:13px 0}
.archive-callout p:not(.kicker),.project-paper-pair article>p:not(.kicker) {color:var(--muted);max-width:62ch;line-height:1.6}
.archive-callout .inline-link {justify-self:start}
.project-paper-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,5vw,78px);margin-top:22px}
.project-paper-pair article {min-width:0;border-top:1px solid #97a198;padding:21px 0 0}
.project-paper-pair h3 {font-size:clamp(30px,3.1vw,54px);letter-spacing:-.055em;margin:8px 0 10px;line-height:1.12}
.project-paper-pair article .inline-link,.scope-list .inline-link,.plan-note .inline-link {margin-top:14px}
.proof-return .wrap {display:flex;gap:18px 36px;flex-wrap:wrap;padding-block:25px}
@media(max-width:740px) {
  .archive-callout .wrap,.project-paper-pair {grid-template-columns:1fr}
  .field-spec dl>div {padding:10px 0}
  .archive-callout .wrap {gap:14px}
  .project-paper-pair {gap:32px}
}
.bank-intro {align-self:end}
.bank-plate {margin:0 auto;grid-column:2;grid-row:1 / span 2;align-self:center;width:min(100%,365px)}
.bank-plate img {display:block;width:100%;height:auto}
.bank-plate figcaption {display:flex;justify-content:space-between;gap:10px;padding-top:9px;font:600 .71rem/1.4 var(--mono);color:#d4ddcf}
.bank-plate figcaption span {color:#f5f6eb}
.bank-spread .field-spec {grid-column:1;max-width:510px;align-self:start}
.bank-teaser .wrap {grid-template-columns:minmax(120px,200px) minmax(0,720px);justify-content:center}
.bank-teaser figure {margin:0}
.bank-teaser img {display:block;width:100%;height:auto}
.bank-teaser .inline-link {margin-top:18px}
.highgate-spread {display:grid;grid-template-columns:minmax(150px,.9fr) minmax(240px,1.6fr) minmax(120px,.72fr);align-items:center;gap:clamp(18px,2.5vw,46px);border-top:1px solid #97a198;margin-top:clamp(30px,4vw,70px);padding-top:clamp(25px,3vw,50px)}
.highgate-spread h3 {font-size:clamp(27px,2.6vw,44px);line-height:1.05;letter-spacing:-.045em;margin:12px 0}
.highgate-spread p:not(.kicker) {color:var(--muted);line-height:1.55}
.highgate-spread figure {margin:0}
.highgate-spread img {width:100%;height:auto;display:block}
.highgate-spread figcaption {color:var(--muted);font-size:.84rem;margin-top:8px}
@media(max-width:740px) {
  .bank-spread {grid-template-columns:1fr;gap:26px}
  .bank-plate,.bank-spread .field-spec {grid-column:1;grid-row:auto}
  .bank-plate {width:min(100%,310px);margin:0}
  .bank-teaser .wrap {grid-template-columns:minmax(70px,26%) minmax(0,1fr);gap:18px}
  .bank-teaser .wrap h2 {font-size:clamp(27px,7vw,42px)}
  .highgate-spread {grid-template-columns:1.35fr 1fr;align-items:end;gap:14px}
  .highgate-spread>div {grid-column:1 / -1}
}
.trail-context {background:#e5e9e1}
.trail-context .wrap {display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(28px,6vw,85px)}
.trail-context h2 {margin:15px 0 20px;max-width:17ch}
.trail-context p:not(.kicker) {color:var(--muted);margin:12px 0;max-width:56ch;line-height:1.6}
.trail-context .inline-link {margin-top:10px}
.trail-context figure {margin:0}
.trail-context img {width:100%;height:auto}
.trail-context figcaption {font-size:.82rem;color:var(--muted);margin-top:8px}
.trail-context figcaption a {text-decoration:underline}
@media(max-width:740px) {.trail-context .wrap {grid-template-columns:1fr}}

.energy-proof {display:block;width:fit-content;margin-top:17px;color:#e8efe4;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.energy-proof:hover {color:var(--yellow)}

.hero-field-film {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 47%;opacity:0;pointer-events:none;transition:opacity .55s ease}
.hero-field-film.show {opacity:1}
.hero-visual .hero-shot[data-slide="array"] {animation:none}
@media(max-width:740px){
  .hero-visual img[data-slide="array"] {object-position:100% 50%}
  .hero-field-film {object-position:50% 50%}
}
@media(prefers-reduced-motion:reduce){
  .hero-field-film {display:none}
  .hero-visual .hero-shot {transition:none}
}
.builder-field {background:#e9eae2}
.builder-field .wrap {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,6vw,84px)}
.builder-field figure {margin:0}
.builder-field img {display:block;width:100%;height:auto}
.builder-field figcaption {margin-top:8px;color:var(--muted);font-size:.84rem}
.builder-field h2 {margin:14px 0 18px}
.builder-field p:not(.kicker) {line-height:1.6;color:var(--muted);margin-block:12px;max-width:53ch}
.builder-field-links,.receipt-actions {display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 26px}
.builder-field-links {margin-top:20px}
.receipt-actions {border-block:1px solid var(--line);margin:17px 0;padding:12px 0}
.upload-result .receipt-actions button {margin:0}
@media(max-width:740px){.builder-field .wrap {grid-template-columns:1fr}.builder-field figure {order:2}}
.tour-chapters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;border-block:1px solid #61736b}
.tour-chapters button {text-align:left;display:flex;align-items:center;gap:10px;background:none;color:#e8eee4;border:0;border-right:1px solid #61736b;padding:14px clamp(8px,1.6vw,24px);font:inherit;cursor:pointer;min-height:45px}
.tour-chapters button:last-child {border-right:0}
.tour-chapters button span {color:#f5d34b;font:600 .74rem var(--mono)}
.tour-chapters button[aria-pressed="true"] {box-shadow:inset 0 -3px #ffda2c;background:#30433c}
.tour-chapters button:hover {background:#384c45}
@media(max-width:650px){
  .tour-chapters {grid-template-columns:1fr 1fr}
  .tour-chapters button:nth-child(even) {border-right:0}
  .tour-chapters button:nth-child(-n+2) {border-bottom:1px solid #61736b}
}
@media(prefers-reduced-motion:no-preference){
  @keyframes tunnel-view-in {from{opacity:.64}to{opacity:1}}
  .tour-stage.is-ready .tour-slide:not([hidden]) {animation:tunnel-view-in .26s ease-out}
}

.tunnel-film {background:#e7eae1;color:var(--ink)}
.tunnel-film .wrap {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);align-items:center;gap:clamp(26px,6vw,92px)}
.tunnel-film h2 {margin:16px 0 20px;max-width:15ch}
.tunnel-film-copy>p:not(.kicker) {color:var(--muted);line-height:1.6;max-width:50ch;margin-bottom:14px}
.tunnel-film .film-meta {font:600 .83rem/1.5 var(--mono)}
.tunnel-film figure {margin:0;min-width:0}
.tunnel-film video {display:block;width:100%;height:auto;aspect-ratio:4/3;background:#17231f}
.tunnel-film figcaption a {text-decoration:underline;text-underline-offset:3px}
.tunnel-film figcaption {font-size:.86rem;color:var(--muted);margin-top:10px}
.tunnel-film details {border-top:1px solid #b1bcb2;margin-top:14px;padding-top:9px}
.tunnel-film summary {cursor:pointer;font-weight:600;width:fit-content}
.tunnel-film details ol {margin:12px 0 0;padding-left:1.4em;line-height:1.6}
@media(max-width:740px){.tunnel-film .wrap{grid-template-columns:1fr}.tunnel-film h2 {max-width:18ch}}

/* Real project photography leads the home; monthly spend stays on the solar route. */
.home-hero .hero-copy h1 {font-size:clamp(58px,6.55vw,108px);max-width:14ch}
.bill-start {background:#e9ece2}
.bill-start .wrap {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,7vw,110px);align-items:start}
.bill-start h2 {margin:14px 0 16px;max-width:15ch}
.bill-start h3 {margin:10px 0;font-size:clamp(25px,2.6vw,39px);line-height:1.12;letter-spacing:-.04em}
.bill-start p:not(.kicker) {color:var(--muted);line-height:1.6;max-width:53ch}
.bill-start-primary .btn {margin:19px 0 8px}
.bill-start-primary small {display:block;max-width:46ch;color:var(--muted);line-height:1.5}
.bill-rough {border-left:1px solid #abb5a9;padding-left:clamp(24px,4vw,70px)}
.bill-rough .inline-link {margin-top:15px}
#bill-range {margin:18px 0 2px}
#bill-range label {display:block;font-weight:600}
#bill-range label small {color:var(--muted);font-weight:400}
#bill-range output {display:block;font:600 clamp(23px,2.2vw,33px)/1.4 var(--mono);letter-spacing:-.045em;margin:4px 0 7px}
.bill-range-controls {display:grid;grid-template-columns:44px minmax(36px,1fr) 44px;align-items:center;gap:10px}
.bill-range-controls button {color:var(--ink);background:transparent;border:1px solid #778774;border-radius:3px;min-width:44px;min-height:44px;font-size:1.3rem;cursor:pointer}
.bill-range-controls button:disabled {opacity:.45;cursor:default}
.bill-range-controls input[type="range"] {width:100%;min-width:0;min-height:44px;accent-color:#35573f;padding:0;background:transparent;cursor:pointer}
#energy-context {margin:12px 0 20px;padding:13px 0;border-block:1px solid var(--line)}
#energy-context summary {font-weight:650;cursor:pointer}
#energy-context summary small {font-weight:400}
.energy-context-fields {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.energy-context-fields #bill-range {grid-column:1/-1}
.energy-context-fields select {width:100%;font:inherit;padding:9px;border:1px solid #82917f;background:#fff;color:var(--ink)}
@media(max-width:740px){
  .home-hero .hero-copy h1 {font-size:clamp(41px,10.2vw,74px);margin-block:18px}
  .bill-start .wrap {grid-template-columns:1fr;gap:24px}
  .bill-rough {border-left:0;border-top:1px solid #abb5a9;padding:20px 0 0}
  .energy-context-fields {grid-template-columns:1fr}
}

.project-desk {background:var(--soft);border-bottom:1px solid var(--line);padding-block:clamp(32px,4vw,66px)}
.project-desk .wrap {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:clamp(24px,4vw,72px);align-items:start}
.project-desk h2 {max-width:12ch;margin:14px 0 0;font-size:clamp(32px,3.2vw,54px);line-height:1.04;letter-spacing:-.05em}
.desk-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,48px)}
.desk-options article {display:flex;flex-direction:column;align-items:flex-start;border-top:2px solid var(--ink);padding-top:15px}
.desk-options h3 {margin:0;font-size:clamp(20px,1.55vw,26px);line-height:1.15;letter-spacing:-.03em}
.desk-options p {color:var(--muted);line-height:1.55;margin:10px 0 18px}
.desk-options .btn {margin-top:auto}
@media (max-width:950px) {
  .project-desk .wrap {grid-template-columns:1fr}
  .project-desk h2 {max-width:none}
}
@media (max-width:620px) {
  .desk-options {grid-template-columns:1fr;gap:23px}
  .desk-options article {padding-top:12px}
}

.work-more {display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.crew-dispatch,.crew-archive {padding-block:clamp(40px,5vw,80px);border-top:1px solid var(--line);background:var(--paper)}
.crew-dispatch-grid {display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:center;gap:clamp(24px,6vw,96px)}
.crew-dispatch-copy h2,.crew-archive h2 {font-size:clamp(32px,3.7vw,60px);line-height:1.06;letter-spacing:-.05em;margin:14px 0}
.crew-dispatch-copy>p:not(.kicker) {max-width:53ch;line-height:1.6;color:var(--muted);margin-bottom:18px}
.crew-photo-note {margin:0}
.crew-photo-note img {display:block;width:100%;height:auto;border-radius:2px}
.crew-photo-note figcaption {border-top:2px solid var(--ink);padding-top:9px;margin-top:10px;font-size:.93rem;line-height:1.4;color:var(--muted)}
.crew-archive-grid {display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(22px,5vw,74px);max-width:950px;align-items:start;margin-top:24px}
.crew-hero img {object-position:center 48%}

.household-intro,.household-tool,.one-change,.vent-home,.home-project-pair {padding-block:clamp(42px,6vw,92px)}
.household-intro {background:#e8ede5}
.household-intro h1 {font-size:clamp(42px,5.7vw,85px);line-height:1.02;letter-spacing:-.06em;max-width:15ch;margin:17px 0}
.household-intro .wrap>p:not(.kicker),.tool-heading>p,.compare-layout>div>p:not(.kicker),.vent-options p,.home-project-examples article>p:not(.kicker) {max-width:56ch;color:var(--muted);line-height:1.6}
.household-jump,.compare-actions {display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:20px}
.tool-heading,.compare-layout,.rewire-controls {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,85px);align-items:start}
.tool-heading h2,.compare-layout h2 {margin:14px 0 0;font-size:clamp(32px,3.8vw,62px);line-height:1.05;letter-spacing:-.05em}
.tool-heading>p {align-self:end;margin-bottom:3px}
.rewire-panel {margin-top:28px;border:1px solid var(--line);background:#fff}
.rewire-controls {grid-template-columns:minmax(0,1fr) auto;padding:clamp(18px,3vw,42px)}
.rewire-controls h3,.vent-options h3,.home-project-examples h3 {font-size:clamp(20px,1.8vw,29px);line-height:1.16;margin:0 0 10px;letter-spacing:-.03em}
.rewire-controls p,.tool-boundary,.vent-care p,.cost-method p {color:var(--muted);line-height:1.55;max-width:65ch}
.rewire-actions {display:grid;justify-items:start;gap:12px}
.tool-privacy,.cost-method,.vent-care {margin-top:16px}
.tool-privacy summary,.cost-method summary,.vent-care summary {cursor:pointer;font-weight:600}
.tool-privacy[open] p,.cost-method[open] p,.vent-care[open] p {margin:10px 0;overflow-wrap:anywhere}
.frame-status:empty {display:none}
.frame-status {padding:0 clamp(18px,3vw,42px) 16px;font-size:.95rem;line-height:1.5}
#rewire-frame {border-top:1px solid var(--line)}
#rewire-frame iframe {display:block;width:100%;height:clamp(580px,79vh,900px);border:0;background:white}
.tool-boundary {margin-top:14px}
.tool-boundary a,.vent-care a {text-decoration:underline;text-underline-offset:3px}
.one-change,.vent-home {background:var(--soft)}
.compare-layout>div>p:not(.kicker) {margin-top:14px}
.one-change-form {padding:clamp(18px,3vw,32px);background:var(--paper);border-top:2px solid var(--ink)}
.one-change-form fieldset {border:0;min-width:0;margin:0;padding:0}
.one-change-form legend {font-size:1.25rem;font-weight:650;margin-bottom:12px}
.one-change-form label {display:block;margin-top:14px;font-size:1rem}
.one-change-form small {display:block;font-weight:400;color:var(--muted)}
.example-button {background:none;border:0;border-bottom:1px solid currentColor;padding:4px 0;color:var(--ink);cursor:pointer}
.running-result:not(:empty) {display:block;border-top:1px solid var(--line);padding-top:14px;margin-top:18px;font-weight:600;line-height:1.5}
.vent-options,.home-project-examples {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,78px);margin-top:30px}
.vent-options article,.vent-care {border-top:1px solid var(--ink);padding-top:17px}
.vent-options .inline-link,.home-project-examples .inline-link {margin-top:14px}
.home-project-examples {grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.home-project-examples figure {margin:0 0 16px}
.home-project-examples img {display:block;width:100%;height:clamp(245px,32vw,455px);object-fit:cover;border-radius:2px}
.home-project-examples h3 {margin-top:12px}
@media (max-width:740px) {
  .tool-heading,.compare-layout,.rewire-controls,.vent-options,.home-project-examples {grid-template-columns:1fr;gap:18px}
  .home-project-examples {gap:35px}
  .household-jump {align-items:start;flex-direction:column}
  .home-project-examples img {height:auto;max-height:420px}
}
@media (max-width:740px) {
  .crew-dispatch-grid {grid-template-columns:1fr;gap:18px}
  .crew-dispatch-grid .crew-photo-note {max-width:480px}
  .crew-archive-grid {grid-template-columns:1fr;max-width:480px}
  .crew-archive-grid .crew-photo-note:first-child img {max-height:425px;width:auto;max-width:100%;object-fit:contain}
  .work-more {margin-top:14px}
}

.link-hint { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.privacy-reading {max-width:54rem}
.privacy-reading h2 {margin:2rem 0 .65rem}
.privacy-reading h2:first-child {margin-top:0}
.privacy-reading p {max-width:68ch;line-height:1.65;margin:.6rem 0 1rem}
.privacy-reading a,.document-privacy a {text-decoration:underline;text-underline-offset:.15em}
.document-privacy {border-left:3px solid #708072;padding:0 0 0 1rem;margin:1.5rem 0;color:#293a30}
.document-privacy p {font-size:.925rem;line-height:1.5;margin:.35rem 0}

.home-hero .legacy-signature {position:absolute;right:clamp(22px,5.5vw,88px);top:clamp(22px,3.2vw,44px);width:clamp(92px,9vw,138px);height:auto;opacity:0;transition:opacity 1.25s ease;mix-blend-mode:screen;filter:contrast(1.65);pointer-events:none}
.home-hero[data-first-scene] .legacy-signature {opacity:.78}
.tunnel-field-note {max-width:68ch;margin-top:1.5rem;border-top:1px solid #5a6866;padding-top:1rem;color:#d3ded6}
@media (max-width:740px) {.home-hero .legacy-signature {top:auto;bottom:90px;right:22px;width:86px}}

/* Public project pages retain a readable measure where photographs are unavailable. */
.release-text-layout{grid-template-columns:minmax(0,1fr)!important}
.release-text-layout>div:first-child:not(.geo-grid){max-width:75ch}
.release-equipment-name{font-size:clamp(1.15rem,2.5vw,2rem);letter-spacing:-.035em}
.release-project-note{max-width:65ch;margin-inline:auto}
.release-project-note h2,.release-case h2{margin-block:.4em}
.release-project-note p:not(.kicker),.release-case p:not(.kicker){font-size:1.12rem;line-height:1.6}
.release-case{padding:clamp(1.4rem,4vw,3rem);align-self:center;border-top:2px solid currentColor}
.feature-pair>a:has(>.project-byline:first-child),.more-project-grid>a:has(>.project-byline:first-child){border-top:2px solid currentColor;padding-top:1.4rem}

@media(prefers-reduced-motion:reduce){.home-hero .legacy-signature{transition:none}}

/* Project images keep their captions with the corresponding job. */
.job-photos .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:clamp(20px,4vw,54px)}
.job-photo{margin:0}
.job-photo img{display:block;width:100%;height:auto}
.job-photo figcaption{font-size:.88rem;line-height:1.5;margin-top:9px;color:var(--muted)}
.job-photo figcaption a{text-decoration:underline}
.job-photos .job-photo img{aspect-ratio:4/3;object-fit:cover}
.job-photos .wrap:has(>.job-photo:only-child){max-width:640px}
.job-photos .wrap:has(>.job-photo:only-child) img{max-height:450px;aspect-ratio:auto;object-fit:contain;background:#e8eae3}
.release-project-note .job-photo{margin-top:24px}
.highgate-spread.two-col{grid-template-columns:minmax(190px,1fr) minmax(0,1.5fr)}
.more-project-grid a:not(:has(.more-photo,.board-visual)){grid-template-columns:minmax(0,1fr);padding-right:1.5rem}
@media(max-width:740px){.highgate-spread.two-col{grid-template-columns:1fr}.crew-dispatch-grid .crew-photo-note img{max-height:400px;object-fit:cover}}

@media(max-width:380px){
  .route-split{grid-template-columns:minmax(0,1fr)}
  .route-hero h1{font-size:clamp(36px,11.4vw,46px);overflow-wrap:anywhere}
}

/* First-visit privacy choices. The sheet is non-modal. */
.privacy-panel{display:none;position:fixed;z-index:8;inset:auto auto 0 0;width:min(100%,445px);max-height:85vh;max-height:85dvh;overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);padding:16px 20px max(16px,env(safe-area-inset-bottom));box-shadow:0 -2px 18px #1112;border:1px solid var(--line);border-top:3px solid var(--yellow)}
.privacy-controls:not(.privacy-panel-closed) .privacy-panel{display:block}
.privacy-controls:not(.privacy-panel-closed){scroll-padding-bottom:var(--privacy-panel-height,0px)}
.privacy-controls:not(.privacy-panel-closed) body{padding-bottom:var(--privacy-panel-height,0px)}
.privacy-panel h2{margin:0 0 10px;font-size:1.13rem;line-height:1.3;font-weight:700;letter-spacing:normal}
.privacy-panel p{margin:0 0 12px;line-height:1.45;font-size:.9rem}
.privacy-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.privacy-actions [data-privacy="save"]{grid-column:1/-1}
.privacy-actions button{width:100%;min-height:42px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:white;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.privacy-actions button:hover{background:#38443e;border-color:#38443e}
.privacy-actions .privacy-secondary{background:transparent;color:var(--ink)}
.privacy-actions .privacy-secondary:hover{background:var(--soft)}
.privacy-options{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;margin:0 0 12px;border-block:1px solid #d6d8dc;font-size:.91rem}
.privacy-options label,.privacy-options a{grid-column:1/-1}
.privacy-options input{accent-color:var(--ink)}
.privacy-options a{text-decoration:underline}
.privacy-reopen{display:none;background:none;border:0;padding:0;color:inherit;text-align:left;font:inherit;cursor:pointer}
.privacy-controls .privacy-reopen{display:inline-block}
@media(max-width:560px){.privacy-panel{width:100%;padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}.privacy-actions button{min-height:44px}}

.board-visual {position:relative;isolation:isolate;overflow:hidden;min-width:0;margin:0;background:#dfded1;border-radius:3px}
.board-visual>img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.board-visual figcaption {position:absolute;bottom:10px;left:10px;z-index:1;background:#252c28e8;color:#fff;padding:4px 8px;font:.63rem/1.3 var(--mono);letter-spacing:.04em}
.path-proof .board-visual {grid-row:1;min-height:160px;border-radius:0}
.more-project-grid .board-visual {align-self:stretch;min-height:170px}
.more-project-grid .board-visual img {position:absolute;inset:0}
.route-split>.board-visual {align-self:center;aspect-ratio:1.25}
.board-story>.board-visual {height:clamp(260px,30vw,415px)}
.board-story>.board-visual img {object-position:50% 35%}
@media(max-width:740px){.route-split>.board-visual{width:100%;aspect-ratio:1.48}}
