@font-face{font-family:Jost;src:url('assets/vendor/jost-400.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Jost;src:url('assets/vendor/jost-500.ttf') format('truetype');font-display:swap;font-weight:500}
@font-face{font-family:Jost;src:url('assets/vendor/jost-600.ttf') format('truetype');font-display:swap;font-weight:600}
:root{--ink:#034f5e;--paper:#d0e1df;--accent:#4c8a9a;--white:#fff;--gutter:4.5vw;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;background:var(--paper);color:var(--ink);font-family:Jost,'Futura','Century Gothic',sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9fae50;outline-offset:6px}button{background:none}button:disabled{cursor:default}#world{position:fixed;inset:0;z-index:-2}#world canvas{width:100%;height:100%;display:block}.webgl-fallback{display:none;position:fixed;inset:0;z-index:-1;align-items:center;justify-content:center;opacity:.12}.webgl-fallback span{font-size:50vw;line-height:1}.no-webgl .webgl-fallback{display:flex}.skip{position:fixed;top:-80px;left:20px;background:#fff;padding:10px;z-index:100}.skip:focus{top:10px}.header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:8px var(--gutter);height:133px;pointer-events:none;transition:color .5s}.header>*{pointer-events:auto}.brand{display:block;width:222px;height:114px;overflow:hidden}.brand img{width:100%;height:auto;display:block;transition:filter .6s}.top-nav{display:flex;gap:22px;align-items:center;font-size:17px;line-height:1.5}.top-nav button:not(#menu-toggle),.language{padding:0;border-bottom:1px solid currentColor}.top-nav #menu-toggle{display:none;width:32px;height:32px;padding:6px}.top-nav #menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0}.chapter{position:relative;height:100svh;min-height:720px;scroll-margin-top:0}.chapter .copy{position:absolute;top:50%;left:var(--gutter);transform:translateY(-50%);width:31%;max-width:440px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.19em;text-transform:uppercase;display:block;margin-bottom:20px;opacity:.62}h1,h2,p{margin:0}h1,h2{font-weight:500;text-transform:uppercase;line-height:1.22}h1{font-size:clamp(35px,4.7vw,74px);letter-spacing:.065em}h2{font-size:clamp(27px,2.65vw,42px);letter-spacing:.035em}.copy p{font-size:18px;line-height:1.6;margin-top:25px}.copy .instruction{font-weight:500;margin-top:34px;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px;text-decoration-thickness:2px;line-height:1.7}.hero-copy{position:absolute;left:5%;right:5%;top:65%;text-align:center}.hero-copy p{margin:22px 0 26px;font-size:23px;line-height:1.45}.round{background:white;width:52px;height:52px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-size:29px;line-height:1;text-decoration:none;box-shadow:0 0 0 0 #ffffff50;transition:transform .25s}.round:hover{transform:translateY(4px)}.loading{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:13px;letter-spacing:.03em;transition:opacity .5s;white-space:nowrap;display:flex;align-items:center;gap:10px}.loading span{width:14px;height:14px;border:1px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.loaded .loading{opacity:0;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.chapters{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:5px}.chapters a{display:flex;justify-content:center;align-items:center;width:30px;height:27px;position:relative;text-decoration:none;color:var(--accent)}.chapters a::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;transition:transform .25s}.chapters a:first-child::before{content:'⌂';font-size:19px;line-height:1;background:none;width:17px;height:17px}.chapters a::after{content:'';position:absolute;inset:3px 4px;border:1px solid currentColor;border-radius:50%;transform:scale(.6);opacity:0;transition:.25s}.chapters a[aria-current=true]::after{transform:scale(1);opacity:1}.chapters a span{position:absolute;right:37px;font-size:13px;white-space:nowrap;opacity:0;transform:translateX(5px);transition:.2s;pointer-events:none;background:var(--paper);padding:0 4px}.chapters a:hover span,.chapters a:focus-visible span{opacity:1;transform:none}.hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;display:flex;align-items:center;gap:10px;padding:6px;pointer-events:auto;transition:transform .25s;line-height:1.2}.hotspot>span{width:43px;height:43px;display:flex;align-items:center;justify-content:center;background:#fff;color:#3d7b8a;font-size:27px;border-radius:50%;font-weight:300;box-shadow:0 0 0 0 #ffffff50;transition:box-shadow .3s}.hotspot:hover>span{box-shadow:0 0 0 7px #ffffff33;transform:rotate(90deg)}.hotspot b{background:#fff;color:#305c64;padding:6px 9px;border-radius:2px;font-size:15px;font-weight:400}.plant-hotspots .hotspot:nth-child(1){left:60%;top:25%}.plant-hotspots .hotspot:nth-child(2){left:75%;top:49%}.plant-hotspots .hotspot:nth-child(3){left:58%;top:71%}.molecules-hotspots .hotspot:first-child{left:70%;top:24%}.molecules-hotspots .hotspot:last-child{left:62%;top:65%}.forms-hotspots .hotspot:nth-child(1){left:51%;top:52%}.forms-hotspots .hotspot:nth-child(2){left:72%;top:40%}.forms-hotspots .hotspot:nth-child(3){left:75%;top:66%}.text-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.text-actions button{background:#fff;color:#315760;padding:9px 16px;border-radius:2px;font-size:16px;transition:background .2s,transform .2s;text-align:left}.text-actions button:hover{background:#e9f2ef;transform:translateY(-2px)}.text-actions span{margin-left:14px;font-size:20px}.awards{flex-direction:column;align-items:flex-start}.scene-caption{position:absolute;left:49%;width:37%;top:85%;text-align:center;font-size:13px;letter-spacing:.07em;opacity:.7}.place-tag{position:absolute;left:67%;top:47%;display:flex;gap:12px;align-items:center;background:white;color:#034f5e;font-size:15px;padding:10px 16px;border-radius:2px;box-shadow:0 6px 30px #00000010}.pin{width:9px;height:9px;border:2px solid #fff;outline:1px solid #034f5e;background:#034f5e;border-radius:50%}.place-tag b{margin-left:8px}.award-label{position:absolute;top:78%;left:48%;width:40%;text-align:center;display:flex;flex-direction:column}.award-label>span{font-size:38px;letter-spacing:.2em;font-weight:500}.award-label small{font-size:13px;letter-spacing:.08em;opacity:.7}.numbers{position:absolute;top:20%;bottom:14%;left:48%;right:13%;display:flex;flex-direction:column;justify-content:space-around}.numbers button{display:flex;align-items:center;text-align:left;gap:34px;border-bottom:1px solid #034f5e25;padding:10px 0 20px}.numbers strong{font-size:90px;font-weight:400;line-height:1;white-space:nowrap;min-width:190px}.numbers em{font-size:32px;font-style:normal;margin-left:7px}.numbers span{font-size:16px;max-width:150px;line-height:1.35}.contact-copy{position:absolute;top:28%;left:10%;right:10%;text-align:center}.contact-copy h2{font-size:clamp(40px,5vw,76px);line-height:1.12}.contact-copy p{font-size:22px;line-height:1.6;margin:32px 0}.contact-button{display:inline-flex;padding:14px 24px;background:#fff;color:#034f5e;font-size:17px;align-items:center;gap:30px;text-decoration:none;transition:transform .25s}.contact-button:hover{transform:translateY(-3px)}.restart{display:block;margin:28px auto;font-size:14px;text-decoration:underline;text-underline-offset:5px}.contact-chapter footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;gap:25px;font-size:11px;align-items:center;opacity:.7}.contact-chapter footer span:first-child{margin-right:auto}.contact-chapter footer button{padding:0}.visit-progress{position:fixed;left:var(--gutter);bottom:30px;display:flex;align-items:center;gap:10px;font-size:11px;z-index:20;transition:color .4s}.progress-line{width:62px;height:1px;background:#4c8a9a50}.progress-line i{height:1px;background:currentColor;display:block;width:0}.dark{color:#f2f5ed;--ink:#eef5ed;--paper:#14242e;--accent:#87b7bf}.dark .brand img{filter:brightness(0) invert(1)}.chapter[data-theme=dark]{color:#f2f5ed}.chapter[data-theme=light]{color:#034f5e}dialog{padding:55px 55px 40px;color:#174f59;background:#f7faf7;max-width:590px;width:calc(100% - 40px);border:0;box-shadow:0 30px 100px #001e2d30;max-height:85svh;overflow-y:auto}dialog::backdrop{background:#082c3885;backdrop-filter:blur(9px)}dialog h2{font-size:32px;margin-bottom:22px;line-height:1.2}dialog p{margin:15px 0;font-size:18px;line-height:1.7}.modal-kicker{display:block;letter-spacing:.16em;font-size:10px;opacity:.6;margin-bottom:22px}.close-dialog{position:absolute;right:18px;top:10px;font-size:33px;line-height:1;padding:7px}.dialog-back{margin-top:26px;padding:0 0 3px;border-bottom:1px solid currentColor;font-size:15px}.dialog-back span{margin-left:15px}#menu-links{display:grid;gap:6px}#menu-links a{display:flex;text-decoration:none;align-items:center;gap:15px;border-bottom:1px solid #034f5e20;padding:8px 0;font-size:18px}#menu-links a small{opacity:.5;font-size:11px}
@media(min-width:1700px){.chapter .copy{max-width:480px}.copy p{font-size:20px}}
@media(max-width:900px){.header{height:100px;padding:0 5%}.brand{width:165px;height:94px}.top-nav{gap:15px;font-size:14px}.top-nav .language{display:none}.chapter{min-height:760px}.chapter .copy{top:17%;transform:none;width:67%;max-width:500px;left:6%}.copy h2{font-size:29px}.copy p{font-size:17px;margin-top:19px}.copy .instruction{font-size:15px;margin-top:20px}.eyebrow{font-size:10px;margin-bottom:12px}.hero-copy{top:63%;left:7%;right:7%}.hero-copy h1{font-size:clamp(32px,6.5vw,58px);letter-spacing:.045em}.hero-copy p{font-size:20px}.chapters{right:9px;gap:1px}.chapters a{width:27px;height:25px}.chapters a span{display:none}.hotspot>span{width:38px;height:38px;font-size:25px}.hotspot b{font-size:13px}.plant-hotspots .hotspot:nth-child(1){left:52%;top:57%}.plant-hotspots .hotspot:nth-child(2){left:67%;top:73%}.plant-hotspots .hotspot:nth-child(3){left:37%;top:87%}.molecules-hotspots .hotspot:first-child{left:65%;top:57%}.molecules-hotspots .hotspot:last-child{left:55%;top:82%}.forms-hotspots .hotspot:nth-child(1){left:17%;top:72%}.forms-hotspots .hotspot:nth-child(2){left:60%;top:60%}.forms-hotspots .hotspot:nth-child(3){left:61%;top:85%}.place-tag{left:50%;top:72%;font-size:13px}.text-actions{margin-top:22px;gap:8px}.text-actions button{font-size:14px;padding:7px 11px}.scene-caption{left:13%;width:74%;top:94%;font-size:11px}.award-label{top:87%;left:20%;width:65%}.award-label>span{font-size:28px}.numbers{top:48%;left:10%;right:16%;bottom:7%}.numbers strong{font-size:65px;min-width:160px}.numbers button{gap:20px;padding:10px 0}.numbers em{font-size:24px}.numbers span{font-size:15px}.contact-copy{top:24%;left:7%;right:7%}.contact-copy h2{font-size:48px}.contact-copy p{font-size:18px}.contact-chapter footer{flex-wrap:wrap;gap:9px 20px;justify-content:center;font-size:10px;bottom:22px}.contact-chapter footer span:first-child{flex-basis:100%;text-align:center;margin-right:0}.visit-progress{left:6%;bottom:20px}.contact-chapter~.visit-progress{display:none}}
@media(max-width:520px){.top-nav button[data-info=about]{display:none}.top-nav #menu-toggle{display:block}.header{height:90px}.brand{width:140px;height:80px}.top-nav{gap:9px}.chapter{min-height:780px}.chapter .copy{width:79%;top:15%;left:6%}.copy h2{font-size:27px}.copy p{font-size:16px;line-height:1.5;margin-top:17px}.copy .instruction{font-size:14px;margin-top:17px}.hero-copy{top:64%}.hero-copy h1{font-size:34px}.hero-copy p{font-size:18px;margin:20px 0 23px}.round{width:45px;height:45px;font-size:26px}.hotspot{gap:5px}.hotspot b{font-size:12px;padding:5px}.plant-hotspots .hotspot:nth-child(2){left:59%;top:74%}.plant-hotspots .hotspot:nth-child(3){left:33%;top:87%}.molecules-hotspots .hotspot:first-child{left:65%;top:57%}.molecules-hotspots .hotspot:last-child{left:53%;top:82%}.awards{gap:5px}.awards button{font-size:13px;padding:5px 10px}.place-tag{left:46%;top:72%;padding:8px 11px}.numbers strong{font-size:60px;min-width:143px}.numbers span{font-size:14px}.contact-copy h2{font-size:40px}.contact-copy p{font-size:17px}.contact-button{font-size:14px;gap:18px;padding:13px 17px}.contact-copy{top:26%}dialog{padding:45px 28px 30px}dialog h2{font-size:26px}dialog p{font-size:16px}.loading{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero{min-height:100svh}

html{overflow-x:hidden}.loaded .loading{display:none}.no-webgl .chapter[data-theme=dark]{background:#14242e}
