:root{--blue:#1A9ADB;--blue-dk:#0F78B0;--blue-lt:#E8F5FC;--blue-md:#C2E3F5;--ink:#1C2B38;--body:#4A5A6A;--muted:#7A8FA0;--bdr:#DDE6ED;--surf:#F5F8FA;--wh:#FFFFFF;--acc:#0BBCD4;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}
body{background:var(--wh);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden;}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:100px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--bdr);}
.nl{display:flex;align-items:center;text-decoration:none;}.nl img{height:68px;}
.nm{display:flex;gap:32px;list-style:none;align-items:center;}
.nm a{font-size:14px;font-weight:400;color:var(--body);text-decoration:none;transition:color .2s;}.nm a:hover{color:var(--blue);}
.nc{background:var(--blue)!important;color:#fff!important;padding:9px 22px;border-radius:6px;font-weight:500!important;font-size:13px!important;}
.nc:hover{background:var(--blue-dk)!important;box-shadow:0 4px 16px rgba(26,154,219,.3)!important;}
/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:100px 5vw 120px;overflow:hidden;background:var(--wh);}
.hbg{position:absolute;right:-6%;top:-8%;width:52vw;height:108vh;background:linear-gradient(145deg,var(--blue-lt) 0%,#dceef8 50%,#f0f7fb 100%);border-radius:40% 0 0 50%;z-index:0;}
.hgrid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(var(--bdr) 1px,transparent 1px),linear-gradient(90deg,var(--bdr) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 60% 80% at 72% 40%,black 20%,transparent 80%);opacity:.45;}
.hc{position:relative;z-index:2;max-width:600px;}
.hchip{display:inline-flex;align-items:center;gap:8px;background:var(--blue-lt);border:1px solid var(--blue-md);color:var(--blue-dk);border-radius:20px;padding:6px 16px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px;animation:fup .7s ease both .15s;}
.hchip::before{content:'';width:6px;height:6px;background:var(--blue);border-radius:50%;}
.hh1{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,11vw,100px);line-height:.94;letter-spacing:.02em;color:var(--ink);animation:fup .7s ease both .28s;word-wrap:break-word;hyphens:auto;}
.hh1 .bl{color:var(--blue);}
.hsub{font-size:17px;font-weight:300;color:var(--body);line-height:1.7;max-width:500px;margin:26px 0 40px;animation:fup .7s ease both .42s;}
.hsub strong{color:var(--ink);font-weight:600;}
.hact{display:flex;align-items:center;gap:16px;animation:fup .7s ease both .55s;}
.bp{background:var(--blue);color:#fff;padding:14px 32px;border-radius:7px;font-size:14px;font-weight:500;text-decoration:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .2s,box-shadow .25s,transform .2s;}
.bp:hover{background:var(--blue-dk);box-shadow:0 6px 24px rgba(26,154,219,.32);transform:translateY(-2px);}
.bg{color:var(--blue);font-size:14px;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:6px;transition:gap .2s;}.bg:hover{gap:10px;}
.hr{position:absolute;right:5vw;top:50%;transform:translateY(-50%);z-index:2;display:flex;flex-direction:column;gap:14px;animation:fup .7s ease both .65s;}
.sp{background:var(--wh);border:1px solid var(--bdr);border-radius:12px;padding:16px 22px;box-shadow:0 4px 20px rgba(0,0,0,.06);min-width:180px;}
.spn{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--blue);line-height:1;}
.spl{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-top:4px;}
.spa{border-left:3px solid var(--blue);}.spd{background:var(--blue);border-color:var(--blue);}.spd .spn{color:#fff;}.spd .spl{color:rgba(255,255,255,.75);}
.hstrip{position:absolute;bottom:0;left:0;right:0;background:var(--surf);border-top:1px solid var(--bdr);display:flex;z-index:2;}
.hs{flex:1;padding:20px 5vw;border-right:1px solid var(--bdr);display:flex;align-items:center;gap:14px;}.hs:last-child{border-right:none;}
.hsi{width:36px;height:36px;border-radius:8px;background:var(--blue-lt);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hsi svg{width:17px;height:17px;stroke:var(--blue);fill:none;}
.hsi svg{width:17px;height:17px;stroke:var(--blue);fill:none;}
.hsv{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--ink);line-height:1;}
.hsl{font-size:11px;color:var(--muted);}
.hdr-img{position:absolute;bottom:60px;right:15vw;height:90vh;z-index:1;object-fit:contain;animation:fup 1s ease both .2s;pointer-events:none;}
@keyframes fup{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
/* COMMON */
section{padding:88px 5vw;}
.chip{display:inline-flex;align-items:center;gap:8px;font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.chip::before{content:'';width:18px;height:1px;background:var(--blue);}
.st{font-family:'Bebas Neue',sans-serif;font-size:clamp(32px,9vw,58px);letter-spacing:.03em;line-height:1.02;color:var(--ink);word-wrap:break-word;}
.st .bl{color:var(--blue);}
.sb{font-size:15px;font-weight:300;color:var(--body);line-height:1.75;max-width:520px;}
/* TICKER */
.tstrip{background:var(--blue);overflow:hidden;}
.tick{display:flex;width:max-content;animation:tick 28s linear infinite;padding:14px 0;}
.ti{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.16em;color:rgba(255,255,255,.85);text-transform:uppercase;padding:0 32px;display:flex;align-items:center;gap:12px;white-space:nowrap;}
@keyframes tick{to{transform:translateX(-50%);}}
/* TECH */
.tech{background:var(--surf);}
.tl{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.lw{position:relative;width:100%;max-width:380px;aspect-ratio:1;margin:0 auto;display:flex;align-items:center;justify-content:center;}
.lr{position:absolute;border-radius:50%;border:1.5px solid rgba(26,154,219,.25);animation:pr 3.5s ease-in-out infinite;}
.lr:nth-child(1){width:100%;height:100%;}.lr:nth-child(2){width:74%;height:74%;border-style:dashed;animation-delay:.6s;}.lr:nth-child(3){width:49%;height:49%;animation-delay:1.2s;}
.lf{position:absolute;width:49%;height:49%;border-radius:50%;background:radial-gradient(circle,rgba(26,154,219,.18) 0%,rgba(26,154,219,.04) 80%);}
.lc{position:relative;z-index:2;text-align:center;background:var(--wh);border:1px solid var(--bdr);border-radius:50%;width:108px;height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(26,154,219,.10);}
.lcn{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--blue);line-height:1;}
.lcl{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-top:2px;}
@keyframes pr{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.04);opacity:1;}}
.tfs{display:flex;flex-direction:column;}
.tf{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start;padding:20px 0;border-bottom:1px solid var(--bdr);}
.tf:last-child{border-bottom:none;}
.tfn{font-family:'Bebas Neue',sans-serif;font-size:26px;color:var(--blue-md);line-height:1;}
.tft{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:5px;}
.tfd{font-size:13px;font-weight:300;color:var(--body);line-height:1.65;}
/* MATRIX */
.matrix{background:var(--wh);}
.mg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;}
.mc{background:var(--surf);border:1px solid var(--bdr);border-radius:12px;padding:32px 28px;position:relative;overflow:hidden;transition:box-shadow .25s,transform .25s;}
.mc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--acc));}
.mc:hover{box-shadow:0 12px 40px rgba(26,154,219,.12);transform:translateY(-4px);}
.mct{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--blue);text-transform:uppercase;margin-bottom:12px;}
.mch{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.04em;color:var(--ink);margin-bottom:10px;}
.mcd{font-size:13px;font-weight:300;color:var(--body);line-height:1.65;}
/* QUOTE */
.qb{background:var(--ink);padding:72px 5vw;text-align:center;}
.qb blockquote{font-family:'Bebas Neue',sans-serif;font-size:clamp(24px,3.5vw,46px);letter-spacing:.04em;line-height:1.2;color:#fff;max-width:800px;margin:0 auto;}
.qb blockquote span{color:var(--blue);}
.qb p{font-size:12px;color:var(--muted);margin-top:16px;letter-spacing:.1em;text-transform:uppercase;}
/* PRODUCTS */
.prods{background:var(--surf);}
.ptop{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:44px;}
.fbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;}
.flt{font-size:12px;font-weight:500;background:var(--wh);border:1px solid var(--bdr);color:var(--body);padding:7px 18px;border-radius:20px;cursor:pointer;transition:all .2s;}
.flt:hover{border-color:var(--blue);color:var(--blue);}
.flt.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(266px,1fr));gap:16px;}
.pc{background:var(--wh);border:1px solid var(--bdr);border-radius:10px;padding:26px 24px;cursor:pointer;position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s;}
.pc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--acc));transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.pc:hover{box-shadow:0 8px 28px rgba(26,154,219,.10);transform:translateY(-3px);border-color:var(--blue-md);}
.pc:hover::after{transform:scaleX(1);}
.pcc{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.18em;color:var(--blue);text-transform:uppercase;margin-bottom:8px;opacity:.85;}
.pcn{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:.05em;color:var(--ink);line-height:1;margin-bottom:8px;}
.pcn .s{color:var(--blue);}
.pct{font-size:13px;font-weight:300;color:var(--body);line-height:1.55;margin-bottom:16px;}
.pck{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;padding-top:14px;border-top:1px solid var(--bdr);}
/* MAYOREO */
.may{background:var(--wh);}
.ml{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.bl{display:flex;flex-direction:column;}
.bi{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--bdr);}
.bi:last-child{border-bottom:none;}
.bic{width:36px;height:36px;flex-shrink:0;border-radius:8px;background:var(--blue-lt);display:flex;align-items:center;justify-content:center;margin-top:2px;}
.bic svg{width:16px;height:16px;stroke:var(--blue);fill:none;}
.bi strong{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.bi span{font-size:13px;color:var(--body);line-height:1.6;}
/* FORM */
.formsec{background:var(--surf);}
.fw{max-width:780px;margin:0 auto;}
.fhdr{text-align:center;margin-bottom:52px;}
.fhdr p{font-size:15px;color:var(--body);line-height:1.7;max-width:480px;margin:14px auto 0;}
.vf{background:var(--wh);border:1px solid var(--bdr);border-radius:16px;padding:52px 48px;box-shadow:0 8px 40px rgba(0,0,0,.05);}
.fr{display:grid;gap:20px;margin-bottom:20px;}
.fr.c2{grid-template-columns:1fr 1fr;}
.fg{display:flex;flex-direction:column;gap:7px;}
.fl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--blue-dk);text-transform:uppercase;font-weight:500;}
.fi{background:var(--surf);border:1.5px solid var(--bdr);color:var(--ink);padding:13px 16px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;appearance:none;}
.fi:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,154,219,.10);}
.fi::placeholder{color:var(--muted);}
.fd{height:1px;background:var(--bdr);margin:28px 0;position:relative;}
.fd::after{content:attr(data-label);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--wh);padding:0 14px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;}
.rr{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;}
.ro{flex:1;min-width:108px;border:1.5px solid var(--bdr);background:var(--surf);padding:11px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s;}
.ro:hover{border-color:var(--blue);background:var(--blue-lt);}
.ro input{display:none;}
.ro:has(input:checked){border-color:var(--blue);background:var(--blue-lt);}
.rd{width:14px;height:14px;border:1.5px solid var(--bdr);border-radius:50%;flex-shrink:0;position:relative;}
.ro:has(input:checked) .rd{border-color:var(--blue);}
.ro:has(input:checked) .rd::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--blue);border-radius:50%;}
.rl{font-size:13px;font-weight:400;color:var(--body);transition:color .2s;}
.ro:has(input:checked) .rl{color:var(--blue-dk);font-weight:500;}
.bsub{width:100%;background:var(--blue);color:#fff;border:none;padding:17px 40px;border-radius:9px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;margin-top:32px;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,box-shadow .25s,transform .2s;}
.bsub:hover{background:var(--blue-dk);box-shadow:0 8px 32px rgba(26,154,219,.30);transform:translateY(-2px);}
.bsub svg{width:18px;height:18px;stroke:#fff;fill:none;}
.fn{margin-top:18px;font-size:12px;color:var(--muted);text-align:center;line-height:1.6;}
.fn strong{color:var(--blue);}
.fok{display:none;text-align:center;padding:60px 32px;}
.fok.show{display:block;}
.sci{width:64px;height:64px;border-radius:50%;background:var(--blue-lt);border:2px solid var(--blue-md);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.sci svg{width:28px;height:28px;stroke:var(--blue);fill:none;}
.sct{font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:.04em;color:var(--ink);margin-bottom:12px;}
.scp{font-size:15px;color:var(--body);line-height:1.75;}
.scp strong{color:var(--blue);}
/* FOOTER */
footer{background:#1a9adb;border-top:none;padding:60px 5vw 36px;}
footer p, footer .fcpy {color:rgba(255,255,255,0.85)!important;}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;margin-bottom:44px;}
.ftitle{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--blue-lt);text-transform:uppercase;margin-bottom:18px;}
.flinks{list-style:none;display:flex;flex-direction:column;gap:11px;}
.flinks a{font-size:13px;color:rgba(255,255,255,0.85)!important;text-decoration:none;transition:color .2s;}
.flinks a:hover{color:#fff!important;}
.fbot{border-top:1px solid rgba(255,255,255,0.15);padding-top:28px;display:flex;align-items:center;justify-content:space-between;}
.fcpy{font-size:12px;color:rgba(255,255,255,0.7)!important;}
footer img {filter: brightness(0) invert(1) !important;}
/* REVEAL ANIMATIONS */
.rv, .rv-up, .rv-left, .rv-right, .rv-zoom { opacity: 0; transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); }
.rv { transform: translateY(30px); }
.rv-up { transform: translateY(40px); }
.rv-left { transform: translateX(-40px); }
.rv-right { transform: translateX(40px); }
.rv-zoom { transform: scale(0.85); }

.rv.in, .rv-up.in, .rv-left.in, .rv-right.in, .rv-zoom.in { opacity: 1; transform: none; }

.rv.d1, .rv-up.d1, .rv-left.d1, .rv-right.d1, .rv-zoom.d1 { transition-delay: .1s; }
.rv.d2, .rv-up.d2, .rv-left.d2, .rv-right.d2, .rv-zoom.d2 { transition-delay: .2s; }
.rv.d3, .rv-up.d3, .rv-left.d3, .rv-right.d3, .rv-zoom.d3 { transition-delay: .3s; }
.rv.d4, .rv-up.d4, .rv-left.d4, .rv-right.d4, .rv-zoom.d4 { transition-delay: .4s; }
.rv.d5, .rv-up.d5, .rv-left.d5, .rv-right.d5, .rv-zoom.d5 { transition-delay: .5s; }
/* ABOUT / TIMELINE */
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.tline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.tline-item{padding:0 36px;border-right:1px solid var(--bdr);}
.tline-item:first-child{padding:0 36px 0 0;}
.tline-item:last-child{padding:0 0 0 36px;border-right:none;}
.tbox{background:var(--surf);border:1px solid var(--bdr);border-radius:16px;padding:52px 48px;}
.ham{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.ham svg{width:24px;height:24px;stroke:var(--ink);fill:none;stroke-width:2;}
@media(max-width:960px){
  nav{height:90px;}
  .ham{display:flex;}
  .nm{display:flex;flex-direction:column;position:fixed;top:90px;left:0;right:0;background:var(--wh);padding:24px 5vw;border-bottom:1px solid var(--bdr);gap:24px;transform:translateY(-150%);transition:transform .3s ease;z-index:190;opacity:0;}
  .nm.open{transform:translateY(0);opacity:1;}
  .hr{display:none;}
  .hero{flex-direction:column;justify-content:center;align-items:flex-start;padding-top:120px;}
  .hstrip{flex-direction:column;position:relative!important;bottom:auto!important;width:100%;background:transparent;border:none;margin-top:40px;gap:12px;}
  .hs{padding:12px;border:1px solid var(--bdr);border-radius:12px;background:var(--wh);}
  .hact{flex-direction:column;align-items:stretch;gap:12px;}
  .bp{justify-content:center;}
  .bg{justify-content:center;}
  .hdr-img{height:45vh;right:-10vw;opacity:0.25;bottom:0;}
  .tl,.mg,.ml,.ptop,.fgrid{grid-template-columns:1fr;}
  .fr.c2{grid-template-columns:1fr;}
  .vf{padding:36px 24px;}
  .tbox{padding:36px 24px;}
  .vgrid{grid-template-columns:1fr;}
  .tline{grid-template-columns:1fr;gap:32px;}
  .tline-item{padding:0 0 24px 0!important;border-right:none!important;border-bottom:1px solid var(--bdr);}
  .tline-item:last-child{padding-bottom:0!important;border-bottom:none;}
}