/* =====================================================
   GASHAFUNKO — Sitio informativo / atención al cliente
   Operado por Dannsof
   ===================================================== */

:root {
  --violet-950: #1a0533;
  --violet-900: #2a0a5e;
  --violet-800: #3d1278;
  --violet-700: #5421a6;
  --violet-600: #6d28d9;
  --magenta:    #ff2d9b;
  --magenta-600:#e01f87;
  --pink:       #ff6ec7;
  --lime:       #c6f04e;
  --cyan:       #3ec6ff;
  --yellow:     #ffd23f;
  --white:      #ffffff;
  --ink:        #190a2e;
  --muted:      #b9a9d6;
  --wa:         #25d366;
  --wa-600:     #1ebe59;

  --grad-hero:  radial-gradient(120% 120% at 80% 0%, #6d28d9 0%, #3d1278 45%, #1a0533 100%);
  --grad-cta:   linear-gradient(135deg, var(--magenta), var(--violet-600));
  --grad-text:  linear-gradient(100deg, var(--lime), var(--cyan) 55%, var(--pink));

  --radius:     22px;
  --radius-sm:  14px;
  --shadow:     0 18px 50px rgba(20, 4, 50, .35);
  --shadow-soft:0 10px 30px rgba(20, 4, 50, .18);
  --maxw:       1180px;
  --ease:       cubic-bezier(.21,.7,.35,1);
  --font-display: "Fredoka", "Poppins", system-ui, sans-serif;
  --font-body:    "Poppins", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

*,*::before,*::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--font-body); color: var(--ink); background: var(--white); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; }
ul { list-style: none; padding: 0; }
h1,h2,h3,h4 { font-family: var(--font-display); line-height: 1.08; font-weight: 700; letter-spacing: -.01em; }
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
.skip-link { position: absolute; left: -999px; top: 0; z-index: 999; background: var(--magenta); color:#fff; padding: 10px 16px; border-radius: 0 0 10px 0; }
.skip-link:focus { left: 0; }

/* ---------- Botones ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .85rem 1.5rem; border-radius: 999px;
  font-family: var(--font-display); font-weight: 600; font-size: 1rem;
  color:#fff; background: var(--grad-cta);
  box-shadow: 0 10px 24px rgba(255,45,155,.35);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease);
  will-change: transform;
}
.btn:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 16px 32px rgba(255,45,155,.45); }
.btn:active { transform: translateY(0) scale(.99); }
.btn:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.btn--lg { padding: 1.05rem 2rem; font-size: 1.08rem; }
.btn--ghost { background: transparent; color:#fff; box-shadow:none; border: 2px solid rgba(255,255,255,.55); }
.btn--ghost:hover { background: rgba(255,255,255,.12); box-shadow:none; }
.btn--lime { background: var(--lime); color: var(--violet-900); box-shadow: 0 12px 28px rgba(174,224,47,.45); }
.btn--whatsapp { background: linear-gradient(135deg, var(--wa), var(--wa-600)); box-shadow: 0 12px 28px rgba(37,211,102,.4); }
.section .btn--ghost { color: var(--violet-700); border-color: var(--violet-600); }
.section .btn--ghost:hover { background: rgba(109,40,217,.08); }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 100; transition: background .3s var(--ease), box-shadow .3s var(--ease); padding: .55rem 0; }
.site-header.is-stuck { background: rgba(26,5,51,.82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 6px 24px rgba(0,0,0,.25); }
.nav { display: flex; align-items: center; gap: 1.2rem; }
.nav__logo { height: 38px; width: auto; }
.nav__menu { display: flex; align-items: center; gap: 1.4rem; margin-left: auto; }
.nav__menu a:not(.nav__cta) { color:#fff; font-weight: 500; font-size: .95rem; position: relative; padding: .2rem 0; opacity: .9; }
.nav__menu a:not(.nav__cta)::after { content:""; position:absolute; left:0; bottom:-3px; height:2px; width:0; background: var(--lime); transition: width .25s var(--ease); }
.nav__menu a:not(.nav__cta):hover { opacity:1; } .nav__menu a:not(.nav__cta):hover::after { width:100%; }
.nav__cta { padding: .6rem 1.2rem; font-size: .95rem; }
.nav__toggle { display:none; flex-direction:column; gap:5px; padding:8px; }
.nav__toggle span { width:26px; height:3px; background:#fff; border-radius:3px; transition:.3s var(--ease); }
.nav.is-open .nav__toggle span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.nav.is-open .nav__toggle span:nth-child(2){ opacity:0; }
.nav.is-open .nav__toggle span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero { position: relative; color:#fff; isolation: isolate; background: var(--grad-hero); padding: clamp(2rem,6vw,5rem) 0 clamp(3rem,8vw,6rem); overflow: hidden; margin-top: -64px; padding-top: calc(64px + 2.5rem); }
.hero__bg { position:absolute; inset:0; z-index:-2; pointer-events:none; }
.blob { position:absolute; border-radius:50%; filter: blur(60px); opacity:.55; }
.blob--1 { width:460px; height:460px; background: var(--magenta); top:-120px; left:-80px; }
.blob--2 { width:380px; height:380px; background: var(--cyan); bottom:-100px; right:-60px; opacity:.35; }
.blob--3 { width:300px; height:300px; background: var(--violet-600); top:30%; left:45%; opacity:.4; }
.capsule { position:absolute; z-index:-1; width:110px; filter: drop-shadow(0 18px 24px rgba(0,0,0,.35)); animation: bob 7s ease-in-out infinite; }
.capsule--a { top:12%; right:8%; width:130px; animation-delay:-1s; }
.capsule--b { top:60%; right:22%; width:84px; animation-delay:-3s; }
.capsule--c { top:24%; left:4%; width:96px; animation-delay:-2s; }
.capsule--d { bottom:8%; left:14%; width:72px; animation-delay:-4s; }
@keyframes bob { 0%,100%{ transform: translateY(0) rotate(-4deg);} 50%{ transform: translateY(-22px) rotate(4deg);} }
.hero__inner { display:grid; grid-template-columns: 1.05fr .95fr; gap: 2.5rem; align-items:center; }
.eyebrow { display:inline-block; font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:.8rem; color: var(--violet-900); background: var(--lime); padding:.35rem .9rem; border-radius:999px; }
.hero__title { font-size: clamp(2.2rem,5.2vw,4rem); margin: 1rem 0; }
.grad-text { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__sub { font-size: clamp(1rem,1.4vw,1.18rem); color:#e9defb; max-width: 40ch; }
.hero__sub strong { color:#fff; }
.hero__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin: 1.7rem 0 1.2rem; }
.hero__actions .btn--ghost { color:#fff; border-color: rgba(255,255,255,.55); }
.hero__chips { display:flex; flex-wrap:wrap; gap:.5rem .9rem; font-size:.85rem; color:#d9c9f5; }
.hero__chips li { display:flex; align-items:center; gap:.4rem; }
.hero__chips li::before { content:"✓"; color: var(--lime); font-weight:700; }
.hero__media { position: relative; }
.hero__photo { border-radius:28px; overflow:hidden; border:5px solid rgba(255,255,255,.14); box-shadow: var(--shadow); transform: rotate(1.5deg); aspect-ratio: 3/4; }
.hero__photo img { width:100%; height:100%; object-fit: cover; }
.hero__badge { position:absolute; background:#fff; color: var(--violet-900); border-radius:18px; padding:.7rem 1rem; text-align:center; box-shadow: var(--shadow-soft); line-height:1.05; }
.hero__badge strong { display:block; font-family: var(--font-display); font-size:1.3rem; }
.hero__badge span { font-size:.72rem; color:#6b5b86; }
.hero__badge--lime { top:8%; left:-22px; border-bottom:4px solid var(--lime); }
.hero__badge--pink { bottom:10%; right:-18px; border-bottom:4px solid var(--magenta); }
.float-y { animation: floatY 5s ease-in-out infinite; }
.float-y2 { animation: floatY 5s ease-in-out infinite; animation-delay:-2.5s; }
@keyframes floatY { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-12px);} }
.hero__scroll {
  position:absolute; left:50%; bottom:16px; margin-left:-25px;
  width:50px; height:50px; border-radius:50%;
  display:grid; place-items:center; color:#fff;
  background: rgba(255,255,255,.10); border: 2px solid rgba(255,255,255,.6);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  box-shadow: 0 8px 20px rgba(0,0,0,.28);
  animation: nudge 1.8s ease-in-out infinite;
  transition: background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
  z-index: 4;
}
.hero__scroll:hover { background: rgba(198,240,78,.22); border-color: var(--lime); transform: translateY(2px); }
.hero__scroll svg { display:block; }
@keyframes nudge { 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(6px);} }

/* ---------- Stats ---------- */
.stats { background: var(--violet-950); color:#fff; padding: 2.2rem 0; }
.stats__grid { display:grid; grid-template-columns: repeat(4,1fr); gap:1.4rem; text-align:center; }
.stat__num { display:block; font-family: var(--font-display); font-weight:700; font-size: clamp(2rem,4vw,3rem); line-height:1; background: var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat__label { font-size:.9rem; color: var(--muted); }

/* ---------- Secciones ---------- */
.section { padding: clamp(3.2rem,7vw,6rem) 0; position: relative; }
.section__head { text-align:center; max-width:720px; margin: 0 auto clamp(2rem,4vw,3.2rem); }
.kicker { display:inline-block; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color: var(--magenta); margin-bottom:.6rem; }
.section h2 { font-size: clamp(1.7rem,3.4vw,2.6rem); color: var(--ink); }
.section__lead { color:#6b5b86; font-size:1.05rem; margin-top:.8rem; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap: clamp(1.6rem,4vw,3.4rem); align-items:center; }

.ticks { display:grid; gap:.55rem; margin:1.2rem 0; }
.ticks li { position:relative; padding-left:1.8rem; color:#4a3a66; }
.ticks li::before { content:"✓"; position:absolute; left:0; top:0; width:1.25rem; height:1.25rem; border-radius:50%; background: var(--lime); color: var(--violet-900); font-size:.8rem; font-weight:700; display:grid; place-items:center; }

/* Qué es */
.que-es { background: linear-gradient(180deg,#fff,#faf6ff); }
.que-es__media img { border-radius: var(--radius); box-shadow: var(--shadow-soft); background:#f3edff; }

/* Colecciones */
.colecciones { background:#fff; }
.colecciones__feature { margin-top: 1rem; }
.colecciones__copy h3 { font-size: clamp(1.4rem,2.6vw,1.9rem); color: var(--ink); margin-bottom:.6rem; }
.colecciones__copy p { color:#6b5b86; margin-bottom:1.2rem; }
.colecciones__ph { border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); }
.colecciones__ph img { width:100%; aspect-ratio: 4/5; object-fit: cover; }
.grid-2--reverse > *:first-child { order: 2; }

/* Cómo funciona */
.como { background: linear-gradient(180deg,#faf6ff,#fff); }
.steps { display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; list-style:none; padding:0; margin:0; }
.step { position:relative; background: linear-gradient(180deg,#fff,#faf6ff); border:1px solid #f0e8ff; border-radius: var(--radius); padding: 2.4rem 1.4rem 1.5rem; text-align:center; }
.step__n { position:absolute; top:-24px; left:50%; transform: translateX(-50%); width:50px; height:50px; border-radius:50%; display:grid; place-items:center; font-family: var(--font-display); font-weight:700; font-size:1.4rem; color:#fff; background: var(--grad-cta); box-shadow: 0 8px 18px rgba(255,45,155,.4); }
.step h3 { font-size:1.18rem; margin-bottom:.35rem; color: var(--ink); }
.step p { color:#6b5b86; font-size:.95rem; }

/* Ubicaciones */
.ubicaciones { background: var(--grad-hero); color:#fff; }
.ubicaciones .kicker { color: var(--lime); }
.ubicaciones h2 { color:#fff; }
.ubicaciones .section__lead { color:#d9c9f5; }
.marquee { overflow:hidden; padding:1.2rem 0; margin:.5rem 0 2rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__track { display:flex; gap:1rem; width:max-content; animation: scrollX 32s linear infinite; }
.marquee__track span { white-space:nowrap; padding:.6rem 1.2rem; border-radius:999px; font-weight:600; background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#fff; }
@keyframes scrollX { to { transform: translateX(-50%); } }
.loc-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap:.7rem; }
.loc-grid li { padding:.75rem 1rem; border-radius: var(--radius-sm); font-size:.92rem; background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; gap:.55rem; }
.loc-grid li::before { content:"📍"; font-size:.9rem; }
.loc-grid.is-collapsed li:nth-child(n+9) { display:none; }
.loc-more { text-align:center; margin-top:1.6rem; }
.loc-more__btn { display:inline-flex; align-items:center; gap:.55rem; padding:.8rem 1.7rem; border-radius:999px; font-family: var(--font-display); font-weight:600; font-size:1rem; color:#fff; background: rgba(255,255,255,.08); border:2px solid rgba(255,255,255,.5); transition: background .2s, transform .25s var(--ease); }
.loc-more__btn:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }
.loc-more__btn:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
.loc-more__btn .chev { transition: transform .3s var(--ease); font-size:.85rem; }
.loc-more__btn[aria-expanded="true"] .chev { transform: rotate(180deg); }

/* Experiencia */
.experiencia { background:#fff; }
.experiencia__ph { border-radius: var(--radius); overflow:hidden; box-shadow: var(--shadow); }
.experiencia__ph img { width:100%; aspect-ratio: 13/15; object-fit: cover; }
.experiencia__copy p { color:#6b5b86; margin-bottom: 1.2rem; }

/* Atención al cliente */
.atencion { background: linear-gradient(180deg,#faf6ff,#fff); }
.cards { display:grid; grid-template-columns: repeat(3,1fr); gap:1.3rem; }
.card { background:#fff; border:1px solid #f0e8ff; border-radius: var(--radius); padding:1.6rem; box-shadow: 0 6px 22px rgba(80,30,160,.06); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; display:flex; flex-direction:column; }
.card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(80,30,160,.14); border-color: var(--pink); }
.card__icon { width:58px; height:58px; border-radius:16px; display:grid; place-items:center; font-size:1.7rem; background: linear-gradient(135deg,#fff0fa,#efe6ff); margin-bottom:1rem; }
.card h3 { font-size:1.18rem; margin-bottom:.4rem; color: var(--ink); }
.card p { color:#6b5b86; font-size:.96rem; flex:1; }
.card__link { display:inline-block; margin-top:1rem; font-weight:600; color: var(--magenta); }
.card__link:hover { color: var(--violet-700); }

.atencion__wrap { display:grid; grid-template-columns: .85fr 1.15fr; gap: clamp(1.6rem,4vw,3rem); align-items:start; margin-top: clamp(2rem,4vw,3rem); background: var(--violet-950); color:#fff; border-radius: var(--radius); padding: clamp(1.6rem,3.5vw,2.6rem); box-shadow: var(--shadow); }
.atencion__info h3 { color:#fff; font-size:1.3rem; margin-bottom:1.2rem; }
.contact-list { display:grid; gap:1rem; }
.contact-list li { display:flex; align-items:center; gap:.8rem; }
.contact-list__ic { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background: rgba(255,255,255,.08); color: var(--lime); font-size:1.1rem; flex-shrink:0; }
.contact-list strong { display:block; font-size:.78rem; color: var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.contact-list a { color:#fff; font-weight:600; }
.contact-list a:hover { color: var(--lime); }
.atencion__social { margin-top: 1.6rem; }
.atencion__social > strong { display:block; font-size:.78rem; color: var(--muted); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.7rem; }

.lead-form { background:#fff; color: var(--ink); border-radius: var(--radius); padding: clamp(1.2rem,3vw,1.7rem); display:grid; grid-template-columns:1fr 1fr; gap:.9rem; box-shadow: var(--shadow-soft); min-width:0; }
.field { display:flex; flex-direction:column; gap:.35rem; min-width:0; }
.field--full { grid-column: 1 / -1; }
.field label { font-size:.85rem; font-weight:600; color:#4a3a66; }
.field input, .field select, .field textarea { font: inherit; width:100%; max-width:100%; min-width:0; padding:.7rem .85rem; border-radius:12px; border:1.5px solid #e6dcf5; background:#faf7ff; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.field input::placeholder, .field textarea::placeholder { color:#b3a3cc; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color: var(--magenta); box-shadow: 0 0 0 4px rgba(255,45,155,.12); background:#fff; }
.field textarea { resize: vertical; }
.lead-form__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:.2rem; }
.lead-form__actions .btn { flex:1 1 auto; }
.lead-form .btn--ghost { color: var(--violet-700); border-color: var(--violet-600); }
.form-note { grid-column:1/-1; font-size:.88rem; min-height:1.2rem; }
.form-note.is-error { color:#ff5a7a; }
.form-note.is-ok { color:#1ebe59; }

/* FAQ */
.faq { background:#fff; }
.faq__list { max-width:820px; margin:0 auto; display:grid; gap:.8rem; }
.faq__item { border:1px solid #eee2ff; border-radius: var(--radius-sm); background:#faf7ff; padding:0 1.2rem; transition: box-shadow .25s, border-color .25s; }
.faq__item[open] { box-shadow: var(--shadow-soft); border-color: var(--pink); background:#fff; }
.faq__item summary { list-style:none; cursor:pointer; padding:1.1rem 0; font-family: var(--font-display); font-weight:600; font-size:1.05rem; color: var(--ink); display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary::after { content:"+"; font-size:1.5rem; color: var(--magenta); transition: transform .3s var(--ease); }
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__item p { padding:0 0 1.1rem; color:#6b5b86; }
.faq__item p a { color: var(--magenta); font-weight:600; }
.faq__item p a:hover { color: var(--violet-700); }

/* Footer */
.site-footer { background: var(--violet-950); color:#cbbce6; }
.footer__grid { display:grid; grid-template-columns: 1.4fr 1fr 1.1fr 1.1fr .9fr; gap:2rem; padding: clamp(2.5rem,5vw,4rem) 0 2rem; }
.footer__biz { font-size:.88rem; color: var(--muted); margin-bottom:.5rem; }
.footer__brand img { height:40px; width:auto; margin-bottom:1rem; }
.footer__brand p { font-size:.92rem; max-width:32ch; }
.footer__social { display:flex; gap:.6rem; margin-top:1.1rem; }
.footer__social a { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#fff; background: rgba(255,255,255,.08); transition: transform .25s var(--ease), background .25s; }
.footer__social a:hover { transform: translateY(-3px); background: var(--magenta); }
.footer__col h4 { color:#fff; font-size:1rem; margin-bottom:1rem; }
.footer__col a { display:block; padding:.28rem 0; font-size:.92rem; transition: color .2s; }
.footer__col a:hover { color: var(--lime); }
.footer__loc { font-size:.85rem; margin-top:.6rem; color: var(--muted); }
.footer__operated .footer__dannsof { display:inline-flex; width: fit-content; max-width:100%; background:#fff; padding:.6rem .9rem; border-radius:12px; }
.footer__dannsof img { height:34px; width:auto; }
.footer__bottom { border-top:1px solid rgba(255,255,255,.08); padding:1.2rem 0; }
.footer__bottom .container { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; font-size:.85rem; }
.footer__legal a:hover { color: var(--lime); }

/* WhatsApp flotante */
.wa-float { position:fixed; right:20px; bottom:20px; z-index:90; width:60px; height:60px; border-radius:50%; display:grid; place-items:center; color:#fff; background: linear-gradient(135deg, var(--wa), var(--wa-600)); box-shadow: 0 12px 30px rgba(37,211,102,.5); animation: pulse 2.6s ease-in-out infinite; transition: transform .25s var(--ease); }
.wa-float:hover { transform: scale(1.08); }
@keyframes pulse { 0%,100%{ box-shadow: 0 12px 30px rgba(37,211,102,.5);} 50%{ box-shadow: 0 12px 30px rgba(37,211,102,.5), 0 0 0 14px rgba(37,211,102,0);} }

/* Volver arriba (izquierda, para no chocar con WhatsApp) */
.to-top {
  position: fixed; left: 20px; bottom: 22px; z-index: 90;
  width: 50px; height: 50px; border-radius: 50%;
  display: grid; place-items: center; color:#fff;
  background: var(--grad-cta);
  box-shadow: 0 10px 26px rgba(109,40,217,.45);
  opacity: 0; visibility: hidden; transform: translateY(14px);
  transition: opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
}
.to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.to-top:hover { transform: translateY(-3px) scale(1.06); box-shadow: 0 16px 32px rgba(109,40,217,.55); }
.to-top:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.to-top svg { display: block; }

/* Reveal */
.reveal { opacity:0; transform: translateY(28px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .nav__menu { display:none; }
  .nav__toggle { display:flex; margin-left:auto; }
  .nav.is-open .nav__menu { display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; background: rgba(26,5,51,.97); backdrop-filter: blur(12px); padding:1rem 22px 1.4rem; gap:.4rem; box-shadow: 0 20px 40px rgba(0,0,0,.4); }
  .nav.is-open .nav__menu a:not(.nav__cta) { padding:.7rem 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .nav.is-open .nav__menu .nav__cta { width:100%; margin-top:.8rem; justify-content:center; }
  .hero__inner { grid-template-columns:1fr; text-align:center; }
  .hero__media { order:1; max-width:380px; margin:0 auto; }
  .hero__scroll { order:2; position:static; justify-self:center; margin:-14px 0 2px; left:auto; bottom:auto; }
  .hero__copy { order:3; }
  .hero__sub, .hero__title { margin-left:auto; margin-right:auto; }
  .hero__actions, .hero__chips { justify-content:center; }
  .stats__grid { grid-template-columns: repeat(2,1fr); gap:1.6rem; }
  .cards, .steps { grid-template-columns: repeat(2,1fr); }
  .grid-2 { grid-template-columns:1fr; }
  .grid-2--reverse > *:first-child { order:0; }
  .atencion__wrap { grid-template-columns:1fr; }
  .footer__grid { grid-template-columns:1fr 1fr; }
  .capsule--b, .capsule--d { display:none; }
  .capsule--a { z-index:2; top:84px; right:-18px; width:70px; }
  .capsule--c { z-index:2; top:205px; left:-18px; width:56px; }
}
@media (max-width: 560px) {
  .stats__grid { grid-template-columns: repeat(2,1fr); }
  .cards, .steps, .lead-form { grid-template-columns:1fr; }
  .hero__badge--lime { left:0; } .hero__badge--pink { right:0; }
  .loc-grid.is-collapsed li:nth-child(n+7) { display:none; }
  .footer__grid { grid-template-columns:1fr; row-gap:2rem; padding-left:26px; padding-right:26px; }
  .footer__bottom .container { flex-direction:column; padding-left:26px; padding-right:26px; }
}
@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; }
}
