:root{--p:#6c4a9c;--pd:#3b2466;--y:#ffc726;--l:#d9d0ff;--ink:#1d1230;--bg:#fff;--soft:#faf7ff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:'Quicksand',sans-serif;font-weight:500;color:var(--ink);background:var(--bg);overflow-x:hidden;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1320px;margin:0 auto;padding:0 20px}
.title{font-family:'Fredoka',sans-serif;font-weight:700;color:var(--pd);font-size:clamp(2rem,6vw,3.2rem);line-height:1.1;text-align:center;margin-bottom:12px}
.title em{font-style:normal;color:var(--p)}
.lead{text-align:center;max-width:620px;margin:0 auto 28px;color:#4b3b68}
/* pills (botones estilo biolink) */
.pill{display:inline-flex;justify-content:center;align-items:center;padding:14px 28px;border:1.5px solid #000;border-radius:999px;background:var(--l);font:500 .95rem 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;transition:transform .2s,background .2s}
.pill:hover{transform:translateY(-3px) scale(1.02);background:#cbbdff}
.pill--y{background:var(--y)}.pill--y:hover{background:#ffd24d}
/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 32px;transition:.3s;background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
.nav.scrolled,.nav.open{background:rgba(255,255,255,.96);box-shadow:0 2px 18px rgba(60,30,100,.12)}
.nav__logo{justify-self:center}.nav__logo img{height:74px;width:auto;transition:height .3s}
.nav.scrolled .nav__logo img{height:60px}
.nav__side{display:flex;align-items:center;gap:26px;font:600 .85rem 'Poppins',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--pd)}
.nav__right{justify-content:flex-end;gap:16px}
.nav__links a:hover{color:var(--p)}
.nav__cta{font:600 .85rem 'Poppins',sans-serif;letter-spacing:.1em;text-transform:uppercase;background:var(--y);color:var(--pd);padding:11px 22px;border-radius:999px;border:1.5px solid #000;cursor:pointer;transition:.2s}
.nav__cta:hover{transform:translateY(-2px);background:#ffd24d}
.cartbtn{position:relative;background:var(--l);color:var(--pd);border:1.5px solid #000;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.2s}
.cartbtn:hover{background:#cbbdff}
.cartbtn b{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:var(--p);color:#fff;font:600 .72rem/22px 'Poppins',sans-serif;text-align:center;transform:scale(0);transition:.25s}
.cartbtn b.on{transform:scale(1)}
.cartbtn.bump{animation:bump .45s}
@keyframes bump{40%{transform:scale(1.25) rotate(-8deg)}}
.nav__toggle{display:none;background:none;border:0;width:34px;height:34px;position:relative;cursor:pointer}
.nav__toggle span{position:absolute;left:5px;right:5px;height:3px;background:var(--p);border-radius:3px;transition:.25s}
.nav__toggle span:first-child{top:12px}.nav__toggle span:last-child{top:20px}
.nav.open .nav__toggle span:first-child{top:16px;transform:rotate(45deg)}.nav.open .nav__toggle span:last-child{top:16px;transform:rotate(-45deg)}
/* hero */
.hero{position:relative;min-height:100vh;padding:120px 20px 60px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#fff}
.blob{position:absolute;pointer-events:none;z-index:0}
.b1{width:420px;top:-80px;left:-110px;opacity:.95}.b2{width:380px;right:-120px;top:20%}.b3{width:320px;left:-90px;bottom:-70px}
.bubble{position:absolute;width:70px;opacity:.85;animation:float 7s ease-in-out infinite}.bu1{right:12%;top:18%}.bu2{left:9%;top:55%;width:44px;animation-delay:-3s}
@keyframes float{50%{transform:translateY(-22px)}}
.hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,420px)}
.hero__tag{font-family:'Fredoka',sans-serif;font-size:1.15rem;color:var(--p);max-width:330px;margin-bottom:6px}
.hero__mascot{position:relative;width:240px;margin:6px 0 4px}
.hero__mascot img:first-child{animation:bob 3s ease-in-out infinite}
.rayo{position:absolute;left:30px;right:-40px;bottom:12px;z-index:-1;width:auto}
@keyframes bob{50%{transform:translateY(-8px) rotate(-1.5deg)}}
@keyframes pop{from{transform:scale(.7);opacity:0}}
.pills{display:flex;flex-direction:column;gap:14px;width:100%}
.hero__sedes{display:flex;gap:22px;margin-top:22px;font:500 .9rem 'Poppins',sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;color:#8a79c4}
.hero__sedes a:hover{color:var(--pd)}
.hero__cups{position:absolute;right:3%;bottom:6%;width:min(40vw,420px);display:none;z-index:1}
.hero__cups img{position:absolute;bottom:0;width:60%;filter:drop-shadow(0 14px 18px rgba(60,30,100,.25))}
.hero__cups img:first-child{left:0;transform:rotate(-8deg)}.hero__cups img:last-child{right:0;transform:rotate(7deg)}
@media(min-width:960px){.hero{justify-content:flex-start;padding-left:12%}.hero__cups{display:block;height:min(52vw,520px)}.pills{flex-direction:row;flex-wrap:wrap;justify-content:center}.pill{flex:1 1 40%}}
/* marquee */
.marquee{background:var(--p);color:#fff;overflow:hidden;white-space:nowrap;padding:14px 0;border-block:3px solid var(--y)}
.marquee div{display:inline-flex;gap:28px;animation:mq 28s linear infinite;font:600 1.15rem 'Fredoka',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.marquee i{color:var(--y);font-style:normal}
@keyframes mq{to{transform:translateX(-50%)}}
/* menu */
.menu{padding:80px 0;background:var(--soft)}
.tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:26px}
.tab{font:600 .85rem 'Poppins',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:10px 20px;border-radius:999px;border:1.5px solid var(--p);background:#fff;color:var(--p);cursor:pointer;transition:.2s}
.tab:hover{background:var(--l)}.tab.is-on{background:var(--p);color:#fff;transform:translateY(-2px)}
.cat{display:none}.cat.is-on{display:block;animation:fade .45s}
@keyframes fade{from{opacity:0;transform:translateY(12px)}}
.cat__desc{text-align:center;max-width:680px;margin:0 auto 34px;border-bottom:3px solid var(--y);padding-bottom:16px;color:#4b3b68;font-size:.98rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px 22px;justify-content:center}
.card{position:relative;background:#fff;border-radius:28px;padding:20px 18px 24px;text-align:center;box-shadow:0 8px 26px rgba(80,45,130,.09);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(80,45,130,.18)}
.card__img{height:250px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:-6px}
.card__img img{max-height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(60,30,100,.2));transition:transform .4s}
.card:hover .card__img img{transform:scale(1.06) rotate(-2deg)}
.card h3{display:inline-block;background:var(--y);color:var(--pd);font:600 1.02rem 'Fredoka',sans-serif;text-transform:uppercase;padding:8px 18px;border-radius:16px;margin:0 0 10px;position:relative}
.card p{font-size:.88rem;color:#5a4a78}
.crown{position:absolute;top:-12px;right:-6px;background:var(--p);color:#fff;font:600 .72rem 'Poppins',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:2px solid var(--y);z-index:2;transform:rotate(6deg)}
.season{margin-top:60px;display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:20px;background:linear-gradient(135deg,var(--pd),var(--p));color:#fff;border-radius:36px;padding:30px;text-align:center}
.season h3{font:600 1.6rem 'Fredoka',sans-serif;margin-bottom:8px}.season p{margin-bottom:18px}
.season img{max-height:320px;width:auto;margin:0 auto;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
/* sedes */
.sedes{position:relative;padding:80px 0;overflow:hidden}
.b4{width:360px;right:-100px;top:-60px;opacity:.7}
.sedes .wrap{position:relative;z-index:1}
.sedes__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:34px}
.sede{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:32px 20px;border:1.5px solid #000;border-radius:30px;background:var(--l);transition:.25s}
.sede:hover{transform:translateY(-6px) rotate(-1deg);background:var(--y)}
.sede svg{color:var(--p)}.sede strong{font:700 1.6rem 'Fredoka',sans-serif;color:var(--pd)}
.sede span{font-size:.92rem}.sede u{margin-top:10px;font:600 .8rem 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase}
/* franquicias */
.fran{background:var(--y);padding:70px 0;position:relative}
.fran__in{display:flex;gap:40px;align-items:center;justify-content:center}
.fran__in img{width:210px;flex:none}
.fran .title{text-align:left}.fran p{max-width:520px;margin-bottom:22px}
.fran__btns{display:flex;gap:14px;flex-wrap:wrap}.fran .pill:not(.pill--y){background:#fff}.fran .pill--y{background:var(--p);color:#fff}
/* categoría */
.cat__title{font:700 clamp(1.8rem,5vw,2.6rem) 'Fredoka',sans-serif;color:var(--p);text-align:center;text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}
.cat__desc{text-align:left!important;font-size:1rem}
.add{margin-top:14px;font:600 .8rem 'Poppins',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:10px 20px;border-radius:999px;border:1.5px solid #000;background:var(--l);color:var(--pd);cursor:pointer;transition:.2s}
.add:hover{background:var(--y)}.add.done{background:var(--p);color:#fff}
.card{display:flex;flex-direction:column;align-items:center}.card .add{margin-top:auto}.card p{margin-bottom:0;padding-bottom:4px}
/* drawer */
.drawer{position:fixed;inset:0;z-index:100;visibility:hidden}
.drawer.open{visibility:visible}
.drawer__bg{position:absolute;inset:0;background:rgba(30,15,60,.55);opacity:0;transition:.3s}
.drawer.open .drawer__bg{opacity:1}
.drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.3,.8,.3,1);overflow-y:auto}
.drawer.open .drawer__panel{transform:none}
.drawer__panel>header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;background:var(--p);color:#fff;position:sticky;top:0}
.drawer__panel h3{font:600 1.5rem 'Fredoka',sans-serif}
.drawer__panel header button{background:none;border:0;color:#fff;font-size:1.3rem;cursor:pointer}
.drawer__empty{text-align:center;padding:50px 28px;display:flex;flex-direction:column;align-items:center;gap:18px}
.drawer__empty img{width:130px}
.drawer__list{list-style:none;padding:8px 22px}
.drawer__list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px dashed #d9d0ff;font-weight:600}
.qty{display:flex;align-items:center;gap:10px;flex:none}
.qty button{width:30px;height:30px;border-radius:50%;border:1.5px solid #000;background:var(--l);font-size:1.1rem;line-height:1;cursor:pointer}
.qty button:hover{background:var(--y)}
.drawer__form{padding:16px 22px 28px;display:flex;flex-direction:column;gap:14px}
.drawer__form label{display:flex;flex-direction:column;gap:5px;font:600 .8rem 'Poppins',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--pd)}
.drawer__form input,.drawer__form select,.drawer__form textarea{font:500 1rem 'Quicksand',sans-serif;padding:11px 14px;border:1.5px solid #b9aee0;border-radius:14px;background:var(--soft);color:var(--ink);text-transform:none;letter-spacing:0}
.drawer__form input:focus,.drawer__form select:focus,.drawer__form textarea:focus{outline:2px solid var(--p);border-color:var(--p)}
.wa{width:100%;gap:10px;text-decoration:none!important;letter-spacing:.06em;font-size:.82rem;cursor:pointer}
.drawer__form small{text-align:center;color:#7a6a99}
/* footer */
.foot{background:var(--pd);color:#fff;text-align:center;padding:44px 20px 30px}
.foot img{height:70px;margin:0 auto 18px;filter:brightness(0) invert(1)}
.foot__links{display:flex;gap:26px;justify-content:center;margin-bottom:16px;font:500 .85rem 'Poppins',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.foot__links a:hover{color:var(--y)}.foot small{opacity:.7}
/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media(max-width:720px){
  .nav{grid-template-columns:1fr auto 1fr;padding:6px 14px}
  .nav__toggle{display:block;justify-self:start;grid-column:1;grid-row:1}
  .nav__logo{grid-column:2;grid-row:1}.nav__logo img{height:58px}.nav.scrolled .nav__logo img{height:52px}
  .nav__right{grid-column:3;grid-row:1;gap:8px}.nav__cta{padding:9px 12px;font-size:.7rem;letter-spacing:.05em}
  .nav__links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:18px;padding:22px;background:#fff;display:none;box-shadow:0 12px 20px rgba(60,30,100,.12)}
  .nav.open .nav__links{display:flex}
  .season{grid-template-columns:1fr}.season img{max-height:220px}
  .fran__in{flex-direction:column;text-align:center}.fran .title{text-align:center}.fran__btns{justify-content:center}
  .card__img{height:220px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* v3 */
.center{text-align:center;margin-bottom:22px}
.hero__inner{width:min(100%,600px)}
.hero__eyebrow{font:600 .8rem 'Poppins',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--p);margin-bottom:8px}
.hero__h1{font:700 clamp(2rem,5.2vw,3.4rem)/1.08 'Fredoka',sans-serif;color:var(--pd);margin-bottom:14px}
.hero__h1 em{font-style:normal;color:var(--p);background:linear-gradient(transparent 62%,var(--y) 62%)}
.hero__p{max-width:520px;margin-bottom:14px;color:#3d2f5a;font-size:1.02rem}
.hero__badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px}
.hero__badges li{font:600 .78rem 'Poppins',sans-serif;background:var(--y);color:var(--pd);padding:6px 14px;border-radius:99px;border:1.5px solid #000}
.hero__tag{margin-bottom:0}
.hero__mascot{width:190px}
@media(min-width:960px){.pills .pill{flex:1 1 42%}}
.sedes__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.sede{padding:0;align-items:stretch;text-align:left;overflow:hidden;background:#fff;gap:0}
.sede:hover{transform:translateY(-6px);background:#fff}
.sede__photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:230px;background:var(--l)}
.sede__photos img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center}
.sede__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px}
.sede__body h3{font:700 1.45rem 'Fredoka',sans-serif;color:var(--pd)}
.sede__rate{color:var(--pd);font-weight:700}.sede__rate small{font-weight:500;color:#7a6a99}
.sede__addr{font-weight:700}.sede__meta{font-size:.9rem;color:#5a4a78}.sede__meta a{text-decoration:underline}
.sede__btns{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.pill--s{padding:10px 18px;font-size:.78rem;letter-spacing:.08em;flex:1;cursor:pointer;text-decoration:none}
button.pill{font-family:'Poppins',sans-serif}

/* v4: hero 2 columnas + logo grande + nosotros */
.nav{padding:6px 40px}
.nav__logo img{height:84px}.nav.scrolled .nav__logo img{height:64px}
.hero{display:block;min-height:100vh;padding:150px 0 70px}
.hero__grid{position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.hero__inner{display:contents}
.hero__h1{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.04;margin-bottom:18px}
.hero__p{font-size:1.12rem;max-width:560px;margin-bottom:18px}
.hero__badges{justify-content:flex-start;margin-bottom:26px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__cta .pill{padding:16px 34px;font-size:1rem}
.hero__links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:26px;font:500 .9rem 'Poppins',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8a79c4}
.hero__links a{text-decoration:underline;text-underline-offset:4px}.hero__links a:hover{color:var(--pd)}
.hero__stage{position:relative;height:min(62vw,600px);min-height:420px}
.stage__bg{position:absolute;inset:6% 4% 4% 8%;background:var(--y);border-radius:58% 42% 55% 45%/48% 55% 45% 52%;animation:morph 12s ease-in-out infinite}
@keyframes morph{50%{border-radius:42% 58% 45% 55%/58% 42% 58% 42%;transform:rotate(4deg)}}
.stage__cup{position:absolute;bottom:4%;height:82%;width:auto;filter:drop-shadow(0 22px 24px rgba(60,30,100,.3));animation:bob 5s ease-in-out infinite}
.c1{left:12%;transform:rotate(-7deg)}.c2{right:6%;height:90%;animation-delay:-2.5s}
.stage__mascot{position:absolute;left:-2%;bottom:-2%;width:30%;z-index:3;animation:bob 3.4s ease-in-out infinite}
.stage__chip{position:absolute;top:2%;right:0;z-index:4;max-width:230px;background:#fff;border:1.5px solid #000;border-radius:22px 22px 4px 22px;padding:12px 16px;font:600 .9rem 'Fredoka',sans-serif;color:var(--p);transform:rotate(3deg);box-shadow:4px 4px 0 var(--pd)}
.stage__chip{text-align:center}
.bu1{right:2%;top:30%;z-index:3}.bu2{left:4%;top:12%;width:46px}.bu3{left:38%;top:-2%;width:34px;animation-delay:-5s;position:absolute}
.hero .bubble{position:absolute}
.hero .b1{width:480px}.hero .b2{width:420px}
/* nosotros */
.about{padding:90px 0 40px;background:#fff;position:relative}
.eyebrow{font:600 .8rem 'Poppins',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--p);margin-bottom:8px}
.title.tl{text-align:left;margin-bottom:18px}
.about__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.about__photo{position:relative;border-radius:40px 40px 40px 140px;overflow:hidden;border:2px solid #000;box-shadow:10px 10px 0 var(--y);max-height:620px}
.about__photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.about__photo span{position:absolute;left:14px;right:14px;bottom:14px;background:var(--p);color:#fff;text-align:center;padding:10px 14px;border-radius:16px;font:600 1rem 'Fredoka',sans-serif}
.about__text p{margin-bottom:14px;font-size:1.05rem;color:#3d2f5a}
.about__quote{font:600 1.25rem 'Fredoka',sans-serif!important;color:var(--p)!important;border-left:5px solid var(--y);padding-left:16px}
.about__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.about__cards div{background:var(--soft);border:1.5px solid var(--l);border-radius:24px;padding:22px 20px;display:flex;flex-direction:column;gap:6px;transition:.25s}
.about__cards div:hover{background:var(--y);border-color:#000;transform:translateY(-4px)}
.about__cards b{font:600 1.15rem 'Fredoka',sans-serif;color:var(--pd)}.about__cards span{font-size:.92rem}
@media(max-width:1100px){.nav__side{gap:16px;font-size:.75rem}.nav__logo img{height:84px}.about__cards{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .hero{padding:120px 0 50px}
  .hero__grid{grid-template-columns:1fr;padding:0 22px;gap:20px}
  .hero__copy{align-items:center;text-align:center}.hero__badges,.hero__links{justify-content:center}.hero__cta{justify-content:center}
  .hero__stage{height:400px;min-height:0}
  .about__grid{grid-template-columns:1fr;gap:36px}.about__photo{max-width:420px;margin:0 auto}
}
@media(max-width:720px){.nav{padding:6px 14px}.nav__logo img,.nav.scrolled .nav__logo img{height:54px}.about__cards{grid-template-columns:1fr}.hero__stage{height:340px}.stage__chip{font-size:.78rem;max-width:170px}}
.pill{white-space:nowrap}
.c1{left:3%;height:72%;bottom:6%}.c2{right:2%;height:80%}
.stage__mascot{left:-4%;bottom:-4%;width:27%}
@media(max-width:720px){.nav__logo img,.nav.scrolled .nav__logo img{height:48px}.nav__cta{padding:8px 10px;font-size:.62rem}}
/* v5: mismo ancho (80%) en navbar y contenido */
:root{--w:80%}
.nav{padding-inline:calc((100% - var(--w))/2)}
.wrap,.hero__grid{width:var(--w);max-width:none;margin-inline:auto;padding-inline:0}
@media(max-width:1100px){:root{--w:90%}}
@media(max-width:720px){:root{--w:92%}.nav{padding-inline:4%}}
.nav__side a{white-space:nowrap}.nav__links{gap:20px}@media(max-width:1300px){.nav__links{gap:14px;font-size:.72rem}}

.grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.grid--3{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid--3{grid-template-columns:1fr}}

/* decoración estilo libro de menú */
.menu{position:relative;overflow:hidden}.menu .wrap{position:relative;z-index:1}
.menu__deco{position:absolute;pointer-events:none;opacity:.55}
.d1{left:1.5%;top:120px;width:90px}.d2{right:1%;bottom:90px;width:200px;transform:scaleX(-1)}
.cat__head{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:6px}
.cat__head .cat__title{margin:0}
.cat__mascot{height:84px;width:auto;animation:bob 4s ease-in-out infinite}
.cat__desc{position:relative}
.card{overflow:visible;border:2px solid transparent;background:#fff}
.card::before{content:"";position:absolute;inset:10px;border:2px dashed #e4dcff;border-radius:22px;pointer-events:none}
.card:hover{border-color:var(--y)}
.card__img{position:relative;height:250px;z-index:1}
.card__plate{position:absolute;left:12%;right:12%;bottom:4px;height:62%;background:var(--y);border-radius:28px;z-index:0;transform:rotate(-2deg);transition:.35s}
.card:nth-child(even) .card__plate{background:var(--l);transform:rotate(2deg)}
.card:hover .card__plate{transform:rotate(0) scale(1.05)}
.card__pic{position:relative;z-index:2}
.card__crown{position:absolute;z-index:1;top:-4px;right:8%;width:64px;height:auto;transform:rotate(14deg);filter:none;transition:.35s}
.card:nth-child(even) .card__crown{right:auto;left:8%;transform:rotate(-14deg) scaleX(-1)}
.card:hover .card__crown{transform:rotate(22deg) translateY(-6px)}
.card:nth-child(even):hover .card__crown{transform:rotate(-22deg) scaleX(-1) translateY(-6px)}
.card__img img.card__crown{max-height:none}
.card h3{position:relative;z-index:3;margin-top:-14px;box-shadow:0 4px 0 rgba(108,74,156,.25)}
.card h3::before,.card h3::after{content:"✦";position:absolute;top:-8px;color:var(--p);font-size:.9rem}
.card h3::before{left:-8px}.card h3::after{right:-8px;top:auto;bottom:-8px}
@media(max-width:720px){.cat__mascot{height:60px}.menu__deco{display:none}.cat__head{flex-direction:column;gap:4px}}
.card__img{width:100%}.card__plate{left:10%;right:10%;height:58%}
.card__img img.card__crown{width:64px;max-height:none;height:auto}.card__img img.card__pic{max-height:100%}
.card p{text-align:center}.card h3{text-align:center}
.cat__desc{text-align:center!important;font-size:1.15rem;line-height:1.7;max-width:820px}
@media(max-width:720px){
  .nav__cta{white-space:nowrap;padding:9px 12px;font-size:.66rem;letter-spacing:.06em}
  .hero__cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .hero__cta .pill{padding:13px 8px;font-size:.74rem;letter-spacing:.07em;text-underline-offset:3px}
  .pill{padding:13px 22px;font-size:.82rem;letter-spacing:.1em}
  .menu .center .pill{padding:12px 20px;font-size:.76rem}
}
@media(max-width:720px){.nav__cta{padding:8px 10px;font-size:.6rem;margin-left:6px}.nav__right{gap:6px}.cartbtn{width:42px;height:42px}}
@media(max-width:900px){.hero>.blob{opacity:.35}.hero .bubble{opacity:.5}}
@media(max-width:720px){
  .nav{grid-template-columns:auto 1fr auto}
  .nav__logo{grid-column:1;grid-row:1;justify-self:start}
  .nav__right{grid-column:2;grid-row:1;justify-self:end}
  .nav__toggle{grid-column:3;grid-row:1;justify-self:end;margin-left:6px}
  .nav__links{position:absolute;top:100%}
}
.foot small{display:block}.foot__dev{margin-top:6px;font-size:.8rem}.foot__dev a{color:var(--y);font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* v6 móvil: sin manchas ni sombras que corten el hero */
@media(max-width:900px){
  .hero>.blob{display:none}
  .hero{background:#fff}
  .stage__cup{filter:none}
  .stage__bg{animation:none}
}
.about__quote{border-left:0!important;padding:18px 22px!important;background:#fff4c2;border-radius:22px;color:var(--pd)!important}
.hero__links{flex-direction:column;gap:10px}
.hero__links p{display:flex;flex-wrap:wrap;gap:6px 20px}
@media(max-width:900px){.hero__links p{justify-content:center}}
@media(min-width:901px){.hero__links{flex-direction:row;gap:30px}}
/* marquee infinito: 8 copias, bucle de -50% sin hueco */
.marquee div{gap:0;will-change:transform}
.marquee span,.marquee i{margin:0 14px}
