:root{--ink:#172219;--forest:#25382a;--deep:#0d1510;--olive:#70794f;--lime:#e2dea3;--paper:#f2efe6;--white:#fff;--line:rgba(22,35,27,.16);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit}img{display:block;width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:90px;padding:0 clamp(22px,4vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:var(--serif);font-size:1.1rem;letter-spacing:.15em}.brand-mark{font-size:.65rem;color:var(--lime)}nav{display:flex;gap:34px}nav a,.header-cta{text-decoration:none;font-size:.82rem;letter-spacing:.06em}.header-cta{justify-self:end;border-bottom:1px solid;padding-bottom:4px}.menu-toggle{display:none;background:none;border:0;color:#fff;font:inherit}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center 55%;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(7,13,9,.85) 0%,rgba(7,13,9,.4) 52%,rgba(7,13,9,.1) 100%),linear-gradient(0deg,rgba(7,13,9,.72),transparent 58%)}.hero-copy{position:relative;z-index:2;width:min(1000px,91vw);padding:170px clamp(22px,7vw,120px) 135px}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.7rem;font-weight:600;color:var(--lime);margin:0 0 24px}.eyebrow.dark{color:var(--lime)}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.025em;margin:0}h1{font-size:clamp(3.15rem,7.2vw,7.5rem);text-wrap:balance}h1 em{font-weight:400;color:var(--lime)}.hero-lede{font-size:clamp(1rem,1.5vw,1.25rem);max-width:580px;margin:34px 0}.hero-actions,.visit-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600;border:1px solid;transition:transform .25s ease,background .25s ease}.button-light{background:var(--lime);border-color:var(--lime);color:var(--deep)}.button-ghost{border-color:rgba(255,255,255,.55);color:#fff}.button:hover{transform:translateY(-2px)}.scroll-cue{position:absolute;z-index:2;right:clamp(22px,4vw,72px);bottom:35px;text-decoration:none;font-size:.71rem;text-transform:uppercase;letter-spacing:.14em}.scroll-cue span{font-size:1rem;margin-left:12px}
.service-strip{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,1fr);background:#667047;color:#f7f0d5;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.18)}.service-strip::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/olive-texture.png') center/cover;opacity:.62;mix-blend-mode:multiply}.service-strip::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(31,47,33,.12),rgba(31,47,33,.34))}.service-strip a{min-height:170px;padding:35px clamp(22px,4vw,64px);display:flex;flex-direction:column;justify-content:center;text-decoration:none;border-right:1px solid rgba(255,255,255,.22);transition:background .25s ease}.service-strip a:hover{background:rgba(255,255,255,.08)}.service-strip span{font:400 .72rem var(--sans);letter-spacing:.15em;opacity:.72}.service-strip strong{font:400 clamp(1.4rem,2.1vw,2.25rem) var(--serif);margin:10px 0 5px}.service-strip small{font-size:.76rem;letter-spacing:.04em;opacity:.78}
.intro{position:relative;isolation:isolate;padding:clamp(95px,11vw,175px) clamp(22px,8vw,140px);overflow:hidden;background:#727b52;color:#f7f0d5}.intro::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/olive-texture.png') center/cover;opacity:.82}.intro::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(44,55,37,.22)}.intro-statement{position:relative;z-index:1;max-width:1050px}.intro h2,.menu-heading h2,.visit h2{font-size:clamp(3rem,6vw,6.2rem)}.intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,9vw,150px);align-items:end;margin-top:clamp(60px,9vw,130px)}.intro-copy{max-width:430px;font-size:1.1rem}.intro-copy p{margin:0 0 24px;color:rgba(255,255,255,.86)}.text-link{display:inline-flex;gap:15px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:.72rem;border-bottom:1px solid;padding-bottom:6px;margin-top:18px}.place-card{margin:0;position:relative}.place-card::before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid rgba(247,240,213,.48);z-index:-1}.place-card img{aspect-ratio:4/5;object-fit:cover;object-position:center}.place-card figcaption{font-family:var(--serif);font-size:1.7rem;margin-top:18px}
.signature{min-height:770px;position:relative;background:linear-gradient(90deg,rgba(10,18,12,.5),rgba(10,18,12,.88)),url('assets/cocina.jpg') center/cover;color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:clamp(80px,8vw,130px)}.signature-number{align-self:start;font-family:var(--serif);font-size:1.4rem;color:var(--lime)}.signature-copy{max-width:570px}.signature h2{font-size:clamp(3.2rem,6.5vw,7rem)}.signature-copy>p:last-child{font-size:1.1rem;max-width:500px;margin-top:32px;color:rgba(255,255,255,.78)}
.menu-section{position:relative;isolation:isolate;padding:clamp(95px,10vw,160px) clamp(22px,6vw,100px);background:#6f784f;color:#f8f2dc;overflow:clip}.menu-section::before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/olive-texture.png') center top/900px auto repeat;opacity:.9}.menu-section::after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(36,48,31,.2)}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.menu-heading>p{max-width:330px;color:rgba(255,255,255,.74)}.menu-controls{position:sticky;top:0;z-index:8;background:rgba(71,82,55,.94);backdrop-filter:blur(14px);padding:17px;margin:48px -17px 0;border:1px solid rgba(248,242,220,.24);display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;box-shadow:0 14px 40px rgba(26,35,23,.16)}.menu-services{display:flex;background:rgba(247,240,213,.12);padding:4px}.service-tab{border:0;background:transparent;color:#f7f0d5;padding:11px 17px;font:600 .68rem var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.service-tab[aria-selected="true"]{background:#eee7c7;color:var(--forest)}.menu-tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:none;min-width:0}.menu-tabs::-webkit-scrollbar{display:none}.menu-tab{white-space:nowrap;border:1px solid rgba(248,242,220,.28);border-radius:100px;padding:9px 15px;background:transparent;color:#f7f0d5;font:600 .66rem var(--sans);text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.menu-tab[aria-selected="true"]{background:#e6dfb7;color:var(--forest);border-color:#e6dfb7}.menu-search input{width:min(250px,23vw);border:0;border-bottom:1px solid rgba(248,242,220,.55);background:transparent;color:#fff;padding:11px 3px;font:inherit;outline:none}.menu-search input::placeholder{color:rgba(255,255,255,.64)}.menu-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-top:58px;align-items:start}.menu-category{break-inside:avoid;margin:0;background:rgba(25,35,23,.18);border:1px solid rgba(248,242,220,.2);padding:clamp(24px,3vw,42px);box-shadow:0 18px 50px rgba(21,29,19,.1)}.menu-category h3{font:400 clamp(2rem,3vw,2.8rem) var(--serif);border-bottom:1px solid rgba(248,242,220,.45);padding-bottom:18px;margin:0 0 2px;color:#fff}.menu-item{padding:23px 0 21px;border-bottom:1px solid rgba(248,242,220,.18)}.menu-item:last-child{border-bottom:0}.item-line{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start}.item-line h4{margin:0;font:400 1.3rem/1.15 var(--serif);letter-spacing:.005em;text-wrap:balance;color:#fff}.price{white-space:nowrap;font:600 .72rem var(--sans);letter-spacing:.07em;color:#ece4b8;text-transform:uppercase;padding-top:4px}.menu-item p{margin:9px 45px 0 0;color:rgba(255,255,255,.72);font-size:.88rem;line-height:1.62}.empty-menu{grid-column:1/-1;padding:70px 0;text-align:center;font-family:var(--serif);font-size:2rem;color:#fff}
.quote-section{position:relative;isolation:isolate;overflow:hidden;background:#626b46;color:#fff;text-align:center;padding:clamp(100px,13vw,185px) 20px}.quote-section::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/olive-texture.png') center/cover;opacity:.86}.quote-section::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(35,47,31,.34)}.quote-mark{display:block;font:6rem/.7 var(--serif);color:#ebe4b8;margin-bottom:24px}.quote-section blockquote{font:400 clamp(2.6rem,5vw,5.2rem)/1.08 var(--serif);max-width:1100px;margin:0 auto 35px;text-shadow:0 2px 20px rgba(0,0,0,.16)}.quote-section p{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.visit{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:var(--deep);color:#fff}.visit-info{padding:clamp(85px,9vw,140px)}.visit-list{margin:60px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.visit-list span{text-transform:uppercase;letter-spacing:.13em;color:var(--lime);font-size:.69rem}.visit-list p{color:rgba(255,255,255,.78)}.visit-list a{text-decoration:none}.light-link{color:#fff;margin:0 0 0 12px}.visit-visual{display:flex;align-items:center;background:#737c52;overflow:hidden}.visit-visual img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.9}
footer{background:#080c09;color:rgba(255,255,255,.7);padding:60px clamp(22px,6vw,100px);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;font-size:.8rem}.footer-brand{font:1.5rem var(--serif);letter-spacing:.14em;text-decoration:none;color:#fff}.socials{display:flex;gap:20px}.socials a{text-decoration:none}.legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:25px;margin:15px 0 0}.floating-reserve{display:none}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:72px;grid-template-columns:1fr auto}.site-header nav,.header-cta{display:none}.site-header.open nav{display:flex;position:absolute;top:72px;left:0;width:100%;padding:30px;flex-direction:column;background:var(--deep)}.menu-toggle{display:block}.hero-copy{padding-bottom:120px}.hero-actions .button{width:100%}.scroll-cue{display:none}.service-strip{grid-template-columns:1fr 1fr}.service-strip a{min-height:145px}.service-strip a:last-child{grid-column:1/-1;min-height:120px}.intro-grid{grid-template-columns:1fr}.intro-copy{max-width:none}.signature{grid-template-columns:1fr;align-content:center}.signature-number{margin-bottom:80px}.menu-heading{display:block}.menu-heading>p{margin-top:22px}.menu-controls{position:relative;grid-template-columns:1fr;align-items:stretch;margin-left:0;margin-right:0}.menu-services{width:max-content}.menu-search input{width:100%}.menu-results{grid-template-columns:1fr}.menu-category{padding:26px 22px}.item-line h4{font-size:1.2rem}.visit{grid-template-columns:1fr}.visit-visual{min-height:420px}.visit-list{grid-template-columns:1fr 1fr}.visit-list div:last-child{grid-column:1/-1}footer{grid-template-columns:1fr}.socials{justify-self:start}.legal{grid-column:auto}.floating-reserve{display:block;position:fixed;z-index:30;right:16px;bottom:16px;background:var(--lime);color:var(--deep);padding:13px 18px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600;box-shadow:0 8px 30px rgba(0,0,0,.3)}}
@media(max-width:480px){h1{font-size:3.1rem}.hero-copy{width:100%;padding-left:20px;padding-right:20px}.service-strip a{padding:26px 20px}.service-strip strong{font-size:1.3rem}.intro,.menu-section{padding-left:20px;padding-right:20px}.signature{padding:70px 20px;min-height:680px}.visit-info{padding:85px 20px}.menu-item p{margin-right:0}.place-card figcaption{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button:hover{transform:none}}
