:root { --paper:#f0e6d5; --paper2:#e3d0b5; --ink:#211a16; --rust:#d56d56; --sage:#75543f; --cream:#f7efdf; --line:rgba(39,36,30,.22); --display:'Rye',Georgia,serif; --serif:'Playfair Display',Georgia,serif; --mono:'DM Mono',monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--mono),monospace; }
a { color:inherit; text-decoration:none; }
.announcement { height:33px; padding:0 4.3vw; display:flex; align-items:center; justify-content:space-between; background:var(--ink); color:var(--paper); font-size:9px; letter-spacing:.14em; }
.site-header { height:112px; padding:0 4.3vw; display:grid; grid-template-columns:1fr 200px 1fr; align-items:center; border-bottom:1px solid var(--line); position:relative; z-index:3; }
.site-header nav { display:flex; align-items:center; gap:30px; font-size:10px; letter-spacing:.1em; }
.nav-right { justify-content:flex-end; }
.site-header nav a:hover { color:var(--rust); }
.nav-order { padding:12px 16px; border:1px solid var(--ink); }
.nav-order span { margin-left:13px; color:var(--rust); }
.brand { display:flex; justify-content:center; grid-column:2; grid-row:1; }
.brand-mark { display:block; width:196px; height:auto; }
.brand-mobile { display:none!important; }
.menu-toggle { display:none; }
.hero { min-height:660px; padding-left:8vw; display:grid; grid-template-columns:47% 53%; }
.hero-copy { padding:65px 5vw 25px 0; display:flex; flex-direction:column; }
.eyebrow { margin:0 0 25px; font-size:9px; line-height:1.6; letter-spacing:.17em; }
.hero h1,.section-heading h2,.manifesto h2,.order-section h2,.location-title h2 { margin:0; font-family:var(--display); font-size:clamp(70px,9.5vw,142px); font-weight:700; letter-spacing:-.035em; line-height:.81; }
.hero h1 em,.section-heading h2 em,.manifesto h2 em,.order-section h2 em,.location-title h2 em { font-family:var(--serif); font-size:.69em; letter-spacing:-.07em; font-weight:900; }
.hero h1 em { color:var(--rust); }
.hero-bottom { margin-top:auto; padding:34px 2vw 23px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.hero-bottom p { margin:0; font-size:12px; line-height:1.8; }
.round-link { width:84px; height:84px; flex:0 0 84px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; border:1px solid var(--ink); text-align:center; font-size:8px; letter-spacing:.08em; }
.round-link b { color:var(--rust); font-size:16px; font-weight:400; }
.hero-index { padding-top:15px; display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); font-size:8px; letter-spacing:.1em; }
.hero-index span:first-child { color:var(--rust); }
.hero-visual { min-height:660px; padding:20px 20px 20px 0; position:relative; background:var(--rust); }
.hero-photo { position:absolute; inset:20px 20px 20px 0; background:linear-gradient(180deg,rgba(34,27,20,.02),rgba(34,27,20,.16)),url('https://images.unsplash.com/photo-1699728088614-7d1d4277414b?auto=format&fit=crop&w=1700&q=88') center 50%/cover no-repeat; filter:saturate(.82); }
.photo-label { position:absolute; top:42px; right:42px; padding:13px 15px; display:flex; flex-direction:column; gap:4px; background:var(--paper); font-size:8px; letter-spacing:.12em; }
.photo-stamp { width:116px; min-height:88px; padding:10px; position:absolute; left:30px; bottom:45px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid var(--paper); outline:1px solid var(--sage); outline-offset:4px; color:var(--paper); background:var(--sage); text-align:center; font:15px/.97 var(--display); }
.photo-stamp b { margin-top:7px; color:#dfc896; font:7px var(--mono); letter-spacing:.16em; }
.photo-edge { position:absolute; right:40px; bottom:45px; color:var(--paper); writing-mode:vertical-rl; font-size:8px; letter-spacing:.17em; }
.trail-divider { min-height:190px; padding:34px 8vw 42px; display:grid; grid-template-columns:1fr 2fr auto; align-items:center; gap:30px; position:relative; overflow:hidden; color:var(--paper); background:var(--ink); border-top:1px solid rgba(213,109,86,.55); border-bottom:1px solid rgba(213,109,86,.55); }
.trail-meta { display:flex; flex-direction:column; gap:9px; color:#d6c8b2; font-size:8px; letter-spacing:.16em; }
.trail-meta span:first-child { color:var(--rust); }
.trail-main p { margin:0 0 6px; color:#d6c8b2; font-size:9px; letter-spacing:.18em; }
.trail-main h2 { margin:0; font:400 clamp(26px,4vw,49px)/1.05 var(--display); letter-spacing:.02em; }
.trail-link { padding:14px 0 14px 20px; display:flex; align-items:center; gap:18px; border-left:1px solid rgba(247,239,223,.28); font-size:8px; letter-spacing:.13em; white-space:nowrap; }
.trail-link b { color:var(--rust); font:20px var(--mono); }
.trail-rule { position:absolute; bottom:20px; left:8vw; right:8vw; display:flex; align-items:center; gap:8px; opacity:.6; }
.trail-rule span { height:1px; flex:1; background:var(--rust); }
.trail-rule i { width:7px; height:7px; border:1px solid var(--rust); border-radius:50%; }
.menu-section { padding:115px 8vw 110px; }
.section-heading { margin-bottom:54px; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.section-heading h2 { font-size:clamp(58px,8vw,105px); }
.section-heading h2 em { color:var(--rust); }
.section-note { margin:0 4vw 7px 0; font-size:11px; line-height:1.8; }
.menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.menu-card { min-width:0; padding:12px 12px 22px; position:relative; border:1px solid var(--line); background:var(--paper2); }
.menu-card.featured { background:#ded1b8; }
.dish-photo { height:270px; background-size:cover; background-position:center; filter:saturate(.78); }
.dish-one { background-image:url('https://images.unsplash.com/photo-1699728088614-7d1d4277414b?auto=format&fit=crop&w=950&q=85'); background-position:48% center; }
.dish-two { background-image:url('https://media.ambito.com/p/312d6812ea7362de5c2002cfb323d5f1/adjuntos/239/imagenes/040/889/0040889354/kebab-recetajpg.jpg'); }
.dish-three { background-image:url('https://images.unsplash.com/photo-1699728088614-7d1d4277414b?auto=format&fit=crop&w=950&q=85'); background-position:68% center; }
.card-top { padding:15px 2px 11px; display:flex; justify-content:space-between; gap:8px; border-bottom:1px solid var(--line); font-size:8px; letter-spacing:.1em; }
.card-top span:last-child { color:var(--rust); text-align:right; }
.dish-info { padding:20px 2px 0; display:flex; justify-content:space-between; gap:12px; }
.dish-info h3 { margin:0 0 12px; font:600 31px/.94 var(--display); letter-spacing:.015em; }
.dish-info p { max-width:225px; margin:0; font-size:9px; line-height:1.8; }
.dish-arrow { color:var(--rust); font-size:19px; }
.menu-footnote { margin:20px 0 0; color:#625a4b; font-size:9px; }
.manifesto { min-height:540px; display:grid; grid-template-columns:1fr 1fr; color:var(--paper); background:var(--sage); }
.manifesto-photo { min-height:540px; position:relative; background:linear-gradient(0deg,rgba(29,30,23,.35),transparent 40%),url('https://images.unsplash.com/photo-1561651823-34feb02250e4?auto=format&fit=crop&w=1300&q=85') center/cover no-repeat; }
.manifesto-caption { position:absolute; bottom:28px; left:8%; font-size:9px; letter-spacing:.14em; }
.manifesto-copy { padding:82px 10% 70px; position:relative; overflow:hidden; }
.manifesto-copy .eyebrow { color:#dfd5be; }
.manifesto h2 { position:relative; z-index:1; font-size:clamp(55px,6vw,87px); }
.manifesto h2 em { color:#dfc896; }
.manifesto-copy>p:not(.eyebrow) { max-width:380px; margin:31px 0 26px; position:relative; z-index:1; font-size:11px; line-height:2; }
.text-link { padding-bottom:8px; display:inline-flex; align-items:center; gap:22px; position:relative; z-index:1; border-bottom:1px solid currentColor; font-size:9px; letter-spacing:.11em; }
.text-link span { color:#d7be8b; }
.big-number { position:absolute; right:1%; bottom:-100px; color:rgba(239,231,215,.08); font:400 330px/.9 var(--display); }
.order-section { padding:104px 8vw 100px; position:relative; overflow:hidden; color:var(--paper); background:var(--rust); }
.order-inner { max-width:960px; margin:0 auto; position:relative; }
.order-section .eyebrow { color:#f0d6c9; }
.order-section h2 { font-size:clamp(70px,11vw,150px); }
.order-section h2 em { color:#302b24; }
.order-inner>p:not(.eyebrow) { margin:26px 0 28px; font-size:11px; }
.order-buttons { display:flex; gap:12px; }
.button { min-width:220px; padding:17px 18px; display:flex; align-items:center; justify-content:space-between; gap:28px; font-size:9px; letter-spacing:.08em; }
.button span { font-size:15px; }
.button-light { color:var(--ink); background:var(--paper); }
.button-outline { border:1px solid var(--paper); }
.order-star { padding:16px 12px; position:absolute; top:2%; right:5%; border:1px solid rgba(247,239,223,.55); color:#f2c4b5; text-align:center; font:11px/1.6 var(--mono); letter-spacing:.18em; }
.location-section { padding:86px 8vw 90px; display:grid; grid-template-columns:1.2fr .8fr .5fr; align-items:center; gap:20px; border-bottom:1px solid var(--line); }
.location-title h2 { font-size:clamp(57px,7vw,95px); }
.location-title h2 em { color:var(--rust); }
.location-detail { padding-left:38px; border-left:1px solid var(--line); }
.location-label { color:var(--rust); font-size:8px; letter-spacing:.15em; }
.location-detail p { margin:14px 0 22px; font:22px/1.5 var(--display); }
.location-side { color:var(--sage); text-align:right; font:italic 19px/1.3 var(--serif); }
.footer { min-height:76px; padding:0 4.3vw; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:8px; letter-spacing:.1em; }
.footer-brand { color:var(--rust); font:700 22px var(--display); letter-spacing:.05em; }
.footer-brand span { vertical-align:top; font:9px var(--mono); }
.footer a:last-of-type { color:var(--rust); }
@media(max-width:850px) {
  .site-header { padding:0 5vw; grid-template-columns:1fr 170px 1fr; }
  .site-header nav { gap:14px; font-size:8px; }
  .brand-mark { width:165px; }
  .hero { min-height:570px; padding-left:6vw; grid-template-columns:48% 52%; }
  .hero-visual { min-height:570px; }
  .hero-copy { padding-top:70px; }
  .hero h1 { font-size:clamp(67px,10vw,100px); }
  .menu-section { padding:85px 6vw; }
  .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .menu-card:last-child { grid-column:1/-1; display:grid; grid-template-columns:1.15fr 1fr; gap:0 15px; }
  .menu-card:last-child .dish-photo { grid-row:span 2; height:100%; min-height:240px; }
  .dish-photo { height:220px; }
  .manifesto { min-height:450px; }
  .manifesto-photo { min-height:450px; }
  .manifesto-copy { padding:65px 7%; }
  .location-section { padding:70px 6vw; grid-template-columns:1fr 1fr; }
  .location-side { display:none; }
}
@media(max-width:600px) {
  .announcement { height:30px; padding:0 5vw; font-size:7px; }
  .announcement-right { display:none; }
  .site-header { height:76px; padding:0 5vw; grid-template-columns:1fr auto 1fr; }
  .site-header nav { display:none; }
  .brand { grid-column:2; grid-row:1; justify-self:center; }
  .brand-mark { width:clamp(152px,48vw,176px); }
  .menu-toggle { grid-column:3; grid-row:1; justify-self:end; padding:8px 0 8px 10px; display:flex; flex-direction:column; gap:6px; border:0; background:none; }
  .menu-toggle span { width:23px; height:1px; display:block; background:var(--ink); }
  .mobile-nav { padding:23px 7vw; display:flex!important; flex-direction:column!important; gap:21px!important; position:absolute; top:75px; left:0; right:0; border-bottom:1px solid var(--line); background:var(--paper); font-size:11px!important; }
  .hero { min-height:0; padding:0; display:flex; flex-direction:column; }
  .hero-copy { min-height:0; padding:40px 7vw 24px; }
  .eyebrow { margin-bottom:19px; font-size:8px; }
  .hero h1 { max-width:100%; font-size:clamp(62px,19vw,98px); line-height:.87; }
  .hero-bottom { padding:28px 0 21px; }
  .hero-bottom p { font-size:10px; }
  .round-link { width:72px; height:72px; flex-basis:72px; font-size:7px; }
  .hero-index { padding-top:11px; font-size:7px; }
  .hero-visual { min-height:0; height:min(112vw,450px); padding:14px 14px 14px 0; }
  .hero-photo { inset:14px 14px 14px 0; background-position:52% center; }
  .photo-label { top:27px; right:26px; padding:10px 11px; font-size:7px; }
  .photo-stamp { left:23px; bottom:34px; width:94px; min-height:74px; font-size:12px; }
  .photo-edge { right:26px; bottom:33px; font-size:7px; }
  .trail-divider { min-height:0; padding:27px 7vw 43px; grid-template-columns:1fr auto; gap:17px 12px; }
  .trail-meta { grid-column:1/-1; flex-direction:row; justify-content:space-between; font-size:7px; }
  .trail-main h2 { font-size:clamp(24px,7vw,35px); }
  .trail-link { align-self:end; padding:10px 0 10px 12px; gap:8px; font-size:7px; }
  .trail-rule { left:7vw; right:7vw; bottom:17px; }
  .menu-section { padding:72px 6vw 65px; }
  .section-heading { display:block; margin-bottom:32px; }
  .section-heading h2 { font-size:clamp(55px,15vw,80px); }
  .section-note { margin:19px 0 0; font-size:9px; }
  .menu-grid { grid-template-columns:1fr; gap:12px; }
  .menu-card { padding:10px 10px 19px; }
  .menu-card:last-child { display:block; grid-column:auto; }
  .menu-card:last-child .dish-photo { height:220px; min-height:0; }
  .dish-photo { height:220px; }
  .dish-info { padding-top:15px; }
  .dish-info h3 { font-size:27px; }
  .dish-info p { font-size:8px; }
  .menu-footnote { font-size:8px; }
  .manifesto { grid-template-columns:1fr; }
  .manifesto-photo { height:68vw; min-height:0; max-height:350px; }
  .manifesto-copy { min-height:0; padding:52px 7vw 55px; }
  .manifesto h2 { font-size:clamp(55px,14vw,80px); }
  .manifesto-copy>p:not(.eyebrow) { margin:22px 0; font-size:9px; }
  .big-number { bottom:-65px; font-size:235px; }
  .order-section { padding:68px 7vw 64px; }
  .order-section h2 { font-size:clamp(67px,18vw,112px); }
  .order-inner>p:not(.eyebrow) { margin:19px 0 23px; font-size:9px; }
  .order-star { top:1%; right:1%; padding:10px 8px; font-size:7px; }
  .order-buttons { max-width:300px; flex-direction:column; gap:8px; }
  .button { min-width:0; padding:15px 13px; font-size:7px; }
  .location-section { padding:58px 7vw; grid-template-columns:1fr; gap:25px; }
  .location-title h2 { font-size:clamp(55px,15vw,82px); }
  .location-detail { padding:24px 0 0; border-top:1px solid var(--line); border-left:0; }
  .location-detail p { margin:12px 0 19px; font-size:20px; }
  .footer { padding:24px 7vw; display:grid; grid-template-columns:1fr 1fr; gap:16px 10px; font-size:7px; }
  .footer>*:nth-child(even) { text-align:right; }
}
@media(max-width:380px) {
  .brand-mark { width:145px; }
  .hero h1 { font-size:clamp(56px,18vw,68px); }
  .hero-bottom p { font-size:9px; }
  .trail-main h2 { font-size:22px; }
  .dish-photo, .menu-card:last-child .dish-photo { height:195px; }
  .button { font-size:6px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
