/* Aethel / refined photography and explanatory interactions */
.hero-image{--hero-position:50% 50%;inset:-1%;background-image:url('assets/grid-night-original.jpg');background-position:var(--hero-position);background-size:cover;filter:saturate(.88) contrast(1.05) brightness(.9)}
.hero-lights-off{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position);opacity:0;transition:opacity 1.1s ease;pointer-events:none}
html[data-light=off] .hero-lights-off.is-ready{opacity:1}
.hero-shade{background:linear-gradient(90deg,#050709f5 0%,#050709d9 24%,#0507096b 50%,#0507090d 77%),linear-gradient(0deg,#08090b 0%,transparent 30%),linear-gradient(180deg,#05070955,transparent 22%)}
.hero-aura{background:radial-gradient(ellipse at var(--pointer-x) var(--pointer-y),#ef85421c,transparent 64%)}
html[data-light=off] .hero-image{filter:saturate(.88) contrast(1.05) brightness(.9)}
.photo-crop{position:absolute;inset:0;overflow:hidden}
.photo-crop img{position:absolute;max-width:none;width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.06) brightness(.9)}
.photo-crop.server-detail{inset:0}.photo-crop.server-detail img{width:100%;height:100%;left:0;top:0;object-position:40% 50%}
.photo-crop.switchgear img{width:100%;height:100%;left:0;top:0;object-position:50% 48%}
.split-panel .panel-tint{background:linear-gradient(0deg,#03070cf5,transparent 85%),linear-gradient(115deg,#15363d22,#713d1922)}
.application-image>img{filter:saturate(.84) contrast(1.06) brightness(.9)}
.application-image.photo-reference>img{width:118%;height:118%;max-width:none;left:-9%;top:-9%;object-position:50% 55%}
.application-image-shade{background:linear-gradient(0deg,#03080cf0,transparent 70%),linear-gradient(115deg,#113b4728,#9b52221b)}
.chart-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:10px}.chart-toolbar>.mono{font-size:8px;color:#858991}
.chart-replay{display:flex;align-items:center;gap:7px;background:none;border:0;padding:5px 0;color:var(--accent);font-size:20px}.chart-replay span{font-size:10px;color:#aeb2b9}.chart-replay:hover span{color:var(--ink)}
.chart-row{display:block;width:100%;background:transparent;border:0;border-left:1px solid #ffffff22;padding:0 0 14px;text-align:left;color:var(--ink);margin:0 0 16px}
.bar-track{display:block;width:100%;background:linear-gradient(90deg,transparent 49.8%,#ffffff0b 50%,transparent 50.2%),linear-gradient(90deg,transparent 99.7%,#ffffff0b 100%)}
.chart-row .bar{transform-origin:left;transition:filter .3s,background .6s,box-shadow .3s;min-width:0;height:49px}
.chart-row:hover .bar,.chart-row:focus-visible .bar{filter:brightness(1.35);box-shadow:0 0 36px #ff764514}
.bar-label{display:flex;align-items:center;gap:18px;margin-top:12px}.bar-label>span{font:8px Consolas,monospace;letter-spacing:.07em;opacity:.65}.chart-row.selected .bar-label{color:var(--ink)}.chart-row.selected .bar-label>span{color:var(--accent);opacity:1}
.chart-insight{display:grid;grid-template-columns:auto 1fr;gap:25px;border-top:1px solid var(--line);padding-top:20px;margin:8px 0 22px;align-items:center}.chart-insight>span{font-size:27px;letter-spacing:-.04em;color:var(--accent);white-space:nowrap}.chart-insight small{display:block;font:8px Consolas,monospace;color:#999ea7;letter-spacing:.02em;margin-top:5px}.chart-insight p{font-size:11px;line-height:1.7;color:#a0a5ae;max-width:260px}
.stage-content{grid-template-columns:1.45fr 1fr;gap:7%;padding:50px 0 60px;min-height:570px;align-items:start}.stage-copy{padding-top:32px}.stage-copy>p{min-height:120px}
.flow-viz.project-diagram{aspect-ratio:auto;margin:0;min-width:0;padding:0;align-self:stretch}
.flow-supervisor{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:0 0 23px;font-size:16px;letter-spacing:.1em}.flow-supervisor .mini-mark{font-size:35px}.flow-supervisor small{display:block;letter-spacing:0;font-size:10px;margin-top:6px;color:#888f9a}.flow-phase{margin-left:auto;color:var(--accent);font-size:8px;white-space:nowrap}
.flow-scene{position:relative;min-height:304px;padding:31px 0;display:flex;align-items:center}.flow-map{width:100%;animation:fadeup .5s ease}
.flow-node{min-width:0;position:relative;border:1px solid #ffffff23;background:linear-gradient(145deg,#161a1e,#0e1013);padding:17px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.flow-node svg{width:34px;height:34px;fill:none;stroke:#a5b4b8;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.flow-node strong{display:block;font-size:14px;line-height:1.4;font-weight:400;letter-spacing:-.02em}.flow-node small{display:block;font-size:11px;color:#858e99;line-height:1.65;margin-top:5px}.flow-node.emphasis{border-color:#b96b454f;background:linear-gradient(130deg,#512c192b,#121519 75%)}.flow-node.emphasis svg{stroke:#eaa07c}
.flow-link{color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:8px}.flow-link span{font:8px/1.5 Consolas,monospace;letter-spacing:.04em;text-align:center;color:#b3a497}.flow-link i{height:1px;width:100%;background:#ff764577;position:relative}.flow-link i:after{content:'';width:5px;height:5px;border-right:1px solid var(--accent);border-top:1px solid var(--accent);position:absolute;right:0;top:-2px;transform:rotate(45deg)}.flow-link i:before{content:'';position:absolute;left:0;top:-1px;width:4px;height:3px;background:#ffb385;box-shadow:0 0 8px #ff7645;animation:line-travel 3.5s linear infinite}
.flow-define{display:grid;grid-template-columns:1fr 56px 1.1fr 56px 1fr;align-items:center}.flow-define .flow-node{min-height:154px}.flow-milestones{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:25px;border-top:1px solid #ffffff10;padding-top:16px;gap:15px}.flow-milestones span{font:8px Consolas,monospace;color:#828b95}.flow-milestones b{color:#bc795a;font-weight:400;margin-right:7px}
.flow-design-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.flow-design-inputs .flow-node{min-height:135px}.flow-combine{height:32px;position:relative;margin:0 15%;border-left:1px solid #b477543b;border-right:1px solid #b477543b;border-bottom:1px solid #b477543b}.flow-combine:before{content:'';height:32px;width:1px;position:absolute;left:50%;top:0;background:#b477543b}.flow-combine:after{content:'';position:absolute;left:50%;top:32px;height:19px;width:1px;background:#ef9b70}.flow-design .flow-output{display:flex;align-items:center;gap:17px;border:1px solid #c97d5059;background:#ff764507;padding:16px 20px;margin:18px auto 0;width:82%}.flow-output svg{width:30px;height:30px;fill:none;stroke:#e3a37d;stroke-width:1.1}.flow-output strong{font-size:13px;font-weight:400}.flow-output small{display:block;font-size:9px;color:#89949c;margin-top:5px}
.flow-finance{display:grid;grid-template-columns:1fr 56px 1.2fr 56px 1fr;align-items:center}.funding-sources{display:grid;gap:10px}.funding-sources .flow-node{padding:13px;gap:6px}.funding-sources .flow-node svg{width:22px;height:22px}.flow-finance>.flow-node{min-height:165px}.flow-contract{grid-column:1/-1;margin-top:24px;border-top:1px solid var(--line);padding:17px 0 0;display:flex;align-items:center;gap:13px;font-size:10px;color:#d0c7c0}.flow-contract svg{width:26px;height:26px;stroke:#b37b5f;fill:none;stroke-width:1.2;flex-shrink:0}.flow-contract small{display:block;color:#7f8b96;margin-top:6px;font-size:9px}
.flow-deliver{display:grid;grid-template-columns:1fr .75fr 1fr;align-items:center;gap:0}.flow-deliver .flow-node{min-height:170px}.flow-exchange{padding:0 12px;display:grid;gap:32px}.flow-exchange .flow-link span{font-size:8px}.flow-link.return i{transform:rotate(180deg);background:#91a5ad66}.flow-link.return i:after{border-color:#9aaeb7}.flow-link.return i:before{background:#bccbd2;box-shadow:0 0 8px #9babb8}.flow-operating{grid-column:1/-1;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.flow-operating span{font-size:9px;color:#939da6}.flow-operating span:before{content:'+';color:#ba7754;margin-right:8px}
.flow-explainer{border-top:1px solid var(--line);padding-top:20px}.flow-explainer>.mono{color:#ab785c;font-size:8px}.flow-explainer p{font-size:11px;line-height:1.65;color:#8e98a4;margin-top:9px;max-width:490px}
.biogas-visual{padding:28px 0 32px}.bio-instruction{display:flex;justify-content:space-between;color:#737b6e;font-size:8px}.bio-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;position:relative;margin-top:16px}.bio-stage{position:relative;min-width:0;text-align:left;background:none;border:0;border-bottom:1px solid #56644d30;padding:16px 0 25px;display:flex;flex-direction:column;align-items:flex-start;color:#4c5a43;transition:border-color .3s}.bio-stage.active{border-bottom-color:#a75630}.bio-stage:hover{border-bottom-color:#a75630}.bio-art{width:100%;height:210px;display:flex;justify-content:center;align-items:center;margin-bottom:24px}.bio-art svg{width:min(100%,250px);height:100%;overflow:visible;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}.bio-stage:hover .bio-art svg,.bio-stage:focus-visible .bio-art svg{transform:translateY(-6px);filter:drop-shadow(8px 13px 9px #29352618)}.bio-stage .mono{font-size:8px;letter-spacing:.07em;color:#737a6e}.bio-title{display:block;font-size:27px;line-height:1.2;letter-spacing:-.055em;margin:15px 0 13px;color:#242b25}.bio-summary{font-size:12px;line-height:1.7;color:#6f786a;max-width:250px;min-height:41px}.bio-open{font:8px Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;display:flex;justify-content:space-between;width:100%;color:#8a5437;margin-top:25px;align-items:center}.bio-open b{font-weight:400;font-size:18px;transition:transform .3s}.bio-stage:hover .bio-open b{transform:translate(3px,-3px)}.icon-ground{opacity:.18}.icon-guide{opacity:.25;stroke-dasharray:2 3}
.bio-stage:is(:hover,:focus-visible,.active) .feed-scan{animation:scan-feed 3s ease-in-out infinite}.bio-stage:is(:hover,:focus-visible) .feed-material{animation:feed-settle 2s ease-in-out infinite}.bio-stage:is(:hover,:focus-visible,.active) .tank-bubbles{animation:digester-bubbles 3s linear infinite}.bio-stage:is(:hover,:focus-visible,.active) .tank-wave{animation:tank-wave 4s ease-in-out infinite}.sensor-needle{transform-origin:192px 101px}.bio-stage:is(:hover,:focus-visible,.active) .sensor-needle{animation:needle 4s ease-in-out infinite}.bio-stage:is(:hover,:focus-visible,.active) .sensor-light{animation:sensor-glow 3s ease infinite}.bio-stage:is(:hover,:focus-visible,.active) .insight-trace{stroke-dasharray:1;animation:trace-insight 3.5s ease infinite}.bio-stage:is(:hover,:focus-visible,.active) .insight-points{animation:sensor-glow 3.5s ease infinite}.bio-stage:is(:hover,:focus-visible) .insight-alert{animation:insight-float 3s ease-in-out infinite}
#bio-panel{display:grid;grid-template-columns:.7fr 1fr 1.25fr;gap:35px;align-items:start;position:relative;margin-top:30px;padding-top:12px;min-height:94px;animation:fadeup .45s ease}#bio-panel>.mono{font-size:8px;color:#99603e;padding-top:6px}#bio-panel h3{font-size:22px;line-height:1.25;letter-spacing:-.04em;max-width:250px}#bio-panel p{font-size:12px;line-height:1.8;color:#6b7465;max-width:400px}
.team-person{grid-template-columns:minmax(145px,34%) 1fr;gap:30px;align-items:start}.portrait{width:100%;height:auto;aspect-ratio:4/5;border-radius:0;overflow:hidden;background:#a6aaa6;position:relative}.portrait img{height:100%;width:100%;object-fit:cover;transform:scale(1.34);filter:grayscale(1) contrast(1.03)}.team-person>div:last-child{padding-top:10px}.team-person h3{font-size:24px;line-height:1.25}.team-person p{font-size:12px}.team-grid{gap:55px}
@keyframes line-travel{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 4px);opacity:0}}
@keyframes scan-feed{0%,100%{transform:translateY(-5px);opacity:.35}50%{transform:translateY(22px);opacity:1}}@keyframes feed-settle{50%{transform:translateY(3px)}}@keyframes digester-bubbles{0%{transform:translateY(12px);opacity:0}25%{opacity:1}75%{opacity:1}100%{transform:translateY(-33px);opacity:0}}@keyframes tank-wave{50%{transform:translate(3px,3px)}}@keyframes needle{50%{transform:rotate(55deg)}}@keyframes sensor-glow{0%,100%{opacity:.4}50%{opacity:1}}@keyframes trace-insight{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}@keyframes insight-float{50%{transform:translateY(-5px)}}
@media(max-width:1100px){.stage-content{gap:5%;grid-template-columns:1.4fr 1fr}.flow-node{padding:13px 10px}.flow-node strong{font-size:11px}.flow-node small{font-size:8px}.flow-define,.flow-finance{grid-template-columns:1fr 32px 1.15fr 32px 1fr}.flow-phase{font-size:7px}.flow-supervisor small{font-size:9px}.bio-stages{gap:25px}.bio-title{font-size:23px}.bio-art{height:185px}#bio-panel{gap:25px}.team-person{grid-template-columns:125px 1fr;gap:22px}.team-person h3{font-size:20px}.team-grid{gap:35px}}
@media(max-width:850px){.stage-content{grid-template-columns:1fr;gap:30px}.flow-viz{max-width:650px;width:100%;margin:auto!important}.flow-scene{min-height:310px}.stage-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding-top:20px;border-top:1px solid var(--line)}.stage-copy .stage-count,.stage-copy h3,.stage-copy .next-stage{grid-column:1}.stage-copy>p{grid-column:2;grid-row:1/3;min-height:0;padding-top:25px}.stage-output{grid-column:2;grid-row:3/5;margin:15px 0 0}.stage-copy h3{margin-bottom:10px}.team-grid{display:block}.team-person{grid-template-columns:170px 1fr;gap:35px}.team-person h3{font-size:28px}.team-person p{max-width:440px}.bio-stages{gap:22px}.bio-art{height:165px}.bio-title{font-size:21px}.bio-summary{font-size:11px}.bio-open{font-size:7px}.bio-stage .mono{font-size:7px}#bio-panel{grid-template-columns:1fr 1.5fr;gap:13px 30px}#bio-panel>.mono{grid-column:1/-1}#bio-panel h3{font-size:22px}.hero-image{--hero-position:60% center}.chart-insight{gap:16px}.chart-insight>span{font-size:23px}.chart-insight p{font-size:10px}.chart-toolbar>.mono{font-size:7px}.bar-label>span{font-size:7px}}
@media(max-width:520px){.hero-image{--hero-position:62% center}.hero-shade{background:linear-gradient(90deg,#050709e0,#05070955),linear-gradient(0deg,#08090b,transparent 65%)}.demand-grid{padding-bottom:45px}.chart-toolbar>.mono{font-size:8px}.chart-row .bar{height:47px}.chart-insight p{font-size:11px}.chart-insight>span{font-size:27px}.flow-viz.project-diagram{width:100%;aspect-ratio:auto}.flow-supervisor{gap:9px}.flow-supervisor small{font-size:8px;max-width:160px;line-height:1.5}.flow-supervisor{font-size:13px}.flow-phase{font-size:7px}.flow-supervisor .mini-mark{font-size:30px}.flow-scene{min-height:290px;padding:25px 0}.flow-node{padding:12px 8px;gap:10px}.flow-node strong{font-size:10px}.flow-node small{font-size:8px}.flow-node svg{width:30px;height:30px}.flow-define,.flow-finance{grid-template-columns:1fr 24px 1.1fr 24px 1fr}.flow-link span{font-size:6px;letter-spacing:0}.flow-design-inputs{gap:8px}.flow-design-inputs .flow-node{min-height:136px}.flow-design .flow-output{width:90%;padding:13px}.flow-define .flow-node{min-height:146px}.flow-milestones{gap:8px}.flow-milestones span{font-size:7px}.flow-contract{font-size:9px}.flow-contract small{font-size:8px;line-height:1.5}.flow-deliver{grid-template-columns:1fr .75fr 1fr}.flow-exchange{padding:0 8px}.flow-exchange .flow-link span{font-size:7px}.flow-operating span{font-size:8px}.flow-explainer p{font-size:10px}.stage-content{gap:25px;padding-bottom:35px}.stage-copy{display:block;padding-top:28px}.stage-copy h3{font-size:34px;margin:18px 0 23px}.stage-copy>p{padding:0;font-size:14px;min-height:0}.stage-output{margin-top:24px}.next-stage{padding-top:20px}.bio-stages{display:flex;flex-direction:column;gap:10px;margin-top:25px}.bio-stage{display:grid;grid-template-columns:120px 1fr;gap:0 15px;padding:22px 0}.bio-art{grid-row:1/5;grid-column:1;width:120px;height:138px;margin:0}.bio-stage .mono{grid-column:2;font-size:7px;padding-top:4px}.bio-title{grid-column:2;font-size:23px;margin:9px 0}.bio-summary{grid-column:2;min-height:0;font-size:11px;max-width:none}.bio-open{grid-column:2;margin-top:15px;font-size:7px}.bio-stage svg{width:140px;max-width:none}.bio-stage.active{border-bottom-color:#a75630}.bio-stage:hover .bio-art svg{transform:translateY(-3px)}#bio-panel{display:block;margin-top:24px;padding-top:8px;min-height:180px}#bio-panel h3{font-size:26px;max-width:300px;margin:14px 0}#bio-panel p{font-size:13px}.team-person{grid-template-columns:112px 1fr;gap:24px}.portrait{margin-top:0;aspect-ratio:4/5;width:112px;height:140px}.team-person>div:last-child{padding-top:0}.team-person .mono{font-size:7px}.team-person h3{font-size:22px;margin:12px 0}.team-person p{font-size:12px}.partners-heading>p br{display:none}.application-image.photo-reference>img{width:116%;height:116%;left:-8%;top:-8%}}

@media(min-width:851px){.flow-node svg{width:40px;height:40px}.flow-output strong{font-size:14px}.flow-output small{font-size:11px}.flow-contract{font-size:12px}.flow-contract small{font-size:10px}.flow-milestones span{font-size:9px}.flow-operating span{font-size:11px}}
@media(max-width:520px){.flow-define,.flow-finance{grid-template-columns:1fr;gap:0}.flow-define .flow-node,.flow-finance>.flow-node{min-height:95px;display:flex;flex-direction:row;align-items:center;gap:20px;padding:18px}.flow-define>.flow-link,.flow-finance>.flow-link{height:43px;position:relative;gap:0;align-items:flex-start;padding-left:55%;overflow:hidden}.flow-define>.flow-link i,.flow-finance>.flow-link i{width:31px;position:absolute;left:calc(50% - 15px);top:21px;transform:rotate(90deg)}.flow-define>.flow-link span,.flow-finance>.flow-link span{font-size:8px;text-align:left}.flow-define .flow-node strong,.flow-finance .flow-node strong{font-size:13px}.flow-define .flow-node small,.flow-finance .flow-node small{font-size:10px}.flow-milestones{margin-top:20px}.flow-milestones span{font-size:8px}.funding-sources{grid-template-columns:1fr 1fr;gap:12px}.funding-sources .flow-node{padding:15px}.funding-sources .flow-node svg{width:28px;height:28px}.flow-contract{font-size:11px}.flow-contract small{font-size:10px}}

/* Original photography, with a typographic hierarchy for the approved headline. */
.hero-content{padding-top:clamp(165px,20svh,235px);max-width:1000px}
.hero h1{font-size:clamp(72px,7.1vw,112px);line-height:1.02;margin:30px 0 30px;letter-spacing:-.065em}
.hero-headline{display:block}
.hero-promise{display:block;margin-top:23px;font-size:clamp(27px,2.65vw,42px);line-height:1.2;letter-spacing:-.045em}
.hero-content p{max-width:470px}
@media(min-width:1800px){.hero h1{font-size:112px}.hero-content{padding-top:22svh}}
@media(max-width:1100px){.hero h1{font-size:80px}.hero-promise{font-size:32px}.hero-content{padding-top:180px}}
@media(max-width:780px){.hero h1{font-size:clamp(54px,9.8vw,76px)}.hero-content{padding-top:160px}.hero-image{background-size:cover;opacity:1!important}.hero-promise{font-size:clamp(25px,4vw,32px);max-width:470px}.hero-shade{background:linear-gradient(90deg,#050709e6 0%,#050709b8 40%,#05070948),linear-gradient(0deg,#08090b,transparent 40%)}}
@media(max-width:520px){.hero{min-height:780px;height:100svh}.hero-content{padding-top:154px}.hero h1{font-size:clamp(45px,12.5vw,63px);margin:27px 0 23px}.hero-promise{font-size:26px;max-width:300px;margin-top:21px;line-height:1.28}.hero-content p{font-size:13px;max-width:300px}.hero-shade{background:linear-gradient(90deg,#050709e0 0%,#05070998 54%,#05070929),linear-gradient(0deg,#08090b,transparent 40%)}.hero-footer{bottom:26px}.hero-content>.eyebrow{font-size:7px}}
