/* Senlan: forest, court lines, and movement. */
:root{--electric:#d4ff45;--forest:#0a2118;--ink:#10231a;--muted:#5c6961;--accent:#34563c}
body{background:#f8faf7}::selection{background:var(--electric);color:var(--forest)}
.header{position:fixed;inset:0 0 auto;height:88px;background:transparent;color:#fff;border-color:#ffffff26;padding-inline:4.2%;transition:background .3s,backdrop-filter .3s}
.header.is-scrolled{background:#081c15f2;backdrop-filter:blur(16px)}
.brand-name{font-size:23px;letter-spacing:.09em}.brand-en{font-size:12px;letter-spacing:.16em;color:#d3e0d8}
.header nav{gap:24px}.header nav a:after{background:var(--electric)}.header nav a.active{color:var(--electric)}
.share-button{color:#fff;border:1px solid #ffffff60;padding:9px 15px;border-radius:30px;transition:background .2s,color .2s}
.share-button:hover{background:var(--electric);border-color:var(--electric);color:var(--forest)}
.hero{position:relative;isolation:isolate;min-height:max(780px,100svh);padding:0 4.2%;background:var(--forest);color:white;overflow:hidden}
.hero-visual{position:absolute;inset:0;z-index:auto;margin:0}
.hero-visual .image-trigger{height:100%;cursor:zoom-in;background:var(--forest);z-index:0}
.hero-visual img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;object-position:65% center;transform:scale(1.045);filter:saturate(.8);will-change:transform}
.hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#071c16ed 0%,#071c16b8 32%,#071c161c 70%),linear-gradient(0deg,#071c16eb 0%,transparent 38%,#071c1652 100%)}
.hero-topline{position:absolute;top:119px;left:4.2%;right:4.2%;font-size:13px;color:#d5e3da;letter-spacing:.05em;pointer-events:none}
.hero-heading{display:block;padding:194px 0 195px;pointer-events:none;position:relative}
.hero-kicker{font-size:14px;letter-spacing:.24em;color:var(--electric);margin-bottom:18px}
.hero h1{font-size:clamp(100px,10.3vw,162px);font-weight:650;line-height:1.06;letter-spacing:-.065em;max-width:700px}
.hero h1>span{display:block;position:relative;width:fit-content}
.hero h1>span:nth-child(2){padding-left:.62em}
.hero-ball{position:absolute;width:.45em;height:.45em;left:.02em;top:.31em;color:var(--electric);transform:rotate(-18deg)}
.hero-subtitle{font-size:clamp(22px,2.1vw,34px);margin:22px 0 0;letter-spacing:.07em;font-weight:400}
.hero-intro{justify-self:auto;margin-top:28px;max-width:370px;padding:0}
.hero-intro p{font-size:16px;line-height:1.85;color:#d6e3db}
.hero-court{position:absolute;right:8.4%;top:28%;height:45%;width:auto;z-index:2;stroke:#d4ff456b;stroke-width:1;pointer-events:none;transform:rotate(14deg)}
.hero-court path:first-child{stroke-dasharray:1700;stroke-dashoffset:1700;animation:court-draw 2.4s .35s ease forwards}
.hero-explore{position:absolute;left:4.2%;bottom:113px;display:flex;align-items:center;gap:26px;font-size:16px;color:white}
.explore-orbit{display:grid;place-items:center;width:55px;height:55px;border:1px solid #ffffff7a;border-radius:50%;transition:background .3s,transform .3s,color .3s}
.explore-orbit svg{width:22px;stroke:currentColor;stroke-width:1.4;fill:none}
.hero-explore:hover .explore-orbit{background:var(--electric);border-color:var(--electric);color:var(--forest);transform:translateY(4px)}
.hero-view{position:absolute;right:4.4%;top:52%;display:flex;gap:15px;align-items:center;font-size:13px;color:white;opacity:0;transition:opacity .3s}
.hero-view>span{display:grid;place-items:center;font-size:24px;width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;background:#071c1680;backdrop-filter:blur(8px)}
.hero-visual .image-trigger:hover .hero-view,.hero-visual .image-trigger:focus-visible .hero-view{opacity:1}
.hero-visual figcaption{position:absolute;bottom:28px;right:4.2%;padding:0;color:#d7e2da;font-size:12px;line-height:1.9;text-align:right;pointer-events:none}
.hero-footline{position:absolute;bottom:28px;left:4.2%;padding:12px 0 0;margin:0;border:0;border-top:1px solid #ffffff40;gap:24px;color:#d7e2da;font-size:12px;pointer-events:none}
.hero-title-block{animation:hero-enter .9s cubic-bezier(.2,.7,.2,1) both}.hero-intro{animation:hero-enter 1s .15s cubic-bezier(.2,.7,.2,1) both}
.hero-heading,.hero-topline,.hero-explore,.hero-footline,.hero-visual figcaption{z-index:3}
@keyframes hero-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes court-draw{to{stroke-dashoffset:0}}
@media(min-width:1700px){.hero-heading{padding-top:215px}}
@media(max-width:1100px){.header{gap:20px}.header nav{gap:17px;font-size:13px}.share-button{font-size:13px}.hero h1{font-size:125px}}
@media(max-width:760px){
 .header{height:99px;padding:12px 6% 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:40px 35px;gap:3px 15px;background:#081c1540}
 .brand-name{font-size:20px}.brand-en{font-size:10px;margin-top:2px}.share-button{grid-column:2;grid-row:1;font-size:12px;padding:6px 12px}
 .header nav{grid-column:1/-1;grid-row:2;gap:24px;overflow-x:auto;scrollbar-width:none;padding:0 0 4px;justify-content:start;width:100%;font-size:13px}.header nav::-webkit-scrollbar{display:none}
 .hero{min-height:max(780px,100svh);padding-inline:6%}.hero-topline{top:125px;left:6%;right:6%;font-size:12px}
 .hero-heading{padding:185px 0 250px}.hero h1{font-size:clamp(90px,25vw,130px);line-height:1.1}.hero-kicker{font-size:12px;letter-spacing:.2em}
 .hero-subtitle{font-size:24px;margin-top:22px}.hero-intro{margin-top:24px}.hero-intro p{font-size:15px}.hero-intro p br{display:block}
 .hero-visual img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#071c16cf,#071c164d),linear-gradient(0deg,#071c16 0%,#071c1633 55%,#071c165c 100%)}
 .hero-court{top:33%;right:-25px;opacity:.6;height:37%}.hero-explore{left:6%;bottom:135px;gap:20px;font-size:15px}.explore-orbit{height:48px;width:48px}
 .hero-footline{left:6%;right:6%;bottom:90px;padding-top:13px;font-size:12px;gap:14px}.hero-visual figcaption{left:6%;right:auto;bottom:26px;text-align:left;font-size:12px;line-height:1.7}
 .hero-view{right:6%;top:56%;opacity:1;font-size:12px}.hero-view>span{width:38px;height:38px}.hero-view{font-size:0}
}
@media(prefers-reduced-motion:reduce){.hero-visual img{will-change:auto;transform:none}.hero-court path:first-child{stroke-dashoffset:0}}

.reading-progress{position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:var(--electric);transform:scaleX(0);transform-origin:left;pointer-events:none}
.section{padding:124px 6%}.section-heading{margin-bottom:58px;gap:60px}.section-heading h2{font-size:clamp(38px,4.6vw,72px);font-weight:600;letter-spacing:-.045em;line-height:1.2;margin-top:23px}
.eyebrow{font-size:13px;letter-spacing:.07em}.section-heading .eyebrow:before{content:"";display:inline-block;width:25px;height:2px;background:#6e8a42;vertical-align:middle;margin-right:12px}
.section-heading>p{font-size:16px;line-height:1.95;max-width:470px}
.text-link{position:relative;transition:color .2s,border-color .2s}.text-link:hover{color:#40601e}
.project-brief{gap:70px}.project-caption{position:sticky;top:130px;align-self:start}.project-caption h3{font-size:34px;line-height:1.35;font-weight:600}.partner h3{font-size:26px;font-weight:550}
.proposal-facts{gap:30px;padding:7px 0 10px}.proposal-facts strong{font-size:clamp(34px,4.1vw,59px);font-weight:600;line-height:1.35}.proposal-facts>div{border-left:2px solid #c5d5b6;padding-left:20px}
.forecast-years{align-items:end;gap:22px}.forecast-years>div{display:flex;flex-direction:column;align-items:start;position:relative;border-top:0;border-bottom:1px solid var(--line);padding:10px 0 0}
.forecast-years strong{font-size:35px;font-weight:550;margin-bottom:18px}.forecast-years>div:after{content:"";display:block;height:var(--forecast,60px);width:100%;background:#dbe9ca;border-top:2px solid #8ca655;transition:background .3s}.forecast-years>div:hover:after{background:#d4ff45}
.site-section{position:relative;isolation:isolate;background:#10271d;color:white;overflow:hidden}.site-section .eyebrow,.site-section .section-heading>p,.site-section .gallery p,.site-section .gallery .tag,.site-section .explore-copy p,.site-section .explore-copy small,.site-section .section-note p{color:#c3d4c8}
.site-section .section-heading .eyebrow:before{background:var(--electric)}.site-section .section-note{border-color:#ffffff35}
.site-section:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 100% 20%,#536b281f,transparent 60%);pointer-events:none}
.explore-card{grid-template-columns:1.5fr 1fr;gap:7%;align-items:center}.explore-image{background:#eaf0e3;position:relative;border-radius:3px;overflow:hidden}.explore-image img{aspect-ratio:16/11;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.explore-copy h3{font-size:clamp(30px,3.3vw,48px);font-weight:600;line-height:1.3}.explore-link{border:1px solid #d4ff4570;border-radius:40px;color:var(--electric);padding:11px 24px;transition:background .3s,color .3s}.explore-card:hover .explore-link{background:var(--electric);color:#10271d}
.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:76px 0 25px;border-top:1px solid #ffffff35;padding-top:22px}.gallery-controls>div:first-child{display:flex;gap:25px;align-items:center}.gallery-label{font-size:15px}.gallery-count{font-size:13px;color:#c3d4c8;font-variant-numeric:tabular-nums}.gallery-buttons{display:flex;gap:12px}.gallery-buttons button{border:1px solid #ffffff50;background:none;color:white;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;transition:background .2s,color .2s}.gallery-buttons button:disabled{opacity:.3;cursor:default}.gallery-buttons button:not(:disabled):hover{background:var(--electric);border-color:var(--electric);color:var(--forest)}.gallery-buttons svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3}
.gallery{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d4ff4550 transparent;margin-top:0;padding-bottom:20px}.gallery figure{flex:0 0 57%;scroll-snap-align:start;min-width:0}.gallery figure:nth-child(2){flex-basis:40%}.gallery figure:nth-child(3){flex-basis:54%}.gallery img{aspect-ratio:1.6;max-height:440px}.gallery figure:nth-child(2) img{aspect-ratio:1.1}.gallery .image-trigger{border-radius:2px}.gallery .image-trigger:hover img{transform:scale(1.045)}.gallery h3{font-size:25px;font-weight:550}.gallery figcaption{padding-top:20px}
.climate-section{background:#e9efdf;color:var(--ink);position:relative}.climate-section .eyebrow,.climate-section .section-heading>p,.chart-head span:last-child,.chart-provenance{color:#52634d}
.climate-chart{border-top-color:#a1b596}.rain-bars{height:240px;margin-top:35px;gap:10px}.bar-track{height:203px;border-bottom-color:#a1b596}.bar-fill{background:#aac085;transition:height .65s cubic-bezier(.2,.7,.2,1),background .3s}.rain-bar{color:#4a6247;font-size:13px}.rain-bar.selected{color:#10271d}.rain-bar:hover .bar-fill,.rain-bar.selected .bar-fill{background:#36592c}.month-readout{border-top-color:#a1b596}.month-readout strong{font-size:48px;font-weight:550}.month-readout>div>span{color:#4a6247;font-size:13px}.season-note,.data-source p{color:#50634b}.data-source{border-top-color:#a1b596}.topic-switch{border-bottom-color:#a1b596}.topic-switch button{color:#53664c;font-size:15px}.topic-switch button.active{color:var(--forest)}.topic-switch button.active:after{background:#36592c}.topic-number{color:#4a6247}.climate-insights h3{font-size:36px;font-weight:550}.climate-insights p,.climate-insights ul{color:#43583f}.climate-insights li{border-bottom-color:#bccbb1}.climate-section .text-link{color:#10271d;border-bottom-color:#708869}.climate-section .section-note{border-top-color:#a1b596}.climate-section .section-note p{color:#50634b}
.case-section{background:white}.case-features{grid-template-columns:1.3fr 1fr;gap:5%}.case-feature:nth-child(2){padding-top:115px}.case-feature-image{border-radius:2px;overflow:hidden}.case-feature img{aspect-ratio:1.18}.case-feature:nth-child(2) img{aspect-ratio:.9}.case-feature h3{font-size:clamp(28px,3vw,43px);font-weight:600;line-height:1.25;transition:transform .3s}.case-feature:hover h3{transform:translateX(6px)}.case-feature-meta{margin-top:24px;font-size:13px}.research-actions{border-top:1px solid var(--line);padding-top:28px;margin-top:58px;gap:38px}
.potential-section{background:#f8faf7;border:0}.potential-card .image-trigger{border-radius:2px}.potential-copy h3{font-size:32px;font-weight:600}.potential-status{color:#55703e}.potential-copy{padding-top:30px}.potential-actions .text-link:hover{color:#416820}
.library-section{background:#10271d;color:white}.library-section .eyebrow,.library-section .section-heading>p,.library-section .document-type,.library-section .document-index,.library-section .document-main p,.library-section .download-link,.library-section .library-note,.library-section .pending-label{color:#c1d2c5}.library-section .section-heading .eyebrow:before{background:var(--electric)}.library-section .document-list,.library-section .document-row{border-color:#ffffff35}.document-row{padding:34px 0;transition:padding .3s}.document-main h3{font-size:25px;font-weight:550}.document-actions a:first-child{color:var(--electric)}.library-section .document-row:hover{padding-left:10px}.library-section .document-row.pending:hover{padding-left:0}
.learn-section{background:#f8faf7}.learning-list>a{padding:32px 0;transition:padding .3s}.learning-list>a:hover{padding-left:10px}.learning-list h3{font-size:27px;font-weight:550}
footer{position:relative;overflow:hidden;background:#071d15;padding:80px 6% 30px}.footer-top{grid-template-columns:1.6fr 1fr auto;gap:45px}.footer-brand{font-size:clamp(60px,8.3vw,140px);font-weight:600;line-height:.99;letter-spacing:-.065em;color:#d4ff45}.footer-top>div{padding-top:12px}.footer-up{margin-top:12px}.footer-bottom{border-color:#ffffff30;margin-top:60px}
.reveal-pending{opacity:0;transform:translateY(35px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal-pending.is-revealed{opacity:1;transform:none}
.image-cursor{position:fixed;top:-100px;left:-100px;z-index:90;pointer-events:none;display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:var(--electric);color:var(--forest);font-size:13px;font-weight:600;opacity:0;transform:translate(-50%,-50%) scale(.55);transition:opacity .2s,transform .25s;box-shadow:0 3px 22px #071d1520}.image-cursor.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:1100px){.section{padding:90px 5%}.project-brief{gap:35px;grid-template-columns:1fr 3fr}.proposal-facts{gap:18px}.proposal-facts>div{padding-left:13px}.proposal-facts strong{font-size:35px}.case-feature:nth-child(2){padding-top:70px}.footer-top{gap:30px}.potential-copy h3{font-size:28px}}
@media(max-width:760px){
 .section{padding:74px 6%}.section-heading{gap:23px;margin-bottom:38px}.section-heading h2{font-size:40px;margin-top:19px}.section-heading>p{font-size:16px;line-height:1.9}.project-brief{grid-template-columns:1fr;gap:35px}.project-caption{position:static}.project-caption h3{font-size:30px}.partner h3{font-size:24px}.proposal-facts{padding:0}.proposal-facts>div{border-left:0;padding:24px 0}.proposal-facts strong{font-size:47px}.forecast-years{gap:10px}.forecast-years strong{font-size:26px}.forecast-years>div:after{width:100%}
 .explore-card{grid-template-columns:1fr;gap:28px}.explore-copy h3{font-size:34px}.explore-image img{aspect-ratio:1.4}.gallery-controls{margin-top:45px}.gallery-controls>div:first-child{gap:14px}.gallery{gap:18px;margin-right:-6.8%;padding-right:6.8%}.gallery figure,.gallery figure:nth-child(2),.gallery figure:nth-child(3){flex-basis:88%}.gallery img,.gallery figure:nth-child(2) img{aspect-ratio:1.3}.gallery h3{font-size:24px}.gallery p{font-size:14px}.gallery figcaption{padding-top:16px}
 .rain-bars{height:216px;gap:6px}.bar-track{height:177px}.month-readout{gap:22px}.month-readout strong{font-size:38px}.climate-insights h3{font-size:30px}.topic-switch{gap:22px}.topic-switch button{font-size:14px}.case-features{grid-template-columns:1fr;gap:40px}.case-feature:nth-child(2){padding-top:0}.case-feature img,.case-feature:nth-child(2) img{aspect-ratio:1.2}.case-feature h3{font-size:32px}.case-feature-meta{margin-top:18px}.research-actions{margin-top:37px;gap:23px}.potential-copy h3{font-size:28px}.potential-copy{padding-top:23px}.document-main h3{font-size:22px}.document-row{padding:28px 0}.library-section .document-row:hover,.learning-list>a:hover{padding-left:0}.learning-list h3{font-size:24px}.footer-top{grid-template-columns:1fr;gap:24px}.footer-brand{font-size:76px}.footer-top>div{padding-top:0}.footer-up{margin-top:0}.footer-bottom{margin-top:40px}footer{padding:58px 6% 26px}
}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.image-cursor{display:none}.hero-visual img{transform:none!important}}
