:root{color-scheme:dark;--night:#052c3b;--blue:#30accd;--gold:#dace23;--condensed:'Avenir Next Condensed','Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;max-width:100%;overflow-x:clip}
body{margin:0;background:var(--night);color:#fff;font:16px/1.5 'Avenir Next',Arial,sans-serif}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:fixed;z-index:30;top:-5rem;left:1rem;padding:.7rem 1rem;background:#fff;color:#061c25}.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.masthead{position:relative;z-index:6;display:grid;place-items:center;min-height:clamp(145px,20vw,220px);overflow:hidden;background:#09323c url('../assets/mar-atardecer-poster.jpg') center/cover no-repeat}
.masthead-sea,.masthead-sea img,.masthead-shade{position:absolute;inset:0;width:100%;height:100%}.masthead-sea img{display:block;object-fit:cover;object-position:center 56%}.masthead-shade{background:linear-gradient(90deg,#03171caa,#041e2780 50%,#03171caa)}
.brand-home{position:relative;z-index:2;display:block;line-height:0;filter:drop-shadow(0 3px 12px #001016b8)}.brand-home img{display:block;width:clamp(220px,28vw,320px);height:auto}
.category-bar{position:sticky;z-index:10;top:0;margin:0;background:#073b50f4;backdrop-filter:blur(14px);box-shadow:0 3px 12px #001b2859}
.category-links{display:flex;align-items:stretch;gap:clamp(.2rem,1vw,.8rem);width:100%;min-height:58px;overflow-x:auto;overflow-y:hidden;padding:0 clamp(.75rem,3vw,2rem);scrollbar-width:thin;scrollbar-color:#6aabb9 #073b50;overscroll-behavior-x:contain}
.category-links a{display:grid;place-items:center;flex:none;min-height:48px;margin:5px 0;padding:.35rem clamp(.6rem,1.2vw,1rem);border-bottom:3px solid transparent;color:#d8ebee;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.category-links a:hover,.category-links a[aria-current]{border-color:var(--gold);color:#fff}.category-links a:focus-visible{outline-offset:-3px}
.menu-category{position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:58px;min-height:25rem}
.menu-category:focus{outline:none}.menu-category:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.theme-foam{background:#f2f1e8;color:#062f3e}.theme-deep{background:#063e56;color:#fff}.theme-lagoon{background:#bcdfe4;color:#062d3b}.theme-night{background:#062e40;color:#fff}
.category-inner{position:relative;z-index:1;width:min(100%,1120px);margin:auto;padding:clamp(2.7rem,4vw,4.6rem) clamp(1.3rem,5vw,4rem) clamp(3.5rem,6vw,5.5rem)}
.category-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:center;gap:.6rem 2rem;margin-bottom:clamp(1.7rem,3.5vw,3rem);border-bottom:1px solid currentColor;padding-bottom:1.15rem;text-align:center}
.category-heading h2{flex:1 1 100%;max-width:100%;margin:0;font:800 clamp(3.15rem,7.2vw,6.66rem)/.86 var(--condensed);letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance;text-align:center}
.category-subtitle{flex:1 1 100%;margin:0;font-size:clamp(.9rem,1.5vw,1.1rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.category-note{max-width:60ch;margin:.6rem 0 0;font-size:.87rem;line-height:1.45;opacity:.83}
.dish-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.8rem,5vw,5rem);list-style:none;margin:0;padding:0}
.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.2rem .8rem;min-width:0;min-height:118px;padding:1.15rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 29%,transparent)}
.dish-copy{display:flex;flex-direction:column;gap:.28rem;min-width:0}.dish-name{font:800 clamp(1.48rem,2.5vw,2.15rem)/.97 var(--condensed);letter-spacing:-.025em;text-transform:uppercase}.dish-detail{max-width:30ch;font-size:.84rem;line-height:1.35;opacity:.78}.dish-price{font-size:1.04rem;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.theme-deep .dish-price,.theme-night .dish-price{color:var(--gold)}.theme-foam .dish-price,.theme-lagoon .dish-price{color:#075873}
.wave-transition{position:relative;z-index:2;height:clamp(110px,13vw,170px);overflow:hidden;background:var(--to);pointer-events:none}
.wave-transition svg{display:block;width:100%;height:100%}.wave-before{fill:var(--from)}.wave-back{fill:#247f98}.wave-front{fill:var(--to)}
.from-foam{--from:#f2f1e8}.from-deep{--from:#063e56}.from-lagoon{--from:#bcdfe4}.from-night{--from:#062e40}.to-foam{--to:#f2f1e8}.to-deep{--to:#063e56}.to-lagoon{--to:#bcdfe4}.to-night{--to:#062e40}
.menu-footer{background:#041f2d;color:#fff;padding:clamp(2.5rem,6vw,5rem) 1.2rem 1.4rem}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:clamp(.4rem,2vw,1.5rem);max-width:1000px;margin:auto}.footer-brand{display:block;flex:none;line-height:0}.footer-brand img{display:block;width:clamp(145px,20vw,200px);height:auto}.footer-links{display:flex;align-items:center;justify-content:center;gap:clamp(.1rem,.8vw,.7rem)}.footer-links a,.footer-links button{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff}.footer-links a:hover,.footer-links button:hover{background:#ffffff24}.footer-links svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-links a:first-child svg{fill:currentColor;stroke:none}.footer-links button svg path{fill:currentColor;stroke:none}.footer-links button svg circle{fill:#041f2d;stroke:none}.footer-links a:nth-of-type(2) svg{fill:currentColor;stroke:none}.footer-credit{display:flex;justify-content:center;align-items:center;gap:.6rem;flex-wrap:wrap;margin:clamp(2rem,5vw,4rem) auto 0;border-top:1px solid #ffffff45;padding-top:1.2rem;font-size:.72rem}.footer-credit a{display:block;line-height:0}.footer-credit img{display:block;width:clamp(74px,10vw,100px);height:auto}
.maps-dialog{width:min(92vw,480px);max-height:calc(100dvh - 2rem);border:0;background:#f2f1e8;color:#062f3e;padding:2rem;box-shadow:0 24px 70px #00172299}.maps-dialog::backdrop{background:#001722c9}.maps-dialog h2{margin:0 0 1rem;font:800 clamp(2rem,6vw,3rem)/1 var(--condensed);text-transform:uppercase}.maps-dialog address{font-style:normal}.maps-close{position:absolute;top:.4rem;right:.6rem;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:1.8rem;cursor:pointer}.maps-options{display:flex;gap:.6rem;flex-wrap:wrap}.maps-options a{display:grid;place-items:center;min-height:48px;padding:.65rem 1rem;background:#075873;color:#fff;font-weight:800;text-decoration:none}.maps-options a:hover{background:#063e56}
.maps-dialog{text-align:center}.maps-dialog p{margin-inline:auto}.maps-options{justify-content:center}.maps-options a{display:flex;align-items:center;justify-content:center;gap:.35rem;flex:1 1 120px;min-width:0;min-height:56px;background:#fff;color:#1f1f1f;border:1px solid #9db1aa;border-radius:4px}.maps-options a:hover{background:#e7efeb}.maps-options a:focus-visible{outline:3px solid #075873;outline-offset:2px}.maps-options img{display:block;max-width:100%;height:auto}.maps-options a:first-child img{width:98px}.maps-options a:last-child img{width:32px;flex:none}
@media(max-width:720px){.brand-home img{width:min(70vw,250px)}.category-inner{padding:2.3rem 1.2rem 3.2rem}.category-heading h2{font-size:clamp(2.88rem,11.7vw,4.77rem)}.dish-list{grid-template-columns:1fr}.dish{min-height:84px;padding:1rem 0}.dish-name{font-size:1.55rem}}
@media(max-width:600px){.menu-footer{padding-inline:.55rem}.footer-main{flex-direction:row;justify-content:center;gap:.35rem}.footer-brand img{width:min(25vw,125px)}.footer-links{gap:0}.footer-links a,.footer-links button{width:44px;height:44px}.footer-links svg{width:21px;height:21px}.footer-credit{text-align:center}}
@media(max-width:360px){.category-inner{padding-inline:1rem}.dish{gap:.5rem}.dish-name{font-size:1.42rem}.dish-price{font-size:.95rem}.category-links a{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
