@font-face{font-family:"Bricolage";src:url(fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/dmsans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/dmsans-500.woff2) format("woff2");font-weight:500 700;font-display:swap}
:root{--acc:#ffb81f;--accd:#8a5f00;--pad:clamp(20px,4vw,56px);--bad:#ff6b81;--on-acc:#120d06;--n:7.6;--ease:cubic-bezier(.2,.8,.2,1)}
[data-theme=dark]{color-scheme:dark;--bg:#07060a;--bg2:#0d0a12;--ink:#f6f1ea;--mut:rgba(246,241,234,.7);--line:rgba(255,255,255,.15);--card:rgba(255,255,255,.05);--card2:rgba(255,255,255,.1);--acct:var(--acc);--navbg:rgba(7,6,10,.8);--sea:#100d17;--land:rgba(255,255,255,.08);--chipbg:rgba(8,6,12,.3)}
[data-theme=light]{color-scheme:light;--bg:#faf6ee;--bg2:#f1ebdf;--ink:#1d1710;--mut:rgba(29,23,16,.72);--line:rgba(29,23,16,.17);--card:rgba(255,255,255,.7);--card2:#fff;--acct:var(--accd);--bad:#c4163a;--navbg:rgba(250,246,238,.84);--sea:#e8efe9;--land:rgba(29,23,16,.09);--chipbg:rgba(255,255,255,.55)}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:#777 transparent}
html.lock{overflow:hidden}
body{background:var(--bg);color:var(--ink);font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .5s,color .5s}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
ul,ol{list-style:none}
[hidden]{display:none !important}
a{color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--acc);color:var(--on-acc);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--acct);outline-offset:3px}
section[tabindex="-1"]:focus,[tabindex="-1"]:focus:not(:focus-visible){outline:none}

/* curtain */
.curtain{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;transition:opacity .9s ease .1s,visibility 0s linear 1s}
.curtain span{font:800 clamp(40px,9vw,96px)/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.04em;color:var(--ink);animation:pulse 1.2s ease-in-out infinite alternate}
.ready .curtain{opacity:0;visibility:hidden}
@keyframes pulse{from{opacity:.25}to{opacity:.9}}

/* nav */
.nav{position:fixed;z-index:50;top:0;left:0;right:0}
.nav-in{display:flex;align-items:center;gap:18px;padding:calc(env(safe-area-inset-top,0px) + 10px) var(--pad) 10px;min-height:64px;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.solid .nav-in,.nav.open .nav-in{background:var(--navbg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--line)}
.logo{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font:800 24px/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.04em;flex:none}
.logo svg{color:var(--acct);transition:color .3s}
.links{display:flex;align-items:center;gap:2px;margin:0 auto}
.links a{padding:9px 13px;border-radius:99px;text-decoration:none;font-size:15px;font-weight:500;color:var(--mut);transition:color .25s,background .25s;position:relative}
.links a:hover{color:var(--ink);background:var(--card)}
.links a.on{color:var(--ink);background:var(--card2)}
.links a.on::after{content:"";position:absolute;left:50%;bottom:3px;width:14px;height:2px;margin-left:-7px;border-radius:2px;background:var(--acc)}
.cta-m{display:none}
.tools{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
.links+.tools{margin-left:0}
.pill{position:relative;overflow:hidden;padding:10px 20px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:500;font-size:15px;letter-spacing:.01em;transition:background .25s,color .25s,border-color .25s,transform .2s}
.pill:hover{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}
.pill:active,.btn:active,.cta:active,.ico:active,.qb:active,.chip:active,.tab:active,.soc:active,.sw:active{transform:scale(.94)}
.ico{position:relative;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);display:inline-grid;place-items:center;color:var(--ink);transition:background .25s,border-color .25s,transform .2s,color .25s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ico:hover{background:var(--card2);border-color:var(--acct)}
#langTxt{font:700 13px/1 "DM Sans",sans-serif;letter-spacing:.04em}
.i-moon{display:none}
[data-theme=light] .i-sun{display:none}
[data-theme=light] .i-moon{display:block}
#cartN{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--acc);color:var(--on-acc);font:800 11px/19px "DM Sans",sans-serif;text-align:center;border:2px solid var(--bg)}
#cartN.bump{animation:bump .5s var(--ease)}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.5)}100%{transform:scale(1)}}
.burger{display:none}
.burger path{transform-origin:12px 12px;transition:transform .35s var(--ease),opacity .2s}
.burger[aria-expanded=true] .b1{transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded=true] .b2{opacity:0}
.burger[aria-expanded=true] .b3{transform:translateY(-5px) rotate(-45deg)}
.bar{position:absolute;left:0;right:0;top:0;height:3px;background:transparent;pointer-events:none}
.bar i{display:block;height:100%;width:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 14px var(--acc)}
@media (max-width:1100px){
  .burger{display:inline-grid}
  .cta-d{display:none}
  .cta-m{display:inline-flex;justify-content:center;margin:10px var(--pad) 4px;background:var(--acc);color:var(--on-acc);border-color:var(--acc);font-weight:700;padding:14px 20px}
  .links{position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 14px;background:var(--navbg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .35s var(--ease),visibility 0s .35s;max-height:calc(100svh - 64px);overflow:auto}
  .nav.open .links{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .links a{padding:15px var(--pad);border-radius:0;font-size:19px;font-family:"Bricolage",system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
  .links a.on{background:var(--card)}
  .links a.on::after{left:var(--pad);margin:0;bottom:50%;transform:translateY(50%) translateX(-14px);width:3px;height:22px;left:calc(var(--pad) - 8px)}
  .tools{margin-left:auto}
  .links+.tools{margin-left:auto}
}

/* progress dots */
.dots{position:fixed;z-index:20;right:clamp(14px,2.2vw,32px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;opacity:0;transition:opacity .4s;pointer-events:none}
.dots b{display:block;width:6px;height:6px;border-radius:9px;background:var(--line);transition:height .4s var(--ease),background .3s}
.dots b.on{height:26px;background:var(--acc)}
.count{position:fixed;z-index:20;left:var(--pad);bottom:calc(env(safe-area-inset-bottom,0px) + 22px);font:500 13px/1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:flex;gap:6px;align-items:baseline;opacity:0;transition:opacity .5s;pointer-events:none}
.count b{color:var(--ink);font:800 22px/1 "Bricolage",sans-serif;letter-spacing:-.02em}
.count em{font-style:normal;margin-left:10px;color:var(--acct)}

/* film */
.film-sec{position:relative}
#film{position:relative;height:calc(var(--n) * 100vh);height:calc(var(--n) * 100svh)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--bg)}
#c{position:absolute;inset:0;width:100%;height:100%;display:block}
.sc{position:absolute;inset:0;pointer-events:none;visibility:hidden}
.sc.on{visibility:visible}
.tx{position:absolute;bottom:clamp(60px,13vh,150px);max-width:min(560px,42vw);text-shadow:0 2px 28px rgba(0,0,0,.55)}
[data-theme=light] .tx,[data-theme=light] .hero-line{text-shadow:0 2px 24px rgba(250,246,238,.7)}
.left .tx{left:var(--pad)}
.right .tx{right:calc(var(--pad) + 28px);text-align:left}
.kick{display:flex;align-items:center;gap:10px;font:500 13px/1 "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--acct);margin-bottom:18px}
.spark{display:inline-block;width:26px;height:2px;background:var(--acct)}
.t{font:800 clamp(52px,min(8.4vw,15.5vh),156px)/.92 "Bricolage",system-ui,sans-serif;letter-spacing:-.045em;color:var(--ink);margin-bottom:22px}
.t .w{display:inline-block;white-space:nowrap;margin-right:.22em}
.t .ch{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .01em .12em;margin:-.06em -.01em -.12em}
.t .ch i{display:inline-block;font-style:normal;will-change:transform}
.body{font-size:clamp(17px,1.5vw,22px);line-height:1.45;max-width:30ch;color:var(--ink);opacity:.9}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips li{padding:7px 14px;border-radius:99px;border:1px solid var(--line);font-size:14px;letter-spacing:.02em;background:var(--chipbg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
[data-b]{will-change:transform,opacity}
.intro .kick{position:absolute;top:calc(max(11vh,84px));left:0;right:0;justify-content:center;margin:0}
.intro .hero-line{position:absolute;left:0;right:0;bottom:clamp(70px,13vh,140px);text-align:center;font-size:clamp(30px,min(5vw,9vh),84px);line-height:1;letter-spacing:-.04em;margin:0;padding:0 var(--pad);text-shadow:0 2px 30px rgba(0,0,0,.6)}
.intro .hero-line .w{margin-right:.2em}
.cue{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:500 11px/1 "DM Sans",sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--mut)}
.cue i{width:1px;height:34px;background:linear-gradient(var(--ink),transparent);transform-origin:50% 0;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.top .tx{top:calc(max(14vh,96px));bottom:auto;left:var(--pad);max-width:min(600px,40vw)}
.top .t{font-size:clamp(44px,min(7.4vw,14vh),130px)}
.finale .tx{top:calc(max(13vh,92px));bottom:auto;left:0;right:0;max-width:none;text-align:center}
.finale .kick{justify-content:center}
.finale .t{font-size:clamp(46px,min(8vw,13vh),140px);margin:0}
.cta-wrap{position:absolute;left:0;right:0;bottom:clamp(36px,8vh,84px);display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none}
.cta{position:relative;overflow:hidden;pointer-events:auto;display:inline-flex;align-items:center;gap:12px;padding:18px 34px;border-radius:99px;background:var(--acc);color:var(--on-acc);font:800 20px/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.01em;box-shadow:0 0 0 0 var(--acc),0 18px 50px -12px var(--acc);transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.cta:hover,.cta:focus-visible{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 8px rgba(255,255,255,.12),0 24px 60px -10px var(--acc)}
.cta svg{transition:transform .3s}
.cta:hover svg{transform:translateX(4px)}
.ghost{pointer-events:auto;font-size:14px;letter-spacing:.04em;color:var(--mut);text-decoration:underline;text-underline-offset:4px;padding:10px 12px}
.ghost:hover{color:var(--ink)}
.vig{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 52%,rgba(0,0,0,.5) 100%)}
[data-theme=light] .vig{background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(120,85,40,.16) 100%)}
.grain{position:absolute;inset:-60px;z-index:3;pointer-events:none;opacity:.075;mix-blend-mode:overlay;animation:grain .9s steps(6) infinite}
[data-theme=light] .grain{opacity:.05;mix-blend-mode:multiply}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-30px,18px)}40%{transform:translate(22px,-26px)}60%{transform:translate(-14px,-30px)}80%{transform:translate(28px,24px)}100%{transform:translate(0,0)}}
.sc{z-index:1}

/* sections */
.sec{position:relative;padding:clamp(72px,12vh,140px) 0;background:var(--bg);scroll-margin-top:62px}
.how,.where,.contact{background:var(--bg2)}
.wrap{width:min(1180px,calc(100% - 2 * var(--pad)));margin:0 auto}
.narrow{width:min(840px,calc(100% - 2 * var(--pad)))}
.eyebrow{display:flex;align-items:center;gap:12px;font:500 13px/1 "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--acct);margin-bottom:18px}
.h2{font:800 clamp(36px,5.6vw,76px)/.98 "Bricolage",system-ui,sans-serif;letter-spacing:-.045em;margin-bottom:14px}
.lead{color:var(--mut);font-size:clamp(17px,1.5vw,20px);max-width:58ch;margin-bottom:clamp(28px,5vh,54px)}
.fine{font-size:14px;color:var(--mut)}
.muted{color:var(--mut)}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.step.rv{transition-delay:calc(var(--d,0) * .12s)}

/* btn */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;min-height:48px;border-radius:99px;background:var(--acc);color:var(--on-acc);font:800 17px/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.01em;transition:transform .25s var(--ease),box-shadow .25s,background .3s;box-shadow:0 12px 34px -14px var(--acc)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px var(--acc)}
.btn-o{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.link{font-size:14px;color:var(--mut);text-decoration:underline;text-underline-offset:4px;padding:12px;align-self:center}
.link:hover{color:var(--ink)}
.rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:rip .65s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(1);opacity:0}}

/* sabores */
.flav{--acc:var(--facc,#ffb81f);--accd:var(--faccd,#8a5f00);background:var(--fbg,var(--bg));transition:background-color .7s ease;overflow:hidden}
.flav::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 25% 50%,var(--fglow,transparent),transparent 70%);transition:background .7s}
.fl-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.fl-stage{position:relative;aspect-ratio:1/1;max-height:min(680px,80vh);width:100%}
#c2{position:absolute;inset:0;width:100%;height:100%;display:block}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tab,.chip{position:relative;display:inline-flex;align-items:center;gap:9px;padding:10px 18px;min-height:44px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);font-weight:500;font-size:16px;transition:background .25s,color .25s,border-color .25s,transform .2s}
.tab:hover,.chip:hover{border-color:var(--acct)}
.tab .dot{width:12px;height:12px;border-radius:50%;background:var(--tc);box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.tab.on,.chip.on{background:var(--acc);color:var(--on-acc);border-color:var(--acc);font-weight:700}
.tab.on .dot{box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.fl-panel{padding:clamp(18px,2.4vw,28px);border-radius:24px;border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.fl-panel.swap{animation:swapin .55s var(--ease)}
@keyframes swapin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fl-name{font:800 clamp(30px,3.6vw,44px)/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.04em;margin-bottom:8px;color:var(--ink)}
.fl-note{color:var(--mut);margin-bottom:18px}
.fl-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}
.fl-cols h4{font:500 12px/1 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--acct);margin-bottom:12px}
.ings{display:flex;flex-wrap:wrap;gap:6px}
.ings li{padding:5px 11px;border-radius:99px;border:1px solid var(--line);font-size:14px;background:var(--chipbg)}
.mt{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;margin-bottom:8px}
.mb{display:flex;gap:4px}
.mb i{width:18px;height:8px;border-radius:4px;background:var(--line)}
.mb i.f{background:var(--acc)}
.pair{font-size:15px;margin-bottom:18px;color:var(--mut)}
.pair b{color:var(--ink)}

/* cómo */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{position:relative;padding:26px 22px 28px;border:1px solid var(--line);border-radius:24px;background:var(--card)}
.ill{width:92px;height:92px;display:block;margin-bottom:16px;overflow:visible}
.ill .dr{fill:none;stroke:var(--acct);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.js .step:not(.in) .dr{stroke-dashoffset:1}
.step.in .dr{transition:stroke-dashoffset 1.6s ease calc(var(--d) * .25s + .2s)}
.num{position:absolute;top:18px;right:20px;font:800 44px/1 "Bricolage",sans-serif;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.2px var(--line)}
.step h3{font:800 24px/1.05 "Bricolage",system-ui,sans-serif;letter-spacing:-.03em;margin-bottom:8px}
.step p{color:var(--mut);font-size:16px}
.how .fine{margin-top:22px}

/* tienda */
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border-radius:26px;border:1px solid var(--line);background:var(--card);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .3s}
.card:hover{transform:translateY(-4px);border-color:var(--acct)}
.card-art{position:relative;height:250px;background:radial-gradient(80% 90% at 50% 50%,var(--card2),transparent)}
.card-art canvas{position:absolute;inset:0;width:100%;height:100%}
.badge{position:absolute;top:14px;left:14px;padding:5px 12px;border-radius:99px;background:var(--chipbg);border:1px solid var(--line);font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.card-b{padding:22px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-b h3{font:800 28px/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.04em}
.price{margin:6px 0 4px;color:var(--mut);font-size:14px}
.price b{font:800 30px/1 "Bricolage",sans-serif;color:var(--ink);letter-spacing:-.03em}
.sws{display:flex;align-items:center;gap:10px;margin:6px 0 8px;min-height:44px}
.sw{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--tc),var(--tc2));border:2px solid transparent;box-shadow:0 0 0 1px var(--line);transition:transform .2s,box-shadow .2s;position:relative}
.sw::after{content:"";position:absolute;inset:-6px}
.sw[aria-checked=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
.swn{font-size:15px;color:var(--mut)}
.swn.solo{margin:6px 0 8px;min-height:44px;display:flex;align-items:center}
.buyrow{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:10px}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:99px;background:var(--card)}
.qty output{min-width:30px;text-align:center;font-weight:700}
.qb{width:44px;height:44px;border-radius:50%;font-size:22px;line-height:1;display:grid;place-items:center;transition:background .2s,transform .2s}
.qb:hover{background:var(--card2)}
.qty.sm .qb{width:34px;height:34px;font-size:19px}
.add{flex:1}

/* dónde */
.chipbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.where-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.mapbox svg{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:26px;border:1px solid var(--line);overflow:hidden}
.sea{fill:var(--sea)}
.grid path{stroke:var(--line);stroke-width:.15;fill:none;opacity:.7}
.land{fill:var(--land);stroke:var(--line);stroke-width:.35}
.river{fill:none;stroke:var(--acc);stroke-width:.45;opacity:.4;stroke-linecap:round;stroke-dasharray:1.2 1.4}
.cl{font:700 3.1px "Bricolage",system-ui,sans-serif;fill:var(--mut);letter-spacing:-.02em;transition:fill .3s}
.cl.on{fill:var(--ink)}
.pin{cursor:pointer;transition:opacity .35s}
.pin path{fill:var(--acc);stroke:var(--bg);stroke-width:.5;transform-box:fill-box;transform-origin:50% 100%;transition:transform .25s var(--ease)}
.pin .core{fill:var(--on-acc)}
.pin .halo{fill:var(--acc);opacity:0;transition:opacity .3s}
.pin:hover path,.pin.sel path{transform:scale(1.35)}
.pin.sel .halo{opacity:.3;animation:halo 1.6s ease-in-out infinite}
@keyframes halo{50%{transform:scale(1.5);opacity:.1}}
.pin .halo{transform-box:fill-box;transform-origin:center}
.pin.dim{opacity:.22;pointer-events:none}
.pin:focus{outline:none}
.pin:focus-visible .halo{opacity:.6;stroke:var(--ink);stroke-width:.4}
.mapcap{margin-top:12px;font-size:14px;color:var(--mut);min-height:22px}
.mapcap b{color:var(--ink)}
.count-line{font-size:14px;color:var(--mut);margin-bottom:12px;letter-spacing:.04em}
.stores{display:flex;flex-direction:column;gap:10px}
.store{width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;padding:15px 18px;border-radius:18px;border:1.5px solid var(--line);background:var(--card);transition:border-color .25s,background .25s,transform .25s}
.store:hover{border-color:var(--acct);transform:translateX(3px)}
.store.sel{border-color:var(--acc);background:var(--card2);box-shadow:inset 4px 0 0 var(--acc)}
.sn{font:800 19px/1.2 "Bricolage",system-ui,sans-serif;letter-spacing:-.02em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sn em{font:500 11px/1 "DM Sans",sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:99px;border:1px solid var(--line);color:var(--mut)}
.sa,.sh{font-size:14.5px;color:var(--mut)}

/* preguntas */
.accs{border-top:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc-b{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;text-align:left;font:800 clamp(19px,2.3vw,25px)/1.15 "Bricolage",system-ui,sans-serif;letter-spacing:-.025em;min-height:64px}
.acc-b i{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);transition:background .3s,transform .4s var(--ease)}
.acc-b i::before,.acc-b i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;transition:transform .35s var(--ease)}
.acc-b i::after{transform:rotate(90deg)}
.acc.open .acc-b i{background:var(--acc);color:var(--on-acc);border-color:var(--acc);transform:rotate(180deg)}
.acc.open .acc-b i::after{transform:rotate(0)}
.acc-p{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease),visibility 0s .45s;visibility:hidden}
.acc.open .acc-p{grid-template-rows:1fr;visibility:visible;transition-delay:0s}
.acc-p>div{overflow:hidden}
.acc-p p{color:var(--mut);padding:0 54px 24px 0;max-width:62ch}

/* contacto */
.ct-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,6vw,90px);align-items:start}
.ct-side{display:grid;gap:4px;margin-top:8px}
.ct-side dt{font:500 12px/1 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--acct);margin-top:14px}
.ct-side dd{font-size:18px}
.ct-card{padding:clamp(20px,3vw,34px);border-radius:28px;border:1px solid var(--line);background:var(--card)}
.field{margin-bottom:16px}
.field label{display:block;font-size:14px;font-weight:500;margin-bottom:7px;color:var(--mut)}
input,select,textarea{width:100%;padding:14px 16px;min-height:50px;border-radius:14px;border:1.5px solid var(--line);background:var(--card2);color:var(--ink);font-size:16px;transition:border-color .2s,box-shadow .2s}
textarea{resize:vertical;min-height:120px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acct);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 30%,transparent)}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--bad)}
.err{color:var(--bad);font-size:14px;margin-top:6px}
.err:empty{display:none}
.okbox{text-align:center;padding:22px 6px;display:flex;flex-direction:column;align-items:center;gap:12px}
.okbox:focus{outline:none}
.okbox svg{color:var(--acct)}
.okbox h3{font:800 28px/1.05 "Bricolage",sans-serif;letter-spacing:-.03em}
.okbox p{color:var(--mut)}
.okbox .strong{color:var(--ink);font-weight:700}
.tick{stroke-dasharray:40;stroke-dashoffset:40;animation:tick .7s .15s ease forwards}
@keyframes tick{to{stroke-dashoffset:0}}

/* footer */
.foot{position:relative;background:var(--bg);padding:clamp(60px,12vh,140px) var(--pad) calc(env(safe-area-inset-bottom,0px) + 36px);overflow:hidden}
.foot-word{font:800 clamp(90px,25vw,420px)/.8 "Bricolage",system-ui,sans-serif;letter-spacing:-.06em;text-align:center;color:transparent;-webkit-text-stroke:1.5px var(--line);user-select:none}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(30px,6vh,70px)}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot-links a{text-decoration:none;color:var(--mut);padding:8px 0;display:inline-block}
.foot-links a:hover{color:var(--ink)}
.socials{display:flex;gap:10px}
.soc{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:background .25s,color .25s,transform .2s}
.soc:hover{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}
.foot-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--ink)}
.foot-row .muted{max-width:46ch}

/* volver arriba */
.totop{position:fixed;z-index:45;right:calc(env(safe-area-inset-right,0px) + 18px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);width:50px;height:50px;border-radius:50%;background:var(--acc);color:var(--on-acc);display:grid;place-items:center;box-shadow:0 12px 30px -8px var(--acc);opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;visibility:hidden;transition:opacity .35s,transform .35s var(--ease),visibility 0s .35s}
.totop.on{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition-delay:0s}
.totop:hover{transform:translateY(-3px)}

/* drawer */
.scrim{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;z-index:80;top:0;right:0;bottom:0;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--bg2);border-left:1px solid var(--line);box-shadow:-30px 0 80px -20px rgba(0,0,0,.6);transform:translateX(104%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s;color:var(--ink)}
.drawer.open{transform:none;visibility:visible;transition-delay:0s}
.drawer:focus{outline:none}
.dr-head{display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 18px) 22px 14px;border-bottom:1px solid var(--line)}
.dr-head h2{font:800 28px/1 "Bricolage",sans-serif;letter-spacing:-.04em}
.dv{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 22px}
#vCheck,#vDone{overflow:auto;padding:22px 22px 28px}
#vCheck h3{font:800 24px/1.05 "Bricolage",sans-serif;letter-spacing:-.03em;margin-bottom:18px}
#vCheck .btn{width:100%;margin-top:12px}
.lines{flex:1;overflow:auto;padding:12px 0;display:flex;flex-direction:column;gap:2px}
.line{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.lsw{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--tc),var(--tc2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.lm{display:flex;flex-direction:column;gap:2px;min-width:0}
.lm b{font-size:16px;line-height:1.25}
.lm span{font-size:13.5px;color:var(--mut)}
.lm .qty{margin-top:6px;align-self:flex-start}
.lr{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.lr b{font:800 18px/1 "Bricolage",sans-serif}
.rm{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--mut);transition:background .2s,color .2s}
.rm:hover{background:var(--card2);color:var(--bad)}
.mini .line{grid-template-columns:1fr auto;padding:10px 0}
.mini .line.tot{border-bottom:0;border-top:1.5px solid var(--line)}
.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:var(--mut)}
.empty .e1{font:800 22px/1.1 "Bricolage",sans-serif;color:var(--ink);margin-top:8px}
.empty .btn{margin-top:14px}
.dfoot{padding:16px 0 calc(env(safe-area-inset-bottom,0px) + 22px);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.tot{display:flex;justify-content:space-between;align-items:baseline;font-size:17px;margin:6px 0}
.tot b{font:800 30px/1 "Bricolage",sans-serif;letter-spacing:-.03em}
.dfoot .btn{margin-top:8px;width:100%}
#vDone svg{color:var(--acct)}
#vDone{align-items:center;text-align:center;gap:10px}
#vDone .mini{width:100%;flex:none;text-align:left;margin:8px 0}
#vDone .btn{margin-top:10px}

/* cursor y toast */
.cur{position:fixed;z-index:120;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);pointer-events:none;mix-blend-mode:difference;opacity:0;transition:width .3s,height .3s,margin .3s,background .3s,opacity .3s;will-change:transform}
.cur.show{opacity:1}
.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(255,255,255,.22)}
.toast{position:fixed;z-index:150;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);transform:translate(-50%,30px);max-width:min(92vw,480px);padding:14px 22px;border-radius:16px;background:rgba(18,14,24,.94);color:#f6f1ea;border:1px solid rgba(255,255,255,.2);font-size:15px;text-align:center;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s var(--ease);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 50px -14px rgba(0,0,0,.5)}
[data-theme=light] .toast{background:rgba(29,23,16,.94)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* movil */
@media (max-width:980px){
  .fl-grid,.where-grid,.ct-grid{grid-template-columns:1fr}
  .fl-stage{aspect-ratio:1/.92;max-height:420px}
  .steps{grid-template-columns:1fr 1fr}
  .products{grid-template-columns:1fr}
  .card{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:760px){
  body{font-size:16px}
  .dots{display:none}
  .count{opacity:0 !important}
  .logo{font-size:22px}
  .nav-in{gap:10px}
  .tools{gap:6px}
  .ico{width:40px;height:40px}
  .tx{left:var(--pad) !important;right:var(--pad) !important;bottom:calc(env(safe-area-inset-bottom,0px) + 34px);max-width:none}
  .right .tx{text-align:left}
  .t{font-size:clamp(46px,15.5vw,92px);margin-bottom:16px}
  .body{font-size:17px;max-width:26ch}
  .chips{margin-top:16px}
  .chips li{font-size:13px;padding:6px 12px}
  .kick{margin-bottom:12px;font-size:12px}
  .top .tx{top:calc(max(11vh,84px));bottom:auto;max-width:none}
  .top .t{font-size:clamp(38px,11.4vw,64px)}
  .finale .tx{top:calc(max(11vh,88px))}
  .finale .t{font-size:clamp(44px,14vw,84px)}
  .intro .hero-line{font-size:clamp(30px,9.6vw,50px);bottom:calc(env(safe-area-inset-bottom,0px) + 92px)}
  .intro .kick{top:calc(max(11vh,88px))}
  .cta{padding:17px 30px;font-size:19px}
  .foot-row{flex-direction:column}
  .steps{grid-template-columns:1fr}
  .step{display:grid;grid-template-columns:84px 1fr;column-gap:16px;align-items:center;padding:20px}
  .step .ill{grid-row:1/4;width:84px;height:84px;margin:0}
  .step .num{top:10px;right:16px;font-size:34px}
  .step h3{padding-right:38px}
  .card{flex-direction:column}
  .card-art{height:230px}
  .fl-cols{grid-template-columns:1fr}
  .acc-p p{padding-right:0}
  .h2{font-size:clamp(34px,10.5vw,52px)}
  .totop{width:46px;height:46px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .grain{animation:none}
  .cue i{animation:none;transform:none}
  .rv{opacity:1;transform:none}
  .ill .dr{stroke-dashoffset:0 !important}
}
@media (hover:none),(pointer:coarse){.cur{display:none}}

/* ===== oficio ===== */
:root{--r1:7px 15px 6px 13px / 13px 6px 15px 7px;--r2:14px 6px 12px 8px / 6px 13px 7px 15px;--r3:5px 11px 14px 6px / 12px 5px 8px 14px;--bw:2.5px}
[data-theme=dark]{--hard:#f6f1ea;--hardsoft:rgba(246,241,234,.2);--inkb:#120d06}
[data-theme=light]{--hard:#1d1710;--hardsoft:rgba(29,23,16,.2);--inkb:#1d1710}
.spark{width:34px;height:9px;background:var(--acct);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 10%22%3E%3Cpath d=%22M2 6c4-5 7 3 11-1s6 3 10-1 6 3 10-1 3 1 5 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 10%22%3E%3Cpath d=%22M2 6c4-5 7 3 11-1s6 3 10-1 6 3 10-1 3 1 5 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/contain no-repeat;transform:rotate(-2deg)}
.h2{position:relative;display:block}
.h2::after{content:"";display:block;width:clamp(120px,16vw,210px);height:14px;margin-top:10px;background:var(--acc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 14%22%3E%3Cpath d=%22M3 8c9-7 15 5 25-1s14 4 24-1 14 5 25-1 15 3 25-1 10 2 15-1%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 120 14%22%3E%3Cpath d=%22M3 8c9-7 15 5 25-1s14 4 24-1 14 5 25-1 15 3 25-1 10 2 15-1%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:rotate(-1.2deg);opacity:.95}
[data-theme=light] .h2::after{background:var(--accd)}
.faq .h2::after,.fl-info .h2::after{transform:rotate(.8deg)}
/* botones: etiqueta de lata */
.btn,.pill,.cta{border:var(--bw) solid var(--inkb);border-radius:var(--r1);background:var(--acc);color:#120d06;box-shadow:4px 4px 0 var(--hard);-webkit-backdrop-filter:none;backdrop-filter:none;transform:rotate(var(--rot,0deg));transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s,background .2s}
.btn:hover,.pill:hover,.cta:hover,.cta:focus-visible{transform:translate(-1px,-2px) rotate(calc(var(--rot,0deg) * -1));box-shadow:6px 6px 0 var(--hard);background:var(--acc);color:#120d06;border-color:var(--inkb)}
.btn:active,.pill:active,.cta:active{transform:translate(4px,4px) rotate(var(--rot,0deg));box-shadow:0 0 0 var(--hard)}
.btn-o{background:var(--bg);color:var(--ink);border-color:var(--ink);box-shadow:4px 4px 0 var(--hardsoft)}
.btn-o:hover{background:var(--card2);color:var(--ink);border-color:var(--ink)}
.pill{--rot:-1deg;padding:9px 18px;font:800 16px/1 "Bricolage",system-ui,sans-serif;letter-spacing:-.01em}
.cta{--rot:-1.5deg;padding:18px 32px;border-radius:var(--r2);box-shadow:6px 6px 0 var(--hard)}
.cta:hover,.cta:focus-visible{box-shadow:9px 9px 0 var(--hard)}
.cta svg{transform:rotate(2deg)}
.btn.add{--rot:.6deg}
.add,.btn:not(.add):not(.btn-o){border-radius:var(--r2)}
.rip{display:none}
.ghost{text-decoration:none;padding-bottom:7px;position:relative}
.ghost::after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:6px;background:var(--mut);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 8%22%3E%3Cpath d=%22M2 5c12-3 22 2 34-1 8-2 14-1 22 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.2%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 8%22%3E%3Cpath d=%22M2 5c12-3 22 2 34-1 8-2 14-1 22 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.2%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.link{text-decoration:none;position:relative;padding-bottom:9px}
.link::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:6px;background:var(--mut);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 8%22%3E%3Cpath d=%22M2 5c12-3 22 2 34-1 8-2 14-1 22 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.2%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 8%22%3E%3Cpath d=%22M2 5c12-3 22 2 34-1 8-2 14-1 22 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.2%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.link:hover::after,.ghost:hover::after{background:var(--ink)}
/* iconos: dibujos, no círculos */
.ico{width:44px;height:44px;border-radius:var(--r3);border:2px solid var(--ink);background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:3px 3px 0 var(--hardsoft);transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s,background .2s;transform:rotate(var(--rot,0deg))}
.ico:nth-child(odd){--rot:-2deg;border-radius:var(--r2)}
.ico:nth-child(even){--rot:1.5deg}
.ico:hover{background:var(--card2);border-color:var(--ink);transform:translate(-1px,-2px) rotate(calc(var(--rot,0deg) * -1));box-shadow:5px 5px 0 var(--hardsoft)}
.ico:active{transform:translate(3px,3px);box-shadow:0 0 0 transparent}
#langTxt{font:800 14px/1 "Bricolage",sans-serif;letter-spacing:.02em}
#cartN{border-radius:var(--r3);border:2px solid var(--inkb);background:var(--acc);color:#120d06;top:-9px;right:-9px;transform:rotate(6deg);box-shadow:2px 2px 0 var(--hard)}
#cartN.bump{animation:bump2 .5s var(--ease)}
@keyframes bump2{0%{transform:rotate(6deg) scale(1)}35%{transform:rotate(-8deg) scale(1.6)}100%{transform:rotate(6deg) scale(1)}}
.links a{border-radius:var(--r3)}
.links a.on{background:transparent}
.links a.on::after{content:"";left:12px;right:12px;bottom:1px;width:auto;height:6px;margin:0;border-radius:0;background:var(--acc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 8%22%3E%3Cpath d=%22M2 5c12-3 22 2 34-1 8-2 14-1 22 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.2%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 8%22%3E%3Cpath d=%22M2 5c12-3 22 2 34-1 8-2 14-1 22 0%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%223.2%22 stroke-linecap=%22round%22/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:rotate(-1deg)}
[data-theme=light] .links a.on::after{background:var(--accd)}
.nav.solid .nav-in,.nav.open .nav-in{border-bottom:2.5px solid var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
.logo{transform:rotate(-1.5deg)}
.bar{height:6px}
.bar i{box-shadow:none;border-radius:0 4px 4px 0;height:5px}
.dots b{height:3px;width:16px;border-radius:2px;background:var(--line);transform:rotate(calc(var(--k,0) * 1deg))}
.dots b:nth-child(odd){--k:-6}.dots b:nth-child(even){--k:5}
.dots b.on{height:5px;width:28px;background:var(--acc)}
/* chips y pestañas: etiquetas */
.tab,.chip{border:2px solid var(--ink);border-radius:var(--r3);background:var(--bg);box-shadow:3px 3px 0 var(--hardsoft);font-weight:700;font-family:"Bricolage",system-ui,sans-serif;letter-spacing:-.01em;transform:rotate(var(--rot,0deg));transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s,background .2s}
.tab:nth-child(odd),.chip:nth-child(odd){--rot:-1deg}.tab:nth-child(even),.chip:nth-child(even){--rot:.8deg;border-radius:var(--r1)}
.tab:hover,.chip:hover{border-color:var(--ink);transform:translate(-1px,-2px) rotate(0deg);box-shadow:5px 5px 0 var(--hardsoft)}
.tab.on,.chip.on{background:var(--acc);color:#120d06;border-color:var(--inkb);box-shadow:4px 4px 0 var(--hard);font-weight:800}
.tab.on .dot{box-shadow:0 0 0 2px #120d06}
.tab .dot{box-shadow:0 0 0 2px var(--ink);border-radius:46% 54% 50% 50%}
.chips li,.ings li{border:1.8px solid var(--ink);border-radius:var(--r3);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;font-weight:500}
.chips li:nth-child(2n),.ings li:nth-child(2n){transform:rotate(-1.2deg)}.chips li:nth-child(3n),.ings li:nth-child(3n){transform:rotate(1deg)}
/* paneles y tarjetas: etiqueta / ticket */
.fl-panel{border:2.5px solid var(--ink);border-radius:var(--r1);background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:7px 7px 0 var(--hardsoft);transform:rotate(-.4deg)}
.step{border:2.5px solid var(--ink);border-radius:var(--r1);background:var(--bg);box-shadow:5px 5px 0 var(--hardsoft)}
.step:nth-child(1){transform:rotate(-1deg)}.step:nth-child(2){transform:rotate(.8deg);border-radius:var(--r2)}.step:nth-child(3){transform:rotate(-.5deg);border-radius:var(--r3)}.step:nth-child(4){transform:rotate(1deg)}
.step.rv.in:nth-child(1){transform:rotate(-1deg)}.step.rv.in:nth-child(2){transform:rotate(.8deg)}.step.rv.in:nth-child(3){transform:rotate(-.5deg)}.step.rv.in:nth-child(4){transform:rotate(1deg)}
.ill .dr{stroke-width:2.8}
.card{border:2.5px solid var(--ink);border-radius:var(--r1);background:var(--bg);box-shadow:7px 7px 0 var(--hardsoft);overflow:hidden}
.card.rv.in:hover,.card:hover{border-color:var(--ink)}
.card:nth-child(1){transform:rotate(-.8deg)}.card:nth-child(2){transform:rotate(.6deg);border-radius:var(--r2)}.card:nth-child(3){transform:rotate(-.4deg);border-radius:var(--r3)}
.card.rv.in:nth-child(1){transform:rotate(-.8deg)}.card.rv.in:nth-child(2){transform:rotate(.6deg)}.card.rv.in:nth-child(3){transform:rotate(-.4deg)}
.card:hover{transform:translate(-2px,-4px) rotate(0deg)!important;box-shadow:10px 11px 0 var(--hardsoft)}
.card-art{background:radial-gradient(70% 80% at 50% 55%,var(--card2),transparent 80%);border-bottom:2.5px dashed var(--ink);overflow:visible}
.card-art::before,.card-art::after{content:"";position:absolute;bottom:-14px;width:26px;height:26px;border-radius:50%;background:var(--bg);border:2.5px solid var(--ink);z-index:3}
.card-art::before{left:-15px}.card-art::after{right:-15px}
.badge{border:2px solid var(--ink);border-radius:var(--r3);background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;font-weight:700;transform:rotate(-3deg)}
.price b{display:inline-block;padding:3px 10px 4px;border:2px solid var(--ink);border-radius:var(--r3);transform:rotate(-1.5deg);background:var(--card)}
.sw{box-shadow:0 0 0 2px var(--ink);border-radius:48% 52% 50% 50%}
.sw[aria-checked=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 5px var(--ink)}
.qty{border:2px solid var(--ink);border-radius:var(--r3);background:var(--bg)}
.qb{border-radius:var(--r3);font-weight:800}
.qb:hover{background:var(--acc);color:#120d06}
.qb:active{transform:translate(2px,2px)}
.stamp{position:absolute;right:var(--pad);top:clamp(80px,12vh,130px);transform:rotate(7deg);padding:8px 14px;border:2.5px dashed var(--acct);border-radius:var(--r3);color:var(--acct);font:800 17px/1 "Bricolage",sans-serif;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;opacity:.95}
.shop .wrap{position:relative}
.shop .stamp{right:0;top:6px}
.note{display:inline-flex;align-items:flex-end;gap:6px;color:var(--acct);font:800 19px/1 "Bricolage",sans-serif;transform:rotate(-4deg);margin:-30px 0 18px 4px;letter-spacing:-.01em}
.note svg{transform:translateY(8px) scaleX(-1) rotate(10deg)}
/* tienda: tickets de mapa y tiendas */
.mapbox svg{border:2.5px solid var(--ink);border-radius:var(--r1);box-shadow:6px 6px 0 var(--hardsoft)}
.store{border:2px solid var(--ink);border-radius:var(--r3);background:var(--bg);box-shadow:3px 3px 0 var(--hardsoft)}
.store:nth-child(even){border-radius:var(--r1)}
.store:hover{border-color:var(--ink);transform:translate(-1px,-2px);box-shadow:5px 5px 0 var(--hardsoft)}
.store.sel{border-color:var(--ink);background:var(--card2);box-shadow:inset 6px 0 0 var(--acc),4px 4px 0 var(--hard)}
.sn em{border:1.5px solid var(--ink);border-radius:var(--r3);color:var(--ink);transform:rotate(-2deg)}
/* acordeón: flecha dibujada */
.acc-b i{width:36px;height:36px;border:0;border-radius:0;background:transparent;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.acc-b i::before,.acc-b i::after{content:none}
.acc-b i svg{display:block;width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.acc.open .acc-b i{background:transparent;color:inherit;border:0;transform:rotate(180deg)}
.acc.open .acc-b i svg{stroke:var(--acct)}
.accs{border-top:2.5px solid var(--ink)}
.acc{border-bottom:2px dashed var(--ink)}
/* formularios: papel */
input,select,textarea{border:2px solid var(--line);border-bottom:3px solid var(--ink);border-radius:var(--r3);background:var(--card);box-shadow:none}
input:focus,select:focus,textarea:focus{border-color:var(--ink);border-bottom-color:var(--acct);box-shadow:3px 3px 0 var(--hardsoft)}
textarea{background-image:repeating-linear-gradient(transparent 0 27px,var(--line) 27px 28px);background-attachment:local;line-height:28px;padding-top:4px}
.field label{font-weight:700;color:var(--ink);font-size:14px;letter-spacing:.02em}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--bad);border-bottom-color:var(--bad)}
.ct-card{border:2.5px solid var(--ink);border-radius:var(--r1);background:var(--bg);box-shadow:8px 8px 0 var(--hardsoft);transform:rotate(.5deg)}
.ct-card form,.ct-card .okbox{transform:rotate(-.5deg)}
.okbox svg{transform:rotate(-6deg)}
/* carrito */
.drawer{border-left:3px solid var(--ink);box-shadow:-10px 0 0 var(--hardsoft)}
.drawer.open{box-shadow:-10px 0 0 var(--hardsoft)}
.dr-head{border-bottom:2.5px dashed var(--ink)}
.lsw{border-radius:48% 52% 46% 54%;box-shadow:0 0 0 2px var(--ink)}
.line{border-bottom:2px dashed var(--line)}
.rm{border-radius:var(--r3)}
.dfoot{border-top:2.5px dashed var(--ink)}
.mini .line.tot{border-top:2.5px solid var(--ink)}
.scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(0,0,0,.6)}
/* pie */
.soc{border:2px solid var(--ink);border-radius:var(--r3);background:var(--bg);box-shadow:3px 3px 0 var(--hardsoft);transform:rotate(var(--rot,0deg))}
.soc:nth-child(1){--rot:-3deg}.soc:nth-child(2){--rot:2deg;border-radius:var(--r1)}.soc:nth-child(3){--rot:-1deg}
.soc:hover{background:var(--acc);color:#120d06;border-color:var(--ink)}
.totop{border:2.5px solid var(--inkb);border-radius:var(--r2);box-shadow:4px 4px 0 var(--hard);background:var(--acc);color:#120d06;transform:translateY(14px) rotate(4deg)}
.totop.on{transform:rotate(4deg)}
.totop:hover{transform:translate(-1px,-3px) rotate(-2deg);box-shadow:6px 6px 0 var(--hard)}
.foot-row{border-top:2.5px dashed var(--ink)}
.toast{border:2.5px solid var(--ink);border-radius:var(--r1);background:var(--bg);color:var(--ink);box-shadow:5px 5px 0 var(--hard);-webkit-backdrop-filter:none;backdrop-filter:none;font-weight:500;font-size:15.5px;transform:translate(-50%,30px) rotate(-1deg)}
[data-theme=light] .toast{background:var(--bg)}
.toast.on{transform:translate(-50%,0) rotate(-1deg)}
.skip{border:2.5px solid var(--inkb);border-radius:var(--r3)}
.empty svg{transform:rotate(-5deg)}
@media (max-width:1100px){
  .cta-m{border:var(--bw) solid var(--inkb);border-radius:var(--r2);box-shadow:4px 4px 0 var(--hard);margin:12px var(--pad) 6px;font-size:18px;transform:rotate(-.8deg);font-family:"Bricolage",sans-serif}
  .links a{border-radius:0;font-weight:800}
  .links a.on::after{left:var(--pad);right:auto;width:64px;bottom:8px}
  .links{border-bottom:2.5px solid var(--ink);background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (max-width:760px){
  .ico{width:42px;height:42px}
  .stamp{font-size:14px;padding:6px 10px}
  .shop .stamp{position:static;display:inline-block;margin:-14px 0 22px;transform:rotate(-2deg)}
  .note{margin-top:-18px}
  .card:nth-child(n),.card.rv.in:nth-child(n){transform:rotate(0)}
  .card:nth-child(odd),.card.rv.in:nth-child(odd){transform:rotate(-.6deg)}
  .card:nth-child(even),.card.rv.in:nth-child(even){transform:rotate(.5deg)}
}
@media (prefers-reduced-motion:reduce){.ico,.btn,.pill,.cta,.tab,.chip{transition-duration:.01ms!important}}

.add{white-space:nowrap;padding-left:18px;padding-right:18px}
.cartBtn svg{transform:rotate(-3deg)}

html.lock .toast{bottom:auto;top:calc(env(safe-area-inset-top,0px) + 76px);transform:translate(-50%,-24px) rotate(-1deg);z-index:160}
html.lock .toast.on{transform:translate(-50%,0) rotate(-1deg)}
