/* Prende Digital — casa digital de IA */
:root{
  --ink:#0b0b12; --ink-2:#14141f; --ink-3:#1d1d2b; --paper:#f8f8f5; --paper-2:#efeee8;
  --line:rgba(255,255,255,.12); --line-dark:rgba(11,11,18,.12);
  --flame:#ff5a1f; --magenta:#ff2e88; --volt:#ffd23f; --violet:#7b5cff; --cyan:#22d3ee; --green:#22c55e; --red:#ef4444;
  --grad:linear-gradient(115deg,var(--volt) 0%,var(--flame) 35%,var(--magenta) 70%,var(--violet) 100%);
  --radius:22px; --shadow:0 20px 60px -20px rgba(0,0,0,.45);
  --font-display:"Bricolage Grotesque","Inter",system-ui,sans-serif; --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--ink);color:#f3f3f7;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;cursor:pointer}
.skip{position:absolute;left:-999px;top:0;background:var(--volt);color:var(--ink);padding:.6rem 1rem;z-index:999;border-radius:0 0 10px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--volt);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--max),100% - 2.5rem);margin-inline:auto}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--volt)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad);box-shadow:0 0 12px var(--flame)}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.02;letter-spacing:-.025em;font-weight:800}
h1{font-size:clamp(2.6rem,7.4vw,6.4rem)}
h2{font-size:clamp(2rem,4.8vw,3.8rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem);letter-spacing:-.015em}
.lead{font-size:clamp(1.05rem,1.6vw,1.3rem);color:#c9c9d6;max-width:62ch}
section{position:relative}
.section{padding:clamp(4rem,9vw,7.5rem) 0}
.section-head{display:grid;gap:1rem;margin-bottom:clamp(2rem,4vw,3.5rem);max-width:820px}
.light{background:var(--paper);color:var(--ink)}
.light .lead{color:#4a4a58}
.light .eyebrow{color:var(--flame)}

/* Buttons */
.btn{--bg:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s;white-space:nowrap;font-size:1rem}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-primary{background:var(--grad);background-size:200% 100%;color:#0b0b12;box-shadow:0 10px 30px -10px var(--flame)}
.btn-primary:hover{background-position:100% 0;box-shadow:0 14px 40px -10px var(--magenta)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.light .btn-ghost:hover{background:rgba(0,0,0,.05)}
.btn-wa{background:#25d366;color:#06240f}
.btn-wa:hover{box-shadow:0 12px 30px -10px #25d366}
.btn svg{width:20px;height:20px}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(11,11,18,.78);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--grad);display:grid;place-items:center;box-shadow:0 0 0 0 rgba(255,90,31,.6);transition:box-shadow .3s}
.brand:hover .brand-mark{box-shadow:0 0 24px 2px rgba(255,90,31,.55)}
.brand-mark svg{width:22px;height:22px}
.brand small{display:block;font-family:var(--font);font-weight:600;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#a6a6b8;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:.2rem;list-style:none}
.nav-links a{display:block;padding:.55rem .85rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;color:#d6d6e2;transition:background .2s,color .2s}
.nav-links a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-links a[aria-current="page"]{color:#0b0b12;background:#fff}
.nav-links .nav-demo{position:relative}
.nav-links .nav-demo::after{content:"LIVE";position:absolute;top:-2px;right:-4px;font-size:.55rem;font-weight:800;padding:1px 5px;border-radius:6px;background:var(--magenta);color:#fff;letter-spacing:.05em}
.nav-cta{display:flex;gap:.6rem;align-items:center}
.nav-cta .btn{padding:.65rem 1.1rem;font-size:.92rem}
.menu-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;width:46px;height:46px;border-radius:14px;align-items:center;justify-content:center}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:2px;background:#fff;position:relative;transition:transform .25s,background .25s}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
.menu-open .menu-toggle span{background:transparent}
.menu-open .menu-toggle span::before{transform:translateY(6px) rotate(45deg)}
.menu-open .menu-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1120px){
  .menu-toggle{display:inline-flex}
  .nav-cta .btn-primary{display:none}
  .nav-links{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.5rem;background:rgba(11,11,18,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .35s ease;gap:.25rem}
  .menu-open .nav-links{transform:none}
  .nav-links a{font-size:1.15rem;padding:.85rem 1rem}
}

/* Hero */
.hero{min-height:100svh;display:flex;align-items:center;padding:120px 0 70px;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:float 16s ease-in-out infinite}
.blob.b1{width:46vw;height:46vw;background:var(--flame);top:-12vw;right:-8vw}
.blob.b2{width:38vw;height:38vw;background:var(--magenta);bottom:-14vw;right:22vw;animation-delay:-5s}
.blob.b3{width:30vw;height:30vw;background:var(--violet);top:20%;left:-10vw;animation-delay:-9s}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%)}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(4vw,3vw) scale(1.08)}66%{transform:translate(-3vw,-2vw) scale(.95)}}
.hero-inner{display:grid;grid-template-columns:1.25fr .9fr;gap:3rem;align-items:center}
.hero h1 .rotator{display:inline-block;position:relative;min-width:6ch}
.rotator-word{display:inline-block;animation:wordIn .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes wordIn{from{opacity:0;transform:translateY(.4em) rotateX(-40deg);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.hero .lead{margin:1.6rem 0 2.2rem}
.hero-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:.85rem;font-weight:600;color:#dedeea}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
.light .chip{background:#fff;border-color:var(--line-dark);color:#2b2b38}

/* hero visual: AI house */
.hero-visual{position:relative;aspect-ratio:1/1.05}
.panel{background:rgba(20,20,31,.72);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.hv-main{position:absolute;inset:6% 4% 14% 8%;padding:1.2rem;display:flex;flex-direction:column;gap:.9rem}
.hv-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#a7a7ba}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.dots i:nth-child(2){background:#febc2e}.dots i:nth-child(3){background:#28c840}
.hv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.kpi-mini{background:rgba(255,255,255,.05);border-radius:14px;padding:.7rem}
.kpi-mini b{display:block;font-family:var(--font-display);font-size:1.35rem}
.kpi-mini span{font-size:.7rem;color:#a7a7ba}
.hv-chart{flex:1;border-radius:14px;background:rgba(255,255,255,.04);padding:.8rem;display:flex;align-items:flex-end;gap:6px}
.hv-chart i{flex:1;border-radius:6px 6px 2px 2px;background:var(--grad);background-size:100% 300%;animation:grow 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{transform:scaleY(.05);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}
.hv-float{position:absolute;padding:.85rem 1rem;font-size:.85rem;display:flex;gap:.7rem;align-items:center;animation:bob 6s ease-in-out infinite}
.hv-float .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--grad);color:#0b0b12;font-weight:900;flex:none}
.hv-float b{display:block;font-size:.92rem}
.hv-float small{color:#a7a7ba}
.hv-f1{right:-2%;top:2%}
.hv-f2{left:-4%;bottom:4%;animation-delay:-2s}
.hv-f3{right:0;bottom:-2%;animation-delay:-4s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (max-width:980px){.hero-inner{grid-template-columns:1fr}.hero-visual{max-width:520px;width:100%;margin-inline:auto}}

/* Marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--ink-2);padding:1.1rem 0}
.marquee-track{display:flex;gap:3rem;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-family:var(--font-display);font-weight:800;font-size:clamp(1.3rem,2.6vw,2rem);white-space:nowrap;display:flex;align-items:center;gap:3rem;color:#e7e7f0}
.marquee span::after{content:"✦";color:var(--flame)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.pillar{padding:2rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line-dark);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.pillar:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(11,11,18,.35)}
.pillar .num{font-family:var(--font-display);font-size:4.5rem;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.pillar h3{margin:.8rem 0 .6rem}
.pillar p{color:#4a4a58}
.pillar ul{margin-top:1rem;list-style:none;display:grid;gap:.4rem;font-size:.95rem;color:#2b2b38}
.pillar li::before{content:"→ ";color:var(--flame);font-weight:800}
@media (max-width:880px){.pillars{grid-template-columns:1fr}}

/* Service cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.1rem}
.card{color:#f3f3f7;position:relative;padding:1.6rem;border-radius:var(--radius);background:var(--ink-2);border:1px solid var(--line);display:flex;flex-direction:column;gap:.8rem;text-decoration:none;overflow:hidden;transition:transform .3s,border-color .3s;isolation:isolate}
.card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;z-index:-1}
.card::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,31,.35),transparent 65%);left:var(--mx,50%);top:var(--my,0%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s;z-index:-1;pointer-events:none}
.card:hover{transform:translateY(-5px)}
.card:hover::before,.card:hover::after{opacity:1}
.card .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.card .ico svg{width:28px;height:28px}
.card p{color:#b9b9c9;font-size:.97rem;flex:1}
.card .more{font-weight:700;color:var(--volt);display:inline-flex;gap:.4rem;align-items:center}
.card .more::after{content:"→";transition:transform .2s}
.card:hover .more::after{transform:translateX(4px)}
.card.featured{grid-column:span 2;background:linear-gradient(140deg,#1b1030,#2a0f1f 60%,#2b1406)}
.card .tag{position:absolute;top:1.2rem;right:1.2rem;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:999px;background:var(--grad);color:#0b0b12}
@media (max-width:640px){.card.featured{grid-column:auto}}

/* Spotlight (AI surveillance) */
.spot{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media (max-width:900px){.spot{grid-template-columns:1fr}}
.report{padding:1.3rem;border-radius:var(--radius);background:var(--ink-2);border:1px solid var(--line);font-size:.9rem}
.report-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem;flex-wrap:wrap}
.report table{width:100%;border-collapse:collapse}
.report th,.report td{padding:.55rem .4rem;text-align:left;border-bottom:1px solid var(--line)}
.report th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#9a9aae;font-weight:700}
.report td.num{text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700}
.pill.ok{background:rgba(34,197,94,.15);color:#4ade80}
.pill.warn{background:rgba(255,210,63,.15);color:var(--volt)}
.pill.bad{background:rgba(239,68,68,.15);color:#f87171}
.cam{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/8;background:radial-gradient(ellipse at 30% 30%,#2a2a40,#0d0d16);margin-bottom:1rem;border:1px solid var(--line)}
.cam .scan{position:absolute;inset:0;background:linear-gradient(transparent 0,rgba(34,211,238,.18) 50%,transparent 100%);height:30%;animation:scan 3.5s linear infinite}
@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(340%)}}
.cam .box{position:absolute;border:2px solid var(--cyan);border-radius:6px;font-size:.62rem;color:var(--cyan);font-weight:700}
.cam .box span{position:absolute;top:-1.3em;left:-2px;background:var(--cyan);color:#001018;padding:0 4px;border-radius:3px;white-space:nowrap}
.cam .rec{position:absolute;top:.6rem;left:.7rem;font-size:.7rem;font-weight:700;color:#fff;display:flex;gap:.4rem;align-items:center}
.cam .rec::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.2}}
.check-list{list-style:none;display:grid;gap:.75rem;margin:1.5rem 0}
.check-list li{display:flex;gap:.8rem;align-items:flex-start}
.check-list li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#0b0b12;font-weight:900;font-size:.85rem;margin-top:2px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.step{padding:1.6rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line-dark);position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;display:block;margin-bottom:.8rem;color:var(--flame)}
.step p{color:#4a4a58;font-size:.95rem;margin-top:.4rem}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.steps{grid-template-columns:1fr}}

/* Big CTA */
.cta-band{border-radius:32px;padding:clamp(2.2rem,6vw,4.5rem);background:var(--grad);color:#0b0b12;position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center}
.cta-band::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;border:50px solid rgba(255,255,255,.18)}
.cta-band p{font-size:1.15rem;margin-top:1rem;max-width:50ch;color:#1d1020}
.cta-band .btn-dark{background:#0b0b12;color:#fff}
.cta-band .btn-row{justify-content:flex-end;position:relative;z-index:1}
@media (max-width:860px){.cta-band{grid-template-columns:1fr}.cta-band .btn-row{justify-content:flex-start}}

/* Specials */
.specials{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem}
.special{position:relative;padding:2rem 1.7rem;border-radius:26px;background:#fff;color:var(--ink);border:1px solid var(--line-dark);display:flex;flex-direction:column;gap:.9rem;overflow:hidden;transition:transform .3s,box-shadow .3s}
.special:hover{transform:translateY(-6px) rotate(-.3deg);box-shadow:0 30px 60px -30px rgba(11,11,18,.4)}
.special .ribbon{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;background:var(--ink);color:var(--volt)}
.special.hot{background:var(--ink);color:#fff;border-color:transparent}
.special.hot::before{content:"";position:absolute;inset:0;background:var(--grad);opacity:.16}
.special.hot .ribbon{background:var(--grad);color:var(--ink)}
.special .price{font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1.1}
.special ul{list-style:none;display:grid;gap:.4rem;font-size:.95rem;flex:1}
.special li::before{content:"✦ ";color:var(--flame)}
.special p{color:inherit;opacity:.8}
.show-editables .editable{outline:2px dashed var(--flame);outline-offset:4px;border-radius:6px}
.note{font-size:.88rem;color:#6a6a78;margin-top:2rem}

/* Page hero */
.page-hero{padding:150px 0 70px;overflow:hidden;isolation:isolate}
.page-hero .lead{margin-top:1.2rem}
.page-hero .hero-bg .blob{opacity:.35}

/* Service detail blocks */
.svc{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center;padding:clamp(3rem,6vw,5rem) 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.svc:nth-of-type(even) .svc-art{order:-1}
.svc h2{font-size:clamp(1.8rem,3.6vw,2.9rem)}
.svc p{color:#c3c3d2;margin-top:1rem}
.svc .check-list{margin:1.3rem 0 1.6rem}
.svc-art{border-radius:28px;aspect-ratio:4/3;background:var(--ink-2);border:1px solid var(--line);position:relative;overflow:hidden;display:grid;place-items:center}
.svc-art svg{width:100%;height:100%}
.svc-nav{position:sticky;top:72px;z-index:50;background:rgba(11,11,18,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.svc-nav ul{display:flex;gap:.4rem;overflow-x:auto;list-style:none;padding:.7rem 0;scrollbar-width:none}
.svc-nav a{display:block;white-space:nowrap;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:.85rem;font-weight:600;color:#d2d2de}
.svc-nav a:hover{background:#fff;color:var(--ink)}
@media (max-width:900px){.svc{grid-template-columns:1fr}.svc:nth-of-type(even) .svc-art{order:0}}

/* FAQ */
.faq{display:grid;gap:.7rem;max-width:860px}
.faq details{background:#fff;border:1px solid var(--line-dark);border-radius:18px;padding:1.1rem 1.3rem}
.faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--flame);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:.7rem;color:#4a4a58}

/* Forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.4rem}
.field.full{grid-column:1/-1}
.field label{font-weight:700;font-size:.9rem}
.field input,.field select,.field textarea{font:inherit;padding:.9rem 1rem;border-radius:14px;border:1.5px solid var(--line-dark);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--flame);box-shadow:0 0 0 4px rgba(255,90,31,.15)}
.field textarea{min-height:140px;resize:vertical}
.hidden{position:absolute;left:-9999px}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:start}
.contact-card{padding:2rem;border-radius:26px;background:var(--ink);color:#fff;display:grid;gap:1.2rem}
.contact-card a{text-decoration:none}
.contact-line{display:flex;gap:1rem;align-items:center}
.contact-line .ico{width:46px;height:46px;border-radius:14px;background:var(--grad);display:grid;place-items:center;flex:none;color:var(--ink)}
.contact-line small{display:block;color:#a7a7ba;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.contact-line b{font-size:1.1rem}
.form-card{padding:2rem;border-radius:26px;background:#fff;border:1px solid var(--line-dark)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:#07070c;border-top:1px solid var(--line);padding:4rem 0 2rem;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.foot-grid h4{font-family:var(--font);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8a9e;margin-bottom:1rem;font-weight:700}
.foot-grid ul{list-style:none;display:grid;gap:.5rem}
.foot-grid a{text-decoration:none;color:#d6d6e2}
.foot-grid a:hover{color:var(--volt)}
.foot-big{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,12vw,10rem);line-height:.9;letter-spacing:-.04em;margin:3rem 0 1.5rem;opacity:.95}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:#8a8a9e;font-size:.85rem;border-top:1px solid var(--line);padding-top:1.5rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}

/* Floating WhatsApp */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.7);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ping 2.2s infinite}
@keyframes ping{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}
.no-js .reveal{opacity:1;transform:none}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{padding:1.4rem;border-radius:20px;border:1px solid var(--line);background:var(--ink-2)}
.stat b{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);display:block;line-height:1.05}
.stat span{color:#a9a9bb;font-size:.92rem}
.stat a{color:#8a8a9e;font-size:.75rem}
@media (max-width:860px){.stats{grid-template-columns:1fr 1fr}}
.sources{font-size:.85rem;color:#9a9aae;margin-top:2rem;display:grid;gap:.3rem}
.sources a{color:#c9c9d6}
.light .sources{color:#5a5a68}.light .sources a{color:#2b2b38}

.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.callout{padding:1.6rem;border-radius:20px;border:1px solid rgba(255,210,63,.4);background:rgba(255,210,63,.06)}
.light .callout{background:#fff8e1;border-color:#f3d27a}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
@media (max-width:560px){.hv-f1{right:2%;top:0}.hv-f2{left:0}.hv-float{padding:.6rem .7rem;font-size:.78rem}.hv-float .ico{width:30px;height:30px}}

/* prevent sideways scroll on small screens */
html,body{overflow-x:clip;max-width:100%}
