:root{
  --bg:#0b0b0c;--bg-2:#161617;--bg-3:#1d1d1f;
  --ink:#f4f1ea;--ink-soft:#a6a29a;--ink-dim:#726f68;
  --line:#2a2a2d;--line-2:#38383c;
  --gold:#c2a15f;--gold-soft:#d8bd84;--card:#131314;
  --display:"Archivo Black",Impact,sans-serif;
  --alt:"Archivo",-apple-system,system-ui,sans-serif;
  --body:"Hanken Grotesk",-apple-system,system-ui,sans-serif;
  --maxw:1140px;color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;line-height:1.02}
p{margin:0}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:22px}
.logo-img{display:block;mix-blend-mode:screen}
.eyebrow{font:700 11px/1 var(--body);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:11px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:8px;font:700 12.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:13px 22px;cursor:pointer;border:1px solid var(--ink);transition:.14s ease;background:none;color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn-fill{background:var(--ink);color:var(--bg)}
.btn-fill:hover{background:transparent;color:var(--ink)}
.btn-gold{border-color:var(--gold);color:var(--gold)}
.btn-gold:hover{background:var(--gold);color:var(--bg)}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:16px;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo-img{width:46px;height:46px}
.nav-links{display:flex;gap:2px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.nav-links a{font:700 12px/1 var(--body);letter-spacing:.12em;color:var(--ink-soft);padding:10px 12px;text-transform:uppercase;position:relative;display:block}
.nav-links a:hover{color:var(--ink)}
.nav-links .current-menu-item a,.nav-links .current_page_item a{color:var(--ink)}
.nav-links .current-menu-item a::after,.nav-links .current_page_item a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--gold)}
.nav-toggle{display:none;background:none;border:1px solid var(--line-2);color:var(--ink);padding:8px 12px;cursor:pointer;font-size:18px}

/* HERO */
.hero{position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(90% 120% at 85% -10%,rgba(194,161,95,.14),transparent 55%),radial-gradient(70% 90% at 0% 110%,rgba(255,255,255,.05),transparent 60%)}
.hero-in{position:relative;max-width:var(--maxw);margin:0 auto;padding:64px 22px 56px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(40px,6.6vw,74px);letter-spacing:-.01em;line-height:.95}
.hero h1 .g{color:var(--gold)}
.hero .lede{margin-top:22px;font-size:18px;color:var(--ink-soft);max-width:46ch}
.hero .actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}
.hero .meta{margin-top:34px;display:flex;flex-wrap:wrap;border-top:1px solid var(--line)}
.hero .meta div{padding:16px 22px 0 0;margin-right:22px;border-right:1px solid var(--line);font-size:13px;color:var(--ink-soft)}
.hero .meta div:last-child{border-right:0}
.hero .meta b{display:block;font-family:var(--alt);font-weight:700;font-size:18px;color:var(--ink);text-transform:uppercase;letter-spacing:.02em}
.hero-photo{aspect-ratio:4/5;position:relative;overflow:hidden;border:1px solid var(--line-2);background:linear-gradient(160deg,#1c1c1e,#0e0e0f);display:grid;place-items:center}
.hero-photo .logo-img{width:58%;opacity:.9}
.hero-photo img.real{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;mix-blend-mode:normal}
.photo-tag{position:absolute;inset:auto 0 0 0;padding:12px 16px;font-size:11.5px;letter-spacing:.05em;color:var(--ink-dim);background:linear-gradient(transparent,rgba(0,0,0,.5))}

.band{padding:64px 0;border-bottom:1px solid var(--line)}
.band.alt{background:var(--bg-2)}
.band h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(26px,4.2vw,42px);margin-top:14px;letter-spacing:-.005em}
.lead{color:var(--ink-soft);font-size:17px;max-width:62ch;margin-top:16px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border:1px solid var(--line)}
.card{padding:28px 26px;border-right:1px solid var(--line)}
.card:last-child{border-right:0}
.card .num{font-family:var(--display);font-size:14px;color:var(--gold);letter-spacing:.1em}
.card h3{font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:20px;margin:14px 0 10px;letter-spacing:.02em}
.card p{color:var(--ink-soft);font-size:14.5px}

.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:34px;background:var(--line);border:1px solid var(--line)}
.strip .it{padding:22px 20px;background:var(--bg)}
.strip .it span{font:700 10.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.strip .it b{display:block;font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:16px;margin-top:12px}
.strip .it p{color:var(--ink-soft);font-size:13px;margin-top:4px}

/* CARTA */
.menu-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;flex-wrap:wrap}
.season{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);flex-wrap:wrap}
.season button{font:700 11.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;border:0;background:var(--bg);padding:12px 16px;cursor:pointer;color:var(--ink-soft)}
.season button.active{background:var(--ink);color:var(--bg)}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 54px;margin-top:40px}
.menu-cat h3{font-family:var(--display);text-transform:uppercase;font-size:19px;letter-spacing:.03em;padding-bottom:12px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline}
.menu-cat h3 span{font-family:var(--body);font-size:10px;letter-spacing:.24em;color:var(--gold);font-weight:700}
.dish{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:15px 0;border-bottom:1px solid var(--line)}
.dish .n{font-family:var(--alt);font-weight:600;font-size:16.5px}
.dish .pr{font-family:var(--alt);font-weight:700;color:var(--gold);white-space:nowrap}
.dish .d{grid-column:1/-1;color:var(--ink-soft);font-size:13.5px}
.alg{display:inline-flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.alg i{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-2);padding:2px 6px}
.legend{margin-top:38px;padding:20px 22px;border:1px solid var(--line);font-size:12.5px;color:var(--ink-soft)}
.legend b{color:var(--ink)}
.season-block{display:none}
.season-block.active{display:block}

/* NOSOTROS */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:10px}
.figbox{aspect-ratio:5/4;position:relative;overflow:hidden;border:1px solid var(--line-2);background:linear-gradient(160deg,#1b1b1d,#0d0d0e);display:grid;place-items:center}
.figbox .logo-img{width:52%;opacity:.85}
.figbox img.real{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.values{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border:1px solid var(--line)}
.value{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.value:nth-child(2n){border-right:0}
.value:nth-child(n+3){border-bottom:0}
.value b{font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:15px;letter-spacing:.03em}
.value p{color:var(--ink-soft);font-size:13.5px;margin-top:6px}

/* EVENTOS */
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.ev{border:1px solid var(--line);background:var(--card)}
.ev .cover{aspect-ratio:16/10;background:linear-gradient(150deg,#232326,#0e0e0f);position:relative;display:grid;place-items:center;overflow:hidden}
.ev .cover .logo-img{width:44%;opacity:.55}
.ev .cover img.real{width:100%;height:100%;object-fit:cover}
.ev .cover .date{position:absolute;top:0;left:0;background:var(--ink);color:var(--bg);padding:8px 12px;text-align:center;font-family:var(--display);line-height:1}
.ev .cover .date b{display:block;font-size:20px}
.ev .cover .date span{font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.ev .body{padding:20px}
.ev .body h3{font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:18px;letter-spacing:.02em}
.ev .body p{color:var(--ink-soft);font-size:14px;margin-top:8px}
.ev .body .tag{display:inline-block;margin-top:14px;font:700 10.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* GALERIA */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:10px;margin-top:32px}
.gal .g{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#202022,#0e0e0f)}
.gal .g:nth-child(3n){background:linear-gradient(135deg,#2b2b2e,#141416)}
.gal .g img{width:100%;height:100%;object-fit:cover;display:block}
.gal .g.tall{grid-row:span 2}
.gal .g span{position:absolute;left:10px;bottom:9px;font-size:10.5px;letter-spacing:.05em;color:var(--ink-dim);background:rgba(0,0,0,.45);padding:3px 8px}

/* integraciones */
.intg{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.intg .box{border:1px solid var(--line);background:var(--card)}
.intg .box .top{padding:16px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase}
.intg .box .cont{padding:16px 18px;color:var(--ink-soft);font-size:13px;min-height:118px}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.ig-grid i{display:block;aspect-ratio:1;background:linear-gradient(135deg,#2a2a2d,#0f0f10)}
.stars{color:var(--gold);font-size:14px;letter-spacing:2px}
.review{padding:10px 0;border-bottom:1px solid var(--line)}
.review:last-child{border:0}
.review b{color:var(--ink);font-size:13px}
.mapbox{aspect-ratio:16/9;background:repeating-linear-gradient(45deg,var(--bg-2),var(--bg-2) 12px,var(--bg-3) 12px,var(--bg-3) 24px);display:grid;place-items:center;color:var(--ink-dim);font-size:12.5px;border:1px solid var(--line);text-align:center;padding:10px}
.mapbox iframe{width:100%;height:100%;border:0}

/* CONTACTO / FORMS */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:18px}
.cf{display:grid;gap:15px}
.cf label{font:700 11px/1 var(--body);letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase}
.cf input,.cf textarea,.cf select{width:100%;font:400 15px/1.4 var(--body);color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);padding:13px 14px;margin-top:7px;-webkit-appearance:none;appearance:none;border-radius:0}
.cf input:focus,.cf textarea:focus,.cf select:focus{outline:none;border-color:var(--gold)}
.cf .row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.info-list{display:grid;gap:20px}
.info-list .r{display:flex;gap:15px;align-items:flex-start}
.info-list .r .k{width:42px;height:42px;border:1px solid var(--line-2);color:var(--gold);display:grid;place-items:center;font-size:17px;flex:none}
.info-list .r b{font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.03em}
.info-list .r p{color:var(--ink-soft);font-size:14px;margin-top:3px}
.socials{display:flex;gap:10px;margin-top:8px}
.socials a{width:42px;height:42px;border:1px solid var(--line-2);display:grid;place-items:center;font:700 12px/1 var(--body);letter-spacing:.05em;color:var(--ink)}
.socials a:hover{background:var(--ink);color:var(--bg)}
.notice{padding:14px 16px;border:1px solid var(--gold);background:rgba(194,161,95,.08);font-size:14px;margin-bottom:8px}
.notice.err{border-color:#6a2c2c;background:rgba(209,106,106,.08)}

/* RESERVAS front */
.resv{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;margin-top:26px;align-items:start}
.avail{margin-top:4px;padding:13px 15px;border:1px solid var(--line-2);font-size:13.5px;color:var(--ink-soft);display:flex;align-items:center;gap:10px}
.avail b{font-family:var(--alt);font-weight:700;color:var(--ink)}
.avail .dot{width:9px;height:9px;border-radius:50%;background:var(--ink-dim);flex:none}
.avail.ok{border-color:#3c5a3c;color:var(--ink)}.avail.ok .dot{background:#6fbf73}
.avail.low{border-color:#6a5a2c;color:var(--ink)}.avail.low .dot{background:var(--gold)}
.avail.full{border-color:#6a2c2c;color:var(--ink)}.avail.full .dot{background:#d16a6a}
.resv-panel{border:1px solid var(--line);background:var(--card)}
.rp-head{font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.08em;padding:16px 18px;border-bottom:1px solid var(--line)}
.rp-caps{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.rp-cap{background:var(--card);padding:16px 18px}
.rp-cap .t{font:700 10.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.rp-cap .big{font-family:var(--display);font-size:26px;margin-top:8px}
.rp-cap .big small{font-family:var(--body);font-size:13px;color:var(--ink-dim);font-weight:400}
.rp-bar{height:5px;background:var(--bg-3);margin-top:9px;overflow:hidden}
.rp-bar i{display:block;height:100%;background:var(--gold)}
.rp-note{padding:14px 18px;color:var(--ink-dim);font-size:11.5px;line-height:1.6}

/* FOOTER */
.site-footer{background:#050505;color:var(--ink-soft);padding:52px 0 34px;border-top:1px solid var(--line)}
.site-footer .flogo{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.site-footer .flogo .logo-img{width:56px;height:56px}
.site-footer .fin{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px;margin-top:20px}
.site-footer h4{font-family:var(--alt);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.1em;color:var(--ink);margin-bottom:12px}
.site-footer a{color:var(--ink-soft);display:block;padding:4px 0;font-size:14px}
.site-footer a:hover{color:var(--gold)}
.site-footer .legalrow{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-dim)}

.page-content{max-width:var(--maxw);margin:0 auto;padding:48px 22px}
.page-content h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(28px,5vw,46px);margin-bottom:24px}
.page-content h2{font-family:var(--alt);font-weight:700;text-transform:uppercase;margin:28px 0 12px}
.page-content p{color:var(--ink-soft);margin-bottom:14px}
.page-content a{color:var(--gold);text-decoration:underline}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--bg);padding:13px 22px;font-size:13.5px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:80}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media (max-width:860px){
  .hero-in{grid-template-columns:1fr;gap:32px}.hero-photo{max-width:340px}
  .cards{grid-template-columns:1fr}.card{border-right:0;border-bottom:1px solid var(--line)}.card:last-child{border-bottom:0}
  .events,.intg{grid-template-columns:1fr 1fr}
  .menu-grid,.split,.contact,.resv{grid-template-columns:1fr}
  .strip{grid-template-columns:1fr 1fr}.gal{grid-template-columns:repeat(2,1fr)}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:8px 12px}
  .nav-links.open{display:flex}.nav-toggle{display:block}
}
@media (max-width:520px){
  .events,.intg,.strip{grid-template-columns:1fr}.cf .row{grid-template-columns:1fr}
  .site-footer .fin{grid-template-columns:1fr}.hero .meta div{border-right:0;margin-right:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
