:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4f5f7;background:#07080b;font-synthesis:none;--bg: #07080b;--surface: #12151b;--raised: #181c24;--red: #e51e2a;--deep: #710e15;--text: #f4f5f7;--muted: #a6adb8;--amber: #f2b84b;--green: #4bd28a;--line: #2a303b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% -10%,#311015 0,transparent 32rem),var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);padding:.7rem 1rem;cursor:pointer}button:hover{border-color:#596272}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.app{max-width:1440px;margin:auto;display:grid;grid-template-columns:220px 1fr;grid-template-rows:76px 1fr;min-height:100vh}header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 2rem;background:#07080bf0;position:sticky;top:0;z-index:4}.brand{display:flex;align-items:center;gap:.8rem;border:0;background:transparent;padding:0}.brand span{display:grid;text-align:left;letter-spacing:.15em}.brand small{color:var(--red);font-weight:800}.talva-logo{display:block;width:min(100%,460px);height:auto;object-fit:contain}.talva-logo.compact{width:178px;max-height:48px}.mark{display:inline-block;width:42px;height:42px;position:relative}.mark i{position:absolute;width:22px;height:34px;border-left:7px solid var(--red);border-bottom:7px solid var(--red);transform:skew(-20deg);left:7px;top:2px}.mark i+i{border-color:var(--text);left:23px;top:7px;height:26px}.connection{display:flex;align-items:center;gap:.5rem;text-transform:capitalize;color:var(--muted)}.connection i{width:10px;height:10px;border-radius:99px;background:var(--green)}.connection i.disconnected{background:var(--amber)}.header-actions{display:flex;align-items:center;gap:.75rem}.header-cta{background:var(--red);border-color:var(--red);font-weight:800}.button-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--red);border-radius:8px;padding:.7rem 1rem;color:var(--text);text-decoration:none}.button-link:hover{border-color:#ff6971}nav{border-right:1px solid var(--line);padding:1rem;display:flex;flex-direction:column;gap:.3rem;background:#0c0e12}nav button{text-align:left;border-color:transparent;background:transparent;color:var(--muted)}nav button.active{color:#fff;background:var(--raised);border-color:#373d48;border-left:3px solid var(--red)}main{padding:clamp(1rem,3vw,3rem);min-width:0}.hero,.pagehead,.showcase{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}.hero h1,.pagehead h1,.showcase h1{font-size:clamp(2rem,5vw,4.8rem);line-height:.95;margin:.3rem 0}.hero p,.showcase p{color:var(--muted);max-width:700px}.eyebrow{color:var(--red)!important;letter-spacing:.15em;font-size:.76rem;font-weight:900}.primary{background:var(--red);border-color:var(--red);font-weight:850;padding:1rem 1.4rem}.danger{border-color:var(--red);color:#ff7b82}.statusbar{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.85rem;margin-bottom:1rem}.badge{display:inline-flex;padding:.35rem .55rem;border:1px solid var(--red);border-radius:4px;color:#ff7e86;font-size:.7rem;font-weight:900;letter-spacing:.08em}.good{color:var(--green)!important}.warn{color:var(--amber)!important}.grid{display:grid;gap:1rem;margin-bottom:1rem}.metrics{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}.metric,.card{background:linear-gradient(145deg,var(--raised),var(--surface));border:1px solid var(--line);border-radius:12px;padding:1.2rem}.metric{min-height:130px;display:flex;flex-direction:column;justify-content:space-between}.metric span,.metric small,.card p,.card small{color:var(--muted)}.metric strong{font-size:clamp(1.4rem,3vw,2.6rem)}.card h2{font-size:1.05rem;margin:0 0 1.25rem}.card button{margin:.25rem}.state-list,.motor{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.state-list span{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.65rem 0}.motor span{color:var(--muted)}.text{border:0;background:transparent;color:#ff7b82;padding-left:0}.ride-speed{text-align:center;padding:4vh 0}.ride-speed span,.ride-speed small{display:block;color:var(--muted);letter-spacing:.15em}.ride-speed strong{font-size:clamp(7rem,25vw,18rem);line-height:.8}.mapbox{position:relative;min-height:260px;background:#10141a;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:1rem 0}.mapbox svg{position:absolute;width:100%;height:100%}.streets{fill:none;stroke:#2c333e;stroke-width:6}.route{fill:none;stroke:var(--red);stroke-width:7;stroke-linecap:round}.mapbox>div{position:absolute;bottom:1rem;left:1rem;background:#07080bdd;padding:.75rem;border-radius:8px;display:grid}.mapbox small{color:var(--muted)}.ride-actions,.listrow,.now{display:flex;align-items:center;justify-content:space-between;gap:1rem}.listrow{padding:1rem 0;border-bottom:1px solid var(--line)}.listrow div,.now div{display:grid}.listrow small,.now small{margin-top:.2rem}label{display:grid;gap:.45rem;color:var(--muted);margin:.8rem 0}input,textarea{width:100%;min-height:46px;border:1px solid #3b424f;border-radius:7px;background:#0b0d11;color:#fff;padding:.75rem}input[type=range]{padding:0}textarea{min-height:100px}.toggle{display:flex;width:100%;justify-content:space-between;margin:.35rem 0!important}.toggle b{color:var(--red)}.transport{display:flex;justify-content:center;margin:1rem}.transport button{font-size:1.4rem;min-width:54px}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips span{padding:.5rem .7rem;border:1px solid var(--line);border-radius:99px;color:var(--muted)}.seg{display:flex}.seg button[aria-pressed=true]{background:var(--red)}.file{display:inline-flex;width:auto;border:1px solid var(--line);border-radius:8px;padding:.6rem 1rem;color:#fff;cursor:pointer}.file input{display:none}.showcase{align-items:center;min-height:45vh}.showcase em{color:var(--red);font-style:normal}.bike-art{width:min(40vw,440px);height:280px;border:1px solid var(--line);position:relative;background:linear-gradient(135deg,#181c24,#090a0d);border-radius:50% 20% 45% 30%}.bike-art .mark{position:absolute;left:35%;top:25%;transform:scale(4)}.bike-art>i{position:absolute;width:100px;height:100px;border:12px solid #424956;border-radius:50%;bottom:15px}.bike-art>i:last-child{right:10px}.legacy{text-align:center;max-width:760px;margin:5vh auto}.legacy>.mark{transform:scale(1.8);margin:2rem}.legacy h1{font-size:clamp(2.8rem,8vw,6rem);line-height:.9}.legacy p{font-size:1.1rem;color:var(--muted);line-height:1.7}.legacy blockquote{font-size:1.8rem;color:var(--red);margin:4rem 0}.legacy footer{margin-top:5rem;letter-spacing:.3em}.toast{position:fixed;right:1rem;bottom:1rem;max-width:500px;background:#242a34;border-left:4px solid var(--red);padding:.75rem;display:flex;align-items:center;z-index:8}.toast button{border:0;background:transparent;font-size:1.3rem}.demo{position:fixed;right:1rem;top:84px;z-index:5}.demo details{background:#11151c;border:1px solid var(--line);border-radius:8px;padding:.6rem}.demo summary{cursor:pointer;font-weight:700}.demo details div{display:grid;grid-template-columns:1fr 1fr;margin-top:.5rem}.demo button{font-size:.75rem}.landing{max-width:1120px;margin:0 auto}.landing-hero{min-height:min(720px,calc(100vh - 136px));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:clamp(2rem,7vw,6rem);padding:4rem 0 6rem}.landing h1{max-width:780px;font-size:clamp(3.2rem,7.4vw,7.5rem);line-height:.88;letter-spacing:-.055em;margin:.8rem 0 1.5rem}.landing h1 em{color:var(--red);font-style:normal}.landing h2{font-size:clamp(2rem,4.5vw,4rem);line-height:1;letter-spacing:-.035em;margin:.5rem 0 1.25rem}.landing h3{font-size:1.25rem;margin:1.3rem 0 .75rem}.landing p{color:var(--muted);line-height:1.7}.landing .lede{max-width:670px;font-size:clamp(1.1rem,2vw,1.35rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 1rem}.launch-note{color:var(--muted)}.hero-panel{background:linear-gradient(145deg,#1b2029,#0e1015);border:1px solid #3b424f;border-top:3px solid var(--red);border-radius:18px;padding:clamp(1.4rem,3vw,2rem);box-shadow:0 30px 80px #0008}.hero-panel>strong{display:block;font-size:clamp(4rem,8vw,6.5rem);line-height:1;margin-top:2rem}.hero-panel>p{margin-top:.25rem}.hero-panel>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.hero-panel>div span{color:var(--muted)}.hero-panel>button{width:100%;margin-top:.75rem}.hero-bike{position:relative;align-self:stretch;min-height:430px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#08090b;box-shadow:0 30px 80px #0008}.hero-bike img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:52% center}.hero-bike>span{position:absolute;left:1rem;bottom:1rem;max-width:calc(100% - 2rem);padding:.5rem .7rem;border-radius:5px;background:#07080bdb;color:var(--muted);font-size:.72rem}.hero-bike>button{position:absolute;right:1rem;top:1rem;background:#07080bdb}.product-viewer{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:clamp(1.5rem,4vw,3rem);padding:2rem;margin:1rem 0 6rem;border:1px solid var(--line);border-radius:18px;background:#0c0e12}.viewer-stage{position:relative;min-height:520px;overflow:hidden;border-radius:12px;background:#050607}.viewer-stage img{width:100%;height:100%;min-height:520px;display:block;object-fit:contain}.concept-flag{position:absolute;left:1rem;bottom:1rem;padding:.5rem .7rem;border:1px solid #7c3338;border-radius:4px;background:#08090de8;color:#ff969c;font-size:.68rem;font-weight:900;letter-spacing:.08em}.viewer-copy{align-self:center}.viewer-copy h2{font-size:clamp(2rem,4vw,3.8rem)}.viewer-tabs{display:grid;gap:.45rem;margin-top:2rem}.viewer-tabs button{display:grid;grid-template-columns:2.5rem 1fr;align-items:center;text-align:left;border-color:transparent;background:transparent;color:var(--muted)}.viewer-tabs button span{color:var(--red);font-size:.7rem;font-weight:900}.viewer-tabs button[aria-pressed=true]{border-color:#424a58;background:var(--raised);color:var(--text)}.product-viewer.compact{margin-top:2rem}.benefit-intro{max-width:800px;padding:6rem 0 2rem}.benefit-intro>p:last-child{font-size:1.15rem}.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-bottom:6rem}.benefit-grid article{min-height:240px;padding:2rem;border:1px solid var(--line);background:linear-gradient(145deg,var(--raised),var(--surface));border-radius:14px}.benefit-grid article>span{color:var(--red);font-size:.75rem;font-weight:900;letter-spacing:.15em}.how,.waitlist,.company{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(2rem,7vw,6rem);padding:6rem 0;border-top:1px solid var(--line)}.how ol{padding:0;margin:0;list-style:none}.how li{display:grid;gap:.4rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.how li b{font-size:1.15rem}.how li span{color:var(--muted);line-height:1.6}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.trust-strip div{display:grid;gap:.55rem;padding:1.5rem;background:#101319}.trust-strip span{color:var(--muted);line-height:1.5}.waitlist{margin-top:6rem}.waitlist-action{display:grid;align-content:center;gap:1rem;padding:clamp(1.4rem,4vw,2.5rem);background:var(--raised);border:1px solid var(--line);border-radius:14px}.waitlist-action .button-link{width:100%}.waitlist-action small{display:block;color:var(--muted);line-height:1.5}.company{padding-bottom:8rem}.company>p{font-size:1.1rem;margin-top:0}.reduce *{scroll-behavior:auto!important;animation:none!important;transition:none!important}@media(max-width:800px){.app{display:block;padding-bottom:74px}header{height:64px;padding:0 1rem}nav{position:fixed;bottom:0;left:0;right:0;height:68px;z-index:6;display:flex;flex-direction:row;overflow-x:auto;border:0;border-top:1px solid var(--line);padding:.4rem;background:#090b0f}nav button{white-space:nowrap;font-size:.75rem;padding:.5rem}.hero,.pagehead,.showcase{align-items:flex-start;flex-direction:column}.metrics,.two,.three{grid-template-columns:1fr 1fr}.demo{top:70px}.bike-art{width:100%}.landing-hero,.how,.waitlist,.company,.product-viewer{grid-template-columns:1fr}.landing-hero{padding-top:2rem}.trust-strip{grid-template-columns:1fr}.viewer-stage,.viewer-stage img{min-height:360px}}@media(max-width:460px){main{padding:1rem}.metrics,.two,.three{grid-template-columns:1fr}.metric{min-height:105px}.hero h1{font-size:3rem}.ride-speed strong{font-size:7rem}.state-list{grid-template-columns:1fr}.demo{right:.5rem}.demo details div{max-height:200px;overflow:auto}.connection{font-size:0}.connection i{display:block}.connection span{display:none}.header-cta{padding-inline:.7rem;font-size:.75rem}.talva-logo.compact{width:130px}.landing h1{font-size:clamp(3rem,16vw,4.4rem)}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:auto}.hero-bike,.hero-bike img{min-height:330px}.product-viewer{padding:.75rem}.viewer-stage,.viewer-stage img{min-height:260px}}.welcome{position:fixed;inset:0;background:#07080bf2;z-index:20;display:grid;place-items:center;padding:1rem}.welcome>div{max-width:760px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--red);border-radius:14px;padding:clamp(1.4rem,5vw,3rem)}.welcome h1{font-size:clamp(2.2rem,7vw,4.8rem);line-height:.95;margin:.7rem 0}.welcome>div>p{color:var(--muted);line-height:1.6}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.welcome-grid section{display:grid;gap:.4rem;padding:1rem;background:var(--raised);border-radius:8px}.welcome-grid small{color:var(--muted)}.welcome-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.welcome button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:500px){.welcome-grid{grid-template-columns:1fr}.welcome{align-items:start;overflow:auto}.welcome-actions>*{width:100%}}
