/* ============ Tokens (extraídos del CSS real de Totalum — tema shadcn/Tailwind v4) ============ */
:root{
  --background:oklch(.99 .005 340);
  --foreground:oklch(.15 .02 340);
  --card:oklch(1 0 0);
  --primary:oklch(.42 .16 360);
  --primary-fg:oklch(.98 .01 340);
  --secondary:oklch(.95 .02 340);
  --muted:oklch(.96 .01 80);
  --muted-fg:oklch(.45 .02 340);
  --accent:oklch(.82 .12 85);
  --accent-fg:oklch(.25 .05 85);
  --border:oklch(.9 .02 340);
  --ring:oklch(.5 .14 360);
  --grad-a:oklch(.42 .16 360);
  --grad-b:oklch(.65 .15 340);
  --green:oklch(.723 .219 149.579);
  --ink:#1A0A10;         /* wordmark */
  --gold:#C9A050;        /* wordmark sub */
  --radius:.625rem;
  --r-md:.5rem;          /* botones */
  --r-xl:.875rem;        /* cards */
  --r-2xl:1rem;
  --r-3xl:1.5rem;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --container:80rem;     /* max-w-7xl */
}
/* ============ Fuente: Geist self-hosted (subset latin, mismo woff2 que la web real) ============ */
@font-face{
  font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("assets/geist-latin.woff2") format("woff2");
}
@font-face{
  font-family:"Geist Fallback";src:local("Arial");
  ascent-override:95.94%;descent-override:28.16%;line-gap-override:0%;size-adjust:104.76%;
}
/* ============ Reset mínimo ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:"Geist","Geist Fallback",system-ui,sans-serif;
  background:var(--background);color:var(--foreground);
  line-height:1.5;font-size:1rem;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--primary);color:var(--primary-fg);padding:.5rem 1rem;border-radius:0 0 var(--r-md) 0}
.skip:focus-visible{left:0}
.container{max-width:var(--container);margin-inline:auto;padding-inline:1rem}
@media(min-width:640px){.container{padding-inline:1.5rem}}
@media(min-width:1024px){.container{padding-inline:2rem}}
/* ============ Texto gradiente (idéntico al real) ============ */
.tg{background:linear-gradient(135deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
/* ============ Botones ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  white-space:nowrap;font-weight:500;font-size:.875rem;
  border-radius:var(--r-md);height:2.25rem;padding-inline:1rem;
  transition:background-color .18s var(--ease-out),color .18s var(--ease-out),border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .16s var(--ease-out);
}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px oklch(.5 .14 360/.5)}
.btn-primary{background:var(--primary);color:var(--primary-fg);box-shadow:0 1px 2px oklch(.15 .02 340/.08)}
.btn-primary:hover{background:oklch(.42 .16 360/.9)}
.btn-outline{border:1px solid var(--border);background:var(--background);box-shadow:0 1px 2px oklch(.15 .02 340/.05)}
.btn-outline:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.btn-ghost{background:transparent}
.btn-ghost:hover{background:var(--secondary)}
.btn-sm{height:2rem;padding-inline:.75rem}
.btn-lg{height:2.5rem;padding-inline:1.5rem}
.btn-xl{height:3.25rem;padding-inline:2rem;font-size:1.125rem;max-width:100%}
@media(max-width:480px){.btn-xl{height:3rem;padding-inline:1.25rem;font-size:1rem}}
.btn .arr{width:1.25em;height:1.25em;transition:transform .2s var(--ease-out)}
.btn:hover .arr{transform:translateX(4px)}
/* ============ Header ============ */
.site-header{
  position:sticky;top:0;z-index:50;width:100%;
  border-bottom:1px solid oklch(.9 .02 340/.4);
  background:oklch(.99 .005 340/.95);
}
@supports(backdrop-filter:blur(8px)){
  .site-header{background:oklch(.99 .005 340/.6);backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%)}
}
.header-row{display:flex;height:4rem;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.75rem}
.brand img{width:36px;height:36px;object-fit:contain}
.brand-name{display:flex;flex-direction:column}
.brand-name b{color:var(--ink);font-weight:800;font-size:.9rem;letter-spacing:.1em;line-height:1.1}
.brand-name span{color:var(--gold);font-weight:500;font-size:.55rem;letter-spacing:.25em;line-height:1.4}
.main-nav{display:none;align-items:center;gap:.25rem}
.main-nav a{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--muted-fg);border-radius:var(--r-md);transition:color .18s,background-color .18s}
.main-nav a:hover{color:var(--foreground);background:var(--secondary)}
.auth{display:none;align-items:center;gap:.75rem}
.menu-btn{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);transition:background-color .18s}
.menu-btn:hover{background:var(--secondary)}
.menu-btn svg{width:1.5rem;height:1.5rem}
@media(min-width:1024px){
  .main-nav,.auth{display:flex}
  .header-row .menu-btn{display:none}
}
/* Drawer móvil */
.overlay{position:fixed;inset:0;z-index:60;background:oklch(0 0 0/.4);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out)}
.drawer{
  position:fixed;top:0;right:0;z-index:61;height:100dvh;width:min(20rem,85vw);
  background:var(--background);border-left:1px solid var(--border);
  padding:1.25rem;display:flex;flex-direction:column;gap:.25rem;
  transform:translateX(100%);transition:transform .3s var(--ease-drawer);
  overflow-y:auto;
}
body.drawer-open{overflow:hidden}
body.drawer-open .overlay{opacity:1;pointer-events:auto}
body.drawer-open .drawer{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.drawer nav{display:flex;flex-direction:column;gap:.25rem}
.drawer nav a{padding:.75rem 1rem;font-weight:500;border-radius:var(--r-md);color:var(--muted-fg)}
.drawer nav a:hover{color:var(--foreground);background:var(--secondary)}
.drawer-auth{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}
.drawer-auth .btn{width:100%;height:2.75rem}
/* ============ Hero ============ */
.hero{position:relative;min-height:90svh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(to bottom right,oklch(.42 .16 360/.1),var(--background) 50%,oklch(.82 .12 85/.05))}
.blob{position:absolute;border-radius:9999px;filter:blur(64px)}
.blob-1{top:5rem;right:2.5rem;width:18rem;height:18rem;background:oklch(.42 .16 360/.05)}
.blob-2{bottom:5rem;left:2.5rem;width:24rem;height:24rem;background:oklch(.82 .12 85/.05)}
.hero-skew{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-skew::after{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(to left,oklch(.42 .16 360/.05),transparent);transform:skewX(12deg);transform-origin:top right}
.hero-inner{position:relative;width:100%;padding-block:5rem}
.hero-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr}}
.hero-copy{display:flex;flex-direction:column;gap:2rem;min-width:0}
.kicker{
  display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;
  padding:.5rem 1rem;border-radius:9999px;
  background:oklch(.42 .16 360/.1);border:1px solid oklch(.42 .16 360/.2);
}
.kicker .dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--primary);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.kicker span:last-child{font-size:.875rem;font-weight:500;color:var(--primary)}
@keyframes pulse{50%{opacity:.5}}
h1{font-size:3rem;line-height:1.05;font-weight:700;letter-spacing:-.025em}
@media(min-width:768px){h1{font-size:3.75rem}}
@media(min-width:1024px){h1{font-size:4.5rem}}
h1 .line{display:block}
.hero-copy>p{font-size:1.25rem;line-height:1.625;color:var(--muted-fg);max-width:32rem}
/* Selector ¿Quién eres? */
.who{display:flex;flex-direction:column;gap:1rem}
.who-label{font-size:.875rem;font-weight:500;color:var(--muted-fg);text-transform:uppercase;letter-spacing:.05em}
.who-btns{display:flex;flex-direction:column;gap:1rem}
@media(min-width:640px){.who-btns{flex-direction:row}}
.who-btn{position:relative;overflow:hidden;transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out),transform .16s var(--ease-out)}
.who-btn .em{font-size:1.5rem;line-height:1}
.who-btn[aria-pressed="true"]{
  background:var(--primary);color:var(--primary-fg);border-color:var(--primary);
  box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--primary);
}
.who-cta{overflow:hidden;max-height:0;opacity:0;transform:translateY(8px);transition:max-height .3s var(--ease-out),opacity .3s var(--ease-out),transform .3s var(--ease-out)}
.who-cta.show{max-height:6rem;opacity:1;transform:none;padding-top:.5rem}
/* Columna foto hero */
.hero-visual{display:none;position:relative}
@media(min-width:1024px){.hero-visual{display:block}}
.hero-photo{
  position:relative;border-radius:var(--r-2xl);overflow:hidden;
  box-shadow:0 25px 50px -12px oklch(.15 .02 340/.25);
  transform:rotate(2deg);transition:transform .5s var(--ease-out);
}
.hero-photo:hover{transform:rotate(0)}
.hero-photo img{width:100%;height:500px;object-fit:cover}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,oklch(.42 .16 360/.4),transparent)}
.float-card{
  position:absolute;bottom:-1.5rem;left:-1.5rem;z-index:2;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:1rem;box-shadow:0 20px 25px -5px oklch(.15 .02 340/.1),0 8px 10px -6px oklch(.15 .02 340/.1);
  display:flex;align-items:center;gap:.75rem;
}
.float-card .medal{width:3rem;height:3rem;border-radius:9999px;background:oklch(.42 .16 360/.1);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.float-card b{display:block;font-size:1.125rem;font-weight:700}
.float-card small{font-size:.875rem;color:var(--muted-fg)}
.float-tag{
  position:absolute;top:-1rem;right:-1rem;z-index:2;
  background:var(--primary);color:var(--primary-fg);border-radius:var(--r-xl);
  padding:1rem;box-shadow:0 20px 25px -5px oklch(.15 .02 340/.15);
}
.float-tag b{display:block;font-size:1.875rem;font-weight:700;line-height:1.1}
.float-tag small{font-size:.875rem;opacity:.9}
/* ============ Franja stats ============ */
.stats{padding-block:4rem;background:oklch(.96 .01 80/.3);border-block:1px solid oklch(.9 .02 340/.5)}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat{text-align:center}
.stat .val{font-size:1.875rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}
@media(min-width:768px){.stat .val{font-size:2.25rem}}
.stat .lbl{font-size:.875rem;color:var(--muted-fg);margin-top:.25rem}
@media(min-width:768px){.stat .lbl{font-size:1rem}}
/* ============ Secciones de servicios ============ */
.section{position:relative;padding-block:6rem;overflow:hidden}
.section-head{text-align:center;margin-bottom:4rem}
.section-head .pill{
  display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin-bottom:1rem;
  border-radius:9999px;font-size:.875rem;font-weight:500;
}
.pill-pink{background:oklch(.656 .241 354.308/.1);color:oklch(.5 .22 354)}
.pill-amber{background:oklch(.769 .188 70.08/.1);color:oklch(.5 .15 49)}
h2{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}
@media(min-width:768px){h2{font-size:3rem}}
.section-head h2{margin-bottom:1rem}
.section-head .sub{font-size:1.25rem;color:var(--muted-fg);max-width:42rem;margin-inline:auto}
.svc-topline{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,transparent,oklch(.42 .16 360/.3),transparent)}
.svc-radial{position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(120,69,69,.05),transparent 50%)}
.sect-coach{background:oklch(.96 .01 80/.2)}
.cards{position:relative;display:grid;gap:1.5rem}
@media(min-width:768px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cards{grid-template-columns:repeat(3,1fr)}.cards--four{grid-template-columns:repeat(4,1fr)}}
.card{
  position:relative;background:var(--card);border:1px solid oklch(.9 .02 340/.5);
  border-radius:var(--r-xl);padding:1.5rem;
  box-shadow:0 1px 2px oklch(.15 .02 340/.05);
  transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out);
}
.card:hover{
  border-color:oklch(.42 .16 360/.5);
  box-shadow:0 10px 15px -3px oklch(.42 .16 360/.07),0 4px 6px -4px oklch(.42 .16 360/.07);
}
.sect-coach .card{background:oklch(1 0 0/.5);backdrop-filter:blur(4px)}
.card .icon{font-size:2.25rem;line-height:1;margin-bottom:1rem}
.card h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;transition:color .25s var(--ease-out)}
.card:hover h3{color:var(--primary)}
.card .desc{font-size:.875rem;color:var(--muted-fg);margin-bottom:1rem;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{display:flex;align-items:center;justify-content:space-between}
.price{font-size:1.125rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}
.more{transition:background-color .2s var(--ease-out)}
.card:hover .more{background:oklch(.42 .16 360/.1)}
.section-cta{text-align:center;margin-top:3rem}
/* ============ Sobre mí ============ */
.about-grid{display:grid;gap:4rem;align-items:center}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr}}
.about-photo{position:relative}
.about-photo .ph{position:relative;border-radius:var(--r-2xl);overflow:hidden}
.about-photo img{width:100%;height:420px;object-fit:cover;object-position:top}
@media(min-width:1024px){.about-photo img{height:600px}}
.about-photo .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,oklch(.99 .005 340/.8),transparent 40%)}
.frame{position:absolute;border-radius:var(--r-3xl);pointer-events:none}
.frame-1{inset:-1rem;border:2px solid oklch(.42 .16 360/.2)}
.frame-2{inset:-2rem;border:1px solid oklch(.42 .16 360/.1)}
.about-copy{display:flex;flex-direction:column;gap:2rem}
.eyebrow{font-size:.875rem;font-weight:500;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}
.about-copy .role{font-size:1.125rem;color:var(--muted-fg);margin-top:.5rem}
.about-copy h2{margin-top:.5rem}
.bio{display:flex;flex-direction:column;gap:1rem;font-size:1.125rem;line-height:1.625;color:var(--muted-fg)}
.bio strong{color:var(--foreground);font-weight:600}
.cred-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.cred{padding:1rem;border-radius:var(--r-xl);background:oklch(.96 .01 80/.5);border:1px solid oklch(.9 .02 340/.5)}
.cred b{display:block;font-size:1.5rem;font-weight:700;color:var(--primary)}
.cred small{font-size:.875rem;color:var(--muted-fg)}
/* ============ CTA final ============ */
.cta-final{position:relative;padding-block:6rem;overflow:hidden;text-align:center}
.cta-final .bg{position:absolute;inset:0;background:linear-gradient(to bottom right,oklch(.42 .16 360/.05),var(--background) 50%,oklch(.82 .12 85/.05))}
.cta-final .halo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;border-radius:9999px;background:oklch(.42 .16 360/.05);filter:blur(64px)}
.cta-inner{position:relative;max-width:56rem;margin-inline:auto;padding-inline:1rem}
.cta-final h2{font-size:2.25rem;margin-bottom:1.5rem}
@media(min-width:768px){.cta-final h2{font-size:3rem}}
@media(min-width:1024px){.cta-final h2{font-size:3.75rem}}
.cta-final .sub{font-size:1.25rem;color:var(--muted-fg);margin-bottom:2.5rem;max-width:42rem;margin-inline:auto}
.cta-btns{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:center}
@media(min-width:640px){.cta-btns{flex-direction:row}}
.sellos{margin-top:3rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;font-size:.875rem;color:var(--muted-fg)}
.sello{display:flex;align-items:center;gap:.5rem}
.sello svg{width:1.25rem;height:1.25rem;color:var(--green);flex-shrink:0}
/* ============ Footer ============ */
footer{background:oklch(.95 .02 340/.3);border-top:1px solid var(--border)}
.foot-inner{padding-block:3rem}
@media(min-width:1024px){.foot-inner{padding-block:4rem}}
.foot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
@media(min-width:768px){.foot-grid{grid-template-columns:repeat(4,1fr);gap:3rem}}
.foot-grid h3{font-size:1rem;font-weight:600;margin-bottom:1rem}
.foot-grid ul{display:flex;flex-direction:column;gap:.75rem}
.foot-grid a{font-size:.875rem;color:var(--muted-fg);transition:color .18s}
.foot-grid a:hover{color:var(--foreground)}
.foot-bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.foot-row{display:flex;flex-direction:column;align-items:center;gap:1rem}
@media(min-width:768px){.foot-row{flex-direction:row;justify-content:space-between}}
.foot-copy{font-size:.875rem;color:var(--muted-fg);text-align:center}
.tagline{font-size:.75rem;color:var(--muted-fg);margin-top:1rem;text-align:center}
/* ============ Scroll-reveal ============ */
html.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
html.js .reveal.in{opacity:1;transform:none}
/* ============ Reduced motion ============ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .reveal{opacity:1;transform:none;transition:none}
  .kicker .dot{animation:none}
  .hero-photo,.hero-photo:hover{transform:none;transition:none}
  .btn .arr,.btn:hover .arr{transition:none;transform:none}
  .btn:active{transform:none}
  .drawer,.overlay,.who-cta{transition-duration:.01ms}
}
/* ============ Añadido 25-sep-2026: subpáginas (gimnastas · entrenadores · sobre-mercedes · precios) ============ */
/* Enlace activo en cabecera y drawer */
.main-nav a[aria-current="page"],.drawer nav a[aria-current="page"]{color:var(--primary);background:oklch(.42 .16 360/.08)}
/* Marcador de texto pendiente de Mercedes (visible en la beta a propósito) */
.marca{background:#FFF3B0;color:#4A3B00;border:1px dashed #C9A050;border-radius:4px;padding:.05em .4em;font-style:normal;font-weight:500;-webkit-box-decoration-break:clone;box-decoration-break:clone}
p.marca,div.marca{display:block;padding:.75rem 1rem;border-radius:var(--r-md)}
/* Cabecera de subpágina */
.page-hero{position:relative;overflow:hidden;padding-block:4.5rem 3.5rem}
@media(min-width:1024px){.page-hero{padding-block:6rem 4.5rem}}
.page-hero .inner{position:relative;max-width:48rem;display:flex;flex-direction:column;gap:1.5rem}
.page-hero .pill{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500}
.page-hero h1{font-size:2.5rem}
@media(min-width:768px){.page-hero h1{font-size:3.5rem}}
.page-hero .lead{font-size:1.25rem;line-height:1.6;color:var(--muted-fg);max-width:40rem}
.page-hero .btns{display:flex;flex-wrap:wrap;gap:.75rem}
/* Bloques de contenido */
.section.tight{padding-block:4rem}
.alt{background:oklch(.96 .01 80/.2)}
.block-head{margin-bottom:2.5rem;max-width:44rem}
.block-head h2{font-size:1.875rem;margin-top:.5rem}
@media(min-width:768px){.block-head h2{font-size:2.25rem}}
.block-head .sub{font-size:1.125rem;color:var(--muted-fg);margin-top:.75rem;line-height:1.6}
.prose{max-width:44rem;display:flex;flex-direction:column;gap:1rem;font-size:1.0625rem;line-height:1.7;color:var(--muted-fg)}
.prose strong{color:var(--foreground);font-weight:600}
.quote{border-left:3px solid var(--primary);padding:.25rem 0 .25rem 1.25rem;font-size:1.25rem;line-height:1.5;color:var(--foreground);font-weight:500;max-width:44rem}
.quote small{display:block;margin-top:.5rem;font-size:.875rem;font-weight:400;color:var(--muted-fg)}
/* Pasos numerados */
.steps{display:grid;gap:1rem;counter-reset:paso;max-width:52rem}
@media(min-width:768px){.steps.two{grid-template-columns:repeat(2,1fr)}.steps.three{grid-template-columns:repeat(3,1fr)}}
.step{position:relative;background:var(--card);border:1px solid oklch(.9 .02 340/.5);border-radius:var(--r-xl);padding:1.25rem 1.25rem 1.25rem 4rem;box-shadow:0 1px 2px oklch(.15 .02 340/.05)}
.step::before{counter-increment:paso;content:counter(paso);position:absolute;left:1.25rem;top:1.15rem;width:2rem;height:2rem;border-radius:9999px;background:oklch(.42 .16 360/.1);color:var(--primary);font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.step b{display:block;font-size:1.0625rem;margin-bottom:.25rem}
.step p{font-size:.9375rem;color:var(--muted-fg);line-height:1.6}
/* Tarjetas de pack con texto completo (sin recorte) */
.card .body{font-size:.9375rem;color:var(--muted-fg);line-height:1.6;margin-bottom:1.25rem}
.card .tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:oklch(.5 .15 49);background:oklch(.769 .188 70.08/.12);border-radius:9999px;padding:.2rem .6rem;margin-bottom:.75rem}
.price small{display:block;font-size:.75rem;font-weight:500;color:var(--muted-fg)}
.note{margin-top:1.5rem;font-size:1rem;color:var(--muted-fg)}
.note a{color:var(--primary);font-weight:500;text-decoration:underline;text-underline-offset:3px}
/* Lista con check */
.checks{display:flex;flex-direction:column;gap:.75rem;max-width:44rem}
.checks li{position:relative;padding-left:2rem;font-size:1.0625rem;line-height:1.6;color:var(--muted-fg)}
.checks li strong{color:var(--foreground);font-weight:600}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:1.25rem;height:1.25rem;border-radius:9999px;background:oklch(.723 .219 149.579/.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2316a34a'%3E%3Cpath fill-rule='evenodd' d='M16.7 5.3a1 1 0 010 1.4l-8 8a1 1 0 01-1.4 0l-4-4a1 1 0 011.4-1.4L8 12.6l7.3-7.3a1 1 0 011.4 0z' clip-rule='evenodd'/%3E%3C/svg%3E") center/.8rem no-repeat}
/* Tabla de precios */
.table-wrap{overflow-x:auto;border:1px solid oklch(.9 .02 340/.6);border-radius:var(--r-xl);background:var(--card)}
.ptable{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:36rem}
.ptable th,.ptable td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid oklch(.9 .02 340/.5);vertical-align:top}
.ptable thead th{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-fg);font-weight:600;background:oklch(.96 .01 80/.4)}
.ptable tbody th{font-weight:600}
.ptable td.num{white-space:nowrap;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}
.ptable td.num small{display:block;font-weight:500;color:var(--muted-fg);font-size:.75rem}
.ptable tr.grp th{background:oklch(.95 .02 340/.35);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)}
.ptable tr:last-child th,.ptable tr:last-child td{border-bottom:none}
.ptable .muted{color:var(--muted-fg)}
/* Caja de contacto */
.contact{max-width:44rem;background:var(--card);border:1px solid oklch(.9 .02 340/.6);border-radius:var(--r-2xl);padding:2rem;display:flex;flex-direction:column;gap:1rem}
.contact .mail{font-size:1.25rem;font-weight:700;color:var(--primary);word-break:break-all;user-select:all}
.contact .btns{display:flex;flex-wrap:wrap;gap:.75rem}
/* Línea de tiempo (sobre Mercedes) */
.timeline{display:flex;flex-direction:column;gap:0;max-width:44rem;border-left:2px solid oklch(.42 .16 360/.2);margin-left:.5rem}
.tl{position:relative;padding:0 0 1.5rem 1.5rem}
.tl::before{content:"";position:absolute;left:-.45rem;top:.35rem;width:.8rem;height:.8rem;border-radius:9999px;background:var(--primary);box-shadow:0 0 0 3px var(--background)}
.tl b{display:block;font-size:.875rem;color:var(--primary);font-variant-numeric:tabular-nums}
.tl span{font-size:1.0625rem}
.cred-grid.wide{grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.cred-grid.wide{grid-template-columns:repeat(4,1fr)}}
.foot-grid .plain{font-size:.875rem;color:var(--muted-fg)}
/* Tabla de precios en móvil: cada fila como tarjeta, sin scroll lateral */
@media(max-width:639px){
  .ptable{min-width:0}
  .ptable thead{position:absolute;left:-9999px}
  .ptable tr{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid oklch(.9 .02 340/.5)}
  .ptable tr.grp{display:block;padding:0}
  .ptable th,.ptable td{padding:0;border:none}
  .ptable tr.grp th{display:block;padding:.75rem 1.25rem}
  .ptable tbody th[scope="row"]{grid-column:1}
  .ptable td.num{grid-column:2;grid-row:1;text-align:right}
  .ptable td.muted{grid-column:1 / -1}
}
