/* ---------------------------------------------------------------------------
   home.css — seniorssavingshub.com homepage only.
   Bento-grid trust layout. Scoped to the homepage so the existing
   assets/site.css keeps serving /contacto/, /privacidad/, /terminos/
   and /opciones/ unchanged.
   --------------------------------------------------------------------------- */
:root{
  --ink:#18181b; --muted:#52525b; --line:#e8e8ec;
  --bg:#fcfcfd; --card:#ffffff;
  --teal:#0f9b8e; --teal-d:#0b7d72;
  --mint:#cdf5e4; --lilac:#e7dcfb; --peach:#fbd9b5;
  --sky:#cfe4fb;  --sand:#fdf0c9; --rose:#fcd9de;
  --dark:#18181b;
  --r:22px;                     /* one radius everywhere — the look depends on it */
  --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font:400 17px/1.6 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;
  /* soft off-white wash behind the grid, as on the reference */
  background-image:radial-gradient(900px 500px at 85% -5%,#f3efff 0%,transparent 60%),
                   radial-gradient(700px 400px at 5% 5%,#e9fbf4 0%,transparent 55%);
  background-repeat:no-repeat;
}
h1,h2,h3,.brand,.stat b{font-family:"Bricolage Grotesque",Figtree,sans-serif;font-weight:800;letter-spacing:-.02em}
a{color:var(--teal-d)}
a:focus-visible,button:focus-visible{outline:3px solid #1d4ed8;outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* ---- header: floating pill, matches the reference's detached nav bar ------ */
.nav{position:sticky;top:14px;z-index:20;padding:14px 20px}
.nav .in{
  max-width:var(--max);margin:0 auto;background:var(--card);
  border:1px solid var(--line);border-radius:999px;
  display:flex;align-items:center;gap:18px;padding:12px 14px 12px 18px;
  box-shadow:0 6px 24px rgba(24,24,27,.06)
}
.brand{font-size:21px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand i{width:30px;height:30px;border-radius:50%;background:var(--teal);display:inline-block;flex:none}
.nav nav{margin-left:auto;display:flex;gap:4px}
.nav nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:15px;padding:9px 13px;border-radius:999px}
.nav nav a:hover{background:#f4f4f6;color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--teal);color:#fff!important;
  text-decoration:none;font-weight:700;padding:13px 22px;border-radius:999px;white-space:nowrap}
.btn:hover{background:var(--teal-d)}
.btn.ghost{background:transparent;color:var(--ink)!important;border:1px solid var(--line)}
.btn.sm{padding:10px 18px;font-size:15px}
.lbl-short{display:none}   /* header CTA shortens under 520px */
@media(max-width:860px){.nav nav{display:none}}
@media(max-width:520px){
  .nav{padding:10px 12px}
  .nav .in{padding:9px 9px 9px 13px;gap:10px}
  .brand{font-size:15px;white-space:nowrap}      /* stop the 3-line wrap */
  .brand i{width:22px;height:22px}
  .btn.sm{padding:9px 13px;font-size:13.5px}
  .lbl-full{display:none}
  .lbl-short{display:inline}
  .tile{padding:20px}
}

/* ---- bento grid -----------------------------------------------------------
   12 columns on desktop, 1 on mobile. Every tile sets its own span, so the
   layout is described per-tile rather than by a wall of media queries.      */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:26px}
.tile{border-radius:var(--r);padding:26px;background:var(--card);border:1px solid var(--line)}
.c2{grid-column:span 2}.c6{grid-column:span 6}.c4{grid-column:span 4}.c3{grid-column:span 3}
.c5{grid-column:span 5}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
.r2{grid-row:span 2}            /* hero spans both rows of the opening bento */
@media(max-width:900px){.bento>*{grid-column:span 12!important;grid-row:auto!important}}
.mint{background:var(--mint);border-color:transparent}
.lilac{background:var(--lilac);border-color:transparent}
.peach{background:var(--peach);border-color:transparent}
.sky{background:var(--sky);border-color:transparent}
.sand{background:var(--sand);border-color:transparent}
.rose{background:var(--rose);border-color:transparent}
.dark{background:var(--dark);border-color:transparent;color:#f4f4f5}
.dark h3{color:#fff}.dark p{color:#c7c7cd}

/* ---- hero ----------------------------------------------------------------- */
.eyebrow{display:inline-block;background:#f4f4f6;border:1px solid var(--line);
  border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:18px}
h1{font-size:clamp(34px,5vw,54px);line-height:1.04;margin-bottom:18px}
h1 em{font-style:normal;color:var(--teal)}
.lede{font-size:18px;color:var(--muted);max-width:46ch;margin-bottom:26px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* ---- stat tiles ----------------------------------------------------------- */
.stat b{display:block;font-size:40px;line-height:1;margin-bottom:6px}
.stat span{font-size:14px;color:var(--muted);font-weight:600}
.ico{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.7);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ico svg{width:21px;height:21px;stroke:var(--ink);stroke-width:1.9;fill:none;
  stroke-linecap:round;stroke-linejoin:round}
.dark .ico{background:rgba(255,255,255,.12)}
.dark .ico svg{stroke:#fff}

/* ---- sections ------------------------------------------------------------- */
section{padding:46px 0}
h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:10px}
.sub{color:var(--muted);margin-bottom:8px;max-width:58ch}
h3{font-size:19px;margin-bottom:8px}
.tile p{color:var(--muted);font-size:16px}

/* ---- steps ---------------------------------------------------------------- */
.num{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;
  font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;margin-bottom:14px}

/* ---- countdown ------------------------------------------------------------ */
.count{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.count div{background:rgba(255,255,255,.7);border-radius:14px;padding:12px 16px;text-align:center;min-width:76px}
.count b{display:block;font-size:26px;font-family:"Bricolage Grotesque",sans-serif}
.count span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}

/* ---- faq ------------------------------------------------------------------ */
details{border-bottom:1px solid var(--line);padding:18px 0}
details summary{font-weight:700;cursor:pointer;list-style:none;font-size:17px;display:flex;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--teal);font-weight:800;font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:10px;max-width:70ch}

/* ---- footer --------------------------------------------------------------- */
.site-foot{background:var(--dark);color:#a1a1aa;font-size:13.5px;line-height:1.65;padding:40px 0 54px;margin-top:40px}
.site-foot a{color:#fff;text-decoration:none;margin-right:18px}
.site-foot p{margin-bottom:12px;max-width:none}
.site-foot .legal{color:#8a8a93}
