:root{--clay:#8b3a2b;--cream:#f5f2eb;--paper:#fdfbf7;--ink:#2c221e;--muted:#655950;--sand:#e6dccd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,select{font:inherit;color:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #984621;outline-offset:5px}.contact a:focus-visible,.hero a:focus-visible{outline-color:#e9c176}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:white;padding:14px}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;background:var(--paper);min-height:90px;padding:14px 4%;display:flex;align-items:center;gap:28px;justify-content:space-between;border-bottom:1px solid #2c221e12}.brand{display:flex;gap:12px;align-items:center;font:25px/1.1 Georgia,serif;white-space:nowrap}.brand img{width:56px;height:56px;flex-shrink:0;object-fit:contain}.brand small{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:1.5px;margin-top:7px}.header nav{display:flex;gap:23px;font-size:12px}.header nav a{padding:12px 0}.header nav a:hover,.line-link:hover{color:var(--clay)}.nav-toggle{display:none}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:13px 24px;background:var(--clay);color:#fff;font-size:13px;border:1px solid transparent;border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#66291f;transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:var(--sand)}.button.outline{border-color:#fff8;background:transparent;color:white}.button.outline:hover{background:#ffffff20}.hero{position:relative;isolation:isolate;min-height:710px;height:calc(100svh - 90px);max-height:920px;color:white;background:var(--ink);overflow:hidden}.hero picture,.hero picture img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero picture{z-index:-2}.hero picture img{object-position:center 52%}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#21150fec 0%,#21150fa6 43%,#21150f18 100%),linear-gradient(0deg,#21150fb0,transparent 25%)}.hero-copy{padding:85px 7% 110px;max-width:850px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 25px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(56px,6.6vw,100px);letter-spacing:-3px}h2{font-size:clamp(38px,4.4vw,65px);letter-spacing:-1.8px}h3{font-size:32px;letter-spacing:-.6px}em{font-weight:400;color:var(--clay)}.hero em,.contact em{color:#ecc79b}.hero-copy>p:not(.eyebrow){max-width:430px;color:#f0e5d8;line-height:1.8;margin:30px 0}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-foot{position:absolute;bottom:32px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px}.hero-foot a{padding:6px}.section{padding:100px 7%;max-width:1800px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;position:relative}.intro:after{content:"";position:absolute;bottom:0;left:7%;right:7%;height:1px;background:var(--sand)}.intro>div:last-child p{color:var(--muted);margin:20px 0}.intro .lead{font:25px/1.45 Georgia,serif;color:var(--ink)!important;margin-top:0!important}.line-link{display:inline-block;font-size:13px;padding:11px 0;border-bottom:1px solid #ae9483}.kitchen{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:80px}.kitchen img{aspect-ratio:4/5;height:auto}.kitchen article:nth-child(2){padding-top:45px}.kitchen article:nth-child(3){padding-top:90px}.kitchen .eyebrow{margin:25px 0 12px;font-size:9px}.kitchen article>p:last-of-type{color:var(--muted);font-size:14px;max-width:330px}.menu-section{background:var(--cream);max-width:none}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head>p{color:var(--muted);max-width:330px;margin:0}.menu-toolbar{display:flex;align-items:center;gap:20px;border-block:1px solid #cfc3b5;padding:20px 0;margin-bottom:42px;flex-wrap:wrap}.menu-toolbar label{font-size:13px}.menu-toolbar select{background:var(--paper);border:1px solid #bfae9b;border-radius:2px;padding:12px 35px 12px 13px;min-height:48px;max-width:100%}.menu-photos{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}.photo-link{background:none;border:0;border-bottom:1px solid #bfae9b;padding:12px 0;font-size:12px}.menu-content{display:grid;grid-template-columns:1fr 1fr;gap:45px 7%;align-items:start}.menu-category[hidden]{display:none}.menu-category h3{font-size:28px;padding-bottom:18px;border-bottom:2px solid var(--clay)}.category-note{font-size:12px;color:var(--muted);margin:15px 0}.menu-category ul{padding:0;list-style:none;margin:8px 0 0}.menu-category li{display:grid;grid-template-columns:1fr auto;column-gap:15px;border-bottom:1px solid #ded5c8;padding:15px 0;line-height:1.4}.dish-name{font-size:14px}.dish-price{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.dish-detail{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.55}.menu-note{font-size:12px;color:var(--muted);border-top:1px solid #cfc3b5;margin:40px 0 0;padding-top:22px}.space-intro{display:grid;grid-template-columns:55% 45%;background:var(--ink);color:var(--cream)}.space-intro>img{height:650px;object-position:center}.space-intro>div{padding:80px 13%;align-self:center}.space-intro em{color:#dfb486}.space-intro p:not(.eyebrow){color:#ddcec1;margin:30px 0}.space-intro .line-link:hover{color:#ecc79b}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid button{border:0;padding:0;position:relative;background:var(--sand);text-align:left;overflow:hidden;cursor:zoom-in}.gallery-grid img{height:290px;transition:transform .4s}.gallery-grid button:first-child{grid-column:span 2}.gallery-grid button:nth-child(5){grid-column:span 2}.gallery-grid button span{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,#22180fb3);padding:35px 18px 18px;font-size:12px}.gallery-grid button:hover img{transform:scale(1.025)}.reviews{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;background:#e9dfd1;max-width:none}.reviews>div:last-child{align-self:center}.reviews p:not(.eyebrow){color:var(--muted);margin:0 0 25px}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.instagram-grid img{height:auto;aspect-ratio:1;object-fit:cover}.instagram-grid a{position:relative}.instagram-grid span{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 20px;background:linear-gradient(transparent,#21150fbf);color:#fff;font-size:13px}.small-note{font-size:12px;color:var(--muted)}.instagram>.small-note{margin-top:22px}.contact{background:var(--clay);color:var(--cream);display:grid;grid-template-columns:1.3fr 1fr;gap:12%;max-width:none}.contact>div>p:not(.eyebrow){margin:28px 0;color:#f1dfd4}.contact-details{border-left:1px solid #ffffff50;padding-left:45px;align-self:center}.contact-details>div+div{margin-top:35px}.contact-details .eyebrow{margin-bottom:12px}.phone{font:clamp(28px,3vw,45px) Georgia,serif}.contact address{font-style:normal;line-height:1.8}.contact .small-note{color:#ead1c2;margin:8px 0}.contact .line-link{border-color:#dec1af}.contact .line-link:hover{color:white}footer{padding:45px 7% 25px;background:var(--cream)}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-top>div{display:flex;gap:28px;font-size:12px}.footer-bottom{margin-top:35px;border-top:1px solid #d4c7b9;padding-top:20px;color:var(--muted);font-size:11px}.footer-bottom>div{display:flex;gap:22px}.footer-bottom p{margin:0}.mobile-actions{display:none}dialog{border:0;padding:0;max-width:92vw;background:var(--ink);color:var(--paper);border-radius:3px}dialog::backdrop{background:#1b120fed}dialog img{width:auto;max-width:90vw;max-height:82svh;object-fit:contain}dialog p{padding:0 22px;font-size:12px;max-width:75vw}#close{position:absolute;top:12px;right:12px;width:48px;height:48px;font-size:30px;border:1px solid #d0b8a2;border-radius:50%;background:var(--paper);color:var(--ink)}.legal{max-width:900px;margin:40px auto;padding:40px 7%;min-height:60vh}.legal h1{font-size:48px;letter-spacing:-1px}.legal h2{font-size:26px;letter-spacing:0;margin-top:30px}.legal p{color:var(--muted)}.legal a{color:var(--clay);text-decoration:underline}.legal-header{padding:25px 7%;background:var(--cream)}
@media(min-width:1800px){.menu-section,.reviews,.contact{padding-inline:calc((100vw - 1548px)/2)}}@media(max-width:1050px){.header{gap:15px}.brand{font-size:22px}.header nav{gap:15px;font-size:11px}.brand small{font-size:7px}.header-cta{padding:12px 15px}.space-intro>div{padding:60px 10%}.kitchen{gap:20px}.section{padding:80px 6%}}
@media(max-width:800px){html{scroll-padding-top:80px}.header{min-height:80px;padding:12px 5%;gap:12px}.brand{font-size:22px}.brand img{width:48px;height:48px}.brand small{letter-spacing:1px;font-size:6.5px}.header-cta{display:none}.nav-toggle{display:flex;gap:12px;align-items:center;min-height:48px;background:transparent;border:1px solid #d7c8b8;padding:10px 13px;font-size:13px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 6% 25px;background:var(--paper);box-shadow:0 15px 20px #2c221e15;gap:0;flex-direction:column;font-size:15px}.header nav.open{display:flex}.header nav a{padding:14px 0;border-bottom:1px solid var(--sand)}.hero{min-height:680px;height:calc(100svh - 80px);max-height:850px}.hero-copy{padding:75px 6% 100px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.2px}.hero picture img{object-position:57% center}.hero-overlay{background:linear-gradient(90deg,#21150fe8,#21150f90 65%,#21150f50),linear-gradient(0deg,#21150fb0,transparent)}h1{font-size:clamp(54px,9vw,76px);letter-spacing:-2px}.hero-foot{left:6%;right:6%;font-size:8px;letter-spacing:1px}.hero-foot a{display:none}.section{padding:65px 6%}.intro{grid-template-columns:1fr;gap:30px}.intro .lead{font-size:24px}.kitchen{grid-template-columns:1fr;gap:42px}.kitchen article,.kitchen article:nth-child(2),.kitchen article:nth-child(3){padding:0}.kitchen img{aspect-ratio:4/3}.kitchen article>p:last-of-type{max-width:none}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.menu-content{grid-template-columns:1fr;gap:32px}.menu-toolbar{gap:12px}.menu-toolbar label{width:100%}.menu-toolbar select{width:100%}.menu-photos{margin-left:0;gap:20px}.space-intro{grid-template-columns:1fr}.space-intro>img{height:auto;aspect-ratio:4/3}.space-intro>div{padding:60px 6%}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid button:first-child,.gallery-grid button:nth-child(5){grid-column:span 2}.gallery-grid img{height:220px}.gallery-grid button:first-child img,.gallery-grid button:nth-child(5) img{height:300px}.reviews,.contact{grid-template-columns:1fr;gap:35px}.instagram-grid{gap:12px}.instagram-grid span{padding:30px 12px 12px;font-size:11px}.contact-details{border-left:0;border-top:1px solid #ffffff50;padding:30px 0 0}.footer-top{align-items:start;flex-direction:column}.footer-top>div{flex-wrap:wrap;gap:20px}.footer-bottom{align-items:start;flex-direction:column;gap:15px}footer{padding:35px 6% 95px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid #cebba6;z-index:30;padding:8px 4% calc(8px + env(safe-area-inset-bottom));gap:8px;align-items:center;justify-content:space-between;box-shadow:0 -5px 20px #2c221e0d}.mobile-actions a{font-size:12px;min-height:44px;display:flex;justify-content:center;align-items:center;padding:10px 16px}.mobile-actions .reserve{background:var(--clay);color:white;flex:1;border-radius:2px}dialog img{max-height:72svh}.legal{padding:30px 6%}.legal h1{font-size:36px}}
@media(max-width:430px){.hero{min-height:650px}.hero-copy{padding-top:55px}.hero-copy>p:not(.eyebrow){font-size:14px;max-width:310px}.hero .button{padding:12px 18px;font-size:12px}.hero .eyebrow{max-width:290px}.gallery-grid img{height:180px}.instagram-grid{grid-template-columns:1fr 1fr}.instagram-grid a:last-child{display:none}.dish-price{font-size:13px}.dish-name{font-size:13px}.brand{font-size:20px}.gallery-grid button span{font-size:10px;padding:30px 12px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.opening-hours{margin-top:40px;max-width:450px;border-top:1px solid #ffffff50;padding-top:28px}.opening-hours h3{font-size:27px}.opening-hours dl{margin:20px 0 0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #ffffff25;font-size:14px}.opening-hours dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.opening-hours p{font-size:11px;color:#f1dfd4}.hero picture img{object-position:center 58%}@media(max-width:800px){hero picture img{object-position:62% center}.opening-hours{max-width:none}}

.gallery-carousels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.photo-carousel{min-width:0}.photo-carousel h3{font-size:34px}.carousel-description{color:var(--muted);font-size:14px;min-height:70px;margin:16px 0 24px}.carousel-stage{position:relative;background:var(--sand);aspect-ratio:4/3;touch-action:pan-y}.carousel-slide[hidden]{display:none}.carousel-slide,.carousel-photo{width:100%;height:100%}.carousel-photo{display:block;border:0;padding:0;background:transparent;cursor:pointer}.carousel-photo img{width:100%;height:100%;aspect-ratio:4/3}.carousel-expand{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#2c221ee6;color:white;font-size:24px;cursor:zoom-in}.carousel-controls{display:flex;align-items:center;gap:10px;margin-top:15px}.carousel-prev,.carousel-next{width:46px;min-width:46px;height:46px;border:1px solid #cfc3b5;background:var(--paper);border-radius:50%;font-size:22px}.carousel-prev:hover,.carousel-next:hover{background:var(--sand)}.carousel-status{flex:1;text-align:center;line-height:1.4;margin:0;font-size:13px}.carousel-count{display:block;font-size:11px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums}.carousel-dots{display:flex;justify-content:center;flex-wrap:wrap;margin-top:12px}.carousel-dot{width:28px;height:36px;border:0;padding:0;background:transparent;position:relative}.carousel-dot:after{content:"";display:block;width:7px;height:7px;border-radius:50%;margin:auto;background:#b7a392}.carousel-dot[aria-pressed="true"]:after{background:var(--clay);width:10px;height:10px}.carousel-photo:focus-visible{outline-offset:-5px;outline-color:#fdfbf7}@media(max-width:1000px){.gallery-carousels{gap:18px}.carousel-description{min-height:95px}}@media(max-width:800px){.gallery-carousels{grid-template-columns:1fr;gap:45px}.carousel-description{min-height:0;margin-bottom:20px}.carousel-stage{aspect-ratio:4/3}.photo-carousel h3{font-size:34px}.carousel-dot{width:32px;height:44px}}

/* Portada flexible: titulares dentro del ancho disponible y sin cortes. */
.hero{min-height:620px;height:calc(100svh - 90px);max-height:850px;display:flex;align-items:center}.hero-copy{width:100%;max-width:900px;padding:65px 7% 115px;min-width:0}.hero h1{font-size:clamp(56px,5.5vw,88px);line-height:1.07;letter-spacing:-2px;overflow-wrap:normal}.hero h1 span,.hero h1 em{display:block}.hero-copy>p:not(.eyebrow){max-width:420px}.cuisine .kitchen{padding-bottom:85px}#brasa{scroll-margin-top:100px}@media(max-width:800px){.hero{height:auto;min-height:min(640px,calc(100svh - 80px));max-height:none;align-items:center}.hero-copy{max-width:none;padding:64px 6% 110px}.hero h1{font-size:clamp(38px,9.2vw,66px);line-height:1.09;letter-spacing:-1.3px}.hero-copy .eyebrow{max-width:100%;font-size:8px;letter-spacing:1px;line-height:1.8;margin-bottom:26px}.hero-copy>p:not(.eyebrow){width:100%;max-width:390px;font-size:14px;line-height:1.75;margin:25px 0 0}.hero-foot{max-width:88%;line-height:1.8;letter-spacing:1px}.header{gap:10px}.header .brand{min-width:0;white-space:normal;font-size:clamp(18px,4.7vw,22px)}.header .brand span{min-width:0}.header .brand img{width:44px;height:44px}.header .brand small{font-size:6px;line-height:1.6;letter-spacing:.6px}.nav-toggle{flex-shrink:0;padding:10px;font-size:12px}.cuisine .kitchen{padding-bottom:55px}#brasa{scroll-margin-top:90px}}@media(max-width:360px){.header{padding-inline:4%}.header .brand{gap:8px}.hero-copy{padding-top:50px;padding-bottom:100px}.hero h1{font-size:38px}.hero-foot{font-size:7px}.hero .eyebrow{max-width:100%}}

/* Cabecera: nombre y descriptor más legibles */
.header .brand{font-size:30px;line-height:1.15}
.header .brand small{font-size:10px;line-height:1.6;letter-spacing:1px;margin-top:5px}
@media(max-width:800px){.header .brand{font-size:clamp(22px,5.8vw,27px);gap:10px}.header .brand small{font-size:8px;letter-spacing:.4px;line-height:1.5;max-width:235px}.header .brand img{width:44px;height:44px}.header{gap:8px}.nav-toggle{padding:9px 8px;font-size:11px}}
@media(max-width:360px){.header .brand{font-size:21px;gap:8px}.header .brand small{font-size:7.5px;letter-spacing:.2px}.header .brand img{width:38px;height:38px}}

/* Reserva por teléfono o Google, con el mismo estilo de la web. */
.reservation-actions{display:flex;flex-wrap:wrap;gap:12px}
.reservation-dialog{width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);padding:40px 28px 28px;background:var(--paper);color:var(--ink);box-sizing:border-box;box-shadow:0 20px 70px #1b120f50}
.reservation-dialog::backdrop{background:#1b120fc9}
.reservation-dialog h2{font-size:36px;line-height:1.15;margin:14px 0}
.reservation-dialog p{padding:0;max-width:none;font-size:15px}
.reservation-dialog .eyebrow{font-size:10px;color:var(--clay)}
.reservation-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:28px;cursor:pointer}
.reservation-options{display:grid;gap:12px;margin-top:24px}
.reservation-options .button{width:100%;box-sizing:border-box;text-align:center}
.reservation-options .reservation-google{background:transparent;border-color:var(--clay);color:var(--clay)}
.reservation-options .reservation-google:hover{background:var(--sand)}
.reservation-dialog .reservation-note{font-size:12px;color:var(--muted);margin-top:18px}
@media(max-width:430px){.reservation-dialog{padding:40px 20px 24px}.reservation-dialog h2{font-size:30px}.reservation-actions .button{width:100%}}
