@font-face{font-family:"Google Sans Flex";src:url(/assets/fonts/15ce4d3f97.woff2) format("woff2");font-weight:350 800;font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/07f72ccb22.woff2) format("woff2");font-weight:500 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/5f8b96fe9d.woff2) format("woff2");font-weight:600;font-display:swap}

/* Layout: light shop front. Full-bleed soft product photo in the hero, white rounded cards on a pale
   grey-olive ground, centered section titles like a supplement store, one olive accent.
   Shape rule: buttons and chips are pills, cards and photos 16px, inputs 12px. */
:root{
  --bg:#f4f4f0;          /* hueso frío */
  --surface:#ffffff;
  --surface-2:#ecede6;
  --soft:#eaece2;        /* banda oliva muy clara */
  --line:#dfe0d7;
  --fg:#1d1f1a;          /* grafito */
  --muted:#5d6157;
  --accent:#5b6a2f;      /* oliva */
  --accent-ink:#4c5a24;
  --accent-soft:#e3e7d2;
  --on-accent:#ffffff;
  --scrim:rgba(29,31,26,.42);
  color-scheme:light;

  --sans:"Google Sans Flex",system-ui,-apple-system,"Segoe UI",sans-serif;
  --round:100;           /* terminales redondeados en titulares */

  --t-xs:.8125rem; --t-sm:.9375rem; --t-md:1.0625rem; --t-lg:1.25rem; --t-xl:1.625rem;
  --t-2xl:clamp(1.75rem,3vw,2.375rem); --t-hero:clamp(2.2rem,4.6vw,3.9rem);

  --r-card:16px; --r-in:12px; --r-pill:999px;
  --shadow:0 1px 2px rgba(40,45,30,.05),0 8px 24px -12px rgba(40,45,30,.14);
  --shadow-up:0 2px 4px rgba(40,45,30,.06),0 16px 32px -14px rgba(40,45,30,.22);
  --gutter:clamp(16px,4vw,40px);
  --max:1240px;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--t-md);line-height:1.6;font-weight:400;
  font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.i{width:1.15em;height:1.15em;fill:currentColor;flex:none}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:var(--on-accent);padding:.6rem 1rem;z-index:100;border-radius:var(--r-pill)}
.skip:focus{left:8px}
.tnum{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
p{margin:0}

/* type */
.d{font-family:var(--sans);font-weight:640;font-variation-settings:"ROND" var(--round);letter-spacing:-.02em;line-height:1.08;text-wrap:balance;margin:0}
h2.d{font-size:var(--t-2xl)}
h3{font-size:var(--t-md);line-height:1.3;margin:0;font-weight:620;font-variation-settings:"ROND" 60}
.lead{font-size:var(--t-lg);line-height:1.5;max-width:44ch}
.eyebrow{font-size:var(--t-sm);font-weight:600;color:var(--accent-ink);margin-bottom:.9rem}
.prose{max-width:62ch;display:grid;gap:1rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem 1.25rem;border-radius:var(--r-pill);
  border:1px solid var(--line);background:var(--surface);text-decoration:none;font-weight:600;font-size:var(--t-sm);white-space:nowrap;cursor:pointer;
  font-variation-settings:"ROND" 60;transition:transform 160ms var(--ease-out),background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease}
.btn:active{transform:scale(.97)}
.btn-lg{min-height:52px;padding:.8rem 1.5rem;font-size:var(--t-md)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-light{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.9)}
.btn-ghost{background:transparent}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
  .btn-ghost:hover,.btn-light:hover{border-color:var(--fg);background:var(--surface)}
}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.75rem}
.actions.center{justify-content:center}
.link{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;text-decoration:none;color:var(--accent-ink)}
.link:hover{text-decoration:underline}

/* top bar + header */
.topbar{background:var(--accent);color:var(--on-accent);font-size:var(--t-xs)}
.topbar-in{display:flex;justify-content:center;gap:2rem;padding-block:.5rem;flex-wrap:wrap}
.topbar-in>span{display:inline-flex;align-items:center;gap:.45rem;font-weight:500}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:1.5rem;height:70px}
.brand{font-weight:800;font-variation-settings:"ROND" 100;font-size:1.25rem;letter-spacing:.05em;text-decoration:none;line-height:1;white-space:nowrap}
.nav{display:flex;gap:.15rem;margin-left:auto}
.nav a{padding:.5rem .85rem;text-decoration:none;font-weight:550;font-size:var(--t-sm);color:var(--muted);border-radius:var(--r-pill);transition:color 160ms ease,background-color 160ms ease}
.nav a:hover{color:var(--fg);background:var(--surface-2)}
.nav a[aria-current="page"]{color:var(--accent-ink);background:var(--accent-soft)}
.hdr-tools{display:flex;align-items:center;gap:.5rem}
.lang{display:inline-flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px}
.lang button{border:0;background:transparent;padding:.35rem .65rem;font-size:var(--t-xs);font-weight:700;cursor:pointer;color:var(--muted);border-radius:var(--r-pill);min-height:32px}
.lang button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.menu-btn{display:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:960px){
  .nav{position:fixed;inset:70px 0 auto 0;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1rem;
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity 180ms ease,transform 220ms var(--ease-out);margin:0;box-shadow:var(--shadow)}
  .nav.open{opacity:1;transform:none;pointer-events:auto}
  .nav a{font-size:var(--t-lg);padding:.8rem .9rem}
  .menu-btn{display:inline-flex}
  .hdr-tools{margin-left:auto}
  .hdr-wa{display:none}
}

/* pages & sections */
.page{animation:pageIn 240ms var(--ease-out) both}
@keyframes pageIn{from{opacity:0;transform:translateY(6px)}}
section{padding-block:clamp(56px,7vw,96px)}
section.soft{background:var(--soft)}
.sec-head{display:grid;gap:.75rem;margin-bottom:clamp(28px,4vw,44px)}
.sec-head.c{justify-items:center;text-align:center}
.sec-head.c .muted{max-width:56ch}
.sec-head.c h2::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--accent);margin:.9rem auto 0}

/* HERO: copy + AMIX still life (cut-out packshots on the warm base) */
.hero{position:relative;padding:0;overflow:hidden;background:#efebe3;isolation:isolate}
.hero::after{content:"";position:absolute;z-index:-1;right:-8%;top:50%;width:min(62vw,880px);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.9),rgba(255,255,255,.45) 55%,rgba(255,255,255,0))}
.hero-in{min-height:clamp(460px,64vh,620px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.2fr);gap:clamp(20px,3vw,48px);align-items:center;padding-block:clamp(40px,6vw,72px)}
.hero-copy{max-width:600px}
.hero-art{margin:0;min-width:0}
.hero-art img{display:block;width:112%;max-width:none;height:auto;margin-left:-4%;animation:heroArt 900ms var(--ease-out) both}
@keyframes heroArt{from{opacity:0;transform:translateY(14px) scale(.985)}}
.hero #heroTitle{font-size:var(--t-hero);font-weight:660}
h1.eyebrow{margin-top:0;line-height:inherit}
.hero .lead{margin-top:1.1rem;color:#41443c}

/* trust */
.trust{background:var(--surface);border-bottom:1px solid var(--line)}
.trust-in{list-style:none;margin-block:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.trust-in li{display:flex;gap:.85rem;align-items:center;padding:1.2rem 1rem 1.2rem 0}
.trust-in li+li{border-left:1px solid var(--line);padding-left:1.25rem}
.trust-in .i{width:1.7em;height:1.7em;color:var(--accent);background:var(--accent-soft);border-radius:50%;padding:.32em;box-sizing:content-box}
.trust-in b{display:block;font-weight:620;font-size:var(--t-sm)}
.trust-in small{display:block;color:var(--muted);font-size:var(--t-xs);line-height:1.35}

/* categories */
.cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cat{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-card);padding:0;cursor:pointer;overflow:hidden;
  min-width:0;box-shadow:var(--shadow);transition:transform 200ms var(--ease-out),box-shadow 200ms ease}
.cat .ph{flex:none;display:block;width:100%;aspect-ratio:1/1;max-width:100%;overflow:hidden;background:var(--surface-2)}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease-out)}
.cat .cap{display:grid;gap:.1rem;padding:.85rem 1rem .95rem}
.cat b{font-weight:640;font-variation-settings:"ROND" 80;font-size:var(--t-md);line-height:1.2}
.cat small{color:var(--muted);font-size:var(--t-xs);white-space:nowrap;font-variant-numeric:tabular-nums}
.cat:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.cat:hover{transform:translateY(-3px);box-shadow:var(--shadow-up)}.cat:hover img{transform:scale(1.05)}}

/* goals */
.goals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.goal{position:relative;display:flex;flex-direction:column;text-align:left;border:0;background:var(--surface);border-radius:var(--r-card);padding:0;cursor:pointer;overflow:hidden;
  min-width:0;box-shadow:var(--shadow);transition:transform 200ms var(--ease-out),box-shadow 200ms ease}
.goal .ph{flex:none;display:block;width:100%;aspect-ratio:4/3;max-width:100%;overflow:hidden;background:var(--surface-2)}
.goal img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease-out)}
.goal .gtx{display:grid;gap:.2rem;padding:1rem 3rem 1.1rem 1.1rem}
.goal b{font-weight:660;font-variation-settings:"ROND" 100;font-size:var(--t-lg);line-height:1.2}
.goal small{color:var(--muted);font-size:var(--t-sm)}
.goal>.i{position:absolute;right:1rem;bottom:1.25rem;color:var(--accent);transition:transform 200ms var(--ease-out)}
.goal:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.goal:hover{transform:translateY(-3px);box-shadow:var(--shadow-up)}.goal:hover img{transform:scale(1.05)}.goal:hover>.i{transform:translateX(3px)}}

/* product rail + cards */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 16px;margin-inline:-4px;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.rail>*{scroll-snap-align:start}
@media (min-width:1100px){.rail{grid-auto-columns:calc((100% - 48px)/4)}}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden;text-align:left;
  cursor:pointer;transition:transform 200ms var(--ease-out),box-shadow 200ms ease;padding:0;width:100%;box-shadow:var(--shadow)}
.card:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-up)}}
.thumb{position:relative;flex:none;aspect-ratio:4/3;max-width:100%;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.thumb img{position:absolute;inset:0;width:100%;height:100%;transition:transform 450ms var(--ease-out)}
.thumb img.pack{object-fit:contain;padding:16px 16px 8px}
.thumb img.scene{object-fit:cover}
@media (hover:hover) and (pointer:fine){.card:hover .thumb img{transform:scale(1.045)}}
.label{position:absolute;inset:10px 10px 0;border-radius:12px;display:grid;align-content:space-between;justify-items:start;padding:.9rem 1rem;
  background:linear-gradient(135deg,var(--accent-soft) 0%,#f3f4ee 60%,#ffffff 100%)}
.label .fmt{font-weight:700;font-variation-settings:"ROND" 100;font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1;letter-spacing:-.02em;color:var(--fg)}
.label .lcat{background:#fff!important;font-size:var(--t-xs);font-weight:650;color:var(--accent-ink);background:var(--accent-soft);padding:.25rem .6rem;border-radius:var(--r-pill)}
.label .br{font-size:var(--t-sm);font-weight:700;letter-spacing:.06em;color:var(--muted)}
.card-body{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.1rem 1.1rem;flex:1}
.card .brand-name{font-size:var(--t-xs);color:var(--muted);font-weight:600;letter-spacing:.04em}
.card .pname{font-weight:620;font-variation-settings:"ROND" 60;font-size:var(--t-md);line-height:1.3}
.card .fmt-s{font-size:var(--t-sm);color:var(--muted)}
.card-body .card-foot{margin-top:auto;padding-top:.6rem;width:100%;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.2rem .75rem}
.price{font-weight:720;font-variation-settings:"ROND" 80;font-size:1.3rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.price small{font-size:var(--t-xs);font-weight:500;color:var(--muted);margin-right:.3rem}
.stock{font-size:var(--t-xs);color:var(--muted)}
.webprice{display:block;width:100%;font-size:var(--t-xs);color:var(--accent-ink);font-weight:600;font-variant-numeric:tabular-nums}
.badge{font-size:.6875rem;font-weight:700;letter-spacing:.03em;color:var(--accent-ink);background:var(--accent-soft);padding:.2rem .55rem;border-radius:var(--r-pill)}

/* why */
.why{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center}
.why-media{aspect-ratio:4/3;max-width:100%;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}
.why-media img{width:100%;height:100%;object-fit:cover}
.reasons{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:1.4rem}
.reasons li{display:flex;gap:1rem;align-items:flex-start}
.reasons .i{width:1.5em;height:1.5em;padding:.45em;box-sizing:content-box;color:var(--accent);background:var(--surface);border-radius:50%;box-shadow:var(--shadow)}
.reasons p{color:var(--muted);margin-top:.25rem;max-width:50ch}

/* how to reserve */
.how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.how li{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:1.5rem;display:grid;gap:.55rem;align-content:start;box-shadow:var(--shadow)}
.how .how-n{position:absolute;right:1.1rem;top:.9rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--t-sm);background:var(--accent-soft);color:var(--accent-ink)}
.how .i{width:1.5em;height:1.5em;color:var(--accent)}
.how p{color:var(--muted);font-size:var(--t-sm)}

/* nutrition teaser */
.nut{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:center}
.nut-copy>p{margin-top:.9rem;max-width:48ch}
.nut-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem}
.nut-list li{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1rem;padding:.85rem 1rem;background:var(--surface);border-radius:var(--r-in)}
.nut-list b{color:var(--accent-ink);font-weight:650;font-size:var(--t-sm)}
.nut-list span{font-size:var(--t-sm);color:var(--muted)}
.nut-price{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin-top:1.5rem}
.bigprice{font-weight:720;font-variation-settings:"ROND" 100;font-size:clamp(2.4rem,4.5vw,3.25rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nut-media{aspect-ratio:5/4;max-width:100%;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}
.nut-media img{width:100%;height:100%;object-fit:cover}

/* brands */
.brands-sec{padding-block:clamp(36px,5vw,56px);border-top:1px solid var(--line);background:var(--surface)}
.brands-t{text-align:center;font-size:var(--t-sm);margin-bottom:1rem}
.brands{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,6vw,80px);align-items:baseline}
.brands span{font-weight:800;font-variation-settings:"ROND" 30;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:.04em;color:#9a9d93;line-height:1}

/* visit */
.band{background:var(--soft)}
.visit-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,72px)}
.addr{font-size:clamp(2.2rem,5vw,3.6rem)}
.status{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:var(--t-sm);margin-top:1rem;padding:.4rem .85rem;background:var(--surface);border-radius:var(--r-pill)}
.status .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.status[data-open="1"] .dot{background:#3f8f4f}
.facts{display:grid;gap:0;background:var(--surface);border-radius:var(--r-card);padding:.5rem 1.25rem;box-shadow:var(--shadow)}
.fact{display:grid;grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);gap:1rem;padding-block:1rem;border-bottom:1px solid var(--line)}
.fact:last-child{border-bottom:0}
.fact dt{color:var(--muted);font-size:var(--t-sm)}
.fact dd{margin:0}
.hours{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;font-variant-numeric:tabular-nums}
.hours .today{color:var(--accent-ink);font-weight:650}
.route{margin-top:1.75rem;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:.75rem;font-size:var(--t-sm)}
.route .seg{height:2px;background:var(--line);border-radius:2px}
.route .stop{display:grid;gap:.1rem;text-align:center;justify-items:center}
.route .stop b{font-weight:620}
.route .stop small{color:var(--muted);font-size:var(--t-xs)}
.route .here{background:var(--accent);color:var(--on-accent);padding:.45rem .9rem;border-radius:var(--r-pill);font-weight:800;letter-spacing:.04em;font-size:var(--t-xs)}

/* footer */
.ftr{background:var(--surface);border-top:1px solid var(--line);padding-block:clamp(40px,6vw,64px) calc(clamp(40px,6vw,64px) + env(safe-area-inset-bottom,0px))}
.ftr-mark{font-weight:800;font-variation-settings:"ROND" 100;font-size:1.5rem;letter-spacing:.05em}
.ftr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:1.75rem;font-size:var(--t-sm)}
.ftr-grid h4{margin:0 0 .6rem;font-size:var(--t-sm);color:var(--fg);font-weight:650}
.ftr-grid a,.ftr-grid span{display:block;text-decoration:none;padding-block:.15rem;color:var(--muted)}
.ftr-grid p{color:var(--muted)}
.ftr-grid a:hover{color:var(--fg)}
.ftr-legal{margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:var(--t-xs);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}

/* inner page heads */
.pband{position:relative;background:var(--soft);isolation:isolate;overflow:hidden}
.pband::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--pimg) right center/cover no-repeat;opacity:1}
.pband::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(234,236,226,.98) 0%,rgba(234,236,226,.94) 45%,rgba(234,236,226,.55) 75%,rgba(234,236,226,.2) 100%)}
.phead{padding-block:clamp(40px,6vw,80px) clamp(32px,4vw,52px)}
.phead :is(h1,h2){font-size:clamp(2.2rem,5vw,3.6rem)}
.phead .lead{margin-top:1rem;color:var(--muted);max-width:52ch}
.pband-plain::before,.pband-plain::after{display:none}
.phead-moi{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center}
.moi-frame{aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}

/* Moisés photo slots (placeholder until his photos arrive) */
.moi{position:relative;background:linear-gradient(140deg,#e3e7d2 0%,#eef0e6 55%,#f7f7f2 100%);outline:1px solid rgba(91,106,47,.14);outline-offset:-1px}
.moi>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.moi-ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.35rem;text-align:center;padding:1.5rem}
.moi-ph .ico{width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow);margin-bottom:.4rem}
.moi-ph .ico .i{width:28px;height:28px;color:var(--accent)}
.moi-ph b{font-weight:680;font-variation-settings:"ROND" 100;font-size:var(--t-lg);line-height:1.2}
.moi-ph small{color:var(--muted);font-size:var(--t-sm);max-width:28ch}

/* catalog */
.perks{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.5rem}
.perk{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:var(--surface);border-radius:var(--r-pill);font-size:var(--t-sm);box-shadow:var(--shadow)}
.perk .i{color:var(--accent)}
.tools{position:sticky;top:calc(env(safe-area-inset-top,0px) + 70px);z-index:20;background:rgba(244,244,240,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-block:12px}
.tools-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.search{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:var(--r-pill);padding:0 1rem;background:var(--surface);min-height:46px}
.search input{border:0;background:transparent;color:var(--fg);font:inherit;width:100%;min-width:0;outline:none;padding:.6rem 0}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.select{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-sm);min-height:46px;padding:0 1rem}
.chips{display:flex;gap:6px;overflow-x:auto;padding-block:10px 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:.42rem .85rem;font-size:var(--t-sm);font-weight:550;cursor:pointer;
  color:var(--fg);display:inline-flex;gap:.45rem;align-items:center;transition:color 160ms ease,border-color 160ms ease,background-color 160ms ease;min-height:38px}
.chip em{font-style:normal;font-variant-numeric:tabular-nums;font-size:var(--t-xs);color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.chip[aria-pressed="true"] em{color:var(--on-accent);opacity:.85}
.chip-sep{flex:none;width:1px;background:var(--line);margin-inline:4px}
.freq{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;font-size:var(--t-xs);padding-top:6px}
.freq button{border:0;background:transparent;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:var(--t-xs);padding:.25rem .3rem;min-height:32px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px;margin-top:20px}
.grid .card{animation:cardIn 300ms var(--ease-out) both;animation-delay:calc(min(var(--i),12) * 25ms)}
@keyframes cardIn{from{opacity:0;transform:translateY(6px)}}
.empty{border:1px dashed var(--line);border-radius:var(--r-card);padding:2.5rem 1.5rem;text-align:center;display:grid;gap:1rem;justify-items:center;margin-top:24px;background:var(--surface)}
.count{color:var(--muted);font-size:var(--t-sm);margin-top:18px}
.cat-faq{margin-top:clamp(56px,8vw,96px)}

/* drawer */
.overlay{position:fixed;inset:0;background:var(--scrim);z-index:60;opacity:0;pointer-events:none;transition:opacity 220ms ease}
.overlay.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--bg);z-index:61;box-shadow:-20px 0 40px -20px rgba(0,0,0,.25);
  transform:translateX(100%);transition:transform 320ms var(--ease-drawer);display:grid;grid-template-rows:auto 1fr auto;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden}
.drawer.on{transform:none;visibility:visible}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:var(--surface)}
.drawer-top .kick{font-weight:650;color:var(--accent-ink);font-size:var(--t-sm)}
.x{border:1px solid var(--line);background:var(--surface);border-radius:50%;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.drawer-body{overflow-y:auto;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.4rem}
.drawer-body>*{flex:none}
.drawer-body h2{font-size:clamp(1.7rem,5vw,2.2rem)}
.drawer-media{aspect-ratio:16/10;max-width:100%;border-radius:var(--r-card);overflow:hidden;background:var(--surface-2)}
.drawer-media img{width:100%;height:100%;object-fit:cover}
.drawer-media.prod{background:#fff;border:1px solid var(--line)}
.drawer-media.prod img.pack{object-fit:contain;padding:20px}
.drawer-foot{padding:1rem 1.25rem;border-top:1px solid var(--line);display:grid;gap:.5rem;background:var(--surface)}
.drawer-foot .btn{width:100%}
.mini{display:grid;gap:8px}
.mini a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.1rem 1rem;padding:.8rem 1rem;background:var(--surface);border-radius:var(--r-in);text-decoration:none;border:1px solid var(--line)}
.mini a>img,.mini a>span:first-child{grid-row:1/3;width:52px;height:52px;border-radius:10px;background:#fff;border:1px solid var(--line);object-fit:contain;padding:3px}
.mini a>img.scene{object-fit:cover;padding:0}
.mini a b{grid-column:2;align-self:end}
.mini a small{color:var(--muted);grid-column:2;align-self:start}
.mini .price{grid-row:1/3;grid-column:3;align-self:center;font-size:1.05rem}
.catlinks{display:flex;flex-wrap:wrap;gap:6px}
.specs{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.25rem;font-size:var(--t-sm);background:var(--surface);border-radius:var(--r-in);padding:1rem}
.specs dt{color:var(--muted)}
.specs dd{margin:0}
.variants{display:grid;gap:8px}
.variant{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:.7rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-in)}
.variant .price{font-size:1.05rem}
.variant .btn{min-height:38px;padding:.4rem .9rem}
@media (max-width:640px){
  .drawer{top:auto;width:100%;height:min(88dvh,760px);border-radius:20px 20px 0 0;transform:translateY(100%)}
}

/* nutrition page */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.step{background:var(--surface);border-radius:var(--r-card);padding:1.4rem;display:grid;gap:.55rem;align-content:start;box-shadow:var(--shadow);border:1px solid var(--line)}
.step .when{font-weight:650;color:var(--accent-ink);font-size:var(--t-sm)}
.step p{color:var(--muted);font-size:var(--t-sm)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.who{display:flex;flex-wrap:wrap;gap:8px}
.who span{background:var(--surface);border-radius:var(--r-pill);padding:.45rem .9rem;font-size:var(--t-sm);box-shadow:var(--shadow)}
.faq{display:grid;gap:8px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-in);padding-inline:1.1rem}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-block:1rem;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{transition:transform 200ms var(--ease-out);color:var(--accent)}
.faq details[open] summary .i{transform:rotate(45deg)}
.faq details p{padding-bottom:1.1rem;color:var(--muted);max-width:62ch}

/* about */
.story-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:start}
.portrait{aspect-ratio:4/5;max-width:100%;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tl li{display:grid;grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:1.25rem;padding:1.1rem 1.25rem;background:var(--surface);border-radius:var(--r-in);border:1px solid var(--line)}
.tl .yr{font-weight:720;font-variation-settings:"ROND" 100;font-size:var(--t-xl);line-height:1;color:var(--accent-ink);font-variant-numeric:tabular-nums}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.value{background:var(--surface);border-radius:var(--r-card);padding:1.4rem;display:grid;gap:.5rem;box-shadow:var(--shadow)}
.value b{font-weight:680;font-variation-settings:"ROND" 100;font-size:var(--t-xl);line-height:1.1;color:var(--accent-ink)}
.value p{color:var(--muted);font-size:var(--t-sm)}

/* contact */
.chan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.chan>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:1.4rem;display:grid;gap:.75rem;align-content:start;box-shadow:var(--shadow)}
.chan .big{font-weight:700;font-variation-settings:"ROND" 100;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.15;user-select:all;word-break:break-word}
.chan .tag{font-size:var(--t-xs);color:var(--accent-ink);font-weight:650}
.chan .row{display:flex;flex-wrap:wrap;gap:8px}
.chan>div:first-child{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}
form{display:grid;gap:1.1rem;background:var(--surface);border-radius:var(--r-card);padding:clamp(1.2rem,3vw,1.8rem);box-shadow:var(--shadow)}
.field{display:grid;gap:.45rem}
.field label{font-weight:600;font-size:var(--t-sm)}
.field input,.field select,.field textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-in);padding:.75rem .9rem;min-height:48px;width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}
.field .err{color:#9b2c1f;font-size:var(--t-xs);display:none;align-items:center;gap:.35rem}
.field.bad input,.field.bad textarea{border-color:#9b2c1f}
.field.bad .err{display:flex}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--t-sm)}
.check input{width:20px;height:20px;accent-color:var(--accent);margin-top:2px}
.done{background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-card);padding:1.4rem;display:grid;gap:.8rem}

/* legal */
.legal h2{font-size:var(--t-xl);margin:2rem 0 .75rem}
.legal p,.legal li{color:var(--muted);max-width:70ch}
.legal dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.25rem;max-width:70ch}
.legal dt{color:var(--muted)}
.legal dd{margin:0}

/* mobile action bar + floating help */
.mbar{display:none}
.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:50;display:inline-flex;align-items:center;gap:.55rem;background:var(--accent);color:var(--on-accent);
  text-decoration:none;font-weight:650;font-size:var(--t-sm);padding:.8rem 1.15rem;border-radius:var(--r-pill);box-shadow:0 10px 26px -10px rgba(40,50,20,.55);transition:transform 160ms var(--ease-out)}
.fab:active{transform:scale(.97)}
@media (max-width:760px){
  .fab{display:none}
  .mbar{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
  .mbar .btn{min-height:46px;padding:.5rem;font-size:var(--t-xs)}
  .ftr{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}

/* responsive */
@media (max-width:860px){
  .phead-moi{grid-template-columns:1fr}
  .moi-frame{aspect-ratio:16/10}
  .hero-in{grid-template-columns:1fr;min-height:0;gap:8px}
  .hero-art{max-width:560px;width:100%;justify-self:center}
  .hero-art img{width:100%;margin-left:0}
  .hero::after{right:50%;top:auto;bottom:-6%;transform:translateX(50%);width:min(120vw,700px)}
}
@media (max-width:1060px){
  .why,.nut,.visit-grid,.split,.story-grid{grid-template-columns:1fr}
  .nut-media{order:-1;aspect-ratio:16/9}
  .why-media{aspect-ratio:16/9}
  .values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chan{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portrait{aspect-ratio:16/10}
  .trust-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-in li:nth-child(3){border-left:0;padding-left:0}
  .trust-in li:nth-child(n+3){border-top:1px solid var(--line)}
  .cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .goals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .how{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero-in{padding-block:36px 40px}
  .topbar-2{display:none!important}
  .trust-in{grid-template-columns:1fr}
  .trust-in li,.trust-in li+li{border-left:0;padding-left:0}
  .trust-in li+li{border-top:1px solid var(--line)}
  .cats{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:58%;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin-inline:-4px;scrollbar-width:none}
  .cats::-webkit-scrollbar{display:none}
  .cat{scroll-snap-align:start}
  .goals{grid-template-columns:1fr 1fr;gap:10px}
  .goal .gtx{padding:.8rem 2.2rem .9rem .85rem}
  .goal b{font-size:var(--t-md)}
  .goal small{font-size:var(--t-xs)}
  .goal>.i{right:.7rem;bottom:1rem}
  .nut-list li{grid-template-columns:1fr;gap:.2rem}
  .steps{grid-template-columns:1fr}
  .tl li{grid-template-columns:1fr;gap:.4rem}
  .fact{grid-template-columns:1fr;gap:.3rem}
  .route{grid-template-columns:1fr;justify-items:start}
  .route .seg{width:2px;height:14px;margin-left:12px}
  .route .stop{text-align:left;justify-items:start}
  .tools-in{grid-template-columns:1fr}
  .values{grid-template-columns:1fr}
  .ftr-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}
}

/* catálogo en móvil: 2 columnas, como una tienda */
@media (max-width:640px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .grid .card-body{padding:.7rem .75rem .8rem;gap:.15rem}
  .grid .card .pname{font-size:.98rem}
  .grid .card .fmt-s{font-size:.8rem}
  .grid .price{font-size:1.08rem}
  .grid .stock{display:none}
  .grid .thumb img.pack{padding:10px 10px 4px}
  .grid .card-foot{padding-top:.4rem}
  .grid .webprice{font-size:.72rem}
  .tools .freq{display:none}
}

/* =====================================================================
   v6 — movimiento y páginas más ricas
   ===================================================================== */
:root{
  --c-proteina:#f4ece1; --c-creatina:#e6edf2; --c-rendimiento:#f6e6e1; --c-aminoacidos:#e4eeec; --c-quemadores:#f5edd9; --c-potenciadores:#ebe8f2; --c-salud:#e5eee1; --c-barritas:#f3e7eb;
  --d-proteina:#c8a37a; --d-creatina:#7f9db3; --d-rendimiento:#c9776a; --d-aminoacidos:#5f958c; --d-quemadores:#c9a14f; --d-potenciadores:#8f86ad; --d-salud:#6f9a62; --d-barritas:#c27f93;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes floatY{to{transform:translateY(-10px)}}
@keyframes glow{to{translate:-4% 3%}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(24px);transition:opacity 700ms var(--ease-out) var(--rvd,0ms),transform 850ms var(--ease-out) var(--rvd,0ms)}
.rv.in{opacity:1;transform:none}

/* hero: product layers that rise in and float */
.hero::after{animation:glow 14s ease-in-out infinite alternate}
.hl{position:relative;aspect-ratio:1455/920;width:112%;margin-left:-4%}
.hero-art .hl img{position:absolute;inset:0;width:100%;height:100%;margin:0;max-width:none;display:block}
.hero-art .hl-s{animation:fadeIn 1100ms var(--ease-out) 450ms both}
.hero-art .hl-p{transition:translate 900ms var(--ease-out);animation:hlIn 1000ms var(--ease-out) backwards calc(var(--d) * 110ms + 120ms),hlFloat calc(5.2s + var(--d) * .7s) ease-in-out calc(1.3s - var(--d) * .9s) infinite alternate}
@keyframes hlIn{from{opacity:0;translate:0 44px}}
@keyframes hlFloat{from{transform:translateY(0)}to{transform:translateY(-1.2%)}}
@keyframes fadeIn{from{opacity:0}}

/* goals: bigger, with the recommended products visible */
.goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.goal{flex-direction:row;min-height:230px}
.goal .ph{width:40%;aspect-ratio:auto;flex:none}
.goal .gtx{display:flex;flex-direction:column;gap:.4rem;padding:1.4rem 1.5rem 1.3rem;min-width:0}
.goal b{font-size:clamp(1.25rem,1.9vw,1.55rem)}
.goal small{font-size:var(--t-md);color:var(--muted)}
.gprods{display:flex;gap:10px;margin-top:.7rem;flex-wrap:wrap}
.gp{width:68px;height:68px;border-radius:14px;background:#fff;border:1px solid var(--line);overflow:hidden;display:grid;transition:transform 300ms var(--ease-out)}
.gp img{width:100%;height:100%;object-fit:contain;padding:5px}
.gp img.scene{object-fit:cover;padding:0}
.gcta{margin-top:auto;padding-top:.9rem;display:inline-flex;align-items:center;gap:.45rem;font-weight:650;color:var(--accent-ink);font-size:var(--t-sm)}
.gcta .i{transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.goal:hover .gcta .i{transform:translateX(4px)}.goal:hover .gp:nth-child(1){transform:translateY(-4px)}.goal:hover .gp:nth-child(2){transform:translateY(-4px);transition-delay:40ms}.goal:hover .gp:nth-child(3){transform:translateY(-4px);transition-delay:80ms}}

/* drawer: big recommendation cards */
.recs-t{font-size:var(--t-sm);color:var(--muted);font-weight:650}
.recs-wrap{display:grid;gap:.75rem}
.recs{display:grid;gap:10px}
.rec{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.7rem .9rem .7rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform 200ms var(--ease-out),box-shadow 200ms ease}
.rec-img{width:88px;height:88px;border-radius:12px;background:#fff;overflow:hidden;display:grid;border:1px solid var(--line)}
.rec-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.rec-img img.scene{object-fit:cover;padding:0}
.rec-txt{display:grid;gap:.15rem;min-width:0}
.rec-txt b{font-size:var(--t-md);font-weight:660;line-height:1.25}
.rec-txt small{color:var(--muted);font-size:var(--t-sm)}
.rec-txt .price{font-size:1.15rem;margin-top:.15rem}
.rec>.i{color:var(--accent);width:22px;height:22px}
@media (hover:hover) and (pointer:fine){.rec:hover{transform:translateY(-2px);box-shadow:var(--shadow-up)}}

/* brands: moving marquee */
.brands-sec{padding-block:clamp(44px,6vw,80px);background:var(--surface);border-top:1px solid var(--line);overflow:hidden}
.brands-t{text-align:center;font-size:var(--t-xs);font-weight:700;color:var(--muted);margin:0 0 1.25rem;letter-spacing:.14em;text-transform:uppercase}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mq-track{display:flex;align-items:center;width:max-content;animation:mq 40s linear infinite}
.mq-rev .mq-track{animation-direction:reverse}
@media (hover:hover){.mq:hover .mq-track{animation-play-state:paused}}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-name{font-weight:800;font-variation-settings:"ROND" 40;font-size:clamp(2.6rem,6.2vw,5.2rem);letter-spacing:-.015em;line-height:1.15;padding-inline:clamp(20px,3vw,44px);color:var(--fg);white-space:nowrap}
.mq-name.o{color:transparent;-webkit-text-stroke:1.6px var(--accent)}
.mq-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);flex:none}
.mq-prods{margin-top:1.75rem}
.mq-prods .mq-track{animation-duration:55s;padding-block:10px 18px}
.mq-prods img{height:110px;width:auto;margin-inline:24px;filter:drop-shadow(0 12px 12px rgba(40,36,28,.16));transition:transform 300ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.mq-prods img:hover{transform:translateY(-6px) scale(1.04)}}

/* how to get there */
.visit2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:stretch}
.map-card{position:relative;border-radius:var(--r-card);overflow:hidden;background:#eef0e6;box-shadow:var(--shadow);border:1px solid var(--line);min-height:300px}
.map{display:block;width:100%;height:100%}
.map-road{font:600 15px var(--sans);fill:#8b907f;letter-spacing:.02em}
.map-tag{font:800 15px var(--sans);fill:#1d1f1a}
.map-lbl{font:650 14px var(--sans);fill:#4f534a}
.map-shop{font:800 14px var(--sans);fill:#fff;letter-spacing:.1em}
.map-dir{font:650 13px var(--sans);fill:#8f957f}
.map-pin .pulse{transform-box:fill-box;transform-origin:center;animation:pinPulse 2.2s var(--ease-out) infinite}
.map-pin .pin-b{animation:pinBob 2.2s ease-in-out infinite}
@keyframes pinPulse{0%{transform:scale(.5);opacity:.5}100%{transform:scale(2.6);opacity:0}}
@keyframes pinBob{50%{transform:translateY(-6px)}}
.map-walk{animation:walk 1.4s linear infinite}
@keyframes walk{to{stroke-dashoffset:-26}}
.map-note{position:absolute;left:12px;bottom:10px;font-size:var(--t-xs);color:var(--muted);background:rgba(255,255,255,.85);padding:.2rem .6rem;border-radius:var(--r-pill)}
.ways{display:grid;gap:12px;align-content:start}
.way{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;align-items:center;padding:1.05rem 1.2rem;background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow)}
.way b{font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:690;display:block;line-height:1.25}
.way small{color:var(--muted);font-size:var(--t-sm)}
.wi{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;font-weight:800;font-size:1.05rem;background:var(--accent-soft);color:var(--accent-ink);letter-spacing:.02em}
.wi-fgc{background:#1d1f1a;color:#fff;font-size:.95rem}
.wi-m{background:#b5544a;color:#fff;font-size:1.7rem}
.wi .i{width:28px;height:28px}
.ways .status{margin-top:.2rem;justify-self:start}
.ways .actions{margin-top:.3rem}
.facts4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:clamp(20px,3vw,32px) 0 0}
.f4{background:var(--surface);border-radius:var(--r-card);padding:1.15rem 1.25rem;box-shadow:var(--shadow);display:grid;gap:.35rem;align-content:start}
.f4 .i{width:26px;height:26px;color:var(--accent)}
.f4 dt{font-size:var(--t-sm);color:var(--muted)}
.f4 dd{margin:0;font-weight:560}
.f4 .hours{font-size:var(--t-sm)}
.center-link{text-align:center;margin-top:1.25rem}

/* catalog header with real products + soft colour per category */
.cband{position:relative;overflow:hidden;background:linear-gradient(120deg,#e1e6cf 0%,#eef0e6 45%,#f6eee2 100%);isolation:isolate}
.cband::before{content:"";position:absolute;z-index:-1;right:-8%;top:-35%;width:68%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0));animation:glow 16s ease-in-out infinite alternate}
.cband-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(16px,3vw,40px);align-items:center;padding-block:clamp(28px,4vw,52px) clamp(20px,3vw,36px)}
.cband-txt :is(h1,h2){font-size:clamp(2.2rem,5vw,3.6rem)}
.cband-txt .lead{margin-top:1rem;color:#4f534a;max-width:48ch}
.cband-art img{display:block;width:100%;height:auto}
[data-float]{animation:floatY 6s ease-in-out infinite alternate}
.card[data-cat="proteina"] .thumb{background:var(--c-proteina)}
.card[data-cat="creatina"] .thumb{background:var(--c-creatina)}
.card[data-cat="rendimiento"] .thumb{background:var(--c-rendimiento)}
.card[data-cat="aminoacidos"] .thumb{background:var(--c-aminoacidos)}
.card[data-cat="quemadores"] .thumb{background:var(--c-quemadores)}
.card[data-cat="potenciadores"] .thumb{background:var(--c-potenciadores)}
.card[data-cat="salud"] .thumb{background:var(--c-salud)}
.card[data-cat="barritas"] .thumb{background:var(--c-barritas)}
.thumb img.pack{mix-blend-mode:multiply}
.cdot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.45rem;background:var(--dc,var(--line));vertical-align:.05em}
.chip[data-cat="proteina"]{--dc:var(--d-proteina)} .chip[data-cat="creatina"]{--dc:var(--d-creatina)} .chip[data-cat="rendimiento"]{--dc:var(--d-rendimiento)} .chip[data-cat="aminoacidos"]{--dc:var(--d-aminoacidos)}
.chip[data-cat="quemadores"]{--dc:var(--d-quemadores)} .chip[data-cat="potenciadores"]{--dc:var(--d-potenciadores)} .chip[data-cat="salud"]{--dc:var(--d-salud)} .chip[data-cat="barritas"]{--dc:var(--d-barritas)}
.chip[aria-pressed="true"] .cdot{background:#fff}

/* shared floating photo + chips */
.fcard{position:absolute;margin:0;aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;box-shadow:0 26px 50px -22px rgba(30,30,20,.45);border:6px solid #fff;background:#fff}
.fcard img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px}
.fchip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.05rem;background:#fff;border-radius:var(--r-pill);box-shadow:var(--shadow-up);font-weight:650;font-size:var(--t-sm);white-space:nowrap;animation:floatY 5s ease-in-out infinite alternate}
.fchip .i{color:var(--accent);width:20px;height:20px}

/* nutrition page */
.nhero{position:relative;overflow:hidden;background:linear-gradient(135deg,#e7ebd9 0%,#f2f1ea 55%,#f3ebdf 100%);isolation:isolate}
.nhero::before{content:"";position:absolute;z-index:-1;left:40%;top:-30%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0));animation:glow 15s ease-in-out infinite alternate}
.nhero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,88px)}
.nhero h1{font-size:clamp(2.4rem,5.4vw,4rem)}
.nhero .lead{margin-top:1rem;color:#4f534a;max-width:52ch}
.npills{list-style:none;margin:1.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.npills li{display:grid;gap:.1rem;padding:.75rem 1.15rem;background:var(--surface);border-radius:var(--r-in);box-shadow:var(--shadow)}
.npills b{font-weight:740;font-variation-settings:"ROND" 100;font-size:1.4rem;line-height:1.1;color:var(--accent-ink)}
.npills span{font-size:var(--t-xs);color:var(--muted)}
.nhero-art{position:relative;padding:0 0 14% 12%}
.nhero-art .moi-frame{aspect-ratio:4/3.3}
.fc-1{left:0;bottom:0;width:48%;rotate:-4deg}
.fc-2{right:-3%;top:9%}
.fc-3{right:5%;bottom:4%;animation-delay:-2.5s}
.ntl{list-style:none;margin:0 auto;padding:0;position:relative;display:grid;gap:clamp(32px,5vw,64px);max-width:1060px;--p:0}
.ntl::before,.ntl::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;border-radius:3px;background:var(--line)}
.ntl::after{background:var(--accent);transform-origin:top;transform:scaleY(var(--p))}
.ntl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,110px);align-items:center}
.ntl-item:nth-child(even) .ntl-media{order:2}
.ntl-media{aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}
.ntl-media img{width:100%;height:116%;margin-top:-8%;object-fit:cover;display:block}
.ntl-txt{display:grid;gap:.55rem;justify-items:start}
.ntl-n{position:absolute;left:50%;top:50%;z-index:1;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.15rem;box-shadow:0 0 0 7px var(--bg)}
.ntl .when{font-weight:700;color:var(--accent-ink);font-size:var(--t-sm);background:var(--accent-soft);padding:.28rem .75rem;border-radius:var(--r-pill)}
.ntl-txt h3{font-size:clamp(1.4rem,2.3vw,1.85rem);font-weight:690;font-variation-settings:"ROND" 80}
.ntl-txt p{color:var(--muted);max-width:46ch}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(240px,auto);gap:16px}
.bt{position:relative;border-radius:var(--r-card);overflow:hidden;min-height:240px;box-shadow:var(--shadow);background:#d9d6cc;isolation:isolate;margin:0}
.bt img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;z-index:-2;transition:scale 800ms var(--ease-out)}
.bt::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,22,16,0) 28%,rgba(20,22,16,.8) 100%)}
.bt-txt{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.4rem;display:grid;gap:.3rem}
.bt-txt h3{font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:690;color:#fff}
.bt-txt p{font-size:var(--t-sm);color:rgba(255,255,255,.9);max-width:42ch}
.bt-big{grid-column:span 2;grid-row:span 2}
.bt-prod{grid-column:span 2;background:linear-gradient(120deg,#e1e6cf,#f3efe6)}
.bt-prod::after{display:none}
.bt-prod img{left:auto;right:-2%;top:6%;width:66%;height:88%;object-fit:contain;object-position:right center}
.bt-prod .bt-txt{right:auto;width:46%;top:0;bottom:0;align-content:center}
.bt-prod .bt-txt h3{color:var(--fg)}
.bt-prod .bt-txt p{color:var(--muted)}
@media (hover:hover) and (pointer:fine){.bt:hover img{scale:1.05}}
.pricebar{background:var(--accent);color:#fff;position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(44px,6vw,72px)}
.pricebar::before{content:"";position:absolute;z-index:-1;right:-10%;top:-60%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.16),rgba(255,255,255,0));animation:glow 14s ease-in-out infinite alternate}
.pricebar-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,4vw,56px);align-items:center}
.pb-num{display:grid;gap:.35rem}
.pb-big{font-weight:760;font-variation-settings:"ROND" 100;font-size:clamp(4rem,9vw,6.6rem);line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pb-big small{font-size:.42em;margin-left:.08em}
.pb-lbl{font-weight:650;opacity:.85}
.pb-txt p{color:rgba(255,255,255,.94);max-width:46ch}
.pb-sat{margin-top:.6rem;font-size:var(--t-sm);opacity:.82}
.btn-white{background:#fff;border-color:#fff;color:var(--accent-ink)}
.btn-outline-w{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
@media (hover:hover) and (pointer:fine){.btn-white:hover{background:#f1f3ea;border-color:#f1f3ea}.btn-outline-w:hover{border-color:#fff;background:rgba(255,255,255,.1)}}
.who-sec{overflow:hidden}
.mq-who .mq-track{animation-duration:44s;padding-block:6px}
.mq-who+.mq-who{margin-top:10px}
.mq-chip{display:inline-flex;align-items:center;gap:.55rem;margin-inline:6px;padding:.85rem 1.35rem;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);font-weight:640;font-size:var(--t-md);white-space:nowrap;box-shadow:var(--shadow)}
.mq-chip .i{color:var(--accent);width:20px;height:20px}
.mq-who.mq-rev .mq-chip{background:var(--accent-soft);border-color:transparent;box-shadow:none;color:var(--accent-ink)}

/* about page */
.ahero{background:linear-gradient(135deg,#e7ebd9 0%,#f3f1ea 60%,#f3ebdf 100%);padding-block:clamp(40px,6vw,84px) clamp(32px,4vw,56px)}
.ahero-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,4vw,56px);align-items:end}
.ahero h1{font-size:clamp(2.4rem,5.6vw,4.3rem)}
.ahero .lead{color:#4f534a}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(28px,4vw,48px)}
.stat{background:var(--surface);border-radius:var(--r-card);padding:1.3rem 1.4rem 1.2rem;box-shadow:var(--shadow);display:grid;gap:.3rem}
.stat b{font-weight:770;font-variation-settings:"ROND" 100;font-size:clamp(2.3rem,4.6vw,3.5rem);line-height:1;letter-spacing:-.02em;color:var(--accent-ink)}
.stat b [data-i18n]{font-size:.42em;font-weight:650;letter-spacing:0;color:var(--muted)}
.stat>span{color:var(--muted);font-size:var(--t-sm)}
.story2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}
.story2-art{position:relative;padding:0 12% 16% 0}
.story2-art .portrait{aspect-ratio:4/4.5}
.fc-a{right:0;bottom:0;width:50%;rotate:3deg}
.fc-b{left:-4%;top:9%}
.story2-txt{display:grid;gap:1rem;justify-items:start}
.story2-txt .actions{margin-top:.5rem}
.htl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.htl li{background:var(--surface);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.htl-media{aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.htl-media img{width:100%;height:100%;object-fit:cover;display:block;transition:scale 700ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.htl li:hover .htl-media img{scale:1.05}}
.htl-txt{padding:1.25rem 1.4rem 1.45rem;display:grid;gap:.45rem}
.htl .yr{font-weight:790;font-variation-settings:"ROND" 100;font-size:2rem;color:var(--accent-ink);line-height:1}
.htl h3{font-size:var(--t-lg);font-weight:670}
.value{align-content:start}
.value .vi{width:54px;height:54px;border-radius:15px;background:var(--accent-soft);display:grid;place-items:center;margin-bottom:.65rem;transition:transform 300ms var(--ease-out)}
.value .vi .i{width:26px;height:26px;color:var(--accent-ink)}
@media (hover:hover) and (pointer:fine){.value:hover .vi{transform:rotate(-6deg) scale(1.07)}}

/* responsive for v6 */
@media (max-width:1060px){
  .visit2{grid-template-columns:1fr}
  .map-card{min-height:0}
  .facts4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story2,.nhero-in{grid-template-columns:1fr}
  .story2-art,.nhero-art{max-width:620px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ahero-top{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pricebar-in{grid-template-columns:1fr}
}
@media (max-width:860px){
  .hl{width:100%;margin-left:0}
  .cband-in{grid-template-columns:1fr}
  .cband-art{max-width:620px}
  .htl{grid-template-columns:1fr}
}
@media (max-width:760px){
  .goals{grid-template-columns:1fr}
  .ntl::before,.ntl::after{left:26px}
  .ntl-item{grid-template-columns:1fr;gap:1rem;padding-left:70px}
  .ntl-item:nth-child(even) .ntl-media{order:0}
  .ntl-n{left:26px;top:0;margin-top:0}
}
@media (max-width:640px){
  .goal{min-height:0}
  .goal .ph{width:36%}
  .goal .gtx{padding:1rem 1.05rem 1rem}
  .gp{width:52px;height:52px;border-radius:12px}
  .gprods{gap:8px;margin-top:.45rem}
  .mq-name{font-size:2.3rem}
  .mq-prods img{height:78px;margin-inline:16px}
  .facts4{grid-template-columns:1fr}
  .way{grid-template-columns:52px minmax(0,1fr);padding:.9rem 1rem}
  .wi{width:52px;height:52px;border-radius:14px}
  .bento{grid-template-columns:1fr}
  .bt-big,.bt-prod{grid-column:auto;grid-row:auto}
  .bt-prod{min-height:300px}
  .bt-prod img{width:100%;height:58%;top:4%;right:0;object-position:center}
  .bt-prod .bt-txt{width:auto;top:auto;bottom:0;right:0}
  .map-lbl,.map-road,.map-dir{display:none}
  .bt-big{min-height:300px}
  .fchip{font-size:var(--t-xs);padding:.55rem .85rem}
  .fc-2{right:0}
  .stats{gap:10px}
  .stat{padding:1rem 1.05rem}
  .mq-chip{font-size:var(--t-sm);padding:.7rem 1.1rem}
  .rec{grid-template-columns:72px minmax(0,1fr) auto}
  .rec-img{width:72px;height:72px}
}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important;transition:none!important}
  .mq-track,.hero-art .hl-p,.hero-art .hl-s,[data-float],.fchip,.map-pin .pulse,.map-pin .pin-b,.map-walk,.hero::after,.cband::before,.nhero::before,.pricebar::before{animation:none!important}
  .mq{overflow-x:auto}
}

/* =====================================================================
   v7 — motion graphics
   ===================================================================== */
/* scroll progress */
.sprog{position:fixed;left:0;right:0;top:0;height:3px;z-index:80;pointer-events:none}
.sprog span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#93a54a);transform-origin:left;transform:scaleX(0)}

/* word-by-word headline reveal */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em;position:relative}
.w>span{display:inline-block;transition:transform 900ms var(--ease-out) calc(var(--wi) * 60ms + var(--rvd,0ms))}
.rv:not(.in) .w>span{transform:translateY(110%)}
.rv.rv-w{opacity:1;transform:none}
.sec-head.c h2::after{transform-origin:center;transition:transform 900ms var(--ease-out) 300ms}
.sec-head.rv:not(.in) h2::after{transform:scaleX(0)}
.w.u{padding-bottom:.3em;margin-bottom:-.3em}
.w.u::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.1em;height:.22em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14 C 40 4, 80 4, 110 10 S 170 16, 197 6' fill='none' stroke='%235b6a2f' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;
  clip-path:inset(0 100% 0 0);animation:uline 900ms var(--ease-out) 1100ms forwards}
@keyframes uline{to{clip-path:inset(0 0 0 0)}}

/* hero rotating badge */
.hero-art{position:relative}
.spin-badge{position:absolute;z-index:3;width:clamp(92px,9vw,128px);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:var(--shadow-up);display:grid;place-items:center;transition:translate 900ms var(--ease-out)}
.spin-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 18s linear infinite}
.spin-badge text{font:800 10.5px var(--sans);letter-spacing:.06em;fill:var(--accent-ink)}
.sb-c{position:relative;font-weight:800;font-variation-settings:"ROND" 100;font-size:clamp(1.05rem,1.6vw,1.4rem);color:#fff;background:var(--accent);width:52%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;letter-spacing:-.02em}
.sb-hero{left:-2%;top:2%;animation:popIn 800ms var(--ease-out) 1000ms backwards}
.sb-cat{right:2%;top:-4%;animation:popIn 800ms var(--ease-out) 400ms backwards}
.cband-art{position:relative}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes popIn{from{opacity:0;scale:.4;rotate:-40deg}}

/* ticker band under the hero */
.ticker{background:var(--accent);color:#fff;overflow:hidden;padding-block:.85rem;position:relative;z-index:1}
.ticker .mq-track{animation:mq 36s linear infinite}
.tk{font-weight:700;font-variation-settings:"ROND" 80;font-size:clamp(1rem,1.5vw,1.2rem);white-space:nowrap;padding-inline:1.4rem;letter-spacing:.01em}
.tk-dot{width:10px;height:10px;flex:none;background:#c9d79a;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:spin 6s linear infinite}

/* soft sections: slow drifting light blobs */
section.soft{position:relative;isolation:isolate;overflow:hidden}
section.soft::before,section.soft::after{content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(10px)}
section.soft::before{width:46vw;max-width:640px;aspect-ratio:1;left:-12%;top:-20%;background:radial-gradient(closest-side,rgba(255,255,255,.75),rgba(255,255,255,0));animation:blobA 22s ease-in-out infinite alternate}
section.soft::after{width:40vw;max-width:560px;aspect-ratio:1;right:-10%;bottom:-25%;background:radial-gradient(closest-side,rgba(198,210,160,.55),rgba(198,210,160,0));animation:blobB 26s ease-in-out infinite alternate}
@keyframes blobA{to{translate:18vw 12vh;scale:1.15}}
@keyframes blobB{to{translate:-16vw -10vh;scale:1.2}}

/* 3D tilt on hover (desktop) */
@media (hover:hover) and (pointer:fine){
  .cat:hover,.goal:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px)}
  .bt,.htl li,.stat,.value{transition:transform 300ms var(--ease-out),box-shadow 300ms ease}
  .bt:hover,.htl li:hover,.stat:hover,.value:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);box-shadow:var(--shadow-up)}
}

/* buttons: shine sweep */
.btn-primary,.btn-white{position:relative;overflow:hidden;isolation:isolate}
.btn-primary::after,.btn-white::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);pointer-events:none}
@media (hover:hover) and (pointer:fine){.btn-primary:hover::after,.btn-white:hover::after{animation:shine 800ms var(--ease-out)}}
@keyframes shine{to{left:130%}}

/* WhatsApp bubble: pulse ring */
.fab{isolation:isolate}
.fab::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:var(--accent);animation:ring 2.6s var(--ease-out) infinite}
@keyframes ring{0%{opacity:.55;scale:1}100%{opacity:0;scale:1.35}}

/* trust strip icons */
.trust-in li .i{animation:popIn 700ms var(--ease-out) backwards}
.trust-in li:nth-child(2) .i{animation-delay:120ms}.trust-in li:nth-child(3) .i{animation-delay:240ms}.trust-in li:nth-child(4) .i{animation-delay:360ms}
@media (hover:hover){.trust-in li:hover .i{animation:wiggle 600ms var(--ease-out)}}
@keyframes wiggle{30%{rotate:-12deg}60%{rotate:8deg}}

/* how to book: travelling dashes + icons pop */
.how{position:relative}
.how li .i{transition:transform 500ms var(--ease-out)}
.how li.rv:not(.in) .i{transform:scale(.3) rotate(-30deg)}
@media (min-width:1061px){
  .how::before{content:"";position:absolute;left:12%;right:12%;top:50%;height:2px;z-index:-1;background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 18px);background-size:36px 2px;animation:dash 1.2s linear infinite;opacity:.45}
}
@keyframes dash{to{background-position:36px 0}}

/* gentle ken burns on photos */
.fcard img,.ntl-media img,.htl-media img{animation:kb 14s ease-in-out infinite alternate}
@keyframes kb{to{scale:1.08}}
.bt img{animation:kb 16s ease-in-out infinite alternate}

/* transit logos */
.wi-logo{background:#fff;border:1px solid var(--line);padding:6px}
.wi-logo img{width:100%;height:100%;object-fit:contain;display:block}
.wi-metro{padding:8px 6px}
.lines{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:.45rem}
.lines img{width:26px;height:26px;border-radius:5px;display:block}
.lines .lt{font-size:var(--t-xs);font-weight:650;color:var(--muted);letter-spacing:.02em}
.map-sub{font:650 13px var(--sans);fill:#6f9a1f}
.map-train{filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.way .wi{transition:transform 400ms var(--ease-out)}
@media (hover:hover){.way:hover .wi{transform:rotate(-6deg) scale(1.06)}}

/* counters pop */
.stat b,.pb-big{display:inline-block}

@media (max-width:860px){
  .sb-hero{left:0;top:-2%}
  .spin-badge{width:86px}
}
@media (prefers-reduced-motion:reduce){
  .w>span{transform:none!important;transition:none!important}
  .w.u::after{animation:none;clip-path:none}
  .spin-badge svg,.ticker .mq-track,.tk-dot,section.soft::before,section.soft::after,.fab::before,.trust-in li .i,.how::before,.fcard img,.ntl-media img,.htl-media img,.bt img,.sb-hero,.sb-cat{animation:none!important}
}

/* ---------- boletín (ventana) ---------- */
.nl{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:rgba(29,31,26,0);transition:background 260ms ease}
.nl.on{background:var(--scrim)}
.nl-card{position:relative;width:min(470px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);border-radius:20px;padding:28px 26px 22px;
  box-shadow:0 30px 70px -25px rgba(20,24,10,.45);display:grid;gap:12px;transform:translateY(16px);opacity:0;transition:transform 380ms var(--ease-out),opacity 260ms ease}
.nl.on .nl-card{transform:none;opacity:1}
.nl-x{position:absolute;top:14px;right:14px}
.nl-ico{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.nl-ico .i{width:22px;height:22px}
.nl h2{font-size:var(--t-xl);line-height:1.15;margin:0;padding-right:44px;font-weight:700;font-variation-settings:"ROND" 80}
.nl-p{margin:0;color:var(--muted)}
.nl-form{display:grid;gap:12px;background:none;border:0;box-shadow:none;padding:0;margin:0}
.nl .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:var(--t-sm);line-height:1.4}
.nl .check input{width:20px;height:20px;min-height:0;margin-top:1px;flex:none;accent-color:var(--accent)}
.nl-info{margin:0;font-size:.75rem;line-height:1.45;color:var(--muted)}
.nl-info a{color:var(--accent-ink)}
.nl-acts{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nl-later{background:none;border:0;font:inherit;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.5rem 0}
.nl-msg{margin:0;color:#9b2c1f;font-size:var(--t-sm)}
.nl-msg:empty{display:none}
.nl-done{display:grid;gap:14px;justify-items:start}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ftr-nl{background:none;border:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
.fm-info{margin:0;font-size:var(--t-xs);color:var(--muted);max-width:60ch}
.fm-info a{color:var(--accent-ink)}
.legal h3{font-size:var(--t-md);margin:1.4rem 0 .4rem}
.legal .legal-upd{font-size:var(--t-xs)}
@media (max-width:640px){
  .nl{place-items:end center;padding:0}
  .nl-card{width:100%;border-radius:20px 20px 0 0;padding:24px 18px calc(18px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.nl,.nl-card{transition:none}}
[hidden]{display:none!important}

/* =====================================================================
   v8 — logo, tres estéticas (tienda · pista · diario) y capa inmersiva
   ===================================================================== */
:root{
  --pv-ink:#192008; --pv-ink2:#212a0b; --pv-lime:#d4ef5a; --pv-chalk:#f1f3e7; --pv-chalk2:#e3e8d1; --pv-text:#4a5334; --pv-line:rgba(241,243,231,.1);
  --dv-paper:#f3eee5; --dv-card:#fffdf8; --dv-ink:#1c1c1e; --dv-sepia:#7d5f3d; --dv-text:#4c463d; --dv-line:rgba(28,28,30,.14); --dv-hi:#e8d5ad;
  --cond:"Archivo",var(--sans); --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- logo ---------- */
.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--fg);transition:translate 450ms var(--ease-out),color .3s}
.brand-m{width:50px;height:37.5px;flex:none;transition:transform 600ms var(--ease-out)}
.brand-w{width:146px;height:15.8px;flex:none}
@media (hover:hover){.brand:hover .brand-m{transform:rotate(-8deg) scale(1.08)}}
@media (max-width:420px){.brand-m{width:42px;height:31.5px}.brand-w{width:116px;height:12.6px}}
.ftr-logo{display:inline-flex;align-items:center;gap:clamp(12px,2vw,22px);color:var(--fg);text-decoration:none;max-width:100%}
.ftr-m{width:clamp(64px,7vw,92px);height:auto;aspect-ratio:420.8/315.4;flex:none}
.ftr-w{width:clamp(200px,34vw,440px);height:auto;aspect-ratio:402.4/43.4;max-width:calc(100% - 90px)}

/* ---------- intro con el logo ---------- */
.intro{position:fixed;inset:0;z-index:10000;background:#16181d;display:grid;place-items:center;color:#fff;clip-path:inset(0 0 0 0);transition:clip-path 850ms cubic-bezier(.76,0,.24,1);cursor:pointer}
.intro.out{clip-path:inset(0 0 100% 0)}
.intro-in{display:grid;justify-items:center;gap:22px;width:min(68vw,400px)}
.intro-m{width:100%;height:auto;aspect-ratio:420.8/315.4;overflow:visible}
.intro-m path{fill:#fff;fill-opacity:0;stroke:#d4ef5a;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;animation:introDraw 1100ms cubic-bezier(.65,0,.35,1) 100ms forwards,introFill 500ms ease 1050ms forwards}
.intro-w{width:100%;height:auto;aspect-ratio:402.4/43.4;color:#fff;clip-path:inset(0 100% 0 0);animation:introWord 700ms var(--ease-out) 1150ms forwards}
.intro-bar{width:110px;height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.intro-bar i{display:block;height:100%;background:#d4ef5a;transform-origin:left;animation:introBar 2100ms linear forwards}
.intro.out .intro-in{transition:translate 850ms cubic-bezier(.76,0,.24,1),opacity 600ms;translate:0 -40px;opacity:0}
@keyframes introDraw{to{stroke-dashoffset:0}}
@keyframes introFill{to{fill-opacity:1;stroke-opacity:0}}
@keyframes introWord{to{clip-path:inset(0 0 0 0)}}
@keyframes introBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html.intro-on{overflow:hidden}
html.intro-on .hero *{animation-play-state:paused!important}

/* ---------- cursor propio ---------- */
.cur,.cur-r{position:fixed;left:0;top:0;z-index:9990;pointer-events:none;opacity:0;transition:opacity .25s}
html.cur-on .cur,html.cur-on .cur-r{opacity:1}
html.cur-on.cur-text .cur,html.cur-on.cur-text .cur-r{opacity:0}
.cur{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--cur-c,var(--accent))}
.cur-r{width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1.5px solid var(--cur-c,var(--accent));display:grid;place-items:center;
  transition:opacity .25s,width .4s var(--ease-out),height .4s var(--ease-out),margin .4s var(--ease-out),background-color .3s,border-color .3s,border-radius .4s,scale .25s}
.cur-r b{font:700 13px/1 var(--sans);letter-spacing:.02em;color:var(--cur-t,#fff);opacity:0;scale:.4;transition:opacity .2s,scale .35s var(--ease-out);white-space:nowrap}
html.cur-hover .cur-r{width:60px;height:60px;margin:-30px 0 0 -30px;background:color-mix(in srgb,var(--cur-c,var(--accent)) 14%,transparent)}
html.cur-label .cur-r{width:86px;height:86px;margin:-43px 0 0 -43px;background:var(--cur-c,var(--accent));border-color:var(--cur-c,var(--accent))}
html.cur-label .cur-r b{opacity:1;scale:1}
html.cur-label .cur{opacity:0}
html.cur-down .cur-r{scale:.82}
@media (hover:hover) and (pointer:fine){html.cur-on,html.cur-on *{cursor:none!important}html.cur-on :is(input,textarea,select,[contenteditable]){cursor:auto!important}}
body[data-theme="pista"] .cur,body[data-theme="pista"] .cur-r{--cur-c:#fff;mix-blend-mode:difference;border-radius:0}
html.cur-label body[data-theme="pista"] .cur-r{mix-blend-mode:normal;--cur-c:var(--pv-lime);--cur-t:var(--pv-ink);border-radius:0}
body[data-theme="pista"] .cur-r b{font:800 12px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase}
body[data-theme="diario"] .cur,body[data-theme="diario"] .cur-r{--cur-c:var(--dv-ink);--cur-t:var(--dv-paper)}
body[data-theme="diario"] .cur-r b{font:600 14px/1 var(--serif)}

/* ---------- botones magnéticos ---------- */
.btn{transition:transform 160ms var(--ease-out),background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease,translate 450ms var(--ease-out)}
.fab{transition:transform 160ms var(--ease-out),translate 450ms var(--ease-out)}
.lang button{transition:translate 450ms var(--ease-out),background-color .2s,color .2s}

/* ---------- brillo y relieve que siguen al ratón ---------- */
@media (hover:hover) and (pointer:fine){
  .card,.cat,.goal,.rec,.way,.f4{position:relative}
  .card.is-hot,.cat.is-hot,.goal.is-hot,.rec.is-hot,.way.is-hot,.f4.is-hot{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);box-shadow:var(--shadow-up)}
  .card::after,.cat::after,.goal::after,.rec::after,.way::after,.f4::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
    background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),rgba(255,255,255,0) 45%);opacity:0;transition:opacity .35s;mix-blend-mode:soft-light}
  .card.is-hot::after,.cat.is-hot::after,.goal.is-hot::after,.rec.is-hot::after,.way.is-hot::after,.f4.is-hot::after{opacity:1}
  .card.is-hot .thumb img{translate:var(--px,0) var(--py,0);transform:scale(1.08)}
  .cat.is-hot .ph img,.goal.is-hot .ph img{translate:var(--px,0) var(--py,0)}
  .thumb img,.cat .ph img,.goal .ph img{transition:transform 450ms var(--ease-out),translate 300ms var(--ease-out)}
}

/* ---------- estela de productos ---------- */
[data-trail]{position:relative}
.trail{position:absolute;z-index:4;height:clamp(90px,10vw,140px);width:auto;pointer-events:none;translate:-50% -50%;filter:drop-shadow(0 14px 14px rgba(40,36,28,.22));animation:trail 1150ms var(--ease-out) forwards}
@keyframes trail{0%{opacity:0;transform:scale(.2) rotate(var(--tr))}18%{opacity:1;transform:scale(1) rotate(var(--tr))}100%{opacity:0;transform:translateY(40px) scale(.8) rotate(calc(var(--tr) * -1))}}

/* =====================================================================
   ESTÉTICA «PISTA» — Preparación (servicio)
   ===================================================================== */
.pv{background:var(--pv-chalk);color:var(--pv-ink)}
.pv section{padding-block:clamp(64px,8vw,120px)}
.pv-eb{display:inline-flex;align-items:center;gap:.6rem;font:700 .78rem/1.2 var(--cond);font-stretch:112%;letter-spacing:.14em;text-transform:uppercase;color:var(--pv-lime);margin-bottom:1.1rem}
.pv-dot{width:9px;height:9px;background:var(--pv-lime);rotate:45deg;flex:none;animation:pvBlink 1.4s steps(2) infinite}
@keyframes pvBlink{50%{opacity:.25}}
.pv-sub{font:800 clamp(1.05rem,2.1vw,1.6rem)/1.1 var(--cond);font-stretch:125%;text-transform:uppercase;letter-spacing:.01em;color:var(--pv-lime);margin-bottom:1rem}
.pv-lanes{position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),var(--pv-line) calc(12.5% - 1px) 12.5%)}

/* botones con esquinas cortadas */
.pbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:.8rem 1.45rem;font:800 .92rem/1 var(--cond);font-stretch:110%;letter-spacing:.07em;text-transform:uppercase;
  text-decoration:none;border:2px solid currentColor;overflow:hidden;isolation:isolate;cursor:pointer;white-space:nowrap;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));transition:color .3s,border-color .3s,translate 450ms var(--ease-out)}
.pbtn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--pv-chalk);transform:scaleX(0);transform-origin:right;transition:transform 450ms var(--ease-out)}
.pbtn .i{transition:transform .35s var(--ease-out)}
.pbtn-lime{background:var(--pv-lime);border-color:var(--pv-lime);color:var(--pv-ink)}
.pbtn-line{background:transparent;color:var(--pv-chalk);border-color:rgba(241,243,231,.5)}
.pbtn-xl{min-height:64px;padding:1rem 1.9rem;font-size:1.05rem}
@media (hover:hover){
  .pbtn:hover::before{transform:scaleX(1);transform-origin:left}
  .pbtn:hover{color:var(--pv-ink);border-color:var(--pv-chalk)}
  .pbtn:hover .i{transform:translateX(3px)}
}

/* hero */
.pv-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--pv-ink);color:var(--pv-chalk);padding:clamp(44px,6vw,88px) 0 0!important;min-height:min(90vh,860px);display:flex;flex-direction:column}
.pv-hero-bg{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;opacity:.3;z-index:-3}
.pv-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--pv-ink) 0%,rgba(25,32,8,.86) 42%,rgba(25,32,8,.3) 100%)}
.pv-mark{position:absolute;right:-7%;top:4%;width:min(64vw,840px);height:auto;aspect-ratio:420.8/315.4;fill:none;stroke:rgba(212,239,90,.2);stroke-width:1.1;z-index:-1;transition:translate 1.2s var(--ease-out);pointer-events:none}
.pv-hero-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,4vw,56px);align-items:end;flex:1;padding-bottom:clamp(48px,6vw,84px)}
.pv-title{font-family:var(--cond);font-weight:900;font-stretch:66%;font-size:clamp(4rem,12.6vw,12rem);line-height:.82;letter-spacing:-.005em;text-transform:uppercase;margin:0 0 .14em;color:var(--pv-chalk);white-space:nowrap}
.kl{display:inline-block;--k:0;transform:translateY(calc(var(--k) * -.09em)) scaleY(calc(1 + var(--k) * .16));transform-origin:50% 100%;
  color:color-mix(in srgb,var(--pv-lime) calc(var(--k) * 100%),var(--pv-chalk));transition:transform .55s var(--ease-out),color .35s;
  animation:klIn 900ms var(--ease-out) backwards;animation-delay:calc(var(--i) * 45ms + 120ms)}
@keyframes klIn{from{transform:translateY(40%);opacity:0}}
@media (hover:none){.kl{animation:klIn 900ms var(--ease-out) backwards,klWave 5s ease-in-out infinite;animation-delay:calc(var(--i) * 45ms + 120ms),calc(var(--i) * 120ms + 1.6s)}}
@keyframes klWave{0%,30%,100%{color:var(--pv-chalk)}15%{color:var(--pv-lime)}}
.pv-lead{max-width:50ch;color:rgba(241,243,231,.82);font-size:var(--t-lg);line-height:1.55}
.pv-hero-art{position:relative;align-self:stretch;min-height:360px}
.pv-photo{position:absolute;inset:4% 2% 0 10%;clip-path:polygon(16% 0,100% 0,84% 100%,0 100%);transition:translate 1s var(--ease-out)}
.pv-photo.moi,.pv-teaser .moi{background:linear-gradient(160deg,#2f3a12,#1b2309);outline:none}
.pv-photo .moi-ph b{color:var(--pv-chalk);font-family:var(--cond);font-stretch:90%;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.pv-photo .moi-ph small{color:rgba(241,243,231,.6)}
.pv-photo .moi-ph .ico{background:var(--pv-lime);border-radius:0;box-shadow:none}
.pv-photo .moi-ph .ico .i{color:var(--pv-ink)}
.pv-tag{position:absolute;z-index:2;display:grid;gap:.2rem;padding:.8rem 1rem .85rem;background:var(--pv-lime);color:var(--pv-ink);font-family:var(--cond);transition:translate 1s var(--ease-out);box-shadow:0 18px 30px -16px rgba(0,0,0,.55)}
.pv-tag b{font-weight:900;font-stretch:78%;font-size:2rem;line-height:.9;text-transform:uppercase}
.pv-tag span{font-weight:700;font-stretch:110%;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.pv-tag-1{left:0;bottom:14%}
.pv-tag-2{right:0;top:10%;background:var(--pv-chalk)}
.pv-tick{position:relative;z-index:2;background:var(--pv-lime);color:var(--pv-ink);padding-block:.85rem;rotate:-1.4deg;margin:0 -3% -.7rem;overflow:hidden}
.pv-tick .mq-track{animation:mq 26s linear infinite}
.ptk{font:900 clamp(1.1rem,2vw,1.55rem)/1 var(--cond);font-stretch:74%;text-transform:uppercase;letter-spacing:.02em;padding-inline:1.1rem;white-space:nowrap}
.ptk-d{width:11px;height:11px;background:var(--pv-ink);rotate:45deg;flex:none}

/* cabeceras de sección */
.pv-head{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1.1rem;align-items:start;margin-bottom:clamp(28px,4vw,52px);max-width:940px}
.pv-num{font:800 .82rem/1 var(--cond);font-stretch:125%;letter-spacing:.08em;padding:.45rem .55rem;background:var(--pv-ink);color:var(--pv-lime);margin-top:.55em}
.pv-h2{font-family:var(--cond);font-weight:900;font-stretch:70%;font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:.9;text-transform:uppercase;margin:0}
.pv-hp{grid-column:2;margin-top:1rem;max-width:56ch;color:var(--pv-text);font-size:var(--t-lg)}

/* dos caminos */
.pv-split{display:flex;gap:14px;min-height:540px}
a.pv-path{text-decoration:none}
.pv-path:focus-visible{outline:3px solid var(--pv-chalk);outline-offset:-6px}
.pv-path{position:relative;flex:1 1 0;min-width:0;overflow:hidden;isolation:isolate;background:var(--pv-ink);color:var(--pv-chalk);display:flex;align-items:flex-end;margin:0;
  transition:flex-grow 700ms var(--ease-out);clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}
.pv-path>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55;transform:scale(1.06) translate(var(--px,0),var(--py,0));transition:transform .9s var(--ease-out),opacity .6s}
.pv-path::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,32,8,.05) 15%,rgba(25,32,8,.94) 100%)}
.pv-path::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(212,239,90,.35),transparent 60%);opacity:0;transition:opacity .4s;mix-blend-mode:screen}
.pv-path.is-hot::before{opacity:1}
.pv-path-in{padding:clamp(22px,3vw,40px);display:grid;gap:.8rem;max-width:540px}
.pv-k{position:absolute;top:16px;right:24px;font:900 clamp(5rem,10vw,8.5rem)/.8 var(--cond);font-stretch:62%;color:transparent;-webkit-text-stroke:2px var(--pv-lime);transition:color .5s}
.pv-path h3{font:900 clamp(2.4rem,5vw,4.2rem)/.9 var(--cond);font-stretch:68%;text-transform:uppercase}
.pv-path p{color:rgba(241,243,231,.86);max-width:46ch}
.pv-go{display:inline-flex;align-items:center;gap:.5rem;margin-top:.4rem;font:800 .95rem/1 var(--cond);font-stretch:100%;letter-spacing:.04em;text-transform:uppercase;color:var(--pv-chalk)}
.pv-go .i{width:1.15em;height:1.15em}
.pv-go .i:last-child{transition:transform .3s var(--ease-out)}
.pv-path:hover .pv-go .i:last-child,.pv-path:focus-visible .pv-go .i:last-child{transform:translateX(4px)}
.pv-chips{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pv-chips li{font:700 .74rem/1 var(--cond);font-stretch:110%;letter-spacing:.08em;text-transform:uppercase;padding:.55rem .7rem;border:1.5px solid rgba(212,239,90,.6);color:var(--pv-lime)}
@media (hover:hover) and (pointer:fine){
  .pv-split:hover .pv-path{flex-grow:.8}
  .pv-split .pv-path:hover{flex-grow:1.4}
  .pv-path:hover>img{opacity:.85;transform:scale(1.12) translate(var(--px,0),var(--py,0))}
  .pv-path:hover .pv-k{color:var(--pv-lime)}
}

/* método */
.pv-method{position:relative;z-index:1;background:var(--pv-ink);color:var(--pv-chalk);--cut:clamp(24px,4vw,64px);clip-path:polygon(0 var(--cut),100% 0,100% calc(100% - var(--cut)),0 100%);
  margin-block:calc(var(--cut) * -1);padding-block:calc(clamp(64px,8vw,120px) + var(--cut))!important}
.pv-method .pv-num{background:var(--pv-lime);color:var(--pv-ink)}
.pv-method .pv-hp,.pv-who .pv-hp{color:rgba(241,243,231,.74)}
.pv-who .pv-num{background:var(--pv-lime);color:var(--pv-ink)}
.pv-track{height:4px;background:rgba(241,243,231,.12);margin-bottom:clamp(24px,3vw,40px)}
.pv-track span{display:block;height:100%;background:var(--pv-lime);transform-origin:left;transform:scaleX(0)}
.pv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.pv-step{position:relative;display:grid;gap:.65rem;align-content:start}
.pv-step-img{position:relative;aspect-ratio:4/3;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,18px 100%,0 calc(100% - 18px));margin-bottom:.35rem}
.pv-step-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.pv-step-n{position:absolute;right:10px;top:8px;z-index:1;font:900 clamp(3.2rem,5.6vw,5rem)/.8 var(--cond);font-stretch:62%;color:transparent;-webkit-text-stroke:1.5px var(--pv-lime);pointer-events:none;transition:color .4s}
.pv-when{justify-self:start;font:800 .72rem/1 var(--cond);font-stretch:115%;letter-spacing:.1em;text-transform:uppercase;background:var(--pv-lime);color:var(--pv-ink);padding:.45rem .6rem}
.pv-step h3{font:900 clamp(1.5rem,2.3vw,2rem)/.95 var(--cond);font-stretch:76%;text-transform:uppercase}
.pv-step p{color:rgba(241,243,231,.74);font-size:var(--t-sm)}
@media (hover:hover){.pv-step:hover .pv-step-img img{transform:scale(1.08)}.pv-step:hover .pv-step-n{color:var(--pv-lime)}}

/* qué incluye */
.pv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--pv-ink);border:2px solid var(--pv-ink)}
.pv-tile{position:relative;overflow:hidden;isolation:isolate;background:var(--pv-chalk);padding:clamp(24px,3.4vw,44px);padding-top:clamp(96px,10vw,120px);min-height:260px;display:grid;align-content:end;gap:.6rem;margin:0;transition:background-color .4s}
.pv-ti{position:absolute;top:clamp(22px,3vw,34px);left:clamp(24px,3.4vw,44px);width:52px;height:52px;display:grid;place-items:center;background:var(--pv-ink);color:var(--pv-lime);transition:transform .5s var(--ease-out)}
.pv-ti .i{width:24px;height:24px}
.pv-tile h3{font:900 clamp(1.7rem,3vw,2.6rem)/.92 var(--cond);font-stretch:72%;text-transform:uppercase;max-width:16ch}
.pv-tile p{color:var(--pv-text);max-width:42ch}
.pv-reveal{position:absolute;z-index:3;left:var(--mx,70%);top:var(--my,40%);width:clamp(170px,19vw,250px);aspect-ratio:4/3;background:center/cover no-repeat;translate:-30% -112%;scale:0;rotate:-5deg;
  transition:scale .5s var(--ease-out),left .45s var(--ease-out),top .45s var(--ease-out);pointer-events:none;box-shadow:0 24px 40px -20px rgba(0,0,0,.55);border:4px solid var(--pv-chalk)}
.pv-reveal-p{background-size:contain;background-color:var(--pv-chalk2)}
@media (hover:hover) and (pointer:fine){
  .pv-tile.is-hot{background:var(--pv-lime)}
  .pv-tile.is-hot .pv-reveal{scale:1}
  .pv-tile.is-hot .pv-ti{transform:rotate(-12deg) scale(1.1)}
}
@media (hover:none){.pv-reveal{scale:1;left:auto;top:clamp(20px,3vw,30px);right:clamp(20px,3vw,30px);translate:none;rotate:4deg;width:120px;border-width:3px}}

/* marcador */
.pv-score{background:var(--pv-lime);color:var(--pv-ink);padding-block:clamp(48px,6vw,84px)!important}
.pv-score-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--pv-ink);border-bottom:2px solid var(--pv-ink)}
.pv-sc{display:grid;gap:.5rem;align-content:start;padding:clamp(18px,2.4vw,30px) clamp(12px,2vw,24px);border-left:2px solid var(--pv-ink);transition:background-color .3s,color .3s}
.pv-sc:first-child{border-left:0}
.pv-sc b{font:900 clamp(2.8rem,6.2vw,5.4rem)/.85 var(--cond);font-stretch:64%;display:flex;align-items:baseline;white-space:nowrap}
.pv-sc small{font-size:.3em;font-stretch:110%;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-left:.3em}
.pv-sc>span{font:700 .78rem/1.3 var(--cond);font-stretch:110%;letter-spacing:.08em;text-transform:uppercase}
.pv-sc.is-hot{background:var(--pv-ink);color:var(--pv-lime)}
.pv-sat{display:flex;align-items:center;gap:.6rem;margin-top:1.2rem;font-weight:650}

/* para quién */
.pv-who{background:var(--pv-ink);color:var(--pv-chalk);overflow:hidden}
.pv-bigmq .mq-track{animation-duration:34s}
.pv-bigmq+.pv-bigmq{margin-top:.2rem}
.bq{font:900 clamp(3rem,8.6vw,7.6rem)/1.02 var(--cond);font-stretch:64%;text-transform:uppercase;white-space:nowrap;padding-inline:clamp(14px,2vw,28px);color:transparent;-webkit-text-stroke:1.5px rgba(241,243,231,.5);transition:color .25s,-webkit-text-stroke-color .25s}
.pv-bigmq.mq-rev .bq{color:var(--pv-chalk);-webkit-text-stroke-color:transparent}
.bq:hover,.pv-bigmq.mq-rev .bq:hover{color:var(--pv-lime);-webkit-text-stroke-color:var(--pv-lime)}
.bq-d{width:16px;height:16px;background:var(--pv-lime);rotate:45deg;flex:none}

/* llamada final */
.pv-cta{position:relative;overflow:hidden;isolation:isolate;background:var(--pv-ink);color:var(--pv-chalk);padding-block:clamp(90px,12vw,170px)!important}
.pv-cta-bg{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;z-index:-2;opacity:.8}
.pv-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,32,8,.96) 0%,rgba(25,32,8,.72) 46%,rgba(25,32,8,.08) 100%)}
.pv-cta-t{font:900 clamp(3.6rem,10.5vw,9.6rem)/.82 var(--cond);font-stretch:64%;text-transform:uppercase;margin:0 0 1rem;color:var(--pv-lime)}
.pv-cta-p{max-width:48ch;color:rgba(241,243,231,.85);font-size:var(--t-lg)}

/* preguntas */
.pv .faq{gap:0}
.pv .faq details{border:0;border-top:2px solid var(--pv-ink);border-radius:0;background:transparent;padding-inline:0}
.pv .faq details:last-child{border-bottom:2px solid var(--pv-ink)}
.pv .faq summary{font:800 clamp(1.05rem,1.6vw,1.3rem)/1.2 var(--cond);font-stretch:96%;padding-block:1.2rem}
.pv .faq summary .i{color:var(--pv-ink);background:var(--pv-lime);width:30px;height:30px;padding:6px;flex:none}
.pv .faq details p{color:var(--pv-text)}

/* bloque Preparación en Inicio */
.pv-teaser{position:relative;overflow:hidden;isolation:isolate;background:var(--pv-ink);color:var(--pv-chalk);--cut:clamp(20px,3vw,48px);clip-path:polygon(0 0,100% var(--cut),100% 100%,0 calc(100% - var(--cut)));padding-block:calc(clamp(56px,7vw,96px) + var(--cut))}
.pvt-bg{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;opacity:.26;z-index:-2}
.pvt-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.pvt-t{font:900 clamp(3.4rem,8.6vw,7.6rem)/.84 var(--cond);font-stretch:64%;text-transform:uppercase;margin:0 0 .12em}
.pvt-p{color:rgba(241,243,231,.84);max-width:50ch}
.pvt-list{list-style:none;margin:1.4rem 0 0;padding:0;border-top:1px solid rgba(241,243,231,.16)}
.pvt-list li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(241,243,231,.16);font-size:var(--t-sm);color:rgba(241,243,231,.78)}
.pvt-list b{font:800 .78rem/1.5 var(--cond);font-stretch:112%;letter-spacing:.08em;text-transform:uppercase;color:var(--pv-lime)}
.pvt-media{position:relative;aspect-ratio:4/4.3;max-height:560px}
.pvt-media .pv-photo{inset:0 0 0 6%}

/* cabecera y elementos fijos en la estética «pista» */
body[data-theme="pista"]{background:var(--pv-chalk)}
body[data-theme="pista"] .topbar,body[data-theme="diario"] .topbar{display:none}
body[data-theme="pista"] .hdr{background:rgba(25,32,8,.95);border-bottom-color:rgba(241,243,231,.1)}
body[data-theme="pista"] .brand{color:var(--pv-chalk)}
body[data-theme="pista"] .nav a{color:rgba(241,243,231,.72);border-radius:0;font-family:var(--cond);font-stretch:108%;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
body[data-theme="pista"] .nav a:hover{color:var(--pv-chalk);background:rgba(241,243,231,.08)}
body[data-theme="pista"] .nav a[aria-current="page"]{color:var(--pv-ink);background:var(--pv-lime)}
body[data-theme="pista"] .lang{background:rgba(241,243,231,.1);border-radius:0}
body[data-theme="pista"] .lang button{color:rgba(241,243,231,.72);border-radius:0}
body[data-theme="pista"] .lang button[aria-pressed="true"]{background:var(--pv-lime);color:var(--pv-ink);box-shadow:none}
body[data-theme="pista"] .hdr-wa{background:var(--pv-lime);border-color:var(--pv-lime);color:var(--pv-ink);border-radius:0}
body[data-theme="pista"] .menu-btn{background:transparent;color:var(--pv-chalk);border-color:rgba(241,243,231,.3);border-radius:0}
body[data-theme="pista"] .fab,body[data-theme="pista"] .fab::before{background:var(--pv-lime);color:var(--pv-ink);border-radius:0}
body[data-theme="pista"] .sprog span{background:var(--pv-lime)}
@media (max-width:960px){body[data-theme="pista"] .nav{background:var(--pv-ink);border-bottom-color:rgba(241,243,231,.1)}}

/* =====================================================================
   ESTÉTICA «DIARIO» — Sobre nosotros (Moisés)
   ===================================================================== */
.dv,.dv-teaser{background:var(--dv-paper) var(--noise);color:var(--dv-ink)}
.dv section{padding-block:clamp(64px,8vw,120px)}
.dv-eb{display:flex;align-items:center;gap:.8rem;font:600 .76rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dv-sepia)}
.dv-eb-l{flex:0 0 44px;height:1px;background:currentColor}
.dv-h2{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1;letter-spacing:-.03em;margin:0 0 clamp(32px,5vw,60px)}

/* hero */
.dv-hero{overflow:hidden;padding-block:clamp(40px,6vw,88px) clamp(56px,7vw,100px)!important}
.dv-hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,5vw,72px);align-items:center}
.dv-name{font-family:var(--serif);font-weight:600;font-size:clamp(5rem,14.5vw,12.5rem);line-height:.86;letter-spacing:-.045em;margin:.28em 0 .14em;animation:dvName 1.1s var(--ease-out) .1s backwards}
@keyframes dvName{from{clip-path:inset(0 0 100% 0);translate:0 .25em}to{clip-path:inset(-20% 0 -20% 0)}}
.dv-role{font:600 clamp(1.2rem,2vw,1.55rem)/1.25 var(--serif);color:var(--dv-sepia);max-width:26ch}
.dv-lead{margin-top:1.3rem;font-size:var(--t-lg);line-height:1.6;max-width:44ch;color:var(--dv-text)}
.dv-down{margin-top:2rem;display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid var(--dv-ink);color:var(--dv-ink);transition:background-color .3s,color .3s,translate 450ms var(--ease-out)}
.dv-down .i{rotate:90deg}
.dv-down:hover{background:var(--dv-ink);color:var(--dv-paper)}
.dv-board{position:relative;min-height:clamp(440px,46vw,620px)}
.dv-hint{position:absolute;left:0;top:-4%;display:flex;gap:.45rem;align-items:center;font:600 1rem/1 var(--serif);color:var(--dv-sepia);rotate:-4deg}
@media (hover:none){.dv-hint{display:none}}

/* polaroids */
.pol{position:absolute;margin:0;background:var(--dv-card);padding:12px 12px 50px;box-shadow:0 1px 2px rgba(40,30,20,.12),0 22px 40px -18px rgba(40,30,20,.45);
  rotate:calc(var(--r,0deg) + var(--dr,0deg));transition:rotate .5s var(--ease-out),box-shadow .4s,scale .4s var(--ease-out)}
.pol::before{content:"";position:absolute;top:-12px;left:50%;width:86px;height:24px;translate:-50% 0;rotate:-4deg;background:rgba(232,213,173,.78);box-shadow:0 1px 2px rgba(0,0,0,.08);z-index:1}
.pol figcaption{position:absolute;left:14px;right:14px;bottom:15px;font:600 1rem/1.2 var(--serif);color:#4b3b28;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pol-ph{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden}
.pol-ph.moi{background:linear-gradient(150deg,#e6dcc9,#d3c4aa);outline:none}
.pol .moi-ph{gap:.3rem;padding:.8rem}
.pol .moi-ph small{display:none}
.pol .moi-ph b{font:600 .95rem/1.2 var(--serif);color:#5a4a36}
.pol .moi-ph .ico{width:46px;height:46px;background:rgba(255,253,248,.7);box-shadow:none;margin-bottom:.2rem}
.pol .moi-ph .ico .i{color:var(--dv-sepia);width:22px;height:22px}
.pol-main{width:54%;left:18%;top:5%;z-index:2}
.pol-2{width:36%;right:0;top:0;z-index:3}
.pol-3{width:35%;left:0;bottom:0;z-index:4}
.pol.dragging{scale:1.05;box-shadow:0 44px 64px -26px rgba(40,30,20,.6);transition:rotate .2s,box-shadow .3s,scale .3s}
@media (hover:hover) and (pointer:fine){.pol.is-hot:not(.dragging){rotate:calc(var(--r,0deg) * .3);scale:1.025}}
.dv-stamp{position:absolute;right:4%;bottom:0;z-index:5;width:clamp(108px,11vw,148px);aspect-ratio:1;display:grid;place-items:center;color:var(--dv-sepia);pointer-events:none}
.dv-stamp::before{content:"";position:absolute;inset:19%;border:1.5px solid currentColor;border-radius:50%}
.dv-stamp-t{position:absolute;inset:0;width:100%;height:100%}
.dv-stamp-t text{font:700 9.4px var(--sans);letter-spacing:.12em;fill:currentColor}
.dv-stamp-m{width:40%;height:auto;aspect-ratio:420.8/315.4;color:var(--dv-ink)}

/* historia que se ilumina con el scroll */
.dv-story{padding-block:clamp(40px,6vw,80px) clamp(64px,9vw,130px)!important}
.dv-big{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,3.5vw,3.2rem);line-height:1.22;letter-spacing:-.018em;max-width:30ch;margin-inline:auto;text-wrap:pretty}
.sw{transition:opacity .25s linear}

/* trayectoria */
.dv-tl{position:relative;display:grid;gap:clamp(44px,7vw,104px);padding-block:12px}
.dv-path{position:absolute;left:50%;top:0;width:110px;height:100%;translate:-50% 0;overflow:visible;pointer-events:none}
.dv-path path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.dv-path-bg{stroke:rgba(125,95,61,.28);stroke-dasharray:4 7}
.dv-path-fg{stroke:var(--dv-sepia);stroke-dasharray:1;stroke-dashoffset:1}
.dv-ms{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(80px,11vw,170px);align-items:center}
.dv-ms::before{content:"";position:absolute;left:50%;top:50%;z-index:1;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--dv-paper);border:2px solid var(--dv-sepia);transition:background-color .4s,scale .4s var(--ease-out)}
.dv-ms.lit::before{background:var(--dv-sepia);scale:1.2}
.dv-ms-txt{display:grid;gap:.55rem;max-width:440px;justify-self:start}
.dv-ms:nth-of-type(odd) .dv-ms-txt{justify-self:end;text-align:right}
.dv-ms:nth-of-type(even) .dv-ms-txt{order:2}
.dv-ms:nth-of-type(odd)>:not(.dv-ms-txt){justify-self:start}
.dv-ms:nth-of-type(even)>:not(.dv-ms-txt){justify-self:end}
.dv-yr{font:600 clamp(2.6rem,5vw,4rem)/1 var(--serif);color:var(--dv-sepia);letter-spacing:-.02em}
.dv-ms h3{font:600 clamp(1.3rem,2vw,1.7rem)/1.2 var(--serif)}
.dv-ms p{color:var(--dv-text)}
.pol-s{position:relative;width:min(100%,270px)}
.dv-note{position:relative;width:min(100%,240px);padding:1.5rem 1.5rem 1.4rem;background:#f4e6c3;rotate:var(--r);box-shadow:0 18px 30px -18px rgba(40,30,20,.5);display:grid;gap:.35rem}
.dv-note b{font:600 3.2rem/1 var(--serif);letter-spacing:-.03em}
.dv-note b [data-i18n]{font-size:.4em;letter-spacing:0;color:var(--dv-sepia)}
.dv-note>span{font:600 1rem/1.2 var(--serif);color:var(--dv-sepia)}
.dv-note i{position:absolute;top:-10px;left:50%;width:70px;height:22px;translate:-50% 0;rotate:3deg;background:rgba(255,253,248,.7)}

/* lo que ha conseguido */
.dv-nums{border-top:1px solid var(--dv-line)}
.dv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1.5px solid var(--dv-ink)}
.dv-grid>div{display:grid;gap:.4rem;align-content:start;padding:1.4rem 1.2rem 1.6rem;border-left:1px solid var(--dv-line)}
.dv-grid>div:first-child{border-left:0;padding-left:0}
.dv-grid dt{font:600 clamp(3rem,6.2vw,5.4rem)/.95 var(--serif);letter-spacing:-.045em}
.dv-grid dt small{font-size:.3em;letter-spacing:0;color:var(--dv-sepia)}
.dv-grid dd{margin:0;color:var(--dv-text)}
.dv-facts{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dv-facts li{display:flex;gap:.6rem;align-items:flex-start;font:600 1.05rem/1.3 var(--serif);padding:1rem 1.05rem;border:1px dashed rgba(125,95,61,.5);border-radius:8px}
.dv-facts .i{color:var(--dv-sepia);margin-top:.1em}

/* cita con foco que sigue al ratón */
.dv-quote{position:relative;overflow:hidden;isolation:isolate;background:var(--dv-ink) var(--noise);color:var(--dv-paper)}
.dv-quote::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(560px circle at var(--sx,30%) var(--sy,40%),rgba(232,213,173,.2),transparent 62%)}
.dv-quote blockquote{margin:0;font:600 clamp(2.2rem,6vw,5.4rem)/1.04 var(--serif);letter-spacing:-.03em;max-width:17ch;text-wrap:balance}
.dv-quote figcaption{margin-top:2rem;display:flex;align-items:center;gap:.9rem;color:var(--dv-hi);font-weight:600}
.dv-q-m{width:56px;height:auto;aspect-ratio:420.8/315.4;color:var(--dv-paper);flex:none}

/* a quién ha preparado: etiquetas que se apartan */
.dv-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 20px;padding:clamp(12px,3vw,40px) 0;max-width:1000px;margin-inline:auto}
.dv-tag{position:relative;display:inline-block;font:600 clamp(1.25rem,2.5vw,2.1rem)/1 var(--serif);padding:.65em 1.1em .7em 1.65em;background:var(--dv-card);border:1px solid rgba(28,28,30,.12);border-radius:6px 999px 999px 6px;
  rotate:var(--r);box-shadow:0 10px 22px -14px rgba(40,30,20,.5);transition:translate .65s cubic-bezier(.2,.9,.25,1.2),rotate .45s var(--ease-out),background-color .3s}
.dv-tag::before{content:"";position:absolute;left:.65em;top:50%;width:.32em;height:.32em;margin-top:-.16em;border-radius:50%;border:2px solid var(--dv-sepia)}
.dv-tag-o{background:var(--dv-ink);color:var(--dv-paper);border-color:var(--dv-ink)}
.dv-tag-o::before{border-color:var(--dv-hi)}
@media (hover:hover){.dv-tag:hover{rotate:0deg;background:var(--dv-hi);color:var(--dv-ink)}}

/* cómo trabajamos: fichas */
.dv-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.dv-card{position:relative;display:grid;gap:.5rem;align-content:start;background:var(--dv-card);padding:2.3rem 1.4rem 1.6rem;rotate:var(--r);
  background-image:repeating-linear-gradient(180deg,transparent 0 27px,rgba(79,107,237,.12) 27px 28px);background-position:0 70px;
  box-shadow:0 18px 36px -22px rgba(40,30,20,.5);transition:rotate .5s var(--ease-out),translate .5s var(--ease-out),box-shadow .4s}
.dv-card::after{content:"";position:absolute;left:0;right:0;top:68px;height:1px;background:rgba(178,69,44,.32)}
.dv-pin{position:absolute;top:10px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d1ad74,#7d5f3d);box-shadow:0 3px 4px rgba(0,0,0,.3)}
.dv-card b{font:600 1.6rem/1.1 var(--serif);min-height:34px}
.dv-card p{color:var(--dv-text);font-size:var(--t-sm);line-height:28px;margin-top:.15rem}
@media (hover:hover){.dv-card.is-hot,.dv-card:hover{rotate:0deg;translate:0 -8px;box-shadow:0 30px 50px -24px rgba(40,30,20,.55)}}

/* llamada final */
.dv-cta{border-top:1px solid var(--dv-line)}
.dv-cta-in{display:grid;justify-items:center;text-align:center;gap:1rem}
.dv-cta-t{font:600 clamp(3rem,9vw,7.4rem)/.95 var(--serif);letter-spacing:-.045em;margin:0}
.dv-cta-p{font-size:var(--t-lg);color:var(--dv-text);max-width:40ch}
.dv-cta .actions{justify-content:center;align-items:center}
.dbtn{display:inline-flex;align-items:center;gap:.6rem;min-height:56px;padding:.9rem 1.6rem;background:var(--dv-ink);color:var(--dv-paper);text-decoration:none;font-weight:650;border-radius:10px;transition:background-color .3s,translate 450ms var(--ease-out)}
.dbtn:hover{background:#000}
.dlink{display:inline-flex;align-items:center;gap:.5rem;min-height:52px;padding:.8rem .3rem;font:600 1.1rem/1 var(--serif);color:var(--dv-ink);text-decoration:underline;text-decoration-color:var(--dv-sepia);text-underline-offset:7px;text-decoration-thickness:1.5px;transition:translate 450ms var(--ease-out)}
.dlink .i{transition:transform .35s var(--ease-out)}
.dlink:hover .i{transform:translateX(4px)}
.dv .brands-sec{background:var(--dv-card);border-top-color:var(--dv-line)}

/* bloque «Quién le atiende» en Inicio */
.dv-teaser{overflow:hidden}
.dvt-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,96px);align-items:center}
.dvt-pols{position:relative;min-height:clamp(320px,34vw,450px)}
.dvt-pols .pol:first-child{width:52%;left:6%;top:8%;z-index:2}
.dvt-pols .pol:last-child{width:44%;right:4%;top:20%;z-index:1}
.dvt-t{font:600 clamp(3.4rem,8.6vw,7rem)/.9 var(--serif);letter-spacing:-.045em;margin:.5rem 0 .7rem}
.dvt-p{font-size:var(--t-lg);color:var(--dv-text);max-width:44ch;margin-bottom:1rem}

/* cabecera en la estética «diario» */
body[data-theme="diario"]{background:var(--dv-paper)}
body[data-theme="diario"] .hdr{background:rgba(243,238,229,.93);border-bottom-color:var(--dv-line)}
body[data-theme="diario"] .brand{color:var(--dv-ink)}
body[data-theme="diario"] .nav a{font-family:var(--serif);font-weight:600;font-size:1rem;color:#5d554a}
body[data-theme="diario"] .nav a:hover{background:rgba(28,28,30,.05);color:var(--dv-ink)}
body[data-theme="diario"] .nav a[aria-current="page"]{background:transparent;color:var(--dv-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px;text-decoration-color:var(--dv-sepia)}
body[data-theme="diario"] .lang{background:rgba(28,28,30,.06)}
body[data-theme="diario"] .hdr-wa{background:var(--dv-ink);border-color:var(--dv-ink);border-radius:10px}
body[data-theme="diario"] .fab,body[data-theme="diario"] .fab::before{background:var(--dv-ink)}
body[data-theme="diario"] .sprog span{background:var(--dv-sepia)}
@media (max-width:960px){body[data-theme="diario"] .nav{background:var(--dv-paper)}}

/* =====================================================================
   responsive
   ===================================================================== */
@media (max-width:1060px){
  .pv-hero-in,.pvt-in,.dvt-in,.dv-hero-in{grid-template-columns:1fr}
  .pv-hero-art{min-height:320px;max-width:560px;width:100%}
  .pvt-media{max-width:520px;width:100%}
  .pv-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:clamp(32px,5vw,48px)}
  .dv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv-grid>div:nth-child(3){border-left:0;padding-left:0}
  .dv-grid>div:nth-child(n+3){border-top:1px solid var(--dv-line)}
  .dv-facts,.dv-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv-board{max-width:640px;width:100%}
  .dvt-pols{max-width:520px;width:100%}
}
@media (max-width:760px){
  .pv-split{flex-direction:column;min-height:0}
  .pv-path{min-height:440px}
  .pv-grid{grid-template-columns:1fr}
  .pv-score-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-sc:nth-child(3){border-left:0}
  .pv-sc:nth-child(n+3){border-top:2px solid var(--pv-ink)}
  .pv-head{grid-template-columns:1fr}
  .pv-num{justify-self:start;margin:0 0 .9rem}
  .pv-hp{grid-column:1}
  .pvt-list li{grid-template-columns:1fr;gap:.15rem}
  .dv-path{left:14px;translate:none;width:30px}
  .dv-tl{gap:52px}
  .dv-ms{grid-template-columns:1fr;gap:1.4rem;padding-left:48px}
  .dv-ms::before{left:20px;top:.7rem;margin:0 0 0 -9px}
  .dv-ms .dv-ms-txt,.dv-ms:nth-of-type(odd) .dv-ms-txt{justify-self:start;text-align:left;order:0}
  .dv-ms>:not(.dv-ms-txt),.dv-ms:nth-of-type(odd)>:not(.dv-ms-txt),.dv-ms:nth-of-type(even)>:not(.dv-ms-txt){justify-self:start}
  .pol-s{width:min(78%,260px)}
}
@media (max-width:640px){
  .pv-hero{min-height:0}
  .pv-title{font-size:13vw}
  .pv-hero-art{min-height:300px}
  .pv-photo{inset:0 0 8% 8%}
  .pv-tag b{font-size:1.6rem}
  .pv-steps{grid-template-columns:1fr}
  .pv-tile{min-height:0}
  .pbtn{min-height:52px;padding:.75rem 1.15rem;font-size:.86rem}
  .pbtn-xl{min-height:58px;padding:.9rem 1.4rem;font-size:.95rem}
  .pv-tick{margin-inline:-6%}
  .dv-name{font-size:23vw}
  .dv-board{min-height:clamp(380px,110vw,470px);margin-top:1rem}
  .pol{padding:9px 9px 40px}
  .pol figcaption{font-size:.86rem;bottom:12px}
  .pol-main{width:60%;left:14%}
  .pol-2{width:42%}
  .pol-3{width:40%}
  .dv-stamp{width:96px;right:0}
  .dv-grid dt{font-size:3rem}
  .dv-grid>div{padding:1.1rem .9rem 1.2rem}
  .dv-facts,.dv-cards{grid-template-columns:1fr}
  .dv-card{rotate:calc(var(--r) * .5)}
  .dvt-pols{min-height:300px}
  .ftr-w{width:min(60vw,300px)}
}
@media (prefers-reduced-motion:reduce){
  .kl,.dv-name,.pv-dot,.pv-tick .mq-track,.trail,.intro-m path,.intro-w,.intro-bar i{animation:none!important}
  .sw{opacity:1!important}
  .dv-path-fg{stroke-dashoffset:0!important}
  .pv-track span{transform:none!important}
  .intro-m path{fill-opacity:1;stroke-opacity:0}
  .intro-w{clip-path:none}
}

/* ajustes tras revisión visual */
.pv-hero-txt{position:relative;z-index:3}
.pv-hero-art{z-index:1}
.pv-title{text-shadow:0 10px 40px rgba(25,32,8,.35)}
.pv-h2 .w,.dv-h2 .w,.pvt-t .w{padding-top:.22em;margin-top:-.22em}
.pv-faq .pv-h2{font-size:clamp(2.2rem,4.2vw,3.8rem)}
.brand-m,.brand-w,.ftr-m,.ftr-w,.dv-stamp-m,.dv-q-m,.intro-w{fill:currentColor}
.dv-path path{vector-effect:none;stroke-width:1.6}
.dv-cta-p,.dvt-p,.pv-cta-p{text-wrap:balance}
@media (max-width:640px){.pv-tag-2{top:-3%}.pv-tag-1{bottom:4%}}
body[data-theme="pista"] .mbar{background:rgba(25,32,8,.96);border-top-color:rgba(241,243,231,.12)}
body[data-theme="pista"] .mbar .btn{border-radius:0;background:transparent;color:var(--pv-chalk);border-color:rgba(241,243,231,.3)}
body[data-theme="pista"] .mbar .btn-primary{background:var(--pv-lime);border-color:var(--pv-lime);color:var(--pv-ink)}
body[data-theme="diario"] .mbar{background:rgba(243,238,229,.96)}
body[data-theme="diario"] .mbar .btn-primary{background:var(--dv-ink);border-color:var(--dv-ink)}
/* contorno limpio en tipografías variables (sin las líneas internas de los contornos superpuestos) */
.mq-name.o{color:var(--surface);-webkit-text-stroke:3.2px var(--accent);paint-order:stroke fill}
.dv .mq-name.o{color:var(--dv-card)}
.bq{color:var(--pv-ink);-webkit-text-stroke:3px rgba(241,243,231,.5);paint-order:stroke fill}
.bq:hover{color:var(--pv-lime);-webkit-text-stroke-color:var(--pv-lime)}

/* =====================================================================
   Mapa «Cómo llegar» — calles reales (OpenStreetMap), marcadores y zoom
   ===================================================================== */
.map-card{position:relative;border-radius:var(--r-card);overflow:hidden;background:#eeefe6;box-shadow:var(--shadow-up);border:1px solid var(--line);isolation:isolate;aspect-ratio:1420/1080;min-height:0;align-self:start;--z:1}
.map-stage{position:absolute;inset:0;transition:transform 800ms var(--ease-out);will-change:transform}
.map-card.dragging .map-stage{transition:none}
.map-card.zoomed .map-stage{cursor:grab;touch-action:none}
.map-card.dragging .map-stage{cursor:grabbing}
.map{display:block;width:100%;height:100%}
.m-gvband{fill:none;stroke:#e1e7c9;stroke-width:46;stroke-linecap:round;stroke-linejoin:round}
.m-case path,.m-fill path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.m-case path{stroke:#d2d5c5}
.m-fill path{stroke:#fff;transition:stroke .2s}
.m-case .r1{stroke-width:18}.m-fill .r1{stroke-width:14}
.m-case .r2{stroke-width:13.5}.m-fill .r2{stroke-width:10}
.m-case .r3{stroke-width:10}.m-fill .r3{stroke-width:7.4}
.m-case .r4{stroke-width:7.4}.m-fill .r4{stroke-width:5.2}
.m-case .r5{stroke-width:5.4}.m-fill .r5{stroke-width:3.6;stroke:#f8f8f3}
.m-fill path[data-n]{pointer-events:stroke}
.m-fill path.hot{stroke:#cbd79c}
.m-fgc{fill:none;stroke:#93d500;stroke-width:5;stroke-dasharray:1 11;stroke-linecap:round}
.m-fgc-run{fill:none;stroke:none}
.map-train{filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}
.m-route{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-out) .4s}
.m-route-dash{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 12;opacity:0;transition:opacity .5s 1.9s;animation:mRoute 1.1s linear infinite}
.map-card.live .m-route{stroke-dashoffset:0}
.map-card.live .m-route-dash{opacity:.95}
@keyframes mRoute{to{stroke-dashoffset:-18}}
.ml{font-family:var(--sans);fill:#666a5d;font-weight:620;paint-order:stroke;stroke:#f1f2ea;stroke-width:6px;stroke-linejoin:round;pointer-events:none}
.l1{font-size:calc(30px / var(--z));font-weight:720;fill:#4c5a24;letter-spacing:.02em}
.l2{font-size:calc(25px / var(--z))}
.l3{font-size:calc(22px / var(--z))}
.l0{font-size:calc(27px / var(--z));font-weight:740;fill:#33372d}
.lz{font-size:calc(21px / var(--z));letter-spacing:.24em;font-weight:720;fill:#a2a596;stroke-width:5px}
.lz-g{fill:#7d9456}
.m-scale .ml{font-size:20px;fill:#1d1f1a;stroke:none}

/* marcadores (HTML encima del plano: tamaño constante al hacer zoom) */
.mk{position:absolute;z-index:2;translate:-50% -50%;scale:calc(1 / var(--z));text-decoration:none;color:var(--fg)}
.mk-shop{z-index:4;translate:-50% -100%;transform-origin:50% 100%}
.mk-pin{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:50% 50% 50% 6px;rotate:-45deg;background:var(--accent);border:3px solid #fff;box-shadow:0 12px 22px -8px rgba(40,50,20,.6);transition:transform .35s var(--ease-out)}
.mk-pin svg{width:34px;height:26px;rotate:45deg;fill:#fff}
.mk-pulse{position:absolute;left:50%;top:100%;width:84px;height:30px;margin:-15px 0 0 -42px;border-radius:50%;background:rgba(91,106,47,.4);animation:mkPulse 2.2s var(--ease-out) infinite}
@keyframes mkPulse{from{scale:.3;opacity:.9}to{scale:1.5;opacity:0}}
.mk-card{position:absolute;left:calc(100% + 12px);top:2px;display:grid;gap:1px;background:#fff;border-radius:12px;padding:.5rem .8rem;box-shadow:var(--shadow-up);white-space:nowrap;line-height:1.15}
.mk-card b{font-weight:760;font-size:.95rem}
.mk-card small{color:var(--muted);font-size:.78rem}
.map-card.live .mk-shop .mk-pin{animation:pinDrop 900ms cubic-bezier(.34,1.56,.64,1) .2s backwards}
@keyframes pinDrop{from{transform:translate(40px,-40px);opacity:0}}
@media (hover:hover){.mk-shop:hover .mk-pin{transform:translate(4px,-4px) scale(1.06)}}
.mk-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff;padding:5px;box-shadow:0 8px 16px -8px rgba(0,0,0,.4);transition:transform .3s var(--ease-out)}
.mk-ico img{width:100%;height:100%;object-fit:contain;display:block}
.mk-ico-w{width:54px;height:42px;padding:6px 5px}
.mk-ico-s{width:30px;height:30px;padding:3px;border-radius:8px}
.mk-tip{position:absolute;left:50%;bottom:calc(100% + 8px);translate:-50% 0;display:grid;gap:1px;background:#1d1f1a;color:#fff;border-radius:10px;padding:.42rem .7rem;white-space:nowrap;font-size:.8rem;line-height:1.2;pointer-events:none;
  opacity:0;transform:translateY(6px);transition:opacity .25s,transform .3s var(--ease-out)}
.mk-tip::after{content:"";position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#1d1f1a}
.mk-tip small{color:#c9d79a;font-size:.72rem}
.mk-fgc .mk-tip,.mk-metro .mk-tip,.mk:hover .mk-tip,.mk:focus-within .mk-tip{opacity:1;transform:none}
@media (hover:hover){.mk:hover .mk-ico{transform:scale(1.1) rotate(-4deg)}}
.map-street{position:absolute;left:0;top:0;z-index:6;pointer-events:none;background:#fff;color:var(--fg);font-size:.78rem;font-weight:650;padding:.32rem .6rem;border-radius:8px;box-shadow:var(--shadow-up);opacity:0;transition:opacity .15s;white-space:nowrap}
.map-street.on{opacity:1}

/* controles */
.map-ui{position:absolute;right:12px;top:12px;z-index:7;display:grid;gap:6px}
.map-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.94);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);color:var(--fg);transition:background-color .2s,translate 450ms var(--ease-out)}
.map-btn:hover{background:#fff}
.map-btn:disabled{opacity:.45;cursor:default}
.map-legend{position:absolute;left:12px;top:12px;z-index:7;display:flex;flex-wrap:wrap;gap:6px 14px;background:rgba(255,255,255,.94);padding:.45rem .75rem;border-radius:12px;font-size:.74rem;font-weight:650;box-shadow:var(--shadow);max-width:calc(100% - 80px)}
.map-legend>span{display:inline-flex;align-items:center;gap:7px}
.lg-walk{width:22px;height:5px;border-radius:3px;background:var(--accent)}
.lg-fgc{width:22px;height:0;border-top:5px dotted #93d500}
.map-card .map-note{left:auto;right:8px;bottom:8px;z-index:7;font-size:.66rem;padding:.15rem .5rem;background:rgba(255,255,255,.85)}
.map-note a{color:inherit}
@media (max-width:640px){
  .l1{font-size:calc(46px / var(--z))}.l2{font-size:calc(38px / var(--z))}.l0{font-size:calc(40px / var(--z))}
  .l3,.lz{display:none}
  .mk-pin{width:44px;height:44px}.mk-pin svg{width:26px;height:20px}
  .mk-card{padding:.38rem .6rem}.mk-card b{font-size:.82rem}.mk-card small{font-size:.7rem}
  .mk-ico{width:34px;height:34px;padding:4px}.mk-ico-w{width:42px;height:32px}
  .mk-metro .mk-tip{display:none}
  .mk-tip{font-size:.72rem;padding:.32rem .55rem}
  .map-legend{font-size:.68rem;padding:.35rem .6rem}
  .map-btn{width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.m-route{transition:none;stroke-dashoffset:0}.m-route-dash,.mk-pulse,.map-card.live .mk-shop .mk-pin{animation:none}.map-stage{transition:none}}
.mk-fgc .mk-tip{bottom:auto;top:calc(100% + 8px)}
.mk-fgc .mk-tip::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#1d1f1a}
.map-edge{position:absolute;right:62px;top:12px;z-index:7;display:inline-flex;align-items:center;gap:.4rem;height:40px;padding:0 .8rem;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.94);box-shadow:var(--shadow);font:650 .76rem/1 var(--sans);color:var(--fg);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .3s,transform .3s var(--ease-out),translate 450ms var(--ease-out)}
.map-edge .i{color:var(--accent)}
.map-card.zoomed .map-edge{opacity:1;pointer-events:auto;transform:none}
.map-scale{position:absolute;left:12px;bottom:10px;z-index:7;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:rgba(255,255,255,.88);padding:.3rem .55rem .35rem;border-radius:8px;font:650 .68rem/1 var(--sans);color:var(--fg)}
.map-scale i{display:block;height:6px;width:var(--sw,80px);border:2px solid var(--fg);border-top:0;transition:width .5s var(--ease-out)}
@media (max-width:640px){.map-legend{display:none}.map-edge{right:54px;height:36px;font-size:.7rem;padding:0 .6rem}}
.m-route{stroke-width:calc(24px / var(--z))}
.m-route-dash{stroke-width:calc(5px / var(--z));stroke-dasharray:calc(9px / var(--z)) calc(16px / var(--z))}
.m-fgc{stroke-width:calc(9px / var(--z));stroke-dasharray:1 calc(20px / var(--z))}
.map-scale{left:auto;right:8px;bottom:34px;align-items:flex-end}
.mk-metro .mk-tip{left:auto;right:calc(100% + 10px);bottom:auto;top:50%;translate:0 -50%}
.mk-metro .mk-tip::after{left:100%;top:50%;margin:-6px 0 0;border-top-color:transparent;border-left-color:#1d1f1a}
.map-legend{top:auto;bottom:10px}
.map-card .map-note{bottom:8px}

/* =====================================================================
   Ficha de producto + inspector 3D
   ===================================================================== */
a.card{color:inherit;text-decoration:none}
.mq-prods a{display:block;flex:none}
.pdp{background:var(--bg)}
.pdp-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);min-height:calc(100vh - 70px)}

/* escenario blanco, fijo al hacer scroll */
.pdp-stage{position:sticky;top:70px;height:calc(100vh - 70px);min-height:540px;background:#fff;overflow:hidden;isolation:isolate;display:grid;place-items:center;touch-action:pan-y;outline:none;border-right:1px solid var(--line);user-select:none;-webkit-user-select:none}
.pdp-stage:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}
.pdp-stage::before{content:"";position:absolute;inset:auto 0 0;height:38%;z-index:-2;background:linear-gradient(180deg,#fff 0%,#f6f7f2 100%)}
.pdp-bgword{position:absolute;left:0;right:0;top:50%;z-index:-1;margin-top:-.45em;text-align:center;font-weight:800;font-variation-settings:"ROND" 30;font-size:clamp(6rem,15vw,15rem);line-height:.9;letter-spacing:-.045em;color:#f2f3ed;white-space:nowrap;pointer-events:none;transition:translate .25s linear}
.pdp-obj{position:relative;display:grid;justify-items:center;animation:pdpIn 1s var(--ease-out) both}
@keyframes pdpIn{from{opacity:0;transform:translateY(40px) scale(.86);filter:blur(8px)}}
.pdp-float{animation:pdpFloat 6s ease-in-out infinite;will-change:transform}
@keyframes pdpFloat{0%,100%{transform:translateY(-6px)}50%{transform:translateY(5px)}}
.pdp-tilt{position:relative;transform:perspective(1400px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg))}
.pdp-fb,.pdp-im{display:block;height:min(62vh,620px);width:auto;max-width:min(46vw,660px);object-fit:contain;filter:drop-shadow(0 30px 34px rgba(30,32,24,.14))}
.pdp-cv{position:absolute;left:0;top:0;display:block;pointer-events:none;filter:drop-shadow(0 30px 34px rgba(30,32,24,.16))}
.pdp-stage.gl .pdp-fb{visibility:hidden}
.pdp-im.flat{max-width:min(48vw,700px)}
.pdp-im.scene{height:min(58vh,560px);max-width:min(42vw,560px);border-radius:22px;box-shadow:0 44px 70px -34px rgba(30,32,24,.45);filter:none}
.pdp-noimg{width:300px;aspect-ratio:3/4;border-radius:20px;background:var(--surface-2);display:grid;place-items:center;text-align:center;padding:2rem;font-weight:700}
.pdp-shadow{width:62%;height:30px;margin-top:4px;border-radius:50%;background:radial-gradient(closest-side,rgba(30,32,24,.3),rgba(30,32,24,0));animation:pdpShadow 6s ease-in-out infinite}
@keyframes pdpShadow{0%,100%{scale:.9;opacity:.8}50%{scale:1.02;opacity:1}}

/* lupa */
.pdp-lens{position:absolute;left:0;top:0;z-index:6;width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;background-color:#fff;background-repeat:no-repeat;
  border:4px solid #fff;box-shadow:0 22px 44px -14px rgba(20,22,16,.42),0 0 0 1px rgba(20,22,16,.1);pointer-events:none;opacity:0;scale:.5;transition:opacity .2s,scale .35s var(--ease-out)}
.pdp-stage.zoom .pdp-lens{opacity:1;scale:1}
.pdp-stage.zoom .pdp-lens.off{opacity:0;scale:.7}
.pdp-stage.zoom{cursor:zoom-in}

/* regla de giro, ayuda y controles */
.pdp-ruler{position:absolute;left:50%;bottom:76px;width:min(340px,70%);height:16px;translate:-50% 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}
.pdp-ruler b{position:absolute;left:-200%;right:-200%;top:2px;height:12px;background:repeating-linear-gradient(90deg,#c9ccbf 0 1.5px,transparent 1.5px 12px),repeating-linear-gradient(90deg,#9ea392 0 2px,transparent 2px 60px);background-size:auto 7px,auto 12px;background-repeat:repeat-x;background-position:0 5px,0 0}
.pdp-ruler i{position:absolute;left:50%;top:0;width:2px;height:16px;margin-left:-1px;background:var(--accent);z-index:1;border-radius:2px}
.pdp-hint{position:absolute;left:50%;bottom:26px;translate:-50% 0;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;background:rgba(244,244,240,.92);color:var(--muted);font-size:var(--t-xs);font-weight:600;white-space:nowrap;transition:opacity .4s}
.pdp-hint .i{width:14px;height:14px;color:var(--accent)}
.pdp-stage:hover .pdp-hint{opacity:.55}
.pdp-back{position:absolute;left:20px;top:18px;z-index:5;display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.45rem .9rem;border-radius:999px;background:rgba(244,244,240,.92);text-decoration:none;font-weight:650;font-size:var(--t-sm);color:var(--fg);transition:background-color .2s,translate 450ms var(--ease-out)}
.pdp-back:hover{background:var(--surface-2)}
.pdp-tools{position:absolute;right:18px;top:18px;z-index:5;display:grid;gap:8px}
.pdp-tool{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--fg);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);transition:background-color .2s,color .2s,translate 450ms var(--ease-out)}
.pdp-tool[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.pdp-stage[data-mode="scene"] .pdp-ruler,.pdp-stage[data-mode="none"] .pdp-ruler{display:none}

/* información */
.pdp-info{display:grid;gap:1.15rem;align-content:start;padding:clamp(28px,4vw,64px) clamp(20px,4.4vw,72px) clamp(40px,5vw,72px);max-width:680px}
.pdp-info>*{animation:pdpLine .8s var(--ease-out) both}
.pdp-info>:nth-child(2){animation-delay:60ms}.pdp-info>:nth-child(3){animation-delay:120ms}.pdp-info>:nth-child(4){animation-delay:180ms}.pdp-info>:nth-child(5){animation-delay:240ms}.pdp-info>:nth-child(6){animation-delay:300ms}.pdp-info>:nth-child(n+7){animation-delay:360ms}
@keyframes pdpLine{from{opacity:0;transform:translateY(16px)}}
.pdp-crumbs{display:flex;flex-wrap:wrap;gap:.45rem;font-size:var(--t-xs);color:var(--muted)}
.pdp-crumbs a{color:inherit;text-decoration:none}
.pdp-crumbs a:hover{color:var(--fg);text-decoration:underline}
.pdp-brand{font-size:var(--t-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}
.d.pdp-name,.pdp-name{font-size:clamp(2.3rem,4.4vw,3.8rem);margin-top:-.4rem}
.pdp-desc{font-size:var(--t-lg);line-height:1.55;color:var(--muted);max-width:46ch}
.pdp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;padding-block:.4rem;border-block:1px solid var(--line)}
.pdp-price b{font-size:clamp(2rem,3.2vw,2.7rem);font-weight:760;font-variation-settings:"ROND" 60;letter-spacing:-.02em}
.pdp-price .webprice{font-size:var(--t-sm)}
.pdp-price small{color:var(--muted);font-size:var(--t-xs);margin-left:auto}
.pdp-lbl{display:block;font-size:var(--t-xs);font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.55rem}
.pdp-fmt .pdp-lbl{display:inline;margin:0 .4rem 0 0}
.pdp-vars{display:flex;flex-wrap:wrap;gap:8px}
.pdp-var{display:grid;gap:1px;justify-items:start;min-width:96px;padding:.6rem .95rem;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .2s,background-color .2s,translate 450ms var(--ease-out)}
.pdp-var b{font-weight:700;font-size:var(--t-sm)}
.pdp-var small{color:var(--muted);font-size:var(--t-xs)}
.pdp-var[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.pdp-actions{margin-top:.2rem}
.pdp-perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pdp-perks li{display:flex;align-items:center;gap:.6rem;padding:.75rem .9rem;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:var(--t-sm);font-weight:600;line-height:1.3}
.pdp-perks .i{color:var(--accent);width:20px;height:20px}
.pdp-tip{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem 1.2rem;border-radius:var(--r-card);background:var(--accent-soft)}
.pdp-tip-ico{flex:none;width:42px;height:42px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--accent-ink)}
.pdp-tip b{display:block;margin-bottom:.15rem}
.pdp-tip p{color:var(--accent-ink);font-size:var(--t-sm)}
.pdp-specs{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem 1.4rem;margin:0;font-size:var(--t-sm)}
.pdp-specs dt{color:var(--muted)}
.pdp-specs dd{margin:0;font-weight:600}
.pdp-specs a{color:inherit}
.pdp-rel{border-top:1px solid var(--line)}

@media (max-width:860px){
  .pdp-in{grid-template-columns:1fr}
  .pdp-stage{position:relative;top:0;height:min(68vh,560px);min-height:420px;border-right:0;border-bottom:1px solid var(--line)}
  .pdp-fb,.pdp-im{height:min(44vh,400px);max-width:78vw}
  .pdp-im.scene{height:min(40vh,360px);max-width:80vw}
  .pdp-ruler{bottom:64px}
  .pdp-hint{bottom:18px;font-size:.72rem}
  .pdp-info{max-width:none}
}
@media (max-width:420px){.pdp-perks{grid-template-columns:1fr}.pdp-price small{margin-left:0}}
@media (prefers-reduced-motion:reduce){.pdp-obj,.pdp-float,.pdp-shadow,.pdp-info>*{animation:none}}
