:root{
  --atl:#0d3d4f; --atl-2:#0a2f3e; --cream:#f4ecda; --cream-2:#efe4cc;
  --sol:#e8a33d; --sol-deep:#c8892b; --ink:#122528;
  --disp:"Anton", sans-serif;
  --serif:"Fraunces", Georgia, serif;
  --sans:"Archivo", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17.5px/1.7 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1340px;margin:0 auto;padding:0 clamp(22px,4vw,56px)}

/* ---------- header ---------- */
header.over{position:absolute;top:0;left:0;right:0;z-index:10}
header.solid{position:sticky;top:0;z-index:20;background:var(--atl);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.mast{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}
header.solid .mast{padding:14px 0}
.mast .logo img{height:clamp(70px,6.4vw,88px);filter:brightness(0) invert(1)}
header.solid .mast .logo img{height:clamp(60px,5vw,72px)}
.mast nav{display:flex;gap:30px;font:600 14px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
.mast nav a{opacity:.85}.mast nav a:hover{opacity:1}
.mast nav a.on{opacity:1;border-bottom:2px solid var(--sol);padding-bottom:5px}
.mast .res{font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;background:var(--sol);color:var(--ink);padding:17px 30px}
.mast .res:hover{background:var(--cream);transition:background .2s}

/* ---------- hero (home) ---------- */
.hero{background:var(--atl);color:var(--cream);position:relative;padding:clamp(150px,20vh,210px) 0 0;overflow:hidden}
.hero .kick{font:600 clamp(14px,1.2vw,17px)/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sol);text-align:center;margin:0}
.hero h1{font-family:var(--disp);font-size:clamp(46px,8.6vw,128px);line-height:1.04;text-align:center;margin:30px 0 0;letter-spacing:.01em;text-transform:uppercase;color:var(--cream)}
.hero h1 .sem{display:block;font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;font-size:clamp(26px,3.6vw,54px);color:var(--sol);letter-spacing:0;margin-top:14px}
.hero .tag{font:italic 400 clamp(19px,2.2vw,28px)/1.45 var(--serif);text-align:center;color:#bcd6dd;margin:26px auto 0;max-width:720px;padding:0 22px}
.hero .heroph{margin-top:clamp(48px,7vh,84px);position:relative}
.hero .heroph .ph{height:clamp(340px,56vh,560px);overflow:hidden}
.hero .heroph img{width:100%;height:100%;object-fit:cover}
.hero .heroph .stamp{position:absolute;top:-54px;right:clamp(24px,6vw,90px);width:120px;height:120px;border-radius:50%;background:var(--sol);color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;font:700 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;transform:rotate(8deg);box-shadow:0 18px 40px rgba(0,0,0,.3);padding:14px;z-index:3}

/* wave divider */
.wave{display:block;width:100%;height:60px}

/* ---------- cozinha board ---------- */
.cozinha{padding:clamp(80px,11vh,130px) 0 0}
.cozinha h2{font-family:var(--disp);text-transform:uppercase;letter-spacing:.01em;line-height:.92;margin:0;font-size:clamp(56px,9vw,130px);color:var(--atl)}
.cozinha h2 .sol{color:var(--sol-deep)}
.cozinha .intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.cozinha .intro p{max-width:440px;font-size:18px;color:#41565a;margin:0 0 8px}
.board{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.8vw,26px);margin-top:clamp(40px,6vh,64px)}
.card{position:relative;overflow:hidden}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.6,.2,1)}
.card:hover img{transform:scale(1.05)}
.card .lab{position:absolute;left:0;bottom:0;background:var(--cream);padding:12px 20px 10px;font:700 clamp(15px,1.3vw,19px)/1.2 var(--sans);text-transform:uppercase;letter-spacing:.06em}
.card .lab i{display:block;font:italic 400 14px/1.4 var(--serif);text-transform:none;letter-spacing:0;color:#5c6f73}
.card.c1{grid-column:1/7;aspect-ratio:16/11}
.card.c2{grid-column:7/10;aspect-ratio:4/5.6}
.card.c3{grid-column:10/13;aspect-ratio:4/5.6}
.card.c4{grid-column:1/4;aspect-ratio:4/5}
.card.c5{grid-column:4/9;aspect-ratio:16/10;align-self:end}
.card.c6{grid-column:9/13;aspect-ratio:4/5;background:var(--atl);display:flex;align-items:center;justify-content:center;text-align:center;padding:30px}
.card.c6 .in{color:var(--cream)}
.card.c6 .in .big{font:italic 400 clamp(24px,2.4vw,34px)/1.3 var(--serif)}
.card.c6 .in a{display:inline-block;margin-top:22px;font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--sol);color:var(--sol);padding:15px 26px}
.card.c6 .in a:hover{background:var(--sol);color:var(--ink)}

/* ---------- beber (sol block) ---------- */
.beber{margin-top:clamp(80px,11vh,130px);background:var(--sol);color:var(--ink);position:relative}
.beber .in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(36px,5vw,80px);align-items:center;padding:clamp(72px,10vh,110px) 0}
.beber h2{font-family:var(--disp);font-size:clamp(52px,7.6vw,110px);line-height:.9;text-transform:uppercase;margin:0;color:var(--atl-2)}
.beber .lede{font-size:19px;max-width:520px;color:#4a3a1d}
.beber .list{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;font:italic 500 19px/1.6 var(--serif)}
.beber .ph{aspect-ratio:4/5;overflow:hidden;box-shadow:24px 24px 0 rgba(18,37,40,.16)}
.beber .ph img{width:100%;height:100%;object-fit:cover}
.beber .golink{display:inline-block;margin-top:28px;font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--atl-2);color:var(--atl-2);padding:15px 26px}
.beber .golink:hover{background:var(--atl-2);color:var(--cream)}

/* ---------- barco full-bleed ---------- */
.barco{position:relative;color:var(--cream);overflow:hidden}
.barco .bg{position:absolute;inset:0}
.barco .bg img{width:100%;height:100%;object-fit:cover}
.barco .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,47,62,.25),rgba(10,47,62,.78))}
.barco .in{position:relative;z-index:2;padding:clamp(130px,22vh,240px) 0 clamp(72px,10vh,110px)}
.barco .k{font:600 15px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sol)}
.barco h2{font-family:var(--disp);font-size:clamp(58px,9vw,140px);line-height:.9;text-transform:uppercase;margin:14px 0 0}
.barco p.txt{max-width:560px;font-size:19px;line-height:1.7;color:#e5ecec;margin:28px 0 0}
.barco p.txt em{font-family:var(--serif);font-style:italic;color:var(--sol)}
.barco .golink{display:inline-block;margin-top:30px;font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--sol);color:var(--sol);padding:15px 26px}
.barco .golink:hover{background:var(--sol);color:var(--ink)}

/* ---------- almoco strip ---------- */
.almoco{background:var(--atl);color:var(--cream)}
.almoco .in{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:30px 0;flex-wrap:wrap}
.almoco .t{font-family:var(--disp);text-transform:uppercase;font-size:clamp(22px,2.6vw,34px);letter-spacing:.02em}
.almoco .d{font:italic 400 17px/1.5 var(--serif);color:#bcd6dd;max-width:520px}

/* ---------- visitar ---------- */
.visit{padding:clamp(80px,11vh,130px) 0}
.visit .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,90px)}
.visit h2{font-family:var(--disp);font-size:clamp(56px,8vw,120px);line-height:.9;text-transform:uppercase;color:var(--atl);margin:0}
.visit .phone{display:inline-block;font-family:var(--disp);font-size:clamp(28px,3vw,44px);color:var(--sol-deep);margin:26px 0 0;letter-spacing:.02em}
.visit .rows{margin-top:30px;border-top:3px solid var(--ink)}
.visit .row{display:flex;justify-content:space-between;gap:22px;padding:16px 2px;border-bottom:1px solid rgba(18,37,40,.25);font-size:18px}
.visit .row .k{font:700 14px/1.7 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:#4c5f63}
.visit .row .v{font:italic 500 19px/1.5 var(--serif);text-align:right}
.visit .row .closed{color:var(--sol-deep)}
.visit .cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.btn{font:700 15px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:19px 34px;background:var(--atl);color:var(--cream);display:inline-block}
.btn:hover{background:var(--sol);color:var(--ink);transition:background .2s}
.btn.ghost{background:transparent;border:2px solid var(--atl);color:var(--atl)}
.btn.ghost:hover{background:var(--atl);color:var(--cream)}
.visit .ph{overflow:hidden;min-height:440px}
.visit .ph img{width:100%;height:100%;object-fit:cover}

/* ---------- footer ---------- */
footer{background:var(--atl-2);color:#cfe0e4;padding:64px 0 40px}
footer .in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer img{height:100px;filter:brightness(0) invert(1)}
footer .cap{font:italic 400 16px/1.9 var(--serif)}
footer nav{display:flex;gap:24px;font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
footer nav a{opacity:.8}footer nav a:hover{opacity:1}

/* ---------- interior page hero ---------- */
.page-hero{padding:clamp(64px,9vh,110px) 0 clamp(28px,4vh,44px)}
.page-hero .k{font:600 15px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sol-deep)}
.page-hero h1{font-family:var(--disp);font-size:clamp(52px,8.6vw,124px);line-height:.92;text-transform:uppercase;color:var(--atl);margin:12px 0 0}
.page-hero .note{font:italic 400 19px/1.6 var(--serif);color:#41565a;max-width:640px;margin:24px 0 0}
.page-hero .note b{font-style:normal;color:var(--sol-deep)}

/* ---------- carta ---------- */
.menu{padding:clamp(30px,4vh,48px) 0 40px}
.menu-cols{columns:2;column-gap:64px}
.menu-sec{break-inside:avoid;margin-bottom:42px}
.menu-sec h2{font-family:var(--disp);font-size:26px;letter-spacing:.02em;text-transform:uppercase;color:var(--atl);margin:0 0 4px}
.menu-sec .sub{font:italic 400 15.5px/1.5 var(--serif);color:#5c6f73;margin-bottom:12px;display:block}
.menu-item{display:flex;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid rgba(18,37,40,.16)}
.menu-item .nm{color:var(--ink);font-size:16.5px;line-height:1.45}
.menu-item .nm small{display:block;color:#5c6f73;font-size:14px;font-family:var(--serif);font-style:italic;margin-top:2px}
.menu-item .pr{margin-left:auto;font:500 17px/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--sol-deep);white-space:nowrap}
.menu-divider{margin:clamp(40px,6vh,64px) 0 0;background:var(--atl);color:var(--cream)}
.menu-divider .in{padding:clamp(44px,6vh,64px) 0}
.menu-divider .k{font:600 14px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sol)}
.menu-divider h2{font-family:var(--disp);font-size:clamp(40px,5.6vw,76px);line-height:.94;text-transform:uppercase;margin:10px 0 0}
.menu-back{text-align:center;padding:30px 0 100px}

/* ---------- sobre ---------- */
.story{padding:clamp(40px,6vh,72px) 0 0}
.story .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,90px);align-items:center;margin-bottom:clamp(64px,9vh,110px)}
.story .split .ph{overflow:hidden;aspect-ratio:4/3.4}
.story .split .ph img{width:100%;height:100%;object-fit:cover}
.story .split.rev .ph{order:2}
.story h2{font-family:var(--disp);font-size:clamp(40px,5vw,72px);line-height:.94;text-transform:uppercase;color:var(--atl);margin:0 0 20px}
.story .k{font:600 14px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sol-deep);display:block;margin-bottom:12px}
.story p{color:#3d5257;margin:0 0 16px;max-width:520px}
.tbc{background:rgba(255,247,232,.94);border:1px dashed var(--sol-deep);border-radius:2px;font:italic 400 .9em/1.6 var(--serif);color:#5c4326;padding:2px 7px}
.review-note{max-width:780px;margin:0 auto;padding:24px 28px;background:var(--cream-2);border:1px dashed var(--sol-deep);font:italic 400 15.5px/1.65 var(--serif);color:#6b4f22}
.review-note b{font-style:normal;color:var(--ink)}

/* ---------- 404 ---------- */
.nf{min-height:80vh;background:var(--atl);color:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}
.nf h1{font-family:var(--disp);font-size:clamp(70px,14vw,180px);margin:0;line-height:1}
.nf p{font:italic 400 20px/1.6 var(--serif);color:#bcd6dd}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

@media(max-width:960px){
  .mast nav{display:none}
  .board{grid-template-columns:1fr 1fr}
  .card.c1{grid-column:1/3;aspect-ratio:16/10}
  .card.c2{grid-column:1/2}.card.c3{grid-column:2/3}
  .card.c4{grid-column:1/2}.card.c5{grid-column:1/3;order:7}.card.c6{grid-column:2/3}
  .card.c2,.card.c3,.card.c4,.card.c6{aspect-ratio:4/5}
  .beber .in,.visit .grid,.story .split{grid-template-columns:1fr}
  .story .split.rev .ph{order:0}
  .beber .ph{box-shadow:14px 14px 0 rgba(18,37,40,.16)}
  .visit .ph{min-height:300px;order:2}
  .menu-cols{columns:1}
}
@media(max-width:560px){
  .board{grid-template-columns:1fr}
  .card.c1,.card.c2,.card.c3,.card.c4,.card.c5,.card.c6{grid-column:1/2;aspect-ratio:4/3}
  .beber .list{grid-template-columns:1fr}
}
