:root{--paper:#f2f0ea;--paper-2:#e9e6de;--paper-3:#dedad0;--ink:#0c0c0c;--muted:#6c6860;--accent:#e8501e;--line:rgba(12,12,12,.16);--line-soft:rgba(12,12,12,.08);--display:"Montserrat",-apple-system,Segoe UI,sans-serif;--sans:"Inter Tight","Montserrat",-apple-system,Segoe UI,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--pad:clamp(18px,5vw,82px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink)}body{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.6;overflow-x:hidden}body.is-loading{overflow:hidden;height:100vh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:900;font-family:var(--display);text-transform:uppercase;letter-spacing:-.025em;line-height:.95}ul,ol,dl,dd{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:var(--accent);color:var(--paper)}canvas{display:block}.h2{font-size:clamp(2.1rem,5.4vw,5.1rem)}.sec-label{display:flex;align-items:center;gap:12px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 24px;font-weight:500}.sec-label i{width:30px;height:2px;background:var(--accent);display:block;flex:none}.line{display:block;overflow:hidden}.word,.char{display:inline-block;will-change:transform}.reveal-up{opacity:0;transform:translateY(26px)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate;font-family:var(--display);font-weight:800;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;transition:color .4s var(--ease)}.btn span{position:relative;z-index:2}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);z-index:1;transform:translateY(101%);transition:transform .5s var(--ease)}.btn:hover:before{transform:translateY(0)}.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.btn--ghost:hover{color:var(--paper)}.btn--ghost:before{background:var(--ink)}.btn--sm{padding:11px 20px;font-size:.68rem}.cursor{position:fixed;top:0;left:0;z-index:9998;pointer-events:none;opacity:0}.cursor__dot{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%)}.cursor__ring{position:absolute;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s,background .3s}.cursor.is-link .cursor__ring{width:58px;height:58px;border-color:var(--accent);background:#e8501e14}.cursor.is-drag .cursor__ring{width:70px;height:70px;background:#0c0c0c0f}@media (pointer:coarse){.cursor{display:none}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--paper);display:grid;place-items:center}.loader__inner{display:flex;flex-direction:column;align-items:center;gap:20px}.loader__logo{width:min(260px,52vw);height:auto}.loader__bar{width:min(260px,52vw);height:2px;background:var(--line-soft)}.loader__bar i{display:block;height:100%;width:0;background:var(--ink)}.loader__pct{font-family:var(--display);font-weight:800;font-size:.7rem;letter-spacing:.18em;color:var(--muted)}.nav{position:fixed;top:0;left:0;width:100%;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad);transition:background .45s var(--ease),padding .45s var(--ease),box-shadow .45s}.nav.is-stuck{background:#f2f0eadb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:11px var(--pad);box-shadow:0 1px 0 var(--line-soft)}.nav.is-hidden{transform:translateY(-105%);transition:transform .45s var(--ease)}.nav__logo img{width:clamp(112px,13vw,158px);height:auto}.nav__links{display:flex;gap:28px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nav__links a{position:relative;padding:4px 0;color:var(--ink);transition:color .3s}.nav__links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}.nav__links a:hover:after{transform:scaleX(1);transform-origin:0 50%}.nav__right{display:flex;align-items:center;gap:14px}@media (max-width:1000px){.nav__links{display:none}}.lang{display:flex;align-items:center;gap:2px;font-family:var(--display);font-weight:800;font-size:.68rem;letter-spacing:.08em}.lang button{padding:7px 8px;color:var(--muted);transition:color .3s}.lang button.is-on{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--accent);text-decoration-thickness:2px}.lang button:hover{color:var(--accent)}@media (max-width:480px){.nav__right .btn{display:none}}.hero{position:relative;height:100svh;min-height:600px;width:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad)}.hero__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(96deg,var(--paper) 3%,rgba(242,240,234,.88) 26%,rgba(242,240,234,.22) 48%,transparent 64%),linear-gradient(to top,var(--paper) 0,rgba(242,240,234,.5) 11%,transparent 25%)}@media (max-width:860px){.hero:before{background:linear-gradient(to bottom,var(--paper) 0,var(--paper) 44%,rgba(242,240,234,.82) 58%,rgba(242,240,234,.28) 71%,transparent 84%),linear-gradient(to top,var(--paper) 0,rgba(242,240,234,.55) 9%,transparent 22%)}}.hero__content{position:relative;z-index:3;max-width:min(1080px,86vw);pointer-events:none;margin-top:-4vh}.hero__content a{pointer-events:auto}.hero__eyebrow{display:flex;align-items:center;gap:12px;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.hero__eyebrow i{width:38px;height:2px;background:var(--accent);flex:none}.hero__title{font-size:clamp(2.6rem,8.6vw,8.4rem);line-height:.9;letter-spacing:-.035em;margin:0 0 22px;max-width:15ch}.hero__sub{max-width:46ch;color:var(--muted);font-size:clamp(.95rem,1.25vw,1.08rem);margin:0 0 32px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.hero__meta{position:absolute;left:var(--pad);right:var(--pad);bottom:26px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.hero__scroll{display:flex;align-items:center;gap:10px;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.hero__scroll i{width:2px;height:40px;background:var(--line);position:relative;overflow:hidden}.hero__scroll i:after{content:"";position:absolute;top:-40px;left:0;width:2px;height:40px;background:var(--accent);animation:scrolldot 2.1s var(--ease) infinite}@keyframes scrolldot{to{top:40px}}.hero__stats{display:flex;gap:clamp(20px,3.5vw,54px)}.hero__stats li{display:flex;flex-direction:column;gap:1px}.hero__stats b{font-family:var(--display);font-weight:900;font-size:clamp(1.4rem,2.4vw,2.3rem);line-height:1}.hero__stats span{font-size:.63rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}@media (max-width:760px){.hero__stats{display:none}}.hero__layers{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:10px;text-align:right}.hero__layers li{font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);opacity:.3;transition:opacity .5s var(--ease),color .5s;display:flex;align-items:center;gap:8px;justify-content:flex-end}.hero__layers li:after{content:"";width:6px;height:6px;border:1.5px solid currentColor;border-radius:50%}.hero__layers li.is-on{opacity:1;color:var(--accent)}.hero__layers li.is-on:after{background:var(--accent)}@media (max-width:1180px){.hero__layers{display:none}}.marquee{overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:14px 0;background:var(--paper)}.marquee__track{display:flex;width:max-content;will-change:transform}.marquee__track span{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(1.3rem,2.6vw,2.1rem);letter-spacing:-.01em;padding-right:.5em;white-space:nowrap}.marquee__track span i{font-style:normal;color:var(--accent);padding:0 .28em}.about{padding:clamp(70px,11vh,150px) var(--pad)}.about__grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(24px,4vw,60px);align-items:end}@media (max-width:860px){.about__grid{grid-template-columns:1fr}}.about__title{font-size:clamp(2.1rem,5.6vw,5.2rem);max-width:14ch}.about__media img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.06)}.about__text{max-width:56ch;color:var(--muted);font-size:clamp(1rem,1.35vw,1.2rem);margin:clamp(34px,5vw,60px) 0 clamp(40px,6vw,72px)}.about__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(22px,3vw,50px);border-top:2px solid var(--ink);padding-top:30px}.about__cols .num{font-family:var(--display);font-weight:900;font-size:.72rem;letter-spacing:.1em;color:var(--accent)}.about__cols h3{font-size:1.05rem;margin:8px 0 10px;letter-spacing:-.01em}.about__cols p{margin:0;color:var(--muted);font-size:.92rem;max-width:36ch}.routes{padding:clamp(50px,8vh,100px) 0 clamp(60px,9vh,120px);border-top:2px solid var(--ink)}.routes__head{padding:0 var(--pad);margin-bottom:clamp(28px,4vw,52px)}.routes__stage{position:relative;width:100%;height:clamp(400px,64vh,700px);cursor:grab}.routes__stage.is-dragging{cursor:grabbing}.routes__stage canvas{width:100%;height:100%}.routes__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-size:1rem;transition:background .35s,color .35s}.routes__arrow:hover{background:var(--ink);color:var(--paper)}.routes__arrow--prev{left:calc(var(--pad) * .4)}.routes__arrow--next{right:calc(var(--pad) * .4)}@media (max-width:760px){.routes__arrow{display:none}.routes__hint{position:static;text-align:right;padding:12px var(--pad) 0}}.routes__hint{position:absolute;right:var(--pad);bottom:8px;z-index:3;font-size:.63rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.routes__panel{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(20px,4vw,60px);flex-wrap:wrap;padding:26px var(--pad) 0;margin-top:22px;border-top:2px solid var(--ink)}.routes__count{font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.1em;color:var(--muted)}.routes__count b{color:var(--accent)}.routes__count i{font-style:normal}.routes__name{font-size:clamp(1.8rem,3.6vw,3.2rem);margin:6px 0 4px}.routes__tag{margin:0;font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.routes__stats{display:flex;gap:clamp(16px,2.4vw,38px);flex-wrap:wrap}.routes__stats div{display:flex;flex-direction:column-reverse;gap:2px}.routes__stats dt{font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.routes__stats dd{font-family:var(--display);font-weight:900;font-size:clamp(1.1rem,1.8vw,1.7rem);line-height:1}.level{display:inline-block;padding:5px 10px;background:var(--ink);color:var(--paper);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.level[data-level="1"]{background:#2f7d4f}.level[data-level="2"]{background:var(--ink)}.level[data-level="3"]{background:var(--accent)}.map{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,70px);align-items:center;padding:clamp(70px,10vh,140px) var(--pad);border-top:2px solid var(--ink)}@media (max-width:960px){.map{grid-template-columns:1fr}}.map__lead{color:var(--muted);max-width:44ch;margin:22px 0 30px}.map__hint{font-size:.63rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.map__list{border-top:2px solid var(--ink);columns:2;column-gap:clamp(16px,2vw,32px)}@media (max-width:520px){.map__list{columns:1}}.map__list li{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-soft);cursor:pointer;break-inside:avoid;transition:padding-left .4s var(--ease),color .3s}.map__list li b{font-family:var(--display);font-weight:800;font-size:.66rem;color:var(--muted);flex:none;letter-spacing:.06em}.map__list li span{font-weight:500;font-size:.95rem}.map__list li em{margin-left:auto;font-style:normal;font-size:.68rem;color:var(--muted);letter-spacing:.06em}.map__list li:hover{padding-left:8px}.map__list li.is-active{padding-left:10px;color:var(--accent)}.map__list li.is-active b{color:var(--accent)}.map__stage{position:relative;width:100%;aspect-ratio:1/.92;max-height:78vh}.map__stage canvas{width:100%;height:100%}.map-label{position:absolute;top:0;left:0;display:flex;align-items:center;gap:6px;white-space:nowrap;pointer-events:none;opacity:0;transform-origin:0 50%;font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .4s var(--ease)}.map-label:before{content:"";width:5px;height:5px;border:1.5px solid currentColor;border-radius:50%;flex:none}.map-label.is-active{color:var(--accent);font-size:.68rem;font-weight:800}.map-label.is-active:before{background:var(--accent)}.how{padding:clamp(70px,10vh,140px) var(--pad);border-top:2px solid var(--ink)}.how__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(20px,3vw,44px);margin-top:clamp(36px,5vw,64px)}.how__step{border-top:2px solid var(--ink);padding-top:22px}.how__step b{font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:1;color:var(--accent);display:block}.how__step h3{font-size:1.15rem;margin:14px 0 10px}.how__step p{margin:0;color:var(--muted);font-size:.93rem;max-width:34ch}.soon{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,70px);align-items:center;padding:clamp(70px,10vh,140px) var(--pad);border-top:2px solid var(--ink);background:var(--paper-2)}@media (max-width:860px){.soon{grid-template-columns:1fr}}.soon__media{position:relative}.soon__media img{width:100%;aspect-ratio:4/3;object-fit:cover}.soon__badge{position:absolute;left:16px;top:16px;background:var(--accent);color:var(--paper);padding:7px 12px;font-family:var(--display);font-weight:800;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.soon__copy p{color:var(--muted);max-width:42ch;margin:22px 0 0}.cta{padding:clamp(80px,13vh,170px) var(--pad);background:var(--ink);color:var(--paper)}.cta__title{font-size:clamp(2.2rem,6.4vw,6rem);max-width:16ch;margin:0 0 20px}.cta>p{color:#f2f0eaa8;max-width:46ch;margin:0 0 34px}.cta__form{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;max-width:640px}.cta__form input{flex:1;min-width:230px;padding:15px 20px;background:transparent;color:var(--paper);border:2px solid rgba(242,240,234,.28);font-family:var(--sans);font-size:.95rem;outline:none;transition:border-color .35s}.cta__form input:focus{border-color:var(--accent)}.cta__form input::placeholder{color:#f2f0ea73}.cta__form .btn{background:var(--paper);color:var(--ink)}.cta__form .btn:before{background:var(--accent)}.cta__form .btn:hover{color:var(--paper)}.cta__note{margin:24px 0 0;font-size:.78rem;letter-spacing:.06em;color:#f2f0ea99}.footer{padding:34px var(--pad) 30px;background:var(--ink);color:#f2f0ea99}.footer__logo{width:min(340px,58vw);height:auto;filter:invert(1);opacity:.9;margin-bottom:26px}.footer__row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.72rem;letter-spacing:.06em;border-top:1px solid rgba(242,240,234,.18);padding-top:18px}.footer__row a:hover{color:var(--accent)}.grain-overlay{position:fixed;top:-120%;right:-120%;bottom:-120%;left:-120%;z-index:8000;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .7s steps(3) infinite}@keyframes grain{0%{transform:translate(0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-2%)}to{transform:translate(0)}}.hero__title .line,.cta__title .line{display:block;padding-bottom:.1em;margin-bottom:-.1em}.hero__title .word,.cta__title .word{display:inline-block}@media (prefers-reduced-motion:reduce){.grain-overlay,.hero__scroll i:after{animation:none}.reveal-up{opacity:1;transform:none}}.map-label.is-flipped{flex-direction:row-reverse}
