:root{--green:#b9ef74;--muted:#b7c9bd}body{background:#071e18}.scanlines{display:none}.topbar{backdrop-filter:blur(18px);background:#071e18e8}.top-status{font-size:10px}.hero-display{border-radius:38% 38% 22px 22px;background:radial-gradient(ellipse at 50% 45%,#40854f66,transparent 68%);overflow:hidden;min-height:570px}.hero-display .orbital-ring{opacity:.3}.hero h1{letter-spacing:-.055em}.glitch:before,.glitch:after{display:none!important}.microtitle{max-width:460px;line-height:1.8}.hero-desc{line-height:1.75}.primary-btn,.ghost-btn{border-radius:30px}.section{padding-top:105px;padding-bottom:105px}.stat-box,.console,.image-frame,.end-card{border-radius:22px;overflow:hidden}.waste{border-radius:16px}.stat-box{background:linear-gradient(140deg,#174b3480,#09261c)}.team-list small{max-width:270px;line-height:1.8}.intro{line-height:1.8}.hero-robot{display:none}.robot-stage{position:absolute;inset:45px 0 25px;z-index:2}.robot-stage canvas{width:100%;height:100%;display:block}.robot-status{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:var(--muted);font-size:12px}.floating-data{z-index:3}.replay{background:transparent;border:1px solid #b9ef7460;color:var(--green);padding:13px 20px;border-radius:30px;cursor:pointer;margin-top:18px;font:inherit}.welcome{border:0;color:#f2f7eb;background:#09251e;width:min(1060px,94vw);max-height:94dvh;padding:0;border-radius:28px;box-shadow:0 30px 100px #0008}.welcome::backdrop{background:#03150ee8;backdrop-filter:blur(12px)}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.welcome-visual{position:relative;background:radial-gradient(ellipse,#4a99594d,transparent 70%)}.welcome-visual .robot-stage{inset:15px 0}.welcome-copy{padding:70px 45px 45px 15px;align-self:center}.welcome-copy h2{font-size:clamp(36px,5vw,62px);line-height:1.05;margin:18px 0}.welcome-copy p{font-size:17px;line-height:1.75;color:#c7d9cc}.welcome-copy .primary-btn{border:0;cursor:pointer}.welcome-tools{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.welcome-tools button{margin:0}.welcome-close{position:absolute;right:18px;top:16px;z-index:8;background:none;border:0;color:#c7d9cc;font:inherit;cursor:pointer}.voice-notice{font-size:13px;color:#d7e9b9;min-height:22px}.quiz-answers{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.quiz-answers button{background:#163f2e;color:#eaf5e4;border:1px solid #b9ef7466;border-radius:25px;padding:12px 16px;cursor:pointer}.quiz-answers button:hover{background:#286044}.quiz-answers button:disabled{opacity:.5}.quiz-feedback{min-height:26px;margin-top:12px;color:var(--green)}.assistant-avatar img,.end-card img{object-fit:contain}button:focus-visible,a:focus-visible{outline:3px solid #dcffa3;outline-offset:5px}.speech{line-height:1.65}.tech-details p{line-height:1.75}.marquee{opacity:.55}.voice-wave span{animation-play-state:paused}.speaking .voice-wave span{animation-play-state:running}
@media(max-width:650px){.welcome-grid{grid-template-columns:1fr;min-height:0}.welcome-visual{height:280px}.welcome-copy{padding:5px 25px 30px}.welcome-copy p{font-size:15px}.hero-display{min-height:420px}.section{padding-top:75px;padding-bottom:75px}.team-list small{max-width:none}.hero-metrics{flex-wrap:wrap}.welcome{max-height:94dvh}.welcome-close{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.marquee>div,.orbital-ring,.floating-data{animation:none!important}}
[hidden]{display:none!important}

/* Identidad tipográfica: marca, títulos y lectura. */
body,button,input,select,textarea{font-family:'Quicksand',Arial,sans-serif}
h1,h2,h3,.hero-metrics strong,.stat-value{font-family:'Baloo 2',Arial,sans-serif;font-weight:700;letter-spacing:-.025em}
.wordmark,.wordmark>span:not(.leaf),.hero h1>.glitch,.core-center{font-family:'Fredoka',Arial,sans-serif;font-weight:600;letter-spacing:-.025em}
.wordmark small,.core-center small{font-family:'Quicksand',Arial,sans-serif;font-weight:600}
.hero-desc,.intro,.speech,.tech-details p,.welcome-copy p{font-weight:500;line-height:1.75}
.overline,.microtitle,.index,.coordinates,.selection-label,.console-header,.console-footer,.team-list small{font-weight:600}
.hero h1{line-height:1.02}
.welcome-copy h2{line-height:1.12}

/* Hojas ambientales sobre las superficies, sin interceptar controles. */
#ecosystem{width:100%;height:100%;z-index:12;opacity:.55;pointer-events:none}
@media(prefers-reduced-motion:reduce){#ecosystem{opacity:.25}}

.team-list>div{display:grid;grid-template-columns:30px minmax(0,1.2fr) minmax(0,1fr);gap:24px}
.team-list strong{font-size:clamp(18px,1.7vw,24px);font-weight:600;line-height:1.35}
.team-list small{font-size:clamp(14px,1.15vw,17px);font-weight:500;max-width:none;line-height:1.5;margin-left:0;text-align:right}
@media(max-width:650px){.team-list>div{grid-template-columns:24px minmax(0,1fr);gap:10px 14px}.team-list small{grid-column:2;text-align:left;width:auto;margin-left:0;font-size:14px}}

.contact{background:radial-gradient(ellipse at 80% 100%,#23513755,transparent 65%),#071e18;scroll-margin-top:85px}
.contact .intro{max-width:720px}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}
.contact-link{display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid #b9ef7433;border-radius:20px;background:#12352688;text-decoration:none;color:#eff7e9;transition:background .2s,border-color .2s}
.contact-link:hover{background:#204b35;border-color:#b9ef7480}
.contact-label{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--green)}
.contact-link strong{font-size:clamp(17px,1.7vw,23px);font-weight:600;overflow-wrap:anywhere}
.contact-action{margin-top:auto;font-size:14px;color:#bed1c2}
.contact-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:850px){.contact-grid{grid-template-columns:1fr}.contact-link{padding:24px}}
