/* ============================================================
   La Camada · base compartida del sitio (tokens, fuentes, barra,
   botones, pie). Cada página agrega su CSS propio después.
   ============================================================ */
@font-face{font-family:'Open Sauce One';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/open-sauce-one-400.woff2) format('woff2')}
@font-face{font-family:'Open Sauce One';font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/open-sauce-one-600.woff2) format('woff2')}
@font-face{font-family:'Open Sauce One';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/open-sauce-one-700.woff2) format('woff2')}
@font-face{font-family:'Wendy One';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/wendy-one-400.woff2) format('woff2')}

:root{
  --cream:#FFF8E8; --sand:#F6EEDC; --card:#FFFFFF; --ink:#211C17; --ink-2:#5E574F; --muted:#7A726A; --line:#EFE7D6;
  --coral:#FB4D3D; --coral-d:#E03726; --coral-l:#FFC9BF; --green:#25A860; --green-d:#1E8C4F; --amber:#F4B400; --blue:#3E5FE0;
  --g-bg:#E7F6EC; --g-line:#BFE6CC; --g-fg:#2E9E5B; --a-bg:#FDEBD2; --a-line:#F0CFA6; --a-fg:#B25B12;
  --r-bg:#FDE3DF; --r-line:#F3C1BA; --r-fg:#E03726; --b-bg:#E8ECFB; --b-line:#C7D2F5; --b-fg:#3E5FE0;
  --display:'Wendy One',cursive; --body:'Open Sauce One',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:18px; --wrap:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--coral-d)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.wrap-m{max-width:720px;margin:0 auto;padding:0 20px}
section{scroll-margin-top:76px}
.sect{padding:44px 0}
h1,h2,h3{text-wrap:balance}
.h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,6vw,54px);line-height:1.02;margin:0 0 10px;letter-spacing:.2px}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.2vw,44px);line-height:1.05;margin:0 0 8px;letter-spacing:.2px}
.h3{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.1;margin:0 0 6px}
.lead{margin:0 0 24px;color:var(--ink-2);font-size:16px;max-width:60ch}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-d);margin:0 0 10px}
.ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.stars{color:var(--amber);letter-spacing:1px;font-size:14px;white-space:nowrap}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 22px;border-radius:14px;font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;color:var(--ink);background:var(--card);transition:background .15s,transform .15s,border-color .15s}
.btn:active{transform:translateY(1px)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:var(--coral-d)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-wa{background:var(--green);color:#fff}
.btn-wa:hover{background:var(--green-d)}
.btn-line{background:var(--card);border:1.5px solid var(--line);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-block{width:100%}

/* Tarjeta base */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}

/* Barra superior */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,248,232,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:18px;min-height:68px}
.topbar .logo{height:46px;width:auto}
.topnav{display:none;gap:24px;margin-left:auto}
.topnav a{color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600}
.topnav a:hover,.topnav a[aria-current="page"]{color:var(--coral-d)}
.topbar .btn{min-height:42px;padding:0 18px;border-radius:999px;font-size:14.5px;margin-left:auto}
.topnav + .btn{margin-left:0}

/* Cabecera de página interior */
.page-head{padding:36px 0 8px}
.page-head .ico-big{width:44px;height:44px;color:var(--coral);margin-bottom:10px}
.page-head p{margin:0;color:var(--ink-2);font-size:16px;max-width:60ch}

/* Preguntas plegables */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 0;font-weight:700;font-size:16px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{width:20px;height:20px;color:var(--muted);transition:transform .2s}
.faq details[open] summary .ico{transform:rotate(180deg)}
.faq .a{padding:0 0 18px;color:var(--ink-2);font-size:15px}
.faq .a p{margin:0 0 8px}
.faq .a p:last-child{margin:0}
.faq .a ul{margin:0;padding-left:20px}
.faq .a li{margin:4px 0}

/* Pasos numerados (el número es información: es una secuencia real) */
.steps{display:grid;gap:14px}
.step{display:flex;gap:16px;background:var(--card);border-radius:var(--r);padding:18px 18px 18px 16px}
.step .n{font-family:var(--display);font-size:30px;color:var(--coral);line-height:1;width:30px;flex:none;padding-top:2px}
.step b{display:block;font-size:17px;margin-bottom:4px}
.step p{margin:0;font-size:14.5px;color:var(--ink-2)}

/* Lista con icono */
.inc{display:grid;gap:0}
.inc>div{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.inc .ico{color:var(--coral);margin-top:2px;width:24px;height:24px}
.inc b{display:block;font-size:15.5px;margin-bottom:2px}
.inc p{margin:0;font-size:14px;color:var(--ink-2)}

/* Pie */
footer.pie{padding:26px 0 96px;font-size:13px;color:var(--muted);text-align:center;border-top:1px solid var(--line)}
footer.pie a{color:var(--muted)}
footer.pie nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-bottom:10px}
footer.pie nav a{color:var(--ink);text-decoration:none;font-weight:600}

/* Barra fija de celular y botón flotante de escritorio */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.bar .btn-coral,.bar .btn-primary{flex:1}
.bar .btn-wa{width:54px;padding:0;flex:none}
.wa-float{display:none}

@media (min-width:900px){
  .topbar .logo{height:52px}
  .topnav{display:flex}
  .sect{padding:72px 0}
  .h2{margin-bottom:10px}
  .lead{font-size:17px;margin-bottom:32px}
  .page-head{padding:56px 0 12px}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .step{flex-direction:column;gap:12px;padding:26px}
  .step .n{font-size:40px}
  .inc{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
  .inc>div{padding:18px 0}
  .faq{max-width:780px}
  footer.pie{padding:32px 0 40px}
  .bar{display:none}
  .wa-float{display:flex;position:fixed;right:24px;bottom:24px;z-index:40;width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.22)}
  .wa-float:hover{background:var(--green-d)}
  .wa-float .ico{width:28px;height:28px}
}
