:root{--r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--sans:'Inter',-apple-system,'Segoe UI',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,'Cascadia Code',Consolas,monospace;--ease:cubic-bezier(.4,0,.2,1);--up:#3fbf7f;--down:#e0625e;--boat-img:url("assets/boat.png");--boat-img-sm:url("assets/boat-sm.png");--waves-img:url("assets/waves.png")}[data-theme="dark"]{--bg:#0a0a0b;--bg-2:#0e0e10;--surface:#141416;--surface-2:#1a1a1d;--surface-3:#202024;--border:rgba(255,255,255,.09);--border-2:rgba(255,255,255,.16);--fg:#f4f4f5;--fg-2:#a1a1a6;--fg-3:#6b6b70;--hover:rgba(255,255,255,.05);--shadow:0 24px 70px -24px rgba(0,0,0,.8);--grid-line:rgba(255,255,255,.035);--cell-lit:rgba(255,255,255,.16);--cell-lit2:rgba(255,255,255,.06);--cell-glow:rgba(255,255,255,.11);--glow:rgba(255,255,255,.055)}[data-theme="light"]{--bg:#f6f6f4;--bg-2:#fbfbfa;--surface:#ffffff;--surface-2:#f3f3f1;--surface-3:#eaeae7;--border:rgba(0,0,0,.10);--border-2:rgba(0,0,0,.20);--fg:#101010;--fg-2:#555558;--fg-3:#8a8a8e;--hover:rgba(0,0,0,.04);--shadow:0 24px 70px -28px rgba(0,0,0,.3);--grid-line:rgba(0,0,0,.03);--cell-lit:rgba(0,0,0,.09);--cell-lit2:rgba(0,0,0,.04);--cell-glow:rgba(0,0,0,.06);--glow:rgba(0,0,0,.035)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}.fxgrid{position:fixed;inset:0;z-index:-1;display:grid;overflow:hidden;pointer-events:none}.fx-cell{border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);transition:background .9s var(--ease),box-shadow .9s var(--ease)}.fx-cell.on{background:var(--cell-lit);box-shadow:inset 0 0 18px var(--cell-glow);transition:none}.fx-cell.on2{background:var(--cell-lit2);transition:none}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;color:inherit;background:none;border:none}img{display:block;max-width:100%}::selection{background:var(--fg);color:var(--bg)}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:20px;border:3px solid transparent;background-clip:content-box}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}.icn{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.logo-img{width:46px;height:42px;background:var(--boat-img) no-repeat center/contain;flex:none}[data-theme="dark"] .logo-img{filter:invert(1)}.wordmark{display:flex;flex-direction:column;line-height:1}.wordmark b{font-size:14px;font-weight:700;letter-spacing:.2em}.wordmark small{font-size:8.5px;letter-spacing:.34em;color:var(--fg-3);font-weight:500;margin-top:2px}.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid transparent;transition:border-color .25s var(--ease)}.nav.scrolled{border-color:var(--border)}.nav .row{display:flex;align-items:center;gap:18px;height:68px}.nav .brand{display:flex;align-items:center;gap:11px}.nav .links{display:flex;align-items:center;gap:6px;margin-left:auto}.nav .links a.txt{padding:8px 13px;border-radius:var(--r-sm);font-size:13.5px;color:var(--fg-2);font-weight:500;transition:color .15s var(--ease),background .15s var(--ease)}.nav .links a.txt:hover{color:var(--fg);background:var(--hover)}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--fg-2);transition:.15s var(--ease)}.icon-btn:hover{color:var(--fg);border-color:var(--border-2);background:var(--hover)}.icon-btn .icn{width:17px;height:17px}.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:var(--r-sm);font-size:14px;font-weight:600;transition:transform .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease),box-shadow .2s var(--ease);white-space:nowrap}.btn .icn{width:16px;height:16px;stroke-width:2}.btn-primary{background:var(--fg);color:var(--bg);border:1px solid var(--fg)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px -12px color-mix(in srgb,var(--fg) 55%,transparent)}.btn-ghost{border:1px solid var(--border-2);color:var(--fg)}.btn-ghost:hover{background:var(--hover);transform:translateY(-2px)}.btn-sm{padding:9px 16px;font-size:13px}.hero{position:relative;padding:92px 0 4px}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}.kicker{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin-bottom:22px}.kicker .dot{width:5px;height:5px;border-radius:50%;background:var(--up);box-shadow:0 0 0 4px color-mix(in srgb,var(--up) 18%,transparent)}h1{font-size:clamp(40px,5.9vw,72px);line-height:1.0;font-weight:800;letter-spacing:-.033em}.lead{font-size:clamp(16px,1.55vw,19px);color:var(--fg-2);max-width:33em;margin-top:24px;line-height:1.62}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-cta .btn{padding:13px 22px;font-size:14.5px}.stat-row{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:38px;padding-top:26px;border-top:1px solid var(--border)}.stat{display:flex;flex-direction:column;gap:3px}.stat b{font-size:22px;font-weight:700;letter-spacing:-.01em}.stat span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);font-weight:500}.mock{position:relative;transform-style:preserve-3d;transform:rotateY(-8deg) rotateX(3deg);transition:transform .5s var(--ease)}.mock:hover{transform:rotateY(-3deg) rotateX(1deg)}.mock-flip{position:relative;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.62,0,.18,1);will-change:transform}.mock-face{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-xl);box-shadow:var(--shadow);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.mock-front{position:relative}.mock-back{position:absolute;inset:0;transform:rotateY(180deg)}.bars{display:flex;align-items:flex-end;gap:7px;height:96px;padding-top:4px}.bars span{flex:1;background:linear-gradient(180deg,var(--fg),var(--fg-3));border-radius:3px 3px 0 0;opacity:.92}.mock-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--border)}.mock-bar i{width:10px;height:10px;border-radius:50%;background:var(--border-2)}.mock-bar .addr{margin-left:12px;flex:1;height:24px;border-radius:7px;background:var(--bg-2);display:flex;align-items:center;gap:7px;padding:0 11px;font-size:11px;color:var(--fg-3);font-family:var(--mono)}.mock-bar .addr .lk{width:10px;height:10px;stroke:var(--fg-3);stroke-width:2;fill:none}.mock-body{padding:20px}.mock-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.mock-head h4{font-size:15px;font-weight:700;letter-spacing:-.01em}.mock-head span{font-size:11px;color:var(--fg-3)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:16px}.kpi{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px}.kpi .lab{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-weight:600}.kpi .val{font-size:20px;font-weight:700;margin-top:7px}.kpi .val.pos{color:var(--up)}.kpi .tri{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid var(--up);transform:translateY(-2px);margin-right:3px}.eqcard{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r);padding:14px 15px 6px}.eqcard .lab{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-weight:600;margin-bottom:6px}.eqcard svg{width:100%;height:96px;display:block;overflow:visible}.eq-line{fill:none;stroke:var(--fg);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:760;stroke-dashoffset:760}.in .eq-line{animation:draw 1.8s var(--ease) .3s forwards}@keyframes draw{to{stroke-dashoffset:0}}.eq-dot{fill:var(--bg);stroke:var(--fg);stroke-width:2}.wave-band{position:relative;height:120px;margin-top:56px;overflow:hidden}.wave-mark{position:absolute;left:50%;top:4px;transform:translateX(-50%);width:112px;height:50px;background:url("assets/wordmark-hand.png") no-repeat center/contain;opacity:.5;z-index:1;pointer-events:none}[data-theme="dark"] .wave-mark{filter:invert(1)}.wave-band::before,.wave-band::after{content:"";position:absolute;top:0;bottom:0;width:130px;z-index:2;pointer-events:none}.wave-band::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.wave-band::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}.wave-strip{position:absolute;left:0;right:0;bottom:0;height:30px;background:var(--waves-img) repeat-x left bottom;background-size:auto 100%;opacity:.9}.wave-boat{position:absolute;bottom:12px;left:-80px;width:58px;height:50px;z-index:1;animation:sailAcross 30s linear infinite}.wave-boat i{display:block;width:100%;height:100%;background:var(--boat-img-sm) no-repeat center bottom/contain;transform-origin:50% 92%;animation:bob 3.4s ease-in-out infinite}[data-theme="dark"] .wave-strip,[data-theme="dark"] .wave-boat i{filter:invert(1) contrast(1.4) brightness(1.15)}[data-theme="light"] .wave-strip,[data-theme="light"] .wave-boat i{filter:contrast(1.3)}@keyframes sailAcross{0%{left:-80px}100%{left:calc(100% + 80px)}}@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}section{padding:76px 0}.sec-head{max-width:34em;margin-bottom:52px}.sec-head .kicker{margin-bottom:14px}.sec-head h2{font-size:clamp(28px,3.8vw,44px);font-weight:800;letter-spacing:-.025em;line-height:1.07}.sec-head p{color:var(--fg-2);font-size:15.5px;margin-top:14px}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 24px;transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}.feat:hover{transform:translateY(-4px);border-color:var(--border-2);background:var(--surface-2)}.feat .ic{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--border-2);border-radius:var(--r);color:var(--fg);margin-bottom:18px}.feat h3{font-size:16.5px;font-weight:700;letter-spacing:-.01em}.feat p{font-size:14px;color:var(--fg-2);margin-top:9px;line-height:1.6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}.step{position:relative;padding:30px 26px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.step .no{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--fg-3);letter-spacing:.1em}.step h3{font-size:18px;font-weight:700;margin:14px 0 8px;letter-spacing:-.01em}.step p{font-size:14px;color:var(--fg-2);line-height:1.6}.step .bar{position:absolute;left:26px;right:26px;top:0;height:2px;background:var(--fg);transform:scaleX(0);transform-origin:left;border-radius:2px}.in .step .bar{animation:barIn .7s var(--ease) forwards}.step:nth-child(2) .bar{animation-delay:.12s}.step:nth-child(3) .bar{animation-delay:.24s}@keyframes barIn{to{transform:scaleX(1)}}.cta{position:relative;text-align:center;border:1px solid var(--border-2);border-radius:var(--r-xl);padding:64px 28px;background:var(--surface);overflow:hidden}.cta-script{display:block;width:min(300px,66%);height:auto;margin:0 auto 4px}[data-theme="dark"] .cta-script{filter:invert(1)}.cta .logo-img{width:58px;height:52px;margin:0 auto 26px}.cta h2{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.025em}.cta p{color:var(--fg-2);font-size:16px;margin:14px auto 30px;max-width:30em}footer{border-top:1px solid var(--border);padding:40px 0 56px;margin-top:36px}.foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.foot .brand{display:flex;align-items:center;gap:16px}.foot .logo-img{width:84px;height:77px}.foot .note{margin-left:auto;font-size:12.5px;color:var(--fg-3);text-align:right;line-height:1.6}.js .reveal{opacity:0;transform:translateY(24px);filter:blur(10px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}.js .reveal.in{opacity:1;transform:none;filter:none}.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}.progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--fg);z-index:60;will-change:transform}.hl .line{display:block;overflow:hidden;padding-bottom:.03em}.js .hl .line>span{display:block;transform:translateY(112%);transition:transform .85s var(--ease)}.js .hl.in .line>span{transform:none}.js .hl .line:nth-child(2)>span{transition-delay:.1s}.js .reveal.hl{opacity:1;transform:none;filter:none}.kicker .dot{animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--up) 50%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}.btn-primary{position:relative;overflow:hidden}.btn-primary::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--bg) 55%,transparent),transparent);transform:skewX(-18deg)}.btn-primary:hover::after{animation:shine .85s var(--ease)}@keyframes shine{to{left:150%}}.eq-area{fill:var(--fg);opacity:0;transition:opacity 1s var(--ease) .55s}.in .eq-area{opacity:.07}.eq-pulse{fill:none;stroke:var(--fg);stroke-width:1.4;opacity:0}.in .eq-pulse{animation:ring 2.6s var(--ease) 1.5s infinite}@keyframes ring{0%{opacity:.5;r:3}70%{opacity:0;r:10}100%{opacity:0;r:10}}.mock-wrap{animation:float 6.5s ease-in-out infinite;perspective:1600px}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}.feat .ic{transition:transform .3s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}.feat:hover .ic{transform:translateY(-3px) rotate(-4deg);border-color:var(--fg);background:var(--hover)}.feat .ic .icn{transition:transform .3s var(--ease)}.feat:hover .ic .icn{transform:scale(1.09)}.marquee{position:relative;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee-track{display:flex;width:max-content;animation:marq 30s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee span{display:inline-flex;align-items:center;font-size:clamp(19px,2.6vw,30px);font-weight:700;letter-spacing:-.01em;color:var(--fg-3);white-space:nowrap}.marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--border-2);margin:0 50px}@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}.feat-link{display:inline-flex;align-items:center;gap:6px;margin-top:13px;font-size:13px;font-weight:600;color:var(--fg-2);border-bottom:1px solid var(--border);padding-bottom:1px;transition:color .15s var(--ease),border-color .15s var(--ease)}.feat-link:hover{color:var(--fg);border-color:var(--fg)}.feat-link svg{width:13px;height:13px}.mid-divider{display:flex;align-items:center;justify-content:center;gap:22px;max-width:1120px;margin:6px auto;padding:0 28px}.mid-divider::before,.mid-divider::after{content:"";height:1px;flex:1;max-width:170px;background:linear-gradient(90deg,transparent,var(--border-2),transparent)}.mid-mark{width:96px;height:43px;background:url("assets/wordmark-hand.png") no-repeat center/contain;opacity:.55;flex:none}[data-theme="dark"] .mid-mark{filter:invert(1)}.cta-soon{margin-top:18px;font-size:13px;font-weight:500;color:var(--fg-3);display:flex;justify-content:center;align-items:center;gap:8px}.cta-soon::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--up);flex:none;box-shadow:0 0 0 0 color-mix(in srgb,var(--up) 55%,transparent);animation:pulse 2.6s var(--ease) infinite}.grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='140'%20height='140'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.8'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px}[data-theme="light"] .grain{opacity:.03}.hero::before{content:"";position:absolute;left:50%;top:-30px;width:min(1080px,94vw);height:520px;transform:translateX(-50%);background:radial-gradient(58% 60% at 50% 0%,var(--glow),transparent 72%);pointer-events:none;z-index:0}.hero .wrap{position:relative;z-index:1}.mock-wrap{position:relative;z-index:0}.mock-wrap::before{content:"";position:absolute;inset:-9% -7%;background:radial-gradient(52% 52% at 58% 42%,var(--glow),transparent 70%);filter:blur(12px);z-index:-1;pointer-events:none}.feat{position:relative;overflow:hidden}.feat::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-2),transparent);opacity:0;transition:opacity .25s var(--ease)}.feat:hover::before{opacity:1}.feat:hover{box-shadow:var(--shadow)}.step{transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}.step:hover{transform:translateY(-4px);border-color:var(--border-2);background:var(--surface-2);box-shadow:var(--shadow)}.btn:active{transform:translateY(0) scale(.98)}@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:42px}.mock{transform:none}.mock:hover{transform:none}.feat-grid,.steps{grid-template-columns:1fr 1fr}.nav .links a.txt{display:none}}@media(max-width:560px){.wrap{padding:0 20px}.hero{padding:54px 0 0}.feat-grid,.steps,.kpis{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.foot .note{margin-left:0;text-align:left;width:100%}.stat-row{gap:8px 20px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto}.js .reveal{opacity:1;transform:none;filter:none}.js .hl .line>span{transform:none}.eq-line{stroke-dashoffset:0}.eq-area{opacity:.07}.marquee-track{animation:none!important}.mock-wrap{animation:none!important}}