/* ============================================
   SPRINTERS — Subscription pages shared styles
   Minimalist white · Inter
   ============================================ */

/* ====== Marker highlight (animated sweep) ====== */
.marker{position:relative;display:inline-block;white-space:nowrap}
.marker-bg{position:absolute;left:-0.08em;right:-0.08em;top:-0.05em;bottom:-0.05em;background:var(--bosque);transform-origin:left center;transform:scaleX(0);z-index:0;border-radius:2px}
.marker-txt{position:relative;z-index:1;transition:color .35s ease .55s}
.marker.is-on .marker-bg{animation:marker-fill .9s cubic-bezier(.22,.7,.2,1) forwards}
.marker.is-on .marker-txt{color:var(--tierras)}
@keyframes marker-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Los tokens crudos de marca viven en brand.css (--bosque, --terracota, …).
   Acá solo se mapean a los roles que usan estas páginas. */
:root{
  --bg:#ffffff;
  --ink:var(--asfaltico);      /* era #0a0a0a: negro puro, fuera de paleta */
  --ink-2:#3a3a38;
  --muted:var(--ink-soft);
  --muted-2:var(--ink-muted);
  --line:rgba(2,73,57,.14);    /* las líneas ahora tiran a Bosque, no a negro */
  --line-2:rgba(2,73,57,.07);
  --rust:var(--terracota);     /* era #C24A1F, un terracota inventado.
                                  El de marca es #fd521b (Sprint Terracota). */
  --cream:var(--crema);        /* era #f5f1ea; el del brand book es #faf8ec */
  --forest:var(--bosque);
  --sand:var(--tierras);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden;min-height:100vh}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer}
.serif{font-family:'Inter',sans-serif;font-weight:400;letter-spacing:-0.01em}
.script{font-family:'Inter',sans-serif;font-style:italic}

/* ====== Nav ====== */
/* Grid de 3 columnas en vez de flex+space-between: con space-between el logo
   solo queda centrado si los bloques laterales miden igual, y nunca miden
   igual. Con 1fr auto 1fr el logo cae siempre en el eje de la página. */
nav.top{position:sticky;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 36px;background:rgba(250,248,236,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2);color:var(--ink)}
/* La marca en el nav es el logo real, no texto simulado con Inter italic.
   El tamaño y la máscara vienen de .brand-logo--wordmark (brand.css);
   acá solo se define de qué color se pinta. */
nav.top .brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:0;color:var(--bosque)}
nav.top .back{justify-self:start;display:inline-flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;font-weight:500;color:var(--ink);opacity:.7;transition:opacity .2s}
nav.top .back:hover{opacity:1}
nav.top .back .a{font-family:'Inter',sans-serif;font-style:italic;font-size:16px;line-height:1}
nav.top > :last-child{justify-self:end}
nav.top .cta{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;font-weight:500;border:1px solid var(--ink);padding:10px 18px;border-radius:999px;transition:all .25s;color:var(--ink)}
nav.top .cta:hover{background:var(--bosque);border-color:var(--bosque);color:#fff}

/* ====== Hero header ====== */
.sub-hero{padding:96px 36px 56px;text-align:center;position:relative}
.sub-hero .pillar-tag{display:inline-flex;align-items:center;gap:14px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.32em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:40px}
.sub-hero .pillar-tag::before,.sub-hero .pillar-tag::after{content:"";width:48px;height:1px;background:var(--ink);opacity:.25}
/* Titular display: Harper (ver @font-face en brand.css, que se carga antes
   que este archivo). El letter-spacing negativo se anula: Harper ya es
   pesada y ancha, apretarla más cierra las contraformas. */
.sub-hero h1{font-family:'Harper','Inter',sans-serif;font-weight:700;font-size:clamp(48px,7.6vw,124px);line-height:.92;letter-spacing:0;color:var(--ink);text-transform:uppercase;text-wrap:balance;max-width:1100px;margin:0 auto}
.sub-hero h1 em{font-style:italic}
.sub-hero h1 .script{font-family:'Inter',sans-serif;font-style:italic;color:var(--rust);font-size:1.0em;display:inline-block;transform:translateY(.04em) rotate(-3deg);text-transform:none}
.sub-hero .lede{font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;color:var(--ink-2);max-width:580px;margin:32px auto 0;text-wrap:pretty;font-weight:400}

/* ====== Toggle ====== */
.toggle-wrap{display:flex;justify-content:center;margin:44px 0 16px}
.toggle{position:relative;display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px;gap:0}
.toggle-pill{position:absolute;top:5px;left:5px;height:calc(100% - 10px);background:var(--ink);border-radius:999px;transition:transform .45s cubic-bezier(.32,.72,.18,1),width .45s cubic-bezier(.32,.72,.18,1);z-index:0}
.toggle-btn{position:relative;z-index:1;background:transparent;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;padding:13px 24px;color:var(--ink);transition:color .35s;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.toggle-btn.active{color:#fff}
.toggle-btn .save{font-family:'Inter',sans-serif;font-style:italic;font-size:11px;letter-spacing:0.04em;text-transform:none;color:var(--rust);padding:3px 8px;border:1px solid currentColor;border-radius:999px;background:rgba(253,82,27,.06);font-weight:400}
.toggle-btn.active .save{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.10)}

/* ====== Plans grid ====== */
.plans{max-width:1280px;margin:40px auto 0;padding:0 36px 120px;display:grid;gap:20px;align-items:stretch}
.plans.cols-2{grid-template-columns:repeat(2,1fr);max-width:920px}
.plans.cols-3{grid-template-columns:repeat(3,1fr)}

/* ====== Plan card ====== */
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:0;overflow:hidden;transition:transform .35s cubic-bezier(.2,.6,.2,1),box-shadow .35s,border-color .35s}
.plan:hover{transform:translateY(-4px);box-shadow:0 22px 50px -28px rgba(2,73,57,.20);border-color:rgba(2,73,57,.22)}
.plan.popular{background:var(--crema);border-color:var(--bosque);box-shadow:0 18px 40px -26px rgba(2,73,57,.22);transform:translateY(-12px)}
.plan.popular:hover{transform:translateY(-18px)}
.plan.dark{background:var(--bosque);color:var(--tierras);border-color:var(--bosque)}
.plan.dark .plan-desc,.plan.dark .plan-feature span:last-child,.plan.dark .plan-includes-list span:last-child{color:rgba(229,229,204,.80)}
.plan.dark .price-period,.plan.dark .plan-includes-title{color:rgba(229,229,204,.62)}
.plan.dark .plan-includes-divider{border-color:rgba(255,255,255,.16)}
.plan.dark .feature-icon{color:var(--tierras)}
.plan.dark .check{background:rgba(253,82,27,.18);border-color:var(--rust);color:var(--rust)}

.plan-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px}
.plan-name{font-family:'Inter',sans-serif;font-weight:400;font-size:32px;line-height:1;letter-spacing:-0.02em;color:var(--ink)}
.plan-name em{font-style:italic}
.plan.dark .plan-name{color:var(--tierras)}
.popular-badge{display:inline-flex;align-items:center;gap:6px;background:var(--rust);color:var(--on-accent);font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;font-weight:500;padding:7px 12px;border-radius:999px;flex-shrink:0;white-space:nowrap}
.popular-badge::before{content:"✦"}
.plan-desc{font-family:'Inter',sans-serif;font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:28px;text-wrap:pretty;min-height:42px;font-weight:400}

.price-row{display:flex;align-items:baseline;gap:4px;margin-bottom:6px;flex-wrap:wrap}
.price-curr{font-family:'Inter',sans-serif;font-size:28px;line-height:1;color:var(--ink)}
.plan.dark .price-curr{color:var(--tierras)}
.price-num{font-family:'Inter',sans-serif;font-size:64px;line-height:.95;letter-spacing:-0.03em;color:var(--ink);font-variant-numeric:tabular-nums;display:inline-flex;align-items:baseline}
.plan.dark .price-num{color:var(--tierras)}
.price-num .digit{display:inline-block;transition:transform .45s cubic-bezier(.32,.72,.18,1),opacity .35s;animation:digit-in .45s cubic-bezier(.32,.72,.18,1)}
@keyframes digit-in{from{transform:translateY(-8px);opacity:0;filter:blur(3px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}
.price-period{font-family:'Inter',sans-serif;font-size:12px;color:var(--muted);margin-left:6px;font-weight:500}
.price-note{font-family:'Inter',sans-serif;font-style:italic;font-size:12px;letter-spacing:0.02em;color:var(--muted);margin-bottom:24px}

.plan-cta{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;text-align:center;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;border-radius:10px;background:transparent;color:var(--ink);border:1px solid var(--ink);cursor:pointer;transition:all .25s;margin-bottom:26px}
.plan-cta:hover{background:var(--bosque);color:#fff;border-color:var(--bosque)}
.plan-cta .a{font-family:'Inter',sans-serif;font-style:italic;font-size:16px;line-height:1;transition:transform .25s}
.plan-cta:hover .a{transform:translateX(4px)}
.plan.popular .plan-cta{background:var(--bosque);color:#fff;border-color:var(--bosque)}
.plan.popular .plan-cta:hover{background:var(--rust);border-color:var(--rust);color:var(--on-accent)}
.plan.dark .plan-cta{background:var(--rust);color:var(--on-accent);border-color:var(--rust)}
.plan.dark .plan-cta:hover{background:var(--tierras);color:var(--bosque);border-color:var(--tierras)}

.plan-features{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:22px}
.plan-feature{display:flex;align-items:flex-start;gap:14px;font-family:'Inter',sans-serif;font-size:13.5px;line-height:1.45;font-weight:500}
.plan-feature .feature-icon{flex-shrink:0;width:24px;display:flex;align-items:center;justify-content:flex-start;color:var(--ink);font-family:'Inter',sans-serif;font-style:italic;font-size:16px;line-height:1.2;padding-top:1px}
.plan-feature span:last-child{color:var(--ink-2)}

.plan-includes-divider{border-top:1px solid var(--line);padding-top:20px;margin-top:auto}
.plan-includes-title{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:14px}
.plan-includes-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.plan-includes-list li{display:flex;align-items:flex-start;gap:12px;font-family:'Inter',sans-serif;font-size:12.5px;line-height:1.5;font-weight:400}
.check{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:rgba(2,73,57,.05);border:1px solid var(--bosque);color:var(--bosque);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-top:1px}
.plan.popular .check{background:rgba(253,82,27,.1);border-color:var(--rust);color:var(--rust)}
.plan-includes-list li span:last-child{color:var(--ink-2)}

/* ====== FAQ / footer block ====== */
.foot-block{background:var(--ink);color:#fff;padding:96px 36px;text-align:center;border-top:1px solid var(--line)}
.foot-block .inner{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:18px;align-items:center}
.foot-block h3{font-family:'Inter',sans-serif;font-weight:400;font-size:clamp(32px,4.5vw,56px);line-height:1.05;letter-spacing:-0.02em;text-wrap:balance;text-transform:uppercase}
.foot-block h3 em{font-style:italic;color:var(--rust);text-transform:none}
.foot-block p{font-family:'Inter',sans-serif;font-size:14.5px;line-height:1.65;opacity:.78;max-width:540px;font-weight:400}
.foot-block .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;background:#fff;color:var(--ink);border:none;cursor:pointer;transition:all .25s;margin-top:8px}
.foot-block .btn:hover{background:var(--rust);color:var(--on-accent);border-color:var(--rust)}
.foot-block .btn .a{font-family:'Inter',sans-serif;font-style:italic;font-size:16px;line-height:1;transition:transform .25s}
.foot-block .btn:hover .a{transform:translateX(4px)}

/* ====== Tiny footer ====== */
.tinyfoot{background:var(--ink);color:rgba(255,255,255,.55);padding:24px 36px;display:flex;justify-content:space-between;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap;gap:10px;font-weight:500}

/* ====== Responsive ====== */
@media (max-width:960px){
  .plans.cols-2,.plans.cols-3{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto;padding-bottom:80px}
  .plan.popular{transform:none}
  .plan.popular:hover{transform:translateY(-4px)}
}
@media (max-width:760px){
  /* Mismo arreglo que ya se hizo en el nav de Landing v2 y Evento: sin
     white-space:nowrap, "Mi cuenta →" se parte en dos renglones y queda
     pegado al logo en pantallas angostas. El grid de 3 columnas comprime
     las laterales hasta que el texto se corta, y el gap no alcanza porque
     la columna del medio (el logo) no cede. */
  nav.top{padding:14px 18px;gap:12px}
  nav.top .back,
  nav.top .cta{white-space:nowrap}
  nav.top .back{font-size:10px;letter-spacing:0.18em;gap:6px}

  nav.top .cta{font-size:10px;padding:9px 14px;letter-spacing:0.14em}
  .sub-hero{padding:64px 22px 40px}
  .sub-hero .pillar-tag{margin-bottom:28px;font-size:10px;letter-spacing:0.24em}
  .sub-hero .pillar-tag::before,.sub-hero .pillar-tag::after{width:30px}
  .sub-hero .lede{font-size:14px;margin-top:24px;padding:0 4px}
  .toggle-wrap{margin:32px 0 8px}
  .toggle-btn{padding:11px 18px;font-size:10px;letter-spacing:0.18em}
  .toggle-btn .save{font-size:10px;padding:2px 6px}
  .plans{padding:0 18px 64px;gap:16px;margin-top:32px}
  .plan{padding:26px 22px;border-radius:12px}
  .plan-name{font-size:28px}
  .price-num{font-size:54px}
  .price-curr{font-size:24px}
  .plan-desc{font-size:13px;min-height:0;margin-bottom:22px}
  .plan-feature{font-size:13px}
  .plan-includes-list li{font-size:12px}
  .foot-block{padding:64px 22px}
  .tinyfoot{padding:20px 22px;font-size:9.5px;letter-spacing:0.18em}
}
@media (max-width:420px){
  nav.top .back span:not(.a){display:none}
  nav.top{padding:14px 16px}
  .sub-hero h1{font-size:42px;line-height:.95}
}
