@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/fraunces-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/fraunces-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/fraunces-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/fraunces-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/fraunces-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/fraunces-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Yellowtail';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/yellowtail-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Yellowtail';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/yellowtail-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:#16130f;          /* techo oscuro del local */
  --bg-2:#1e1a15;
  --card:#25201a;
  --ink:#f3ebdd;
  --muted:#b3a893;
  --line:#3a3228;
  --terra:#d0713f;       /* butacas de pana */
  --terra-soft:#e6a27a;
  --olive:#5f6d43;
  --moss:#1a2319;         /* verd fosc de fons */
  --moss-2:#131b12;
  --sage:#9fb88f;         /* verd salvia (cadires de la terrassa) */
  --mint:#8ff0bd;       /* butacas verdes */
  --neon:#4dffa6;        /* neón Jardí 13 */
  --radius:16px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:72px;background:var(--bg)}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.01em}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* Neón */
.neon{font-family:Yellowtail,cursive;font-weight:400;color:#eafff4;
  text-shadow:0 0 4px #fff,0 0 12px var(--neon),0 0 28px var(--neon),0 0 60px rgba(77,255,166,.55)}
.brand{display:block;text-decoration:none;line-height:0}
.brand img{height:54px;width:auto}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 24px;transition:background .3s,box-shadow .3s}
.nav.solid{background:rgba(19,27,18,.9);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.nav nav{display:flex;align-items:center;gap:24px;font-size:.95rem}
.nav nav a{text-decoration:none;opacity:.85}
.nav nav a:hover{opacity:1}

.btn{display:inline-block;background:var(--terra);color:#1a120c!important;padding:13px 26px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;transition:transform .2s,background .2s;opacity:1!important}
.btn:hover{background:var(--terra-soft);transform:translateY(-2px)}
.btn-small{padding:8px 18px;font-size:.88rem}
.btn-ghost{background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px rgba(243,235,221,.5)}
.btn-ghost:hover{background:rgba(243,235,221,.12)}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.slider{position:absolute;inset:0;z-index:-2}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);opacity:0;transform:scale(1.04);transition:opacity .9s ease}
.slide.on{opacity:1;animation:drift 5s ease-out forwards}
@keyframes drift{from{transform:scale(1.04)}to{transform:scale(1.12)}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(19,27,18,.55) 0%,rgba(19,27,18,.1) 30%,rgba(19,27,18,.92) 100%)}
.hero-copy{padding:0 24px 9vh;max-width:1180px;margin:0 auto;width:100%}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600;margin-bottom:10px;color:var(--mint)}
.eyebrow.accent{color:var(--mint)}
.eyebrow.accent::after{content:"";display:inline-block;width:42px;height:1px;background:var(--olive);vertical-align:middle;margin-left:14px}
.hero h1{margin-bottom:12px;line-height:1}
.hero h1 .neon{font-size:clamp(4.2rem,15vw,9rem)}
.tagline{max-width:34ch;font-size:1.15rem;color:#e6dccb;margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
/* Escritorio: texto a la izquierda, fotos verticales a la derecha */
@media (min-width:900px){
  .slider{left:30%}
  .hero-shade{background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 28%,rgba(22,19,15,.4) 50%,rgba(22,19,15,.05) 80%),linear-gradient(180deg,rgba(22,19,15,.5) 0%,transparent 25%,transparent 75%,rgba(22,19,15,.5) 100%)}
  .hero{align-items:center}
  .hero-copy{padding:90px 24px 60px;max-width:1180px}
  .hero-copy>*{max-width:520px}
}

/* SECCIONES */
.section{padding:96px 0}
.section h2{font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.1;margin-bottom:16px}
.lead{max-width:56ch;color:var(--muted);font-size:1.08rem}

/* CARTA */
.carta{background:radial-gradient(900px 400px at 85% 0%,rgba(95,109,67,.28),transparent 70%),var(--moss);border-block:1px solid #2c3a2a}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:24px 0 8px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:1.5px solid #34452f;background:transparent;font-size:.92rem;font-weight:500;padding:9px 20px;border-radius:999px;cursor:pointer;transition:all .2s}
.tab:hover{border-color:var(--sage)}
.tab[aria-selected="true"]{background:var(--olive);border-color:var(--olive);color:#f6f3e8}
.tab{outline:none}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:999px}
:focus:not(:focus-visible){outline:none}
.menu{margin-top:20px}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 56px}
.msec+.msec{margin-top:44px}
.msec h4{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.5rem;color:var(--sage);margin:18px 0 6px;padding-bottom:10px;border-bottom:1px solid var(--olive)}
.msec.sized .mgrid{grid-template-columns:1fr;max-width:720px}
.sizes{display:flex;justify-content:flex-end;gap:18px;max-width:720px;padding:10px 0 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.sizes span,.prices .price{min-width:78px;text-align:right}
.prices{display:flex;gap:18px;margin-left:auto}
.dish{padding:18px 0;border-bottom:1px dashed #34452f}
.dish-head{display:flex;gap:12px;align-items:baseline}
.dish h3{font-size:1.2rem;font-weight:600}
.dish .price{font-weight:600;color:var(--mint);white-space:nowrap}
.dish p{color:#a9b39c;font-size:.93rem;margin-top:2px}
.note{margin-top:28px;color:var(--muted);font-size:.85rem}

/* CONTACTO */
.contact{background:radial-gradient(800px 380px at 8% 100%,rgba(95,109,67,.22),transparent 70%),var(--bg)}
.contact-grid>*{min-width:0}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.info{list-style:none;padding:0;margin:24px 0}
.info li{display:flex;flex-direction:column;padding:14px 0;border-bottom:1px solid #2f3b2a}
.info span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--sage)}
.info a,.info b{font-size:1.2rem;font-weight:500;text-decoration:none}
.info a:hover{color:var(--neon)}
.social{display:flex;flex-wrap:wrap;gap:10px}
.social a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--olive);background:rgba(95,109,67,.18);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .2s}
.social a:hover{border-color:var(--neon);color:var(--neon);box-shadow:0 0 18px -4px var(--neon)}
.social svg{width:18px;height:18px}
.map{position:relative;border-radius:22px;overflow:hidden;min-height:420px;border:1px solid var(--olive);box-shadow:0 24px 60px -24px rgba(0,0,0,.7),0 0 0 6px rgba(95,109,67,.18)}
.map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
.map-btn{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;background:var(--bg);color:var(--ink);padding:11px 20px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;box-shadow:0 8px 24px -8px rgba(0,0,0,.6);transition:background .2s,color .2s}
.map-btn:hover{background:var(--terra);color:#1a120c}
.map-ph{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:28px;background:radial-gradient(circle at 50% 40%,#2a241c,var(--bg-2))}
.map-ph p{font-family:Fraunces,serif;font-size:1.3rem}
.map-ph small{color:var(--muted);max-width:34ch;font-size:.8rem}
.map-ph small a{text-decoration:underline}

footer{background:var(--moss-2);padding:36px 0;border-top:1px solid #2c3a2a}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
footer small{color:var(--muted)}
.legal-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.88rem}
.legal-links a{color:var(--muted);text-decoration:none}
.legal-links a:hover{color:var(--ink);text-decoration:underline}

/* PÀGINES LEGALS */
.legal-page{padding:120px 0 80px}
.legal h1{font-size:clamp(2rem,6vw,3rem);margin-bottom:8px}
.legal .upd{color:var(--muted);font-size:.85rem;margin-bottom:36px}
.legal h2{font-size:1.35rem;margin:36px 0 10px;font-weight:600}
.legal p,.legal li{color:#d8cfbd;margin-bottom:12px}
.legal ul{padding-left:1.2em;margin-bottom:12px}
.legal a{color:var(--mint)}
.legal table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:.92rem}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.legal th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.pendent{background:rgba(208,113,63,.22);color:var(--terra-soft);padding:0 6px;border-radius:4px}
.back{display:inline-block;margin-bottom:28px;color:var(--muted);text-decoration:none;font-size:.9rem}
.back:hover{color:var(--neon)}

/* ANIMACIÓN */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .slide.on{animation:none}
}

/* TABLET / MÓVIL */
@media (max-width:760px){
  .nav nav a:not(.btn){display:none}
  .section{padding:64px 0}
  .mgrid{grid-template-columns:1fr}
  .social{flex-wrap:nowrap;gap:6px}
  .social a{flex:1 1 0;min-width:0;justify-content:center;gap:6px;padding:10px 4px;font-size:.78rem}
  .social a{white-space:nowrap}
  .social svg{width:15px;height:15px;flex:none}
  .sizes,.prices{gap:10px}
  .sizes span,.prices .price{min-width:66px}
  .contact{background:radial-gradient(800px 380px at 8% 100%,rgba(95,109,67,.22),transparent 70%),var(--bg)}
.contact-grid{grid-template-columns:1fr;gap:32px}
  .map,.map iframe{min-height:340px}
}

/* AVÍS DE COOKIES */
.cookie-banner{position:fixed;z-index:50;left:20px;bottom:20px;max-width:420px;background:var(--moss-2);border:1px solid var(--olive);border-radius:18px;padding:20px 22px;box-shadow:0 20px 60px -10px rgba(0,0,0,.8)}
.cookie-banner[hidden]{display:none}
.cookie-banner p{font-size:.9rem;color:#d8cfbd;margin-bottom:8px}
.cookie-banner p b{font-family:Fraunces,serif;font-size:1.15rem;color:var(--ink)}
.cookie-banner a{color:var(--mint)}
.cb-actions{display:flex;gap:10px;margin-top:14px}
.cb-actions .btn{flex:1;text-align:center;padding:11px 14px;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:.92rem}
.cb-actions .btn-ghost{box-shadow:inset 0 0 0 1.5px rgba(243,235,221,.5)}
.map-alt{color:var(--mint);font-size:.9rem}
.cookie-reopen{background:none;border:0;padding:0;font:inherit;font-size:.88rem;color:var(--muted);cursor:pointer}
.cookie-reopen:hover{color:var(--ink);text-decoration:underline}
@media (max-width:760px){.cookie-banner{left:12px;right:12px;bottom:12px;max-width:none}}
