/* ============ CASA BLUMEN · sistema de diseño compartido (futurista) ============ */
@font-face{font-family:'EFILES';src:url('EFILES.ttf') format('truetype');font-weight:normal;font-display:swap}
:root{
  --orange:#CC7F48; --purple:#A793C0; --pink:#CC7C72;
  --blue:#8096AD; --green:#B9AF5F; --yellow:#D4A965;
  --ink:#0b0b0d; --ink2:#141416; --line:rgba(255,255,255,.10);
  --txt:#f0ede6; --mut:#a5a094;
  --ease:cubic-bezier(.32,.72,0,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
html,body{overflow-x:clip}
body{font-family:'Outfit',sans-serif;background:var(--ink);color:var(--txt);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1500px;margin:0 auto;padding:0 clamp(22px,5vw,90px)}
.eyebrow{font-weight:600;font-size:clamp(11.5px,1vw,14px);letter-spacing:.3em;text-transform:uppercase;display:inline-flex;align-items:center;gap:11px;color:#fff}
.eyebrow::before{content:"";width:28px;height:1.5px;background:var(--orange)}
.disp{font-family:'EFILES';font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.01em}
.glow{background:linear-gradient(92deg,var(--yellow),var(--pink) 58%,var(--purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.glow-g{background:linear-gradient(92deg,var(--green),var(--yellow));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.glow-p{background:linear-gradient(92deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.btn{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:15px;letter-spacing:.03em;padding:16px 28px;border:1.5px solid transparent;border-radius:0;cursor:pointer;color:var(--ink);background:var(--yellow);transition:all .5s var(--ease)}
.btn .a{font-size:17px;transition:transform .5s var(--ease)}
.btn:hover{background:#fff}.btn:hover .a{transform:translateX(6px)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.topline{position:fixed;top:0;left:0;right:0;height:4px;z-index:60;background:linear-gradient(90deg,var(--orange),var(--pink),var(--purple),var(--blue),var(--green),var(--yellow))}

/* CTA fijo móvil + compartir (solo ≤640px) */
.mcta{display:none}
.mcta-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(8px);z-index:70;background:var(--ink2);color:#fff;border:1px solid var(--line);padding:11px 18px;border-radius:999px;font-size:13.5px;font-weight:500;box-shadow:0 8px 30px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.mcta-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:640px){
  body{padding-bottom:74px}
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:58;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(11,11,13,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)}
  .mcta-share{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 auto;min-width:60px;background:transparent;border:1px solid var(--line);border-radius:12px;color:#e8e3d9;font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;padding:8px 10px}
  .mcta-share svg{opacity:.9}
  .mcta-go{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--yellow);color:var(--ink)!important;font-weight:700;font-size:15px;letter-spacing:.02em;border-radius:12px;padding:13px 18px}
  .mcta-go .a{transition:transform .4s var(--ease)}
  .mcta-go:active .a{transform:translateX(4px)}
}

/* NAV */
nav{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:55;width:calc(100% - 40px);max-width:1220px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(14,14,16,.62);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:999px;padding:11px 12px 11px 24px}
nav .brand{font-family:'EFILES';font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:#fff}
nav .links{display:flex;align-items:center;gap:26px}
nav .links a{font-weight:500;font-size:14.5px;color:#d8d3c9;transition:color .3s}
nav .links a:hover,nav .links a.active{color:#fff}
nav .cta{font-weight:600;font-size:14px;background:var(--yellow);color:var(--ink)!important;padding:10px 20px;border-radius:999px;transition:background .3s}
nav .cta:hover{background:#fff}
nav .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:14px 11px;margin:-9px -5px;align-items:center;justify-content:center}
nav .burger span{width:22px;height:2px;background:#fff;transition:.4s var(--ease)}

/* HERO grande (home) */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero .ph{position:absolute;inset:0;background-size:cover;background-position:center 38%;filter:saturate(1.06) contrast(1.03)}
.hero .ph::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 85% at 12% 100%,rgba(185,175,95,.28),transparent 52%),radial-gradient(95% 70% at 95% 6%,rgba(167,147,192,.24),transparent 55%),linear-gradient(180deg,rgba(8,8,10,.55),rgba(8,8,10,.15) 42%,rgba(8,8,10,.94))}
.hero .in{position:relative;z-index:2;padding-top:calc(96px + env(safe-area-inset-top));padding-bottom:clamp(48px,8vh,96px)}
.hero h1{color:#fff;font-size:clamp(50px,8.6vw,126px);margin-top:22px;text-shadow:0 2px 70px rgba(11,11,13,.5)}
.hero .sub{font-weight:300;max-width:40ch;margin-top:22px;color:#e7e2d7;font-size:clamp(16px,1.4vw,21px);line-height:1.5}
.hero .row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}
.hero .trust{font-size:14px;color:#cfc9bd;display:flex;align-items:center;gap:8px}
.hero .trust b{color:var(--yellow)}

/* SUB-HERO (subpáginas): más corto, mismo lenguaje */
.subhero{position:relative;min-height:74vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.subhero .ph{position:absolute;inset:0;background-size:cover;background-position:center 42%}
.subhero .ph::after{content:"";position:absolute;inset:0;background:radial-gradient(110% 80% at 12% 100%,rgba(185,175,95,.24),transparent 54%),linear-gradient(180deg,rgba(8,8,10,.62),rgba(8,8,10,.2) 46%,rgba(8,8,10,.94))}
.subhero .in{position:relative;z-index:2;padding-top:calc(96px + env(safe-area-inset-top));padding-bottom:clamp(40px,7vh,84px)}
.subhero h1{color:#fff;font-size:clamp(44px,7.2vw,104px);margin-top:18px;text-shadow:0 2px 60px rgba(11,11,13,.5)}
.subhero .sub{font-weight:300;max-width:44ch;margin-top:20px;color:#e7e2d7;font-size:clamp(16px,1.35vw,20px);line-height:1.5}

section{padding:clamp(64px,11vh,140px) 0}
section.tight{padding:clamp(48px,7vh,90px) 0}
section.wrap{padding-top:clamp(64px,11vh,140px);padding-bottom:clamp(64px,11vh,140px)}
.kick{font-weight:600;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange);margin-bottom:20px}
.kick.g{color:var(--green)}.kick.p{color:var(--purple)}.kick.b{color:var(--blue)}.kick.y{color:var(--yellow)}
.h2{font-size:clamp(32px,4.6vw,66px);color:#fff;margin-top:14px}
.lead-s{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(24px,3.4vw,46px);line-height:1.16;letter-spacing:-.01em;color:#fff}
.p-mut{color:var(--mut);font-weight:300;font-size:clamp(15px,1.2vw,18px)}

/* bandas */
.band-2{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-top{border-top:1px solid var(--line)}

/* FLYWHEEL cards */
.flow h2{font-size:clamp(34px,5vw,72px);color:#fff;max-width:16ch;margin-top:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(36px,5vw,64px)}
.card{position:relative;border:1px solid var(--line);background:#0f0f11;overflow:hidden;display:flex;flex-direction:column;min-height:420px}
.card .cph{aspect-ratio:3/4;overflow:hidden}
.card .cph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .cph img{transform:scale(1.05)}
.card .cbody{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.card .num{font-family:'Fraunces',serif;font-size:14px;color:var(--mut);letter-spacing:.1em}
.card h3{font-family:'EFILES';text-transform:uppercase;font-size:clamp(26px,2.4vw,36px);color:#fff;margin:10px 0 4px;line-height:1}
.card .role{font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.card.bar .role{color:var(--orange)}.card.lab .role{color:var(--purple)}.card.bot .role{color:var(--green)}
.card p{color:var(--mut);font-weight:300;font-size:15px;line-height:1.6}
.card .tag{margin-top:auto;padding-top:18px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.card.bar .tag{color:var(--yellow)}
.card .cph.big{aspect-ratio:auto;flex:1;min-height:220px}

/* STORY / two-column */
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,74px);align-items:center}
.story.rev-cols{direction:rtl}.story.rev-cols>*{direction:ltr}
.story .pic{position:relative}
.story .pic img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.story .pic .fr{position:absolute;inset:-10px;border:1px solid var(--line);pointer-events:none}
.story h2{font-size:clamp(34px,4.6vw,66px);color:#fff;margin-top:14px}
.story p{color:var(--mut);font-weight:300;max-width:48ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px)}
.story p b{color:#efe9dc;font-weight:600}

/* TILES */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,4vw,56px)}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tile:hover img{transform:scale(1.05)}
.tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,8,10,.9));display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.tile h4{font-family:'EFILES';text-transform:uppercase;font-size:24px;color:#fff;line-height:1}
.tile span{font-weight:300;font-size:14px;color:#d8d3c9;margin-top:7px}
.tiles.two{grid-template-columns:1fr 1fr}
.tiles.four{grid-template-columns:repeat(4,1fr)}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:clamp(36px,4vw,60px)}
.steps.four{grid-template-columns:repeat(4,1fr)}
.steps.three{grid-template-columns:repeat(3,1fr)}
.step{border-top:2px solid var(--line);padding-top:18px}
.step .n{font-family:'EFILES';font-size:clamp(40px,4vw,60px);color:rgba(255,255,255,.14);line-height:.8}
.step h4{font-weight:600;font-size:16px;margin:14px 0 8px;color:#fff}
.step p{color:var(--mut);font-weight:300;font-size:14px;line-height:1.55}

/* MENU list (cócteles) */
.menu{margin-top:clamp(34px,4vw,56px);border-top:1px solid var(--line)}
.mitem{display:flex;align-items:baseline;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.mitem .mn{font-family:'EFILES';text-transform:uppercase;font-size:clamp(22px,2vw,30px);color:#fff;white-space:nowrap}
.mitem .md{color:var(--mut);font-weight:300;font-size:14.5px;flex:1}
.mitem .mz{font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);white-space:nowrap}

/* PAKETE */
.paks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,4vw,56px)}
.pk{border:1px solid var(--line);background:#0f0f11;padding:30px 26px;display:flex;flex-direction:column}
.pk.mid{border-color:rgba(212,169,101,.5)}
.pk .pn{font-family:'EFILES';text-transform:uppercase;font-size:26px;color:#fff}
.pk .pg{font-weight:300;font-size:14px;color:var(--mut);margin:6px 0 20px}
.pk .pp{font-family:'Fraunces',serif;font-size:40px;color:#fff;line-height:1}
.pk .pp small{font-size:15px;color:var(--mut);font-family:'Outfit'}
.pk .badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--yellow);padding:4px 10px;margin-bottom:16px}
.pk ul{list-style:none;margin:20px 0 24px}
.pk li{padding:7px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:#d8d3c9;font-weight:300}
.pk .go{margin-top:auto;font-weight:600;font-size:14px;color:var(--yellow);display:inline-flex;gap:8px;align-items:center;min-height:44px}
.fine{text-align:center;color:var(--mut);font-size:13px;margin-top:26px}

/* REVIEWS */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,4vw,56px)}
.rev{border:1px solid var(--line);background:#0f0f11;padding:28px 26px;display:flex;flex-direction:column}
.rev .stars{color:var(--yellow);letter-spacing:3px;font-size:15px}
.rev blockquote{font-family:'Fraunces',serif;font-weight:400;font-size:17px;line-height:1.5;color:#efe9dc;margin:16px 0 auto}
.rev .who{margin-top:20px;font-weight:600;font-size:15px;color:#fff}
.rev .ctx{font-weight:300;font-size:13px;color:var(--mut)}
.rev .src{font-weight:300;font-size:12px;color:var(--mut);margin-top:4px}

/* FAQ */
.faq{margin-top:clamp(30px,4vw,52px);max-width:920px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-weight:500;font-size:clamp(16px,1.5vw,20px);color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--yellow);font-weight:400;font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--mut);font-weight:300;padding:0 0 22px;max-width:70ch;font-size:15.5px;line-height:1.7}

/* GALLERY masonry-ish */
.gal{columns:3;column-gap:16px;margin-top:clamp(34px,4vw,56px)}
.gal img{width:100%;margin-bottom:16px;border:1px solid var(--line)}

/* FORM */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(34px,4vw,52px)}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:8px;font-weight:600}
.form input,.form textarea,.form select{width:100%;background:#0f0f11;border:1px solid var(--line);border-radius:0;color:var(--txt);font-family:'Outfit';font-size:15px;padding:14px 16px;transition:border-color .3s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--yellow)}
.form textarea{min-height:130px;resize:vertical}

/* CTA final */
.final{text-align:center}
.final h2{font-size:clamp(38px,6vw,96px);color:#fff}
.final p{color:var(--mut);font-weight:300;max-width:52ch;margin:22px auto 0;font-size:clamp(15px,1.3vw,19px)}
.final .btn{margin-top:44px}
.final .eyebrow{margin-bottom:22px}
.final h2{margin-bottom:6px}

/* FOOTER */
footer{border-top:1px solid var(--line);background:#08080a;padding:56px 0 40px}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot .brand{font-family:'EFILES';font-size:26px;text-transform:uppercase;color:#fff}
.foot .brand+div{color:var(--mut);font-size:14px;font-weight:300;margin-top:8px;max-width:34ch}
.foot .col h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.foot .col a{display:block;color:#d8d3c9;font-size:14.5px;padding:9px 0;font-weight:300}
.foot .col a:hover{color:#fff}
.copy{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--mut);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

@media(max-width:900px){
  .cards,.tiles,.tiles.four,.steps,.steps.four,.steps.three,.paks,.revs,.form{grid-template-columns:1fr 1fr}
  .story{grid-template-columns:1fr;gap:32px}.story .pic{order:-1}
  .story.rev-cols{direction:ltr}
  .gal{columns:2}
}
@media(max-width:640px){
  nav .links{display:none}nav .burger{display:flex}
  nav .links.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:6px;background:rgba(10,10,12,.95);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:20px;padding:24px}
  nav .links.open a{padding:10px 0}
  nav .links.open .cta{text-align:center}
  .cards,.tiles,.tiles.two,.tiles.four,.steps,.steps.four,.steps.three,.paks,.revs,.form{grid-template-columns:1fr}
  .hero{min-height:92vh;min-height:92svh}.subhero{min-height:66vh;min-height:66svh}
  .gal{columns:1}
  .foot{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.card .cph img,.tile img{transition:none}}

/* ══════════════════ CAPA DE PERSONALIDAD (identidad CB) ══════════════════ */

/* Palabras multicolor en headlines EFILES (como el sitio viejo) */
.w-o{color:var(--orange)}.w-p{color:var(--pink)}.w-g{color:var(--green)}
.w-b{color:var(--blue)}.w-y{color:var(--yellow)}.w-k{color:#fff}.w-pu{color:var(--purple)}

/* Notas manuscritas (Caveat) — el alma artesanal MX */
.hand{font-family:'Caveat',cursive;font-weight:600;line-height:1.1}
.note{font-family:'Caveat',cursive;font-weight:600;font-size:clamp(20px,2.1vw,28px);
  color:var(--yellow);display:inline-flex;align-items:center;gap:10px;transform:rotate(-2.5deg);line-height:1.05;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.note.p{color:var(--pink)}.note.g{color:var(--green)}.note.pu{color:var(--purple)}.note.o{color:var(--orange)}.note.y{color:var(--yellow)}
.note::before{content:"";width:34px;height:22px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 26'%3E%3Cpath d='M2 4 C 14 2, 30 6, 36 18 M36 18 L28 14 M36 18 L33 8' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 26'%3E%3Cpath d='M2 4 C 14 2, 30 6, 36 18 M36 18 L28 14 M36 18 L33 8' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.note.rt::before{transform:scaleX(-1)}

/* Número fantasma gigante detrás de secciones */
.ghost-num{position:absolute;font-family:'EFILES';line-height:.7;color:rgba(255,255,255,.05);
  font-size:clamp(180px,34vw,460px);pointer-events:none;z-index:0;top:-.1em;right:.02em;user-select:none}
.has-ghost{position:relative;overflow:hidden}.has-ghost>*{position:relative;z-index:1}

/* Mascotas art-brut como acento */
.mascota{position:absolute;pointer-events:none;z-index:2;filter:drop-shadow(0 18px 34px rgba(0,0,0,.55))}
.mascota img{width:100%;height:auto;display:block}
.eyebrow-mx{color:var(--green)}.eyebrow-mx::before{background:var(--green)}

/* Nav con logo/mascota */
nav .brand{display:inline-flex;align-items:center;gap:10px}
nav .brand img{width:30px;height:30px;object-fit:contain}

/* Cinta cultural MX×DE (marquee suave) */
.ribbon{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 0;overflow:hidden;white-space:nowrap}
.ribbon .track{display:inline-flex;gap:44px;animation:ribbon 32s linear infinite;font-family:'EFILES';
  text-transform:uppercase;font-size:clamp(20px,2.4vw,34px);color:rgba(255,255,255,.16);letter-spacing:.04em}
.ribbon .track span{display:inline-flex;align-items:center;gap:44px}
.ribbon .track b{color:var(--yellow);font-weight:400}
@keyframes ribbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ribbon .track{animation:none}}

/* ── GALERÍA CONSISTENTE (todas las fotos = mismo marco) ── */
.hscroll{display:flex;gap:16px;margin-top:clamp(30px,4vw,50px);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:14px;scrollbar-color:var(--line) transparent}
.hscroll figure{flex:0 0 clamp(220px,26vw,320px);margin:0;scroll-snap-align:start}
.hscroll figure img{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);background:#0f0f11}
.hscroll figcaption{margin-top:10px;font-size:12.5px;font-weight:300;color:var(--mut)}
.grid-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(34px,4vw,56px)}
.grid-gal.four{grid-template-columns:repeat(4,1fr)}
.grid-gal figure{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);background:#0f0f11}
.grid-gal figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.grid-gal figure:hover img{transform:scale(1.05)}
.grid-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 16px 14px;
  background:linear-gradient(180deg,transparent,rgba(8,8,10,.9));font-weight:500;font-size:13.5px;color:#e7e2d7}
.grid-gal figure.wide{aspect-ratio:auto;grid-column:span 2}
@media(prefers-reduced-motion:reduce){.grid-gal figure img{transition:none}}

/* ── FUNNEL multi-step ── */
.funnel{max-width:720px;margin:clamp(30px,4vw,52px) auto 0;border:1px solid var(--line);
  background:#0f0f11;padding:clamp(24px,4vw,44px);position:relative}
.funnel .prog{display:flex;align-items:center;gap:10px;margin-bottom:28px}
.funnel .prog .bar{flex:1;height:4px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.funnel .prog .bar i{position:absolute;inset:0;transform-origin:left;background:var(--yellow);transition:transform .5s var(--ease)}
.funnel .prog .lbl{font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.step-pane{display:none}.step-pane.on{display:block;animation:fadein .5s var(--ease)}
@keyframes fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.step-pane .q{font-family:'EFILES';text-transform:uppercase;font-size:clamp(26px,3.4vw,42px);color:#fff;line-height:1;margin-bottom:6px}
.step-pane .qs{color:var(--mut);font-weight:300;margin-bottom:24px}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chip{border:1.5px solid var(--line);background:#141416;color:#e7e2d7;padding:18px 20px;cursor:pointer;
  font-family:'Outfit';font-size:16px;font-weight:500;text-align:left;transition:all .3s var(--ease);display:flex;align-items:center;gap:12px}
.chip:hover{border-color:rgba(255,255,255,.35)}
.chip.sel{border-color:var(--yellow);background:rgba(212,169,101,.1);color:#fff}
.chip .em{font-size:22px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgrid .full{grid-column:1/-1}
.funnel label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:8px;font-weight:600}
.funnel input,.funnel textarea{width:100%;background:#141416;border:1.5px solid var(--line);color:var(--txt);
  font-family:'Outfit';font-size:15px;padding:14px 16px;transition:border-color .3s}
.funnel input:focus,.funnel textarea:focus{outline:none;border-color:var(--yellow)}
.funnel textarea{min-height:110px;resize:vertical}
.funnel .check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13.5px;color:var(--mut);font-weight:300;cursor:pointer}
.funnel .check input{width:20px;height:20px;flex:none;accent-color:var(--yellow);margin-top:1px}
.funnel .nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px}
.funnel .back{background:none;border:0;color:var(--mut);font-weight:600;cursor:pointer;font-size:14px;font-family:'Outfit';padding:12px 16px;margin:-12px -16px;min-height:44px}
.funnel .back:hover{color:#fff}.funnel .back[hidden]{visibility:hidden}
.funnel .done{text-align:center;padding:20px 0}
.funnel .done .em{font-size:56px;display:block;margin-bottom:10px}
.funnel .done h3{font-family:'EFILES';text-transform:uppercase;font-size:clamp(30px,4vw,48px);color:#fff}
.funnel .done p{color:var(--mut);font-weight:300;max-width:44ch;margin:12px auto 0}
.funnel .err{color:#ff9b8a;font-size:13.5px;font-weight:500;margin-top:12px;text-align:center;min-height:18px}
.reassure{text-align:center;color:var(--mut);font-size:12.5px;font-weight:300;margin-top:16px}

@media(max-width:640px){
  .grid-gal,.grid-gal.four{grid-template-columns:1fr 1fr}
  .grid-gal figure.wide{grid-column:span 2}
  .grid-gal figure{aspect-ratio:auto}
  .grid-gal figure img{aspect-ratio:4/5}
  .grid-gal figcaption{position:static;background:none;padding:8px 2px 0;color:var(--mut);font-weight:300;font-size:12.5px}
  .chips,.fgrid{grid-template-columns:1fr}
  .ghost-num{font-size:38vw}
}

/* ══ PAKETE v2 — explicación, bausteine, faq ══ */
.pk .pt{font-size:13px;color:var(--mut);font-weight:400;margin-top:2px}
.pk li b{color:#fff;font-weight:600}
.xtras{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(30px,4vw,50px)}
.xtra{border:1px solid var(--line);background:#0f0f11;padding:20px}
.xtra h5{font-size:15px;color:#fff;font-weight:600;display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.xtra .xp{color:var(--yellow);font-weight:700;white-space:nowrap;font-size:14px}
.xtra p{font-size:13.5px;color:var(--mut);font-weight:300;margin-top:7px;line-height:1.55}
.faq{max-width:780px;margin:clamp(30px,4vw,50px) auto 0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 4px;font-weight:600;font-size:16px;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:'Fraunces',serif;font-size:24px;color:var(--yellow);flex:none;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .fa{padding:0 4px 22px;color:var(--mut);font-weight:300;font-size:15px;line-height:1.7;max-width:62ch}
.faq .fa b{color:#e7e2d7;font-weight:600}
@media(max-width:960px){.xtras{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.xtras{grid-template-columns:1fr}}

/* ══ FUNNEL v2 — slider, pills, select, confetti ══ */
.funnel select{width:100%;background:#141416;border:1.5px solid var(--line);color:var(--txt);padding:14px 16px;font-size:15.5px;font-family:'Outfit';border-radius:0;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.funnel select:focus{outline:none;border-color:var(--yellow)}
.bslide{margin-top:4px}
.bslide .bval{font-family:'Fraunces',serif;font-size:26px;color:var(--yellow);text-align:center;margin-bottom:8px}
.bslide input[type=range]{width:100%;accent-color:var(--yellow);cursor:pointer}
.bslide .bl{display:flex;justify-content:space-between;font-size:12px;color:var(--mut);margin-top:4px;font-weight:400}
.rpills{display:flex;gap:10px;flex-wrap:wrap}
.rpills label{border:1.5px solid var(--line);background:#141416;color:#e7e2d7;padding:11px 18px;cursor:pointer;font-size:14px;font-weight:500;display:inline-flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;margin:0}
.rpills label.sel{border-color:var(--yellow);background:rgba(212,169,101,.1);color:#fff}
.rpills input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.chips .hint{grid-column:1/-1;text-align:center;font-size:12.5px;color:var(--mut);font-weight:300;margin-top:2px}
#confettiCanvas{position:fixed;inset:0;pointer-events:none;z-index:999}

/* ══ FUNNEL — sugerencias de carta ══ */
.sugg{margin-top:24px;border:1px solid rgba(212,169,101,.35);background:rgba(212,169,101,.05);padding:20px}
.sugg .st{font-weight:600;font-size:14px;color:#fff;letter-spacing:.02em}
.sugg .sl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.sugg .si{border:1px solid var(--line);background:#141416;padding:12px 14px}
.sugg .si b{display:block;color:var(--yellow);font-size:14.5px;font-weight:700}
.sugg .si span{font-size:12.5px;color:var(--mut);font-weight:300;line-height:1.5;display:block;margin-top:3px}
.sugg .sn{font-size:12px;color:var(--mut);font-weight:300;margin-top:12px;text-align:center}
@media(max-width:640px){.sugg .sl{grid-template-columns:1fr}}

/* ══════════════════ CAPA FUTURISTA 2026 (motion sutil + fixes) ══════════════════ */
:root{color-scheme:dark}
html{background:var(--ink)}
body{background:transparent}

/* barra de progreso de scroll bajo la topline */
.sprog{position:fixed;top:4px;left:0;right:0;height:2px;z-index:59;background:rgba(255,255,255,.55);transform-origin:left;transform:scaleX(0);will-change:transform}

/* capa ambiental — el fondo respira el color de la sección */
.amb{position:fixed;inset:-12%;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease);will-change:opacity}

/* mascotas: en cel y tablet (story a 1 columna) NO tapan texto */
@media(max-width:900px){.mascota{display:none}}

/* parallax helpers */
.hero .ph,.subhero .ph{will-change:transform;transform:scale(1.06)}
.hero .in,.subhero .in{will-change:transform,opacity}
.ghost-num{will-change:transform;transition:none}

/* reveals: stagger por posición */
.cards .rv:nth-child(2),.steps .rv:nth-child(2),.grid-gal .rv:nth-child(2),.paks .rv:nth-child(2),.revs .rv:nth-child(2),.xtras .rv:nth-child(2),.tiles .rv:nth-child(2){transition-delay:.09s}
.cards .rv:nth-child(3),.steps .rv:nth-child(3),.grid-gal .rv:nth-child(3),.paks .rv:nth-child(3),.revs .rv:nth-child(3),.xtras .rv:nth-child(3),.tiles .rv:nth-child(3){transition-delay:.18s}
.steps .rv:nth-child(4),.grid-gal .rv:nth-child(4),.xtras .rv:nth-child(4){transition-delay:.27s}
.steps .rv:nth-child(5),.grid-gal .rv:nth-child(5),.xtras .rv:nth-child(5){transition-delay:.36s}
.grid-gal .rv:nth-child(6),.xtras .rv:nth-child(6){transition-delay:.45s}
.xtras .rv:nth-child(7){transition-delay:.54s}.xtras .rv:nth-child(8){transition-delay:.63s}.xtras .rv:nth-child(9){transition-delay:.72s}

/* las fotos "asientan" al revelarse (además del translateY del .rv) */
.rv:not(.in) .cph img,.grid-gal figure.rv:not(.in) img,.pic.rv:not(.in) img,.tile.rv:not(.in) img{transform:scale(1.07)}

/* micro-lift premium al hover */
.card,.pk,.rev,.xtra{transition:transform .6s var(--ease),border-color .6s var(--ease),opacity .8s var(--ease)}
.card.rv,.pk.rv,.rev.rv,.xtra.rv{transition:transform .8s var(--ease),border-color .6s var(--ease),opacity .8s var(--ease)}
@media(hover:hover){
  .card:hover,.pk:hover,.rev:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.22)}
  .xtra:hover{border-color:rgba(255,255,255,.22)}
  .pk.mid:hover{border-color:rgba(212,169,101,.8)}
}

/* trust chips (hero) */
.trustrow{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px}
.trustrow span{font-size:14.5px;color:#f2eee5;font-weight:500;display:inline-flex;align-items:center;gap:9px;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.trustrow span::before{content:"";width:6px;height:6px;background:var(--yellow);flex:none;box-shadow:0 0 8px rgba(212,169,101,.7)}
/* Eventos: fecha/hora/ort/preis más prominentes en el hero */
.subhero .trustrow{gap:12px 28px;margin-top:24px}
.subhero .trustrow span{font-size:16px;color:#fff;font-weight:600}
.subhero .trustrow span::before{width:7px;height:7px}

/* ══ ROSI — banda typográfica signature ══ */
.rosi{text-align:center;position:relative;overflow:hidden}
.rosi .big{font-family:'EFILES';text-transform:uppercase;font-size:clamp(96px,22vw,320px);line-height:.82;letter-spacing:.01em;background:linear-gradient(94deg,var(--pink) 8%,var(--purple) 52%,var(--orange) 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:block}
.rosi .lead{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(19px,2.2vw,30px);line-height:1.35;color:#efe9dc;max-width:34ch;margin:26px auto 0}
.rosi .lead b{color:var(--pink);font-weight:600}
.rosi .rec{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.rosi .rec span{border:1px solid var(--line);padding:9px 16px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#d8d3c9;font-weight:500}
.rosi .p-mut{max-width:52ch;margin:22px auto 0}

/* ══ KARTE interactiva (bar) ══ */
.kfilters{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(26px,3vw,40px)}
.kfilters button{border:1.5px solid var(--line);background:#141416;color:#e7e2d7;padding:11px 18px;cursor:pointer;font-family:'Outfit';font-size:14px;font-weight:500;transition:all .3s var(--ease);min-height:44px}
.kfilters button:hover{border-color:rgba(255,255,255,.35)}
.kfilters button.sel{border-color:var(--yellow);background:rgba(212,169,101,.1);color:#fff}
.klist{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin-top:8px;border-top:1px solid var(--line)}
.klist .mitem{animation:fadein .5s var(--ease)}
.klist .mn{font-size:clamp(19px,1.6vw,24px)!important}
.bdg{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:3px 8px;color:var(--mut);white-space:nowrap;font-weight:600}
.klist .mitem{flex-wrap:wrap}
.mitem .mzu{flex-basis:100%;order:5;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);opacity:.85;margin-top:2px}
.mitem .mvar{flex-basis:100%;order:6;display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.mitem .mvar i{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--pink);border:1px solid rgba(204,124,114,.4);border-radius:999px;padding:2px 10px}
.mitem .mvar::before{content:'auch als:';font-size:11px;color:var(--mut);font-weight:300;align-self:center}
.bdg.af{color:var(--green);border-color:rgba(185,175,95,.45)}
.bdg.sig{color:var(--pink);border-color:rgba(204,124,114,.45)}
.knote{color:var(--mut);font-size:13px;margin-top:18px;font-weight:300}
@media(max-width:900px){.klist{grid-template-columns:1fr}}
@media(max-width:640px){
  .klist .mitem{flex-wrap:wrap;gap:4px 12px}
  .klist .mitem .mn{white-space:normal;width:100%}
  .klist .mitem .md{flex:1 1 100%}
}

/* ══ Kontakt: date picker nativo oscuro ══ */
.funnel input[type=date]{-webkit-appearance:none;appearance:none;min-height:49px}
.funnel input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer;opacity:.8}
.funnel input[type=date]:disabled{opacity:.35;cursor:not-allowed}
.datewrap .check{margin-top:10px}

@media(prefers-reduced-motion:reduce){
  .sprog,.amb{display:none}
  .hero .ph,.subhero .ph{transform:none}
  .rv:not(.in) .cph img,.grid-gal figure.rv:not(.in) img,.pic.rv:not(.in) img,.tile.rv:not(.in) img{transform:none}
}

/* ══════════ CAPA EDITORIAL 2026 — refs IG mydrinkcreation / skorpios / jtcloutier (2026-08-19) ══════════ */

/* serif itálica intercalada en titulares EFILES (patrón "the Art of drink Design") */
.disp em{font-family:'Fraunces',serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.015em;font-size:.94em;line-height:1;color:inherit}

/* metadata de esquina estilo pliego de revista */
.pmeta{display:flex;justify-content:space-between;gap:14px;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--mut);border-top:1px solid var(--line);padding-top:10px}
.pmeta span{white-space:nowrap}
@media(max-width:640px){.pmeta{font-size:8.5px;letter-spacing:.16em}.pmeta span:nth-child(2){display:none}}

/* banda-póster: foto full-bleed + UNA palabra gigante (patrón Skorpios) */
/* póster: la palabra + caption se anclan ABAJO como banda, para que la foto/bebida respire arriba (fix "texto tapa la foto") */
.poster{position:relative;min-height:min(78vh,720px);display:grid;place-items:end center;align-content:end;overflow:hidden;padding:clamp(60px,10vh,120px) 20px clamp(44px,7vh,84px)}
.poster .pph{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.1);transition:transform 2.2s var(--ease)}
.poster.in .pph{transform:scale(1)}
.poster .pph::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,13,.34) 0%,rgba(11,11,13,.06) 30%,rgba(11,11,13,.5) 74%,rgba(11,11,13,.9))}
.poster .pw{position:relative;z-index:1;font-family:'EFILES';text-transform:uppercase;font-size:clamp(54px,12vw,176px);line-height:.85;color:#fff;text-align:center;letter-spacing:.16em;opacity:0;transition:letter-spacing 1.5s var(--ease),opacity 1.1s ease;text-shadow:0 2px 40px rgba(11,11,13,.7)}
.poster.in .pw{letter-spacing:.015em;opacity:1}
.poster .pcap{position:relative;z-index:1;margin-top:16px;text-align:center;font-family:'Fraunces',serif;font-style:italic;font-size:clamp(15px,1.6vw,20px);color:rgba(255,255,255,.9);max-width:44ch;opacity:0;transform:translateY(14px);transition:all .9s var(--ease) .5s;text-shadow:0 1px 20px rgba(11,11,13,.8)}
.poster.in .pcap{opacity:1;transform:none}
.poster .pm{position:absolute;z-index:1;left:22px;right:22px;font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.55);display:flex;justify-content:space-between}
.poster .pm.top{top:18px}.poster .pm.bot{bottom:18px}

/* inserto "papel" — página de revista dentro del sitio oscuro (patrón mydrinkcreation) */
.paper{background:#f2ede2;color:#17171a}
.paper .kick{color:#8a8478}
.paper h2,.paper .disp{color:#17171a}
.paper .pmeta{color:#8a8478;border-top-color:rgba(23,23,26,.22)}
.wissen{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(23,23,26,.18);border:1px solid rgba(23,23,26,.18);margin-top:38px}
.wissen .wi{background:#f2ede2;padding:30px 24px 34px;display:flex;flex-direction:column;gap:10px}
.wissen .wi .wn{font-size:10.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#8a8478}
.wissen .wi h4{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:clamp(24px,2.2vw,32px);line-height:1.05;color:#17171a;letter-spacing:-.01em}
.wissen .wi p{font-size:14px;line-height:1.55;color:#4c4a44}
@media(max-width:960px){.wissen{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wissen{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){
  .poster .pph{transform:none}
  .poster .pw{letter-spacing:.015em;opacity:1;transition:none}
  .poster .pcap{opacity:1;transform:none;transition:none}
}
.poster.rv{transform:none}
.poster.rv:not(.in){opacity:1}

/* ══════════ CAPA DETALLE 2026-08-22 — art direction móvil/PC + grain + motion profundo ══════════ */

/* Art direction: cada hero/poster puede traer foto Y posición distintas para móvil (--ph-m/--ph-m-pos) y PC (--ph/--ph-pos) */
.hero .ph{background-image:var(--ph);background-position:var(--ph-pos,center 38%)}
.subhero .ph{background-image:var(--ph);background-position:var(--ph-pos,center 42%)}
.poster .pph{background-image:var(--ph);background-position:var(--ph-pos,center)}
@media(max-width:640px){
  .hero .ph,.subhero .ph,.poster .pph{background-image:var(--ph-m,var(--ph));background-position:var(--ph-m-pos,var(--ph-pos,center 30%))}
}

/* Grain fílmico sobre todo el sitio (textura editorial, casi subliminal) */
body::before{content:"";position:fixed;inset:-60px;z-index:70;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px}

/* Entrada del hero: las líneas suben en cascada + la foto asienta desde un zoom */
@keyframes heroUp{from{opacity:.011;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes heroPh{from{transform:scale(1.14)}to{transform:scale(1.06)}}
.hero .ph{animation:heroPh 2.6s var(--ease) both}
.hero .in>*{animation:heroUp 1.1s var(--ease) both}
.hero .in>*:nth-child(1){animation-delay:.15s}.hero .in>*:nth-child(2){animation-delay:.28s}
.hero .in>*:nth-child(3){animation-delay:.44s}.hero .in>*:nth-child(4){animation-delay:.58s}
.hero .in>*:nth-child(5){animation-delay:.72s}.hero .in>*:nth-child(6){animation-delay:.86s}

/* Parallax profundo: cualquier imagen/video enmarcado con data-plx deriva al scrollear */
[data-plx]{will-change:transform}

/* Video enmarcado (mismo marco fino que .story .pic img) */
.story .pic video{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.vcap{margin-top:14px;display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.vcap .t{font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.vcap .hand{font-size:21px;transform:rotate(-2deg);display:inline-block}

/* Palabra gigante contorneada que cruza la pantalla con el scroll (detalle editorial) */
.bigscroll{overflow:hidden;padding:clamp(30px,6vh,70px) 0;border-top:1px solid var(--line)}
.bigscroll .bw{font-family:'EFILES';text-transform:uppercase;white-space:nowrap;line-height:.9;
  font-size:clamp(90px,16vw,240px);color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.16);will-change:transform}
.bigscroll .bw em{font-family:'Fraunces',serif;font-style:italic;text-transform:none;-webkit-text-stroke:0;
  color:rgba(212,169,101,.35);font-size:.9em}

/* pmeta con línea que se dibuja al entrar */
.pmeta{position:relative}
.pmeta::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;background:rgba(255,255,255,.35);
  transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s}
.rv.in .pmeta::before,.in .pmeta::before{transform:scaleX(1)}

@media(prefers-reduced-motion:reduce){
  body::before{display:none}
  .hero .ph,.hero .in>*{animation:none}
  .bigscroll .bw{transform:none!important}
}

/* ══ CAPA VIDEO 2026 — hero + ventanas fijas (vposter) ══ */
.hero .ph .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
/* hero-coctel: el trago está a la izq. del clip → lo volteamos para que quede a la DERECHA, despejando el texto (solo desktop) */
.hero .ph .hv-flip{transform:scaleX(-1)}
@media(max-width:640px){.hero .ph .hv{object-position:center} .hero .ph .hv-flip{transform:none}} /* móvil: usa el crop vertical -m, ya centrado */

/* ventana al video fijo: el clip-path convierte la sección en "ventana"
   y el video position:fixed queda anclado al viewport detrás de ella */
.vposter{clip-path:inset(0)}
.vposter .vwin{position:fixed;inset:0;z-index:0}
.vposter .vwin video{width:100%;height:100%;object-fit:cover}
.vposter .vwin::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,13,.34) 0%,rgba(11,11,13,.06) 30%,rgba(11,11,13,.5) 74%,rgba(11,11,13,.9))}
.vposter .pw,.vposter .pcap,.vposter .pm{z-index:1}
@media(prefers-reduced-motion:reduce){
  .vposter{clip-path:none}
  .vposter .vwin{position:absolute}
}
/* móvil: fixed+clip-path fuerza recomposición por frame en iOS → ventana absoluta normal;
   el grain (capa fixed full-screen) tampoco vale su costo en pantallas chicas */
@media(max-width:640px){
  .vposter{clip-path:none}
  .vposter .vwin{position:absolute}
  body::before{display:none}
}
/* video del hero entra con fade sobre su propio poster (sin brinco) */
.hero .ph .hv{opacity:0;transition:opacity .9s ease}
.hero .ph .hv.playing{opacity:1}

/* footer NAP / area (SEO local) */
footer .nap{font-size:14px;color:var(--mut);line-height:1.5;margin-bottom:10px}
footer .nap strong{color:#d8d3c9;font-weight:500}
footer .area{font-size:12.5px;color:rgba(255,255,255,.42);display:inline-block;margin-top:4px}
