:root{
  --ink-950:#04051a;
  --ink-900:#070926;
  --ink-800:#0b0e33;
  --ink-700:#121643;
  --brand-100:#dbe4ff;
  --brand-200:#c2d0ff;
  --brand-300:#9db4ff;
  --brand-400:#6f8dff;
  --brand-500:#5b6cff;
  --brand-600:#6d3ff5;
  --violet:#8b5cf6;
  --cyan:#38bdf8;
  --emerald:#34d399;
  --font-display:'Sora', ui-sans-serif, system-ui, sans-serif;
  --font-heading:'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:90px;}
body{
  margin:0;
  background:var(--ink-950);
  color:#e7ecff;
  font-family:var(--font-display);
  font-weight:300;
  overflow-x:hidden;
  -webkit-tap-highlight-color:transparent;
}
h1,h2,h3,h4{margin:0; font-family:var(--font-heading); letter-spacing:-0.01em;}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
input,textarea,select{font-family:inherit;}
::selection{background:var(--brand-600); color:#fff;}
::-webkit-scrollbar{width:10px; height:10px;}
::-webkit-scrollbar-track{background:#06071f;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--brand-500),var(--violet)); border-radius:999px; border:2px solid #06071f;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--cyan); outline-offset:2px;}

.wrap{max-width:1180px; margin:0 auto; padding:0 20px;}
@media(min-width:640px){.wrap{padding:0 32px;}}

/* utility classes */
.text-gradient{background:linear-gradient(100deg,#9db4ff 0%,#7c8cff 30%,#a855f7 65%,#38bdf8 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.glass{background:linear-gradient(160deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02)); border:1px solid rgba(255,255,255,0.09); backdrop-filter:blur(14px);}
.glow-ring{box-shadow:0 0 0 1px rgba(109,63,245,0.25), 0 20px 60px -20px rgba(91,108,255,0.55);}
.grid-bg{background-image:linear-gradient(rgba(120,140,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(120,140,255,.07) 1px, transparent 1px); background-size:60px 60px;}
.mask-fade-x{-webkit-mask-image:linear-gradient(90deg,transparent, #000 12%, #000 88%, transparent); mask-image:linear-gradient(90deg,transparent, #000 12%, #000 88%, transparent);}
.card-hover{transition:transform .45s cubic-bezier(.16,1,.3,1), border-color .45s ease, box-shadow .45s ease, background .45s ease;}
.card-hover:hover{transform:translateY(-8px); border-color:rgba(139,92,246,.5); box-shadow:0 30px 70px -30px rgba(109,63,245,.75);}
.btn-glow{position:relative; overflow:hidden; isolation:isolate; display:inline-block;}
.btn-glow::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%, rgba(255,255,255,.45) 50%, transparent 80%); transform:translateX(-120%); transition:transform .7s ease; z-index:-1;}
.btn-glow:hover::after{transform:translateX(120%);}
.shine-text{background:linear-gradient(90deg,#6b7bff 0%, #fff 45%, #a855f7 60%, #6b7bff 100%); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shine 6s linear infinite;}
.pill{display:inline-flex; align-items:center; gap:8px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); padding:7px 16px; font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; color:rgba(219,228,255,.8); text-transform:uppercase; backdrop-filter:blur(10px);}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--brand-400); flex-shrink:0;}

/* fade-in-on-scroll helper classes */
.reveal{opacity:0; transform:translate3d(0,38px,0) scale(.985); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1); will-change:opacity, transform;}
.reveal.reveal-left{transform:translate3d(-46px,0,0);}
.reveal.reveal-right{transform:translate3d(46px,0,0);}
.reveal.reveal-zoom{transform:scale(.9);}
.reveal.is-visible{opacity:1; transform:translate3d(0,0,0) scale(1);}

/* animation keyframes */
@keyframes float-slow{0%,100%{transform:translate3d(0,0,0);}50%{transform:translate3d(0,-26px,0);}}
@keyframes float-x{0%,100%{transform:translate3d(0,0,0) rotate(0);}50%{transform:translate3d(18px,-14px,0) rotate(6deg);}}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1);}33%{transform:translate3d(6%,-8%,0) scale(1.12);}66%{transform:translate3d(-7%,5%,0) scale(.94);}100%{transform:translate3d(0,0,0) scale(1);}}
@keyframes marquee{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}
@keyframes spin-slow{to{transform:rotate(360deg);}}
@keyframes pulse-dot{0%,100%{opacity:1; transform:scale(1);}50%{opacity:.35; transform:scale(.7);}}
@keyframes blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
@keyframes shine{from{background-position:200% center;}to{background-position:-200% center;}}
@keyframes rise{from{opacity:0; transform:translateY(26px);}to{opacity:1; transform:translateY(0);}}
@keyframes draw{to{stroke-dashoffset:0;}}
@keyframes bounce-y{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

.anim-float{animation:float-slow 7s ease-in-out infinite;}
.anim-float-x{animation:float-x 9s ease-in-out infinite;}
.anim-drift{animation:drift 22s ease-in-out infinite;}
.anim-spin-slow{animation:spin-slow 26s linear infinite;}
.anim-pulse-dot{animation:pulse-dot 1.6s ease-in-out infinite;}
.anim-blink{animation:blink 1s step-end infinite;}
.anim-rise{animation:rise .9s cubic-bezier(.16,1,.3,1) both;}
.marquee-track{animation:marquee 32s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-slow{animation-duration:46s;}
.marquee-rev{animation-direction:reverse;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
  .reveal{opacity:1; transform:none;}
}

/* loading screen */
#preloader{position:fixed; inset:0; z-index:200; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--ink-950); transition:opacity .7s ease; }
#preloader.gone{opacity:0; pointer-events:none;}
#preloader img{width:88px; height:88px; object-fit:contain; filter:drop-shadow(0 0 30px rgba(124,92,255,.4));}
#preloader .bar{margin-top:24px; width:160px; height:3px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden;}
#preloader .bar-fill{height:100%; width:22%; border-radius:999px; background:linear-gradient(90deg,#38bdf8, var(--brand-500), var(--violet)); transition:width 1.5s cubic-bezier(.16,1,.3,1);}
#preloader p{margin-top:16px; font-family:var(--font-mono); font-size:10px; letter-spacing:.35em; color:rgba(219,228,255,.4); text-transform:uppercase;}

/* fixed background layer */
.bg-field{position:fixed; inset:0; z-index:-10; overflow:hidden; background:var(--ink-950);}
.bg-field .grid-layer{position:absolute; inset:0; opacity:.7; -webkit-mask-image:radial-gradient(ellipse at 50% 0%, #000 10%, transparent 75%); mask-image:radial-gradient(ellipse at 50% 0%, #000 10%, transparent 75%);}
.orb{position:absolute; border-radius:50%; filter:blur(60px);}
.orb-1{top:-160px; left:-130px; width:38rem; height:38rem; background:radial-gradient(circle, rgba(99,102,241,.42), transparent 65%);}
.orb-2{top:35%; right:-160px; width:34rem; height:34rem; background:radial-gradient(circle, rgba(139,92,246,.38), transparent 65%); animation-delay:-7s;}
.orb-3{bottom:0; left:33%; width:30rem; height:30rem; background:radial-gradient(circle, rgba(56,189,248,.25), transparent 65%); animation-delay:-14s;}
.spot{position:absolute; top:0; left:0; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle, rgba(124,109,255,.13), transparent 60%); filter:blur(20px); display:none;}
@media(min-width:900px){.spot{display:block;}}
.vignette{position:absolute; inset:0; background:radial-gradient(ellipse at 50% -10%, transparent 30%, rgba(4,5,26,.85) 75%);}

/* top nav bar */
header{position:fixed; inset:0 0 auto 0; z-index:50; transition:all .5s ease; background:transparent;}
header.scrolled{background:rgba(4,5,26,.8); box-shadow:0 10px 40px -20px rgba(0,0,0,.9); backdrop-filter:blur(20px);}
.nav-row{max-width:1180px; margin:0 auto; padding:0 20px; height:72px; display:flex; align-items:center; justify-content:space-between;}
@media(min-width:640px){.nav-row{padding:0 32px;}}
.brand{display:flex; align-items:center; gap:10px; transition:transform .3s ease;}
.brand:hover{transform:scale(1.03);}
.brand img{width:38px; height:38px; object-fit:contain; flex-shrink:0;}
.brand .word{font-size:1.35rem; font-weight:300; letter-spacing:.05em; color:#fff;}
.brand .word .o{background:linear-gradient(135deg,#38bdf8,var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent;}
nav.links{display:none; align-items:center; gap:4px;}
@media(min-width:960px){nav.links{display:flex;}}
nav.links a{position:relative; padding:9px 16px; border-radius:999px; font-size:.9rem; color:rgba(219,228,255,.6); transition:color .3s ease;}
nav.links a:hover{color:#fff;}
nav.links a.active{color:#fff;}
nav.links a.active::before{content:''; position:absolute; inset:0; z-index:-1; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05);}
.nav-actions{display:flex; align-items:center; gap:12px;}
.nav-cta{display:none; border-radius:999px; background:linear-gradient(90deg,var(--brand-500),var(--brand-600)); color:#fff; font-size:.85rem; font-weight:600; padding:10px 20px; box-shadow:0 10px 30px -10px rgba(109,63,245,.9); transition:transform .3s ease;}
.nav-cta:hover{transform:scale(1.05);}
@media(min-width:640px){.nav-cta{display:inline-block;}}
.menu-btn{display:flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); position:relative;}
@media(min-width:960px){.menu-btn{display:none;}}
.menu-btn span{position:absolute; left:12px; display:block; height:2px; width:20px; border-radius:2px; background:#fff; transition:all .3s ease;}
.menu-btn span:nth-child(1){top:16px;}
.menu-btn span:nth-child(2){top:22px;}
.menu-btn span:nth-child(3){top:28px;}
.menu-btn.open span:nth-child(1){top:22px; transform:rotate(45deg);}
.menu-btn.open span:nth-child(2){opacity:0;}
.menu-btn.open span:nth-child(3){top:22px; transform:rotate(-45deg);}
.progress-track{height:2px; width:100%; background:rgba(255,255,255,.05);}
.progress-fill{height:100%; width:0%; background:linear-gradient(90deg,#38bdf8,var(--brand-500),var(--violet)); transition:width .15s ease-out;}

.mobile-menu{position:fixed; inset:0; z-index:45; opacity:0; pointer-events:none; transition:opacity .5s ease;}
.mobile-menu.open{opacity:1; pointer-events:auto;}
.mobile-menu .overlay{position:absolute; inset:0; background:rgba(4,5,26,.96); backdrop-filter:blur(24px);}
.mobile-menu nav{position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; gap:4px; padding:0 32px;}
.mobile-menu nav a{display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:1.4rem; font-weight:300; color:rgba(255,255,255,.9); transform:translateX(30px); opacity:0; transition:all .5s cubic-bezier(.16,1,.3,1);}
.mobile-menu.open nav a{transform:translateX(0); opacity:1;}
.mobile-menu nav a .idx{font-family:var(--font-mono); font-size:.75rem; color:var(--brand-400);}
.mobile-menu nav a .arrow{margin-left:auto; color:var(--brand-400); transition:transform .3s ease;}
.mobile-menu nav a:hover .arrow{transform:translateX(4px);}
.mobile-menu .cta-final{margin-top:24px; border-radius:16px; background:linear-gradient(90deg,var(--brand-500),var(--brand-600)); padding:16px; text-align:center; font-weight:600; color:#fff;}

/* generic section spacing */
section{position:relative; padding:72px 0;}
@media(min-width:640px){section{padding:96px 0;}}
.section-head{max-width:720px; margin:0 auto; text-align:center;}
.section-head.left{margin:0; text-align:left;}
.section-head h2{margin-top:20px; font-size:clamp(1.7rem,4.4vw,2.9rem); font-weight:700; line-height:1.12; color:#fff;}
.section-head p.desc{margin-top:20px; font-size:1.02rem; line-height:1.7; color:rgba(219,228,255,.6);}

/* hero banner */
.hero{padding-top:150px; padding-bottom:70px; overflow:hidden;}
@media(min-width:640px){.hero{padding-top:180px; padding-bottom:100px;}}
.hero-grid{display:grid; gap:44px; align-items:center;}
@media(min-width:1024px){.hero-grid{grid-template-columns:1.05fr 1fr; gap:40px;}}
.badge-live{display:inline-flex; align-items:center; gap:9px; border-radius:999px; border:1px solid rgba(52,211,153,.25); background:rgba(52,211,153,.1); padding:7px 16px; font-size:.78rem; color:#6ee7b7;}
.badge-live .dot{width:8px;height:8px;border-radius:50%;background:#34d399;}
.hero h1{margin-top:22px; font-size:clamp(2.1rem,6.4vw,4.1rem); line-height:1.06; font-weight:800; letter-spacing:-.02em; color:#fff;}
.type-cursor{display:inline-block; width:3px; height:.85em; margin-left:4px; transform:translateY(.12em); background:var(--brand-400);}
.hero p.lead{margin-top:22px; max-width:560px; font-size:1.05rem; line-height:1.7; color:rgba(219,228,255,.65);}
.hero p.lead strong{color:#fff; font-weight:600;}
.hero-actions{margin-top:34px; display:flex; flex-wrap:wrap; gap:16px;}
.btn-primary{border-radius:999px; background:linear-gradient(90deg,var(--brand-500),var(--brand-600),var(--violet)); color:#fff; font-weight:600; font-size:.92rem; padding:15px 30px; box-shadow:0 20px 50px -18px rgba(109,63,245,1); transition:transform .3s ease;}
.btn-primary:hover{transform:scale(1.05);}
.btn-secondary{border-radius:999px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); color:rgba(255,255,255,.85); font-weight:600; font-size:.92rem; padding:15px 30px; transition:all .3s ease; backdrop-filter:blur(10px);}
.btn-secondary:hover{border-color:rgba(111,141,255,.6); background:rgba(255,255,255,.1);}
.stat-row{margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; border-top:1px solid rgba(255,255,255,.08); padding-top:30px;}
.stat-value{font-size:1.6rem; font-weight:700; color:#fff;}
@media(min-width:640px){.stat-value{font-size:1.9rem;}}
.stat-label{margin-top:4px; font-size:.78rem; color:rgba(219,228,255,.5);}
@media(min-width:640px){.stat-label{font-size:.85rem;}}

.hero-visual{position:relative;}
.float-chip{position:absolute; z-index:5; display:none; border-radius:16px; border:1px solid rgba(255,255,255,.1); background:rgba(11,14,51,.9); padding:12px 16px; box-shadow:0 20px 40px -20px rgba(0,0,0,.6); backdrop-filter:blur(10px);}
@media(min-width:640px){.float-chip{display:block;}}
.chip-price{top:-24px; left:-12px;}
.chip-price .l{font-family:var(--font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(219,228,255,.5);}
.chip-price .v{font-size:1.25rem; font-weight:700; color:#fff;}
.chip-speed{bottom:-20px; right:-8px; display:none;}
@media(min-width:640px){.chip-speed{display:flex; align-items:center; gap:10px;}}
.chip-speed .ring{position:relative; width:40px; height:40px;}
.chip-speed .ring span{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:#6ee7b7;}
.chip-speed .t1{font-size:.75rem; font-weight:700; color:#fff;}
.chip-speed .t2{font-family:var(--font-mono); font-size:10px; color:rgba(219,228,255,.5);}

.glow-blur{position:absolute; inset:-24px; z-index:-1; border-radius:32px; background:linear-gradient(135deg, rgba(91,108,255,.25), rgba(139,92,246,.2), rgba(56,189,248,.2)); filter:blur(30px);}
.terminal{position:relative; border-radius:18px; overflow:hidden; box-shadow:0 40px 100px -40px rgba(76,52,190,.9);}
.terminal-bar{display:flex; align-items:center; gap:8px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.05); padding:12px 16px;}
.terminal-bar span.dot{width:11px; height:11px; border-radius:50%;}
.terminal-bar .r{background:#ff5f57;} .terminal-bar .y{background:#febc2e;} .terminal-bar .g{background:#28c840;}
.terminal-bar .fname{margin-left:8px; font-family:var(--font-mono); font-size:11px; color:rgba(219,228,255,.5);}
.terminal-bar .live{margin-left:auto; display:flex; align-items:center; gap:6px; border-radius:999px; background:rgba(52,211,153,.12); padding:3px 9px; font-family:var(--font-mono); font-size:10px; color:#6ee7b7;}
.terminal-bar .live .pd{width:6px;height:6px;border-radius:50%;background:#34d399;}
.terminal-body{position:relative; min-height:300px; padding:18px; font-family:var(--font-mono); font-size:12.5px; line-height:1.9; background:linear-gradient(180deg, rgba(4,5,26,.4), rgba(109,63,245,.06));}
.terminal-body .line{display:flex; gap:12px; white-space:pre;}
.terminal-body .no{width:16px; flex-shrink:0; text-align:right; color:rgba(255,255,255,.15); user-select:none;}
.tk-kw{color:#c4b5fd;} .tk-str{color:#fcd34d;} .tk-fn{color:#6ee7b7;} .tk-key{color:#7dd3fc;} .tk-def{color:#dbe4ff;} .tk-cm{color:rgba(165,180,252,.55);}
.tcursor{display:inline-block; width:7px; height:14px; margin-left:1px; transform:translateY(2px); background:var(--brand-400);}
.stack-row{margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; justify-content:center;}
@media(min-width:1024px){.stack-row{justify-content:flex-start;}}
.stack-chip{border-radius:8px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); padding:6px 12px; font-family:var(--font-mono); font-size:11px; color:rgba(219,228,255,.6);}

.scroll-hint{margin-top:56px; display:flex; justify-content:center;}
.scroll-hint a{display:flex; flex-direction:column; align-items:center; gap:8px;}
.scroll-hint span.txt{font-family:var(--font-mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:rgba(219,228,255,.4);}
.scroll-hint .pill-scroll{display:flex; justify-content:center; width:20px; height:34px; border-radius:999px; border:1px solid rgba(255,255,255,.15); padding:4px;}
.scroll-hint .pill-scroll i{width:4px; height:8px; border-radius:999px; background:var(--brand-400); animation:bounce-y 1.4s ease-in-out infinite;}

/* scrolling logo strip */
.marquee-section{border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); background:rgba(255,255,255,.015); padding:44px 0;}
.marquee-section .kicker{text-align:center; margin-bottom:26px;}
.marquee-row{display:flex; overflow:hidden;}
.marquee-row .track{display:flex; flex-shrink:0; gap:16px; padding-right:16px;}
.marquee-item{display:flex; flex-shrink:0; align-items:center; gap:10px; border-radius:12px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); padding:12px 20px; font-size:.9rem; color:rgba(219,228,255,.7);}
.marquee-item .b{width:6px; height:6px; border-radius:50%; background:linear-gradient(90deg,#38bdf8,var(--violet));}
.marquee-rows{display:flex; flex-direction:column; gap:16px;}

/* small uppercase tag text */
.kicker-text{font-family:var(--font-mono); font-size:11px; letter-spacing:.35em; text-transform:uppercase; color:rgba(219,228,255,.35);}

/* history timeline */
.timeline-wrap{position:relative; margin-top:64px;}
.timeline-line{position:absolute; top:0; bottom:0; left:18px; width:1px; background:rgba(255,255,255,.08);}
@media(min-width:640px){.timeline-line{left:50%; transform:translateX(-.5px);}}
.timeline-fill{width:1px; height:0%; background:linear-gradient(180deg,#38bdf8,var(--brand-500),var(--violet)); box-shadow:0 0 16px rgba(109,63,245,.9); transition:height .2s ease-out;}
.milestone{position:relative; padding-left:48px; margin-bottom:40px;}
@media(min-width:640px){.milestone{padding-left:0; display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:64px;}}
.milestone .node{position:absolute; top:24px; left:10px; z-index:2;}
@media(min-width:640px){.milestone .node{left:50%; transform:translateX(-50%);}}
.milestone .node .halo{position:absolute; inset:0; border-radius:50%; background:rgba(91,108,255,.5); filter:blur(3px);}
.milestone .node .core{position:relative; width:16px; height:16px; border-radius:50%; border:2px solid var(--brand-400); background:var(--ink-950);}
.milestone .content{border-radius:18px; padding:24px;}
.milestone.left .content{}
@media(min-width:640px){.milestone.left .content{grid-column:1; text-align:right; padding-right:40px;}
  .milestone.right .content{grid-column:2; padding-left:40px;}}
.milestone .meta{display:flex; align-items:center; gap:12px;}
@media(min-width:640px){.milestone.left .meta{justify-content:flex-end;}}
.milestone .year{border-radius:8px; background:linear-gradient(90deg, rgba(91,108,255,.25), rgba(139,92,246,.25)); padding:4px 10px; font-family:var(--font-mono); font-size:12px; font-weight:700; color:var(--brand-300);}
.milestone .tag{font-family:var(--font-mono); font-size:10px; letter-spacing:.25em; text-transform:uppercase; color:rgba(219,228,255,.4);}
.milestone h3{margin-top:16px; font-size:1.25rem; font-weight:700; color:#fff;}
@media(min-width:640px){.milestone h3{font-size:1.4rem;}}
.milestone p{margin-top:12px; font-size:.92rem; line-height:1.7; color:rgba(219,228,255,.6);}

.manifesto{position:relative; overflow:hidden; margin-top:50px; border-radius:26px; padding:48px 24px; text-align:center;}
@media(min-width:640px){.manifesto{padding:64px 60px;}}
.manifesto .spin-bg{position:absolute; top:-50%; left:50%; width:40rem; height:40rem; transform:translateX(-50%); background:conic-gradient(from 0deg, transparent, rgba(109,63,245,.22), transparent 40%); pointer-events:none;}
.manifesto .mark{position:relative; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:18px; border-radius:14px; background:linear-gradient(135deg, rgba(109,63,245,.25), rgba(56,189,248,.2)); border:1px solid rgba(255,255,255,.1); font-family:var(--font-heading); font-size:1.6rem; font-weight:700; color:#fff;}
.manifesto p.label{position:relative; font-family:var(--font-mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(157,180,255,.7);}
.manifesto p.quote{position:relative; margin:22px auto 0; max-width:740px; font-size:1.15rem; font-weight:300; line-height:1.75; color:#fff;}
@media(min-width:640px){.manifesto p.quote{font-size:1.45rem;}}
.manifesto p.sign{position:relative; margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); display:inline-block; font-size:.9rem; letter-spacing:.03em; color:rgba(219,228,255,.55);}

/* why choose us block */
.why-panel{position:relative; overflow:hidden; border-radius:26px; padding:28px 22px;}
@media(min-width:640px){.why-panel{padding:48px;}}
.why-panel .blur-orb{position:absolute; bottom:-130px; left:-80px; width:18rem; height:18rem; border-radius:50%; background:rgba(56,189,248,.1); filter:blur(60px);}
.why-grid-wrap{position:relative; display:grid; gap:36px;}
@media(min-width:1024px){.why-grid-wrap{grid-template-columns:.85fr 1.15fr;}}
.why-left h2{margin-top:14px; font-size:1.8rem; font-weight:700; line-height:1.25; color:#fff;}
@media(min-width:640px){.why-left h2{font-size:2.2rem;}}
.why-left p.d{margin-top:16px; color:rgba(219,228,255,.6); font-size:.98rem; line-height:1.7;}
.why-stats{margin-top:34px; display:grid; grid-template-columns:1fr 1fr; gap:22px; border-top:1px solid rgba(255,255,255,.08); padding-top:26px;}
.why-cards{display:grid; gap:16px;}
@media(min-width:640px){.why-cards{grid-template-columns:1fr 1fr;}}
.why-card{border-radius:18px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); padding:20px; transition:all .5s ease;}
.why-card:hover{transform:translateY(-6px); border-color:rgba(111,141,255,.45); background:rgba(255,255,255,.06);}
.why-card .icon{display:inline-flex; font-size:1.5rem; transition:transform .5s ease;}
.why-card:hover .icon{transform:scale(1.25) rotate(-6deg);}
.why-card h3{margin-top:14px; font-size:1rem; font-weight:700; color:#fff;}
.why-card p{margin-top:8px; font-size:.86rem; line-height:1.6; color:rgba(219,228,255,.6);}

/* services cards */
.svc-grid{margin-top:48px; display:grid; gap:18px;}
@media(min-width:640px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.svc-grid{grid-template-columns:1fr 1fr 1fr;}}
.svc-card{position:relative; overflow:hidden; border-radius:18px; padding:24px; display:flex; flex-direction:column;}
.svc-card .top-row{display:flex; align-items:flex-start; justify-content:space-between;}
.svc-icon{display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg, rgba(91,108,255,.25), rgba(139,92,246,.2)); border:1px solid rgba(255,255,255,.1); color:var(--brand-300); transition:transform .5s ease;}
.svc-card:hover .svc-icon{transform:scale(1.1) rotate(6deg);}
.svc-price{border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); padding:5px 12px; font-family:var(--font-mono); font-size:11px; color:var(--brand-300);}
.svc-card h3{margin-top:18px; font-size:1.1rem; font-weight:700; color:#fff;}
.svc-card p.d{margin-top:9px; font-size:.9rem; line-height:1.65; color:rgba(219,228,255,.6);}
.svc-card ul{margin-top:18px; display:flex; flex-direction:column; gap:9px; border-top:1px solid rgba(255,255,255,.08); padding-top:16px;}
.svc-card li{display:flex; align-items:center; gap:8px; font-size:.83rem; color:rgba(219,228,255,.7);}
.svc-card li svg{width:15px; height:15px; color:#34d399; flex-shrink:0;}

.svc-band{margin-top:26px; display:flex; flex-direction:column; align-items:center; gap:20px; border-radius:20px; padding:26px 22px; text-align:center;}
@media(min-width:640px){.svc-band{flex-direction:row; justify-content:space-between; padding:30px; text-align:left;}}
.svc-band-left{display:flex; flex-direction:column; align-items:center; gap:14px;}
@media(min-width:640px){.svc-band-left{flex-direction:row;}}
.svc-band-icon{display:none; flex-shrink:0; width:56px; height:56px; align-items:center; justify-content:center; border-radius:16px; background:linear-gradient(135deg, rgba(56,189,248,.2), rgba(139,92,246,.2)); font-size:1.4rem; border:1px solid rgba(255,255,255,.1);}
@media(min-width:640px){.svc-band-icon{display:flex;}}
.svc-band h3{font-size:1.1rem; font-weight:700; color:#fff;}
.svc-band p{margin-top:5px; font-size:.88rem; color:rgba(219,228,255,.6);}
.btn-white{flex-shrink:0; border-radius:999px; background:#fff; color:var(--ink-950); font-weight:700; font-size:.88rem; padding:13px 24px; transition:transform .3s ease;}
.btn-white:hover{transform:scale(1.05);}

/* 4-step process */
.process-wrap{position:relative; margin-top:56px;}
.process-line{position:absolute; top:36px; left:32px; right:32px; height:1px; background:linear-gradient(90deg, transparent, rgba(91,108,255,.4), transparent); display:none;}
@media(min-width:1024px){.process-line{display:block;}}
.process-grid{display:grid; gap:26px;}
@media(min-width:640px){.process-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.process-grid{grid-template-columns:repeat(4,1fr);}}
.process-step{position:relative;}
.process-badge{position:relative; z-index:2; margin:0 auto; display:flex; width:72px; height:72px; align-items:center; justify-content:center; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:var(--ink-900); font-size:1.7rem; box-shadow:0 20px 50px -25px rgba(109,63,245,.9); transition:all .5s ease;}
@media(min-width:1024px){.process-badge{margin:0;}}
.process-step:hover .process-badge{transform:translateY(-6px); border-color:rgba(111,141,255,.6);}
.process-num{position:absolute; top:-12px; right:-12px; border-radius:999px; background:linear-gradient(90deg,var(--brand-500),var(--violet)); padding:2px 8px; font-family:var(--font-mono); font-size:10px; font-weight:700; color:#fff;}
.process-step h3{margin-top:22px; text-align:center; font-size:1.05rem; font-weight:700; color:#fff;}
@media(min-width:1024px){.process-step h3{text-align:left;}}
.process-step p{margin-top:8px; text-align:center; font-size:.88rem; line-height:1.6; color:rgba(219,228,255,.6);}
@media(min-width:1024px){.process-step p{text-align:left;}}

/* quote card */
.price-toggle{margin-top:34px; display:flex; justify-content:center;}
.price-toggle .box{display:inline-flex; gap:4px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); padding:4px; backdrop-filter:blur(10px);}
.price-toggle button{border:none; background:none; border-radius:999px; padding:9px 20px; font-size:.9rem; font-weight:500; color:rgba(219,228,255,.6); transition:all .3s ease;}
.price-toggle button.active{color:#fff; background:linear-gradient(90deg,var(--brand-500),var(--violet)); box-shadow:0 10px 25px -12px rgba(109,63,245,1);}

.plans-grid{margin-top:44px; display:grid; gap:22px; align-items:start;}
@media(min-width:1024px){.plans-grid{grid-template-columns:repeat(3,1fr);}}
.plan{position:relative; border-radius:24px; padding:1px; transition:transform .5s ease;}
.plan:hover{transform:translateY(-8px);}
.plan.basic, .plan.custom{background:rgba(255,255,255,.1);}
.plan.highlight{background:linear-gradient(180deg, rgba(111,141,255,.7), rgba(139,92,246,.4), transparent);}
@media(min-width:1024px){.plan.highlight{margin-top:-16px;}}
.plan-badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); z-index:2; border-radius:999px; background:linear-gradient(90deg,var(--brand-500),var(--violet)); padding:5px 16px; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#fff; box-shadow:0 8px 20px rgba(0,0,0,.3);}
.plan-inner{position:relative; height:100%; overflow:hidden; border-radius:23px; padding:28px 24px; background:rgba(11,14,51,.7);}
.plan.highlight .plan-inner{background:var(--ink-900);}
.plan-glow{position:absolute; top:-96px; left:50%; width:220px; height:220px; transform:translateX(-50%); border-radius:50%; background:rgba(91,108,255,.25); filter:blur(50px); pointer-events:none;}
.plan-tag{font-family:var(--font-mono); font-size:11px; letter-spacing:.25em; text-transform:uppercase; color:rgba(157,180,255,.8);}
.plan h3{margin-top:12px; font-size:1.5rem; font-weight:700; color:#fff;}
.plan p.d{margin-top:8px; min-height:42px; font-size:.88rem; line-height:1.6; color:rgba(219,228,255,.55);}
.plan-price{margin-top:22px; display:flex; align-items:flex-end; gap:5px;}
.plan-price .cur{font-size:1.1rem; font-weight:600; color:var(--brand-300);}
.plan-price .num{font-size:2.6rem; font-weight:800; color:#fff; letter-spacing:-.02em;}
.plan-price .per{margin-bottom:8px; font-size:.85rem; color:rgba(219,228,255,.5);}
.plan-note{margin-top:6px; font-size:.75rem; color:rgba(219,228,255,.4);}
.plan-cta{margin-top:26px; display:block; width:100%; border-radius:12px; padding:13px; text-align:center; font-size:.9rem; font-weight:600; transition:transform .3s ease;}
.plan-cta:hover{transform:scale(1.03);}
.plan.highlight .plan-cta{background:linear-gradient(90deg,var(--brand-500),var(--violet)); color:#fff; box-shadow:0 18px 40px -18px rgba(109,63,245,1);}
.plan.basic .plan-cta, .plan.custom .plan-cta{border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#fff;}
.plan.basic .plan-cta:hover, .plan.custom .plan-cta:hover{background:rgba(255,255,255,.1);}
.plan-features{margin-top:26px; display:flex; flex-direction:column; gap:11px; border-top:1px solid rgba(255,255,255,.08); padding-top:22px;}
.plan-features li{display:flex; align-items:flex-start; gap:9px; font-size:.86rem; color:rgba(219,228,255,.7);}
.plan-features .ck{display:flex; flex-shrink:0; width:16px; height:16px; margin-top:2px; align-items:center; justify-content:center; border-radius:50%; background:rgba(52,211,153,.15);}
.plan-features .ck svg{width:10px; height:10px; color:#34d399;}
.price-note{margin-top:26px; text-align:center; font-size:.88rem; color:rgba(219,228,255,.45);}
.quote-card{max-width:480px; margin:44px auto 0;}
.quote-card .plan-inner{text-align:center;}
.quote-card .plan-price{justify-content:center;}
.quote-card .plan-note{max-width:340px; margin-left:auto; margin-right:auto;}
.quote-card .plan-features{text-align:left;}
.wa-inline{position:relative; margin-top:16px; display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.85rem; color:rgba(219,228,255,.65); text-decoration:underline; text-underline-offset:3px;}
.wa-inline:hover{color:#fff;}
.wa-ico{font-size:1rem;}

/* testimonial quote block */
.quoter{position:relative; overflow:hidden; margin-top:56px; border-radius:26px; padding:22px 18px;}
@media(min-width:640px){.quoter{padding:36px;}}
.quoter-orb{position:absolute; top:-130px; right:-100px; width:18rem; height:18rem; border-radius:50%; background:rgba(139,92,246,.2); filter:blur(60px);}
.quoter-grid{position:relative; display:grid; gap:32px;}
@media(min-width:1024px){.quoter-grid{grid-template-columns:1.35fr 1fr;}}
.quoter h3{margin-top:12px; font-size:1.5rem; font-weight:700; color:#fff;}
@media(min-width:640px){.quoter h3{font-size:1.7rem;}}
.quoter p.sub{margin-top:8px; font-size:.9rem; color:rgba(219,228,255,.6);}
.q-label{margin:26px 0 12px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(219,228,255,.7); display:flex; justify-content:space-between; align-items:center;}
.q-types{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
@media(min-width:640px){.q-types{grid-template-columns:repeat(4,1fr);}}
.q-type{border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); padding:12px; text-align:left; transition:all .3s ease;}
.q-type.active{border-color:rgba(111,141,255,.7); background:rgba(91,108,255,.15); box-shadow:0 10px 30px -14px rgba(109,63,245,1);}
.q-type .em{display:block; font-size:1.15rem;}
.q-type .lb{margin-top:5px; display:block; font-size:.8rem; font-weight:500; color:#fff;}
input[type=range]{width:100%; height:6px; border-radius:999px; background:rgba(255,255,255,.1); appearance:none; outline:none; cursor:pointer;}
input[type=range]::-webkit-slider-thumb{appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 4px 10px rgba(0,0,0,.4); cursor:pointer;}
input[type=range]::-moz-range-thumb{width:18px; height:18px; border-radius:50%; background:#fff; border:none; box-shadow:0 4px 10px rgba(0,0,0,.4); cursor:pointer;}
.q-badge{border-radius:8px; background:rgba(255,255,255,.05); padding:4px 10px; font-family:var(--font-mono); font-size:12px; color:var(--brand-300);}
.q-extras{display:flex; flex-wrap:wrap; gap:8px;}
.q-extra{border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); padding:8px 14px; font-size:.82rem; color:rgba(219,228,255,.7); transition:all .3s ease;}
.q-extra.on{border-color:rgba(52,211,153,.5); background:rgba(52,211,153,.1); color:#a7f3d0;}
.q-extra .mk{margin-right:6px; font-family:var(--font-mono); font-size:11px;}
.q-switch-row{margin-top:26px; display:flex; align-items:center; gap:12px;}
.q-switch{position:relative; width:44px; height:24px; flex-shrink:0; border-radius:999px; background:rgba(255,255,255,.15); transition:background .3s ease;}
.q-switch.on{background:linear-gradient(90deg,var(--brand-500),var(--violet));}
.q-switch .knob{position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:left .3s ease;}
.q-switch.on .knob{left:23px;}
.q-switch-row .txt{font-size:.88rem; color:rgba(219,228,255,.75);}
.q-switch-row .txt .muted{color:rgba(219,228,255,.4);}

.q-result{position:relative; display:flex; flex-direction:column; justify-content:space-between; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(11,14,51,.7); padding:24px;}
.q-result .lbl{font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(219,228,255,.45);}
.q-total{margin-top:12px; display:flex; align-items:flex-end; gap:4px;}
.q-total .cur{font-size:1.4rem; font-weight:600; color:var(--brand-300);}
.q-total .num{font-size:2.6rem; font-weight:800; color:#fff;}
.q-total .cc{margin-bottom:6px; font-size:.85rem; color:rgba(219,228,255,.5);}
.q-note{margin-top:8px; font-size:.75rem; color:rgba(219,228,255,.45);}
.q-lines{margin-top:20px; display:flex; flex-direction:column; gap:9px; border-top:1px solid rgba(255,255,255,.08); padding-top:18px; font-size:.83rem; color:rgba(219,228,255,.7);}
.q-lines li{display:flex; justify-content:space-between;}
.q-lines .v{font-family:var(--font-mono); color:var(--brand-300);}
.q-actions{margin-top:24px; display:flex; flex-direction:column; gap:10px;}
.btn-mail{display:block; border-radius:12px; padding:13px; text-align:center; font-size:.9rem; font-weight:600; background:linear-gradient(90deg,var(--brand-500),var(--violet)); color:#fff; transition:transform .3s ease;}
.btn-mail:hover{transform:scale(1.03);}
.btn-copy{width:100%; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); padding:13px; font-size:.88rem; color:rgba(255,255,255,.8); transition:background .3s ease;}
.btn-copy:hover{background:rgba(255,255,255,.1);}

/* project examples */
.filters{margin-top:36px; display:flex; flex-wrap:wrap; justify-content:center; gap:8px;}
.filter-btn{border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); padding:9px 18px; font-size:.87rem; color:rgba(219,228,255,.6); transition:all .3s ease;}
.filter-btn.active{border-color:rgba(111,141,255,.6); background:rgba(91,108,255,.15); color:#fff;}
.filter-btn:hover{border-color:rgba(255,255,255,.25); color:#fff;}
.proj-grid{margin-top:36px; display:grid; gap:22px;}
@media(min-width:640px){.proj-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.proj-grid{grid-template-columns:repeat(3,1fr);}}
.proj-card{overflow:hidden; border-radius:18px; transition:all .5s ease;}
.proj-browser{display:flex; align-items:center; gap:6px; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.05); padding:8px 12px;}
.proj-browser .d{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.2);}
.proj-browser .u{margin-left:8px; border-radius:4px; background:rgba(0,0,0,.3); padding:2px 8px; font-family:var(--font-mono); font-size:9px; color:rgba(219,228,255,.4); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.proj-img-wrap{position:relative; aspect-ratio:16/10; overflow:hidden;}
.proj-img-wrap img{width:100%; height:100%; object-fit:cover; opacity:.82; transition:all .7s ease;}
.proj-card:hover .proj-img-wrap img{transform:scale(1.1); opacity:1;}
.proj-img-wrap .fade{position:absolute; inset:0; background:linear-gradient(to top, var(--ink-950), rgba(4,5,26,.25), transparent);}
.proj-cat{position:absolute; top:11px; right:11px; border-radius:999px; border:1px solid rgba(255,255,255,.15); background:rgba(4,5,26,.7); padding:4px 10px; font-family:var(--font-mono); font-size:10px; color:var(--brand-200); backdrop-filter:blur(6px);}
.proj-metric{position:absolute; bottom:11px; left:11px; border-radius:999px; background:rgba(52,211,153,.15); padding:4px 10px; font-size:11px; font-weight:500; color:#6ee7b7; backdrop-filter:blur(6px);}
.proj-body{padding:18px;}
.proj-body h3{font-size:1.08rem; font-weight:700; color:#fff;}
.proj-body p{margin-top:4px; font-size:.85rem; color:rgba(219,228,255,.55);}
.proj-stack{margin-top:14px; display:flex; flex-wrap:wrap; gap:6px;}
.proj-stack span{border-radius:6px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); padding:4px 8px; font-family:var(--font-mono); font-size:10px; color:rgba(219,228,255,.6);}

/* client reviews */
.testi-card{position:relative; overflow:hidden; margin:44px auto 0; max-width:820px; border-radius:26px; padding:30px 20px;}
@media(min-width:640px){.testi-card{padding:48px;}}
.testi-orb{position:absolute; top:-80px; left:-64px; width:16rem; height:16rem; border-radius:50%; background:rgba(91,108,255,.15); filter:blur(60px);}
.testi-quote-icon{position:relative; width:34px; height:34px; color:rgba(111,141,255,.4);}
.testi-body{position:relative; margin-top:22px;}
.testi-text{font-size:1.1rem; font-weight:300; line-height:1.6; color:#fff;}
@media(min-width:640px){.testi-text{font-size:1.4rem;}}
.testi-person{margin-top:30px; display:flex; align-items:center; gap:14px;}
.testi-avatar{display:flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(135deg,var(--brand-500),var(--violet)); font-size:.85rem; font-weight:700; color:#fff; flex-shrink:0;}
.testi-name{font-weight:600; color:#fff;}
.testi-role{margin-top:2px; font-size:.85rem; color:rgba(219,228,255,.5);}
.testi-stars{margin-left:auto; display:none; color:#fbbf24;}
@media(min-width:640px){.testi-stars{display:block;}}
.testi-dots{margin-top:32px; display:flex; align-items:center; gap:8px;}
.testi-dot{height:6px; width:16px; border-radius:999px; background:rgba(255,255,255,.15); transition:all .5s ease;}
.testi-dot.active{width:40px; background:linear-gradient(90deg,var(--brand-400),var(--violet));}
.testi-count{margin-left:auto; font-family:var(--font-mono); font-size:12px; color:rgba(219,228,255,.35);}

/* accordion faq */
.faq-list{margin:0 auto; margin-top:44px; max-width:760px; display:flex; flex-direction:column; gap:12px;}
.faq-item{border-radius:16px; overflow:hidden; transition:border-color .3s ease;}
.faq-item.open{border-color:rgba(111,141,255,.4);}
.faq-q{width:100%; display:flex; align-items:center; gap:16px; padding:18px 20px; text-align:left; background:none; border:none; color:inherit;}
.faq-q .idx{font-family:var(--font-mono); font-size:12px; color:var(--brand-400); flex-shrink:0;}
.faq-q .qt{flex:1; font-size:.98rem; font-weight:600; color:#fff;}
.faq-q .plus{display:flex; flex-shrink:0; width:26px; height:26px; align-items:center; justify-content:center; border-radius:50%; border:1px solid rgba(255,255,255,.12); color:var(--brand-300); transition:transform .4s ease;}
.faq-item.open .plus{transform:rotate(45deg); border-color:rgba(111,141,255,.6); background:rgba(91,108,255,.2);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .45s cubic-bezier(.16,1,.3,1);}
.faq-a p{padding:0 20px 20px 52px; font-size:.9rem; line-height:1.65; color:rgba(219,228,255,.6);}

/* contact form + info */
.contact-grid{margin-top:52px; display:grid; gap:22px;}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.15fr;}}
.info-item{display:flex; align-items:center; gap:16px; border-radius:18px; padding:16px; margin-bottom:14px;}
.info-icon{display:flex; flex-shrink:0; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; background:linear-gradient(135deg, rgba(91,108,255,.2), rgba(139,92,246,.2)); font-size:1.1rem; border:1px solid rgba(255,255,255,.1);}
.info-label{font-family:var(--font-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(219,228,255,.4);}
.info-value{margin-top:3px; font-size:.95rem; font-weight:500; color:#fff; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.guarantee{position:relative; overflow:hidden; border-radius:18px; padding:22px;}
.guarantee .spin-bg2{position:absolute; top:-96px; right:-96px; width:16rem; height:16rem; background:conic-gradient(from 90deg, transparent, rgba(56,189,248,.25), transparent 45%); pointer-events:none;}
.guarantee p{position:relative; font-size:.9rem; line-height:1.7; color:rgba(219,228,255,.7);}
.guarantee strong{color:#fff; font-weight:600;}

form.contact-form{position:relative; overflow:hidden; border-radius:24px; padding:22px 18px;}
@media(min-width:640px){form.contact-form{padding:32px;}}
.form-row{display:grid; gap:16px;}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr;}}
.field label{display:block; margin-bottom:8px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(219,228,255,.6);}
.field input, .field select, .field textarea{width:100%; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); padding:12px 15px; font-size:.9rem; color:#fff; outline:none; transition:border-color .3s ease;}
.field select option{background:var(--ink-900);}
.field input::placeholder, .field textarea::placeholder{color:rgba(255,255,255,.25);}
.field input:focus, .field select:focus, .field textarea:focus{border-color:rgba(111,141,255,.7);}
.field textarea{resize:vertical; min-height:110px;}
.form-error{margin-top:12px; font-size:.86rem; color:#fca5a5;}
.btn-submit{margin-top:18px; width:100%; border-radius:12px; padding:16px; text-align:center; font-size:.92rem; font-weight:700; background:linear-gradient(90deg,var(--brand-500),var(--brand-600),var(--violet)); color:#fff; box-shadow:0 20px 50px -20px rgba(109,63,245,1); transition:transform .3s ease;}
.btn-submit:hover{transform:scale(1.02);}
.form-foot{margin-top:12px; text-align:center; font-size:.78rem; color:rgba(219,228,255,.4);}
.sent-overlay{position:absolute; inset:0; z-index:5; display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:rgba(11,14,51,.97); padding:32px; backdrop-filter:blur(10px);}
.sent-overlay.show{display:flex;}
.sent-overlay .emoji{font-size:2.6rem;}
.sent-overlay h3{margin-top:18px; font-size:1.4rem; font-weight:700; color:#fff;}
.sent-overlay p{margin-top:10px; max-width:340px; font-size:.88rem; color:rgba(219,228,255,.6);}
.sent-overlay button{margin-top:22px; border-radius:999px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.05); padding:11px 20px; font-size:.85rem; color:#fff;}

/* footer */
footer{position:relative; overflow:hidden; border-top:1px solid rgba(255,255,255,.08); background:rgba(4,5,26,.6);}
.footer-glow{position:absolute; top:-160px; left:50%; width:46rem; height:20rem; transform:translateX(-50%); border-radius:50%; background:rgba(109,63,245,.15); filter:blur(60px); pointer-events:none;}
.footer-cta{position:relative; overflow:hidden; border-radius:26px; border:1px solid rgba(255,255,255,.1); padding:34px 20px; text-align:center; background:linear-gradient(135deg, rgba(109,63,245,.25), var(--ink-900) 60%, var(--ink-900));}
@media(min-width:640px){.footer-cta{padding:56px;}}
.footer-cta h2{position:relative; font-size:1.8rem; font-weight:800; line-height:1.2; color:#fff;}
@media(min-width:640px){.footer-cta h2{font-size:2.7rem;}}
.footer-cta p{position:relative; margin:16px auto 0; max-width:480px; color:rgba(219,228,255,.65);}
.footer-cta .btns{position:relative; margin-top:28px; display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}
.footer-links{margin-top:56px; display:grid; gap:36px;}
@media(min-width:640px){.footer-links{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.footer-links{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.footer-brand p{margin-top:18px; max-width:280px; font-size:.88rem; line-height:1.7; color:rgba(219,228,255,.5);}
.footer-col-title{font-family:var(--font-mono); font-size:11px; letter-spacing:.25em; text-transform:uppercase; color:rgba(255,255,255,.8);}
.footer-col ul{margin-top:18px; display:flex; flex-direction:column; gap:11px;}
.footer-col a{display:flex; align-items:center; gap:8px; font-size:.88rem; color:rgba(219,228,255,.5); transition:color .3s ease;}
.footer-col a:hover{color:#fff;}
.footer-col a .ln{width:0; height:1px; background:var(--brand-400); transition:width .3s ease;}
.footer-col a:hover .ln{width:12px;}
.footer-bottom{margin-top:52px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid rgba(255,255,255,.08); padding-top:28px; padding-bottom:8px;}
@media(min-width:640px){.footer-bottom{flex-direction:row;}}
.footer-bottom p{font-size:.75rem; color:rgba(219,228,255,.4);}
.footer-bottom a{display:flex; align-items:center; gap:8px; font-size:.75rem; color:rgba(219,228,255,.5);}
.footer-bottom a .up{display:flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; border:1px solid rgba(255,255,255,.12); transition:transform .3s ease;}
.footer-bottom a:hover .up{transform:translateY(-3px);}

/* sticky whatsapp button */
.floating-cta{position:fixed; right:18px; bottom:18px; z-index:40; display:flex; align-items:center; gap:10px; border-radius:999px; padding:14px 20px 14px 16px; font-weight:600; color:#fff; background:linear-gradient(90deg,var(--brand-500),var(--violet)); box-shadow:0 18px 40px -12px rgba(109,63,245,.9); transition:all .5s ease; transform:translateY(70px); opacity:0; pointer-events:none;}
.floating-cta.show{transform:translateY(0); opacity:1; pointer-events:auto;}
.floating-cta svg{width:22px; height:22px;}
.floating-cta .lbl{display:none; font-size:.85rem;}
@media(min-width:640px){.floating-cta .lbl{display:block;}}
