/* tipografía de texto: Inter Tight (400/500/700) con espaciado apretado en todo, propia, sin Google Fonts */
@font-face{font-family:"Inter Tight";src:url(fuentes/inter-tight-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fuentes/inter-tight-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fuentes/inter-tight-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--sans:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;--frase:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;--frase-ls:-.025em;--frase-w:500}
@font-face{font-family:"Grotesk Collective";src:url("fuentes/grotesk-collective.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--red:#e20f0e;--red-deep:#b80b0b;--azul:#1d3364;--ink:#fff;--card:rgba(255,255,255,.12);--line:rgba(255,255,255,.35);--black:#24201a;box-sizing:border-box}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--red:#d10d0d;--red-deep:#a30909}}
:root[data-theme="dark"]{--red:#d10d0d;--red-deep:#a30909}
html{scroll-behavior:smooth;scroll-padding-top:80px}
*,*:before,*:after{box-sizing:border-box}
body{margin:0;background:var(--red);color:var(--ink);font-family:var(--sans);line-height:1.55;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom,0)}
a{color:inherit}
.disp{font-family:"Grotesk Collective","Arial Black",Impact,sans-serif;font-weight:400;font-synthesis:none;letter-spacing:0}
.wrap{max-width:900px;margin:0 auto;padding:0 22px}
/* header */
header.top{position:sticky;top:0;z-index:20;background:var(--red);border-bottom:1.5px solid var(--line);padding-top:env(safe-area-inset-top,0)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{text-decoration:none;font-size:22px}
.logo small{display:block;font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.12em;opacity:.85;margin-top:-4px}
nav.main{display:flex;gap:18px;align-items:center}
nav.main a{text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
nav.main a:hover,nav.main a.on{opacity:1;text-decoration:underline;text-underline-offset:6px}
.burger{display:none;background:none;border:1.5px solid var(--line);color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}
@media(max-width:860px){.burger{display:block}
 nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:var(--red);flex-direction:column;align-items:flex-start;padding:16px 22px 24px;border-bottom:1.5px solid var(--line)}
 nav.main.open{display:flex}nav.main a{font-size:16px}}
/* hero */
.hero{text-align:center;padding:64px 0 36px;position:relative;overflow-x:clip}
.hero h1{font-size:clamp(52px,15vw,124px);line-height:.95;margin:0 0 18px}
.hero h1.sm{font-size:clamp(42px,12vw,84px)}
.hero p{margin:0 auto;max-width:480px;font-size:18px}
.star{display:inline-block;width:48px;height:48px;flex:none}
.hero .star{position:absolute;animation:spin 14s linear infinite}
.s1{left:-4px;top:30px}.s2{right:-4px;top:96px;width:40px;animation-direction:reverse!important}
@keyframes spin{to{transform:rotate(360deg)}}
.cta{display:inline-block;margin-top:24px;background:#fff;color:var(--red);font-weight:700;text-decoration:none;padding:14px 26px;border-radius:999px;font-size:15px;border:0;cursor:pointer;transition:transform .15s;font-family:inherit}
.cta:hover{transform:scale(1.05) rotate(-1deg)}
.cta.ghost{background:transparent;color:#fff;border:1.5px solid #fff}
section{padding:30px 0}
h2{font-size:clamp(20px,5vw,28px);margin:0 0 18px}
h3{margin:0 0 6px;font-size:18px}
.card{background:var(--card);border:1.5px solid var(--line);border-radius:22px;padding:22px}
.card+.card{margin-top:14px}
.grid{display:grid;gap:14px}
@media(min-width:620px){.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}}
.tile{display:block;text-decoration:none;background:var(--card);border:1.5px solid var(--line);border-radius:22px;padding:20px;position:relative;overflow:hidden}
.tile .tag{font-size:11px;font-weight:700;letter-spacing:.12em;background:#fff;color:var(--red);border-radius:999px;padding:3px 10px;display:inline-block;margin-bottom:34px}
.tile .star{position:absolute;right:14px;top:12px;width:34px;height:34px;transition:transform .5s}
.tile:hover .star{transform:rotate(180deg)}
.tile.in:hover{transform:translateY(-4px) rotate(-1deg);transition-delay:0s}
.tile b{display:block;font-size:18px}
.price-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.price-row:last-child{border:0}.price-row small{display:block;opacity:.85}.price-row strong{white-space:nowrap}
.pill{display:inline-block;font-size:12px;border:1.5px solid var(--line);border-radius:999px;padding:2px 10px;margin-top:6px}
.date{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
.quote{font-size:clamp(20px,4.5vw,30px);text-align:center;padding:10px 0}
.pre{white-space:pre-line}
/* tabs */
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tab{background:transparent;color:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer;font-size:14px;font-family:inherit}
.tab[aria-selected="true"]{background:#fff;color:var(--red)}
.panel{display:none}.panel.on{display:block;animation:pop .35s}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* forms */
form label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
input,textarea,select{width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:rgba(0,0,0,.18);color:#fff;font:inherit}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.6)}
textarea{min-height:110px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14px}.check input{width:auto;margin-top:4px}
.ok{display:none;margin-top:12px;font-weight:700}
/* club */
.calc output{display:block;font-size:clamp(34px,10vw,54px);margin:6px 0 2px}
input[type=range]{padding:0;border:0;background:none;accent-color:#fff;height:28px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.row2 div{background:var(--red-deep);border-radius:16px;padding:14px}.row2 small{display:block;opacity:.85}.row2 strong{font-size:22px}
.note{font-size:13px;opacity:.85;margin-top:12px}
.step{display:none;min-height:90px;animation:pop .35s}.step.on{display:block}.step b{font-size:19px;display:block;margin-bottom:4px}
.bar{height:6px;background:rgba(255,255,255,.25);border-radius:9px;margin-top:16px;overflow:hidden}.bar i{display:block;height:100%;width:25%;background:#fff;transition:width .3s}
/* footer */
footer{border-top:1.5px solid var(--line);margin-top:40px;padding:34px 0 50px;text-align:center}
footer nav{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:14px 0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
footer small{opacity:.8}
/* animaciones */
.reveal{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none;transition-duration:.7s;transition-delay:var(--d,0s)}
.w{display:inline-block;white-space:nowrap}
.ltr{display:inline-block;cursor:default;user-select:none}
.wv{display:inline-block;animation:wave 2.6s ease-in-out infinite;animation-delay:var(--wd,0s)}
@keyframes wave{0%,100%{transform:none}50%{transform:translateY(-.09em) rotate(-3deg)}}
.ltr.hop{animation:hop .65s cubic-bezier(.3,1.5,.5,1)}
@keyframes hop{0%{transform:none}35%{transform:translateY(var(--y,-26px)) rotate(var(--r,12deg)) scale(1.18)}70%{transform:translateY(4px) rotate(calc(var(--r,12deg)*-.4))}100%{transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ---- menú: cartas ---- */
.cartas{display:grid;gap:10px;margin-bottom:10px}
@media(min-width:700px){.cartas{grid-template-columns:repeat(3,1fr)}}
.carta-btn{font-family:inherit;color:#fff;background:transparent;border:1.5px solid #fff;border-radius:22px;padding:16px 14px;cursor:pointer;text-align:center;font-weight:800;font-size:15px;letter-spacing:.04em;line-height:1.25;transition:transform .15s,background .15s,color .15s}
.carta-btn small{display:block;font-weight:400;letter-spacing:0;font-size:12px;opacity:.9;margin-top:6px}
.carta-btn:hover{transform:translateY(-2px) rotate(-.6deg)}
.carta-btn[aria-pressed="true"]{background:#fff;color:var(--red)}
.cpanel{display:none}
.cpanel.on{display:block;animation:pop .35s}
.gnav{position:sticky;top:calc(65px + env(safe-area-inset-top,0px));z-index:10;display:flex;gap:8px;overflow-x:auto;padding:10px 0;background:var(--red);scrollbar-width:none}
.gnav::-webkit-scrollbar{display:none}
.chip{flex:none;background:transparent;color:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 16px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.chip:hover{background:#fff;color:var(--red)}
.gt{font-size:clamp(26px,7vw,40px);margin:30px 0 14px;scroll-margin-top:calc(65px + 58px + env(safe-area-inset-top,0px))}
.gt .det,.sh .det{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--line);border-radius:999px;padding:3px 10px;vertical-align:middle;margin-left:6px;white-space:nowrap}
.sh .det{margin-left:0}
.sh{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.stitle{font-size:clamp(17px,4.5vw,22px);margin:0}
.hhpill{background:#fff;color:var(--red);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px}
.aviso{background:#fff;color:var(--red);border-radius:16px;padding:14px 16px;font-weight:700;margin:6px 0 10px}
.bdg{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;border:1.5px solid #fff;border-radius:4px;padding:0 6px;vertical-align:middle;margin-left:6px;line-height:1.6;color:#fff}
.bdg-nuevo{background:#fff;color:var(--red)}
.bdg-recomendado{border-radius:999px;border-color:var(--line)}
.sh .bdg{margin-left:0}
.org{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;background:var(--black);color:#fff;border-radius:4px;padding:1px 6px;vertical-align:middle;margin-left:6px}
.price-row .pr-l{flex:1;min-width:0}
.pr-r{text-align:right;flex:none;max-width:46%}
.pr-r strong.ptxt{white-space:normal;display:block}
.pr-r small{display:block;opacity:.95;font-size:12px;margin-top:3px}
.pr-r small.hh{background:#fff;color:var(--red);font-weight:700;border-radius:8px;padding:2px 8px;display:block;width:fit-content;margin:6px 0 0 auto;opacity:1}
/* v3: casas, botones chicos, frase, timeline, collab, galería */
option{color:#24201a}
.cta.sm{margin-top:0;padding:10px 18px;font-size:13px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.loc .addr{margin:4px 0 10px}
.svc{margin:0 0 4px;padding-left:18px}.svc li{margin:2px 0}
.loc+.loc{margin-top:0}
.grid>.card+.card{margin-top:0}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--line)}
.tl-i{position:relative;padding:0 0 22px 16px}
.tl-i:before{content:"";position:absolute;left:-30px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff}
.tl-i p{margin:2px 0 0}
.when{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
form.cform label{display:block;margin:14px 0 4px;font-weight:700;font-size:14px}
form.cform input,form.cform textarea,form.cform select{width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:rgba(255,255,255,.14);color:#fff;font:inherit}
form.cform input::placeholder,form.cform textarea::placeholder{color:rgba(255,255,255,.7)}
form.cform textarea{min-height:120px;resize:vertical}
.fmsg{min-height:1.4em;margin:12px 0 0;font-weight:700}
.fmsg.err{background:#fff;color:var(--red-deep);border-radius:12px;padding:10px 14px}
.fmsg.okm{background:#fff;color:#24201a;border-radius:12px;padding:10px 14px}
.fmsg.err a{color:var(--red-deep)}
.gnav.static{position:static;margin-bottom:16px}
.chip.on{background:#fff;color:var(--red)}
.gal{columns:2;column-gap:12px}
@media(min-width:760px){.gal{columns:3}}
.gal figure{margin:0 0 12px;break-inside:avoid}
.gbtn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:16px;overflow:hidden}
.gal img{display:block;width:100%;height:auto;border-radius:16px}
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;flex-direction:column}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:80vh;border-radius:12px}
.lb p{color:#fff;margin:12px 20px 0;text-align:center}
.lb button{position:absolute;background:rgba(255,255,255,.18);color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:28px;cursor:pointer;line-height:1}
.lbx{top:16px;right:16px}.lbp{left:12px;top:50%}.lbn{right:12px;top:50%}
.igw{width:100%;min-height:420px;border:0;border-radius:16px;background:rgba(255,255,255,.12)}
.igp{display:grid;gap:14px;margin:14px 0}
@media(min-width:620px){.igp{grid-template-columns:1fr 1fr}}
.igp iframe{width:100%;height:540px;border:0;border-radius:16px;background:#fff}
.hrs{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;margin:0 0 12px;font-size:14px}
.hrs dt{font-weight:700}.hrs dd{margin:0;text-align:right}
/* v8: fotos y secciones con contraste */
.phero{position:relative;background-color:#24201a;background-size:cover;background-position:center;color:#fff;isolation:isolate}
.phero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,0,0,.55) 0%,rgba(17,0,0,.35) 45%,rgba(120,6,6,.78) 100%)}
.phero .hero{padding:72px 22px 56px}
.phero.big .hero{min-height:min(78vh,640px);display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:80px;padding-bottom:64px}
.phero .hero h1{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.phero .hero p{text-shadow:0 1px 12px rgba(0,0,0,.45)}
.band{padding:0}
.band>.wrap{padding-top:56px;padding-bottom:56px}
.band.cream{background:#f7efe4;color:#24201a}
.band.cream h2,.band.cream h3.disp{color:var(--red)}
.band.cream .card{background:#fff;border-color:rgba(27,19,17,.14);color:#24201a}
.band.cream .cta{background:var(--red);color:#fff}
.band.cream .cta.ghost{background:transparent;color:var(--red);border:1.5px solid var(--red)}
.band.cream .pill{border-color:rgba(27,19,17,.3)}
.band.cream .note,.band.cream .fmsg{opacity:1;color:#4a3a36}
.band.cream a:not(.cta){color:var(--red-deep)}
.band.cream .tab{color:#24201a;border-color:rgba(27,19,17,.3)}
.band.cream .tab[aria-selected=true]{background:var(--red);color:#fff;border-color:var(--red)}
.band.cream form.cform input,.band.cream form.cform textarea,.band.cream form.cform select{background:#fff;color:#24201a;border-color:rgba(27,19,17,.3)}
.band.cream form.cform input::placeholder,.band.cream form.cform textarea::placeholder{color:#7a6a66}
.band.cream .fmsg.err{background:#fdeceb;color:var(--red-deep)}
.band.cream .fmsg.okm{background:#e9f6ec;color:#17432a}
.band.cream .tl{border-left-color:rgba(27,19,17,.25)}
.band.cream .tl-i:before{background:var(--red)}
.band.cream .quote{color:var(--red)}
.band.dark{background:#24201a;color:#fff}
.band.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2)}
.band.dark .cta{background:var(--red);color:#fff}
.band.dark .cta.ghost{background:transparent;color:#fff;border:1.5px solid #fff}
.band.dark .chip.on{background:var(--red);color:#fff}
.band.red{background:var(--red)}
.split{display:grid;gap:28px;align-items:center}
@media(min-width:760px){.split{grid-template-columns:1.1fr .9fr}}
.photo{width:100%;border-radius:22px;aspect-ratio:4/5;object-fit:cover;display:block}
.strip{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
@media(min-width:760px){.strip{grid-template-columns:repeat(4,1fr)}}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;display:block}
.locimg{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px 22px 0 0}
.card.loc{padding:0;overflow:hidden}
.locb{padding:22px}
.tile.ph{min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background-size:cover;background-position:center;border:0;padding:18px}
.tile.ph:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.78) 100%)}
.tile.ph>*{position:relative}
.tile.ph .tag{position:absolute;top:14px;left:14px;margin:0}
.tile.ph b{font-size:20px}
.tile.ph span:last-child{font-size:14px;opacity:.95}
footer{background:#24201a;margin-top:0}
.gal img{transition:transform .3s}
.gbtn:hover img{transform:scale(1.03)}
.band.dark .gal{margin-top:8px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #fff;outline-offset:3px}
.band.cream a:focus-visible,.band.cream button:focus-visible,.band.cream input:focus-visible,.band.cream select:focus-visible,.band.cream textarea:focus-visible{outline-color:var(--red)}
.cta.sm{min-height:44px;display:inline-flex;align-items:center}
.band.dark .gnav{background:transparent;flex-wrap:wrap}
/* v9: logo real y anillo flotante */
.logo{display:block;line-height:1}
.logo img{display:block;height:36px;width:auto}
.logo small{margin-top:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ring{position:absolute;pointer-events:none;z-index:0;animation:spin 60s linear infinite}
.hero .ring.s1{left:-80px;top:24px;width:170px;height:170px;opacity:.85}
.hero .ring.s2{right:-60px;left:auto;top:auto;bottom:6px;width:120px;height:120px;opacity:.85;animation-direction:reverse}
.hero>*:not(.ring):not(.star){position:relative;z-index:1}
.band{position:relative;overflow:hidden}
.band>.wrap{position:relative;z-index:1}
.band .ring.ra{right:-90px;top:-70px;width:260px;height:260px;opacity:.3}
.band .ring.rb{left:-100px;bottom:-80px;width:240px;height:240px;opacity:.3}
.band.cream .ring{opacity:.16}
.biglogo{width:min(78vw,540px);height:auto;display:block;margin:0 auto 6px;filter:drop-shadow(0 4px 22px rgba(0,0,0,.4));animation:bob 5s ease-in-out infinite;transition:transform .25s}
.biglogo:hover{transform:rotate(-3deg) scale(1.04)}
@keyframes bob{50%{transform:translateY(-8px)}}
.flogo{display:block;height:46px;width:auto;margin:0 auto}
.phero{overflow-x:clip;overflow-y:visible;z-index:2}
.phero .hero{position:static;overflow:visible}
.phero .hero .ring.s1{left:-50px;top:40px;width:190px;height:190px}
.phero .hero .ring.s2{right:-40px;bottom:30px;width:140px;height:140px}
@media(min-width:900px){.phero .hero .ring.s1{left:4vw;top:60px;width:220px;height:220px}.phero .hero .ring.s2{right:5vw;bottom:50px;width:170px;height:170px}}
.band.red .ring{opacity:.16}

/* v10: logo centrado que se achica al scrollear */
header.top .wrap{display:grid;grid-template-columns:1fr 96px 1fr;align-items:center}
.logo-slot{display:block}
nav.nl{justify-self:start}nav.nr{justify-self:end}
nav.drop{display:none}
.toplogo{position:fixed;left:50%;top:32px;width:66px;transform:translate(-50%,-50%);z-index:30;display:block;line-height:0}
.toplogo img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.biglogo{display:block;width:min(55vw,380px);aspect-ratio:900/438;margin:0 auto 6px;animation:none;filter:none}
.biglogo:hover{transform:none}
@media(max-width:860px){
 header.top .wrap{grid-template-columns:1fr 96px 1fr}
 nav.nl,nav.nr{display:none}
 .burger{grid-column:3;justify-self:end}
 nav.drop{display:none;position:absolute;top:100%;left:0;right:0;background:var(--red);flex-direction:column;align-items:flex-start;gap:14px;padding:16px 22px 24px;border-bottom:1.5px solid var(--line)}
 nav.drop.open{display:flex}
 nav.drop a{font-size:16px;text-decoration:none;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
 nav.drop a.on{text-decoration:underline;text-underline-offset:6px}
}

/* v11: cinta ondulada (banda completa, texto que sigue la onda y se desliza) */
.cinta{position:absolute;left:0;right:0;bottom:0;height:80px;transform:translateY(50%);z-index:3;pointer-events:none}
.cinta svg{position:absolute;left:50%;top:0;margin-left:-1600px;max-width:none;overflow:visible}
.cinta .cb{fill:#e20f0e}
.cinta text{fill:#fff;font:700 13px var(--sans);letter-spacing:.2em;dominant-baseline:central}
@media(max-width:600px){.cinta{height:64px}.cinta svg{transform:scale(.8);transform-origin:50% 0}}

/* v12: ajustes celular, cinta sin tapar contenido, anillos de fondo */
.band .ring.ra{top:110px;opacity:.12}
.band.cream .ring.ra,.band.red .ring.ra{opacity:.1}
body[data-page=menu] .phero+*::before,body[data-page=club] .phero+*::before{content:"";display:block;height:52px}
@media(max-width:600px){
 .hero .star{width:34px;height:34px}
 .hero h1{font-size:clamp(42px,12.5vw,100px)}
 .hero h1.sm{font-size:clamp(38px,10.5vw,70px)}
 .biglogo{width:min(44vw,304px)}
}

/* v13: galería en polaroids */
.gal{column-gap:22px;padding:6px 8px}
.gal figure{background:#fbfaf6;padding:10px 10px 42px;margin:0 0 26px;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.35),0 10px 26px rgba(0,0,0,.45);rotate:-1.8deg;transition:rotate .3s,scale .3s,box-shadow .3s}
.gal figure:nth-child(4n+2){rotate:2deg}
.gal figure:nth-child(4n+3){rotate:-.8deg}
.gal figure:nth-child(4n+4){rotate:2.6deg}
.gal figure:hover{rotate:0deg;scale:1.04;z-index:2;position:relative;box-shadow:0 2px 4px rgba(0,0,0,.4),0 18px 36px rgba(0,0,0,.55)}
.gal img{border-radius:1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.gal .gbtn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.lb img{border-radius:3px;border:12px solid #fbfaf6;border-bottom-width:44px;box-shadow:0 18px 50px rgba(0,0,0,.6);max-width:88vw;max-height:76vh}
@media(max-width:600px){.gal{column-gap:14px}.gal figure{padding:7px 7px 30px;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.gal figure:hover{scale:1}}
.gal .gbtn,.gal .gbtn img{border-radius:2px;overflow:hidden}
/* v14: programa (lo que viene / lo que pasó) */
.prog-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:8px}
.prog-bar .tabs{margin:0}
.tab .cnt{display:inline-block;min-width:22px;margin-left:4px;padding:0 6px;border-radius:999px;background:rgba(27,19,17,.1);font-size:12px;line-height:20px;text-align:center}
.tab[aria-selected=true] .cnt{background:rgba(255,255,255,.25)}
.ev-casas{display:flex;gap:6px;flex-wrap:wrap;margin:0}
.band.cream .chip{color:#24201a;border-color:rgba(27,19,17,.3)}
.band.cream .chip:hover{background:#24201a;color:#fff;border-color:#24201a}
.band.cream .chip.on{background:#24201a;color:#fff;border-color:#24201a}
.ev-mes{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:30px 0 4px;color:#5c4b46}
.ev{border-bottom:1.5px solid rgba(27,19,17,.16)}
.ev-mes+.ev{border-top:1.5px solid rgba(27,19,17,.16)}
.ev summary{list-style:none;position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) 28px;gap:14px;align-items:center;padding:16px 0;cursor:pointer}
.ev summary::-webkit-details-marker{display:none}
.ev-f{display:flex;flex-direction:column;line-height:1.05}
.ev-f small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.ev-f b{font-size:22px;color:var(--red);margin:3px 0}
.ev-t{display:block;font-size:clamp(18px,4.6vw,26px);line-height:1.1}
.ev-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:6px;font-size:13px}
.ev-tipo{border:1.5px solid currentColor;border-radius:999px;padding:1px 10px;font-weight:700;font-size:12px}
.ev-casa{opacity:.75}
.ev-hoy{background:var(--red);color:#fff;border-radius:999px;padding:2px 10px;font-weight:700;font-size:12px;letter-spacing:.08em}
.ev-x{position:relative;display:grid;place-items:center;width:28px;height:28px;border:1.6px solid #24201a;border-radius:50%;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .2s,color .2s}
.ev-x svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ev summary:hover .ev-x{background:#24201a;color:#f7efe4}
.ev[open] .ev-x{transform:rotate(180deg);background:var(--red);color:#fff;border-color:var(--red)}
.ev summary:hover .ev-t{color:var(--red)}
.ev-b{padding:0 42px 20px 90px;animation:pop .35s}
.ev-b p{margin:0 0 6px}
.ev-dir{font-size:14px;opacity:.7}
.ev-b .btnrow{margin-top:12px}
.ev-b .cta{margin-top:0}
@media(max-width:560px){.ev summary{grid-template-columns:62px minmax(0,1fr) 26px;gap:10px}.ev-f b{font-size:18px}.ev-b{padding:0 0 18px 72px}}
/* lo que pasó: texto apagado + tachado con fibrón rojo */
.ev.past .ev-f,.ev.past .ev-m{opacity:.55}
.ev.past .ev-f b{color:inherit}
.ev.past summary:hover .ev-t{color:inherit}
.strk{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;filter:url(#fibron);mix-blend-mode:multiply}
.strk path{fill:none;stroke:#e5161a;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}
.strk .s1{stroke-width:8.5;opacity:.9}
.strk .s2{stroke-width:5.5;opacity:.7}
.ev.past.in .strk .s1{animation:fibron .55s cubic-bezier(.5,.1,.3,1) calc(var(--d,0s) + .35s) both}
.ev.past.in .strk .s2{animation:fibron .4s cubic-bezier(.5,.1,.3,1) calc(var(--d,0s) + .85s) both}
.ev.past:not(.in) .strk path{stroke-dashoffset:1}
@keyframes fibron{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.ev-vacio{padding:24px 0}
.ev-cta{margin-top:40px;text-align:center}
.band.cream .ev-casas{background:transparent;padding:0;margin:0;position:static}
/* v16: carta en formato ticket */
.tks{display:grid;gap:34px;justify-items:center;padding:14px 0 10px}
@media(min-width:820px){.tks{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:44px 34px}.tks .tk-w{flex:0 1 410px}}
.tk-w{width:100%;max-width:420px}
.tk-rot{position:relative;transform:rotate(var(--r,0deg));filter:drop-shadow(0 10px 14px rgba(0,0,0,.28)) drop-shadow(0 2px 3px rgba(0,0,0,.18));transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.tk-w:hover .tk-rot{transform:rotate(0deg) translateY(-3px)}
.tk{--z:11px;position:relative;background:#fbf7ef;color:#24201a;padding:30px 24px 28px;font-family:"Courier New",Courier,monospace;font-size:14px;line-height:1.35;
 background-image:radial-gradient(rgba(27,19,17,.045) 1px,transparent 1.2px),linear-gradient(175deg,#fff 0%,#f6f0e4 100%);background-size:5px 5px,100% 100%;
 -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/var(--z) 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/var(--z) 51% repeat-x;
 mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/var(--z) 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/var(--z) 51% repeat-x}
.tk-top,.tk-date,.tk-tot,.tk-foot{display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;letter-spacing:.04em}
.tk-top{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.12em}
.tk-top span:first-child{color:var(--red)}
.tk-t{color:var(--red);text-align:center;font-size:clamp(28px,8vw,38px);line-height:1;margin:18px 0 6px}
.tk-meta{text-align:center;font-size:12.5px;margin:0 0 10px;opacity:.85}
.tk-hr{border-top:2px dashed rgba(27,19,17,.75);margin:10px 0}
.tk-date{font-size:12.5px;font-weight:700}
.tk-aviso{border:1.5px dashed var(--red);color:var(--red);padding:10px 12px;margin:12px 0;font-size:13px;font-weight:700}
.tk-items{padding:6px 0 4px}
.tk-i{padding:5px 0}
.tk-r{display:flex;align-items:flex-end;gap:6px}
.tk-n{min-width:0;flex:0 1 auto;font-weight:700}
.tk-d{flex:1 1 14px;min-width:14px;border-bottom:2px dotted rgba(27,19,17,.55);margin-bottom:.32em}
.tk-p{flex:none;font-weight:700;white-space:nowrap}
.tk-ptxt{white-space:normal;text-align:right;font-weight:700;margin-left:auto}
.tk-sub2{justify-content:flex-end}
.tk-sub .tk-n,.tk-sub .tk-p{font-weight:400;font-size:13px}
.tk-hhr .tk-n,.tk-hhr .tk-p{color:var(--red);font-weight:700}
.tk-x,.tk-xs{flex:none;width:22px;height:22px;align-self:center}
.tk-x{position:relative;display:grid;place-items:center;border:1.6px solid #24201a;border-radius:50%;background:transparent;color:#24201a;cursor:pointer;padding:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .2s,color .2s}
.tk-x svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.tk-x:hover{background:#24201a;color:#fbf7ef}
.tk-x[aria-expanded=true]{transform:rotate(180deg);background:var(--red);border-color:var(--red);color:#fff}
.tk-x:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.tk-more p{margin:4px 30px 4px 0;font-size:12.5px;line-height:1.45;opacity:.85;animation:pop .3s}
.tk-o,.tk-b{display:inline-block;font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.08em;border-radius:3px;padding:0 5px;margin-left:5px;vertical-align:2px;line-height:1.7}
.tk-o{background:#24201a;color:#fff}
.tk-b{border:1.3px solid #24201a}
.tk-b-nuevo,.tk-b-recomendado{background:var(--red);border-color:var(--red);color:#fff}
.tk-b-vege,.tk-b-vegan{border-color:#1f6b3a;color:#1f6b3a}
.tk-nota{font-size:12px;margin:10px 0 0;opacity:.8}
.tk-empty{text-align:center;opacity:.7;margin:8px 0}
.tk-tot{font-weight:700;font-size:16px;margin-top:4px}
.tk-tot span:last-child{text-transform:none}
.tk-bar{height:46px;margin:18px auto 6px;max-width:240px}
.tk-ty{text-align:center;color:var(--red);font-size:26px;margin:8px 0 10px;transform:rotate(-3deg)}
.tk-foot{font-size:11px;opacity:.7;text-transform:none}
.tk-tape{position:absolute;z-index:2;top:-12px;left:50%;width:120px;height:30px;margin-left:-60px;background:rgba(232,221,196,.86);transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.12);
 -webkit-mask:linear-gradient(90deg,transparent 0 2px,#000 2px calc(100% - 2px),transparent 0);mask:linear-gradient(90deg,transparent 0 2px,#000 2px calc(100% - 2px),transparent 0)}
.tk-tape.l{left:22%;transform:rotate(4deg)}
.tk-stk{position:absolute;z-index:3;top:-22px;right:-14px;width:96px;height:96px;display:grid;place-items:center;text-align:center;background:#24201a;color:#fff;font-family:var(--sans);font-weight:900;font-size:13px;letter-spacing:.04em;line-height:1;transform:rotate(12deg);
 clip-path:polygon(50% 0,59% 17%,75% 7%,77% 25%,95% 25%,86% 41%,100% 50%,86% 59%,95% 75%,77% 75%,75% 93%,59% 83%,50% 100%,41% 83%,25% 93%,23% 75%,5% 75%,14% 59%,0 50%,14% 41%,5% 25%,23% 25%,25% 7%,41% 17%)}
@media(max-width:480px){.tk{padding:28px 18px 26px;font-size:13.5px}.tk-stk{width:82px;height:82px;font-size:12px;right:-6px}}
@media(prefers-reduced-motion:reduce){.tk-rot{transform:none}}
/* v17: carta sobre acero inoxidable */
body[data-page=menu]{background:#7f7e79}
body[data-page=menu]:before{content:"";position:fixed;inset:0;z-index:-1;background:#7f7e79 url("fotos/acero.jpg") center/cover no-repeat;background-image:image-set(url("fotos/opt/acero-736.webp") type("image/webp"),url("fotos/acero.jpg") type("image/jpeg"));pointer-events:none}
body[data-page=menu] #app>section.wrap{color:#24201a}
body[data-page=menu] .gt{color:#24201a;text-shadow:0 1px 0 rgba(255,255,255,.25)}
body[data-page=menu] .gt .det{border-color:rgba(20,20,20,.45);color:#24201a}
body[data-page=menu] .gnav{background:rgba(120,119,114,.55);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);margin:0 -22px;padding:10px 22px}
body[data-page=menu] .chip{color:#24201a;border-color:rgba(20,20,20,.5)}
body[data-page=menu] .chip:hover,body[data-page=menu] .chip.on{background:#24201a;color:#fff;border-color:#24201a}
body[data-page=menu] .carta-btn{color:#24201a;border-color:#24201a;background:rgba(255,255,255,.12)}
body[data-page=menu] .carta-btn[aria-pressed="true"]{background:#24201a;color:#fff}
body[data-page=menu] #app .note{color:#24201a;opacity:.85}
/* v18: cabeceras sin título visible (la cinta nombra la sección; el h1 queda oculto para Google y lectores de pantalla) */
.phero.nt .hero{min-height:150px;padding:40px 22px 60px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.phero.nt.ns .hero{min-height:190px}
.phero.nt .hero p{font-size:17px;font-weight:700;max-width:520px}
@media(min-width:760px){.phero.nt .hero{min-height:220px}.phero.nt.ns .hero{min-height:250px}}
/* v19: galería en blanco y negro; color con el cursor (escritorio) o al pasar por el centro al scrollear (celular) */
.gal img{filter:grayscale(1) contrast(1.05);transition:filter .7s ease,transform .3s}
@media(hover:hover),(any-hover:hover){.gal figure:hover img,.gal .gbtn:focus-visible img{filter:none}}
@media(hover:none){.gal figure.col img{filter:none}}
.lb img{filter:none}
/* v20: carta — botones de carta y chips de categorías en Grotesk Collective */
.carta-btn span,body[data-page=menu] .gnav .chip{font-family:"Grotesk Collective","Arial Black",Impact,sans-serif;font-weight:400;font-synthesis:none;letter-spacing:.01em}
body[data-page=menu] .gnav .chip{font-size:15px;padding:6px 16px 7px}
.carta-btn span{font-size:16px}
/* v23: inicio — pila de polaroids, casas resumidas, momentos */
.pila{position:relative;width:min(100%,400px);aspect-ratio:1/1.14;margin:10px auto 20px}
.pol{position:absolute;inset:4% 6%;margin:0;background:#f7f6f1;padding:5.5% 5.5% 21%;border-radius:2px;
 box-shadow:0 1px 1px rgba(0,0,0,.18),0 12px 28px rgba(27,19,17,.28);transform:translate(var(--px),var(--py)) rotate(var(--pr));opacity:0;
 background-image:linear-gradient(135deg,rgba(255,255,255,.7),rgba(0,0,0,.025))}
.pol img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.pol.cae{opacity:1;animation:cae .55s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes cae{0%{opacity:0;transform:translate(calc(var(--px) * 3),calc(var(--py) - 36px)) rotate(calc(var(--pr) * -2.2)) scale(1.12)}60%{opacity:1}100%{opacity:1;transform:translate(var(--px),var(--py)) rotate(var(--pr)) scale(1)}}
@media(prefers-reduced-motion:reduce){.pol{opacity:1}}
.loc .btnrow{margin-top:10px}
.strip.mom figure{position:relative;margin:0}
.strip.mom figcaption{position:absolute;left:10px;bottom:10px;right:10px;width:fit-content;background:#fbf7ef;color:#24201a;font-family:"Courier New",Courier,monospace;font-weight:700;font-size:13px;line-height:1.2;padding:5px 8px;transform:rotate(-2deg);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.strip.mom figure:nth-child(even) figcaption{transform:rotate(1.5deg)}
/* v24: auditoría — fotos livianas, accesibilidad, "abierto ahora", vistazo compacto */
picture{display:contents}
img{height:auto;max-width:100%}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;display:block}
.tile.ph{isolation:isolate;background:#222}
.tile.ph:before{z-index:-1}
.tile-img{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.tile.ph:hover .tile-img{transform:scale(1.04)}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:#fff;color:var(--red);font-weight:700;padding:10px 16px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px!important}
#app:focus{outline:none}
.nojs{text-align:center;padding:40px 22px}
.quieto .ring,.quieto .star{animation-play-state:paused}
/* abierto ahora / cerrado */
.ahora{display:inline-flex;align-items:center;gap:8px;margin:2px 0 8px;font-size:13px;font-weight:700;letter-spacing:.02em;border:1.5px solid currentColor;border-radius:999px;padding:3px 12px 3px 10px;opacity:.85}
.ahora i{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}
.ahora.on{opacity:1}
.ahora.on i{background:#3ddc6a;opacity:1;box-shadow:0 0 0 3px rgba(61,220,106,.25)}
.band.cream .ahora.on i{background:#1f9d4a;box-shadow:0 0 0 3px rgba(31,157,74,.18)}
/* área táctil más grande para la flecha de la carta, sin cambiar cómo se ve */
.tk-x:after{content:"";position:absolute;inset:-11px}
/* contraste */
.ev-f b{color:var(--red-deep)}
body[data-page=menu] .gnav{background:rgba(140,139,134,.82)}
/* vistazo: en celular, tarjetas de a dos y más bajas (la home era muy larga) */
@media(max-width:619px){
 .grid.tiles{grid-template-columns:1fr 1fr;gap:10px}
 .tile.ph{min-height:168px;padding:12px;border-radius:18px}
 .tile.ph .tag{top:10px;left:10px;font-size:10px;padding:2px 8px}
 .tile.ph b{font-size:17px;line-height:1.15}
 .tile.ph span:last-child{font-size:12.5px;line-height:1.3;margin-top:3px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile.ph:hover .tile-img{transform:none}}
@media(min-width:760px){.grid.tiles{grid-template-columns:repeat(4,1fr)}.grid.tiles .tile.ph{min-height:190px}}
body[data-page="404"] #app{min-height:calc(100vh - 64px)}
.band.cream h2.ev-mes{color:#5c4b46}
/* v25: sodibar */
.sb-tipos{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.sb-tipos li{border:1.5px solid rgba(27,19,17,.3);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}
.sb-pol{margin:0 auto;width:min(80%,340px);background:#f7f6f1;padding:12px 12px 46px;border-radius:2px;transform:rotate(3deg);box-shadow:0 1px 1px rgba(0,0,0,.18),0 14px 30px rgba(27,19,17,.3);position:relative}
.sb-pol img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.sb-pol figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:"Courier New",Courier,monospace;font-weight:700;font-size:15px;color:#24201a}
.sb-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.sb-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.sb-cb{padding:18px 20px 22px}
.sb-cb h3{font-size:22px;margin-bottom:6px}
.sb-cb p{margin:0;opacity:.9}
.sb-pasos{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media(min-width:760px){.sb-pasos{grid-template-columns:repeat(4,1fr)}}
.sb-pasos li{background:#fff;border:1.5px solid rgba(27,19,17,.14);border-radius:22px;padding:18px 18px 20px}
.sb-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;font-size:20px;margin-bottom:10px}
.sb-pasos b{display:block;font-size:17px;line-height:1.2}
.sb-pasos p{margin:6px 0 0;font-size:14.5px;color:#4a3a36}
.sb-ev{list-style:none;margin:6px 0 0;padding:0}
.sb-ev li{display:grid;grid-template-columns:150px 1fr;gap:4px 16px;align-items:baseline;padding:14px 0;border-bottom:1.5px solid rgba(255,255,255,.16)}
.sb-ev-f{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.sb-ev-f em{font-style:normal;background:var(--red);color:#fff;border-radius:999px;padding:1px 8px;margin-right:6px;opacity:1}
.sb-ev li.fut .sb-ev-f{opacity:1}
.sb-ev b{font-size:clamp(18px,4.4vw,24px);line-height:1.1}
.sb-ev-l{grid-column:2;font-size:14px;opacity:.7}
@media(max-width:560px){.sb-ev li{grid-template-columns:1fr}.sb-ev-l{grid-column:1}}
.sb-res{align-items:start}
.sb-r{margin:0;background:#fbf7ef;color:#24201a;padding:22px 20px 18px;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 10px 24px rgba(27,19,17,.18);transform:rotate(var(--rr,0deg))}
.sb-r blockquote{margin:0;font-size:16px;line-height:1.5}
.sb-r figcaption{margin-top:14px;font-family:"Courier New",Courier,monospace;font-size:13px}
.sb-r figcaption b{display:block;color:var(--red-deep)}
.sb-form{max-width:640px;background:rgba(0,0,0,.14)}
.sb-form label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
.sb-form input,.sb-form select,.sb-form textarea{background:rgba(255,255,255,.14)}
.sb-row{display:grid;gap:0 14px}
@media(min-width:620px){.sb-row{grid-template-columns:1fr 1fr}}
.sb-nec{border:0;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.sb-nec legend{font-weight:700;font-size:14px;margin-bottom:8px;padding:0}
.sb-nec label{margin:0;font-weight:700;font-size:14px;cursor:pointer}
.sb-nec input{position:absolute;opacity:0;width:1px;height:1px}
.sb-nec span{display:inline-block;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px}
.sb-nec input:checked+span{background:#fff;color:var(--red)}
.sb-nec input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}
.sb-form input[type=date]{color-scheme:dark}
.sb-dir{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
#cotizar{scroll-margin-top:64px}
.band>.wrap h2.disp,.band .reveal>h2.disp{font-size:clamp(24px,6.2vw,34px);line-height:1.1}
.sb-r{position:relative}.sb-ej{position:absolute;top:-10px;right:10px;background:var(--red);color:#fff;font:700 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:999px;transform:rotate(3deg)}
/* v27: sodibar — trayectoria */
.sb-stats{display:grid;gap:18px;grid-template-columns:auto 1fr;align-items:center;margin:8px 0 22px;padding:20px 22px;border:1.5px solid rgba(255,255,255,.2);border-radius:22px}
.sb-big{display:flex;flex-direction:column;line-height:1}
.sb-big b{font-size:clamp(56px,14vw,88px);color:var(--red);line-height:.9}
.sb-big span{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;opacity:.8}
.sb-stats ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sb-stats li{border:1.5px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 12px;font-size:13.5px}
.sb-stats li b{color:#fff}
@media(max-width:560px){.sb-stats{grid-template-columns:1fr}}
.sb-years{display:grid;gap:10px}
.sb-year{border-top:1.5px solid rgba(255,255,255,.18)}
.sb-year summary{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 0;cursor:pointer}
.sb-year summary::-webkit-details-marker{display:none}
.sb-year summary .disp{font-size:28px;line-height:1}
.sb-yc{font-size:13px;opacity:.7;flex:1}
.sb-year .ev-x{border-color:#fff;color:#fff}
.sb-year[open] .ev-x{transform:rotate(180deg);background:var(--red);border-color:var(--red)}
.sb-year .sb-ev{margin:0 0 14px}
.sb-ev li{grid-template-columns:64px 1fr;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.sb-ev .sb-ev-f{font-variant-numeric:tabular-nums;opacity:.7}
.sb-ev-t{font-size:15.5px}
.sb-ev-t small{opacity:.65;font-size:13px}
.sb-ev-t em{font-style:normal;background:var(--red);color:#fff;border-radius:999px;padding:1px 8px;margin-right:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:560px){.sb-ev li{grid-template-columns:56px 1fr}}

/* v29: videos (reels), galería paginada, fotos en la historia */
.reels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,62vw);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;margin-top:14px;scrollbar-width:thin}
@media(min-width:760px){.reels{grid-auto-flow:row;grid-template-columns:repeat(var(--n,4),1fr);grid-auto-columns:auto;overflow:visible}}
.reel{position:relative;margin:0;scroll-snap-align:start;border-radius:18px;overflow:hidden;background:#24201a;aspect-ratio:9/16;box-shadow:0 10px 28px rgba(0,0,0,.35)}
.reel video{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer}
.reel-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:62px;height:62px;border-radius:50%;border:2px solid #fff;background:rgba(17,17,17,.55);color:#fff;font-size:22px;display:grid;place-items:center;cursor:pointer;transition:opacity .25s}
.reel-play span{margin-left:4px}
.reel.on .reel-play{opacity:0;pointer-events:none}
.reel figcaption{position:absolute;left:10px;right:10px;bottom:10px;background:#fff;color:#24201a;border-radius:10px;padding:6px 10px;font-size:13.5px;font-weight:700;line-height:1.25;pointer-events:none}
.gal figure.mas{display:none}
.gmore{margin-top:6px}
.tl-f{margin:12px 0 4px;max-width:360px;background:#fbfaf6;padding:8px 8px 34px;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.25),0 8px 20px rgba(0,0,0,.18);rotate:var(--tr,-2deg);position:relative}
.tl-f img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.tl-f figcaption{position:absolute;left:10px;right:10px;bottom:8px;color:#24201a;font-size:13px;line-height:1.2}
@media(prefers-reduced-motion:reduce){.tl-f{rotate:0deg}}
body[data-page=nosotros] .quote.disp,body[data-page=reservas] .quote.disp,body[data-page=contacto] .quote.disp,.band.cream .quote.disp{color:var(--red-deep)}

/* v30: galería estilo slider — banda roja, dos filas que se deslizan solas en sentidos opuestos + grilla de cuadrados sin marco */
.gband{padding-block:10px 30px}
.gband h2.disp{color:#fff}
.mq{display:grid;gap:12px;margin:6px 0 34px;overflow:hidden}
.mq-row{overflow:hidden}
.mq-track{display:flex;gap:12px;width:max-content;animation:mq var(--d,60s) linear infinite}
.mq-row.der .mq-track{animation-direction:reverse}
.mq-row:hover .mq-track,.mq-row:focus-within .mq-track{animation-play-state:paused}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6px))}}
.mq-t{flex:none;width:150px;aspect-ratio:1;padding:0;border:0;background:#0003;cursor:zoom-in;overflow:hidden;border-radius:2px}
.mq-t picture,.mq-t img{display:block;width:100%;height:100%;object-fit:cover}
.mq-t img{transition:transform .4s}
.mq-t:hover img,.mq-t:focus-visible img{transform:scale(1.06)}
.mq-t:focus-visible{outline:3px solid #fff;outline-offset:-3px}
@media(min-width:760px){.mq-t{width:230px}.mq,.mq-track{gap:16px}@keyframes mq{to{transform:translateX(calc(-50% - 8px))}}}
@media(prefers-reduced-motion:reduce){.mq-track{animation:none}.mq-row{overflow-x:auto;scrollbar-width:none}}
body[data-page=galeria] .gal{columns:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0}
@media(min-width:620px){body[data-page=galeria] .gal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){body[data-page=galeria] .gal{grid-template-columns:repeat(4,1fr);gap:14px}}
body[data-page=galeria] .gal figure{margin:0;padding:0;background:#0003;border-radius:2px;box-shadow:none;rotate:none;aspect-ratio:1;overflow:hidden}
body[data-page=galeria] .gal figure:hover{rotate:none;scale:1;box-shadow:none}
body[data-page=galeria] .gal figure.mas{display:none}
body[data-page=galeria] .gal .gbtn,body[data-page=galeria] .gal picture{display:block;height:100%;border-radius:0}
body[data-page=galeria] .gal img{height:100%;object-fit:cover;border-radius:0;box-shadow:none;filter:none;transition:transform .4s}
body[data-page=galeria] .gal figure:hover img{transform:scale(1.06)}
.gband .chip{border-color:#fff}
.gband .gnav.static{margin-bottom:20px}
.gband>section.wrap:first-of-type{padding-bottom:0}.gband .mq{margin:18px 0 44px}

/* v32: auditoría */
nav.main a{opacity:1}
#gate.card{background:rgba(0,0,0,.14)}
@media(max-width:619px){footer nav{gap:2px 18px}footer nav a{display:inline-block;padding:7px 0}}
.tk-x::after{content:"";position:absolute;inset:-8px}
.tk-rot:has(.tk-stk) .tk-top{padding-right:78px}
@media(max-width:480px){.tk-rot:has(.tk-stk) .tk-top{padding-right:70px}}
body[data-page=contacto] .band>section.wrap>*+*{margin-top:14px}
.btnrow .pill{display:inline-flex;align-items:center;margin:0;min-height:38px;padding:0 16px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:619px){.grid.tiles .tile:last-child:nth-child(odd){grid-column:span 2}}
@media(min-width:760px){.grid.tiles .tile:last-child:nth-child(4n+1){grid-column:span 4}.grid.tiles .tile:last-child:nth-child(4n+3){grid-column:span 2}}

/* v33: carta en recibos apilados (pila por grupo; el recibo elegido pasa al frente) */
.tks.pile{display:block;position:relative;max-width:420px;margin:18px auto 10px;padding:0;transition:height .45s cubic-bezier(.2,.8,.2,1);clip-path:inset(-140px -80px 0 -80px)}
.tks.pile .tk-w{position:absolute;left:0;right:0;top:0;width:auto;max-width:none;transition:top .45s cubic-bezier(.2,.8,.2,1)}
.tks.pile .tk-w .tk-rot{transform:translateX(var(--x,0)) rotate(var(--r,0deg))}
.tks.pile .tk-w.act .tk-rot{transform:none;filter:drop-shadow(0 18px 26px rgba(0,0,0,.36)) drop-shadow(0 3px 5px rgba(0,0,0,.2))}
.tks.pile .tk-w:not(.act):hover .tk-rot{transform:translateX(var(--x,0)) translateY(-7px) rotate(var(--r,0deg))}
.tk-pick{position:absolute;left:0;right:0;top:-8px;height:calc(var(--strip,96px) + 8px);z-index:6;margin:0;padding:0;border:0;background:none;cursor:pointer;color:transparent;font-size:0;-webkit-tap-highlight-color:transparent}
.tk-pick:focus-visible{outline:3px solid #24201a;outline-offset:2px;border-radius:6px}
.tks.pile .tk-w.act .tk-pick,.tks:not(.pile) .tk-pick{display:none}
@media(max-width:480px){.tks.pile{margin-inline:8px}}
@media(prefers-reduced-motion:reduce){.tks.pile,.tks.pile .tk-w,.tks.pile .tk-rot{transition:none}}
@media(min-width:900px){.grps{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:start}.grps .tks.pile{max-width:none}.grps .tks:not(.pile){display:block}.grps .tks:not(.pile) .tk-w{max-width:none}}

/* v34: carta en collage (todos los recibos de la carta juntos, desordenados; el elegido pasa al frente) */
.tks.collage{--W:min(1060px,calc(100vw - 28px));width:var(--W);max-width:none;margin:8px 0 10px calc((100% - var(--W))/2);clip-path:inset(-200px -60px 0 -60px)}
.tks.collage .tk-w{right:auto}
.tks.collage .tk-w .tk-rot{transform:rotate(var(--r,0deg))}
.tks.collage .tk-w.act .tk-rot{transform:rotate(calc(var(--r,0deg) * .15)) scale(1.015)}
.tks.collage .tk-w:not(.act):hover .tk-rot{transform:translateY(-8px) rotate(calc(var(--r,0deg) * .7))}
.tks.collage .tk-w.act .tk-pick{display:block;height:calc(var(--strip,96px) - 30px)}
.tks.collage .tk-w.t1 .tk{background-image:radial-gradient(rgba(27,19,17,.05) 1px,transparent 1.2px),linear-gradient(170deg,#f7efd9 0%,#ecdfc2 100%)}
.tks.collage .tk-w.t2 .tk{background-image:radial-gradient(rgba(27,19,17,.035) 1px,transparent 1.2px),linear-gradient(180deg,#fff 0%,#f4f4f1 100%)}
.tks.collage .tk-w.t3 .tk{background-image:radial-gradient(rgba(27,19,17,.045) 1px,transparent 1.2px),linear-gradient(172deg,#f9e9e4 0%,#f1d9d2 100%)}
.tks.collage .tk-w.clip .tk-rot::before{content:"";position:absolute;z-index:4;top:-46px;left:50%;width:74px;height:80px;margin-left:-37px;pointer-events:none;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 80'%3E%3Cpath d='M22 44 C18 20 20 4 37 4 C54 4 56 20 52 44' fill='none' stroke='%23c9c9c9' stroke-width='4.5'/%3E%3Cpath d='M22 44 C18 20 20 4 37 4 C54 4 56 20 52 44' fill='none' stroke='%23777' stroke-width='1.2'/%3E%3Cpath d='M6 46 H68 L62 76 H12 Z' fill='%23161616'/%3E%3Cpath d='M10 48 H64 L62 54 H12 Z' fill='%23444'/%3E%3C/svg%3E") center/contain no-repeat}
.tks.collage .tk-w.clip .tk-tape{display:none}
.tks.collage .tk-w.pin .tk-rot::after{content:"";position:absolute;z-index:4;top:14px;left:18px;width:15px;height:15px;border-radius:50%;pointer-events:none;
 background:radial-gradient(circle at 35% 30%,#fff6c9 0 18%,#d7a63a 40%,#8a6216 100%);box-shadow:1px 3px 3px rgba(0,0,0,.35)}
.tks-hint{text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;color:#24201a;opacity:.75;margin:22px 0 46px}
@media(max-width:739px){.tks.collage .tk{font-size:13px}}
@media(max-width:739px){.tks.collage{overflow-x:clip;overflow-clip-margin:10px}.tks.collage .tk-w .tk-rot{transform:rotate(calc(var(--r,0deg) * .7))}.tks.collage .tk-w:not(.act):hover .tk-rot{transform:rotate(calc(var(--r,0deg) * .7))}}
.tks-hint{width:max-content;max-width:100%;margin:22px auto 50px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.82);color:#24201a;opacity:1}

/* v35: nosotros — línea de tiempo con fotos chicas numeradas (ref. de Noelia: foto ≈ 4 renglones de alto, sin marco ni descripción) */
.tl-i.con-foto{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:start}
.tl-t{display:block;width:92px;margin:var(--dy,0) 0 0 var(--dx,0);padding:0;border:0;background:none;cursor:zoom-in;text-align:left;color:inherit}
.tl-t .tl-n{display:block;font-size:11px;letter-spacing:.08em;margin:0 0 5px 2px;opacity:.85}
.tl-t picture,.tl-t img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.tl-t img{box-shadow:0 6px 14px rgba(0,0,0,.22);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.tl-t:hover img,.tl-t:focus-visible img{transform:scale(1.06) rotate(-1.5deg)}
.tl-t:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:559px){.tl-i.con-foto{grid-template-columns:1fr}.tl-t{width:84px;margin:12px 0 2px calc(var(--dx,0px) * 3)}}
@media(min-width:760px){.tl-t{width:112px}}
@media(min-width:560px){.tl-i.con-foto{grid-template-columns:minmax(0,480px) auto;justify-content:start;column-gap:34px}}

/* v36: frases destacadas en Inter Tight medium, apretada (ref. de Noelia) */
.hero p,h2.disp+p,.tks-hint,.tile.ph span:last-child,body[data-page=nosotros] .wrap>.reveal:nth-child(2)>p{font-family:var(--frase);font-weight:var(--frase-w);letter-spacing:var(--frase-ls)}
h2.disp+p{font-size:1.08em;line-height:1.4}

/* v37: polaroids del inicio con marco parejo y sombra sutil · títulos de la carta a máquina · pie con volver arriba · galería en blanco · programa títulos -15% */
.pol{padding:6%;box-shadow:0 1px 2px rgba(0,0,0,.12),0 3px 8px rgba(0,0,0,.08);background:#fbfaf7;background-image:none;border-radius:1px}
.tk-t.disp{font-family:"Courier New",Courier,monospace;font-weight:700;letter-spacing:-.03em;line-height:1.05}
footer .arriba{display:inline-flex;align-items:center;gap:8px;margin:6px 0 18px;padding:12px 22px;border:1.5px solid #fff;border-radius:999px;background:transparent;color:#fff;font:700 13px/1 var(--sans);letter-spacing:.08em;cursor:pointer;transition:background .2s,color .2s}
footer .arriba:hover,footer .arriba:focus-visible{background:#fff;color:#24201a}
footer small{display:block}
.band.red.gband{background:#fff}
.gband h2.disp{color:var(--red)}
.gband .mq-t{background:#eee}
.ev-t{font-size:clamp(15.3px,3.91vw,22.1px)}

/* v38: todo el texto en Inter Tight con el espaciado apretado de las cabeceras (los rótulos en mayúscula conservan su espaciado propio) */
body{letter-spacing:var(--frase-ls)}
.band.cream .cta.ghost{color:var(--red-deep);border-color:var(--red-deep)}

/* v39: menú del celu = tira de papel que se desenrolla (ref. Sweet Tape "pull down menu") */
.tira{display:none}
@media(max-width:860px){
 .tira{display:block;position:absolute;right:14px;top:100%;width:min(330px,calc(100vw - 28px));z-index:25;pointer-events:none}
 .tira-papel{display:block;height:0;overflow:hidden;pointer-events:auto;background:#fbf7ef;color:#24201a;
  background-image:radial-gradient(rgba(27,19,17,.045) 1px,transparent 1.2px),linear-gradient(178deg,#f3ecdd 0%,#fbf7ef 14%,#fff 100%);background-size:5px 5px,100% 100%;
  box-shadow:0 14px 26px rgba(0,0,0,.28),0 2px 4px rgba(0,0,0,.18);transition:height .62s cubic-bezier(.3,1.32,.48,1)}
 .tira.tirando .tira-papel{transition:none}
 .tira-in{padding:10px 18px 14px}
 .tira-in a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px 9px;text-decoration:none;color:#24201a;border-top:2px dotted rgba(27,19,17,.55);
  font-family:"Grotesk Collective","Arial Black",Impact,sans-serif;font-size:27px;line-height:1;letter-spacing:.005em;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1),color .2s}
 .tira-in a:first-child{border-top:0}
 .tira-in a.on{color:var(--red)}
 .tira-in a i{flex:none;display:grid;place-items:center;width:24px;height:24px;border:1.6px solid currentColor;border-radius:50%;transition:transform .25s}
 .tira-in a i svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
 .tira-in a:hover,.tira-in a:focus-visible{color:var(--red)}
 .tira-in a:hover i,.tira-in a:focus-visible i{transform:translateX(3px)}
 .tira-in a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
 .tira.open .tira-in a{opacity:1;transform:none}
 .tira.open .tira-in a:nth-child(1){transition-delay:0.10s,0.10s,0s}.tira.open .tira-in a:nth-child(2){transition-delay:0.13s,0.13s,0s}.tira.open .tira-in a:nth-child(3){transition-delay:0.17s,0.17s,0s}.tira.open .tira-in a:nth-child(4){transition-delay:0.20s,0.20s,0s}.tira.open .tira-in a:nth-child(5){transition-delay:0.24s,0.24s,0s}.tira.open .tira-in a:nth-child(6){transition-delay:0.27s,0.27s,0s}.tira.open .tira-in a:nth-child(7){transition-delay:0.31s,0.31s,0s}.tira.open .tira-in a:nth-child(8){transition-delay:0.34s,0.34s,0s}.tira.open .tira-in a:nth-child(9){transition-delay:0.38s,0.38s,0s}.tira.open .tira-in a:nth-child(10){transition-delay:0.41s,0.41s,0s}.tira.open .tira-in a:nth-child(11){transition-delay:0.45s,0.45s,0s}.tira.open .tira-in a:nth-child(12){transition-delay:0.48s,0.48s,0s}
 .tira-tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;margin:0 0 0 auto;pointer-events:auto;touch-action:none;cursor:grab;
  width:78px;padding:8px 6px 16px;border:0;border-radius:0;background:#fbf7ef;color:#24201a;font-family:"Courier New",Courier,monospace;
  filter:drop-shadow(0 5px 6px rgba(0,0,0,.25));
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/10px 51% repeat-x,linear-gradient(#000 0 0) top/100% calc(100% - 5px) no-repeat;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/10px 51% repeat-x,linear-gradient(#000 0 0) top/100% calc(100% - 5px) no-repeat;
  transition:padding .25s}
 .tira-tab:active{cursor:grabbing}
 .tira-tab b{font-size:13px;letter-spacing:.06em}
 .tira-tab small{font-size:11px;letter-spacing:0}
 .tira:not(.open) .tira-tab:hover{padding-top:13px}
 .tira-tab:focus-visible{outline:2px solid #fff;outline-offset:3px}
 .tira.quieto .tira-papel,.tira.quieto .tira-in a{transition:none}
 header.top .burger:not(.tira-tab){display:none}
}
@media(max-width:860px){.tira.tirando .tira-in a{opacity:1;transform:none;transition:none}}
@media(max-width:860px){
 /* v39b: menú desplegado al 50% (papel y texto); la pestaña solo dice MENÚ */
 .tira{width:min(165px,calc(50vw - 14px))}
 .tira-in{padding:5px 9px 7px}
 .tira-in a{font-size:13.5px;padding:7px 1px 5px;gap:6px;border-top-width:1px}
 .tira-in a i{width:13px;height:13px;border-width:1px}
 .tira-in a i svg{width:8px;height:8px;stroke-width:3}
 .tira-papel{box-shadow:0 8px 16px rgba(0,0,0,.26),0 1px 3px rgba(0,0,0,.16)}
 .tira-tab{width:70px;padding:9px 6px 15px}
}
@media(max-width:860px){.tira{position:fixed;top:calc(65.5px + env(safe-area-inset-top,0px));z-index:40}}

/* v42: pestaña del menú en Inter · programa: foto que aparece al pasar por cada evento (ref. The Design Society) */
.tira-tab{font-family:var(--sans)}
.tira-tab b{font-weight:700;letter-spacing:.04em}
.evcard{position:fixed;z-index:19;pointer-events:none;opacity:0;transform-origin:50% 50%;transition:opacity .25s,scale .3s cubic-bezier(.2,.8,.2,1);scale:.85}
.evcard.on{opacity:1;scale:1}
.evcard .evc-in{position:relative;overflow:hidden;background:#24201a;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.evcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.65,0,.25,1)}
.evcard .evc-l{position:absolute;left:50%;bottom:14%;translate:-50% 0;white-space:nowrap;background:var(--red);color:#fff;font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.evcard.sigue{left:0;top:0}
.evcard.sigue .evc-in{width:190px;aspect-ratio:4/5}
.evcard.fija{right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none}
.evcard.fija.on{pointer-events:auto;cursor:pointer}
.evcard.fija .evc-in{width:104px;aspect-ratio:4/5;border:3px solid #fbfaf7}
.evcard.fija .evc-l{font-size:9px;padding:4px 7px;bottom:8px}
@media(prefers-reduced-motion:reduce){.evcard img{transition:none}}

/* v45: cabeceras internas: bajada 20% más chica en celular */
@media(max-width:619px){.hero p{font-size:14.4px}.phero.nt .hero p{font-size:13.6px}}
/* v45: nosotros — historia horizontal (la sección queda fija y las fechas pasan de costado al scrollear/deslizar) */
.hz-bar{display:none}
.hz.hz-on{position:relative}
.hz.hz-on .hz-pin{position:sticky;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hz.hz-on .hz-head{width:100%;padding-bottom:0}
.hz.hz-on .hz-head h2{margin-bottom:6px}
.hz.hz-on .hz-bar{display:block;width:100%;max-width:none;height:3px;background:rgba(255,255,255,.22);margin:10px 0 4px!important;overflow:hidden;border-radius:2px}
.hz.hz-on .hz-bar i{display:block;height:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.hz.hz-on .hz-vp{width:100%;overflow:visible;padding:18px 0 10px}
.hz.hz-on .tl.hz-track{display:flex;align-items:flex-start;gap:clamp(36px,6vw,80px);width:max-content;border-left:0;padding:96px max(22px,calc((100vw - 900px)/2 + 22px)) 0;margin:0;position:relative;will-change:transform}
.hz-line{position:absolute;left:0;top:4px;overflow:visible;pointer-events:none}
.hz-line path{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset .25s linear}
.hz.hz-on .tl-i{flex:none;width:min(72vw,300px);padding:0;display:block}
.hz.hz-on .tl-i:before{left:1px;top:calc(var(--doty,30px) - 99px);z-index:1}
.hz.hz-on .tl-i.reveal{opacity:0;transform:translateX(46px);transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1)}
.hz.hz-on .tl-i.reveal.in{opacity:1;transform:none}
.hz.hz-on .tl-i .when{font-size:13px}
.hz.hz-on .tl-i p{margin-top:6px}
@media(min-width:760px){.hz.hz-on .tl-i{width:330px}}
/* v46: 2-3 fotos apiladas por momento (ref. reel de almuerzos): sin borde ni sombra, una sobre otra, caen de a una al aparecer */
.tl-st{position:relative;width:min(46vw,175px);aspect-ratio:4/5;margin:22px 0 8px 14px}
.tl-st .tl-t{position:absolute;inset:0;width:100%;margin:0;transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0))}
.tl-st .tl-t img{box-shadow:none;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;transition:none}
.tl-st .tl-t picture{height:100%}
.tl-st .tl-t:hover img,.tl-st .tl-t:focus-visible img{transform:none}
.tl-i.con-foto{display:block}
.hz.hz-on .tl-st .tl-t{opacity:0;transform:translate(var(--x,0),calc(var(--y,0) - 26px)) rotate(calc(var(--r,0) * 2.2)) scale(1.12);transition:opacity .25s var(--d,0s),transform .5s cubic-bezier(.2,.9,.25,1.15) var(--d,0s)}
.hz.hz-on .tl-i.in .tl-st .tl-t{opacity:1;transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0))}
@media(min-width:760px){.tl-st{width:190px}}
@media(max-height:700px){.tl-st{width:120px}}

/* v47: club — pedir la credencial por mail */
.cred h2{margin:0 0 8px}
.cred p{margin:0 0 12px}
.cred input[type=email]{width:100%;padding:13px 14px;border-radius:14px;border:1.5px solid rgba(255,255,255,.6);background:rgba(255,255,255,.14);color:#fff;font:inherit}
.cred input[type=email]::placeholder{color:rgba(255,255,255,.75)}
.cred input[type=email]:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cred .cta{margin-top:12px}
.cred .fmsg{margin:12px 0 0;min-height:1.2em}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
#credencial{margin-top:26px}

/* v48: inicio — fotos apiladas como el reel de almuerzos: sin marco, sin sombra, una sobre otra */
.pol{padding:0;box-shadow:none;background:none;background-image:none;border-radius:0;inset:6% 10%}
.pol img{filter:none}

/* v50: sodita club — estética "socialfi" (ref. de Noelia) con identidad sodita: rojo con grilla, títulos gigantes, flechas a mano celestes, tarjetas de vidrio, sello que gira, panel crema con tarjetas */
body[data-page=club]{--cel:#9fd6ff;--crema:#f7efe4;--tinta:#24201a}
.ch{position:relative;overflow:hidden;padding:clamp(28px,6vw,60px) 0 clamp(90px,14vw,150px)}
.ch-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.ch-in{position:relative;text-align:center}
.ch-t{font-family:"Grotesk Collective","Arial Black",Impact,sans-serif;font-weight:400;font-size:clamp(64px,17vw,200px);line-height:.86;letter-spacing:-.01em;margin:0;color:#fff}
.ch-h{color:var(--cel);margin-right:.04em;display:inline-block;transform:rotate(-8deg)}
.ch-o{font-size:.55em;display:inline-block;margin-top:.12em;-webkit-text-stroke:2px #fff;color:transparent}
.ch-sub{max-width:460px;margin:22px auto 0;font-family:var(--frase);font-weight:500;font-size:17px;line-height:1.4}
@media(max-width:619px){.ch-sub{font-size:14.4px}}
.cl-fl{position:absolute;width:clamp(70px,13vw,140px);fill:none;stroke:var(--cel);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ch .f1{right:2%;top:2%;width:clamp(60px,9vw,110px)}
.ch .f2{left:3%;bottom:30%;transform:rotate(-8deg)}
.ch-g{position:absolute;padding:12px 16px;border-radius:20px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left;box-shadow:0 10px 30px rgba(80,0,0,.18);animation:chf 6s ease-in-out infinite}
.ch-g b{display:block;font-family:"Grotesk Collective","Arial Black",sans-serif;font-weight:400;font-size:clamp(18px,2.6vw,26px);line-height:1}
.ch-g span{font-size:12.5px;opacity:.9}
.ch-g1{left:6%;top:30%;transform:rotate(-6deg)}
.ch-g2{right:7%;top:56%;transform:rotate(5deg);animation-delay:-3s}
@keyframes chf{50%{translate:0 -8px}}
.ch-badge{position:absolute;right:5%;bottom:6%;width:clamp(96px,14vw,132px);aspect-ratio:1;border-radius:50%;background:var(--cel);color:var(--tinta);display:grid;place-items:center;text-decoration:none;box-shadow:0 8px 20px rgba(80,0,0,.25)}
.ch-badge svg{position:absolute;inset:0;animation:chr 14s linear infinite}
.ch-badge text{font-family:var(--sans);font-weight:700;font-size:10.5px;letter-spacing:.05em;fill:var(--tinta)}
.ch-bi{font-size:30px;font-weight:700;line-height:1}
.ch-badge:hover .ch-bi,.ch-badge:focus-visible .ch-bi{transform:rotate(45deg)}
@keyframes chr{to{transform:rotate(360deg)}}

.cl-panel{position:relative;background:var(--crema);color:var(--tinta);border-radius:clamp(26px,5vw,48px) clamp(26px,5vw,48px) 0 0;margin-top:-56px;padding:clamp(22px,5vw,56px) clamp(14px,4vw,48px) 60px}
.cl-panel>section{max-width:1060px;margin:0 auto clamp(36px,6vw,64px)}
.cl-card{background:#fff;border-radius:26px;padding:clamp(20px,3vw,30px);position:relative}
.cl-h{font-family:"Grotesk Collective","Arial Black",sans-serif;font-weight:400;font-size:clamp(26px,4.4vw,40px);line-height:.95;margin:0 0 10px;color:var(--red)}
.cl-hc{text-align:center;margin-bottom:22px}
.cl-card h3{font-family:"Grotesk Collective","Arial Black",sans-serif;font-weight:400;font-size:clamp(20px,2.6vw,26px);line-height:.95;margin:0 0 6px;color:var(--tinta)}
.cl-card p{margin:0 0 12px;font-size:15px;line-height:1.4}
.cl-btn{display:inline-block;border:0;border-radius:999px;background:var(--red);color:#fff;font:700 14px/1 var(--sans);letter-spacing:.04em;padding:15px 22px;cursor:pointer;text-decoration:none;margin-top:12px;transition:transform .2s}
.cl-btn:hover{transform:translateY(-2px) rotate(-1deg)}
.cl-btn:focus-visible{outline:3px solid var(--tinta);outline-offset:3px}
.cl-pill{display:inline-flex;align-items:baseline;gap:8px;border-radius:999px;padding:12px 20px;font:700 22px/1 var(--sans);text-decoration:none;color:inherit}
.cl-pill small{font-size:12px;font-weight:500;opacity:.85}
.cl-azul{background:var(--tinta);color:#fff}.cl-roja{background:var(--red);color:#fff}.cl-celeste{background:var(--cel);color:var(--tinta)}
/* tu credencial */
.cl-cred{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media(min-width:820px){.cl-cred{grid-template-columns:1fr 1.05fr}}
body[data-page=club] .cred input[type=email]{width:100%;padding:14px 16px;border-radius:999px;border:2px solid var(--tinta);background:#fff;color:var(--tinta);font:inherit}
body[data-page=club] .cred input[type=email]::placeholder{color:rgba(27,19,17,.55)}
body[data-page=club] .cred input[type=email]:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.cl-mini{font-size:13px!important;opacity:.75;margin-top:14px!important}
body[data-page=club] .cred .fmsg{color:var(--red);font-weight:700}
#credencial{margin-top:0}
/* credencial 3D */
.cred3d{perspective:1100px;width:min(100%,460px);margin:0 auto;aspect-ratio:1.25;position:relative;touch-action:pan-y;cursor:grab}
.c3-in{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform;animation:c3idle 7s ease-in-out infinite}
.cred3d.on .c3-in{animation:none}
@keyframes c3idle{0%,100%{transform:rotateX(4deg) rotateY(-10deg)}50%{transform:rotateX(-3deg) rotateY(9deg)}}
.c3{position:absolute;width:78%;aspect-ratio:1.586;border-radius:6%/9.5%;background:var(--red);color:#fff;overflow:hidden;box-shadow:0 18px 40px rgba(60,0,0,.28)}
.c3-front{left:0;top:4%;transform:translateZ(40px) rotate(-4deg)}
.c3-back{right:0;bottom:2%;transform:translateZ(0) rotate(5deg);background:#d10d0d}
.c3-foto{position:absolute;left:6%;top:9%;width:30%;aspect-ratio:.86;border:3px solid #1d2b6b;overflow:hidden;background:#fff}
.c3-foto picture,.c3-foto img{display:block;width:100%;height:100%;object-fit:cover}
.c3-star{position:absolute;left:30%;top:44%;width:13%;fill:var(--cel);stroke:#1d2b6b;stroke-width:1.2}
.c3-tit{position:absolute;right:6%;top:9%;font-family:var(--sans);font-weight:700;font-size:clamp(22px,5.4vw,36px);line-height:.92;text-align:right;letter-spacing:-.02em}
.c3-nom{position:absolute;left:6%;bottom:9%;line-height:1}
.c3-nom b{display:block;font-family:var(--sans);font-weight:700;font-size:clamp(18px,4vw,26px);letter-spacing:-.01em}
.c3-nom span{font-size:clamp(9px,1.8vw,11px);font-weight:700}
.c3-bar{position:absolute;right:6%;bottom:9%;width:36%;background:#fff;padding:4% 4% 2%;border-radius:2px;text-align:center}
.c3-bar i{display:block;height:clamp(20px,4.6vw,30px);background:repeating-linear-gradient(90deg,#24201a 0 2px,transparent 2px 3px,#24201a 3px 4px,transparent 4px 7px,#24201a 7px 10px,transparent 10px 11px)}
.c3-bar small{display:block;color:#24201a;font-size:clamp(6px,1.3vw,8px);letter-spacing:.08em;margin-top:2px}
.c3b-tira{position:absolute;left:0;right:0;top:16%;height:17%;background:#24201a}
.c3b-firma{position:absolute;left:7%;top:44%;width:62%;height:17%;background:#fff;overflow:hidden;display:flex;align-items:center}
.c3b-firma span{color:var(--red);font-size:9px;font-weight:700;white-space:nowrap;transform:rotate(-12deg) scale(1.6);opacity:.55}
.c3b-n{position:absolute;left:7%;bottom:18%;font-size:clamp(16px,3.4vw,22px)}
.c3b-st{position:absolute;left:7%;bottom:6%;font-size:clamp(11px,2.4vw,15px);letter-spacing:.15em}
.c3-star2{left:auto;right:9%;top:auto;bottom:10%;width:14%}
.c3-glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.55),rgba(255,255,255,0) 48%);mix-blend-mode:soft-light;opacity:.5;transition:opacity .3s}
.cred3d.on .c3-glare{opacity:1}
@media(prefers-reduced-motion:reduce){.c3-in{animation:none}.ch-g,.ch-badge svg{animation:none}}
/* pasos */
.cl-3{display:grid;grid-template-columns:1fr;gap:16px;align-items:center}
.cl-3 .cl-fl{position:relative;justify-self:center;width:70px;stroke:var(--tinta);stroke-width:4;transform:rotate(90deg)}
@media(min-width:820px){.cl-3{grid-template-columns:1fr 70px 1fr 70px 1fr}.cl-3 .cl-fl{transform:none}}
.cl-3 .cl-card{text-align:center;min-height:100%}
.cl-3b{grid-template-columns:1fr}
@media(min-width:700px){.cl-3b{grid-template-columns:repeat(3,1fr)}}
.cl-3b .star{position:absolute;right:14px;top:12px;width:30px;height:30px}
.cl-calc .calc{text-align:center}
.cl-calc output{display:block;font-family:"Grotesk Collective","Arial Black",sans-serif;font-size:clamp(40px,8vw,68px);color:var(--tinta);margin:4px 0}
.cl-calc input[type=range]{width:100%;accent-color:var(--red)}
.cl-calc .row2{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:16px 0}
.cl-calc .row2 .cl-pill{flex-direction:column;align-items:center;gap:4px;padding:14px 26px;border-radius:26px}
.cl-calc .row2 strong{font-size:26px}
.cl-calc .note{font-size:13px;opacity:.75}
.cl-prop{text-align:center;font-family:var(--frase);font-weight:500;font-size:16px;margin-top:22px}
.cl-giftc{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--red);color:#fff}
.cl-giftc .cl-h{color:#fff}
.cl-giftc .cl-btn{background:var(--cel);color:var(--tinta);margin:0}

/* v51: club — ajustes */
.cl-calc .row2 div.cl-pill{border-radius:26px}
.cl-calc .row2 div.cl-roja{background:var(--red);color:#fff}
.cl-calc .row2 div.cl-celeste{background:var(--cel);color:var(--tinta)}
.cl-calc .row2 small{opacity:1;font-weight:700;font-size:12.5px;letter-spacing:.01em}
.cl-calc .row2 strong{line-height:1.05}
/* pasos: cada cajita salta un poquito con el cursor */
.cl-pasos .cl-card{transition:transform .35s cubic-bezier(.34,1.8,.64,1),box-shadow .35s}
@media(hover:hover),(any-hover:hover){.cl-pasos .cl-card:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 14px 28px rgba(27,19,17,.08)}.cl-pasos .cl-card:nth-of-type(2):hover{transform:translateY(-8px) rotate(.6deg)}}
/* cinta del club entre los pasos y la calculadora (sale del borde del panel) */
.cl-cinta{position:relative;height:84px;margin:0 calc(-1 * clamp(14px,4vw,48px)) clamp(36px,6vw,64px);overflow:hidden}
.cl-cinta .cinta{top:0;bottom:auto;transform:none}
/* beneficios: pila que se abre con resorte (ref. transitions.dev card-stack-hover) */
.cl-stack .cl-card{transition:transform .7s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;box-shadow:0 10px 26px rgba(27,19,17,.08)}
.cl-stack .cl-card:nth-child(1){z-index:3}.cl-stack .cl-card:nth-child(2){z-index:2}.cl-stack .cl-card:nth-child(3){z-index:1}
@media(min-width:700px){
 .cl-stack .cl-card:nth-child(1){transform:translateX(calc(100% + 16px)) rotate(-5deg)}
 .cl-stack .cl-card:nth-child(2){transform:rotate(3deg) translateY(6px)}
 .cl-stack .cl-card:nth-child(3){transform:translateX(calc(-100% - 16px)) rotate(8deg) translateY(10px)}
 .cl-stack:hover .cl-card,.cl-stack:focus-within .cl-card{transform:none}
 .cl-stack .cl-card:nth-child(2){transition-delay:.04s}.cl-stack .cl-card:nth-child(3){transition-delay:.08s}
}
@media(min-width:700px) and (hover:none){.cl-stack.open .cl-card{transform:none}}
@media(max-width:699px){
 .cl-stack .cl-card:nth-child(2){transform:translateY(calc(-100% - 6px)) rotate(3deg)}
 .cl-stack .cl-card:nth-child(3){transform:translateY(calc(-200% - 12px)) rotate(-4deg)}
 .cl-stack.open .cl-card{transform:none}
}
@media(prefers-reduced-motion:reduce){.cl-stack .cl-card{transform:none!important;transition:none}}

/* v53: club — botón "mandame mi credencial" que se transforma: cargando → tilde / X */
.cbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 24px;overflow:hidden;white-space:nowrap;transition:width .45s cubic-bezier(.65,0,.35,1),padding .45s cubic-bezier(.65,0,.35,1),background-color .3s,transform .2s}
.cbtn .cb-t{transition:opacity .2s,transform .3s}
.cbtn .cb-i{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .2s}
.cbtn.is-round{width:50px!important;padding:0;transform:none!important}
.cbtn.is-round .cb-t{opacity:0;transform:scale(.8)}
.cbtn.is-round .cb-i{opacity:1;transition-delay:.25s}
.cb-sp{stroke-dasharray:42 100;transform-origin:12px 12px;opacity:0;transition:stroke-dasharray .35s,opacity .2s}
.cbtn.is-load .cb-sp{opacity:1;animation:cbspin .8s linear infinite}
.cbtn.is-ok .cb-sp,.cbtn.is-err .cb-sp{opacity:0;stroke-dasharray:57 100}
@keyframes cbspin{to{transform:rotate(360deg)}}
.cb-ok,.cb-x{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .4s cubic-bezier(.65,0,.35,1) .1s}
.cbtn.is-ok{background:#24201a}
.cbtn.is-ok .cb-ok{stroke-dashoffset:0;stroke:var(--cel)}
.cbtn.is-err{background:#24201a;animation:cbno .4s}
.cbtn.is-err .cb-x{stroke-dashoffset:0}
@keyframes cbno{20%,60%{translate:-5px 0}40%,80%{translate:5px 0}}
.cbtn:disabled{cursor:default}
@media(prefers-reduced-motion:reduce){.cbtn,.cbtn *{transition:none!important;animation:none!important}.cbtn.is-load .cb-sp{opacity:1}}

/* v54: club cabecera — escritorio sin superposición; celu en versión mini con los 3 elementos sobre el título */
.ch-sm{display:none}
@media(min-width:620px){
 .ch-g1{left:1%;top:40%}
 .ch-g2{right:1%;top:10%}
 .ch-badge{right:2%;bottom:auto;top:58%}
 .ch .f1{right:auto;left:14%;top:4%;transform:scaleX(-1)}
 .ch .f2{left:4%;bottom:14%}
}
@media(max-width:619px){
 .ch{padding:24px 0 92px}
 .ch-t{margin-top:58px}
 .ch-g{padding:7px 11px;border-radius:14px}
 .ch-g b{font-size:15px}
 .ch-g span{display:none}
 .ch-g .ch-sm{display:inline}
 .ch-g1{left:3%;top:-4px}
 .ch-g2{right:4%;top:48%}
 .ch-badge{width:84px;left:2%;right:auto;top:auto;bottom:-6px}
 .ch-badge text{font-size:11.2px;letter-spacing:.04em}
 .ch-bi{font-size:22px}
 .ch .f1{width:52px;right:30%;left:auto;top:-4px;transform:rotate(-30deg)}
 .ch .f2{display:none}
 .ch-sub{margin-top:18px;padding:0 0 0 90px;text-align:left}
}
.ch-g b span{font-size:inherit;opacity:1}
@media(min-width:620px) and (max-width:1099px){.ch-g{padding:9px 13px}.ch-g span{font-size:11px}.ch-badge{width:96px}}
@media(min-width:1100px){.ch-g1{left:-7%;top:34%}.ch-g2{right:-7%;top:16%}.ch-badge{right:-3%;top:54%}}

/* v55: puntero = estrella roja de 6 puntas con borde blanco (en toda la página; en los links, un poco más grande y girada) */
@media(hover:hover) and (pointer:fine),(any-hover:hover) and (any-pointer:fine){
 html,body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpolygon points='13.0,2.2 15.7,8.3 22.4,7.6 18.4,13.0 22.4,18.4 15.7,17.7 13.0,23.8 10.3,17.7 3.6,18.4 7.6,13.0 3.6,7.6 10.3,8.3' fill='#e20f0e' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 13 13,auto}
 a,button,label,summary,select,[role=button],[role=tab],.mq-t,.tl-t,.tk-pick,.cred3d,.ch-badge,input[type=range],input[type=checkbox],input[type=radio]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpolygon points='19.6,2.7 20.9,11.1 29.3,12.4 22.7,17.8 25.8,25.8 17.8,22.7 12.4,29.3 11.1,20.9 2.7,19.6 9.3,14.2 6.2,6.2 14.2,9.3' fill='#e20f0e' stroke='white' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 16 16,pointer}
 input[type=email],input[type=text],input[type=password],input[type=tel],input:not([type]),textarea{cursor:text}
}

/* v57: inicio — casas en tiras, estética nkora: gris oscuro, Inter en mayúsculas, texto crema, foto a la derecha con puntas redondeadas */
.casas-b{background:#24201a}
.casas{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,36px);color:#f7efe4}
.casas-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:clamp(14px,3vw,26px)}
.casas-top h2{margin:0;color:#f7efe4}
.casas-idx{display:flex;gap:6px 26px;flex-wrap:wrap}
.casas-idx a{color:inherit;text-decoration:none;font-weight:500;font-size:14px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1.5px solid transparent;padding-bottom:2px}
.casas-idx a span{font-size:11px;opacity:.55;margin-right:6px}
.casas-idx a:hover,.casas-idx a:focus-visible{border-color:currentColor}
.casa-t{display:grid;grid-template-columns:1fr;gap:22px 48px;padding:clamp(22px,3.4vw,40px) 0;scroll-margin-top:90px}
.casa-t+.casa-t{border-top:1px solid rgba(247,239,228,.16)}
@media(min-width:820px){.casa-t{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}}
.casa-f{order:-1;overflow:hidden;border-radius:40px;aspect-ratio:4/3;background:rgba(255,255,255,.05)}
@media(min-width:820px){.casa-f{order:0;aspect-ratio:auto;min-height:560px;max-height:680px}}
@media(max-width:619px){.casa-f{border-radius:28px}}
.casa-f picture,.casa-f img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.casa-t:hover .casa-f img{transform:scale(1.03)}
.casa-i{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-width:0}
.casa-h{font-family:var(--sans);font-weight:500;font-size:clamp(34px,5.4vw,72px);line-height:1;letter-spacing:-.01em;margin:0 0 14px;color:#f7efe4}
.casa-i .ahora{margin:0;border-color:rgba(247,239,228,.45)}
.casa-dir{display:block;color:inherit;text-decoration:none;font-weight:500;font-size:clamp(22px,2.9vw,40px);line-height:1.08;letter-spacing:-.01em;margin-bottom:22px}
.casa-dir:hover,.casa-dir:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.casa-hrs{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:3px 20px;margin:0 0 22px;font-size:16px}
.casa-hrs dt{font-weight:400;opacity:.9}
.casa-hrs dd{margin:0;font-weight:400}
.casa-hrs .casa-g{margin-top:12px}
.casa-i .btnrow{margin-top:0}

/* v58: cada casa con su color: Martin rojo (foto a la izquierda), Pasaje azul #1d3364 (foto a la derecha); letras blancas */
.casas-b{background:none}
.casa-w{padding:clamp(26px,4vw,48px) 0;color:#fff}
.casa-w .casas,.casa-w .casas-top h2,.casa-w .casa-h{color:#fff}
.casa-martin{background:var(--red)}
.casa-pasaje{background:var(--azul)}
.casa-w .casa-t{padding:clamp(10px,2vw,20px) 0;border-top:0}
.casa-w .casa-i .ahora{border-color:rgba(255,255,255,.55)}
@media(min-width:820px){.casa-martin .casa-f{order:-1}}
.casa-pasaje .btn.ghost,.casa-pasaje .ghost{border-color:#fff;color:#fff}

/* v59: sin franja roja debajo de las casas */
.casas-b{padding:0!important;margin:0!important}

/* v60: cabecera del inicio con video */
.phero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity .6s}
.phero-vid.on{opacity:1}
/* contacto: casas en franjas como en el inicio */
body[data-page=contacto] .casas-b+section.wrap{margin-top:clamp(28px,5vw,48px)}

/* v61: carta en listado desplegable (Inter, todo en minúscula, rótulos en bloques rojos) */
.cm-band{padding:0!important}
.cm{max-width:820px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,24px) 60px;color:#24201a;font-family:var(--sans);text-transform:lowercase}
.cm-idx{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:clamp(30px,6vw,56px)}
.cm .cm-idx a{color:#24201a!important;text-decoration:none;border:1.5px solid #24201a;border-radius:999px;padding:7px 14px;font-weight:500;font-size:14px}
.cm .cm-idx a:hover,.cm .cm-idx a:focus-visible{background:var(--red);border-color:var(--red);color:#fff!important}
.cm-carta{margin-bottom:clamp(44px,8vw,80px);scroll-margin-top:90px}
.cm-lbl{text-align:center;font-family:var(--sans);font-weight:700;font-size:clamp(30px,6vw,48px);line-height:1.02;letter-spacing:-.03em;margin:0 0 14px}
.cm-lbl span{background:var(--red);color:#fff;padding:0 .14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.cm-sub{text-align:center;font-size:16px;margin:0 auto 26px;max-width:520px}
.cm-list{border-top:1px solid rgba(36,32,26,.22)}
.cm-cat{border-bottom:1px solid rgba(36,32,26,.22)}
.cm-cat summary{display:flex;align-items:center;gap:14px;padding:16px 2px;cursor:pointer;list-style:none;font-size:clamp(17px,2.6vw,22px);font-weight:500;letter-spacing:-.02em}
.cm-cat summary::-webkit-details-marker{display:none}
.cm-num{font-weight:400;opacity:.9;min-width:3.2ch}
.cm-tit{margin-left:auto;text-align:right}
.cm-ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .3s}
.cm-cat[open] .cm-ic{transform:rotate(45deg)}
.cm-cat summary:hover .cm-tit,.cm-cat summary:focus-visible .cm-tit{color:var(--red)}
.cm-cat summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cm-body{padding:2px 2px 20px;animation:cmin .35s ease}
@keyframes cmin{from{opacity:0;transform:translateY(-6px)}}
.cm-meta{font-size:13.5px;opacity:.7;margin:0 0 10px}
.cm-aviso,.cm-nota{font-size:13.5px;line-height:1.45;opacity:.8;margin:6px 0 12px}
.cm-items{list-style:none;margin:0;padding:0}
.cm-it{padding:9px 0;border-top:1px dashed rgba(36,32,26,.18)}
.cm-it:first-child{border-top:0}
.cm-r{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:16px}
.cm-n{font-weight:500}
.cm-p{font-weight:700;white-space:nowrap}
.cm-o{font-size:11px;opacity:.6;margin-left:4px}
.cm-tag{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px;vertical-align:2px;background:#24201a;color:#fff}
.cm-tag-recomendado{background:var(--red)}
.cm-tag-nuevo{background:var(--azul)}
.cm-d{margin:2px 0 0;font-size:13.5px;line-height:1.4;opacity:.72;max-width:560px}
.cm-sub{font-size:14px}
.cm-r.cm-sub{font-size:13.5px;opacity:.8;margin-top:2px}
.cm-pie{text-align:center;font-size:13.5px;opacity:.75;margin-top:10px}
@media(prefers-reduced-motion:reduce){.cm-body{animation:none}}

/* v62: encuadre de cabeceras */
@media(min-width:620px){body[data-page=programacion] .phero img{object-position:50% 33%!important}body[data-page=menu] .phero img{object-position:50% 20%!important}}
/* v63: contacto — 4 cajitas iguales en fila (compu), 2x2 (tablet), una debajo de otra (celu) */
.cajas{gap:14px;margin-top:14px}
.cajas>.reveal{display:flex}
.cajas .card{display:flex;flex-direction:column;width:100%;margin:0!important}
.cajas .card h3{margin-top:0}
.cajas .card p{flex:1}
.cajas .btnrow{margin-top:auto;flex-wrap:wrap}
@media(min-width:620px){.grid.c4{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.grid.c4.cajas{grid-template-columns:repeat(4,1fr);width:min(1180px,calc(100vw - 44px));position:relative;left:50%;transform:translateX(-50%)}}
/* collab: sub-página de contacto */
.miga{display:flex;gap:10px;align-items:center;font-size:14px;margin:0 0 18px;text-transform:lowercase}
.miga a{color:var(--red);font-weight:700;text-decoration:none}
.miga a:hover{text-decoration:underline}
.miga b{font-weight:700}
.cajas .btnrow{gap:8px}
@media(min-width:1000px){.cajas .card{padding:22px 20px}.cajas .cta.sm{padding:10px 14px;font-size:12px}}
