@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root{--ink:#20231d;--paper:#f5f2eb;--muted:#77796f;--accent:#b27a4a;--line:#d9d4c9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{height:88px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}
.brand{display:flex;align-items:center;gap:12px;font-size:16px;letter-spacing:.13em}
.brand img{width:42px;height:42px;object-fit:contain}
.brand span{display:flex;flex-direction:column}
.brand b{font-weight:700}
.brand small{font-size:8px;letter-spacing:.24em;color:var(--muted);margin-top:5px}
.nav{display:flex;align-items:center;gap:30px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.nav a:not(.nav-cta):hover,.text-link:hover{color:var(--accent)}
.nav-cta{border:1px solid var(--ink);padding:13px 17px;transition:.2s}
.nav-cta:hover{background:var(--ink);color:white}
.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--ink)}
.hero{height:min(730px,78vw);min-height:550px;position:relative;background:#333;overflow:hidden;color:white}
.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,16,.76),rgba(15,20,16,.28) 58%,rgba(15,20,16,.05)),url("img/portada.jpg") center/cover no-repeat}
.hero-content{position:relative;z-index:1;padding:clamp(70px,10vw,150px) 11% 80px;max-width:850px}
.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:var(--accent);margin:0 0 22px}
.hero .eyebrow{color:#e5c6a5}
h1,h2,blockquote{font-family:"Playfair Display",Georgia,serif;font-weight:400}
h1{font-size:clamp(55px,8vw,105px);line-height:.99;letter-spacing:-.04em;margin:0}
h1 em,h2 em{font-weight:400;color:var(--accent)}
.hero h1 em{color:#e5c6a5}
.hero-copy{font-size:15px;line-height:1.8;max-width:420px;color:#e7e5df;margin:27px 0 35px}
.hero-actions{display:flex;align-items:center;gap:28px}
.button{display:inline-block;padding:16px 22px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;transition:.2s}
.button-light{background:var(--paper);color:var(--ink)}
.button-light:hover{background:#e5c6a5}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:var(--accent)}
.text-link{font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.hero-note{position:absolute;right:6.5%;bottom:35px;font-size:9px;letter-spacing:.22em;color:#eee}
.section{padding:110px 10%}
.intro{display:grid;grid-template-columns:90px 1fr 40%;gap:38px;align-items:center}
.intro-mark{font-family:"Playfair Display",serif;font-size:32px;color:var(--accent);border:1px solid var(--accent);width:72px;height:72px;display:grid;place-items:center;border-radius:50%}
.intro-text h2,.section-heading h2,.contact h2{font-size:clamp(34px,4.4vw,57px);line-height:1.12;margin:0 0 23px}
.intro-text>p:last-child,.section-heading>p:last-child,.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);max-width:490px}
.image-frame{height:360px;overflow:hidden}
.image-frame img{transition:transform .7s}
.image-frame:hover img{transform:scale(1.04)}
.food{background:#eae6dc}
.section-heading{text-align:center;max-width:650px;margin:0 auto 55px}
.section-heading .eyebrow{margin-bottom:18px}
.section-heading>p:last-child{margin:0 auto}
.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.food-card{background:var(--paper)}
.food-card>img{height:270px}
.food-card>div{padding:25px 24px 29px}
.food-card span,.contact-details span{font-size:9px;letter-spacing:.17em;color:var(--accent);font-weight:700}
.food-card h3{font:400 23px "Playfair Display",Georgia,serif;margin:13px 0}
.food-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.menu-note{text-align:center;color:var(--muted);font-size:11px;margin:38px 0 0}
.quote-band{background:var(--ink);color:var(--paper);padding:90px 10%;text-align:center}
.quote-inner{max-width:850px;margin:auto}
.quote-band blockquote{font-size:clamp(30px,4vw,48px);line-height:1.3;margin:0}
.gallery-heading{margin-bottom:40px}
.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:240px 240px;gap:14px}
.gallery-grid img{min-height:0}
.gallery-grid img:first-child{grid-row:span 2}
.gallery-grid img:nth-child(4){grid-column:span 2}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#e8e3d9}
.contact-copy h2{margin-bottom:20px}
.contact-copy .button{margin-top:18px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-content:center}
.contact-details p{font:20px/1.55 "Playfair Display",Georgia,serif;margin:12px 0}
.contact-details a:not([href^="tel"]){font-size:11px;color:var(--accent);letter-spacing:.08em}
.footer{display:flex;justify-content:space-between;align-items:center;padding:30px 6.5%;background:var(--ink);color:#e9e5dc}
.footer-brand{font-size:13px;letter-spacing:.18em;font-weight:700}
.footer p,.footer>a:last-child{font-size:9px;letter-spacing:.15em;color:#aaa99f}
@media(max-width:900px){.site-header{padding:0 5%;height:76px}.nav{gap:16px;font-size:9px}.nav-cta{padding:11px}.section{padding:80px 7%}.intro{grid-template-columns:60px 1fr;gap:25px}.intro-image{grid-column:2;height:300px}.food-card>img{height:220px}.gallery-grid{grid-template-rows:190px 190px}.contact{gap:35px}}
@media(max-width:650px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px 6%;flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 12px 20px #00000012}.nav.open{display:flex}.nav a{font-size:11px}.nav-cta{text-align:center}.hero{height:680px;min-height:0}.hero-content{padding:110px 7% 60px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-note{left:7%;right:auto;font-size:8px}.section{padding:68px 7%}.intro{display:block}.intro-mark{margin-bottom:28px}.intro-image{margin-top:32px;height:270px}.intro-text h2,.section-heading h2,.contact h2{font-size:38px}.food-grid{grid-template-columns:1fr;gap:20px}.food-card>img{height:270px}.quote-band{padding:70px 7%}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px}.gallery-grid img:first-child{grid-row:auto}.gallery-grid img:nth-child(4){grid-column:auto}.contact{grid-template-columns:1fr;gap:45px}.contact-details{gap:25px}.footer{padding:25px 7%;flex-wrap:wrap;gap:15px}.footer p{order:3;width:100%;margin:0}.footer>a:last-child{font-size:8px}}
