@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#142e31;--paper:#f5f2ea;--sea:#17444a;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:clip}body{font:16px/1.5 'DM Sans',Arial,sans-serif;background:#091514;color:#fff}button,a{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid #e6cf7c;outline-offset:3px}.skip{position:fixed;z-index:30;top:-4rem;left:1rem;padding:.65rem 1rem;background:#fff;color:#000}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hero{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#091514}.hero-photo,.hero-video,.hero-webp,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{background:url('assets/mar-atardecer-poster.jpg') center/cover no-repeat}.hero-video{object-fit:cover;opacity:0;transition:opacity .7s ease}.hero-video.ready{opacity:1}.hero-webp{display:block}.hero-webp img{display:block;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#03101294 0%,#03101278 42%,#031012b8 76%,#031012ee 100%)}.hero-inner{position:relative;z-index:1;min-height:100svh;width:100%;display:flex;flex-direction:column;align-items:center;padding:clamp(.8rem,3svh,2rem) 1rem .8rem;text-align:center}.logo-stage{display:grid;place-items:center;width:min(69.5vw,634px);aspect-ratio:2;margin:auto 0 0;line-height:0;transform-origin:center;will-change:transform}.hero-logo{display:block;width:85%;height:auto;filter:drop-shadow(0 2px 9px #000a)}
.cover-actions{display:flex;justify-content:center;gap:.8rem;width:min(100%,850px);margin-top:clamp(.7rem,3svh,2rem)}.action{min-height:58px;flex:1;max-width:260px;padding:.75rem 1rem;border:1.5px solid #f9f5eb;border-radius:3px;background:#09272ab8;color:#fff;font-size:1.08rem;font-weight:600;text-shadow:0 1px 5px #000a;backdrop-filter:blur(4px)}a.action{display:grid;place-items:center;text-decoration:none}.action:hover,.action:focus-visible{background:#fff2;color:#fff}.social-links{display:flex;justify-content:center;gap:clamp(.7rem,2vw,1.4rem);margin-top:clamp(.75rem,2svh,1.3rem)}.social-links a,.social-links button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff}.social-links a:hover,.social-links button:hover{background:#fff2}.social-links svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-links a:nth-child(3) svg{fill:currentColor;stroke:none}.site-credit{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;width:100%;margin:auto 0 0;padding-top:1.5rem;color:#fff;font-size:.7rem;text-shadow:0 1px 6px #000}.site-credit img{display:block;width:clamp(72px,10vw,100px);height:auto}
.intro-active .logo-stage{animation:stage-land 2.35s cubic-bezier(.2,.75,.2,1) both}.intro-active .logo-body-piece{animation:body-appear .7s ease-out 1.25s both}.intro-active .fish-orbit{transform-box:view-box;transform-origin:396.47px 74.8px;animation:fish-orbit-intro 2.35s linear both}.intro-active .cover-actions{animation:controls-in .48s ease-out 2.35s both}.intro-active .social-links{animation:controls-in .48s ease-out 2.5s both}.intro-active .site-credit{animation:controls-in .42s ease-out 2.55s both}.intro-active .cover-actions:focus-within,.intro-active .social-links:focus-within{animation:none;opacity:1;transform:none}@keyframes stage-land{0%,38%{transform:translate(var(--intro-x),var(--intro-y)) scale(var(--intro-scale))}62%{transform:translate(var(--mid-x),var(--mid-y)) scale(var(--mid-scale))}100%{transform:none}}@keyframes body-appear{from{opacity:0}to{opacity:1}}@keyframes controls-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){#wave-left{transform-box:view-box;transform-origin:184px 227px;animation:wave-left-drift 5.1s ease-in-out infinite}#wave-right{transform-box:view-box;transform-origin:471px 227px;animation:wave-right-drift 5.7s ease-in-out infinite}#wave-bottom{transform-box:view-box;transform-origin:337px 296px;animation:wave-bottom-drift 6.2s ease-in-out infinite}}@keyframes fish-orbit-intro{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}@keyframes wave-left-drift{0%,100%{transform:none}50%{transform:translate(2.8px,-.9px) rotate(.15deg)}}@keyframes wave-right-drift{0%,100%{transform:none}50%{transform:translate(-2.7px,.8px) rotate(-.14deg)}}@keyframes wave-bottom-drift{0%,100%{transform:none}50%{transform:translate(3.2px,.9px) rotate(.08deg)}}
.menu-dialog{width:min(calc(100% - 1rem),1050px);height:min(calc(100dvh - 1rem),900px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:5px;background:var(--paper);color:var(--ink);box-shadow:0 25px 90px #000a}.menu-dialog[open]{display:flex;flex-direction:column}.menu-dialog::backdrop,.detail-dialog::backdrop{background:#071b1bc9;backdrop-filter:blur(5px)}.menu-header{flex:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,3vw,2rem);border-bottom:1px solid #c9d2cd}.menu-header .eyebrow{margin:0;color:#537376}.menu-header h2{margin:-.15rem 0 0;font:400 clamp(2rem,4vw,3rem)/1 'Libre Caslon Display',Georgia,serif}.dialog-close{width:44px;height:44px;flex:none;border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1}.dialog-close:hover{background:#e1e8e2}.menu-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#608687 #e2e6df}.menu-lead{margin:0;padding:1.4rem 1.5rem 1rem;text-align:center;font:400 1.35rem 'Libre Caslon Display',Georgia,serif}.category-nav{position:sticky;top:0;z-index:2;display:flex;gap:1.4rem;overflow-x:auto;white-space:nowrap;padding:.9rem 1.2rem;border-block:1px solid #cbd4cf;background:#f5f2eaf2;backdrop-filter:blur(8px);scrollbar-width:thin}.category-nav a{flex:none;text-decoration:none;font-size:.78rem;font-weight:700}.category-nav a:hover{text-decoration:underline}.menu-categories{max-width:820px;margin:auto;padding:2rem clamp(1rem,4vw,3rem) 0}.menu-category{scroll-margin-top:4.5rem;margin-bottom:3rem;padding-bottom:2.6rem;border-bottom:1px solid #b9c7bf}.category-heading{display:flex;gap:1rem;align-items:baseline}.category-heading>span{font-size:.65rem;font-weight:700;color:#6d8b8a;white-space:nowrap}.category-heading h3{margin:0 0 1.2rem;font:400 clamp(2.3rem,4.6vw,4.5rem)/1 'Libre Caslon Display',Georgia,serif;letter-spacing:-.02em}.category-note{margin:0 0 1.2rem;font-size:.76rem;color:#536e70}.dish-list{list-style:none;margin:0;padding:0}.dish-list li{border-top:1px solid #cdd7d0}.dish{display:grid;grid-template-columns:minmax(0,1fr) auto 1.3rem;align-items:center;gap:.8rem;width:100%;padding:.9rem .1rem;border:0;background:transparent;color:var(--ink);text-align:left}.dish:hover,.dish:focus-visible{background:#e7ebe4}.dish-copy{display:flex;flex-direction:column;min-width:0}.dish-copy strong{font-size:.96rem;font-weight:600}.dish-copy small{color:#617370;font-size:.77rem}.dish-price{font-size:.85rem;font-weight:700;white-space:nowrap}.dish-arrow{font-size:1.2rem;color:#668986}.menu-disclaimer{max-width:820px;margin:0 auto;padding:0 2rem 2rem;color:#5e706d;font-size:.75rem}
.detail-dialog{width:min(calc(100% - 1.5rem),520px);max-height:85dvh;overflow:auto;margin:auto;padding:clamp(1.3rem,4vw,2.4rem);border:0;border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:0 25px 90px #000a}.detail-dialog .dialog-close{position:absolute;top:.4rem;right:.5rem}.eyebrow{text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.16em}.detail-dialog .eyebrow{margin:0 2rem .6rem 0;color:#5d7c7d}.detail-dialog h2{margin:0 0 1.1rem;font:400 clamp(2.4rem,6vw,4rem)/1 'Libre Caslon Display',Georgia,serif}.detail-dialog p{max-width:38ch}.detail-dialog address{font-style:normal}.modal-price{font-size:1.35rem;font-weight:700}.modal-note{font-size:.8rem;color:#58706c}.map-links{display:flex;flex-wrap:wrap;gap:.6rem}.map-links a{display:inline-grid;place-items:center;min-height:46px;padding:.65rem 1rem;background:var(--sea);color:#fff;text-decoration:none;font-weight:700}.map-links a:hover{background:#0c3439}
.maps-choice{text-align:center}.maps-choice .eyebrow{display:block;width:100%;max-width:none;margin:0 0 .6rem;text-align:center}.maps-choice p{margin-inline:auto}.maps-choice .map-links{justify-content:center}.maps-choice .map-links 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-choice .map-links a:hover{background:#e7efeb}.maps-choice .map-links a:focus-visible{outline:3px solid #075873;outline-offset:2px}.maps-choice .map-links img{display:block;max-width:100%;height:auto}.maps-choice .map-links a:first-child img{width:98px}.maps-choice .map-links a:last-child img{width:32px;flex:none}
@media(max-width:620px){.logo-stage{width:min(83.6vw,440px)}.cover-actions{flex-direction:column;align-items:center;gap:.55rem;width:min(100%,340px);margin-top:clamp(.6rem,2svh,1.2rem)}.action{flex:none;width:100%;max-width:none;min-height:52px;font-size:1.03rem}.site-credit{font-size:.62rem;padding-top:.6rem}.site-credit img{width:74px}.menu-dialog{width:calc(100% - .4rem);height:calc(100dvh - .4rem)}.menu-header{padding:.7rem .9rem}.category-nav{gap:1rem}.dish{gap:.45rem}.dish-copy strong{font-size:.88rem}.dish-copy small{font-size:.72rem}.dish-price{font-size:.78rem}}
@media(max-width:380px){.hero-inner{padding:.5rem .65rem}.logo-stage{width:min(82.7vw,300px)}.cover-actions{gap:.4rem}.action{min-height:47px}.social-links{margin-top:.55rem;gap:.35rem}.social-links a,.social-links button{width:44px;height:44px}.site-credit{gap:.3rem}.site-credit img{width:68px}}
@media(max-height:620px) and (min-width:621px){.logo-stage{width:min(51vw,466px)}.cover-actions{margin-top:.5rem}.action{min-height:45px}.social-links{margin-top:.3rem}.site-credit{padding-top:.3rem}}
@media(prefers-reduced-motion:reduce){.intro-active .logo-stage,.intro-active .logo-body-piece,.intro-active .cover-actions,.intro-active .social-links,.intro-active .site-credit,.fish-orbit,.wave-piece{animation:none!important;opacity:1!important;transform:none!important}.hero-video,.hero-webp{display:none!important}.hero-photo{animation:none!important}.hero-video{transition:none!important}}
