/* =========================================================
   TOQUE SMART — Sistema visual
   Moderno · lujoso · LIGHT/pastel por defecto + DARK premium
   Marca: azul azure (#3FA3D8) + grises fríos. Sin dorado.
   Fuentes: Outfit (títulos) + Inter (cuerpo).
========================================================= */

/* ===================== TOKENS (LIGHT por defecto) ===================== */
:root{
  /* Marca */
  --brand:#3FA3D8;        /* azure de marca (logo) */
  --brand-2:#69BCE6;      /* azul claro */
  --brand-deep:#1E7DB3;   /* azul profundo para CTA (texto blanco AA) */
  --brand-soft:rgba(63,163,216,.10);
  --on-brand:#ffffff;

  /* Superficies (pastel light) */
  --bg:#F4F7F9;           /* off-white frío con tinte azul */
  --bg-2:#FBFCFD;         /* sección alterna casi blanca */
  --surface:#FFFFFF;      /* tarjetas */
  --surface-2:#EFF4F8;    /* tarjeta sutil / tinte */
  --tint:#EAF3F9;         /* bandas con tinte azul pastel */

  /* Tinta y texto (grises fríos) */
  --ink:#1C2630;          /* slate carbón, no negro */
  --ink-2:#33414E;
  --muted:#5E6B77;        /* gris medio legible */
  --line:#E2E9EE;         /* bordes fríos */
  --line-2:#D3DDE5;

  /* Sombras suaves modernas */
  --shadow-sm:0 1px 2px rgba(28,38,48,.04),0 2px 8px rgba(28,38,48,.05);
  --shadow-md:0 8px 24px rgba(28,38,48,.08);
  --shadow-lg:0 24px 60px rgba(28,38,48,.14);
  --shadow-brand:0 10px 30px rgba(30,125,179,.28);

  --radius:18px;
  --radius-sm:12px;
  --maxw:1180px;
  --head:"Outfit",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;

  --hero-overlay:linear-gradient(180deg,rgba(244,247,249,.82),rgba(244,247,249,.94) 60%,var(--bg));
  --hero-radial:radial-gradient(120% 90% at 78% 8%,rgba(105,188,230,.20),transparent 55%);
}

/* ===================== DARK premium ===================== */
@media (prefers-color-scheme:dark){
  :root{
    --brand:#52B4E8;
    --brand-2:#7FCBF0;
    --brand-deep:#3DA0D6;
    --brand-soft:rgba(82,180,232,.14);
    --on-brand:#06222F;

    --bg:#12171C;          /* slate frío premium, no negro puro */
    --bg-2:#161C22;
    --surface:#1B232B;
    --surface-2:#202A33;
    --tint:#172530;

    --ink:#EAF1F6;
    --ink-2:#C3D0DA;
    --muted:#9DAAB5;
    --line:rgba(255,255,255,.10);
    --line-2:rgba(255,255,255,.16);

    --shadow-sm:0 1px 2px rgba(0,0,0,.3);
    --shadow-md:0 10px 28px rgba(0,0,0,.45);
    --shadow-lg:0 28px 64px rgba(0,0,0,.55);
    --shadow-brand:0 10px 30px rgba(61,160,214,.30);

    --hero-overlay:linear-gradient(180deg,rgba(18,23,28,.55),rgba(18,23,28,.92) 65%,var(--bg));
    --hero-radial:radial-gradient(120% 90% at 78% 8%,rgba(82,180,232,.18),transparent 55%);
  }
}

/* ===================== BASE ===================== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
h1,h2,h3,h4{font-family:var(--head);font-weight:600;line-height:1.14;letter-spacing:-.01em}
.gold{color:var(--brand-deep)}
@media (prefers-color-scheme:dark){ .gold{color:var(--brand)} }

/* ===================== ACCESIBILIDAD / FOCUS ===================== */
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.btn:focus-visible{outline-offset:4px}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--sans);font-weight:600;letter-spacing:.2px;
  border-radius:999px;cursor:pointer;border:1px solid transparent;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease;
  white-space:nowrap;
}
.btn-sm{padding:11px 20px;font-size:.85rem}
.btn-lg{padding:15px 30px;font-size:1rem}
.btn-gold{                       /* CTA primario (azul de marca) */
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  color:var(--on-brand);box-shadow:var(--shadow-brand);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(30,125,179,.4)}
.btn-outline{border-color:var(--line-2);color:var(--ink);background:var(--surface)}
.btn-outline:hover{border-color:var(--brand);color:var(--brand-deep);transform:translateY(-2px)}
@media (prefers-color-scheme:dark){ .btn-outline:hover{color:var(--brand)} }
.wa-ic{color:#25d366;font-size:.7rem;line-height:1}
.wa-svg{color:#25d366;flex:0 0 auto}

/* ===================== HEADER ===================== */
.site-header{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand-logo{height:36px;width:auto;object-fit:contain}
.brand-fallback{font-family:var(--head);font-size:1.2rem;font-weight:700;letter-spacing:1px;color:var(--brand-deep)}
/* Wordmark "toquesmart" — réplica del logo real (la "o" = punto azul), adaptable a tema */
.wordmark{font-family:var(--head);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--ink);display:inline-flex;align-items:center;line-height:1}
.wordmark-lg{font-size:1.55rem;margin-bottom:14px}
.wm-o{display:inline-block;width:.64em;height:.64em;border-radius:50%;background:var(--brand);margin:0 .02em;transform:translateY(.06em)}
/* Logo PNG real (sin modificar) */
.brand-img{height:30px;width:auto;display:block}
.brand-img-lg{height:40px;margin-bottom:14px}
/* En modo oscuro el logo (oscuro) se aclara para seguir visible */
@media (prefers-color-scheme:dark){ .brand-img{filter:brightness(0) invert(1)} }

/* Header: teléfono (acción principal, estilo pill) */
.header-phone{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--sans);font-weight:600;font-size:.92rem;color:var(--brand-deep);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));padding:9px 16px;border-radius:999px;transition:background .2s,transform .2s,box-shadow .2s}
.header-phone:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.header-phone svg{color:var(--brand-deep)}
@media (prefers-color-scheme:dark){ .header-phone,.header-phone svg{color:var(--brand)} }
@media (max-width:380px){ .header-phone{padding:9px 13px;font-size:.86rem} }

/* Línea de llamar junto al formulario */
.call-line{text-align:center;color:var(--muted);font-size:.95rem;margin:-22px auto 32px}
.link-phone{background:none;border:none;color:var(--brand-deep);font-weight:700;cursor:pointer;font-family:var(--sans);font-size:1rem;text-decoration:underline;text-underline-offset:3px;padding:0}
@media (prefers-color-scheme:dark){ .link-phone{color:var(--brand)} }

/* ===================== SELECTOR DE CONTACTO (MODAL) ===================== */
.contact-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.contact-modal[hidden]{display:none}
.contact-backdrop{position:absolute;inset:0;background:rgba(12,18,24,.55);backdrop-filter:blur(3px)}
.contact-dialog{position:relative;z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px 26px;max-width:420px;width:100%;box-shadow:var(--shadow-lg);text-align:center;animation:cmIn .25s ease}
@keyframes cmIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.contact-x{position:absolute;top:10px;right:14px;background:none;border:none;font-size:1.7rem;line-height:1;color:var(--muted);cursor:pointer}
.contact-x:hover{color:var(--ink)}
.contact-dialog h3{font-family:var(--head);font-size:1.32rem;color:var(--ink);margin-bottom:4px}
.contact-sub{color:var(--muted);font-size:.9rem;margin-bottom:22px}
.contact-actions{display:grid;gap:12px}
.contact-opt{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);transition:transform .2s,border-color .2s,box-shadow .2s}
.contact-opt:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.contact-opt span{display:flex;flex-direction:column;line-height:1.3}
.contact-opt strong{color:var(--ink);font-weight:600}
.contact-opt small{color:var(--muted);font-size:.82rem}
.opt-wa svg{color:#25d366}
.opt-wa:hover{border-color:#25d366}
.opt-call svg{color:var(--brand-deep)}
.opt-call:hover{border-color:var(--brand)}
@media (prefers-color-scheme:dark){ .opt-call svg{color:var(--brand)} }

/* ===================== HERO ===================== */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1600210492493-0946911123ea?auto=format&fit=crop&w=1600&q=70') center/cover no-repeat;
  transform:scale(1.05);
}
.hero-overlay{position:absolute;inset:0;background:var(--hero-radial),var(--hero-overlay)}
.hero-content{position:relative;z-index:2;padding:96px 22px;max-width:780px}
.eyebrow{
  text-transform:uppercase;letter-spacing:3px;font-size:.74rem;color:var(--brand-deep);
  margin-bottom:18px;font-weight:600;
}
@media (prefers-color-scheme:dark){ .eyebrow{color:var(--brand)} }
.hero-title{font-size:clamp(2.6rem,9vw,4.8rem);margin-bottom:20px;font-weight:600;letter-spacing:-.02em}
.hero-sub{font-size:clamp(1.02rem,3.6vw,1.24rem);color:var(--muted);max-width:580px;margin-bottom:32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-ctas.center{justify-content:center}
.hero-microtrust{margin-top:18px;color:var(--muted);font-size:.86rem;letter-spacing:.2px}

/* ===================== MICRO-FORM (HERO) ===================== */
.lead-mini{margin-top:8px;max-width:520px}
.lead-mini-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.lead-mini input{
  width:100%;padding:15px 18px;border-radius:14px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:1rem;
  transition:border-color .2s,box-shadow .2s;
}
.lead-mini input::placeholder{color:var(--muted)}
.lead-mini input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.lead-mini-btn{width:100%}
.lead-mini-msg{min-height:1.1em;margin:10px 2px 0;font-size:.9rem;color:var(--brand-deep);font-weight:600}
@media (prefers-color-scheme:dark){ .lead-mini-msg{color:var(--brand)} }
.hero-wa{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--ink-2);font-size:.92rem;font-weight:500;transition:color .2s}
.hero-wa:hover{color:#1d9e4f}
.social-proof-line{text-align:center;color:var(--muted);font-size:1.04rem;max-width:660px;margin:0 auto 48px;font-family:var(--head);font-weight:500}
@media (max-width:520px){ .lead-mini-fields{grid-template-columns:1fr} }

/* ===================== TRUST BAND (STATS) ===================== */
.trust-band{background:var(--tint);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 14px}
.trust-stat{text-align:center}
.trust-num{display:block;font-family:var(--head);font-weight:700;font-size:clamp(2rem,7vw,2.9rem);color:var(--brand-deep);line-height:1;letter-spacing:-.02em}
@media (prefers-color-scheme:dark){ .trust-num{color:var(--brand)} }
.trust-num .plus{font-size:.6em;vertical-align:super;opacity:.7}
.trust-label{display:block;margin-top:8px;color:var(--muted);font-size:.82rem;letter-spacing:.4px}

/* ===================== SECTIONS ===================== */
.section{padding:88px 0}
.section-title{font-size:clamp(1.9rem,6vw,3rem);text-align:center;letter-spacing:-.02em}
.section-lead{text-align:center;color:var(--muted);max-width:640px;margin:14px auto 52px;font-size:1.06rem}

/* ===================== CONTRAST ===================== */
.contrast{background:var(--bg-2)}
.contrast-grid{display:grid;grid-template-columns:1fr;gap:22px;max-width:920px;margin:0 auto}
.contrast-card{padding:32px 28px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}
.contrast-card.lux{background:linear-gradient(160deg,var(--brand-soft),var(--surface));border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.contrast-card ul{list-style:none;margin-top:18px;display:grid;gap:13px}
.contrast-card li{position:relative;padding-left:28px;color:var(--ink-2);font-size:.98rem}
.contrast-card.common li::before{content:"✕";position:absolute;left:0;color:var(--muted)}
.contrast-card.lux li::before{content:"✓";position:absolute;left:0;color:var(--brand-deep);font-weight:700}
@media (prefers-color-scheme:dark){ .contrast-card.lux li::before{color:var(--brand)} }
.tag-pill{display:inline-block;padding:6px 14px;border-radius:999px;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.tag-muted{background:var(--surface-2);color:var(--muted)}
.tag-gold{background:var(--brand-soft);color:var(--brand-deep)}
@media (prefers-color-scheme:dark){ .tag-gold{color:var(--brand)} }

/* ===================== SYSTEMS ===================== */
.systems-grid{display:grid;grid-template-columns:1fr;gap:16px}
.system-card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.system-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--shadow-md)}
/* Íconos estilo iOS 26 (squircle glass) */
.sys-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:54px;height:54px;border-radius:17px;margin-bottom:16px;
  color:var(--brand-deep);
  background:linear-gradient(160deg,var(--surface),var(--brand-soft));
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.75);
}
.sys-ic svg{width:27px;height:27px}
@media (prefers-color-scheme:dark){
  .sys-ic{color:var(--brand);background:linear-gradient(160deg,var(--surface-2),var(--brand-soft));box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.06)}
}
.system-card h3{font-size:1.22rem;color:var(--ink);margin-bottom:6px;font-weight:600}
.system-card p{color:var(--muted);font-size:.94rem}

/* ===================== PHILOSOPHY / STORY ===================== */
.philosophy{background:var(--bg);text-align:center}
.philosophy-inner{max-width:840px;margin:0 auto}
.philosophy-quote{font-size:clamp(1.8rem,5.4vw,2.8rem);margin:12px 0 22px;line-height:1.18;font-weight:600;letter-spacing:-.02em}
.philosophy-text{color:var(--muted);font-size:1.1rem;max-width:660px;margin:0 auto}

/* ===================== WHY (ECUACIÓN DE VALOR) ===================== */
.why-section{background:var(--bg-2)}
.why-grid{display:grid;grid-template-columns:1fr;gap:18px}
.why-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.why-ic{color:var(--brand-deep);display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:17px;margin-bottom:16px;background:linear-gradient(160deg,var(--surface),var(--brand-soft));border:1px solid var(--line);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.75)}
.why-ic svg{width:27px;height:27px}
@media (prefers-color-scheme:dark){ .why-ic{color:var(--brand);background:linear-gradient(160deg,var(--surface-2),var(--brand-soft));box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.06)} }
.why-card h3{font-size:1.24rem;color:var(--ink);margin-bottom:8px;font-weight:600}
.why-card p{color:var(--muted);font-size:.96rem}

/* ===================== STEPS ===================== */
.steps-section{background:var(--bg)}
.steps-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:920px;margin:0 auto}
.step-card{text-align:center;padding:36px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}
.step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;margin-bottom:18px;
  font-family:var(--head);font-size:1.4rem;color:var(--on-brand);font-weight:700;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));box-shadow:var(--shadow-brand);
}
.step-card h3{font-size:1.3rem;margin-bottom:8px;font-weight:600}
.step-card p{color:var(--muted);font-size:.95rem}

/* ===================== SOCIAL ===================== */
.social-section{background:var(--bg-2)}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:54px}
.testimonial{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow-sm)}
.testimonial blockquote{font-family:var(--head);font-size:1.16rem;font-weight:500;color:var(--ink);margin-bottom:18px;line-height:1.4}
.testimonial blockquote::before{content:"\201C";color:var(--brand);font-size:2.2rem;line-height:0;vertical-align:-.35em;margin-right:4px}
.testimonial figcaption strong{display:block;color:var(--ink);font-family:var(--sans);font-weight:600}
.testimonial figcaption span{font-size:.85rem;color:var(--muted)}
.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:48px}
.proj-img{aspect-ratio:4/3;border-radius:14px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.brands-label{text-align:center;text-transform:uppercase;letter-spacing:2.5px;font-size:.74rem;color:var(--muted);margin-bottom:20px}
.brands-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.brand-chip{
  padding:9px 18px;border:1px solid var(--line-2);border-radius:999px;
  color:var(--muted);font-size:.85rem;letter-spacing:.3px;background:var(--surface);
  transition:color .25s,border-color .25s;
}
.brand-chip:hover{color:var(--brand-deep);border-color:var(--brand)}
@media (prefers-color-scheme:dark){ .brand-chip:hover{color:var(--brand)} }

/* ===================== OFFER STACK ===================== */
.offer-section{background:var(--bg)}
.offer-card{max-width:760px;margin:0 auto;background:linear-gradient(165deg,var(--brand-soft),var(--surface));border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:var(--radius);padding:16px 28px 32px;box-shadow:var(--shadow-md)}
.offer-list{list-style:none;display:grid;gap:4px}
.offer-list li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.offer-check{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:var(--on-brand);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex:0 0 auto}
.offer-list li>div{display:flex;flex-direction:column}
.offer-list li strong{color:var(--ink);font-weight:600;font-size:1.02rem}
.offer-list li>div span{color:var(--muted);font-size:.86rem}
.offer-val{color:var(--brand-deep);font-size:.84rem;white-space:nowrap;font-weight:600;text-align:right}
@media (prefers-color-scheme:dark){ .offer-val{color:var(--brand)} }
.offer-val.gift{color:var(--muted)}
.offer-foot{text-align:center;margin-top:28px}
.offer-total{font-family:var(--head);font-size:1.5rem;margin-bottom:18px;font-weight:600}

/* ===================== GUARANTEE ===================== */
.guarantee-section{background:var(--bg-2)}
.guarantee-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px;max-width:860px;margin:0 auto}
.guarantee-seal{flex:0 0 auto;width:140px;height:140px;border-radius:50%;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,var(--brand-soft),transparent 72%);box-shadow:0 0 0 8px var(--brand-soft)}
.guarantee-seal span{font-family:var(--head);font-weight:700;color:var(--brand-deep);letter-spacing:1px;font-size:.9rem;line-height:1.3}
@media (prefers-color-scheme:dark){ .guarantee-seal span{color:var(--brand)} }
.guarantee-text h2{font-size:clamp(1.7rem,5vw,2.5rem);margin-bottom:12px;letter-spacing:-.02em}
.guarantee-text p{color:var(--muted);font-size:1.05rem}

/* ===================== REFERRAL ===================== */
.referral-banner{
  background:linear-gradient(120deg,var(--brand-deep),var(--brand));
  padding:58px 0;color:#fff;
}
.referral-inner{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.referral-inner h2{font-size:clamp(1.6rem,5vw,2.3rem);color:#fff;letter-spacing:-.02em}
.referral-inner p{color:rgba(255,255,255,.9);max-width:620px;margin-top:8px}
.referral-banner .btn-gold{background:#fff;color:var(--brand-deep);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.referral-banner .btn-gold:hover{background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.26)}

/* ===================== COTIZAR / FORM ===================== */
.cotizar-section{background:var(--tint);scroll-margin-top:80px}
.urgency-note{display:flex;align-items:flex-start;gap:10px;max-width:680px;margin:-30px auto 36px;padding:14px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--ink-2);font-size:.9rem;text-align:left;box-shadow:var(--shadow-sm)}
.urgency-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#25d366;margin-top:6px;animation:pulseDot 1.8s infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 8px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.form-wrap{
  max-width:860px;margin:0 auto;background:#fff;border-radius:var(--radius);
  padding:8px;box-shadow:var(--shadow-lg);overflow:hidden;
}
.form-wrap iframe{display:block;border-radius:12px}

/* ===================== FAQ ===================== */
.faq-section{background:var(--bg)}
.faq-list{max-width:780px;margin:0 auto;display:grid;gap:12px}
.faq-item{
  background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:4px 22px;transition:border-color .25s,box-shadow .25s;box-shadow:var(--shadow-sm);
}
.faq-item[open]{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.faq-item summary{
  cursor:pointer;list-style:none;padding:18px 0;font-size:1.06rem;
  font-family:var(--head);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--brand-deep);font-size:1.4rem;transition:transform .25s;font-family:var(--sans)}
@media (prefers-color-scheme:dark){ .faq-item summary::after{color:var(--brand)} }
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{color:var(--muted);padding-bottom:20px;font-size:.96rem}

/* ===================== FINAL CTA ===================== */
.final-cta{text-align:center;background:
  radial-gradient(80% 120% at 50% 0%,var(--brand-soft),transparent 60%),var(--bg)}
.final-cta h2{font-size:clamp(2rem,6vw,3rem);margin-bottom:14px;letter-spacing:-.02em}
.final-cta p{color:var(--muted);max-width:560px;margin:0 auto 30px;font-size:1.08rem}

/* ===================== FOOTER ===================== */
.site-footer{background:var(--bg-2);border-top:1px solid var(--line);padding:54px 0 28px}
.footer-inner{display:flex;flex-direction:column;gap:34px}
.footer-brand .brand-logo{margin-bottom:14px}
.footer-brand p{color:var(--muted);max-width:340px;font-size:.92rem}
.footer-col h4{font-family:var(--sans);font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand-deep);margin-bottom:14px}
@media (prefers-color-scheme:dark){ .footer-col h4{color:var(--brand)} }
.footer-col a{display:block;color:var(--muted);margin-bottom:10px;font-size:.95rem;transition:color .2s}
.footer-col a:hover{color:var(--brand-deep)}
@media (prefers-color-scheme:dark){ .footer-col a:hover{color:var(--brand)} }
.footer-bottom{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}

/* ===================== WHATSAPP FLOAT ===================== */
.wa-float{
  position:fixed;right:18px;bottom:18px;z-index:60;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  transition:transform .25s ease;
  animation:waPulse 2.6s infinite;
}
.wa-float:hover{transform:scale(1.08)}
@keyframes waPulse{0%{box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,0)}}

/* ===================== MOBILE STICKY CTA ===================== */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s ease;box-shadow:0 -6px 24px rgba(28,38,48,.10)}
.mobile-cta.show{transform:translateY(0)}
.mobile-cta-btn{flex:1;padding:14px;font-size:.95rem}
.mobile-cta-wa{flex:0 0 auto;width:50px;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff;border-radius:12px}

/* ===================== REVEAL ANIM ===================== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ===================== RESPONSIVE ===================== */
@media (min-width:680px){
  .contrast-grid{grid-template-columns:1fr 1fr}
  .systems-grid{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:repeat(4,1fr)}
  .why-grid{grid-template-columns:1fr 1fr}
  .guarantee-inner{flex-direction:row;text-align:left}
}
@media (min-width:960px){
  .systems-grid{grid-template-columns:repeat(4,1fr)}
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .testimonials-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:repeat(4,1fr)}
  .referral-inner{flex-direction:row;align-items:center;justify-content:space-between}
  .footer-inner{flex-direction:row;justify-content:space-between}
}
@media (max-width:680px){
  .mobile-cta{display:flex}
  .wa-float{display:none}            /* la barra fija ya trae WhatsApp en móvil */
  .offer-list li{grid-template-columns:auto 1fr;row-gap:2px}
  .offer-val{grid-column:2;text-align:left}
  /* Header más compacto en móvil */
  .header-inner{height:52px}
  .brand-img{height:25px}
  /* Menos espacio entre el header y el primer texto del hero */
  .hero{min-height:auto;align-items:flex-start}
  .hero-content{padding-top:30px;padding-bottom:52px}
}

/* ===================== STATEMENT (STORYTELLING CINEMÁTICO) ===================== */
.statement{padding:104px 0;text-align:center;background:var(--bg)}
.statement-alt{background:var(--bg-2)}
.statement .container{max-width:780px}
.eyebrow.center{text-align:center}
.statement-lead{font-family:var(--head);font-weight:500;font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.32;color:var(--ink);letter-spacing:-.01em}
.statement-body{margin-top:24px;color:var(--muted);font-size:1.12rem;line-height:1.7}
.statement-close{margin-top:24px;font-family:var(--head);font-weight:500;font-size:clamp(1.2rem,3.2vw,1.6rem);color:var(--ink)}
.statement .accent{color:var(--brand-deep)}
@media (prefers-color-scheme:dark){ .statement .accent{color:var(--brand)} }

/* ===================== PROYECTOS DESTACADOS ===================== */
.projects-section{background:var(--bg-2)}
.projects-section .project-gallery{grid-template-columns:repeat(2,1fr);margin-bottom:0}
@media (min-width:880px){ .projects-section .project-gallery{grid-template-columns:repeat(4,1fr)} }

/* ===================== EXPERIENCIAS ===================== */
.experiences-section{background:var(--bg)}
.experiences-grid{display:grid;grid-template-columns:1fr;gap:16px}
.exp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}
.exp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.exp-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;margin-bottom:14px;color:var(--brand-deep);background:linear-gradient(160deg,var(--surface),var(--brand-soft));border:1px solid var(--line);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.7)}
.exp-ic svg{width:25px;height:25px}
.exp-card h3{font-size:1.18rem;color:var(--ink);margin-bottom:6px;font-weight:600}
.exp-card p{color:var(--muted);font-size:.94rem}
@media (prefers-color-scheme:dark){ .exp-ic{color:var(--brand);background:linear-gradient(160deg,var(--surface-2),var(--brand-soft));box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.06)} }
@media (min-width:600px){ .experiences-grid{grid-template-columns:1fr 1fr} }
@media (min-width:980px){ .experiences-grid{grid-template-columns:repeat(5,1fr)} }

.section-cta{text-align:center;margin-top:44px}

/* ===================== WHY (5 columnas) ===================== */
@media (min-width:980px){ .why-grid-5{grid-template-columns:repeat(5,1fr)} }

/* ===================== STEPS (4 columnas) ===================== */
@media (min-width:880px){ .steps-grid-4{grid-template-columns:repeat(4,1fr)} }

/* ===================== ARQUITECTOS Y CONSTRUCTORAS ===================== */
.pro-section{background:var(--bg-2)}
.pro-inner{display:flex;flex-direction:column;gap:26px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:40px 34px;box-shadow:var(--shadow-sm)}
.pro-text h2{font-size:clamp(1.6rem,4.5vw,2.3rem);letter-spacing:-.02em;margin:6px 0 12px}
.pro-text p{color:var(--muted);font-size:1.05rem;max-width:680px}
@media (min-width:920px){ .pro-inner{flex-direction:row;align-items:center;justify-content:space-between} .pro-inner .btn{flex:0 0 auto} }

/* ===================== OFERTA: valor tachado ===================== */
.offer-total .strike{text-decoration:line-through;color:var(--muted);font-weight:400}

/* trust-band: separación stats / marcas */
.trust-band .brands-label{margin-top:34px}

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
  .wa-float,.urgency-dot{animation:none}
  .hero-bg{transform:none}
}
