/* PonteWeb Studio — premium single-page (no deps) */
:root{
  --bg:#020617; /* slate-950 */
  --card:rgba(255,255,255,.04);
  --card2:rgba(255,255,255,.06);
  --text:#e5e7eb;
  --muted:#94a3b8;
  --line:rgba(255,255,255,.10);
  --shadow:0 24px 70px rgba(0,0,0,.55);
  --cyan:#22d3ee;
  --blue:#3b82f6;
  --purple:#a855f7;
  --teal:#2dd4bf;
  --amber:#f59e0b;
  --green:#22c55e;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
strong{font-weight:800}
.container{max-width:1160px;margin:0 auto;padding:0 20px}

/* Background blobs */
.bg{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.blob{position:absolute;width:46vw;height:46vw;border-radius:999px;filter:blur(110px);opacity:.16}
.b1{left:-12vw;top:-14vw;background:radial-gradient(circle at 30% 30%, var(--cyan), transparent 60%)}
.b2{right:-14vw;bottom:-16vw;background:radial-gradient(circle at 50% 50%, var(--purple), transparent 60%)}

/* WhatsApp floating */
.waFloat{position:fixed;right:26px;bottom:26px;width:62px;height:62px;border-radius:999px;background:var(--green);display:grid;place-items:center;box-shadow:0 16px 36px rgba(34,197,94,.25);z-index:60;transition:transform .2s ease, box-shadow .2s ease}
.waFloat:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 24px 50px rgba(34,197,94,.30)}
.waIcon{font-size:22px;font-weight:900;color:white}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .25s ease}
.nav.scrolled{background:rgba(2,6,23,.72);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.navInner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:38px;height:38px;border-radius:12px;filter:drop-shadow(0 10px 24px rgba(34,211,238,.18))}
.brandText{font-weight:900;letter-spacing:-.02em;font-size:18px}
.brandText span{color:var(--cyan)}
.menu{display:flex;align-items:center;gap:18px}
.menu a{font-size:13px;color:rgba(229,231,235,.78);padding:10px 10px;border-radius:12px;transition:background .2s ease, color .2s ease, transform .2s ease}
.menu a:hover{color:var(--text);background:rgba(255,255,255,.04);transform:translateY(-1px)}
.pill{background:rgba(255,255,255,.92);color:#0b1220 !important;font-weight:900;padding:10px 14px;border-radius:999px}
.pill:hover{background:white !important}
.menuBtn{display:none;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);border-radius:14px;padding:10px 12px;cursor:pointer}
.menuMobile{border-bottom:1px solid var(--line);background:rgba(2,6,23,.92);backdrop-filter:blur(10px)}
.menuMobile .container{display:flex;flex-direction:column;gap:8px;padding:14px 20px 18px}
.menuMobile a{padding:12px 10px;border-radius:12px;color:rgba(229,231,235,.88)}
.menuMobile a:hover{background:rgba(255,255,255,.04);color:var(--text)}
.menuMobile a.cta{color:var(--cyan);font-weight:900}

/* Hero */
.hero{padding:132px 0 54px}
.heroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:rgba(165,243,252,.95);font-weight:700;font-size:13px}
.dot{width:9px;height:9px;border-radius:999px;background:var(--cyan);box-shadow:0 0 0 6px rgba(34,211,238,.14);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.hero h1{margin:16px 0 12px;font-size:52px;line-height:1.05;letter-spacing:-.03em}
.grad{display:inline-block;background:linear-gradient(90deg, var(--cyan), var(--blue), var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin:0;color:var(--muted);font-size:17px;line-height:1.7;max-width:58ch}
.heroActions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-weight:900;transition:transform .15s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.07);box-shadow:0 18px 36px rgba(0,0,0,.30)}
.btn.primary{background:linear-gradient(90deg, rgba(34,211,238,.95), rgba(59,130,246,.85));border-color:rgba(255,255,255,.06);color:#06101f}
.btn.primary:hover{background:linear-gradient(90deg, rgba(34,211,238,1), rgba(59,130,246,.95))}
.btn.ghost{background:transparent}
.ticks{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;color:rgba(148,163,184,.92);font-size:13px}

/* Hero visual */
.heroVisual{position:relative}
.glow{position:absolute;inset:-6%;background:linear-gradient(90deg, rgba(34,211,238,.22), rgba(168,85,247,.20));filter:blur(34px);border-radius:26px;transform:rotate(6deg)}
.frame{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:22px;padding:14px;box-shadow:var(--shadow)}
.browserTop{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.c{width:10px;height:10px;border-radius:999px}
.c.red{background:#ef4444}.c.yellow{background:#f59e0b}.c.green{background:#22c55e}
.addr{margin-left:10px;height:20px;flex:1;border-radius:999px;background:rgba(255,255,255,.04);color:rgba(148,163,184,.85);display:flex;align-items:center;padding:0 10px;font-size:11px}
.mock{padding:14px 8px 8px}
.mockHero{height:160px;border-radius:16px;background:linear-gradient(135deg, rgba(30,41,59,.9), rgba(15,23,42,.9));position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.mockHero:before{content:"";position:absolute;inset:-30% -40%;background:linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);transform:skewX(-12deg);animation:shimmer 2.6s linear infinite}
@keyframes shimmer{0%{transform:translateX(-60%) skewX(-12deg)}100%{transform:translateX(60%) skewX(-12deg)}}
.mockGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.mockGrid div{height:82px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.mockScore{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.scoreDot{width:42px;height:42px;border-radius:999px;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.30)}
.scoreLabel{font-size:11px;color:rgba(148,163,184,.9)}
.scoreValue{font-size:18px;font-weight:900}
.floatBadge{position:absolute;right:-18px;top:92px;background:rgba(15,23,42,.95);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 22px 50px rgba(0,0,0,.35);animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.floatIcon{width:38px;height:38px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.22);display:grid;place-items:center;color:rgba(34,197,94,.95);font-weight:900}
.floatLabel{font-size:11px;color:rgba(148,163,184,.88)}
.floatValue{font-size:16px;font-weight:900}

/* Sections */
.section{padding:86px 0}
.sectionAlt{background:rgba(255,255,255,.02);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.sectionHead{max-width:720px;margin:0 0 22px}
.sectionHead.center{text-align:center;margin:0 auto 26px}
.sectionHead h2{margin:0 0 10px;font-size:34px;letter-spacing:-.02em}
.sectionHead p{margin:0;color:var(--muted);line-height:1.7}

/* Services */
.serviceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
.serviceCard{position:relative;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:22px;padding:22px;overflow:hidden;transition:transform .2s ease, border-color .2s ease, background .2s ease}
.serviceCard:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.serviceCard:before{content:"";position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:999px;filter:blur(32px);opacity:.22}
.serviceCard[data-accent="cyan"]:before{background:radial-gradient(circle, var(--cyan), transparent 60%)}
.serviceCard[data-accent="purple"]:before{background:radial-gradient(circle, var(--purple), transparent 60%)}
.serviceCard[data-accent="teal"]:before{background:radial-gradient(circle, var(--teal), transparent 60%)}
.serviceCard[data-accent="amber"]:before{background:radial-gradient(circle, var(--amber), transparent 60%)}
.serviceIcon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-size:20px;margin-bottom:14px}
.serviceCard h3{margin:0 0 8px;font-size:18px}
.serviceCard p{margin:0 0 14px;color:var(--muted);font-size:13.5px;line-height:1.6}
.link{font-weight:800;font-size:13px;color:rgba(229,231,235,.90)}
.link:hover{color:var(--cyan)}

/* Why + chart */
.why{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
.whyCopy h2{margin:0 0 14px;font-size:34px;letter-spacing:-.02em}
.accent{color:var(--cyan)}
.timeline{display:grid;gap:14px;margin-top:16px}
.tlItem{display:grid;grid-template-columns:18px 1fr;gap:14px;padding-left:6px}
.tlItem h4{margin:0 0 4px}
.tlItem p{margin:0;color:var(--muted);line-height:1.6;font-size:13.5px}
.tlDot{width:12px;height:12px;border-radius:999px;margin-top:6px;box-shadow:0 0 0 6px rgba(34,211,238,.12)}
.tlDot[data-dot="cyan"]{background:var(--cyan);box-shadow:0 0 0 6px rgba(34,211,238,.12)}
.tlDot[data-dot="purple"]{background:var(--purple);box-shadow:0 0 0 6px rgba(168,85,247,.12)}
.tlDot[data-dot="teal"]{background:var(--teal);box-shadow:0 0 0 6px rgba(45,212,191,.12)}
.chartCard{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:26px;padding:22px;box-shadow:var(--shadow)}
.chartTop{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}
.chartLabel{color:var(--muted);font-size:12px;margin-bottom:6px}
.chartValue{font-size:34px;font-weight:900}
.chartValue span{color:var(--cyan)}
.live{display:flex;align-items:center;gap:8px;color:rgba(148,163,184,.90);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.liveDot{width:10px;height:10px;border-radius:999px;background:var(--cyan);box-shadow:0 0 0 8px rgba(34,211,238,.12);animation:pulse 1.6s ease-in-out infinite}
.bars{display:flex;align-items:flex-end;gap:10px;height:240px;padding:12px;border-radius:20px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06)}
.bar{flex:1;position:relative;min-width:14px}
.bar:before{content:"";position:absolute;left:0;right:0;bottom:22px;height:0;border-radius:8px 8px 0 0;background:linear-gradient(180deg, rgba(34,211,238,1), rgba(34,211,238,.22));transform:translateY(30px);opacity:0;transition:height 1s ease, transform 1s ease, opacity 1s ease}
.bar span{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:10px;color:rgba(148,163,184,.9);font-weight:800}
.chart.armed .bar:before{height:calc((var(--h) * 1%) * 2); /* 0-200px approx */}
.chart.show .bar:before{height:calc(var(--h) * 2px);transform:translateY(0);opacity:1}
.chartNote{margin:12px 0 0;color:rgba(148,163,184,.88);font-size:12px;line-height:1.5}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.plan{position:relative;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:22px;padding:22px}
.plan:hover{border-color:rgba(255,255,255,.12)}
.plan .planTop{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.plan .price{font-size:22px;font-weight:900;letter-spacing:-.02em;color:rgba(229,231,235,.95)}
.plan.featured{background:linear-gradient(135deg, rgba(34,211,238,.08), rgba(59,130,246,.06), rgba(168,85,247,.08));border-color:rgba(34,211,238,.22)}
.plan .tag{position:absolute;top:16px;right:16px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(2,6,23,.92);background:rgba(229,231,235,.92);border-radius:999px;padding:6px 10px}
.plan ul{margin:14px 0 0;padding-left:18px;color:var(--muted);line-height:1.7;font-size:13.5px}
.plan ul li{margin:6px 0}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.step{position:relative;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:22px;padding:22px}
.step:hover{border-color:rgba(34,211,238,.25)}
.stepNo{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.22);color:rgba(165,243,252,.95);font-weight:900;margin-bottom:12px}
.step h3{margin:0 0 8px}
.step p{margin:0;color:var(--muted);line-height:1.6;font-size:13.5px}

/* Portfolio */
.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.portCard{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:22px;padding:22px}
.portCard.cta{background:linear-gradient(135deg, rgba(34,211,238,.08), rgba(168,85,247,.08))}
.portCard h3{margin:0 0 8px}
.portCard p{margin:0 0 14px;color:var(--muted);line-height:1.6;font-size:13.5px}

/* Contact */
.contact{display:grid;grid-template-columns:2fr 3fr;gap:16px;margin-top:18px}
.contactInfo, .contactForm{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:26px;padding:22px}
.contactInfo h3{margin:0 0 8px}
.muted{color:var(--muted);line-height:1.6;margin:0 0 16px}
.infoList{display:grid;gap:10px;margin:16px 0}
.infoList div{display:flex;justify-content:space-between;gap:12px;color:rgba(148,163,184,.92);font-size:13px}
.infoList .v{color:rgba(229,231,235,.95);font-weight:700}
.noteBox{margin-top:16px;border:1px solid rgba(34,211,238,.18);background:rgba(34,211,238,.06);padding:12px 12px;border-radius:18px;color:rgba(229,231,235,.90);line-height:1.6}
.contactForm label{display:grid;gap:8px;margin:0 0 12px}
.contactForm span{font-size:12px;color:rgba(148,163,184,.92);font-weight:800}
input,select,textarea{width:100%;padding:12px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(2,6,23,.65);color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(34,211,238,.45);box-shadow:0 0 0 4px rgba(34,211,238,.10)}
textarea{resize:vertical;min-height:110px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.full{width:100%}
.fine{margin:10px 0 0;color:rgba(148,163,184,.85);font-size:12px;line-height:1.5}

/* Footer */
.footer{padding:22px 0;border-top:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.01)}
.footInner{display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgba(148,163,184,.9);font-size:12.5px}
.footLinks{display:flex;gap:14px}
.footLinks a:hover{color:rgba(229,231,235,.95)}

/* Responsive */
@media (max-width: 980px){
  .heroGrid{grid-template-columns:1fr}
  .serviceGrid{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr}
  .why{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .portfolio{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .floatBadge{display:none}
}
@media (max-width: 760px){
  .menu{display:none}
  .menuBtn{display:inline-flex}
  .hero h1{font-size:42px}
  .row{grid-template-columns:1fr}
  .serviceGrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .hero{padding-top:118px}
}
