:root{--n9:#0A1628;--n8:#0F2140;--n95:#020617;--t6:#0891B2;--t5:#06B6D4;--t4:#22D3EE;--t3:#67E8F9;--g6:#059669;--g4:#34D399;--r6:#E11D48;--w:#FFF;--g50:#FAFBFC;--g100:#F1F5F9;--g200:#E2E8F0;--g300:#CBD5E1;--g400:#94A3B8;--g500:#64748B;--g600:#475569;--fd:'DM Sans',sans-serif;--fb:'Source Sans 3',sans-serif;--nh:72px;--eo:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--fb);font-size:1rem;line-height:1.7;color:var(--n9);background:var(--w);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--t6);text-decoration:none;transition:color .15s var(--eo)}
a:hover{color:var(--t5)}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;line-height:1.2;letter-spacing:-.02em}
h1{font-size:clamp(2.25rem,5vw,3.75rem)}h2{font-size:clamp(1.75rem,3.5vw,2.75rem)}h3{font-size:clamp(1.25rem,2vw,1.75rem)}
.tg{background:linear-gradient(135deg,var(--t6),var(--t4));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ctn{max-width:1200px;margin:0 auto;padding:0 2rem}
.sec{padding:6rem 0}
.sec--d{background:var(--n9);color:var(--g400)}.sec--d h1,.sec--d h2,.sec--d h3,.sec--d h4{color:var(--w)}
.sec--g{background:var(--g50)}
.sec--p{background:linear-gradient(135deg,#FFF1F2,#FEF2F2 50%,var(--w))}
.sh{text-align:center;max-width:700px;margin:0 auto 3rem}.sh p{margin-top:1rem;font-size:1.125rem;color:var(--g600)}
.sec--d .sh p{color:var(--g400)}
.sl{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t6);margin-bottom:1.5rem}
.sl::before{content:'';width:24px;height:2px;background:var(--t6)}
.gr{display:grid;gap:2rem}.gr2{grid-template-columns:repeat(2,1fr)}.gr3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.gr3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.gr2,.gr3{grid-template-columns:1fr}}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nh);z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--g200);transition:all .3s var(--eo)}
.nav.scrolled{box-shadow:0 4px 16px rgba(10,22,40,.08)}
.ni{max-width:1200px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}
.nl{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.nl img{height:40px;width:40px}
.nlt{font-family:var(--fd);font-size:1.375rem;font-weight:700;color:var(--n9);letter-spacing:-.02em}
.nks{display:flex;align-items:center;gap:1.5rem;list-style:none}
.nks a{font-size:.9375rem;font-weight:500;color:var(--g600);text-decoration:none;padding:.25rem 0;position:relative;transition:color .15s var(--eo)}
.nks a:hover,.nks a.active{color:var(--n9)}
.nks a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--t6);transition:width .3s var(--eo)}
.nks a:hover::after,.nks a.active::after{width:100%}
.na{display:flex;align-items:center;gap:1rem}
.nlg{display:flex;gap:6px}
.lb{width:auto;height:auto;border-radius:4px;cursor:pointer;opacity:.5;transition:all .15s var(--eo);border:1.5px solid var(--g300);background:none;padding:2px 6px;font-family:var(--fd);font-size:.6875rem;font-weight:700;color:var(--g600);letter-spacing:.02em}
.lb:hover{opacity:.8;border-color:var(--g400)}
.lb.active{opacity:1;border-color:var(--t6);background:rgba(8,145,178,.08);color:var(--t6)}
.nt{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.5rem}
.nt span{display:block;width:22px;height:2px;background:var(--n9);border-radius:2px;transition:all .15s var(--eo)}
.nt.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nt.open span:nth-child(2){opacity:0}.nt.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
@media(max-width:900px){.nt{display:flex}.nks{position:fixed;top:var(--nh);left:0;right:0;background:var(--w);flex-direction:column;padding:2rem;gap:1rem;border-bottom:1px solid var(--g200);box-shadow:0 12px 40px rgba(10,22,40,.12);transform:translateY(-120%);transition:transform .3s var(--eo)}.nks.open{transform:translateY(0)}.nlt{display:none}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.75rem;font-family:var(--fb);font-size:.9375rem;font-weight:600;border-radius:9999px;border:none;cursor:pointer;transition:all .3s var(--eo);text-decoration:none;line-height:1.4;white-space:nowrap}
.bp{background:var(--t6);color:var(--w)}.bp:hover{background:var(--t5);color:var(--w);transform:translateY(-2px);box-shadow:0 8px 24px rgba(8,145,178,.3)}
.bs{background:transparent;color:var(--t6);border:2px solid var(--t6)}.bs:hover{background:rgba(8,145,178,.08);color:var(--t6);transform:translateY(-2px)}
.bw{background:var(--w);color:var(--n9)}.bw:hover{color:var(--n9);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.bl{padding:1rem 2.25rem;font-size:1.0625rem}.bsm{padding:.5rem 1.25rem;font-size:.8125rem}
.bg{display:flex;gap:1rem;flex-wrap:wrap}

/* Cards */
.cd{background:var(--w);border:1px solid var(--g200);border-radius:20px;padding:2.5rem;transition:all .3s var(--eo)}
.cd:hover{border-color:var(--g300);box-shadow:0 12px 40px rgba(10,22,40,.12);transform:translateY(-4px)}
.ci{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;background:rgba(8,145,178,.1);color:var(--t6)}
.ci svg{width:24px;height:24px}
.cd h3{margin-bottom:.5rem}.cd p{color:var(--g600);font-size:.9375rem}

/* Hero */
.hero{position:relative;min-height:calc(100vh - var(--nh));display:flex;align-items:center;padding-top:var(--nh);overflow:hidden;background:var(--n9);color:var(--g100)}
.hero h1,.hero h2{color:var(--w)}
.hbg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hgr{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(120px);opacity:.15}
.hg1{top:-200px;right:-100px;background:var(--t5)}.hg2{bottom:-200px;left:-100px;background:var(--t6)}
.hhb{position:absolute;bottom:0;left:0;width:100%;height:120px;opacity:.06;z-index:1}
.hc{position:relative;z-index:10;max-width:1200px;margin:0 auto;padding:4rem 2rem;width:100%}
.hbd{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:rgba(8,145,178,.1);border:1px solid rgba(8,145,178,.25);border-radius:9999px;font-size:.8125rem;font-weight:600;color:var(--t4);margin-bottom:2rem;animation:fiu .6s var(--eo) both}
.hdt{width:8px;height:8px;border-radius:50%;background:var(--g4);animation:pd 2s ease-in-out infinite}
@keyframes pd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.hero h1{margin-bottom:1.5rem;animation:fiu .6s var(--eo) .1s both}
.hst{font-size:clamp(1.0625rem,2vw,1.25rem);color:var(--g400);max-width:620px;margin-bottom:2rem;animation:fiu .6s var(--eo) .2s both;line-height:1.7}
.hero .bg{animation:fiu .6s var(--eo) .3s both}
.hss{display:flex;gap:3rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);animation:fiu .6s var(--eo) .4s both}
.hsv{font-family:var(--fd);font-size:2rem;font-weight:800;color:var(--w);letter-spacing:-.02em}
.hsl{font-size:.8125rem;color:var(--g400);margin-top:2px}
@keyframes fiu{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Problem */
.ps{font-family:var(--fd);font-size:clamp(3rem,6vw,5rem);font-weight:800;color:var(--r6);line-height:1;letter-spacing:-.03em}
.pg{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start;margin-top:3rem}
@media(max-width:768px){.pg{grid-template-columns:1fr}.hss{flex-direction:column;gap:1.5rem}.bg{flex-direction:column;align-items:stretch}.bg .btn{text-align:center}}

/* Screenshot */
.sf{background:var(--g100);border-radius:20px;padding:8px;box-shadow:0 24px 60px rgba(10,22,40,.16);border:1px solid var(--g200);overflow:hidden}
.sf img{border-radius:16px;width:100%}

/* Perf card */
.pc{background:var(--n8);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:3rem;text-align:center;transition:all .3s var(--eo)}
.pc:hover{border-color:rgba(8,145,178,.3);box-shadow:0 0 40px rgba(8,145,178,.15)}
.pb{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);border-radius:9999px;font-size:.8125rem;font-weight:600;color:var(--g4);margin-bottom:1.5rem}
.pv{font-family:var(--fd);font-size:4rem;font-weight:800;color:var(--g4);line-height:1;letter-spacing:-.03em}
.pmr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);margin-top:1.5rem}
.pmv{font-size:1.5rem;font-weight:800;color:var(--w)}
.pml{font-size:.75rem;color:var(--g500);margin-top:2px}

/* Footer */
.ft{background:var(--n95);color:var(--g400);padding:4rem 0 1.5rem}
.fg{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem;margin-bottom:3rem}
@media(max-width:768px){.fg{grid-template-columns:1fr;gap:2rem}}
.fb{max-width:320px}
.fbl{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}
.fbl img{height:36px;width:36px}.fbl span{font-family:var(--fd);font-weight:700;font-size:1.25rem;color:var(--w)}
.fb p{font-size:.875rem;line-height:1.7;color:var(--g500)}
.ft h4{color:var(--w);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem}
.fl{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.fl a{color:var(--g500);font-size:.9375rem;transition:color .15s var(--eo)}
.fl a:hover{color:var(--w)}
.fbt{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--g600)}

/* Modal */
.modal{display:none;position:fixed;inset:0;z-index:2000;background:rgba(10,22,40,.7);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:2rem}
.modal.open{display:flex}
.mc{background:var(--w);border-radius:20px;padding:3rem;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:mi .3s var(--eo)}
@keyframes mi{from{opacity:0;transform:scale(.95) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}
.mx{position:absolute;top:1.5rem;right:1.5rem;width:32px;height:32px;border:none;background:var(--g100);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--g500);font-size:1.25rem;transition:all .15s}
.mx:hover{background:var(--g200);color:var(--n9)}
.modal h2{margin-bottom:.5rem}.modal p{color:var(--g600);margin-bottom:1.5rem}
.fg2{margin-bottom:1.5rem}.fg2 label{display:block;font-size:.875rem;font-weight:600;color:var(--n9);margin-bottom:.25rem}
.fg2 input,.fg2 select,.fg2 textarea{width:100%;padding:.75rem 1rem;font-family:var(--fb);font-size:.9375rem;border:1.5px solid var(--g200);border-radius:12px;background:var(--w);color:var(--n9);transition:all .15s;outline:none}
.fg2 input:focus,.fg2 select:focus,.fg2 textarea:focus{border-color:var(--t6);box-shadow:0 0 0 3px rgba(8,145,178,.1)}
.fg2 textarea{resize:vertical;min-height:100px}
.rv{opacity:0;transform:translateY(30px);transition:opacity .7s var(--eo),transform .7s var(--eo)}.rv.v{opacity:1;transform:translateY(0)}
.sb{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--g500)}.sb img{width:16px;height:12px}
@media(max-width:768px){.sec{padding:3rem 0}.ctn{padding:0 1.5rem}}
@media print{.nav,.ft,.modal{display:none}}

@media(max-width:480px){.na{gap:.5rem}.nlg{gap:3px}.lb{padding:1px 4px;font-size:.6rem}.btn.bsm{padding:.4rem .75rem;font-size:.7rem}}