/* Native dialogs sit above the header, including its backdrop-filter. */
.mobile-menu svg{display:block;width:25px;height:25px;margin:auto;transition:transform .35s}.mobile-menu:hover svg{transform:rotate(-8deg)}
.quick-contact-toggle{display:none}
html.mobile-overlay-open{overflow:hidden;scroll-behavior:auto}
body.mobile-overlay-open{position:fixed;inset:var(--mobile-scroll-top) 0 auto;width:100%;overflow:hidden}
.mobile-panel{color:var(--paper);overscroll-behavior:contain}
.mobile-panel::backdrop{background:#03030385;backdrop-filter:blur(7px);opacity:0;transition:opacity .28s ease}
.mobile-panel.is-visible::backdrop{opacity:1}.mobile-panel.is-closing::backdrop{opacity:0}
.mobile-drawer{position:fixed;inset:8px 8px 8px auto;width:min(88vw,420px);max-width:none;height:calc(100dvh - 16px);max-height:none;margin:0;padding:0;border:1px solid #d4b36132;border-radius:28px;background:radial-gradient(ellipse at 100% 0,#7b252321,transparent 55%),#141312;box-shadow:-24px 0 100px #0008;overflow:hidden;transform:translateX(calc(100% + 14px));opacity:0;transition:transform .48s cubic-bezier(.2,.75,.15,1),opacity .3s}
.mobile-drawer[open]{display:flex;flex-direction:column}.mobile-drawer.is-visible{transform:translateX(0);opacity:1}.mobile-drawer.is-closing{transform:translateX(calc(100% + 14px));opacity:0;transition-duration:.24s}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 24px 20px;flex-shrink:0}.drawer-brand{display:block}.drawer-brand img{width:158px;height:auto}
.panel-close{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d4b36135;border-radius:50%;background:#ffffff05;color:var(--paper)}.panel-close svg{width:20px;height:20px}.panel-close:hover{background:#ffffff12}
.drawer-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 24px 18px;scrollbar-width:thin;scrollbar-color:#d4b36140 transparent}
.drawer-eyebrow{padding:8px 0 17px;color:var(--gold);font-size:9px;font-weight:500;letter-spacing:.17em}
.drawer-navigation ul{list-style:none;margin:0;padding:0;counter-reset:menu-link}.drawer-navigation li{counter-increment:menu-link;opacity:0;transform:translateX(16px);transition:opacity .3s,transform .4s}.mobile-drawer.is-visible li{opacity:1;transform:translateX(0);transition-delay:calc(var(--menu-index,0)*22ms + 90ms)}
.drawer-navigation a{display:flex;align-items:center;gap:18px;min-height:46px;padding:6px 2px;border-bottom:1px solid #ffffff0b;font-size:23px;font-weight:400;line-height:1.2;letter-spacing:-.02em}.drawer-navigation a:before{content:counter(menu-link,decimal-leading-zero);width:18px;flex-shrink:0;font-size:9px;letter-spacing:.03em;color:#ad98736b}.drawer-navigation a:after{content:'';display:block;width:19px;height:19px;flex-shrink:0;margin-left:auto;background:currentColor;-webkit-mask:url('icons/arrow-up-right.svg') center/contain no-repeat;mask:url('icons/arrow-up-right.svg') center/contain no-repeat;color:#d4b36170;transition:transform .25s}
.drawer-navigation a:hover,.drawer-navigation a[aria-current]{color:var(--gold)}.drawer-navigation a:hover:after{transform:translate(2px,-2px)}
.drawer-footer{padding:18px 24px max(20px,env(safe-area-inset-bottom));border-top:1px solid #d4b36120;background:#11100f;flex-shrink:0}.drawer-footer>.button{width:100%;min-height:54px;font-size:14px}.drawer-footer>.button svg{width:22px;height:22px}.drawer-footer>p{display:flex;align-items:flex-start;gap:9px;margin-top:16px;font-size:11px;line-height:1.6;color:var(--muted)}.drawer-footer>p svg{width:17px;height:17px;flex-shrink:0;margin-top:1px;color:var(--gold)}

.quick-contact-toggle,.contact-panel-close{width:60px;height:60px;border-radius:50%;border:1px solid #dfb65c80;background:radial-gradient(circle at 30% 15%,#c74c42,#922b29 65%,#6f2525);box-shadow:0 8px 32px #0007,inset 0 0 0 4px #1e0e111f;color:#fff;align-items:center;justify-content:center;padding:0}
.quick-contact-toggle{position:fixed;z-index:35;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));isolation:isolate;transition:transform .25s,box-shadow .25s}.quick-contact-toggle>svg{width:29px;height:29px}.quick-contact-toggle:before{content:'';position:absolute;inset:-5px;border:1px solid #d4b36136;border-radius:50%;z-index:-1;animation:contact-arrival 1.4s ease-out 2}.quick-contact-toggle:hover{transform:translateY(-3px);box-shadow:0 10px 36px #0008,inset 0 0 0 4px #1e0e111f}.contact-orbit{position:absolute;top:2px;right:3px;width:8px;height:8px;border-radius:50%;background:var(--gold);border:2px solid #321713}
.contact-dialog{position:fixed;inset:auto max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) auto;width:min(360px,calc(100vw - 36px));max-width:none;height:auto;max-height:calc(100dvh - 36px - env(safe-area-inset-bottom));margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;opacity:0;transform:translateY(18px) scale(.96);transform-origin:bottom right;transition:opacity .25s,transform .35s cubic-bezier(.2,.75,.15,1)}
.contact-dialog[open]{display:flex;flex-direction:column;gap:14px;align-items:stretch}.contact-dialog.is-visible{opacity:1;transform:translateY(0) scale(1)}.contact-dialog.is-closing{opacity:0;transform:translateY(12px) scale(.97);transition-duration:.2s}
.contact-surface{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 22px 22px;border:1px solid #d4b36140;border-radius:28px;background:radial-gradient(ellipse at 100% 0,#7f332233,transparent 60%),#171514;box-shadow:0 20px 80px #0009;scrollbar-width:thin}
.contact-panel-heading{padding-bottom:18px}.contact-panel-heading .eyebrow{font-size:9px;letter-spacing:.14em}.contact-panel-heading h2{font-size:32px;line-height:1.2;margin-top:10px;letter-spacing:-.025em}
.contact-options{display:grid;gap:8px}.contact-option{display:flex;align-items:center;gap:13px;min-height:72px;padding:10px 13px;border:1px solid #ffffff0e;border-radius:17px;background:#ffffff04;transition:background .2s,border-color .2s,transform .2s}.contact-option:hover{background:#ffffff09;border-color:#d4b36150;transform:translateX(-2px)}
.contact-option-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;color:var(--gold)}.contact-option-whatsapp .contact-option-icon{color:#89cda5}.contact-option-icon svg{width:26px;height:26px}
.contact-option-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.contact-option-copy strong{font-size:18px;font-weight:400;line-height:1.2}.contact-option-copy small{font-size:11px;line-height:1.5;color:var(--muted)}.contact-option-arrow{margin-left:auto;flex-shrink:0;color:#c8ad77}.contact-option-arrow svg{width:17px;height:17px}
.contact-directions{padding-top:20px;margin-top:20px;border-top:1px solid #d4b36120}.contact-directions h3{font-size:18px;letter-spacing:-.01em}.contact-directions>p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}
.directions-options{display:flex;gap:9px;margin-top:15px}.directions-options>a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:49px;flex:1;border:1px solid #d4b36140;border-radius:14px;font-size:12px;background:#d4b36105;white-space:nowrap}.directions-options>a:hover{border-color:var(--gold);background:#d4b36110}.directions-options svg{width:17px;height:17px;color:var(--gold);flex-shrink:0}.directions-options svg:last-child{width:12px;height:12px}
.contact-panel-close{display:flex;align-self:flex-end;flex-shrink:0}.contact-panel-close svg{width:24px;height:24px}
@keyframes contact-arrival{0%{opacity:.7;transform:scale(.96)}100%{opacity:0;transform:scale(1.3)}}
@media(max-width:1180px){.site-header.has-navigation-js #primary-nav{display:none}.quick-contact-toggle:not([hidden]){display:flex}.site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(max-width:650px){.mobile-menu{width:44px;min-width:44px;height:44px}}
@media(max-width:360px){.drawer-heading{padding:20px 20px 16px}.drawer-brand img{width:138px}.drawer-scroll{padding-inline:20px}.drawer-footer{padding-inline:20px}.drawer-navigation a{font-size:21px;gap:13px}.contact-surface{padding:23px 16px 18px}.contact-option{gap:10px;padding-inline:10px}}
@media(max-height:680px){.drawer-heading{padding-top:16px;padding-bottom:12px}.drawer-footer{padding-top:12px;padding-bottom:14px}.drawer-footer>p{margin-top:10px}.contact-surface{padding-top:20px}.contact-panel-heading{padding-bottom:12px}.contact-option{min-height:60px}.contact-directions{margin-top:14px;padding-top:14px}}
@media(prefers-reduced-motion:reduce){.mobile-panel,.mobile-panel::backdrop,.drawer-navigation li,.quick-contact-toggle,.contact-option{transition:none}.quick-contact-toggle:before{animation:none;opacity:0}}
