/* shared: menu */
.menu-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px 0 12px;border:0;border-radius:999px;background:#fff;color:#c41230;font:700 .9rem "Quicksand",system-ui,sans-serif;box-shadow:inset 0 0 0 2px #e8899f;cursor:pointer;position:relative;z-index:62}
.menu-ico{position:relative;width:18px;height:12px;display:inline-block}
.menu-ico i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.menu-ico i:nth-child(1){top:0}.menu-ico i:nth-child(2){top:5px}.menu-ico i:nth-child(3){top:10px}
.menu-btn[aria-expanded="true"]{background:#c41230;color:#fff;box-shadow:0 0 0 2px #d4922e}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(2){opacity:0;transform:scaleX(.2)}
.menu-btn[aria-expanded="true"] .menu-ico i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.site-menu{position:fixed;inset:0;z-index:60;overflow-y:auto;overscroll-behavior:contain;
 background:radial-gradient(120% 70% at 100% 0%,#f4c2c2 0,transparent 60%),radial-gradient(90% 60% at 0% 100%,#f9d2dc 0,transparent 60%),#fdeef1;
 clip-path:circle(0px at var(--mx,90%) var(--my,40px));transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
.site-menu.open{clip-path:circle(150vmax at var(--mx,90%) var(--my,40px))}
.site-menu[hidden]{display:none}
.menu-inner{max-width:560px;margin:0 auto;padding:96px 22px 40px}
.site-menu ul{list-style:none;margin:0;padding:0}
.menu-main a{display:block;padding:8px 0;font:500 clamp(1.9rem,8vw,2.6rem)/1.15 "Bodoni Moda",Georgia,serif;color:#c41230;text-decoration:none}
.menu-h{margin:26px 0 8px;font-weight:700;color:#8c6370}
.menu-cats{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.menu-cats a{display:flex;align-items:center;gap:10px;min-height:44px;color:#4a2a35;text-decoration:none;font-weight:600}
.menu-cats .dot{flex:none;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--a),var(--b));box-shadow:0 0 0 2px #d4922e}
.menu-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.site-menu li,.menu-cta,.menu-h{opacity:0;transform:translateY(18px);transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.25s + var(--i,0)*.035s)}
.site-menu.open li,.site-menu.open .menu-cta,.site-menu.open .menu-h{opacity:1;transform:none}
.menu-main a:hover,.menu-cats a:hover{color:#c41230}
html.menu-lock,html.menu-lock body{overflow:hidden}
html.menu-lock nav{position:fixed!important;top:0!important;left:0;right:0;z-index:61!important}
html.menu-lock body{padding-top:var(--navh-lock,0px)}
/* shared: floating WhatsApp (category pages) */
.wa-float{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;height:56px;min-width:56px;padding:0 18px;border-radius:999px;background:#c41230;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 0 0 3px #d4922e,0 16px 30px -12px rgba(120,10,30,.6);transition:transform .25s,opacity .3s}
.wa-float svg{width:24px;height:24px;flex:none}
.wa-float:hover{transform:translateY(-3px)}
@media(max-width:640px){.wa-float{padding:0;justify-content:center;width:56px}.wa-float span{display:none}}
body.in-story .wa-fab,body.in-story .wa-float{opacity:0;pointer-events:none}
/* shared: CSS resin (used when a phone's GPU cannot draw the live resin) */
.resin-fallback{position:absolute;inset:0;z-index:-2;display:none;background:
 radial-gradient(42% 55% at 72% 30%,var(--r2),transparent 70%),radial-gradient(38% 50% at 88% 75%,var(--r3),transparent 70%),
 radial-gradient(46% 60% at 60% 85%,var(--r1),transparent 72%),radial-gradient(30% 40% at 95% 10%,var(--r1),transparent 70%),
 linear-gradient(130deg,var(--r0),var(--r1) 60%,var(--r2));background-size:160% 160%;animation:resinflow 16s ease-in-out infinite alternate;
 -webkit-mask-image:linear-gradient(90deg,transparent 40%,#000 78%);mask-image:linear-gradient(90deg,transparent 40%,#000 78%)}
.resin-fallback.show{display:block}
.resin-fallback.nofade{-webkit-mask-image:none;mask-image:none}
.resin-fallback::after{content:"";position:absolute;inset:0;opacity:.75;mix-blend-mode:screen;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300'%3E%3Cpath d='M-20 80C60 40 120 140 200 100S330 30 420 90M-20 210C70 170 150 250 240 205S350 150 420 200M120 -20C150 70 90 140 150 200S200 290 170 330' fill='none' stroke='%23f3c27a' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/cover;animation:resinflow 22s ease-in-out infinite alternate-reverse}
@keyframes resinflow{to{background-position:100% 100%}}
@media(max-width:820px){.resin-fallback{-webkit-mask-image:linear-gradient(180deg,transparent 36%,#000 78%);mask-image:linear-gradient(180deg,transparent 36%,#000 78%)}}
@media(prefers-reduced-motion:reduce){.resin-fallback,.resin-fallback::after{animation:none}}
/* shared: tilt hint chip */
.tilt-chip{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:45;transform:translate(-50%,20px);opacity:0;max-width:calc(100vw - 40px);padding:11px 18px;border:0;border-radius:999px;background:rgba(255,250,251,.94);color:#c41230;font:700 .9rem "Quicksand",system-ui,sans-serif;box-shadow:0 0 0 2px #d4922e,0 14px 30px -14px rgba(120,10,30,.55);backdrop-filter:blur(8px);transition:opacity .45s,transform .5s cubic-bezier(.2,1.4,.4,1);white-space:nowrap}
.tilt-chip.in{opacity:1;transform:translate(-50%,0)}
button.tilt-chip{cursor:pointer;animation:tiltwig 2.4s ease-in-out 1s infinite}
@keyframes tiltwig{0%,70%,100%{rotate:0deg}78%{rotate:-4deg}86%{rotate:4deg}94%{rotate:-2deg}}
/* shared: footer */
footer.gg-foot{position:relative;z-index:1;margin-top:70px;padding:0 0 calc(110px + env(safe-area-inset-bottom,0px));background:#7a0f26;color:#fbe7ec;text-align:center;font:500 .95rem/1.6 "Quicksand",system-ui,sans-serif}
.gg-foot-wave{position:absolute;left:0;right:0;top:-88px;width:100%;height:90px;display:block}
.gg-foot-in{max-width:980px;margin:0 auto;padding:30px 20px 0;display:grid;gap:34px}
.gg-foot a{text-decoration:none!important;color:inherit}
.gg-foot-brand img{width:96px;height:96px;border-radius:50%;margin:0 auto;box-shadow:0 0 0 3px #d4922e,0 14px 30px -12px rgba(0,0,0,.5)}
.gg-foot-name{margin:12px 0 0;font:400 2.3rem/1 "Pinyon Script","Great Vibes",cursive;color:#fff}
.gg-foot-line{max-width:42ch;margin:10px auto 0;color:#f3c9d3}
.gg-foot-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.gg-foot-btn{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 22px;border-radius:999px;background:#fff;color:#a3122f!important;font-weight:700;box-shadow:0 0 0 3px #d4922e}
.gg-foot-btn svg{width:20px;height:20px}
.gg-foot-btn.ghost{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.gg-foot-h{margin:0 0 14px;font:500 1.35rem "Bodoni Moda",Georgia,serif;color:#fff}
.gg-foot-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.fchip2{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 10px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);font-weight:600;transition:background .3s,transform .3s}
.fchip2:hover,.fchip2.on{background:rgba(255,255,255,.18)}
.fchip2 .dot{width:20px;height:20px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 35%,var(--a),var(--b));box-shadow:0 0 0 2px #d4922e}
.gg-foot-row,.gg-foot-contact{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 0}
.gg-foot-row a,.gg-foot-contact a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-weight:600}
.gg-foot-row a+a::before,.gg-foot-contact a+a::before{content:"";width:5px;height:5px;border-radius:50%;background:#d4922e;margin:0 14px 0 -14px}
.gg-foot-contact a{color:#f3c9d3;font-weight:500}
.gg-foot-row a:hover,.gg-foot-contact a:hover{color:#fff}
.gg-foot-small{margin:0;color:#d99aaa;font-size:.82rem}
@media(max-width:560px){.gg-foot-cats{display:grid;grid-template-columns:1fr 1fr;text-align:left}.fchip2{font-size:.88rem;padding-right:10px}.gg-foot-row a,.gg-foot-contact a{padding:0 10px}.gg-foot-row a+a::before,.gg-foot-contact a+a::before{margin:0 10px 0 -10px}}
/* shared: sparkle layer */
#glitter{position:fixed;inset:0;pointer-events:none;z-index:0}
.hero-band,main,footer{position:relative;z-index:1}
.spark{position:fixed;left:0;top:0;width:10px;height:10px;pointer-events:none;z-index:70;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:sparkfall .9s ease-out forwards}
@keyframes sparkfall{to{transform:translate(var(--dx),var(--dy)) rotate(160deg) scale(.2);opacity:0}}
.btn,.wa-float,.gfilters button{position:relative;overflow:hidden}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.42);transform:scale(0);animation:ripple .65s ease-out forwards;pointer-events:none}
@keyframes ripple{to{transform:scale(1);opacity:0}}
nav .btn.sm:not(.ghost){animation:ggpulse 2.6s ease-out infinite}
@keyframes ggpulse{0%{box-shadow:0 0 0 0 rgba(196,18,48,.45)}70%{box-shadow:0 0 0 14px rgba(196,18,48,0)}100%{box-shadow:0 0 0 0 rgba(196,18,48,0)}}
.squish{animation:squish .55s cubic-bezier(.3,1.6,.5,1)!important}
@keyframes squish{0%{scale:1}22%{scale:.9}60%{scale:1.05}100%{scale:1}}
.fab-drop{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff9db1,#c41230 62%);z-index:41;pointer-events:none;opacity:0;transform-origin:50% 0}
.wa-float{animation:fabpulse2 2.4s ease-out infinite}
@keyframes fabpulse2{0%{box-shadow:0 0 0 3px #d4922e,0 0 0 3px rgba(196,18,48,.45)}70%{box-shadow:0 0 0 3px #d4922e,0 0 0 20px rgba(196,18,48,0)}100%{box-shadow:0 0 0 3px #d4922e,0 0 0 3px rgba(196,18,48,0)}}
@media(prefers-reduced-motion:reduce){#glitter,.spark,.fab-drop{display:none}.squish,.wa-float,nav .btn.sm{animation:none!important}}
@media(prefers-reduced-motion:reduce){.site-menu{transition:none}.site-menu li,.menu-cta,.menu-h{transition:none}}

/* Phase C: cards pour in resin colour, cure clear, then a gold glint runs across */
.card .cure{position:absolute;left:0;right:0;top:0;aspect-ratio:4/5;pointer-events:none;z-index:1;opacity:.92;transition:opacity 1.1s ease .1s;background:radial-gradient(60% 45% at 25% 30%,var(--r0,#e8899f),transparent 70%),radial-gradient(55% 50% at 80% 70%,var(--r2,#f3c27a),transparent 70%),linear-gradient(150deg,var(--r1,#c41230),var(--r3,#6d1f3c))}
.card .cure::after{content:"";position:absolute;inset:0;mix-blend-mode:screen;opacity:.7;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 250'%3E%3Cpath d='M-10 60C40 30 70 100 120 70S190 30 220 60M-10 160C40 130 90 190 140 150S200 120 220 150' fill='none' stroke='%23f3c27a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/cover}
.card.cured .cure{opacity:0}
.card figure::after{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:4/5;pointer-events:none;z-index:2;background:linear-gradient(105deg,transparent 35%,rgba(255,240,200,.0) 40%,rgba(255,244,214,.75) 49%,rgba(243,194,122,.5) 52%,transparent 62%) no-repeat;background-size:250% 100%;background-position:130% 0;opacity:0}
.card.glint figure::after{animation:glint 1.15s cubic-bezier(.45,.05,.3,1)}
@keyframes glint{0%{opacity:1;background-position:130% 0}100%{opacity:1;background-position:-40% 0}}
@media(prefers-reduced-motion:reduce){.card .cure{display:none}.card.glint figure::after{animation:none}}
