/* FogliaLab: benefits and research. Scoped to preserve the opening leaf. */
.benefits-teaser,.benefits-intro,.resource-section,.research-sources{padding:100px 8%;scroll-margin-top:74px}
.benefits-teaser{background:#091711;border-top:1px solid #d8c9a72b}
.benefits-heading{max-width:960px}
.benefits-heading h2,.resource-heading h2,.research-sources h2{font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:1.08;letter-spacing:-.045em}
.benefits-heading .eyebrow,.resource-heading .eyebrow,.research-sources>.eyebrow{margin-bottom:24px;font-size:.875rem}
.benefits-heading>p:last-child:not(.eyebrow){margin-top:25px;max-width:570px;font-size:1.125rem;color:#c7d2c5}
.benefits-teaser h2 .serif{color:#c9dda7}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:60px}
.benefit-grid article{border-top:1px solid #d8c9a74d;padding-top:25px}
.benefit-index{display:block;font-size:.875rem;letter-spacing:.075em;color:#c3d2b8;margin-bottom:23px}
.benefit-grid h3{font-size:clamp(1.6rem,2.45vw,2.65rem);line-height:1.18}
.benefit-grid p{font-size:1rem;line-height:1.7;color:#c7d2c5;margin-top:18px;max-width:34ch}
.benefits-teaser-end{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:54px}
.benefits-teaser-end>p{font-size:.9375rem;color:#b6c9b9;max-width:370px}
.benefits-teaser-end .button{font-size:1rem}
.benefits-intro{background:#f0efe9;color:#142019;padding-bottom:72px}
.benefits-intro .eyebrow,.energy-section .eyebrow,.research-sources>.eyebrow{color:#465a3b}
.benefits-intro .benefit-index{color:#526348}
.benefits-intro .benefit-grid p{color:#465443}
.benefits-intro .benefit-grid article{border-color:#14201933}
.care-note{margin-top:42px;font-size:.9375rem;color:#4c5b47;max-width:850px}
.benefit-jumps{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.benefit-jumps a{font-size:1rem;padding:10px 19px;border:1px solid #14201944;border-radius:99px;display:inline-flex;gap:23px}
.benefit-jumps a:hover{background:#142019;color:#f0efe9}
.resource-section{background:#071510;color:#f4f5ed;border-top:1px solid #c3d2b829}
.resource-heading{max-width:990px}
.resource-heading>p:last-child:not(.eyebrow){font-size:1.125rem;color:#c5d0c0;line-height:1.7;max-width:690px;margin-top:27px}
.water-section .serif{color:#a0e2df}
.research-context{margin-top:28px;border-left:2px solid #b3cdc1;padding:0 0 0 18px;max-width:860px;font-size:.9375rem;line-height:1.65;color:#c8d8cc}
.resource-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px;padding:44px;margin-top:48px;border:1px solid #b6d3c333;border-radius:24px;background:#0d2018}
.resource-controls{min-width:0}
.control-heading,.energy-options legend{font-size:.9375rem;line-height:1.5;color:inherit;letter-spacing:.025em;margin-bottom:14px}
.choice-group{display:flex;flex-wrap:wrap;gap:8px}
.choice-group button{border:1px solid #d0dfcb57;border-radius:99px;background:transparent;color:#e8eee4;padding:10px 22px;min-height:44px;font-size:1rem;transition:background .25s,color .25s}
.choice-group button[aria-pressed=true]{background:#e9f1df;border-color:#e9f1df;color:#15271c}
.water-saving,.space-factor{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:38px 0 36px}
.water-saving>strong,.space-factor>strong{font-size:clamp(3.7rem,5.5vw,6.4rem);font-weight:400;line-height:1;letter-spacing:-.07em;font-variant-numeric:tabular-nums;color:#a0e2df}
.water-saving>span,.space-factor>span{font-size:1rem;line-height:1.5;max-width:220px;color:#d4dfcf}
.range-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:28px 0 12px;font-size:1rem;line-height:1.5}
.range-heading output{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.benefit-range{display:block;width:100%;height:32px;margin:0;cursor:pointer;accent-color:#a8d8b2;background:transparent;touch-action:pan-y}
.benefit-range:focus-visible,.tariff-field input:focus-visible{outline:2px solid #a8d8b2;outline-offset:5px;border-radius:8px}
.range-limits{display:flex;justify-content:space-between;font-size:.875rem;color:#bac8b8;margin-top:2px}
.water-result{font-size:1.125rem;margin-top:26px;line-height:1.65}
.water-result strong{font-size:1.5rem;font-weight:400;color:#a0e2df;white-space:nowrap}
.water-figure,.space-figure{min-width:0;align-self:center}
.water-figure figcaption,.space-figure figcaption{font-size:1rem;line-height:1.6;color:#e0eadd}
.water-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px}
.water-column{text-align:left;min-width:0}
.water-vessel{position:relative;height:265px;border:1px solid #b9d8d555;border-radius:12px;overflow:hidden;background:#09120f}
.water-fill{position:absolute;bottom:0;left:0;right:0;height:var(--fill);background:linear-gradient(160deg,#7b948b,#425b52);transition:height 1.1s var(--ease);border-top:1px solid #f0f5e773}
.hydro-vessel .water-fill{background:linear-gradient(160deg,#b9f5e8,#389f9b);box-shadow:0 -5px 28px #87e9dc1c}
.vessel-scale{position:absolute;inset:0;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#dcefe514 calc(25% - 1px),#dcefe514 25%);pointer-events:none}
.water-column>strong{display:block;font-size:clamp(1.65rem,2.8vw,2.65rem);font-weight:400;letter-spacing:-.035em;line-height:1.2;margin-top:17px;font-variant-numeric:tabular-nums}
.water-column>span{display:block;color:#c5d6c9;font-size:1rem;margin-top:5px}
.chart-footnote{font-size:.875rem;line-height:1.7;color:#c0cec0;margin-top:24px}
.chart-footnote a,.method-note a{display:inline;text-decoration:underline;text-underline-offset:4px}
.method-note{border-top:1px solid #c5d6c933;margin-top:32px;font-size:.9375rem;line-height:1.75}
.method-note summary{cursor:pointer;font-size:1rem;padding:22px 0;color:inherit;list-style-position:inside}
.method-note p{color:#c4d1c1;max-width:960px;margin:0 0 18px}
.space-section{background:#0e1b13}
.space-section .serif,.space-factor>strong{color:#d2e3a4}
.space-card{background:#14251a}
.yield-comparison{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.yield-comparison>div{display:flex;flex-direction:column}
.yield-comparison span{font-size:.9375rem;color:#c7d3bf}
.yield-comparison strong{font-size:3rem;line-height:1.2;font-weight:400;font-variant-numeric:tabular-nums}
.yield-comparison>p{grid-column:1/-1;font-size:.9375rem;color:#c7d3bf;margin-top:8px}
.space-factor{margin-bottom:25px}
.area-diagram{padding:24px 0 0}
.area-soil{position:relative;width:min(100%,340px);aspect-ratio:1;background:repeating-linear-gradient(0deg,transparent 0,transparent calc(10% - 1px),#273b2c26 calc(10% - 1px),#273b2c26 10%),repeating-linear-gradient(90deg,#c3ccb5 0,#c3ccb5 calc(10% - 1px),#9bab94 calc(10% - 1px),#9bab94 10%);border-radius:10px;overflow:hidden;box-shadow:0 16px 40px #0002}
.area-hydro{position:absolute;left:0;bottom:0;width:var(--side);height:var(--side);background:#3b814c;border:1px solid #e1f3ad;box-shadow:8px -8px 24px #17281440;transition:width 1s var(--ease),height 1s var(--ease)}
.area-key{display:flex;flex-direction:column;gap:12px;margin-top:22px;font-size:1rem}
.area-key>span{display:flex;align-items:center;gap:10px}
.area-key strong{margin-left:auto;font-weight:400;font-variant-numeric:tabular-nums}
.area-key i{width:12px;height:12px;border-radius:3px;flex:none}
.soil-key{background:#c3ccb5}.hydro-key{background:#5ea96a;border:1px solid #d3ecb8}
.area-result{margin-top:22px;font-size:1rem;line-height:1.65}
.area-result strong{color:#d2e3a4;font-size:1.25rem}
.energy-section{background:#eef0e4;color:#142019}
.energy-section .resource-heading>p:last-child:not(.eyebrow){color:#485740}
.energy-card{background:#f8faf0;border-color:#14201924;gap:65px}
.energy-options{border:0;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:10px}
.energy-options legend{padding:0;margin-bottom:15px}
.energy-options label{display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid #526a434d;border-radius:12px;cursor:pointer;color:#25391d;font-size:1rem}
.energy-options input{accent-color:#28563d;width:18px;height:18px;flex:none}
.energy-options label:has(input:checked){background:#e1eacb;border-color:#54743d}
.energy-options input:focus-visible{outline:2px solid #28563d;outline-offset:5px}
.energy-section .range-limits{color:#55654b}
.input-note{font-size:.875rem;line-height:1.6;color:#526048;margin-top:10px;max-width:400px}
.tariff-label{display:block;font-size:1rem;margin:25px 0 12px}
.tariff-field{display:flex;align-items:center;gap:12px}
.tariff-field input{width:130px;max-width:100%;padding:12px;border:1px solid #819074;background:#fff;color:#142019;border-radius:9px;font-size:1.3rem;color-scheme:light}
.tariff-field input[aria-invalid=true]{border-color:#9b392d}
.tariff-field span{font-size:1rem}
.pump-note{margin-top:30px;font-size:.9375rem;line-height:1.75;color:#45583b}
.pump-note strong{font-size:1rem;color:#142019;font-weight:500}
.energy-result{align-self:center;min-width:0}
.energy-result>.control-heading{color:#4d6240;letter-spacing:.06em;font-size:.875rem}
.energy-amount{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;line-height:1.12}
.energy-amount strong{font-size:clamp(3.5rem,5.5vw,6rem);letter-spacing:-.06em;font-weight:400;font-variant-numeric:tabular-nums}
.energy-amount>span{font-size:1.125rem;color:#526347}
#energy-mode{font-size:.9375rem;margin-top:15px;color:#45583b;line-height:1.6}
.energy-split{margin-top:28px;border-top:1px solid #14201933;border-bottom:1px solid #14201933;padding:20px 0;font-size:1rem}
.energy-split>div{display:flex;justify-content:space-between;gap:15px;margin:8px 0}
.energy-split strong{font-weight:500;font-variant-numeric:tabular-nums}
.energy-detail{display:flex;flex-direction:column;gap:12px;margin-top:24px;font-size:.9375rem}
.energy-detail>span{display:flex;justify-content:space-between;gap:16px}
.energy-detail strong{font-weight:500}
.energy-section .method-note{border-color:#14201933}
.energy-section .method-note p{color:#43513c}
.research-sources{background:#e6ebdd;color:#142019;padding-top:75px;padding-bottom:75px}
.research-sources h2{font-size:clamp(2.5rem,4vw,4.4rem)}
.research-sources ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:0;list-style:none;margin:40px 0}
.research-sources li{border-top:1px solid #14201933;padding-top:22px;scroll-margin-top:110px}
.research-sources li strong{font-weight:500;font-size:1rem}
.research-sources li p{font-size:.9375rem;line-height:1.7;color:#47553c;margin:12px 0}
.research-sources li a{display:inline-block;font-size:1rem;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.sources-closing{max-width:690px;font-size:1rem;line-height:1.7;margin-bottom:25px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reduce-motion .water-fill,.reduce-motion .area-hydro{transition:none}
@media(prefers-reduced-motion:reduce){.water-fill,.area-hydro{transition:none}}
@media(max-width:1100px){.resource-card{padding:32px;gap:32px}.benefits-teaser,.benefits-intro,.resource-section,.research-sources{padding-left:6%;padding-right:6%}.benefit-grid{gap:28px}.water-saving>strong,.space-factor>strong{font-size:4.3rem}.energy-amount strong{font-size:4rem}}
@media(max-width:760px){.benefits-teaser,.benefits-intro,.resource-section,.research-sources{padding:65px 7%}.benefits-heading h2,.resource-heading h2{font-size:clamp(2.5rem,8.8vw,4.1rem)}.benefit-grid{grid-template-columns:1fr;gap:30px;margin-top:38px}.benefit-grid article{padding-top:20px}.benefit-index{margin-bottom:15px}.benefit-grid h3{font-size:2rem}.benefit-grid p{max-width:unset;margin-top:12px}.benefits-teaser-end{display:block;margin-top:35px}.benefits-teaser-end .button{margin-top:25px}.resource-card{grid-template-columns:1fr;padding:25px;gap:35px;border-radius:17px;margin-top:32px}.resource-heading>p:last-child:not(.eyebrow){font-size:1rem}.water-saving,.space-factor{margin:29px 0}.water-saving>strong,.space-factor>strong{font-size:4rem}.water-figure,.space-figure{border-top:1px solid #c5d6c933;padding-top:27px}.water-vessel{height:210px}.water-columns{gap:22px}.water-column>strong{font-size:2rem}.area-soil{max-width:330px}.research-sources ol{grid-template-columns:1fr;gap:25px}.research-context{font-size:.875rem}.energy-result{border-top:1px solid #14201933;padding-top:32px}.energy-amount strong{font-size:4rem}}
@media(max-width:370px){.resource-card{padding:19px}.benefits-heading .eyebrow,.resource-heading .eyebrow{letter-spacing:.08em}.water-columns{gap:16px}.water-column>strong{font-size:1.7rem}.water-saving>strong,.space-factor>strong{font-size:3.5rem}.range-heading{flex-wrap:wrap;gap:5px}.energy-amount strong{font-size:3.4rem}.energy-options label{width:100%}.yield-comparison strong{font-size:2.6rem}.benefits-teaser-end .button,.research-sources .button{gap:16px}}

/* Refined benefit cues and honest, tactile water comparisons. */
.home-benefit-chips{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 6px;max-width:430px}
.home-benefit-chips a{display:inline-flex;align-items:center;gap:9px;border:1px solid #c4dcad40;background:linear-gradient(125deg,#e1efd912,#e1efd904);box-shadow:0 5px 18px #00000014;border-radius:99px;padding:9px 14px;font-size:.875rem;line-height:1.4;color:#e4efda;transition:background .3s,border-color .3s}
.home-benefit-chips.is-visible a{animation:benefit-arrive .9s var(--ease) both}
.home-benefit-chips a:nth-child(2){animation-delay:.16s}.home-benefit-chips a:nth-child(3){animation-delay:.32s}
.home-benefit-chips a:hover{background:#cfe3ab20;border-color:#c4dcad80}
.home-benefit-chips a span{font-size:1.1rem;color:#c9dda7;line-height:1}
@keyframes benefit-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.home-page .stage-images{min-height:720px}
.benefit-source{display:inline-block;font-size:.8125rem;line-height:1.6;color:#b7cdb8;text-decoration:underline;text-underline-offset:4px;margin-top:13px;max-width:34ch}
.benefit-grid p strong{font-weight:500;color:#e0edd6}
.water-equivalent{display:flex;gap:20px;align-items:center;padding:22px 0 16px;color:#a0e2df}
.equivalent-icon{width:64px;height:58px;flex:none}
.water-equivalent>div{display:flex;flex-direction:column;gap:7px}
.water-equivalent strong{font-size:clamp(2.3rem,3.3vw,3.7rem);letter-spacing:-.045em;line-height:1.1;font-weight:400;font-variant-numeric:tabular-nums}
.water-equivalent span{font-size:.9375rem;line-height:1.5;color:#d8e8dc}
.equivalent-options{display:flex;gap:9px;flex-wrap:wrap}
.equivalent-options button{min-height:42px;padding:8px 13px;border-radius:99px;border:1px solid #c3d8ce40;background:transparent;font-size:.875rem;color:#d8e8dc}
.equivalent-options button[aria-pressed=true]{background:#bddfd51c;border-color:#bddfd580;color:#c6f3e5}
.equivalent-note{font-size:.8125rem;color:#b9cdbf;margin-top:14px;line-height:1.65;max-width:44ch}
.chart-scale{font-size:.8125rem;color:#b4d0c5;margin-top:9px}
.water-fill:after{content:'';position:absolute;top:-6px;left:-50%;width:200%;height:12px;border-radius:50%;background:#b1e4d57a;animation:water-shimmer 4s ease-in-out infinite alternate}
.water-fill{transition:height .75s cubic-bezier(.2,.65,.25,1);min-height:0}
@keyframes water-shimmer{from{transform:translateX(-8%) scaleY(.45)}to{transform:translateX(8%) scaleY(.8)}}
.water-figure{align-self:start;position:sticky;top:110px}.water-vessel{height:320px}
.glass-icon{display:none}.is-glass .equivalent-icon{display:none}.is-glass .glass-icon{display:block}
.light-benefits{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.light-benefits span{padding:11px 17px;border:1px solid #14201933;border-radius:99px;color:#37532e;font-size:.9375rem}
.energy-calculator{border-top:1px solid #14201933;margin-top:38px}
.energy-calculator>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:clamp(1.1rem,2vw,1.5rem);cursor:pointer;list-style:none;color:#1a351e}
.energy-calculator>summary::-webkit-details-marker{display:none}.energy-calculator>summary span{font-size:1.7rem;font-weight:300;transition:transform .2s}.energy-calculator[open]>summary span{transform:rotate(45deg)}
.calculator-intro{font-size:1rem;color:#43583b;max-width:680px;line-height:1.7}
.energy-calculator .resource-card{margin-top:28px}
.energy-detail>span:first-child{font-size:1.1rem;color:#1a351e}.energy-detail>span:first-child strong{font-weight:600}
.reduce-motion .home-benefit-chips a,.reduce-motion .water-fill:after{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.home-benefit-chips a,.water-fill:after{animation:none!important;transform:none!important}}
@media(max-width:1050px){.home-page .stage-images{min-height:770px}.home-benefit-chips a{font-size:.8125rem;padding:8px 12px}}
@media(max-width:760px){.water-figure{position:static}.water-vessel{height:235px}.water-equivalent strong{font-size:2.5rem}.home-benefit-chips{margin-top:20px}.home-benefit-chips a{font-size:.875rem}.light-benefits span{font-size:.875rem}}
@media(max-width:700px){.home-page .stage-images{min-height:0}}

@media(max-width:760px){
 .water-card{display:flex;flex-direction:column;gap:0}.water-card .resource-controls{display:contents}
 .water-card .control-heading{order:0}.water-card .choice-group{order:1}.water-card .water-saving{order:2;margin:27px 0 8px}
 .water-card .range-heading{order:3;margin-top:18px}.water-card .benefit-range{order:4}.water-card .range-limits{order:5}
 .water-card .water-figure{order:6;width:100%;padding-top:22px;margin-top:20px}.water-card .water-vessel{height:155px}
 .water-card .water-result{order:7}.water-card .water-equivalent{order:8}.water-card .equivalent-options{order:9}.water-card .equivalent-note{order:10}
 .water-card .water-columns{margin-top:14px}.water-card .chart-footnote{margin-top:18px}
}

.water-card .choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.water-card .choice-group button{padding:10px 12px}
@media(max-width:760px){.water-card .choice-group{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.water-card .choice-group button{font-size:.9375rem;padding:10px 7px}}

/* A true area comparison: both footprints respond to the harvest control. */
.space-figure{align-self:start;position:sticky;top:105px}
.space-instruction{font-size:.875rem;color:#cbdcb8;line-height:1.6;margin-top:12px}
.area-diagram{position:relative;padding:0;margin-top:22px;width:100%;aspect-ratio:1;border:1px solid #a9bd7e42;border-radius:9px;background-color:#0c1b11;background-image:linear-gradient(to right,#bdd39c16 1px,transparent 1px),linear-gradient(to top,#bdd39c16 1px,transparent 1px);background-size:var(--grid-unit) var(--grid-unit);background-position:left bottom;box-shadow:inset 0 0 80px #00000025}
.area-soil,.area-hydro{position:absolute;left:0;bottom:0;max-width:none;aspect-ratio:auto;border-radius:4px;transition:width .7s cubic-bezier(.2,.65,.25,1),height .7s cubic-bezier(.2,.65,.25,1);will-change:width,height}
.area-soil{width:var(--soil-side);height:var(--soil-side);background:repeating-linear-gradient(135deg,#bdc8ad 0,#bdc8ad 7px,#a9b99b 7px,#a9b99b 8px);border:1px solid #e0e8cb;box-shadow:8px -8px 35px #0002;overflow:hidden}
.area-hydro{width:var(--hydro-side);height:var(--hydro-side);background:radial-gradient(ellipse at 35% 25%,#b1d87370,transparent 70%),#397244;border:1px solid #e0f6b2;box-shadow:5px -5px 22px #0c261b5c,inset 0 0 20px #c2ef6e24}
.area-origin{position:absolute;left:8px;bottom:5px;color:#f2f7e8;font-size:.6875rem;line-height:1;text-shadow:0 1px 4px #0009}
.area-grid-note{position:absolute;top:13px;right:13px;color:#cadab6;font-size:.6875rem;letter-spacing:.1em;background:#0c1b11d9;border-radius:4px;padding:5px 7px}
.area-key{padding:0 0 21px;border-bottom:1px solid #b4c59333;gap:13px}.area-key strong{font-size:1.2rem}
.area-result{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px}.area-result p{display:flex;flex-direction:column;gap:5px}.area-result strong{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.1;font-weight:400;letter-spacing:-.04em}.area-result strong small{font-size:.55em;letter-spacing:0}.area-result p>span{font-size:.9375rem;color:#d5e0c7}.area-percent-badge{flex:none;font-size:1.2rem;border:1px solid #cde69d55;border-radius:99px;background:#cde69d10;color:#d9eeb6;padding:9px 12px;font-variant-numeric:tabular-nums}.area-result-note{font-size:.8125rem;color:#c3d0b6;line-height:1.6;margin-top:13px}
.reduce-motion .area-soil,.reduce-motion .area-hydro{transition:none}
@media(prefers-reduced-motion:reduce){.area-soil,.area-hydro{transition:none}}
@media(max-width:760px){.space-card{gap:25px}.space-figure{position:static;border-top:0;padding-top:0}.area-diagram{max-width:360px;margin-left:auto;margin-right:auto}.space-factor{margin:24px 0}.space-card .range-heading{margin-top:25px}.space-card .yield-comparison strong{font-size:2.5rem}.area-result strong{font-size:2.5rem}.area-percent-badge{font-size:1.1rem;padding:8px 11px}}
@media(max-width:370px){.area-result strong{font-size:2rem}.area-percent-badge{font-size:1rem;padding:7px 9px}.area-key{font-size:.9375rem}.area-key strong{font-size:1.05rem}.area-result p>span{font-size:.8125rem}.area-grid-note{font-size:.625rem;right:7px;top:7px}}

.area-diagram:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background-image:linear-gradient(to right,#f4f6df24 1px,transparent 1px),linear-gradient(to top,#f4f6df24 1px,transparent 1px);background-size:var(--grid-unit) var(--grid-unit);background-position:left bottom}.area-origin,.area-grid-note{z-index:1}


/* Compact footprint comparison; plot scale remains a fixed 3 x 3 metres. */
.tower-equivalence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:20px 48px;max-width:1100px;margin:28px auto 0;padding:28px 32px;border:1px solid #c9deac44;border-radius:22px;background:linear-gradient(125deg,#263b23,#14281a)}
.tower-equivalence-copy{min-width:0;align-self:center}
.tower-equivalence .eyebrow{font-size:.6875rem;color:#d4e7bc;margin-bottom:13px}
.tower-equivalence h3{font-size:clamp(2rem,2.5vw,2.5rem);line-height:1.12}
.tower-equivalence-copy>p:not(.eyebrow){font-size:.9375rem;color:#d1dfc6;line-height:1.6;margin-top:14px;max-width:45ch}
.tower-equivalence-copy>p.control-heading{margin-top:20px;margin-bottom:9px;font-size:.8125rem}
.tower-equivalence .choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:490px}
.tower-equivalence .choice-group button{min-height:40px;padding:8px 5px;font-size:.875rem}
.footprint-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;padding-top:14px;border-top:1px solid #c8dcb12b}
.tower-base-result,.bed-equivalent-result{display:flex;flex-direction:column;gap:8px;min-width:0}
.tower-base-result>span:first-child,.bed-equivalent-result>span{font-size:.875rem;line-height:1.45;min-height:2.9em;color:#e1ebd5}
.tower-base-result strong,.bed-equivalent-result strong{font-size:clamp(2.2rem,3.3vw,3.3rem);letter-spacing:-.05em;font-weight:400;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}
.tower-base-result strong{color:#f0e6c4}.bed-equivalent-result strong{color:#ddefb6}
.tower-base-result small,.bed-equivalent-result small{font-size:.43em;letter-spacing:0}
.tower-base-result .tower-diameter{font-size:.75rem;line-height:1.5;color:#ddd2ac}
.tower-equivalence-copy>p.bed-assumption{font-size:.75rem;margin-top:12px;max-width:51ch}
.tower-equivalence-visual{min-width:0;align-self:center}
.bed-plan-stage{position:relative;width:100%;max-width:320px;aspect-ratio:1;margin:0 auto;border:1px solid #c6d9b037;background-color:#112217;background-image:linear-gradient(to right,#d4e7bc13 1px,transparent 1px),linear-gradient(to top,#d4e7bc13 1px,transparent 1px);background-size:33.333333% 33.333333%;background-position:left bottom;border-radius:4px}
.bed-plan{position:absolute;left:0;bottom:0;box-sizing:border-box;height:var(--bed-size);width:var(--bed-size);display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr);border:1px solid #bed89360;border-radius:5px;background:#a9b58519;box-shadow:0 12px 28px #0002;transition:width .7s cubic-bezier(.2,.65,.25,1),height .7s cubic-bezier(.2,.65,.25,1)}
.bed-plant{display:grid;place-items:center;position:relative;min-width:0}.bed-plant:before,.bed-plant:after{content:"";position:absolute;width:34%;aspect-ratio:1;border:1px solid #c8e2ac99;background:linear-gradient(135deg,#a2c371,#5f8c4b);border-radius:70% 15% 70% 15%;transform:translate(-14%,-7%) rotate(-22deg);box-shadow:0 3px 6px #0002}.bed-plant:after{transform:translate(19%,15%) rotate(62deg);width:28%;background:#719f52}
/* A 45 cm circle occupies 15% of the diagram's 3 m side. */
.tower-footprint{position:absolute;left:0;bottom:0;width:15%;height:15%;box-sizing:border-box;border:2px solid #f0dfaa;border-radius:50%;background:radial-gradient(circle at 38% 30%,#f8edcc,#bca873);box-shadow:0 0 22px #ebd49230;z-index:1}
.tower-footprint-line{position:absolute;left:0;right:0;top:50%;height:1px;background:#554b30}
.tower-footprint-label{position:absolute;left:0;bottom:calc(15% + 7px);z-index:1;font-size:.6875rem;line-height:1.3;color:#f3e5bd;background:#112217eb;border:1px solid #d8c69d55;border-radius:4px;padding:3px 5px;white-space:nowrap}
.bed-view-label{position:absolute;right:8px;top:8px;font-size:.625rem;letter-spacing:.08em;color:#d3e1c5;background:#112217e8;padding:4px 5px}
.footprint-key{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 15px;margin-top:12px;font-size:.8125rem;line-height:1.5;color:#e1ebd5}.footprint-key>span{display:flex;align-items:center;gap:6px}.footprint-key i{display:block;width:10px;height:10px;flex:none}.tower-key{border-radius:50%;background:#ecdaad}.garden-key{border:1px solid #bed893;background:#658357}.footprint-key strong{font-weight:400}
.bed-dimensions,.bed-plan-caption{font-size:.75rem;color:#c6d7b6;line-height:1.5;text-align:center}
.bed-dimensions{margin-top:10px}.bed-plan-caption{margin-top:5px}
.bed-method{grid-column:1/-1;border-top:1px solid #c8dcb12b;padding-top:15px;font-size:.8125rem;color:#c5d7b7;line-height:1.6}
.bed-method a{text-decoration:underline;text-underline-offset:3px}.bed-method>p{max-width:none}
.footprint-clearance{margin-bottom:5px;color:#e1ebd5}.footprint-clearance strong{font-weight:500;color:#f0e6c4}
.bed-source{margin-top:5px}.bed-source summary{cursor:pointer;padding:7px 0;color:#e0eccf;font-size:.8125rem}.bed-source p{margin:10px 0}.bed-source>a{display:inline-block;padding:6px 0;color:#e0eccf}
.research-space-heading{margin:44px 0 24px}.research-space-heading .eyebrow{font-size:.6875rem;line-height:1.6;color:#c5d7b7}.research-space-heading h3{font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.15;margin-top:16px}
.reduce-motion .bed-plan{transition:none}@media(prefers-reduced-motion:reduce){.bed-plan{transition:none}}
@media(min-width:1100px){.tower-equivalence .choice-group{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1000px){.tower-equivalence{grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:18px 28px;padding:24px}.tower-equivalence h3{font-size:2rem}.footprint-metrics{gap:12px}.tower-base-result strong,.bed-equivalent-result strong{font-size:2.3rem}}
@media(max-width:760px){.tower-equivalence{grid-template-columns:1fr;gap:22px;padding:24px;border-radius:17px;max-width:520px;margin-top:24px}.tower-equivalence h3{font-size:2rem}.tower-equivalence-copy>p:not(.eyebrow){max-width:none}.tower-equivalence .choice-group{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.tower-equivalence .choice-group button{min-height:44px}.tower-base-result strong,.bed-equivalent-result strong{font-size:2.8rem}.tower-base-result>span:first-child,.bed-equivalent-result>span{min-height:2.9em}.footprint-metrics{margin-top:18px;padding-top:16px;gap:16px}.bed-method{padding-top:14px}}
@media(max-width:370px){.tower-equivalence{padding:18px}.tower-equivalence .choice-group{grid-template-columns:repeat(2,minmax(0,1fr))}.tower-base-result strong,.bed-equivalent-result strong{font-size:2.1rem}.tower-base-result>span:first-child,.bed-equivalent-result>span{font-size:.8125rem;min-height:4.35em}.footprint-metrics{gap:12px}.footprint-key{font-size:.75rem;gap:5px 10px}}
