:root{--bg: #f4f6f4;--bg-elev: #ffffff;--fg: #1a1f1a;--muted: #5c6b5e;--line: rgba(31, 154, 82, .22);--green: #1f9a52;--green-dim: #188a48;--green-soft: rgba(31, 154, 82, .1);--danger: #c45c5c;--font-display: "Sora", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 2px;--max: 1120px;--stage: 1200px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--fg);background:var(--bg);font-family:var(--font-body);font-size:16px;line-height:1.55;overflow-x:hidden}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:.9em;color:var(--green)}.noise,.grid-bg{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.noise{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.grid-bg{background-image:linear-gradient(rgba(31,154,82,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(31,154,82,.06) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 20%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 55% at 50% 20%,#000 20%,transparent 75%)}.top,main,.footer{position:relative;z-index:1}.top{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:1.1rem 1.5rem}.top-brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--fg);font-family:var(--font-display);font-weight:700;letter-spacing:.02em;text-decoration:none}.top-brand img{border-radius:6px}.top-nav{display:flex;align-items:center;gap:1.25rem}.top-nav a{color:var(--muted);font-size:.92rem;text-decoration:none}.top-nav a:hover{color:var(--fg)}.lang-toggle{border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:.75rem;padding:.35rem .55rem;cursor:pointer}.lang-toggle:hover{color:var(--green);border-color:var(--green-dim)}.hero{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:var(--stage);margin:0 auto;padding:5.5rem 1.5rem 1.5rem;gap:2.75rem}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:40rem}.brand-mark{margin:0 0 .7rem;font-family:var(--font-display);font-weight:700;font-size:clamp(2.15rem,5.2vw,3.25rem);letter-spacing:-.02em;line-height:1.1;color:var(--green);animation:rise .8s ease-out both}.hero h1{margin:1.15rem 0 .85rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,2.5vw,1.65rem);letter-spacing:-.02em;line-height:1.3;max-width:20ch;animation:rise .9s ease-out .08s both}.hero-sub{margin:0 0 1.6rem;color:var(--muted);max-width:36ch;font-size:.95rem;animation:rise 1s ease-out .14s both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;animation:rise 1.05s ease-out .2s both}.btn{display:inline-flex;align-items:center;gap:.55rem;border:1px solid transparent;padding:.85rem 1.15rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dim)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--fg)}.btn-ghost:hover{border-color:var(--green-dim);color:var(--green)}.btn[aria-disabled=true],.btn.is-disabled{opacity:.45;pointer-events:none;transform:none}.btn .os-icon{width:1.1rem;height:1.1rem;display:inline-block}.hero-meta{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.25rem 0 0;color:var(--muted);font-family:var(--font-mono);font-size:.78rem;animation:rise 1.1s ease-out .26s both}.hero-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--green-dim)}.media-stage{width:100%;position:relative;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(31,154,82,.08),transparent 70%),#eef2ee;border:1px solid var(--line);box-shadow:0 18px 48px #1a1f1a14;min-height:280px;aspect-ratio:16 / 9}.hero-stage{max-width:var(--stage);min-height:320px;aspect-ratio:16 / 9.2;animation:rise 1.1s ease-out .2s both}.media-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit}.media-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:var(--muted);font-size:.92rem;background-image:linear-gradient(rgba(31,154,82,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,154,82,.05) 1px,transparent 1px);background-size:32px 32px}.media-slot-id{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dim);padding:.2rem .5rem;border:1px dashed var(--line)}.features{max-width:var(--stage);margin:0 auto;padding:2rem 1.5rem 1rem}.feature-block{padding:4.25rem 0;display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.25fr);align-items:center;gap:2.5rem 3rem}.feature-block--alt{grid-template-columns:minmax(0,1.25fr) minmax(240px,.9fr)}.feature-block--alt .feature-copy{order:2}.feature-block--alt .media-stage{order:1}.feature-copy{text-align:left;max-width:28rem}.feature-copy h2{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.02em;line-height:1.2}.feature-copy p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.6}.feature-block .media-stage{min-height:260px;aspect-ratio:16 / 10}.section{max-width:var(--max);margin:0 auto;padding:4.5rem 1.5rem}.section h2{margin:0 0 .6rem;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.02em}.section-sub{margin:0 0 2rem;color:var(--muted);max-width:48ch}.download .dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.dl-card{padding:1.25rem 1.2rem 1.35rem;border:1px solid var(--line);background:var(--bg-elev)}.dl-card h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.05rem}.dl-card .meta{margin:0 0 1rem;color:var(--muted);font-family:var(--font-mono);font-size:.75rem}.dl-card .btn{width:100%;justify-content:center}.badge-soon{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:.65rem;vertical-align:middle}.footer{max-width:var(--max);margin:0 auto;padding:2.5rem 1.5rem 3.5rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1.75rem}.footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.footer-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700}.footer p{margin:0;color:var(--muted);font-size:.88rem}.footer-copy{margin:0;padding-top:1.75rem;margin-top:.5rem;border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-align:center}.footer-company{color:inherit;text-decoration:none}.footer-company:hover{color:var(--green);text-decoration:underline}@media(max-width:900px){.hero{padding-top:3.25rem;gap:2rem}.hero h1{max-width:none}.feature-block,.feature-block--alt{grid-template-columns:1fr;gap:1.25rem;padding:3rem 0 1rem}.feature-block--alt .feature-copy,.feature-block--alt .media-stage{order:unset}.feature-copy{text-align:left;max-width:none}.media-stage,.feature-block .media-stage{min-height:200px}.download .dl-grid{grid-template-columns:1fr}}@media(max-width:560px){.top-nav a:not(.lang-toggle){display:none}.cta-row{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
