.eco{--eco-paper:oklch(97.6% 0.014 125);--eco-paper-2:oklch(94.2% 0.03 128);--eco-ink:oklch(32% 0.09 150);--eco-ink-soft:oklch(44% 0.07 150);--eco-leaf:oklch(74% 0.2 134);--eco-moss:oklch(50% 0.14 145);--eco-forest:oklch(42% 0.12 147);--eco-on-dark:oklch(96% 0.02 125);--eco-on-dark-soft:oklch(82% 0.03 130);--eco-line:oklch(42% 0.1 150/0.18);--eco-line-dark:oklch(96% 0.02 125/0.22);--eco-shade:oklch(30% 0.09 150/0.7);--eco-card:oklch(99% 0.006 125);--eco-shade-soft:oklch(30% 0.09 150/0.22);--eco-shade-side:oklch(30% 0.09 150/0.4);--eco-depth:oklch(32% 0.09 150/0.4);--eco-spine:oklch(32% 0.09 150/0.24);--eco-spine-mid:oklch(32% 0.09 150/0.05);--eco-grain:oklch(24% 0.05 152/0.03);--eco-gutter:oklch(32% 0.09 150/0.18);--eco-gutter-soft:oklch(32% 0.09 150/0.06);--eco-edge:oklch(80% 0.02 120);--eco-cloth:oklch(52% 0.13 146/0.35);--eco-stitch:oklch(74% 0.2 134/0.35);--eco-leaf-light:oklch(92% 0.13 128);--eco-leaf-halo:oklch(74% 0.2 134/0.25);--eco-scrim:oklch(34% 0.1 150/0.95);--eco-glass:oklch(99% 0.006 125/0.82);--eco-glass-dark:oklch(96% 0.02 125/0.08);--font-display:var(--font-syne),sans-serif;--font-body:var(--font-inter),sans-serif;--font-label:var(--font-space-grotesk),monospace;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-short:180ms;--dur-med:420ms;background:var(--eco-paper);color:var(--eco-ink);font-family:var(--font-body);overflow-x:clip}.eco-display{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0}.eco-title-sm{overflow-wrap:normal;word-break:normal;hyphens:manual}.eco-label{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase}.eco-nums{font-variant-numeric:tabular-nums}@keyframes eco-kenburns{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}}.eco-kenburns{animation:eco-kenburns 22s var(--ease-in-out) infinite alternate;will-change:transform}@media (max-width:767px){.eco-kenburns{animation:none}}.eco-hero-shade{background:linear-gradient(to top,var(--eco-shade) 0,var(--eco-shade-soft) 45%,transparent 75%),linear-gradient(to right,var(--eco-shade-side) 0,transparent 55%)}@keyframes eco-drift{0%{transform:translateZ(0) rotate(0deg)}33%{transform:translate3d(18px,-26px,0) rotate(14deg)}66%{transform:translate3d(-12px,-10px,0) rotate(-10deg)}to{transform:translateZ(0) rotate(0deg)}}.eco-leaf{position:absolute;pointer-events:none;animation:eco-drift var(--leaf-dur,14s) var(--ease-in-out) infinite;animation-delay:var(--leaf-delay,0s);will-change:transform}@keyframes eco-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.eco-pulse{position:relative;display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background:var(--eco-leaf)}.eco-pulse:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--eco-leaf);animation:eco-pulse 1.8s var(--ease-out) infinite}.eco-banner-shade{background:linear-gradient(to top,var(--eco-shade-soft) 0,transparent 40%)}.eco-chip{background:var(--eco-card);border:1px solid var(--eco-line);color:var(--eco-ink);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}@media (hover:hover){.eco-chip:hover{border-color:var(--eco-moss);color:var(--eco-moss)}}@keyframes eco-travel{0%{transform:translateZ(0)}to{transform:translate3d(100%,0,0)}}.eco-journey-dot{position:absolute;inset:0;animation:eco-travel 9s linear infinite}.eco-journey-dot:before{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:999px;background:var(--eco-leaf);box-shadow:0 0 0 4px var(--eco-leaf-halo)}.eco-shot img{transition:transform .9s var(--ease-out)}.eco-shot:focus-visible img,.eco-shot:hover img{transform:scale(1.04)}.eco-album img{transition:transform .9s var(--ease-out)}.eco-album:focus-visible img,.eco-album:hover img{transform:scale(1.05)}.eco-album .eco-album-arrow{transition:transform var(--dur-short) var(--ease-out)}.eco-album:focus-visible .eco-album-arrow,.eco-album:hover .eco-album-arrow{transform:translate(3px,-3px)}.eco a:focus-visible,.eco button:focus-visible{outline:2px solid var(--eco-leaf);outline-offset:3px}@keyframes eco-marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.eco-marquee-track{display:flex;width:-moz-max-content;width:max-content;animation:eco-marquee 38s linear infinite}.eco-marquee:focus-within .eco-marquee-track,.eco-marquee:hover .eco-marquee-track{animation-play-state:paused}.eco-logo-tile{transition:border-color var(--dur-short) var(--ease-out)}.eco-logo-tile:hover{border-color:var(--eco-leaf)}.eco-book{width:100%;max-width:1320px;margin-inline:auto}.eco-book-stage{transition:transform .7s var(--ease-out)}.eco-book-page{background:var(--eco-card);overflow:hidden;position:relative;box-shadow:0 22px 40px -22px var(--eco-depth),0 2px 6px -2px var(--eco-spine)}.eco-page-left:after,.eco-page-right:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}.eco-page-right:after{background:linear-gradient(to right,var(--eco-gutter) 0,var(--eco-gutter-soft) 6%,transparent 14%)}.eco-page-left:after{background:linear-gradient(to left,var(--eco-gutter) 0,var(--eco-gutter-soft) 6%,transparent 14%)}.eco-page-left:not(.eco-book-hard):before,.eco-page-right:not(.eco-book-hard):before{content:"";position:absolute;top:1.5%;bottom:1.5%;width:5px;z-index:3;pointer-events:none;background:repeating-linear-gradient(to right,var(--eco-edge) 0 1px,var(--eco-card) 1px 2px)}.eco-page-right:not(.eco-book-hard):before{right:0}.eco-page-left:not(.eco-book-hard):before{left:0}.eco-cover{background:repeating-linear-gradient(45deg,var(--eco-cloth) 0 2px,transparent 2px 5px),var(--eco-forest);outline:1px solid var(--eco-stitch);outline-offset:-10px}.eco-page-right.eco-book-hard .eco-cover{box-shadow:inset 14px 0 0 -6px var(--eco-spine)}.eco-page-left.eco-book-hard .eco-cover{box-shadow:inset -14px 0 0 -6px var(--eco-spine)}.eco-cover-wash{background:linear-gradient(160deg,var(--eco-shade-side) 0,var(--eco-shade) 100%)}.eco-book-paper{background:radial-gradient(circle at 15% 20%,var(--eco-grain) 0,transparent 45%),linear-gradient(135deg,var(--eco-card) 0,var(--eco-paper) 60%,var(--eco-paper-2) 100%)}.eco-print{border:4px solid var(--eco-card);box-shadow:0 6px 14px -6px var(--eco-depth),0 0 0 1px var(--eco-line);overflow:hidden}@keyframes eco-peel{0%,60%,to{transform:scale(1)}75%{transform:scale(1.9)}}.eco-corner-hint{position:absolute;right:0;bottom:0;width:34px;height:34px;transform-origin:100% 100%;background:linear-gradient(135deg,transparent 50%,var(--eco-card) 50%,var(--eco-paper-2) 100%);box-shadow:-3px -3px 6px -2px var(--eco-depth);animation:eco-peel 2.6s var(--ease-in-out) infinite;z-index:4}@keyframes eco-call{0%{box-shadow:0 0 0 0 var(--eco-leaf-halo)}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}.eco-book-arrow{display:inline-flex;align-items:center;gap:.5rem;height:3.25rem;padding:0 1.25rem;border-radius:999px;background:var(--eco-forest);border:1px solid var(--eco-line-dark);color:var(--eco-on-dark);font-weight:700;font-size:.875rem;line-height:1;white-space:nowrap;box-shadow:0 12px 28px -12px var(--eco-depth),inset 0 1px 0 rgba(255,255,255,.15);transition:all var(--dur-short) var(--ease-out);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover:hover){.eco-book-arrow:hover:not(:disabled){background:var(--eco-moss);color:var(--eco-on-dark);transform:translateY(-2px);box-shadow:0 16px 32px -12px var(--eco-depth),0 0 0 3px var(--eco-leaf-halo)}}.eco-book-arrow:active:not(:disabled){transform:translateY(1px) scale(.98)}.eco-book-arrow:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;transform:none}.eco-book-arrow.is-calling{background:var(--eco-leaf);color:var(--eco-forest);border-color:var(--eco-leaf);font-weight:800;animation:eco-call 1.8s var(--ease-out) infinite}.eco-kbd{justify-content:center;padding:.15rem .4rem;font-size:.65rem;font-family:var(--font-label);font-weight:700;border-radius:4px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:inherit;box-shadow:0 1px 2px rgba(0,0,0,.2)}.eco-book-ctrl-pill,.eco-kbd{display:inline-flex;align-items:center}.eco-book-ctrl-pill{gap:.4rem;padding:.4rem .85rem;border-radius:999px;background:var(--eco-card);border:1px solid var(--eco-line);color:var(--eco-ink);font-size:.75rem;font-weight:600;box-shadow:0 2px 6px -2px var(--eco-depth);transition:all var(--dur-short) var(--ease-out);cursor:pointer}.eco-book-ctrl-pill:hover{background:var(--eco-moss);color:var(--eco-on-dark);border-color:var(--eco-moss);transform:translateY(-1px);box-shadow:0 6px 14px -4px var(--eco-depth)}.eco-rail{background:var(--eco-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--eco-line);box-shadow:0 14px 30px -22px var(--eco-depth)}.eco-rail-link{color:var(--eco-ink-soft);transition:color var(--dur-short) var(--ease-out)}.eco-rail-link:hover,.eco-rail-link[aria-current=true]{color:var(--eco-on-dark)}.eco-rail-link:not([aria-current=true]):hover{color:var(--eco-ink)}.eco-chip[aria-current=true]{background:var(--eco-moss);border-color:var(--eco-moss);color:var(--eco-on-dark)}.eco-vrail{--rail-link:50px;--rail-dot:40px;--rail-gap:4px;--rail-font:12px;--rail-pad:14px;padding:var(--rail-pad) 8px;background:var(--eco-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--eco-line);box-shadow:0 18px 40px -16px var(--eco-depth),0 0 0 4px oklch(99% .006 125/.5)}@media (max-height:760px){.eco-vrail{--rail-link:42px;--rail-dot:34px;--rail-gap:2px;--rail-font:11px;--rail-pad:10px;padding:var(--rail-pad) 6px}}@media (max-height:620px){.eco-vrail{--rail-link:34px;--rail-dot:28px;--rail-gap:1px;--rail-font:10px;--rail-pad:8px;padding:var(--rail-pad) 5px}}.eco-vrail ul{gap:var(--rail-gap)}.eco-vrail-track{top:calc(var(--rail-pad) + var(--rail-link) / 2);bottom:calc(var(--rail-pad) + var(--rail-link) / 2);width:3px;background:var(--eco-line)}.eco-vrail-link{width:var(--rail-link);height:var(--rail-link)}.eco-vrail-dot{width:var(--rail-dot);height:var(--rail-dot);font-size:var(--rail-font);background:var(--eco-card);border:2px solid var(--eco-line);color:var(--eco-moss);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.eco-vrail-link.is-done .eco-vrail-dot{background:var(--eco-paper-2);border-color:var(--eco-moss);color:var(--eco-ink)}@keyframes eco-rail-glow{0%,to{box-shadow:0 0 0 4px var(--eco-leaf-halo),0 6px 16px -4px var(--eco-depth)}50%{box-shadow:0 0 0 9px oklch(74% .2 134/.12),0 6px 16px -4px var(--eco-depth)}}.eco-vrail-link[aria-current=true] .eco-vrail-dot{background:var(--eco-forest);border-color:var(--eco-leaf);color:var(--eco-leaf-light);transform:scale(1.18);animation:eco-rail-glow 2.2s var(--ease-in-out) infinite}.eco-vrail-label{padding:7px 14px;font-size:13px;background:var(--eco-forest);color:var(--eco-on-dark);border:1px solid var(--eco-leaf);opacity:0;transform:translateX(8px);pointer-events:none;transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.eco-vrail-link:focus-visible .eco-vrail-label,.eco-vrail-link:hover .eco-vrail-label,.eco-vrail-link[aria-current=true] .eco-vrail-label{opacity:1;transform:translateX(0)}.eco-vrail-link:not([aria-current=true]):hover .eco-vrail-label{background:var(--eco-moss);border-color:var(--eco-moss)}@media (hover:hover){.eco-vrail-link:hover .eco-vrail-dot{border-color:var(--eco-moss);transform:scale(1.08)}.eco-vrail-link[aria-current=true]:hover .eco-vrail-dot{transform:scale(1.18)}}.eco-dock{bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);translate:-50% 0;max-width:calc(100vw - 32px);background:var(--eco-forest);border:1px solid var(--eco-leaf);box-shadow:0 16px 34px -12px var(--eco-depth),0 0 0 5px var(--eco-leaf-halo)}.eco-dock:active{scale:.97}.eco-dock-sheet{bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);background:var(--eco-paper);box-shadow:0 -10px 40px -10px var(--eco-depth)}.eco-dock-item,.eco-dock-sheet{border:1px solid var(--eco-line)}.eco-dock-item{background:var(--eco-card);color:var(--eco-ink);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.eco-dock-num{background:var(--eco-paper-2);color:var(--eco-moss);border:2px solid var(--eco-line)}.eco-dock-item.is-done .eco-dock-num{border-color:var(--eco-moss);color:var(--eco-ink)}.eco-dock-item[aria-current=true]{background:var(--eco-forest);border-color:var(--eco-leaf);color:var(--eco-on-dark)}.eco-dock-item[aria-current=true] .eco-dock-num{background:var(--eco-leaf);border-color:var(--eco-leaf);color:var(--eco-forest)}.eco-journey-node{transition:background-color .45s var(--ease-out),border-color .45s var(--ease-out),color .45s var(--ease-out)}.eco-journey-node.is-lit{background:var(--eco-leaf);border-color:var(--eco-leaf);color:var(--eco-forest)}.eco-journey-node.is-lit:after{content:"";position:absolute;inset:-1px;border-radius:inherit;animation:eco-call 2.4s var(--ease-out) infinite}.eco-journey-card{background:var(--eco-glass-dark);border:1px solid var(--eco-line-dark);transition:border-color .45s var(--ease-out),background-color .45s var(--ease-out);transition:border-color .45s var(--ease-out),background-color .45s var(--ease-out),transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}.eco-journey-card.is-lit{border-color:var(--eco-stitch);background:oklch(96% .02 125/.12)}.eco-journey-card.is-current{border-color:var(--eco-leaf);background:oklch(96% .02 125/.18);transform:translateY(-8px);box-shadow:0 22px 40px -18px var(--eco-depth),0 0 0 3px var(--eco-leaf-halo)}@keyframes eco-node-pop{0%{transform:scale(1)}40%{transform:scale(1.3)}70%{transform:scale(.94)}to{transform:scale(1)}}.eco-journey-node.is-lit{animation:eco-node-pop .6s var(--ease-out) both}@keyframes eco-spark{0%{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(-34px) scale(.2);opacity:0}}.eco-burst{position:absolute;inset:0;pointer-events:none}.eco-burst span{position:absolute;left:calc(50% - 3px);top:calc(50% - 3px);width:6px;height:6px;border-radius:999px;background:var(--eco-leaf-light);animation:eco-spark .7s var(--ease-out) forwards}.eco-vine-leaf{top:50%;width:11px;height:7px;margin-left:-5px;border-radius:100% 0 100% 0;background:var(--eco-leaf)}.eco-vine-leaf.is-up{margin-top:-9px;transform-origin:0 100%;rotate:-25deg}.eco-vine-leaf.is-down{margin-top:2px;transform-origin:0 0;rotate:155deg}.eco-sprout svg{transform:scaleX(var(--face,1));transition:transform .25s var(--ease-out)}@keyframes eco-bob{0%,to{translate:0 0}50%{translate:0 -3px}}@keyframes eco-step{0%,to{rotate:22deg}50%{rotate:-22deg}}@keyframes eco-sway{0%,to{rotate:-6deg}50%{rotate:6deg}}@keyframes eco-wave{0%,to{rotate:0deg}50%{rotate:-14deg}}@keyframes eco-blink{0%,92%,to{scale:1 1}95%{scale:1 .1}}@keyframes eco-cheer{0%,to{translate:0 0}30%{translate:0 -22px}55%{translate:0 0}70%{translate:0 -8px}}.eco-sprout{animation:eco-bob 2.4s var(--ease-in-out) infinite}.eco-sprout.is-walking{animation-duration:.35s}.eco-sprout.is-cheering{animation:eco-cheer 1.2s var(--ease-out) infinite}.eco-sprout-leg-l,.eco-sprout-leg-r{transform-box:fill-box;transform-origin:50% 0}.eco-sprout.is-walking .eco-sprout-leg-l{animation:eco-step .35s linear infinite}.eco-sprout.is-walking .eco-sprout-leg-r{animation:eco-step .35s linear infinite reverse}.eco-sprout-top{transform-box:fill-box;transform-origin:50% 100%;animation:eco-sway 3s var(--ease-in-out) infinite}.eco-sprout-eyes{transform-box:fill-box;transform-origin:50% 50%;animation:eco-blink 4.5s linear infinite}.eco-sprout-arm{transform-box:fill-box;transform-origin:0 100%}.eco-sprout.is-cheering .eco-sprout-arm{animation:eco-wave .5s var(--ease-in-out) infinite}.eco-sprout-flag{transform-box:fill-box;transform-origin:0 50%;animation:eco-sway 1.4s var(--ease-in-out) infinite}.eco-bubble{position:relative;background:var(--eco-card);color:var(--eco-ink);box-shadow:0 10px 22px -10px var(--eco-depth)}.eco-journey-sun{width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,var(--eco-leaf-light) 0,oklch(92% .13 128/.35) 45%,transparent 70%);opacity:.55}@keyframes eco-fall{0%{transform:translate3d(0,-12vh,0) rotate(0deg);opacity:0}10%{opacity:1}to{transform:translate3d(var(--drift),108vh,0) rotate(var(--spin));opacity:.9}}.eco-confetti{position:absolute;top:0;border-radius:100% 0 100% 0;background:var(--eco-leaf);animation:eco-fall var(--dur) var(--ease-in-out) var(--delay) both}.eco-confetti:nth-child(3n){background:var(--eco-leaf-light)}.eco-confetti:nth-child(4n){background:var(--eco-on-dark);border-radius:2px}@keyframes eco-wheel{0%{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}.eco-mouse{position:relative;width:18px;height:28px;border-radius:999px;border:2px solid var(--eco-on-dark-soft)}.eco-mouse:after{content:"";position:absolute;left:50%;top:5px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:var(--eco-leaf);animation:eco-wheel 1.3s var(--ease-out) infinite}.eco-row{display:flex}.eco-row>*{min-width:0}.eco-search{background:var(--eco-card);border:1px solid var(--eco-line);color:var(--eco-ink);outline:2px solid transparent;outline-offset:1px;transition:border-color var(--dur-short) var(--ease-out)}.eco-search::-moz-placeholder{color:var(--eco-ink-soft)}.eco-search::placeholder{color:var(--eco-ink-soft)}.eco-search:hover{border-color:var(--eco-moss)}.eco-search:focus-visible{outline-color:var(--eco-leaf)}.eco-btn{display:inline-flex;align-items:center;gap:.5rem;height:3rem;padding:0 1.4rem;border-radius:999px;font-weight:700;font-size:.95rem;line-height:1;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.eco-btn:active{transform:translateY(1px)}.eco-btn-solid{background:var(--eco-moss);color:var(--eco-on-dark);box-shadow:0 10px 22px -12px var(--eco-depth)}.eco-btn-outline{border:2px solid var(--eco-moss);color:var(--eco-moss);background:var(--eco-card)}@media (hover:hover){.eco-btn-solid:hover{background:var(--eco-forest)}.eco-btn-outline:hover{background:var(--eco-moss);color:var(--eco-on-dark)}}.eco-team-card .eco-team-arrow{transition:transform var(--dur-short) var(--ease-out)}.eco-team-card:focus-visible .eco-team-arrow,.eco-team-card:hover .eco-team-arrow{transform:translateX(4px)}.eco-book-nav{background:var(--eco-card);border:1px solid var(--eco-line);color:var(--eco-ink);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.eco-book-nav:hover:not(:disabled){background:var(--eco-forest);color:var(--eco-on-dark)}.eco-book-nav:active:not(:disabled){transform:translateY(1px)}.eco-book-nav:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.eco-book-arrow.is-calling,.eco-confetti,.eco-corner-hint,.eco-journey-dot,.eco-journey-node.is-lit,.eco-journey-node.is-lit:after,.eco-kenburns,.eco-leaf,.eco-marquee-track,.eco-mouse:after,.eco-pulse:after,.eco-sprout,.eco-sprout *,.eco-vrail-link[aria-current=true] .eco-vrail-dot{animation:none}.eco-journey-card.is-current{transform:none}.eco-team-card:focus-visible .eco-team-arrow,.eco-team-card:hover .eco-team-arrow{transform:none}.eco-book-stage{transition:none}.eco-album .eco-album-arrow,.eco-album img,.eco-logo-tile,.eco-shot img{transition:opacity .15s linear}.eco-album:focus-visible .eco-album-arrow,.eco-album:focus-visible img,.eco-album:hover .eco-album-arrow,.eco-album:hover img,.eco-shot:focus-visible img,.eco-shot:hover img{transform:none}}.eco-chip[aria-current=page]{background:var(--eco-moss);border-color:var(--eco-moss);color:var(--eco-on-dark)}