/* ============================================================
   DigitalBiel — capa de rediseño (v2, preview)
   Se aplica ENCIMA del CSS original. Azul + navy + blanco.
   ============================================================ */

:root{
  --db-blue:#2B5CFF; --db-blue-600:#1E45E6; --db-blue-400:#5B82FF; --db-cyan:#34D3F5;
  --db-grad:linear-gradient(135deg,#2B5CFF,#5B82FF);
  --db-grad-glow:linear-gradient(120deg,#2B5CFF,#34D3F5);
}

/* ---- animaciones ---- */
@keyframes db-float{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-18px) rotate(var(--r,0deg))}}
@keyframes db-float-slow{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
@keyframes db-drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-24px) scale(1.06)}}
@media (prefers-reduced-motion: reduce){
  .db-float,.db-float-slow,.db-blob{animation:none !important}
}

/* ---- blobs de profundidad (fondos oscuros) ---- */
.db-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0;animation:db-drift 14s ease-in-out infinite}
.db-blob--blue{background:radial-gradient(circle at 30% 30%,#2B5CFF,transparent 70%)}
.db-blob--cyan{background:radial-gradient(circle at 30% 30%,#34D3F5,transparent 70%)}

/* ---- CTA azul de marca con brillo ---- */
a.bg-blue{background-image:var(--db-grad) !important;box-shadow:0 10px 30px -8px rgba(43,92,255,.55) !important;transition:transform .25s ease, box-shadow .25s ease !important}
a.bg-blue:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(43,92,255,.7) !important}

/* ---- nav: leve profundidad al hacer scroll ---- */
nav.db-scrolled{backdrop-filter:saturate(140%) blur(8px);box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}

/* ---- las imágenes de portfolio "respiran" ---- */
.db-breathe{animation:db-float-slow 9s ease-in-out infinite}

/* ============================================================
   Sección VÍDEO
   ============================================================ */
.db-video{position:relative;overflow:hidden;background:#0A0E1A}
.db-video__inner{position:relative;z-index:2;max-width:1000px;margin:0 auto;padding:0 1rem}
.db-video__frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(43,92,255,.15);
  cursor:pointer;background:#000}
.db-video__frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease, opacity .3s ease}
.db-video__frame:hover img{transform:scale(1.04)}
.db-video__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3}
.db-video__play span{width:84px;height:84px;border-radius:50%;background:var(--db-grad);display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 40px -6px rgba(43,92,255,.7);transition:transform .25s ease}
.db-video__frame:hover .db-video__play span{transform:scale(1.08)}
.db-video__play svg{width:32px;height:32px;margin-left:5px;fill:#fff}
.db-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* imágenes flotantes alrededor del vídeo */
.db-video__float{position:absolute;width:190px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.15);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.7);z-index:1;opacity:.9}
.db-video__float img{width:100%;display:block}
.db-video__float--a{top:8%;left:-30px;--r:-6deg;animation:db-float 11s ease-in-out infinite}
.db-video__float--b{bottom:6%;right:-30px;--r:5deg;animation:db-float 13s ease-in-out infinite .6s}
.db-video__float--c{top:40%;right:-60px;width:150px;--r:8deg;animation:db-float 15s ease-in-out infinite .3s}
@media (max-width:1100px){.db-video__float{display:none}}

/* pequeño “glow” detrás del vídeo */
.db-video__glow{position:absolute;top:20%;left:50%;transform:translateX(-50%);width:70%;height:60%;
  background:var(--db-grad-glow);filter:blur(120px);opacity:.25;z-index:0;pointer-events:none}

/* ============================================================
   v2.1 — mockups de navegador, caso de éxito, portfolio, reseñas
   ============================================================ */
.db-browser{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#0d1424;box-shadow:0 40px 80px -32px rgba(0,0,0,.75)}
.db-browser--light{border-color:var(--db-line,#E5EAF4);background:#fff;box-shadow:0 34px 70px -30px rgba(10,14,26,.28)}
.db-browser__bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.db-browser--light .db-browser__bar{background:#F4F7FF;border-bottom-color:#E5EAF4}
.db-browser__dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.db-browser__url{margin-left:8px;font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;color:#8995b3;background:rgba(255,255,255,.06);padding:6px 12px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-browser--light .db-browser__url{color:#7B8699;background:#fff;border:1px solid #E5EAF4}
.db-browser__shot{position:relative;overflow:hidden;aspect-ratio:16/10;background:#0A0E1A}
.db-browser__shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}

.db-case__metric{background:var(--db-grad-glow);-webkit-background-clip:text;background-clip:text;color:transparent}

.db-pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
@media(max-width:900px){.db-pgrid{grid-template-columns:1fr}}
.db-pcard{display:block;text-decoration:none;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.db-pcard:hover{transform:translateY(-8px)}
.db-pcard:hover .db-browser__shot img{transform:scale(1.06)}
.db-pcard:hover .db-browser--light{box-shadow:0 44px 80px -28px rgba(43,92,255,.32)}
.db-pcard__body{padding:22px 6px 0}
.db-pcard__tag{display:inline-block;font:600 11px/1 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--db-blue);background:rgba(43,92,255,.08);padding:6px 11px;border-radius:999px;margin:0 6px 8px 0}

.db-reviews{max-width:660px;margin:0 auto;padding:42px 34px;border:1px solid #E5EAF4;border-radius:22px;background:linear-gradient(180deg,#fff,#FAFBFF);box-shadow:0 34px 70px -34px rgba(10,14,26,.18)}
.db-reviews__head{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px}
.db-reviews__brand{font:600 15px/1 'DM Sans',system-ui,sans-serif;color:#3c4043}
.db-reviews__stars{color:#FBBC04;font-size:32px;letter-spacing:5px;line-height:1}
.db-reviews__rating{margin-top:12px;font:600 14px/1 'DM Sans',system-ui;color:#7B8699}
.db-reviews__rating b{color:#0A0E1A;font-size:18px}
.db-reviews__title{margin-top:14px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:clamp(1.3rem,2.6vw,1.75rem);color:#0A0E1A;letter-spacing:-.02em;line-height:1.15}
.db-reviews__sub{margin-top:12px;color:#454F67;font-size:15px;line-height:1.6;max-width:460px;margin-left:auto;margin-right:auto}
.db-reviews__btn{margin-top:24px;display:inline-flex;align-items:center;gap:9px;background:var(--db-grad);color:#fff;font:600 14px/1 'DM Sans',system-ui;padding:14px 26px;border-radius:12px;text-decoration:none;box-shadow:0 12px 32px -8px rgba(43,92,255,.5);transition:transform .2s,box-shadow .2s}
.db-reviews__btn:hover{transform:translateY(-2px);box-shadow:0 18px 44px -8px rgba(43,92,255,.65)}

/* ============================================================
   v3 — hero blanco+azul, scroller horizontal, frames limpios
   ============================================================ */
.db-hl{background:var(--db-grad-glow);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Hero claro */
.db-hero{position:relative;background:#fff;overflow:hidden}
.db-hero__gridbg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(43,92,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(43,92,255,.055) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(ellipse at 72% 18%,#000,transparent 68%);mask-image:radial-gradient(ellipse at 72% 18%,#000,transparent 68%)}
.db-hero__visual{position:relative;min-height:440px}
.db-hero__card{position:absolute;border-radius:16px;overflow:hidden;border:1px solid #E5EAF4;box-shadow:0 34px 70px -26px rgba(10,14,26,.32);background:#fff}
.db-hero__card img{width:100%;display:block}
.db-hero__card--1{width:80%;top:0;right:0;z-index:3}
.db-hero__card--2{width:56%;bottom:2%;left:0;z-index:4}
.db-hero__card--3{width:42%;top:36%;right:-4%;z-index:2}
@media(max-width:1023px){.db-hero__visual{min-height:320px;margin-top:26px}.db-hero__card--3{display:none}}
@media(max-width:520px){.db-hero__card--1{width:86%}.db-hero__card--2{width:60%}}

/* frame de captura limpio (sin barra de navegador) */
.db-shot{border-radius:16px;overflow:hidden;border:1px solid #E5EAF4;box-shadow:0 30px 66px -30px rgba(10,14,26,.30);aspect-ratio:16/10;background:#0A0E1A}
.db-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}

/* scroller horizontal estilo Instagram */
.db-scroller{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 26px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.db-scroller::-webkit-scrollbar{display:none}
.db-scitem{scroll-snap-align:start;flex:0 0 clamp(280px,78vw,430px);text-decoration:none;display:block}
.db-scitem:hover .db-shot img{transform:scale(1.05)}
.db-scitem:hover .db-shot{box-shadow:0 40px 80px -30px rgba(43,92,255,.34)}
.db-scitem__body{padding:20px 4px 0}
.db-arrow{width:46px;height:46px;border-radius:50%;border:1px solid #E5EAF4;background:#fff;color:#0A0E1A;font-size:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,transform .2s}
.db-arrow:hover{border-color:var(--db-blue);color:var(--db-blue);transform:translateY(-1px)}

/* fix hero: rejilla propia (no depende de col-span-6 del bundle) */
.db-hero__row{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media(min-width:1024px){.db-hero__row{grid-template-columns:1.08fr .92fr;gap:52px}}

/* v4 — hero: tarjetas contenidas (no pisan el copy) */
.db-hero__visual{min-height:430px}
.db-hero__card--1{width:82%;top:0;right:0}
.db-hero__card--2{width:60%;bottom:2%;left:4%}
.db-hero__card--3{display:none}
@media(max-width:1023px){.db-hero__visual{min-height:300px;margin-top:24px}.db-hero__card--2{left:auto;right:10%}}

/* v4 — video: tarjetas flotantes más grandes, limpias e inclinadas */
.db-video__float{width:250px;aspect-ratio:16/10;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 80px -26px rgba(0,0,0,.8);opacity:1;background:#0A0E1A}
.db-video__float img{width:100%;height:100%;object-fit:cover;object-position:top center}
.db-video__float--a{top:-10px;left:-52px;--r:-7deg;animation:db-float 11s ease-in-out infinite}
.db-video__float--b{bottom:-16px;right:-52px;--r:6deg;animation:db-float 13s ease-in-out infinite .6s}
.db-video__frame{box-shadow:0 50px 100px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(43,92,255,.22), 0 0 120px -20px rgba(43,92,255,.45)}
@media(max-width:1100px){.db-video__float{display:none}}

/* v4 — planes de servicios (tarjetas premium) */
.db-plans{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.db-plans{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:26px}}
.db-plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #E5EAF4;border-radius:22px;padding:34px 30px;transition:transform .3s ease,box-shadow .3s ease}
.db-plan:hover{transform:translateY(-6px);box-shadow:0 44px 84px -36px rgba(10,14,26,.30)}
.db-plan--pop{border-color:var(--db-blue);box-shadow:0 34px 74px -32px rgba(43,92,255,.40)}
.db-plan--pop:hover{box-shadow:0 48px 96px -32px rgba(43,92,255,.5)}
.db-plan__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--db-grad);color:#fff;font:600 11px/1 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:8px 15px;border-radius:999px;box-shadow:0 10px 24px -6px rgba(43,92,255,.6);white-space:nowrap}
.db-plan__num{font:800 13px/1 'JetBrains Mono',ui-monospace,monospace;color:var(--db-blue)}
.db-plan__name{margin-top:14px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.6rem;color:#0A0E1A;letter-spacing:-.02em}
.db-plan__price{margin-top:10px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:2.5rem;line-height:1;background:var(--db-grad-glow);-webkit-background-clip:text;background-clip:text;color:transparent}
.db-plan__note{margin-top:6px;font:500 12px/1 'DM Sans',system-ui;color:#7B8699;text-transform:uppercase;letter-spacing:.05em}
.db-plan__desc{margin-top:16px;color:#454F67;font-size:15px;line-height:1.6}
.db-plan__list{margin-top:20px;display:flex;flex-direction:column;gap:12px;flex:1;padding:0;list-style:none}
.db-plan__list li{display:flex;align-items:flex-start;gap:11px;font-size:14px;color:#0A0E1A}
.db-plan__check{flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:rgba(43,92,255,.12);display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.db-plan__check svg{width:11px;height:11px;fill:none;stroke:var(--db-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.db-plan__cta{margin-top:28px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:12px;font:600 14px/1 'DM Sans',system-ui;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s,color .2s}
.db-plan__cta--primary{background:var(--db-grad);color:#fff;box-shadow:0 12px 30px -10px rgba(43,92,255,.55)}
.db-plan__cta--primary:hover{transform:translateY(-2px);box-shadow:0 18px 44px -10px rgba(43,92,255,.7)}
.db-plan__cta--ghost{border:1px solid #E5EAF4;color:#0A0E1A}
.db-plan__cta--ghost:hover{border-color:var(--db-blue);color:var(--db-blue)}

/* planes en 2 columnas (página /servicios) */
@media(min-width:768px){.db-plans--2{grid-template-columns:repeat(2,1fr)}}

/* rejilla 2 columnas propia (no depende de lg:grid-cols-2 del bundle) */
.db-2col{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:1024px){.db-2col{grid-template-columns:1fr 1fr;gap:60px;align-items:center}}

/* v5 — HERO centrado, con fuerza (mesh animado + ticker), sin flotantes */
.db-hero__mesh{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.db-hero__mesh::before,.db-hero__mesh::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.db-hero__mesh::before{width:540px;height:540px;background:radial-gradient(circle,#2B5CFF,transparent 68%);top:-160px;left:6%;animation:db-drift 16s ease-in-out infinite}
.db-hero__mesh::after{width:480px;height:480px;background:radial-gradient(circle,#34D3F5,transparent 68%);top:-90px;right:5%;animation:db-drift 20s ease-in-out infinite reverse}
.db-hero > .relative{position:relative;z-index:1}
.db-chip{display:inline-flex;align-items:center;gap:9px;padding:9px 17px;border-radius:999px;border:1px solid #E5EAF4;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);font:600 12px/1 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#454F67;box-shadow:0 10px 26px -14px rgba(10,14,26,.25)}
.db-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--db-blue);box-shadow:0 0 0 4px rgba(43,92,255,.18)}
.db-ticker{position:relative;z-index:1;border-top:1px solid #E5EAF4;border-bottom:1px solid #E5EAF4;background:#fff;overflow:hidden;white-space:nowrap}
.db-ticker__track{display:inline-flex;padding:15px 0;animation:db-marquee 30s linear infinite;will-change:transform}
.db-ticker__track span{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:15px;color:#0A0E1A;padding-left:28px}
.db-ticker__track b{color:var(--db-blue);padding-left:28px;font-weight:700}
@keyframes db-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.db-ticker__track{animation:none}}

/* v5.1 — degradado del hero centrado (no se corta en pantallas anchas) + logo */
.db-hero__mesh{inset:-40px 0 auto 0;height:62%}
.db-hero__mesh::before{width:680px;height:520px;background:radial-gradient(ellipse at center,#2B5CFF,transparent 66%);top:-120px;left:calc(50% - 480px);right:auto;opacity:.42}
.db-hero__mesh::after{width:620px;height:480px;background:radial-gradient(ellipse at center,#34D3F5,transparent 66%);top:-90px;left:calc(50% - 120px);right:auto;opacity:.42}
.db-hero__logo{width:84px;height:84px;display:block;margin:0 auto;object-fit:contain}
@media(max-width:640px){.db-hero__logo{width:66px;height:66px}}

/* v6 — hero alineado a la izquierda, logo a un lado */
.db-herogrid{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
@media(min-width:1024px){.db-herogrid{grid-template-columns:1.1fr .9fr;gap:56px}}
.db-herobrand{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}
.db-herobrand::before{content:"";position:absolute;width:min(460px,92%);aspect-ratio:1;border-radius:50%;background:var(--db-grad-glow);filter:blur(72px);opacity:.4;z-index:0}
.db-herobrand img{position:relative;z-index:1;width:min(300px,66%);animation:db-float-slow 9s ease-in-out infinite;filter:drop-shadow(0 30px 50px rgba(10,14,26,.18))}
@media(max-width:1023px){.db-herobrand{min-height:200px;order:-1}.db-herobrand img{width:150px}}

/* v7 — barra de navegación bonita */
nav.db-nav{background:rgba(10,14,26,.82);backdrop-filter:saturate(150%) blur(10px)}
.db-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.db-brand img{width:26px;height:26px;display:block}
.db-brand span{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:18px;color:#fff;letter-spacing:-.01em}
.db-navlink{padding:8px 14px;border-radius:9px;font:500 14px/1 'DM Sans',system-ui,sans-serif;color:rgba(255,255,255,.72);transition:color .2s,background .2s;text-decoration:none}
.db-navlink:hover{color:#fff;background:rgba(255,255,255,.07)}
.db-navcta{margin-left:6px;padding:10px 18px;border-radius:10px;background:var(--db-grad);color:#fff;font:600 14px/1 'DM Sans',system-ui,sans-serif;text-decoration:none;box-shadow:0 8px 22px -8px rgba(43,92,255,.6);transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:6px}
.db-navcta:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(43,92,255,.75)}

/* v8 — FAQ acordeón (nativo, sin JS) */
.db-faq{border-top:1px solid #E5EAF4}
.db-faq details{border-bottom:1px solid #E5EAF4}
.db-faq summary{list-style:none;cursor:pointer;padding:20px 2px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'DM Sans',system-ui,sans-serif;font-weight:600;color:#0A0E1A;font-size:16px;transition:color .2s}
.db-faq summary:hover{color:var(--db-blue)}
.db-faq summary::-webkit-details-marker{display:none}
.db-faq summary::after{content:"+";font-size:24px;font-weight:400;color:var(--db-blue);line-height:1;flex:0 0 auto}
.db-faq details[open] summary::after{content:"\2212"}
.db-faq__a{padding:0 2px 22px;color:#454F67;font-size:15px;line-height:1.65;max-width:640px}

/* v9 — hero: tarjetas de concepto (en vez del logo) + fix ticker */
.db-herofeats{position:relative;min-height:380px;display:flex;flex-direction:column;gap:20px;justify-content:center}
.db-herofeats::before{content:"";position:absolute;inset:auto;width:min(440px,90%);aspect-ratio:1;top:50%;left:55%;transform:translate(-50%,-50%);border-radius:50%;background:var(--db-grad-glow);filter:blur(75px);opacity:.34;z-index:0}
.db-herofeat{position:relative;z-index:1;display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #E5EAF4;border-radius:16px;padding:16px 20px;box-shadow:0 26px 54px -28px rgba(10,14,26,.28);max-width:340px}
.db-herofeat:nth-child(1){align-self:flex-start;animation:db-float-slow 9s ease-in-out infinite}
.db-herofeat:nth-child(2){align-self:flex-end;animation:db-float-slow 11s ease-in-out infinite .5s}
.db-herofeat:nth-child(3){align-self:center;animation:db-float-slow 10s ease-in-out infinite .25s}
.db-herofeat__ic{width:46px;height:46px;border-radius:13px;background:var(--db-grad);display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 10px 22px -8px rgba(43,92,255,.5)}
.db-herofeat__ic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.db-herofeat b{display:block;font:700 15px/1.25 'DM Sans',system-ui,sans-serif;color:#0A0E1A}
.db-herofeat small{font-size:13px;color:#7B8699}
@media(max-width:1023px){.db-herofeats{min-height:auto;margin-top:8px}.db-herofeat{max-width:none}}
/* ticker a prueba de huecos */
.db-ticker__track{min-width:max-content}

/* v10 — teaser de servicios (home) con iconos, más vivo */
.db-svc{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:768px){.db-svc{grid-template-columns:repeat(3,1fr)}}
.db-svccard{position:relative;display:block;background:#fff;border:1px solid #E5EAF4;border-radius:20px;padding:30px 28px;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.db-svccard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--db-grad);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s ease}
.db-svccard:hover{transform:translateY(-6px);box-shadow:0 42px 80px -38px rgba(43,92,255,.30)}
.db-svccard:hover::before{transform:scaleX(1)}
.db-svccard__num{position:absolute;top:22px;right:26px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:40px;line-height:1;color:#0A0E1A;opacity:.07}
.db-svccard__ic{width:54px;height:54px;border-radius:15px;background:linear-gradient(135deg,rgba(43,92,255,.12),rgba(52,211,245,.14));display:flex;align-items:center;justify-content:center}
.db-svccard__ic svg{width:26px;height:26px;stroke:var(--db-blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.db-svccard h3{margin-top:22px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.42rem;color:#0A0E1A;letter-spacing:-.01em}
.db-svccard__price{display:inline-block;margin-top:10px;font:700 12.5px/1 'DM Sans',system-ui,sans-serif;color:var(--db-blue);background:rgba(43,92,255,.1);padding:7px 13px;border-radius:999px}
.db-svccard p{margin-top:16px;color:#454F67;font-size:14.5px;line-height:1.6}
.db-svccard__link{margin-top:22px;display:inline-flex;align-items:center;gap:8px;font:600 11px/1 'JetBrains Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--db-blue)}
.db-svccard:hover .db-svccard__link span{transform:translateX(4px)}
.db-svccard__link span{transition:transform .25s ease}

/* v10 — pasos del proceso con color */
.db-steps{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:640px){.db-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.db-steps{grid-template-columns:repeat(4,1fr)}}
.db-step{position:relative;border-radius:20px;padding:28px 24px;background:linear-gradient(160deg,#EEF3FF,#ffffff);border:1px solid #E5EAF4;transition:transform .3s ease,box-shadow .3s ease}
.db-step:hover{transform:translateY(-6px);box-shadow:0 40px 80px -38px rgba(43,92,255,.32)}
.db-step__n{width:54px;height:54px;border-radius:15px;background:var(--db-grad);display:flex;align-items:center;justify-content:center;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:20px;color:#fff;box-shadow:0 12px 26px -8px rgba(43,92,255,.55)}
.db-step h3{margin-top:20px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.3rem;color:#0A0E1A;letter-spacing:-.01em}
.db-step p{margin-top:10px;color:#454F67;font-size:14px;line-height:1.6}
.db-step--hl{background:var(--db-grad-glow);border-color:transparent;box-shadow:0 30px 66px -30px rgba(43,92,255,.55)}
.db-step--hl .db-step__n{background:rgba(255,255,255,.22);box-shadow:none}
.db-step--hl h3{color:#fff}
.db-step--hl p{color:rgba(255,255,255,.9)}

/* v11 — header con más cuerpo (no fino) */
.db-navrow{height:72px}
.db-brand img{width:32px;height:32px}
.db-brand span{font-size:19px}
.db-navlink{font-size:14.5px;padding:9px 15px}
.db-navcta{padding:11px 20px;font-size:14.5px}

/* v12 — menos "IA": servicios sin icono, pasos sobrios, portfolio sin recorte */
.db-svccard h3{margin-top:6px}
.db-step{background:#fff}
.db-step__n{background:#0F1729;box-shadow:none}
.db-step--hl{background:#fff;border-color:#E5EAF4;box-shadow:none}
.db-step--hl .db-step__n{background:#2B5CFF}
.db-step--hl h3{color:#0A0E1A}
.db-step--hl p{color:#454F67}
.db-shot{background:#F4F7FF}
.db-shot img{object-fit:contain}

.db-svccard__ic{display:none}

/* v13 — página /servicios rehecha (tabla comparativa + add-on mantenimiento) */
.db-cmp-wrap{overflow-x:auto;border:1px solid #E5EAF4;border-radius:18px;background:#fff;box-shadow:0 30px 66px -40px rgba(10,14,26,.22)}
.db-cmp{width:100%;border-collapse:collapse;min-width:600px}
.db-cmp th,.db-cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid #EEF2F9;font-size:14.5px}
.db-cmp thead th{background:#F4F7FF;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;color:#0A0E1A;font-size:15px}
.db-cmp thead th:first-child{background:#fff}
.db-cmp thead th.db-cmp__pop{color:var(--db-blue)}
.db-cmp tbody th{font-weight:600;color:#0A0E1A;background:#fff}
.db-cmp td{color:#454F67}
.db-cmp tbody tr:last-child th,.db-cmp tbody tr:last-child td{border-bottom:none;font-weight:800;color:#0A0E1A;font-size:16px}
.db-addon{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;justify-content:space-between;background:#fff;border:1px solid #E5EAF4;border-radius:18px;padding:26px 30px;position:relative}
.db-addon>div:first-child{position:relative}
.db-addon__tag{display:inline-block;font:600 11px/1 'DM Sans',system-ui;text-transform:uppercase;letter-spacing:.08em;color:#7B8699;margin-bottom:10px}
.db-addon h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.35rem;color:#0A0E1A}
.db-addon p{color:#454F67;font-size:14px;margin-top:6px;max-width:460px;line-height:1.6}
.db-addon__price{text-align:right}
.db-addon__price b{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.9rem;color:#0A0E1A}
.db-addon__price small{display:block;color:#7B8699;font-size:12px;margin-top:2px}
.db-addon__cta{background:var(--db-blue);color:#fff;font:600 14px/1 'DM Sans',system-ui;padding:13px 22px;border-radius:12px;text-decoration:none;white-space:nowrap}
/* hero limpio (servicios): un lavado azul suave y centrado, sin manchas ni animación */
.db-hero--soft .db-hero__gridbg{-webkit-mask-image:radial-gradient(ellipse 65% 55% at 50% 0%,#000,transparent 78%);mask-image:radial-gradient(ellipse 65% 55% at 50% 0%,#000,transparent 78%);opacity:.6}
.db-hero--soft .db-hero__mesh{inset:0 0 auto 0;height:78%}
.db-hero--soft .db-hero__mesh::before{width:min(1040px,96%);height:480px;left:50%;top:-190px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(43,92,255,.20),transparent 72%);opacity:1;filter:blur(130px);animation:none}
.db-hero--soft .db-hero__mesh::after{display:none}
/* Reel horizontal de portfolio (experiencia estilo Instagram) */
.db-reel-sec{background:#0A0E1A;color:#fff;padding:60px 0 68px;overflow:hidden}
.db-reel-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.db-reel-eyebrow{display:block;font:600 12px/1 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#4E7DFF;margin-bottom:14px}
.db-reel-title{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:clamp(1.9rem,4vw,3rem);line-height:1;letter-spacing:-.025em;color:#fff}
.db-reel-title span{color:var(--db-blue)}
.db-reel-top__r{display:flex;align-items:center;gap:18px}
.db-reel-count{font:500 13px/1 'JetBrains Mono',ui-monospace,monospace;color:rgba(255,255,255,.55);letter-spacing:.04em}
.db-reel-nav{display:flex;gap:8px}
.db-reel-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);color:#fff;font-size:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.db-reel-arrow:hover{background:var(--db-blue);border-color:var(--db-blue);transform:translateY(-2px)}
.db-reel-bar{display:flex;gap:6px;margin:24px auto 0}
.db-reel-bar span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}
.db-reel-bar span::after{content:"";position:absolute;inset:0;background:var(--db-blue);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.db-reel-bar span.is-active::after{transform:scaleX(1)}
.db-reel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:26px 24px 8px 0;margin-top:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.db-reel::-webkit-scrollbar{display:none}
.db-reel.is-drag{cursor:grabbing;scroll-behavior:auto}
.db-reel:focus-visible{outline:2px solid var(--db-blue);outline-offset:4px;border-radius:24px}
.db-reel__slide{scroll-snap-align:start;flex:0 0 min(90vw,880px);position:relative;aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:#131B2E;border:1px solid rgba(255,255,255,.08);box-shadow:0 44px 90px -46px rgba(0,0,0,.75)}
.db-reel__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;-webkit-user-drag:none;user-select:none}
.db-reel__grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,26,0) 32%,rgba(10,14,26,.5) 60%,rgba(10,14,26,.94))}
.db-reel__ix{position:absolute;top:16px;left:18px;font:700 12px/1 'JetBrains Mono',ui-monospace,monospace;color:#fff;background:rgba(10,14,26,.5);backdrop-filter:blur(6px);padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12)}
.db-reel__cap{position:absolute;inset:auto 0 0 0;padding:26px 28px 28px;z-index:1}
.db-reel__chip{display:inline-block;font:600 10px/1 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.09em;padding:6px 11px;border-radius:999px;color:#fff;margin-bottom:12px}
.db-reel__chip--web{background:var(--db-blue)}
.db-reel__chip--landing{background:rgba(255,255,255,.18)}
.db-reel__chip--app{background:#34D3F5;color:#0A0E1A}
.db-reel__chip--demo{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2)}
.db-reel__cap h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:clamp(1.35rem,2.6vw,2rem);letter-spacing:-.02em;color:#fff}
.db-reel__cap p{margin-top:8px;max-width:560px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.55}
.db-reel__stats{margin-top:13px;display:flex;flex-wrap:wrap;gap:8px}
.db-reel__stat{font:600 12px/1 'DM Sans',system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:7px 11px;border-radius:999px}
.db-reel__actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}
.db-reel__btn{display:inline-flex;align-items:center;gap:7px;font:600 13px/1 'DM Sans',system-ui,sans-serif;padding:11px 18px;border-radius:10px;text-decoration:none;background:#fff;color:#0A0E1A;transition:transform .2s,background .2s}
.db-reel__btn:hover{transform:translateY(-2px);background:#eef2ff}
.db-reel__btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.32)}
.db-reel__btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.db-reel-hint{margin:18px auto 0;font-size:12.5px;color:rgba(255,255,255,.5)}
@media(max-width:640px){.db-reel__slide{aspect-ratio:3/4;flex-basis:86vw}.db-reel__cap{padding:20px}}

/* ===== SAFETY-NET · utilidades que NO están en el bundle Tailwind precompilado.
   Las usan las páginas nuevas (guías, nichos, casos, aparecer, restaurantes…).
   Sin esto, márgenes/paddings se pierden y los textos se pegan. ===== */
.mt-16{margin-top:4rem}
.pt-10{padding-top:2.5rem}
.pt-14{padding-top:3.5rem}
.pt-20{padding-top:5rem}
.pb-6{padding-bottom:1.5rem}
.pb-10{padding-bottom:2.5rem}
.pb-14{padding-bottom:3.5rem}
.pb-20{padding-bottom:5rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.gap-5{gap:1.25rem}
.flex-shrink-0{flex-shrink:0}
.underline-offset-2{text-underline-offset:2px}
.leading-\[0\.98\]{line-height:.98}
.leading-\[1\.0\]{line-height:1}
.leading-\[1\.15\]{line-height:1.15}
.tracking-\[0\.14em\]{letter-spacing:.14em}
.tracking-\[0\.2em\]{letter-spacing:.2em}
.text-blue-400{color:#5B82FF}
.text-foreground\/50{color:rgba(10,18,31,.5)}
.text-foreground\/45{color:rgba(10,18,31,.45)}
.bg-blue\/10{background-color:rgba(7,102,238,.1)}
.border-white\/10{border-color:rgba(255,255,255,.1)}
.border-white\/30{border-color:rgba(255,255,255,.3)}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.1)}
@media (min-width:640px){.sm\:pl-6{padding-left:1.5rem}}
@media (min-width:1024px){
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg\:pb-16{padding-bottom:4rem}
.lg\:pb-28{padding-bottom:7rem}
.lg\:pl-8{padding-left:2rem}
.lg\:pt-24{padding-top:6rem}
.lg\:pt-28{padding-top:7rem}
.lg\:py-20{padding-top:5rem;padding-bottom:5rem}
.lg\:py-36{padding-top:9rem;padding-bottom:9rem}
.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}
}
/* Portfolio — bento de resultados */
.db-bento-sec{background:#fff;padding:56px 0 72px}
.db-bento-head{max-width:640px;margin-bottom:30px}
.db-bento-eyebrow{display:block;font:600 12px/1 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--db-blue);margin-bottom:14px}
.db-bento-title{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:clamp(1.9rem,4vw,3rem);line-height:1;letter-spacing:-.025em;color:#0A0E1A}
.db-bento-title span{background:var(--db-grad-glow);-webkit-background-clip:text;background-clip:text;color:transparent}
.db-bento-sub{margin-top:14px;color:#454F67;font-size:15px;line-height:1.6}
.db-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:225px;grid-auto-flow:dense;gap:16px}
.db-bento__item{position:relative;border-radius:20px;overflow:hidden;background:#131B2E;text-decoration:none;display:block;box-shadow:0 30px 60px -42px rgba(10,14,26,.5);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.db-bento__item:hover{transform:translateY(-5px);box-shadow:0 46px 84px -38px rgba(43,92,255,.34)}
.db-bento__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.db-bento__item:hover img{transform:scale(1.055)}
.db-bento__grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,26,0) 34%,rgba(10,14,26,.5) 64%,rgba(10,14,26,.93))}
.db-bento__cap{position:absolute;inset:auto 0 0 0;padding:18px 20px;z-index:1}
.db-bento__chip{display:inline-block;font:600 9.5px/1 'DM Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;padding:5px 9px;border-radius:999px;color:#fff;background:rgba(255,255,255,.2);backdrop-filter:blur(4px);margin-bottom:9px}
.db-bento__chip--web{background:var(--db-blue)}
.db-bento__chip--app{background:var(--db-cyan);color:#0A0E1A}
.db-bento__cap h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.1rem;line-height:1.1;letter-spacing:-.01em;color:#fff}
.db-bento__cap p{margin-top:5px;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.82);max-width:42ch}
.db-bento__go{margin-top:11px;display:inline-flex;align-items:center;gap:6px;font:600 12px/1 'DM Sans',system-ui,sans-serif;color:#fff;opacity:.92}
.db-bento__go span{transition:transform .2s}
.db-bento__item:hover .db-bento__go span{transform:translateX(4px)}
.db-bento__stats{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.db-bento__stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:9px 13px;backdrop-filter:blur(4px)}
.db-bento__stat b{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.5rem;line-height:1;color:#fff}
.db-bento__stat span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.72)}
.db-bento__item--xl{grid-column:span 2;grid-row:span 2}
.db-bento__item--wide{grid-column:span 2}
.db-bento__item--xl .db-bento__cap{padding:26px 28px}
.db-bento__item--xl .db-bento__cap h3{font-size:1.9rem}
.db-bento__item--xl .db-bento__cap p{font-size:14px}
@media(max-width:900px){.db-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.db-bento__item--xl{grid-row:span 2}.db-bento__item--xl .db-bento__cap h3{font-size:1.5rem}}
@media(max-width:560px){.db-bento{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}.db-bento__item{aspect-ratio:4/3}.db-bento__item--xl{aspect-ratio:1/1;grid-column:auto;grid-row:auto}.db-bento__item--wide{grid-column:auto}}
