:root { --home-bg:#050505; --home-panel:#0c0c0c; --home-ink:#f5f2e9; --home-muted:rgba(245,242,233,.68); --home-line:rgba(255,255,255,.16); --home-gold:#e1ad1a; --home-gold-strong:#f0bb24; --home-rail:88px; }
* { box-sizing:border-box; }
html { background:var(--home-bg); color-scheme:dark; scroll-behavior:smooth; }
body { margin:0; min-width:320px; overflow-x:hidden; background:var(--home-bg); color:var(--home-ink); font-family:Arial,Helvetica,sans-serif; letter-spacing:0; }
body.menu-open { overflow:hidden; }
body.entry-loading { overflow:hidden; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid var(--home-gold-strong); outline-offset:4px; }
.site-entry-loader { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; overflow:hidden; background:#030303; color:#fff; transition:opacity .62s ease,visibility 0s linear .62s; }
.site-entry-loader::before { content:""; position:absolute; inset:-18%; background:radial-gradient(circle at 50% 42%,rgba(225,173,26,.16),transparent 34%),linear-gradient(115deg,rgba(255,255,255,.035),transparent 24%,rgba(255,255,255,.02) 52%,transparent 74%); opacity:.9; }
.site-entry-loader::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 15px); opacity:.18; }
.site-entry-loader__inner { position:relative; z-index:1; display:grid; width:min(360px,calc(100vw - 48px)); justify-items:center; gap:24px; }
.site-entry-loader__logo { width:min(240px,70vw); height:auto; filter:drop-shadow(0 16px 34px rgba(0,0,0,.62)); }
.site-entry-loader__bar { width:min(300px,72vw); height:5px; overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:rgba(255,255,255,.08); box-shadow:inset 0 1px 10px rgba(0,0,0,.42); }
.site-entry-loader__bar span { display:block; width:100%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--home-gold),#fff2bf,var(--home-gold)); transform:translateX(-100%); animation:entryLoaderFill 1.35s cubic-bezier(.19,1,.22,1) forwards; }
.site-entry-loader__button { min-width:148px; padding:10px 20px; border:1px solid rgba(255,255,255,.5); border-radius:8px; background:transparent; box-shadow:none; color:rgba(255,255,255,.5); cursor:pointer; font-family:inherit; font-size:17px; font-weight:500; letter-spacing:.02em; text-shadow:none; text-transform:uppercase; user-select:none; opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .35s ease,transform .35s ease,color .5s ease,background .5s ease,border-color .5s ease,box-shadow .5s ease,text-shadow .5s ease; }
.site-entry-loader.is-ready .site-entry-loader__button { opacity:1; pointer-events:auto; transform:translateY(0); color:rgba(255,255,255,.72); }
.site-entry-loader__button:hover,
.site-entry-loader__button:focus-visible { border-color:#008cff; background:#008cff; color:#fff; text-shadow:0 0 5px #fff,0 0 10px #fff,0 0 20px #fff; box-shadow:0 0 5px #008cff,0 0 20px #008cff,0 0 50px #008cff,0 0 100px #008cff; outline:none; }
.site-entry-loader__button:disabled { cursor:default; }
.site-entry-loader.is-entered { opacity:0; visibility:hidden; pointer-events:none; }
@keyframes entryLoaderFill { 0% { transform:translateX(-100%); } 72% { transform:translateX(-14%); } 100% { transform:translateX(0); } }
.home-showcase { position:relative; margin-left:var(--home-rail); width:calc(100% - var(--home-rail)); background:var(--home-bg); }
.producer-rail { position:fixed; inset:0 auto 0 0; z-index:80; display:flex; width:var(--home-rail); align-items:center; justify-content:center; border-right:1px solid var(--home-line); background:rgba(2,2,2,.94); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.producer-rail-brand { position:absolute; top:22px; left:50%; display:grid; width:46px; height:46px; place-items:center; color:var(--home-ink); text-decoration:none; transform:translateX(-50%); }
.producer-rail-brand::before { content:""; display:block; width:42px; height:42px; background:url("/assets/patio-de-penas/patio-sol-amarillo.png") center/contain no-repeat; filter:drop-shadow(0 8px 20px rgba(0,0,0,.48)); }
.producer-rail-brand span { display:none; }
.producer-rail-brand img { display:none; }
.producer-menu-toggle { position:relative; z-index:2; display:grid; width:56px; height:56px; place-content:center; gap:5px; border:1px solid rgba(255,255,255,.34); border-radius:50%; background:rgba(19,19,19,.88); color:var(--home-ink); cursor:pointer; transition:border-color 180ms ease,background 180ms ease,transform 180ms ease; }
.producer-menu-toggle:hover { border-color:var(--home-gold); background:rgba(225,173,26,.16); transform:scale(1.04); }
.producer-menu-toggle span { display:block; width:23px; height:1px; background:currentColor; transition:transform 200ms ease,opacity 200ms ease; }
.site-nav.is-open .producer-menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.site-nav.is-open .producer-menu-toggle span:nth-child(2) { opacity:0; }
.site-nav.is-open .producer-menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.producer-rail-copy { position:absolute; bottom:26px; left:50%; color:rgba(255,255,255,.54); font-size:.58rem; font-weight:700; text-transform:uppercase; transform:translateX(-50%) rotate(180deg); writing-mode:vertical-rl; }
.site-nav-scroll { position:fixed; inset:0 0 0 var(--home-rail); z-index:79; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:clamp(8px,1.4vh,18px); padding:clamp(40px,8vw,150px); background:linear-gradient(90deg,rgba(4,4,4,.99),rgba(4,4,4,.94)),url("/assets/photos/6.webp") center/cover no-repeat; opacity:0; pointer-events:none; transform:translateX(-24px); transition:opacity 220ms ease,transform 220ms ease; }
.site-nav.is-open .site-nav-scroll { opacity:1; pointer-events:auto; transform:translateX(0); }
.site-nav-link { position:relative; color:rgba(255,255,255,.25); font-size:clamp(2.5rem,6.6vw,7rem); font-weight:700; line-height:.96; text-decoration:none; transition:color 160ms ease,transform 160ms ease; }
.site-nav-link::before { content:""; position:absolute; top:50%; left:-34px; width:0; height:4px; background:var(--home-gold); transform:translateY(-50%); transition:width 160ms ease; }
.site-nav-link:hover,.site-nav-link:focus-visible,.site-nav-link.is-active { color:var(--home-ink); transform:translateX(18px); }
.site-nav-link:hover::before,.site-nav-link:focus-visible::before,.site-nav-link.is-active::before { width:22px; }
.site-nav-link.site-nav-contact { color:var(--home-gold-strong); }
.home-hero { position:relative; min-height:100svh; overflow:hidden; border-bottom:1px solid var(--home-line); }
.home-hero-slide { position:absolute; inset:0; background-position:center; background-size:cover; opacity:0; transform:scale(1.035); transition:opacity 900ms ease,transform 6200ms ease; }
.home-hero-slide::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.42) 54%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.76) 0%,transparent 52%); }
.home-hero-slide.is-active { opacity:1; transform:scale(1); }
.home-hero-slide.is-cata { background-color:#3b1518; background-image:url("/assets/vino-con-jodita/vino-brindis-room.webp"); }
.home-hero-slide.is-cata::before { background:linear-gradient(90deg,rgba(3,8,10,.9),rgba(3,8,10,.36)),radial-gradient(circle at 76% 28%,rgba(255,255,255,.2),transparent 32%); }
.home-brand { position:absolute; z-index:5; top:clamp(24px,4vw,54px); left:clamp(24px,5vw,84px); width:clamp(172px,18vw,270px); }
.home-brand img { display:block; width:100%; height:auto; filter:drop-shadow(0 8px 24px rgba(0,0,0,.56)); }
.home-hero-content { position:absolute; z-index:4; left:clamp(24px,7vw,120px); bottom:clamp(82px,13vh,140px); width:min(820px,calc(100% - 48px)); }
.home-eyebrow,.section-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:18px; color:rgba(255,255,255,.68); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.home-eyebrow::before,.section-eyebrow::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--home-gold); }
.home-hero-copy { display:none; }
.home-hero-copy.is-active { display:block; animation:heroCopyIn 560ms ease both; }
.home-hero-copy h1 { max-width:760px; margin:0; color:#fff; font-size:clamp(2.9rem,6.1vw,6.3rem); font-weight:650; line-height:.96; }
.home-hero-copy p { max-width:640px; margin:24px 0 0; color:rgba(255,255,255,.82); font-size:clamp(1rem,1.3vw,1.25rem); line-height:1.5; }
.home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.home-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:12px; padding:0 24px; border:1px solid rgba(255,255,255,.36); border-radius:3px; background:rgba(6,6,6,.28); color:#fff; font-size:.7rem; font-weight:800; text-decoration:none; text-transform:uppercase; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); transition:background 180ms ease,border-color 180ms ease,color 180ms ease; }
.home-button::after { content:"\2192"; font-size:1rem; }
.home-button:hover,.home-button:focus-visible { border-color:var(--home-gold); background:var(--home-gold); color:#090909; }
.home-button.is-primary { border-color:var(--home-gold); background:var(--home-gold); color:#090909; }
.home-button.is-primary:hover,.home-button.is-primary:focus-visible { border-color:#fff; background:#fff; }
.home-hero-pager { position:absolute; z-index:5; right:clamp(24px,4vw,70px); bottom:42px; display:flex; gap:8px; }
.home-hero-pager button { width:34px; height:3px; padding:0; border:0; background:rgba(255,255,255,.34); cursor:pointer; }
.home-hero-pager button.is-active { background:var(--home-gold); }
.home-scroll-cue { position:absolute; z-index:5; bottom:34px; left:clamp(24px,7vw,120px); color:rgba(255,255,255,.56); font-size:.62rem; font-weight:700; text-decoration:none; text-transform:uppercase; }
.home-scroll-cue::after { content:""; display:inline-block; width:48px; height:1px; margin-left:12px; background:currentColor; vertical-align:middle; }
.home-section { position:relative; padding:clamp(82px,11vw,160px) clamp(24px,6vw,110px); border-bottom:1px solid var(--home-line); background:var(--home-bg); }
.home-section-head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:clamp(42px,6vw,78px); }
.home-section-head h2 { max-width:920px; margin:0; font-size:clamp(2.4rem,5vw,5.4rem); font-weight:620; line-height:.98; }
.home-section-head p { max-width:430px; margin:0; color:var(--home-muted); font-size:1rem; line-height:1.55; }
.events-marquee { overflow:hidden; border-bottom:1px solid var(--home-line); background:#080808; white-space:nowrap; }
.events-marquee-track { display:inline-flex; gap:34px; padding:20px 0; color:rgba(255,255,255,.18); font-size:clamp(2.6rem,6vw,7rem); font-weight:300; text-transform:uppercase; animation:marqueeMove 24s linear infinite; }
.events-marquee-track strong { color:var(--home-gold); font-weight:500; }
.event-track { display:grid; grid-auto-columns:minmax(420px,58vw); grid-auto-flow:column; gap:24px; overflow-x:auto; padding:0 0 20px; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-color:var(--home-gold) rgba(255,255,255,.1); scrollbar-width:thin; }
.event-card { position:relative; min-height:min(620px,72vh); overflow:hidden; border:1px solid var(--home-line); border-radius:4px; background-position:center; background-size:cover; color:#fff; scroll-snap-align:start; text-decoration:none; }
.event-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.88)); transition:background 260ms ease; }
.event-card:hover::before,.event-card:focus-visible::before { background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.76)); }
.event-card.is-que-pena { background-position:center 42%; }
.event-card.is-cata { background-color:#3b1518; background-image:url("/assets/vino-con-jodita/vino-con-jodita-home-card.jpg"); background-position:center 43%; }
.event-card-content { position:absolute; inset:auto 0 0; z-index:2; padding:clamp(28px,4vw,58px); }
.event-card-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:12px; color:rgba(255,255,255,.74); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.event-card h3 { margin:0; font-size:clamp(2.5rem,4.8vw,5.4rem); font-weight:620; line-height:.94; }
.event-card p { max-width:600px; margin:18px 0 0; color:rgba(255,255,255,.8); font-size:1rem; line-height:1.5; }
.event-card-cta { display:inline-flex; align-items:center; gap:12px; margin-top:26px; color:#fff; font-size:.74rem; font-weight:800; text-transform:uppercase; }
.event-card-cta::after { content:"\2192"; color:var(--home-gold); font-size:1.25rem; }
.event-controls { display:flex; justify-content:flex-end; gap:8px; margin-top:22px; }
.event-controls button { width:48px; height:48px; border:1px solid var(--home-line); border-radius:50%; background:#0b0b0b; color:#fff; font-size:1.15rem; cursor:pointer; transition:border-color 160ms ease,background 160ms ease,color 160ms ease; }
.event-controls button:hover { border-color:var(--home-gold); background:var(--home-gold); color:#070707; }
.offers-section { padding-right:0; padding-left:0; }
.offers-section .home-section-head { padding:0 clamp(24px,6vw,110px); }
.offer-list { border-top:1px solid var(--home-line); }
.offer-row { position:relative; isolation:isolate; display:grid; min-height:168px; grid-template-columns:minmax(54px,.22fr) minmax(260px,1fr) minmax(260px,.72fr) 48px; align-items:center; gap:28px; overflow:hidden; padding:28px clamp(24px,6vw,110px); border-bottom:1px solid var(--home-line); color:var(--home-ink); text-decoration:none; }
.offer-row::before { content:""; position:absolute; z-index:-2; inset:-8%; background-image:var(--offer-image); background-position:center; background-size:cover; opacity:0; transform:scale(1.04); transition:opacity 280ms ease,transform 650ms ease; }
.offer-row::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.5),rgba(0,0,0,.84)); opacity:0; transition:opacity 240ms ease; }
.offer-row:hover::before,.offer-row:focus-visible::before { opacity:.56; transform:scale(1); }
.offer-row:hover::after,.offer-row:focus-visible::after { opacity:1; }
.offer-number { color:rgba(255,255,255,.38); font-size:.72rem; font-weight:800; }
.offer-row h3 { margin:0; font-size:clamp(1.5rem,3vw,3.4rem); font-weight:600; line-height:1.04; }
.offer-row p { margin:0; color:var(--home-muted); font-size:.96rem; line-height:1.5; }
.offer-arrow { color:var(--home-gold); font-size:1.6rem; text-align:right; transition:transform 180ms ease; }
.offer-row:hover .offer-arrow,.offer-row:focus-visible .offer-arrow { transform:translateX(8px); }
.home-contact { position:relative; display:grid; min-height:70vh; place-content:center; overflow:hidden; padding:90px 24px; text-align:center; }
.home-contact::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.82)),url("/assets/photos/8.webp") center 30%/cover no-repeat; }
.home-contact-content { position:relative; z-index:1; max-width:900px; }
.home-contact h2 { margin:0; font-size:clamp(2.8rem,6vw,6.5rem); font-weight:620; line-height:.98; }
.home-contact p { max-width:620px; margin:24px auto 0; color:rgba(255,255,255,.72); font-size:1.04rem; line-height:1.55; }
.home-contact .home-actions { justify-content:center; }
.home-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px clamp(24px,6vw,110px); background:#020202; color:rgba(255,255,255,.46); font-size:.68rem; text-transform:uppercase; }
.home-footer a { color:inherit; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity 650ms ease,transform 650ms ease; }
.reveal.is-visible { opacity:1; transform:translateY(0); }
@keyframes heroCopyIn { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes marqueeMove { to { transform:translateX(-50%); } }
@media (max-width:900px) {
  :root { --home-rail:64px; }
  .producer-menu-toggle { width:46px; height:46px; }
  .producer-menu-toggle span { width:19px; }
  .producer-rail-brand { top:14px; width:40px; height:40px; }
  .producer-rail-brand::before { width:36px; height:36px; }
  .producer-rail-copy { bottom:18px; font-size:.5rem; }
  .site-nav-scroll { padding:38px; }
  .home-brand { left:22px; width:170px; }
  .home-hero-content { left:22px; bottom:104px; width:calc(100% - 44px); }
  .home-scroll-cue { left:22px; }
  .home-section-head { display:grid; }
  .event-track { grid-auto-columns:min(84vw,640px); }
  .offer-row { grid-template-columns:42px 1fr 38px; }
  .offer-row p { grid-column:2/3; }
  .offer-arrow { grid-column:3; grid-row:1/span 2; }
}
@media (max-width:600px) {
  :root { --home-rail:0px; }
  body.menu-open { overflow:hidden; }
  .home-showcase { width:100%; margin-left:0; }
  .producer-rail { inset:0 0 auto 0; width:100%; height:94px; padding:18px 24px; flex-direction:row; justify-content:space-between; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.18)); box-shadow:0 18px 52px rgba(0,0,0,.18); }
  .producer-rail-brand { position:relative; top:auto; left:auto; width:min(172px,48vw); display:inline-flex; align-items:center; justify-content:flex-start; transform:none; writing-mode:horizontal-tb; }
  .producer-rail-brand::before { display:none; }
  .producer-rail-brand span { display:none; }
  .producer-rail-brand img { display:block; width:100%; height:auto; filter:drop-shadow(0 10px 24px rgba(0,0,0,.55)); }
  .producer-rail-copy { display:none; }
  .producer-menu-toggle { width:54px; height:54px; border:0; border-radius:0; background:transparent; box-shadow:none; color:#fff; gap:8px; }
  .producer-menu-toggle:hover { background:transparent; transform:none; }
  .producer-menu-toggle span { width:34px; height:2px; border-radius:999px; }
  .site-nav.is-open .producer-menu-toggle span:nth-child(1) { transform:translateY(10px) rotate(45deg); }
  .site-nav.is-open .producer-menu-toggle span:nth-child(3) { transform:translateY(-10px) rotate(-45deg); }
  .site-nav-scroll { inset:0; z-index:79; min-height:100svh; padding:clamp(140px,22svh,180px) 28px 42px; justify-content:center; align-items:flex-start; gap:clamp(14px,2.4vh,24px); background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.92)),url("/assets/photos/6.webp") center/cover no-repeat; transform:translateY(-10px); }
  .site-nav.is-open .site-nav-scroll { transform:translateY(0); }
  .site-nav-link { width:100%; color:rgba(255,255,255,.38); font-size:clamp(2.75rem,15vw,4.85rem); font-weight:640; line-height:1.04; letter-spacing:0; transform:none; }
  .site-nav-link::before { display:none; }
  .site-nav-link:hover,.site-nav-link:focus-visible,.site-nav-link.is-active { color:#fff; transform:none; }
  .site-nav-link.site-nav-contact { color:var(--home-gold-strong); }
  .home-brand { display:none; }
  .home-hero { min-height:92svh; }
  .home-hero-slide { background-position:58% center; }
  .home-hero-slide::before { background:linear-gradient(0deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.54) 66%,rgba(0,0,0,.26) 100%); }
  .home-hero-content { top:50%; bottom:auto; left:28px; width:calc(100% - 56px); transform:translateY(-38%); }
  .home-eyebrow,.section-eyebrow { margin-bottom:12px; font-size:.62rem; }
  .home-hero-copy h1 { font-size:clamp(2.55rem,13vw,4.05rem); line-height:1; }
  .home-hero-copy p { margin-top:16px; font-size:.9rem; }
  .home-actions { margin-top:24px; align-items:flex-start; }
  .home-button { width:auto; min-width:min(240px,100%); min-height:52px; border-radius:999px; padding-inline:26px; }
  .home-hero-pager { right:20px; bottom:28px; }
  .home-scroll-cue { bottom:28px; left:28px; }
  .home-section { padding:76px 20px; }
  .home-section-head { margin-bottom:34px; }
  .home-section-head h2 { font-size:clamp(2.25rem,11vw,3.4rem); }
  .events-section { padding-right:0; }
  .events-section .home-section-head { padding-right:20px; }
  .event-track { grid-auto-columns:calc(100vw - var(--home-rail) - 42px); gap:12px; }
  .event-card { min-height:520px; }
  .event-card h3 { font-size:2.7rem; }
  .event-controls { padding-right:20px; }
  .offers-section .home-section-head { padding:0 20px; }
  .offer-row { min-height:210px; grid-template-columns:34px 1fr 30px; gap:12px; padding:26px 20px; }
  .offer-row::before { opacity:.3; transform:scale(1); }
  .offer-row::after { opacity:1; }
  .offer-row h3 { font-size:1.65rem; }
  .offer-row p { font-size:.84rem; }
  .home-contact { min-height:72svh; }
  .home-contact h2 { font-size:clamp(2.45rem,12vw,4rem); }
  .home-footer { display:grid; text-align:center; }
}

/* Menu motion polish: smoother overlay and staggered links on the producer home. */
.site-nav-scroll {
  visibility: hidden;
  will-change: opacity, transform;
  transition:
    opacity .34s ease,
    transform .48s cubic-bezier(.19, 1, .22, 1),
    visibility 0s linear .42s !important;
}

.site-nav.is-open .site-nav-scroll {
  visibility: visible;
  transition:
    opacity .34s ease,
    transform .48s cubic-bezier(.19, 1, .22, 1),
    visibility 0s linear 0s !important;
}

.site-nav-link {
  opacity: 0;
  transform: translateY(20px);
  transition:
    color .2s ease,
    opacity .34s ease,
    transform .48s cubic-bezier(.19, 1, .22, 1) !important;
}

.site-nav.is-open .site-nav-link {
  opacity: 1;
  transform: translateY(0);
}

.site-nav.is-open .site-nav-link:nth-child(1) { transition-delay: .04s !important; }
.site-nav.is-open .site-nav-link:nth-child(2) { transition-delay: .08s !important; }
.site-nav.is-open .site-nav-link:nth-child(3) { transition-delay: .12s !important; }
.site-nav.is-open .site-nav-link:nth-child(4) { transition-delay: .16s !important; }
.site-nav.is-open .site-nav-link:nth-child(5) { transition-delay: .2s !important; }

.producer-menu-toggle,
.producer-menu-toggle span {
  transition:
    border-color .24s ease,
    background .24s ease,
    color .24s ease,
    transform .42s cubic-bezier(.19, 1, .22, 1),
    opacity .24s ease !important;
}

/* Scoped Uiverse-style menu control. Keeps global buttons untouched. */
.producer-menu-toggle {
  width: 65px !important;
  height: 65px !important;
  min-height: 65px !important;
  padding: 3px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-around !important;
  gap: 0 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 16px !important;
  background: rgba(74, 74, 74, .39) !important;
  color: rgb(0, 122, 255) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
  backdrop-filter: blur(15px) !important;
  -webkit-backdrop-filter: blur(15px) !important;
  transform: none !important;
}

.producer-menu-toggle:hover,
.producer-menu-toggle:focus-visible {
  border-color: rgba(255, 255, 255, .28) !important;
  background: rgba(74, 74, 74, .5) !important;
  transform: none !important;
}

.producer-menu-toggle span {
  width: 28px !important;
  height: 2px !important;
  border-radius: 2px !important;
  background: currentColor !important;
  box-shadow: 0 .5px 2px 0 rgba(0, 0, 0, .2) !important;
  transform: none !important;
  transition:
    transform .4s ease,
    background-color .4s ease,
    color .4s ease,
    width .4s ease,
    opacity .4s ease !important;
}

.producer-menu-toggle span:nth-child(2) {
  width: 17px !important;
}

.producer-menu-toggle:hover span:nth-child(1),
.producer-menu-toggle:focus-visible span:nth-child(1),
.site-nav.is-open .producer-menu-toggle span:nth-child(1) {
  background-color: rgb(255, 59, 48) !important;
  transform: translateY(8px) rotate(-45deg) !important;
}

.producer-menu-toggle:hover span:nth-child(2),
.producer-menu-toggle:focus-visible span:nth-child(2),
.site-nav.is-open .producer-menu-toggle span:nth-child(2) {
  width: 0 !important;
  opacity: 0 !important;
}

.producer-menu-toggle:hover span:nth-child(3),
.producer-menu-toggle:focus-visible span:nth-child(3),
.site-nav.is-open .producer-menu-toggle span:nth-child(3) {
  background-color: rgb(255, 59, 48) !important;
  transform: translateY(-8px) rotate(45deg) !important;
}

@media (max-width: 600px) {
  .producer-menu-toggle {
    width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
  }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
