
:root{--navy:#083d66;--navy2:#052a47;--cyan:#16bec1;--aqua:#79dfdc;--ice:#e8f7f5;--paper:#f6f0e4;--cream:#fffaf0;--ink:#112e45;--muted:#647683;--yellow:#ffd45d;--line:#cddbdc;--white:#fff;--shadow:0 24px 60px rgba(5,42,71,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.5}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--navy)}.nav-wrap{max-width:1240px;margin:auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;background:#fff}.brand img{width:150px;height:58px;object-fit:contain}.main-nav{display:flex;gap:26px;align-items:center;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.main-nav a{text-decoration:none}.main-nav a:not(.nav-order):hover{color:var(--cyan)}.nav-order{background:var(--cyan);color:var(--navy2);padding:11px 17px;border:2px solid var(--navy2);box-shadow:4px 4px 0 var(--navy2)}.menu-toggle{display:none;background:var(--navy);color:#fff;border:0;padding:10px 14px;font-weight:800}
.hero{min-height:690px;display:grid;grid-template-columns:1.04fr .96fr;border-bottom:3px solid var(--navy)}.hero-copy{background:var(--navy);color:#fff;padding-top:80px;padding-bottom:65px;padding-left:clamp(48px,7vw,120px);padding-right:clamp(48px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.hero-kicker{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);padding:10px 0;font-size:.68rem;letter-spacing:.12em}.hero-kicker b{color:var(--aqua)}.hero h1{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(5rem,9.2vw,9.8rem);line-height:.78;letter-spacing:-.065em;margin:42px 0 34px;text-transform:uppercase}.hero h1 span{color:var(--cyan)}.hero-copy>p{max-width:620px;font-size:1.08rem;color:#d8e8ef}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:2px solid transparent;font-weight:800;text-decoration:none;cursor:pointer}.btn-cyan{background:var(--cyan);color:var(--navy2);border-color:var(--cyan)}.btn-dark{background:var(--navy);color:#fff}.btn-white{background:#fff;color:var(--navy2);border-color:#fff}.btn-outline-light{color:#fff;border-color:rgba(255,255,255,.55)}.text-link{color:#fff;text-underline-offset:4px;font-weight:700}.hero-image{position:relative;min-height:690px;background:#bfe8e5;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover}.info-ticket{position:absolute;right:24px;bottom:24px;width:min(330px,calc(100% - 48px));background:var(--yellow);color:var(--navy2);padding:24px;border:3px solid var(--navy2);box-shadow:8px 8px 0 var(--navy2)}.info-ticket span{font-size:.65rem;letter-spacing:.15em;font-weight:900}.info-ticket strong{display:block;font-family:"Archivo Black",sans-serif;font-size:1.35rem;margin-top:8px}.info-ticket p{margin:2px 0 10px}.info-ticket hr{border:0;border-top:1px solid rgba(5,42,71,.4);margin:12px 0}
.ticker{overflow:hidden;background:var(--cyan);border-bottom:3px solid var(--navy);color:var(--navy2);font-family:"Archivo Black",sans-serif;font-size:1rem}.ticker div{white-space:nowrap;padding:14px 0;word-spacing:16px}.ticker i{color:#fff;font-style:normal}
.story{display:grid;grid-template-columns:1.05fr .95fr;max-width:1240px;margin:auto;padding:110px 24px;gap:72px;align-items:stretch}.story-photo{min-height:620px;position:relative}.story-photo:before{content:"";position:absolute;left:-18px;top:-18px;width:70%;height:70%;background:var(--cyan);z-index:-1}.story-photo img{width:100%;height:100%;object-fit:cover;border:3px solid var(--navy)}.story-copy{display:flex;flex-direction:column;justify-content:center;border-top:3px solid var(--navy);border-bottom:3px solid var(--navy);padding:45px 0}.section-number{font-size:.67rem;letter-spacing:.16em;font-weight:900;color:var(--cyan);text-transform:uppercase}.section-number.light{color:var(--aqua)}.story h2,.menu-editorial h2,.order-intro h2,.visit h2{font-family:"Archivo Black",Impact,sans-serif;letter-spacing:-.055em;text-transform:uppercase;line-height:.9}.story h2{font-size:clamp(3.4rem,6vw,6.4rem);margin:20px 0 28px}.story .lead{font-size:1.3rem;font-weight:700;color:var(--navy)}.story-copy p{color:var(--muted);max-width:530px}.story-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.story-notes span{border:2px solid var(--navy);padding:8px 12px;text-transform:uppercase;font-size:.73rem;font-weight:800;background:var(--cream)}
.menu-editorial{background:var(--navy2);color:#fff;display:grid;grid-template-columns:1fr .72fr;gap:80px;padding:100px max(24px,calc((100vw - 1240px)/2));align-items:center}.menu-editorial h2{font-size:clamp(4rem,7vw,7.2rem);margin:20px 0 26px}.menu-editorial-head>p{max-width:630px;color:#cfe0e8;font-size:1.04rem}.menu-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 20px}.menu-editorial small{color:#99b2c0}.menu-poster{position:relative;display:block;text-decoration:none;border:3px solid #fff;box-shadow:16px 16px 0 var(--cyan);background:#fff;transform:rotate(1.5deg)}.menu-poster img{width:100%;aspect-ratio:1/1;object-fit:cover}.poster-label{display:block;color:var(--navy2);font-weight:900;padding:13px 15px;font-size:.76rem;letter-spacing:.08em}
.order-section{max-width:1240px;margin:auto;padding:110px 24px}.order-intro{display:grid;grid-template-columns:.34fr 1fr .8fr;gap:30px;align-items:end;border-bottom:3px solid var(--navy);padding-bottom:28px}.order-intro h2{font-size:clamp(3.4rem,5.6vw,6rem);margin:0}.order-intro p{color:var(--muted);font-size:1.02rem}.order-tools{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:30px 0}.search-box{display:grid;gap:7px;font-size:.68rem;font-weight:900;letter-spacing:.12em;min-width:min(500px,100%)}.search-box input{background:transparent;border:0;border-bottom:3px solid var(--navy);padding:12px 0;outline:0;font-size:1rem;color:var(--ink)}.search-box input:focus{border-color:var(--cyan)}.quick-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.chip{border:2px solid var(--navy);background:transparent;color:var(--navy);font-weight:900;font-size:.72rem;padding:8px 11px;cursor:pointer;text-transform:uppercase}.chip.active{background:var(--navy);color:#fff}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:38px;align-items:start}.menu-category{border-top:2px solid var(--navy);background:transparent}.menu-category:last-child{border-bottom:2px solid var(--navy)}.menu-category summary{list-style:none;cursor:pointer;padding:18px 3px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:"Archivo Black",sans-serif;text-transform:uppercase;color:var(--navy);font-size:1.12rem}.menu-category summary::-webkit-details-marker{display:none}.menu-category summary:after{content:"+";font-family:"DM Sans";font-size:1.7rem;line-height:1}.menu-category[open] summary:after{content:"−"}.category-meta{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:12px}.category-count{font-family:"DM Sans";font-size:.69rem;background:var(--cyan);color:var(--navy2);padding:3px 7px}.menu-list{border-top:1px solid var(--line);background:rgba(255,255,255,.5)}.menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:13px 10px;border-bottom:1px dashed #b8c9cb}.menu-row:last-child{border-bottom:0}.menu-row.selected{background:#dff5f3}.item-name{font-weight:600;font-size:.91rem}.item-price{font-weight:900;color:var(--navy);white-space:nowrap}.qty-control{display:grid;grid-template-columns:31px 31px 31px;border:2px solid var(--navy);background:#fff}.qty-control button{border:0;background:transparent;height:31px;font-weight:900;color:var(--navy);cursor:pointer}.qty-control button:hover{background:var(--cyan)}.qty-value{text-align:center;display:grid;place-content:center;border-left:1px solid var(--navy);border-right:1px solid var(--navy);font-weight:900;font-size:.8rem}.no-results{padding:28px;border:2px dashed var(--navy);color:var(--muted)}
.cart-panel{position:sticky;top:92px;background:#fff;border:3px solid var(--navy2);padding:22px;box-shadow:9px 9px 0 var(--cyan)}.receipt-top{display:flex;justify-content:space-between;border-bottom:2px dashed #8fa1aa;padding-bottom:9px;font-size:.61rem;letter-spacing:.14em;font-weight:900}.cart-title{display:flex;justify-content:space-between;align-items:start;padding:20px 0 12px}.mini-label{font-size:.62rem;letter-spacing:.14em;color:var(--muted);font-weight:900}.cart-title h3{font-family:"Archivo Black",sans-serif;text-transform:uppercase;margin:3px 0;font-size:1.7rem;letter-spacing:-.04em}.cart-count{background:var(--yellow);border:2px solid var(--navy2);width:38px;height:38px;display:grid;place-content:center;font-weight:900}.cart-empty{background:var(--paper);padding:13px;font-size:.84rem;color:var(--muted)}.cart-items{display:grid;gap:5px;max-height:260px;overflow:auto}.cart-line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-bottom:1px dotted #93a2aa}.cart-line div{display:flex;flex-direction:column}.cart-line span{font-size:.75rem;color:var(--muted)}.cart-line strong{font-size:.82rem}.cart-total{display:flex;justify-content:space-between;align-items:end;border-top:2px solid var(--navy2);border-bottom:2px solid var(--navy2);padding:15px 0;margin-top:12px}.cart-total span{font-size:.74rem;font-weight:700}.cart-total strong{font-family:"Archivo Black",sans-serif;color:var(--navy);font-size:1.5rem}.fulfillment{border:0;padding:17px 0 6px;margin:0;display:grid;gap:7px}.fulfillment legend{font-size:.64rem;letter-spacing:.12em;font-weight:900;color:var(--muted);margin-bottom:5px}.fulfillment label{font-size:.84rem;display:flex;gap:8px;align-items:center}.delivery-fields,.notes-field{display:grid;gap:5px;font-size:.64rem;letter-spacing:.08em;font-weight:900;margin-top:11px;color:var(--muted)}.delivery-fields input,.notes-field textarea{width:100%;border:2px solid var(--navy2);background:#fff;padding:9px;outline:0;color:var(--ink)}.delivery-fields small{font-weight:500;letter-spacing:0}.btn-whatsapp{width:100%;margin-top:15px;background:#25d366;color:#073b25;border:2px solid #073b25}.btn-whatsapp:disabled{opacity:.45;cursor:not-allowed}.fine-print{font-size:.66rem;color:var(--muted);margin-bottom:0}
.visit{display:grid;grid-template-columns:1.15fr .85fr;background:var(--ice);border-top:3px solid var(--navy);border-bottom:3px solid var(--navy)}.map-wrap{min-height:620px;border-right:3px solid var(--navy)}.map-wrap iframe{width:100%;height:100%;border:0}.visit-copy{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.visit h2{font-size:clamp(4rem,6.5vw,7rem);margin:18px 0 24px;color:var(--navy)}.visit-copy>p{color:var(--muted)}.address{font-size:1.14rem;color:var(--navy)!important;font-weight:800}.visit-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.social-links{display:grid;gap:8px;margin-top:24px}.social-links a{text-decoration:none;border-top:2px solid var(--navy);padding:12px 0;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px}.social-links a:last-child{border-bottom:2px solid var(--navy)}.social-icon{width:30px;height:30px;border:2px solid var(--navy);display:grid;place-content:center;font-weight:900}.social-links small{color:var(--muted)}

.reservation-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.72fr);
  background:var(--navy2);
  color:#fff;
  border-bottom:3px solid var(--navy);
  min-height:720px
}
.reservation-banner{
  position:relative;
  overflow:hidden;
  padding:90px max(48px,7vw);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    linear-gradient(135deg,rgba(5,48,80,.96),rgba(7,79,118,.9)),
    repeating-linear-gradient(135deg,transparent 0 24px,rgba(255,255,255,.035) 24px 26px)
}
.reservation-banner:before{
  content:"";
  position:absolute;
  width:430px;height:430px;
  border:70px solid rgba(20,192,196,.16);
  border-radius:50%;
  right:-185px;top:-135px
}
.reservation-banner:after{
  content:"";
  position:absolute;
  width:170px;height:170px;
  border:28px solid rgba(255,209,84,.16);
  border-radius:50%;
  left:-85px;bottom:-65px
}
.reservation-banner>*{position:relative;z-index:1}
.reservation-kicker{
  margin:26px 0 4px;
  color:var(--yellow);
  font-size:.76rem;
  letter-spacing:.2em;
  font-weight:900
}
.reservation-banner h2{
  font-family:"Archivo Black",sans-serif;
  font-size:clamp(4rem,6.8vw,7.6rem);
  line-height:.86;
  letter-spacing:-.065em;
  text-transform:uppercase;
  margin:10px 0 28px;
  max-width:800px
}
.reservation-banner h2 span{color:var(--cyan)}
.reservation-lead{
  max-width:650px;
  font-size:1.05rem;
  color:#c9dce6;
  margin:0
}
.reservation-notes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:46px;
  border-top:1px solid rgba(255,255,255,.24);
  border-bottom:1px solid rgba(255,255,255,.24)
}
.reservation-notes div{
  padding:18px 18px 18px 0;
  display:flex;
  flex-direction:column;
  gap:3px
}
.reservation-notes div+div{
  border-left:1px solid rgba(255,255,255,.24);
  padding-left:18px
}
.reservation-notes strong{
  color:#fff;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.09em
}
.reservation-notes span{color:#9fb9c7;font-size:.8rem}
.reservation-card{
  margin:58px 5vw 58px 0;
  align-self:center;
  background:#fffdf7;
  color:var(--ink);
  border:3px solid #071f34;
  padding:28px;
  box-shadow:13px 13px 0 var(--cyan);
  position:relative
}
.reservation-card:before,.reservation-card:after{
  content:"";
  position:absolute;
  left:-15px;
  width:28px;height:28px;
  background:var(--navy2);
  border-radius:50%;
  border-right:3px solid #071f34
}
.reservation-card:before{top:31%}
.reservation-card:after{bottom:31%}
.reservation-card-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-bottom:12px;
  border-bottom:2px dashed #899aa3;
  font-size:.62rem;
  letter-spacing:.14em;
  font-weight:900
}
.reservation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 15px;
  padding:24px 0
}
.reservation-grid label{
  display:grid;
  gap:7px
}
.reservation-grid label>span{
  font-size:.64rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--muted)
}
.reservation-grid input,
.reservation-grid select,
.reservation-grid textarea{
  width:100%;
  border:0;
  border-bottom:2px solid var(--navy2);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  padding:10px 3px;
  outline:0
}
.reservation-grid select{cursor:pointer}
.reservation-grid input:focus,
.reservation-grid select:focus,
.reservation-grid textarea:focus{border-color:var(--cyan)}
.reservation-wide{grid-column:1/-1}
.reservation-status{
  min-height:22px;
  margin:-5px 0 12px;
  font-size:.8rem;
  font-weight:700;
  color:#b23030
}
.reservation-submit{
  width:100%;
  border:3px solid var(--navy2);
  background:var(--yellow);
  color:var(--navy2);
  min-height:58px;
  padding:12px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow:6px 6px 0 var(--navy2)
}
.reservation-submit:hover{
  transform:translate(-2px,-2px);
  box-shadow:8px 8px 0 var(--navy2)
}
.reservation-fine{
  color:var(--muted);
  font-size:.68rem;
  margin:17px 0 0
}

.site-footer{background:var(--navy2);color:#d9e8ee;display:grid;grid-template-columns:180px 1fr auto;gap:40px;align-items:center;padding:42px max(24px,calc((100vw - 1240px)/2));font-size:.8rem}.footer-logo{background:#fff;padding:10px;border:2px solid var(--cyan)}.footer-logo img{width:150px;height:80px;object-fit:contain}.site-footer p{margin:3px 0;color:#a9c0cb}.footer-credit{text-align:right;display:grid;gap:7px}.footer-credit span{color:#91aab7}.footer-credit a{color:#fff;text-decoration:none}.mobile-cart-bar{display:none}
@media(max-width:1000px){.reservation-section{grid-template-columns:1fr 440px}.reservation-banner{padding-left:40px;padding-right:35px}.reservation-card{margin-right:28px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-left:40px;padding-right:35px}.hero h1{font-size:clamp(4.2rem,8.3vw,7.2rem)}.story{gap:40px}.menu-editorial{gap:45px}.order-layout{grid-template-columns:minmax(0,1fr) 330px}.visit-copy{padding:65px 40px}}
@media(max-width:760px){.reservation-section{grid-template-columns:1fr;min-height:0}.reservation-banner{padding:72px 18px}.reservation-banner h2{font-size:clamp(3.6rem,17vw,5.5rem)}.reservation-notes{grid-template-columns:1fr}.reservation-notes div+div{border-left:0;border-top:1px solid rgba(255,255,255,.24);padding-left:0}.reservation-card{margin:0 18px 78px;box-shadow:7px 7px 0 var(--cyan)}.reservation-card:before,.reservation-card:after{display:none}.reservation-grid{grid-template-columns:1fr}.reservation-wide{grid-column:auto}body{padding-bottom:76px}.nav-wrap{padding:8px 14px}.brand img{width:130px;height:50px}.menu-toggle{display:block}.main-nav{position:absolute;top:69px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:3px solid var(--navy);padding:8px;box-shadow:6px 6px 0 var(--cyan)}.main-nav.open{display:flex}.main-nav a{padding:11px}.nav-order{text-align:center;box-shadow:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:46px 18px}.hero-kicker{display:grid}.hero h1{font-size:clamp(4.1rem,20vw,6.6rem);margin:32px 0 26px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-image{min-height:520px}.info-ticket{right:16px;bottom:16px;width:calc(100% - 32px)}.ticker div{font-size:.88rem}.story{grid-template-columns:1fr;padding:72px 18px;gap:42px}.story-photo{min-height:470px}.story-copy{padding:35px 0}.story h2{font-size:3.7rem}.menu-editorial{grid-template-columns:1fr;padding:72px 18px;gap:45px}.menu-editorial h2{font-size:4rem}.menu-poster{max-width:480px;margin:auto;box-shadow:9px 9px 0 var(--cyan)}.order-section{padding:72px 14px 110px}.order-intro{display:block}.order-intro h2{font-size:3.8rem;margin:15px 0}.order-tools{align-items:stretch;flex-direction:column}.search-box{min-width:0;width:100%}.quick-chips{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.chip{white-space:nowrap}.order-layout{grid-template-columns:1fr}.menu-category summary{font-size:.98rem}.menu-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name price" "name qty";padding:13px 5px}.item-name{grid-area:name;padding-right:8px}.item-price{grid-area:price}.qty-control{grid-area:qty;justify-self:end}.cart-panel{position:relative;top:auto;box-shadow:6px 6px 0 var(--cyan)}.visit{grid-template-columns:1fr}.map-wrap{min-height:400px;border-right:0;border-bottom:3px solid var(--navy)}.visit-copy{padding:65px 18px}.visit h2{font-size:4rem}.social-links a{grid-template-columns:36px 1fr}.social-links small{grid-column:2}.site-footer{grid-template-columns:1fr;padding:35px 20px 95px}.footer-logo{width:180px}.footer-credit{text-align:left}.mobile-cart-bar{display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:70}.mobile-cart-bar button{width:100%;border:3px solid var(--navy2);background:var(--yellow);color:var(--navy2);box-shadow:5px 5px 0 var(--navy2);padding:13px 15px;display:grid;grid-template-columns:1fr auto auto;gap:12px;font-weight:800}.mobile-cart-bar button span:last-child{font-size:.72rem}}
@media(max-width:420px){.reservation-banner h2{font-size:3.55rem}.reservation-card{margin-left:12px;margin-right:12px;padding:22px 18px}.hero h1{font-size:4.3rem}.story h2,.menu-editorial h2,.order-intro h2,.visit h2{font-size:3.25rem}.hero-image{min-height:450px}.story-photo{min-height:420px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.item-note{display:block;margin-top:3px;color:#718592;font-size:.7rem;font-weight:500;line-height:1.35}
.menu-row.selected .item-note{color:#4f7476}
