:root{--night:#081713;--night-2:#0d201b;--ink:#152923;--muted:#728079;--paper:#f0f2eb;--white:#fbfcf8;--sage:#b9d7aa;--lime:#d5f29e;--line:rgba(31,60,48,.13);--mono:"DM Mono",monospace;--sans:"DM Sans","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility;color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;line-height:1.6}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #b8df9a;outline-offset:4px}::selection{background:#c9e9b1;color:#153024}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:82px;padding:0 clamp(23px,5.1vw,84px);display:flex;align-items:center;justify-content:space-between;color:#f4f7ef;border-bottom:1px solid rgba(226,242,228,.1)}.brand{display:flex;align-items:center;gap:10px}.brand-symbol{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(209,239,179,.28);border-radius:11px;color:var(--lime);background:rgba(194,226,170,.07)}.brand-symbol svg{width:28px;height:28px}.brand-text{font-size:12px;letter-spacing:2px;font-weight:700;line-height:1}.brand-text span{display:block;margin-top:5px;color:#91a79b;font:500 7px/1 var(--mono);letter-spacing:1.2px}.main-nav{display:flex;align-items:center;gap:clamp(20px,3.4vw,51px);margin-left:5vw}.nav-link{position:relative;padding:30px 0 27px;color:#b6c4ba;font-size:11px;transition:color .2s}.nav-link:hover,.nav-link.active{color:#f8fff3}.nav-link.active::after{content:"";position:absolute;bottom:17px;left:0;width:100%;height:1px;background:var(--lime)}.header-cta{display:flex;align-items:center;gap:14px;padding:9px 0 9px 14px;border:0;border-left:1px solid rgba(233,245,232,.18);background:none;color:#e4efe3;font-size:10px;cursor:pointer}.header-cta span{color:var(--lime);font-size:15px}.menu-toggle{display:none;border:0;background:none;color:white}.hero{position:relative;height:min(900px,100svh);min-height:680px;overflow:hidden;background:#0a1b16;color:#f5f8f0}.hero-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 42%,#254337 0%,#112b22 44%,#091a15 78%);transition:background .5s}.hero.daylight .hero-backdrop{background:radial-gradient(ellipse at 74% 42%,#9fbca6 0%,#547967 42%,#17372a 84%)}#campusCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;outline:none}.hero-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(7,21,16,.93) 0%,rgba(7,21,16,.8) 25%,rgba(7,21,16,.34) 48%,rgba(7,21,16,0) 74%),linear-gradient(0deg,rgba(7,20,15,.94) 0%,rgba(7,20,15,.62) 10%,transparent 29%,rgba(6,17,14,.18) 100%)}.hero-topline{position:absolute;z-index:4;top:104px;left:clamp(24px,5.2vw,86px);right:clamp(24px,5.2vw,86px);display:flex;justify-content:space-between;align-items:center;color:#a5baac;font:500 8px var(--mono);letter-spacing:1.3px}.overline{display:flex;align-items:center;gap:8px}.overline i,.footnote-dot{width:5px;height:5px;border-radius:50%;background:#c6e8a4;box-shadow:0 0 10px rgba(194,233,153,.7)}.coordinates{color:#91a79a;font-size:8px}.hero-copy{position:absolute;z-index:5;left:clamp(24px,9.1vw,148px);top:27.2%;width:min(490px,41vw)}.hero-index,.section-index{display:flex;align-items:center;gap:10px;color:#9eb3a5;font:500 8px var(--mono);letter-spacing:1.7px}.hero-index b{font-weight:400;color:#d6e7d8}.hero-index i,.section-index i{height:1px;width:24px;background:#8ba790}.hero-copy h1{margin:22px 0 16px;font-size:clamp(42px,5vw,74px);line-height:1.23;letter-spacing:-2px;font-weight:500}.hero-copy h1 em,.intro-title h2 em,.day-copy h2 em,.value-heading h2 em,.visit-content h2 em,.checklist-dialog h2 em{font-style:normal;color:#bddb9c}.hero-copy>p{margin:0;color:#c1cec4;font-size:13px;line-height:1.9;letter-spacing:.3px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.button-primary{height:44px;min-width:144px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;gap:26px;border:1px solid #b7d69b;border-radius:3px;background:#c2dda2;color:#14261c;font-size:11px;font-weight:600;transition:background .2s,transform .2s}.button-primary:hover{background:#d5e9b7;transform:translateY(-2px)}.button-primary i{font-style:normal;font-size:16px}.button-text{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#d8e2d9;font-size:10px;cursor:pointer}.button-text small{color:#8ca096;font:8px var(--mono)}.play-icon{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(226,241,223,.4);border-radius:50%;color:#d4e9c2;font-size:7px;padding-left:1px}.hero-footnote{display:flex;align-items:center;gap:8px;margin-top:36px;color:#85988b;font:8px var(--mono);letter-spacing:.4px}.footnote-dot{width:4px;height:4px;background:#d2b47d;box-shadow:none}.hero-caption{position:absolute;z-index:5;left:clamp(24px,5.2vw,86px);bottom:154px;display:flex;align-items:center;gap:10px;color:#9db1a3;font:8px var(--mono);letter-spacing:1px}.hero-caption span:first-child{color:#e7eee5}.hero-caption i{width:24px;height:1px;background:rgba(215,235,217,.42)}.hero-stats{position:absolute;z-index:6;bottom:0;left:0;right:0;min-height:112px;padding:20px clamp(24px,5.2vw,86px);display:flex;align-items:center;gap:clamp(24px,5vw,75px);border-top:1px solid rgba(226,241,227,.13);background:rgba(7,21,16,.5);backdrop-filter:blur(10px)}.hero-stats-label{display:flex;align-items:center;gap:8px;color:#8ca395;font:8px var(--mono);letter-spacing:1px;white-space:nowrap}.hero-stats-label>span:first-child{color:#cee5b6}.hero-stats-label i{width:1px;height:14px;background:rgba(229,242,224,.25)}.hero-stat{display:grid;gap:3px;min-width:105px}.hero-stat>span{color:#91a49a;font-size:8px}.hero-stat>strong{font:500 18px/1.3 var(--mono);color:#f4f7ed;letter-spacing:-.7px}.hero-stat>strong small{font:400 9px var(--sans);color:#a8bcaa;letter-spacing:0}.hero-scroll{margin-left:auto;display:flex;align-items:center;gap:11px;color:#93a69a;font:8px var(--mono);letter-spacing:1px}.hero-scroll i{display:grid;place-items:center;width:23px;height:23px;border:1px solid rgba(226,241,226,.24);border-radius:50%;color:#d1e5c3;font-style:normal}.scene-tools{position:absolute;z-index:7;right:clamp(24px,5.2vw,86px);bottom:133px;display:flex;gap:8px}.scene-tool{height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(230,244,227,.2);border-radius:3px;background:rgba(8,24,18,.56);color:#c6d6c8;backdrop-filter:blur(5px);font-size:8px;cursor:pointer;transition:background .2s,border .2s}.scene-tool:hover,.scene-tool[aria-pressed=true]{background:rgba(173,209,145,.17);border-color:rgba(207,236,175,.48)}.mode-icon{color:#d3e8af;font-size:15px}.reset-icon{font-size:14px}.hotspot-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.hotspot{position:absolute;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:#e8f0e4;pointer-events:auto;opacity:0;transition:opacity .4s,transform .2s;cursor:pointer}.hotspot.ready{opacity:1}.hotspot:hover{transform:translateY(-2px)}.hotspot>i{position:relative;width:14px;height:14px;border:1px solid rgba(224,244,216,.86);border-radius:50%;background:rgba(197,232,166,.13)}.hotspot>i::before,.hotspot>i::after{content:"";position:absolute;inset:3px;border-radius:50%;background:#dcf2be}.hotspot>i::after{inset:-4px;border:1px solid rgba(211,239,184,.5);background:transparent;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.72);opacity:.8}100%{transform:scale(1.55);opacity:0}}.hotspot span{padding:5px 7px;border:1px solid rgba(224,241,219,.18);border-radius:2px;background:rgba(8,24,19,.72);backdrop-filter:blur(7px);font-size:8px;white-space:nowrap}.hotspot b{margin-left:5px;color:#cbe6ae;font-size:10px}.hotspot-solar{left:68%;top:28%}.hotspot-storage{left:74%;top:62%}.hotspot-control{left:55%;top:42%}.feature-card{position:absolute;z-index:7;right:clamp(24px,5.2vw,86px);top:24%;width:258px;min-height:180px;padding:19px 19px 15px;border:1px solid rgba(220,239,217,.17);border-radius:3px;background:rgba(9,27,20,.77);backdrop-filter:blur(15px);box-shadow:0 18px 50px rgba(0,0,0,.18);opacity:0;transform:translateX(12px);pointer-events:none;transition:opacity .28s,transform .28s}.feature-card.visible{opacity:1;transform:translateX(0);pointer-events:auto}.feature-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#9bb0a1;font-size:18px;cursor:pointer}.feature-kicker{display:flex;align-items:center;gap:7px;color:#9bb39e;font:8px var(--mono);letter-spacing:1px}.feature-pulse{width:5px;height:5px;background:#d1eeb0;border-radius:50%;box-shadow:0 0 9px #bddd9a}.feature-card h2{margin:12px 0 7px;color:#f2f6ef;font-size:16px;font-weight:500}.feature-card p{margin:0;color:#abbcb0;font-size:9px;line-height:1.8}.feature-stat{display:grid;gap:3px;margin-top:16px;padding-top:10px;border-top:1px solid rgba(230,243,227,.13)}.feature-stat strong{color:#d4e7c4;font-size:10px;font-weight:500}.feature-stat span{color:#879c8d;font-size:8px}.scene-loader{position:absolute;z-index:8;right:50%;top:48%;display:flex;align-items:center;gap:9px;color:#aec1b2;font:8px var(--mono);letter-spacing:.4px;opacity:1;transition:opacity .35s;pointer-events:none}.scene-loader.hidden{opacity:0}.scene-loader>span{width:13px;height:13px;border:1px solid rgba(218,238,204,.28);border-top-color:#d4edb7;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.intro-section{padding:112px clamp(24px,9.2vw,148px) 90px;background:var(--paper)}.section-index{color:#798981;font-size:8px}.section-index>span:first-child{color:#304e3b}.section-kicker{display:block;margin-top:20px;color:#78907e;font:500 8px var(--mono);letter-spacing:1.4px;text-transform:uppercase}.intro-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-top:22px}.intro-title h2,.day-copy h2,.value-heading h2,.visit-content h2{margin:0;color:#1a3026;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.36;letter-spacing:-1.7px}.intro-title h2 em,.value-heading h2 em{color:#73956e}.intro-body{max-width:445px;padding-bottom:5px}.intro-body p,.day-copy>p,.value-heading>p,.visit-content>p{margin:0;color:#75837a;font-size:12px;line-height:2}.inline-link{display:inline-flex;align-items:center;gap:13px;margin-top:19px;color:#3f6248;font-size:10px}.inline-link span{font-size:15px;transition:transform .2s}.inline-link:hover span{transform:translate(3px,3px)}.energy-loop{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}.loop-line{position:absolute;top:90px;left:16%;right:16%;height:1px;background:linear-gradient(90deg,#bfd5b5,#8dae8e 50%,#c9d6bb)}.loop-line i{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:#6d9a73;box-shadow:0 0 12px rgba(82,144,93,.65);animation:flow-dot 5s linear infinite}.loop-line i:nth-child(2){animation-delay:-1.7s}.loop-line i:nth-child(3){animation-delay:-3.4s}@keyframes flow-dot{from{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}.loop-card{position:relative;z-index:1;min-height:312px;padding:0 23px 23px;background:rgba(255,255,255,.74);border:1px solid rgba(28,59,42,.09);box-shadow:0 12px 35px rgba(31,58,40,.03)}.loop-visual{height:158px;display:grid;place-items:center;position:relative}.loop-number{color:#9aa79d;font:8px var(--mono);letter-spacing:1px}.loop-card h3{margin:9px 0 7px;color:#263d2d;font-size:15px;font-weight:600}.loop-card p{max-width:310px;margin:0;color:#809087;font-size:10px;line-height:1.85}.loop-chip{display:inline-block;margin-top:14px;padding:4px 8px;border:1px solid #dbe5d7;border-radius:20px;color:#718a73;font-size:8px}.solar-visual{background-image:linear-gradient(rgba(70,108,78,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(70,108,78,.07) 1px,transparent 1px);background-size:22px 22px;background-position:center 18px}.sun-core{position:absolute;top:30px;right:calc(50% - 44px);width:21px;height:21px;border-radius:50%;background:#e6be79;box-shadow:0 0 0 8px rgba(229,190,120,.12),0 0 34px rgba(234,190,117,.5)}.solar-visual>i{position:absolute;width:105px;height:54px;bottom:24px;left:calc(50% - 52px);border:1px solid #72937c;background:linear-gradient(135deg,rgba(77,128,91,.23),rgba(119,159,123,.12));transform:skewY(-18deg) rotateX(16deg);box-shadow:0 8px 16px rgba(30,70,43,.08)}.solar-visual>i:nth-of-type(2){transform:translateX(-9px) translateY(-7px) skewY(-18deg) rotateX(16deg);opacity:.7}.solar-visual>i:nth-of-type(3){transform:translateX(9px) translateY(7px) skewY(-18deg) rotateX(16deg);opacity:.55}.battery-pack{position:relative;display:flex;gap:4px;align-items:center;padding:12px 10px;border:1px solid #75977c;background:linear-gradient(145deg,#dfe9d8,#afc5aa);box-shadow:0 18px 25px rgba(33,74,46,.13);transform:perspective(200px) rotateY(-12deg) rotateX(4deg)}.battery-pack i{width:16px;height:57px;border:1px solid rgba(58,104,65,.5);background:linear-gradient(90deg,#9fb89a,#d8e4d2 55%,#98b394)}.battery-pack b{position:absolute;right:-9px;top:calc(50% - 8px);width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#6d9b71;color:white;font:12px var(--sans)}.battery-glow{position:absolute;bottom:30px;left:calc(50% - 80px);width:160px;height:17px;border-radius:50%;background:rgba(105,158,105,.2);filter:blur(10px)}.factory-shape{position:relative;width:132px;height:57px;background:#d7e1d1;clip-path:polygon(0 26%,22% 26%,33% 0,51% 26%,67% 0,83% 26%,100% 26%,100% 100%,0 100%);box-shadow:0 18px 30px rgba(30,66,39,.12)}.factory-shape i{position:absolute;top:23px;width:9px;height:12px;background:#87a98b}.factory-shape i:nth-child(1){left:24px}.factory-shape i:nth-child(2){left:57px}.factory-shape i:nth-child(3){left:90px}.factory-shape span{position:absolute;right:14px;top:9px;width:6px;height:23px;background:#a8b9a3}.load-pulse{position:absolute;right:calc(50% - 73px);top:31px;width:9px;height:9px;border-radius:50%;background:#e4bd76;box-shadow:0 0 0 8px rgba(224,183,106,.16),0 0 18px rgba(224,183,106,.55)}.loop-caption{display:flex;align-items:center;gap:10px;margin-top:17px;color:#9aa69d;font:8px var(--mono);letter-spacing:1px}.loop-caption i{width:20px;height:1px;background:#b3c4b3}.loop-caption small{margin-left:auto;color:#87978b;font:9px var(--sans);letter-spacing:0}.day-section{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(42px,9vw,138px);align-items:center;min-height:645px;padding:95px clamp(24px,9.2vw,148px);background:#0e221b;color:#edf4e9}.day-image{position:relative;min-height:420px;overflow:hidden;border:1px solid rgba(212,236,204,.13);background:radial-gradient(circle at 49% 42%,rgba(141,185,114,.16),transparent 35%),linear-gradient(145deg,#132d23,#0c1b16 72%)}.day-grid{position:absolute;inset:35% -8% -24%;background-image:linear-gradient(rgba(136,178,128,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(136,178,128,.11) 1px,transparent 1px);background-size:31px 31px;transform:perspective(260px) rotateX(60deg);transform-origin:top center;mask-image:linear-gradient(180deg,#000 0%,transparent 82%)}.day-orbit{position:absolute;left:50%;top:44%;width:300px;height:300px;border:1px solid rgba(170,214,143,.19);border-radius:50%;transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-22deg)}.orbit-b{width:420px;height:420px;border-color:rgba(170,214,143,.09)}.day-sun{position:absolute;left:51%;top:40%;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle,#f1dda5 0%,#d5cb91 18%,rgba(197,218,147,.2) 45%,transparent 70%);filter:drop-shadow(0 0 25px rgba(193,223,148,.32))}.day-park{position:absolute;z-index:2;left:15%;right:12%;bottom:18%;height:30%;display:flex;align-items:flex-end;gap:9px;transform:perspective(320px) rotateX(20deg) rotateZ(-8deg)}.day-park>span{position:relative;flex:1;height:55%;border:1px solid rgba(191,224,177,.38);background:linear-gradient(135deg,rgba(141,185,127,.31),rgba(32,73,51,.85));box-shadow:0 14px 24px rgba(0,0,0,.25)}.day-park>span:nth-child(2){height:82%}.day-park>span:nth-child(3){height:68%}.day-park>span:after{content:"";position:absolute;left:10%;right:10%;top:17%;height:50%;background:repeating-linear-gradient(90deg,rgba(206,232,177,.5) 0 3px,transparent 3px 8px)}.day-park>i{position:absolute;left:33%;top:-24px;width:35%;height:6px;background:#789b75;box-shadow:0 0 13px rgba(191,228,154,.4)}.day-flow{position:absolute;z-index:3;height:1px;left:24%;width:47%;top:49%;background:linear-gradient(90deg,transparent,#d3ecab,transparent);transform:rotate(18deg);filter:drop-shadow(0 0 4px #b6df91);animation:flow-light 3.8s ease-in-out infinite}.flow-b{top:59%;left:40%;width:35%;transform:rotate(-13deg);animation-delay:-1.8s}@keyframes flow-light{0%,100%{opacity:.22;transform:translateX(-10px) rotate(18deg)}50%{opacity:1;transform:translateX(10px) rotate(18deg)}}.day-image-label{position:absolute;z-index:4;left:22px;bottom:19px;display:grid;gap:5px}.day-image-label span{color:#9bb09f;font:8px var(--mono);letter-spacing:1.2px}.day-image-label strong{font-size:13px;color:#e7f0e0;font-weight:500}.day-copy{max-width:470px}.day-copy .section-index{margin-bottom:24px;color:#9aafa0}.day-copy .section-index>span:first-child{color:#d0e1c4}.day-copy .section-index i{background:#8fac91}.day-copy .section-kicker{color:#a7be9f}.day-copy h2{margin:13px 0 13px;color:#edf3e9;font-size:clamp(34px,3.6vw,50px)}.day-copy h2 em{color:#bad69a}.day-copy>p{color:#a7b7a8;font-size:11px}.day-timeline{display:grid;margin-top:27px}.day-timeline article{position:relative;display:grid;grid-template-columns:58px 13px 1fr;gap:10px;min-height:64px;padding:0 0 13px}.day-timeline article:not(:last-child)::after{content:"";position:absolute;left:74px;top:14px;bottom:0;width:1px;background:rgba(187,215,177,.18)}.time{padding-top:1px;color:#8fa795;font:8px var(--mono)}.time-dot{position:relative;z-index:1;width:7px;height:7px;margin:4px 0 0 3px;border:1px solid #c1dcaa;border-radius:50%;background:#5b7f5c;box-shadow:0 0 0 4px rgba(165,202,143,.1)}.day-timeline article:nth-child(2) .time-dot{background:#d0ac6c;border-color:#edcb8d;box-shadow:0 0 0 4px rgba(217,183,120,.1)}.day-timeline article:nth-child(3) .time-dot{background:#78a3a0;border-color:#abd4c4;box-shadow:0 0 0 4px rgba(133,187,169,.1)}.day-timeline strong{color:#e7eee1;font-size:10px;font-weight:500}.day-timeline p{margin:3px 0 0;color:#96a99b;font-size:9px}.small-note{display:flex;align-items:center;gap:7px;margin-top:6px;color:#7f9385;font-size:8px}.small-note i{width:12px;height:12px;display:grid;place-items:center;border:1px solid rgba(194,220,186,.25);border-radius:50%;font:8px Georgia;font-style:normal}.value-section{padding:109px clamp(24px,9.2vw,148px) 92px;background:#e8ece4}.value-heading{display:grid;grid-template-columns:1fr .57fr;gap:5vw;align-items:end}.value-heading .section-index{margin-bottom:21px}.value-heading .section-kicker{margin-top:0}.value-heading h2{margin-top:10px;font-size:clamp(34px,3.9vw,54px)}.value-heading>p{max-width:390px;font-size:11px}.value-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:48px}.value-card{position:relative;overflow:hidden;min-height:258px;padding:22px 23px 23px;border:1px solid rgba(28,59,42,.11);background:rgba(250,251,247,.65);transition:transform .25s,background .25s}.value-card:hover{transform:translateY(-4px);background:#fbfcf8}.value-card-num{position:absolute;top:21px;right:22px;color:#a3aea4;font:8px var(--mono)}.value-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#e5ece2;color:#628063}.value-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.icon-flex{color:#8f8062;background:#efece0}.icon-green{color:#607f74;background:#e3eee8}.value-card h3{margin:21px 0 7px;color:#293c30;font-size:15px;font-weight:600}.value-card p{max-width:300px;margin:0;color:#78867e;font-size:10px;line-height:1.9}.value-tag{display:inline-block;margin-top:18px;color:#5f795f;font:8px var(--mono);letter-spacing:.2px}.value-card-line{position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#83a782,transparent 78%);transform:scaleX(.25);transform-origin:left;transition:transform .3s}.value-card:hover .value-card-line{transform:scaleX(1)}.value-footnote{display:flex;align-items:flex-start;gap:7px;margin-top:17px;color:#8b9890;font-size:8px;line-height:1.7}.footnote-mark{color:#698365}.visit-section{position:relative;min-height:465px;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;padding:80px clamp(24px,9.2vw,148px);background:#19382d;color:#edf4e9}.visit-section:before{content:"";position:absolute;right:-15%;top:-80%;width:80%;height:170%;border-radius:50%;background:radial-gradient(circle,rgba(157,200,132,.13),transparent 67%)}.visit-content{position:relative;z-index:1;max-width:550px}.visit-content .section-index{margin-bottom:22px;color:#9cb2a0}.visit-content .section-index>span:first-child{color:#d0e3c4}.visit-content .section-index i{background:#8fac91}.visit-content .section-kicker{margin-top:0;color:#b5caab}.visit-content h2{margin-top:10px;color:#eef4e9;font-size:clamp(35px,4.3vw,58px)}.visit-content h2 em{color:#c3e2a3}.visit-content>p{max-width:440px;margin-top:13px;color:#afc1b2;font-size:11px}.visit-button{height:43px;margin-top:24px;padding:0 14px;display:flex;align-items:center;gap:28px;border:1px solid rgba(219,240,205,.5);background:transparent;color:#eef5e8;font-size:10px;cursor:pointer;transition:background .2s,color .2s}.visit-button:hover{background:#c2dda2;color:#183124}.visit-button span{color:#c6e4a6;font-size:14px}.visit-button:hover span{color:#183124}.visit-disclaimer{display:block;margin-top:10px;color:#8ea699;font-size:8px}.visit-art{position:relative;width:min(360px,100%);aspect-ratio:1;justify-self:center}.visit-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(199,230,177,.2);border-radius:50%;transform:translate(-50%,-50%) rotateX(60deg) rotateZ(-25deg)}.ring-one{width:60%;height:60%}.ring-two{width:82%;height:82%;border-color:rgba(199,230,177,.12)}.ring-three{width:105%;height:105%;border-style:dashed;border-color:rgba(199,230,177,.09)}.visit-core{position:absolute;left:50%;top:50%;width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(207,233,184,.57);border-radius:50%;background:radial-gradient(circle,rgba(173,218,146,.23),rgba(45,87,62,.2));color:#d1eba9;transform:translate(-50%,-50%);box-shadow:0 0 40px rgba(166,219,133,.12)}.visit-core svg{width:33px;height:33px}.visit-node{position:absolute;z-index:1;width:8px;height:8px;border-radius:50%;background:#d5eba9;box-shadow:0 0 0 5px rgba(202,231,167,.12),0 0 14px rgba(206,235,173,.6)}.node-a{top:11%;left:46%}.node-b{right:8%;top:48%;background:#d0b782}.node-c{bottom:11%;left:51%;background:#95c4b2}.node-d{left:9%;top:45%;background:#aacb9a}.visit-art-label{position:absolute;color:#acc1ad;font:8px var(--mono);letter-spacing:.3px}.label-one{top:8%;right:3%}.label-two{right:0;bottom:17%}.label-three{left:0;bottom:18%}.label-four{top:12%;left:0}.site-footer{min-height:78px;display:flex;align-items:center;gap:15px;padding:18px clamp(24px,5.2vw,86px);background:#10261e;color:#84988b}.footer-brand{display:flex;align-items:center;gap:8px;color:#c4d5c3;font:600 9px var(--mono);letter-spacing:1.3px}.footer-brand .brand-symbol{width:25px;height:25px;border-radius:7px}.footer-brand .brand-symbol svg{width:19px}.footer-line{width:1px;height:19px;background:rgba(225,240,220,.16)}.footer-copy{color:#a1b2a4;font-size:8px}.footer-note{margin-left:auto;color:#788e80;font-size:8px}.back-top{margin-left:13px;color:#c4d6c4;font-size:8px;white-space:nowrap}.modal-shell{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(5,19,14,.7);backdrop-filter:blur(7px)}.modal-shell[hidden]{display:none}.checklist-dialog{position:relative;width:min(520px,100%);padding:31px 33px 24px;background:#f3f5ef;border:1px solid #dde7d8;box-shadow:0 25px 90px rgba(0,0,0,.28);animation:modal-in .22s ease-out}.checklist-dialog:focus{outline:none}@keyframes modal-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:13px;right:16px;width:29px;height:29px;border:0;border-radius:50%;background:#e6ebe2;color:#6f7e73;font-size:19px;cursor:pointer}.checklist-dialog .section-kicker{margin:0;color:#728a75}.checklist-dialog h2{margin:10px 0 8px;color:#1c3528;font-size:24px;font-weight:500;line-height:1.4;letter-spacing:-.6px}.checklist-dialog h2 em{color:#78946f}.checklist-dialog>p{margin:0;color:#7c8980;font-size:10px}.checklist-items{display:grid;gap:0;margin:20px 0 0;padding:0;list-style:none;border-top:1px solid #dfe6dd}.checklist-items li{display:grid;grid-template-columns:29px 1fr 19px;align-items:center;gap:9px;min-height:55px;border-bottom:1px solid #dfe6dd}.checklist-items li>span{color:#819681;font:8px var(--mono)}.checklist-items li div{display:grid;gap:3px}.checklist-items li strong{color:#405847;font-size:10px;font-weight:600}.checklist-items li small{color:#89968d;font-size:8px}.checklist-items li>i{width:16px;height:16px;display:grid;place-items:center;border:1px solid #d5e1d1;border-radius:50%;color:#769574;font-size:8px;font-style:normal}.modal-actions{display:flex;gap:8px;margin-top:18px}.modal-copy,.modal-done{height:36px;padding:0 13px;border:1px solid #cad9c4;background:transparent;color:#59735a;font-size:9px;cursor:pointer}.modal-copy span{margin-left:7px;font-size:13px}.modal-done{margin-left:auto;border-color:#315c43;background:#315c43;color:#f0f6ed}.modal-done span{margin-left:14px;color:#c7e6aa}.modal-note{display:block;margin-top:10px;color:#9ba59c;font-size:8px}.toast{position:fixed;right:22px;bottom:22px;z-index:120;display:flex;align-items:center;gap:10px;min-width:210px;padding:11px 14px;border:1px solid #dce7d8;background:#fbfcf8;box-shadow:0 12px 38px rgba(8,25,16,.2);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .22s,transform .22s}.toast.visible{opacity:1;transform:translateY(0)}.toast>span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e4efe0;color:#5a835e;font-size:10px}.toast p{display:grid;gap:2px;margin:0}.toast strong{color:#46634a;font-size:9px}.toast small{color:#89968c;font-size:8px}.no-script{position:fixed;z-index:200;left:0;right:0;bottom:0;padding:12px;background:#203d2e;color:#fff;text-align:center;font-size:12px}
@media(max-width:1080px){.site-header{padding:0 28px}.main-nav{gap:22px;margin-left:0}.hero-copy{left:6.5vw;width:43vw}.hero-copy h1{font-size:clamp(41px,5.5vw,61px)}.feature-card{right:27px;width:228px}.hero-stats{gap:28px;padding-left:30px;padding-right:30px}.hero-stats-label{display:none}.intro-section,.value-section{padding-left:7vw;padding-right:7vw}.day-section,.visit-section{padding-left:7vw;padding-right:7vw;gap:6vw}.day-section{grid-template-columns:1fr 1fr}.day-image{min-height:370px}.day-copy h2{font-size:38px}.loop-card{padding-left:17px;padding-right:17px}.visit-art{width:290px}}
@media(max-width:760px){.site-header{height:64px;padding:0 18px}.brand-symbol{width:30px;height:30px;border-radius:9px}.brand-symbol svg{width:24px}.brand-text{font-size:10px}.brand-text span{font-size:6px}.main-nav{position:absolute;top:63px;left:0;right:0;display:none;padding:12px 18px 17px;gap:0;background:rgba(8,25,18,.96);border-bottom:1px solid rgba(230,242,224,.12)}.main-nav.open{display:grid}.nav-link{padding:10px 0;font-size:11px}.nav-link.active::after{display:none}.header-cta{margin-left:auto;margin-right:12px;font-size:9px}.menu-toggle{display:grid;gap:5px;padding:8px}.menu-toggle i{width:17px;height:1px;background:#d5e5d6}.hero{height:830px;min-height:740px;max-height:100svh}.hero-shade{background:linear-gradient(180deg,rgba(7,20,15,.18),rgba(7,20,15,.18) 22%,rgba(7,20,15,.55) 48%,rgba(7,20,15,.94) 74%),linear-gradient(90deg,rgba(7,20,15,.68),transparent 95%)}.hero-topline{top:83px;left:19px;right:19px}.coordinates{font-size:7px}.hero-copy{left:23px;top:auto;bottom:177px;width:calc(100% - 46px)}.hero-index{font-size:7px}.hero-copy h1{margin:13px 0 9px;font-size:clamp(37px,10.5vw,54px);letter-spacing:-1.5px}.hero-copy>p{font-size:10px;line-height:1.75}.hero-actions{margin-top:16px;gap:15px}.button-primary{height:38px;min-width:128px;padding:0 12px;gap:16px;font-size:9px}.button-text{font-size:8px;gap:6px}.play-icon{width:19px;height:19px}.button-text small{font-size:7px}.hero-footnote{margin-top:13px;font-size:7px}.hero-caption{left:20px;bottom:134px;font-size:7px}.hero-stats{min-height:92px;gap:0;justify-content:space-between;padding:13px 17px 14px}.hero-stat{min-width:auto;gap:2px}.hero-stat>span{font-size:7px}.hero-stat>strong{font-size:13px;letter-spacing:-.4px}.hero-stat>strong small{font-size:7px}.hero-scroll{display:none}.scene-tools{right:16px;bottom:104px;gap:5px}.scene-tool{height:26px;padding:0 7px;gap:5px;font-size:7px}.mode-icon{font-size:12px}.hotspot-solar{left:55%;top:23%}.hotspot-storage{left:58%;top:44%}.hotspot-control{left:36%;top:34%}.hotspot span{padding:4px 5px;font-size:7px}.hotspot>i{width:12px;height:12px}.feature-card{top:85px;right:15px;width:min(230px,70vw);min-height:140px;padding:13px}.feature-card h2{font-size:13px;margin-top:8px}.feature-card p{font-size:8px}.feature-stat{margin-top:8px;padding-top:6px}.feature-stat strong{font-size:8px}.feature-stat span{font-size:7px}.scene-loader{right:10%;top:42%;font-size:7px}.intro-section{padding:70px 20px 60px}.intro-layout{grid-template-columns:1fr;gap:16px;margin-top:16px}.section-index{font-size:7px}.intro-title h2,.value-heading h2{font-size:34px;letter-spacing:-1.1px}.intro-title h2 br{display:none}.intro-body p{font-size:10px;line-height:1.9}.intro-body{max-width:none}.section-kicker{font-size:7px;margin-top:14px}.energy-loop{grid-template-columns:1fr;gap:10px;margin-top:34px}.loop-line{left:24px;right:auto;top:12%;bottom:12%;width:1px;height:auto;background:linear-gradient(180deg,#bfd5b5,#8dae8e 50%,#c9d6bb)}.loop-line i{left:-2px;top:0;animation:flow-dot-vertical 5s linear infinite}.loop-line i:nth-child(2){animation-delay:-1.7s}.loop-line i:nth-child(3){animation-delay:-3.4s}@keyframes flow-dot-vertical{from{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.loop-card{min-height:0;padding:12px 15px 17px 75px}.loop-visual{position:absolute;left:9px;top:12px;width:58px;height:65px;transform:scale(.66);transform-origin:center}.loop-number{font-size:7px}.loop-card h3{margin:5px 0 4px;font-size:12px}.loop-card p{font-size:8px;line-height:1.7}.loop-chip{margin-top:8px;padding:3px 7px;font-size:7px}.loop-caption{font-size:7px;flex-wrap:wrap}.loop-caption small{width:100%;margin:3px 0 0}.day-section{grid-template-columns:1fr;gap:29px;padding:57px 20px 60px}.day-image{min-height:280px;order:2}.day-copy{order:1}.day-copy .section-index{margin-bottom:17px}.day-copy h2{font-size:34px;letter-spacing:-1px}.day-copy>p{font-size:9px}.day-timeline{margin-top:19px}.day-timeline article{min-height:55px;grid-template-columns:50px 12px 1fr;gap:8px}.day-timeline article:not(:last-child)::after{left:66px}.time{font-size:7px}.day-timeline strong{font-size:9px}.day-timeline p{font-size:8px}.small-note{font-size:7px}.day-grid{background-size:24px 24px}.day-park{left:9%;right:8%;bottom:18%}.day-image-label{left:14px;bottom:12px}.day-image-label strong{font-size:11px}.day-image-label span{font-size:7px}.value-section{padding:68px 20px 58px}.value-heading{grid-template-columns:1fr;gap:14px}.value-heading .section-index{margin-bottom:16px}.value-heading>p{font-size:9px;line-height:1.8}.value-cards{grid-template-columns:1fr;gap:8px;margin-top:25px}.value-card{min-height:0;padding:15px 16px 17px 72px}.value-card-num{top:15px;right:15px;font-size:7px}.value-icon{position:absolute;left:16px;top:20px;width:39px;height:39px}.value-icon svg{width:23px;height:23px}.value-card h3{margin:3px 0 5px;font-size:12px}.value-card p{font-size:8px;line-height:1.7}.value-tag{margin-top:9px;font-size:7px}.value-footnote{font-size:7px;margin-top:12px}.visit-section{grid-template-columns:1fr;gap:23px;padding:65px 20px 45px}.visit-content .section-index{margin-bottom:17px}.visit-content h2{font-size:36px;letter-spacing:-1px}.visit-content>p{font-size:9px;line-height:1.8}.visit-button{height:39px;font-size:9px}.visit-disclaimer{font-size:7px}.visit-art{width:220px;order:-1}.visit-core{width:56px;height:56px}.visit-core svg{width:27px}.visit-art-label{font-size:7px}.site-footer{min-height:80px;flex-wrap:wrap;gap:9px;padding:16px 18px}.footer-brand{font-size:8px}.footer-brand .brand-symbol{width:22px;height:22px}.footer-line{height:15px}.footer-copy{font-size:7px}.footer-note{width:100%;order:3;margin:2px 0 0;font-size:7px}.back-top{margin-left:auto;font-size:7px}.checklist-dialog{padding:25px 18px 19px}.checklist-dialog h2{font-size:20px}.checklist-dialog>p{font-size:9px}.checklist-items li{grid-template-columns:24px 1fr 17px;min-height:53px;gap:6px}.checklist-items li strong{font-size:9px}.checklist-items li small{font-size:7px}.modal-actions button{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.scene-fallback{position:absolute;z-index:1;right:7%;top:18%;width:min(760px,62%);height:62%;overflow:hidden;border:1px solid rgba(200,231,184,.11);background:radial-gradient(ellipse at 57% 42%,rgba(165,213,145,.17),transparent 45%)}.scene-fallback>span{position:absolute;right:14px;bottom:11px;color:#94aa98;font:8px var(--mono);letter-spacing:1px}.fallback-sun{position:absolute;right:25%;top:18%;width:44px;height:44px;border-radius:50%;background:#d4dca4;box-shadow:0 0 60px 20px rgba(202,229,164,.22)}.fallback-plant{position:absolute;bottom:25%;height:30%;border:1px solid rgba(197,227,186,.5);background:linear-gradient(140deg,rgba(109,153,121,.72),rgba(32,74,53,.9));box-shadow:0 24px 35px rgba(0,0,0,.24)}.plant-one{left:16%;width:31%;height:38%}.plant-two{left:52%;width:29%;height:51%}.fallback-plant:before{content:"";position:absolute;left:0;right:0;top:-17px;height:15px;background:#899f88;transform:skewX(-35deg);transform-origin:right}.fallback-plant i{position:absolute;bottom:12%;width:11%;height:23%;background:#92ae8c}.fallback-plant i:nth-child(1){left:16%}.fallback-plant i:nth-child(2){left:43%}.fallback-plant i:nth-child(3){left:70%}.fallback-store{position:absolute;right:9%;bottom:12%;display:flex;gap:5px}.fallback-store i{width:35px;height:62px;border:1px solid #a9c1a5;background:linear-gradient(90deg,#9aac9e,#d1d9c8 50%,#8ca494);box-shadow:0 0 19px rgba(183,223,158,.13)}.fallback-flow{position:absolute;left:27%;right:19%;top:48%;height:1px;background:#c8e8a5;box-shadow:0 0 13px 2px rgba(194,229,159,.7);transform:rotate(-8deg)}.webgl-failed .scene-loader{display:none}.webgl-failed .hotspot-layer{z-index:4}
@media(max-width:760px){.scene-fallback{right:0;top:12%;width:100%;height:49%;opacity:.72}.fallback-store i{width:18px;height:38px}.scene-fallback>span{font-size:6px}}

/* Mobile: readable type, safe-area spacing and comfortable touch targets. */
@media (max-width: 760px) {
  .site-header {
    height: 68px;
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .main-nav { top: 67px; padding: 8px 20px 14px; box-shadow: 0 14px 24px rgba(0,0,0,.18); }
  .nav-link { display: flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 14px; }
  .header-cta { min-height: 44px; margin-right: 6px; padding: 0 5px 0 12px; font-size: 12px; }
  .menu-toggle { place-content: center; min-width: 44px; min-height: 44px; padding: 10px; }

  .hero { height: max(780px, 100vh); height: max(780px, 100svh); min-height: 780px; max-height: none; }
  .hero-topline { top: 84px; }
  .overline { font-size: 9px; }
  .coordinates { font-size: 8px; }
  .hero-copy {
    bottom: calc(204px + env(safe-area-inset-bottom, 0px));
    left: max(20px, env(safe-area-inset-left, 0px));
    width: calc(100% - max(40px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px)));
  }
  .hero-index, .section-index { font-size: 9px; }
  .hero-copy h1 { font-size: clamp(36px, 10vw, 48px); line-height: 1.2; letter-spacing: -1px; }
  .hero-copy > p { font-size: 13px; line-height: 1.8; }
  .hero-actions { gap: 8px; flex-wrap: wrap; }
  .button-primary { min-height: 44px; height: 44px; min-width: 132px; padding: 0 12px; gap: 14px; font-size: 11px; }
  .button-text { min-height: 44px; gap: 7px; font-size: 10px; white-space: nowrap; }
  .play-icon { width: 22px; height: 22px; }
  .button-text small { font-size: 9px; }
  .hero-footnote { margin-top: 14px; font-size: 10px; }
  .hero-caption { display: none; }
  .hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-height: 108px;
    gap: 8px;
    padding: 12px max(14px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px));
  }
  .hero-stat { min-width: 0; justify-items: center; gap: 4px; text-align: center; }
  .hero-stat > span { font-size: 10px; line-height: 1.35; white-space: nowrap; }
  .hero-stat > strong { font-size: 16px; letter-spacing: -.4px; white-space: nowrap; }
  .hero-stat > strong small { font-size: 9px; }
  .scene-tools { right: 14px; bottom: calc(122px + env(safe-area-inset-bottom, 0px)); gap: 7px; }
  .scene-tool { min-height: 44px; height: 44px; padding: 0 10px; gap: 7px; font-size: 10px; }
  .mode-icon, .reset-icon { font-size: 16px; }
  .hotspot { min-height: 44px; padding: 6px 0; }
  .hotspot > i { flex: 0 0 14px; width: 14px; height: 14px; }
  .hotspot span { padding: 6px 8px; font-size: 10px; }
  .feature-card { top: 96px; right: 12px; width: min(288px, calc(100vw - 24px)); min-height: 0; padding: 16px; }
  .feature-close { display: grid; place-items: center; width: 44px; height: 44px; right: 4px; top: 4px; }
  .feature-kicker { font-size: 9px; }
  .feature-card h2 { margin-top: 10px; padding-right: 24px; font-size: 16px; }
  .feature-card p { font-size: 12px; line-height: 1.7; }
  .feature-stat { margin-top: 12px; padding-top: 9px; }
  .feature-stat strong { font-size: 11px; }
  .feature-stat span { font-size: 10px; }
  .scene-loader { font-size: 9px; }

  .intro-section, .value-section {
    padding-left: max(20px, env(safe-area-inset-left, 0px));
    padding-right: max(20px, env(safe-area-inset-right, 0px));
  }
  .intro-section { padding-top: 68px; padding-bottom: 58px; }
  .section-kicker { margin-top: 14px; font-size: 11px; }
  .intro-title h2, .value-heading h2 { font-size: clamp(29px, 8.5vw, 34px); line-height: 1.35; letter-spacing: -.8px; }
  .intro-body p { font-size: 13px; line-height: 1.85; }
  .intro-body { max-width: none; }
  .energy-loop { gap: 12px; margin-top: 30px; }
  .loop-card { padding: 15px 16px 16px 76px; }
  .loop-visual { width: 62px; height: 70px; transform: scale(.76); }
  .loop-number { font-size: 9px; }
  .loop-card h3 { margin: 6px 0; font-size: 14px; }
  .loop-card p { font-size: 12px; line-height: 1.75; }
  .loop-chip { margin-top: 9px; padding: 4px 8px; font-size: 10px; }
  .loop-caption { gap: 8px; font-size: 9px; }
  .loop-caption small { font-size: 10px; }

  .day-section { gap: 26px; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
  .day-copy h2 { font-size: clamp(30px, 9vw, 36px); line-height: 1.35; }
  .day-copy > p { font-size: 13px; line-height: 1.8; }
  .day-timeline article { min-height: 64px; grid-template-columns: 54px 12px minmax(0, 1fr); gap: 9px; }
  .day-timeline article:not(:last-child)::after { left: 70px; }
  .time { font-size: 10px; }
  .day-timeline strong { font-size: 12px; }
  .day-timeline p { font-size: 11px; line-height: 1.65; }
  .small-note { font-size: 10px; line-height: 1.6; }
  .day-image { min-height: 280px; }
  .day-image-label { left: 16px; bottom: 14px; }
  .day-image-label span { font-size: 9px; }
  .day-image-label strong { font-size: 14px; }

  .value-section { padding-top: 66px; padding-bottom: 58px; }
  .value-heading > p { font-size: 13px; line-height: 1.8; }
  .value-cards { gap: 10px; margin-top: 24px; }
  .value-card { padding: 17px 18px 18px 74px; }
  .value-card-num { font-size: 9px; }
  .value-icon { left: 17px; top: 20px; width: 42px; height: 42px; }
  .value-icon svg { width: 25px; height: 25px; }
  .value-card h3 { font-size: 14px; }
  .value-card p { font-size: 12px; line-height: 1.75; }
  .value-tag { margin-top: 10px; font-size: 10px; }
  .value-footnote { margin-top: 14px; font-size: 10px; line-height: 1.65; }

  .visit-section { gap: 22px; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
  .visit-content h2 { font-size: clamp(31px, 9vw, 38px); line-height: 1.32; }
  .visit-content > p { font-size: 13px; line-height: 1.8; }
  .visit-button { min-height: 46px; height: 46px; padding: 0 14px; gap: 22px; font-size: 12px; }
  .visit-disclaimer { font-size: 10px; line-height: 1.5; }
  .visit-art { width: min(240px, 72vw); }
  .visit-art-label { font-size: 9px; }

  .site-footer { gap: 10px; padding: 18px max(18px, env(safe-area-inset-left, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)); }
  .footer-brand, .footer-copy, .back-top { font-size: 10px; }
  .footer-note { font-size: 10px; line-height: 1.5; }
  .back-top { min-height: 44px; display: flex; align-items: center; }

  .modal-shell { align-items: center; overflow-y: auto; padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px)); }
  .checklist-dialog { max-height: calc(100vh - 24px); max-height: calc(100svh - 24px); overflow-y: auto; overscroll-behavior: contain; padding: 25px 18px 20px; }
  .checklist-dialog h2 { font-size: 22px; line-height: 1.35; }
  .checklist-dialog > p { font-size: 13px; line-height: 1.75; }
  .checklist-items li { min-height: 64px; grid-template-columns: 28px minmax(0, 1fr) 18px; gap: 8px; }
  .checklist-items li strong { font-size: 12px; }
  .checklist-items li small { font-size: 11px; line-height: 1.55; }
  .modal-actions { flex-wrap: wrap; }
  .modal-actions button { min-height: 44px; flex: 1 1 130px; font-size: 11px; }
  .modal-note { font-size: 10px; line-height: 1.5; }
  .toast { width: calc(100% - 24px); max-width: 360px; }
  .toast strong { font-size: 11px; }
  .toast small { font-size: 10px; }
  .scene-fallback { right: 0; top: 12%; width: 100%; height: 49%; opacity: .72; }
  .scene-fallback > span { font-size: 9px; }
  .fallback-store i { width: 18px; height: 38px; }
}

@media (max-width: 380px) {
  .site-header { padding-left: 14px; padding-right: 14px; }
  .hero-copy { bottom: calc(216px + env(safe-area-inset-bottom, 0px)); }
  .hero-copy h1 { font-size: 36px; }
  .hero-actions { gap: 6px; }
  .button-primary { min-width: 126px; gap: 10px; }
  .button-text { font-size: 9px; gap: 5px; }
  .hero-stat > span { font-size: 9px; }
  .hero-stat > strong { font-size: 15px; }
  .intro-title h2, .value-heading h2 { font-size: 29px; }
  .value-card { padding-left: 68px; }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 520px) {
  .hero { height: 720px; min-height: 720px; }
  .hero-copy { top: 112px; bottom: auto; left: 28px; width: min(360px, 48vw); }
  .hero-copy h1 { font-size: clamp(34px, 5vw, 42px); }
  .hero-copy > p { font-size: 12px; }
  .hero-caption { display: none; }
  .scene-tools { bottom: calc(116px + env(safe-area-inset-bottom, 0px)); }
  .feature-card { top: 78px; width: min(270px, 34vw); }
}
