:root{--ink:#241e18;--cream:#fbf7ef;--paper:#fffefa;--gold:#b7812e;--red:#8b3126;--muted:#5e574f;--line:#d8cdbd;--shadow:#3b291624}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 "DM Sans",sans-serif}
h1,h2,h3{font-family:"Playfair Display",serif;margin:0;line-height:1.06}
h2{font-size:clamp(2.4rem,5vw,4.7rem)}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.topbar{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);position:relative;z-index:10;width:100%;background:white;border-bottom:1px solid var(--line);box-shadow:0 3px 18px #3c2d1712}
.logo-brand img{display:block;width:245px;max-height:84px;object-fit:contain}
nav{display:flex;align-items:center;gap:32px;font-size:.95rem;font-weight:700}
nav a:hover,nav a[aria-current="page"]{color:var(--gold)}
.nav-toggle{display:none;border:0;background:none;color:var(--ink);font-size:1.6rem}
.light-hero{min-height:670px;background:var(--cream);display:grid;grid-template-columns:1.02fr .98fr}
.hero-content{padding:90px clamp(30px,6vw,105px)}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--gold);margin:0 0 18px}
.hero h1{font-size:clamp(3.8rem,6.5vw,6.8rem);letter-spacing:-.04em}
.hero h1 em{color:var(--gold);font-weight:600}
.hero-copy{max-width:560px;font-size:1.2rem;line-height:1.7;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{border:0;border-radius:3px;padding:15px 22px;font:700 .78rem "DM Sans";text-transform:uppercase;letter-spacing:.09em;display:inline-flex;align-items:center;justify-content:center}
.btn-primary{background:var(--gold);color:#18130d}
.btn-primary:hover{background:#d5a258}
.btn-outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}
.hero-info{display:flex;gap:30px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:1rem}
.hero-photo{height:100%;min-height:670px;background:url(images/hero-adler.png) 62% center/cover}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);max-width:1160px;margin:-42px auto 0;position:relative;background:white;box-shadow:0 16px 50px var(--shadow)}
.quick-actions a{padding:27px 34px;border-right:1px solid var(--line);overflow-wrap:anywhere}
.quick-actions a:last-child{border:0}
.quick-actions span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin-bottom:7px}
.quick-actions strong{font-size:1.08rem}
.section{padding:110px clamp(24px,8vw,130px)}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end}
.section-heading>p{font-size:1.08rem;line-height:1.8;color:var(--muted);margin:0}
.food-gallery{background:#fffefa}
.gallery-heading{margin-bottom:42px}
.gallery-grid{display:grid;grid-template-columns:1.22fr .78fr;grid-template-rows:repeat(2,minmax(250px,1fr));gap:20px}
.gallery-card{margin:0;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 14px 38px #513b1c14;display:grid;grid-template-columns:1fr 240px;min-height:250px}
.gallery-card-large{grid-row:1 / span 2;display:flex;flex-direction:column}
.gallery-card img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.gallery-card-large img{height:100%;min-height:500px}
.gallery-card figcaption{padding:24px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:white}
.gallery-card-large figcaption{min-height:112px}
.gallery-card figcaption span{color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gallery-card figcaption strong{font:700 1.45rem/1.2 "Playfair Display",serif}
.center-actions{display:flex;justify-content:center;gap:14px;margin-top:35px;flex-wrap:wrap}
.menu-preview{background:var(--cream);border-top:1px solid var(--line)}
.food-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}
.food-cards article{background:white;border:1px solid var(--line);padding:35px;min-height:230px;border-top:5px solid var(--gold)}
.food-cards span{color:var(--gold);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.food-cards h3{font-size:1.8rem;margin:22px 0 14px}
.food-cards p{color:var(--muted);line-height:1.65}
.visit{display:grid;grid-template-columns:1fr 1fr;background:#efe5d5}
.visit-card{padding:100px clamp(24px,8vw,130px);background:#fffefa;border-top:1px solid var(--line)}
.visit-card p:not(.eyebrow){line-height:1.8}
.contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;font-weight:700;overflow-wrap:anywhere}
.text-link{display:inline-block;color:#8a621f;margin-top:16px;font-weight:700}
.contact-list .text-link{margin-top:5px}
.hours-card{padding:100px clamp(35px,8vw,110px)}
.hours-card h3{font-size:2.2rem;margin-bottom:30px}
.hours-card div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #cfc1ae}
.hours-card span{color:var(--muted)}
footer{background:white;color:var(--muted);border-top:1px solid var(--line);padding:34px clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.72rem}
.footer-logo img{width:170px;height:62px;object-fit:contain}
footer>div:last-child{display:flex;gap:18px}
.legal{background:var(--cream)}
.legal main,.legal .legal-inner{max-width:850px;margin:auto;padding:70px 24px 110px}
.legal h1{font-size:clamp(3rem,8vw,5.5rem);margin-bottom:55px}
.legal h2{font:700 1.2rem "DM Sans";margin:35px 0 10px}
.legal p{line-height:1.75;color:#534c44}
.legal .text-link{display:block;margin-bottom:70px}
.legal-note{border-left:3px solid var(--gold);padding:12px 18px;background:#fff8;font-size:.85rem}
.menu-page .topbar{position:sticky;top:0}
.menu-hero{display:grid;grid-template-columns:1fr minmax(350px,.8fr);gap:6vw;align-items:center;padding:70px clamp(24px,8vw,130px);background:linear-gradient(110deg,#fffefa,#f1e4d0)}
.menu-hero h1{font-size:clamp(3.3rem,7vw,6.5rem)}
.menu-hero p:not(.eyebrow){font-size:1.1rem;color:var(--muted);max-width:620px}
.menu-hero .text-link{display:block;margin:0 0 45px}
.menu-hero img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;box-shadow:0 18px 55px #4f351d26}
.menu-index{position:sticky;top:108px;z-index:8;display:flex;gap:8px;overflow-x:auto;padding:14px clamp(24px,8vw,130px);background:#fffefaf2;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.menu-index a{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:99px;padding:9px 15px;font-size:.78rem}
.menu-index a:hover{background:var(--ink);color:white}
.menu-catalog{padding-top:70px}
.menu-category{scroll-margin-top:180px;margin-bottom:80px}
.menu-category h2{font-size:clamp(2.3rem,4vw,4rem);margin-bottom:28px}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.menu-item{background:var(--paper);padding:24px;display:grid;grid-template-columns:1fr auto;gap:18px;min-height:118px;align-items:start}
.menu-item h3{font:700 1.02rem "DM Sans";margin-bottom:8px}
.menu-item p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.5}
.menu-item>strong{color:var(--red);white-space:nowrap}
.menu-contact{padding:75px clamp(24px,8vw,130px);background:#f0e4d0;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.menu-contact h2{font-size:clamp(2.4rem,5vw,4.5rem)}
.menu-contact>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-weight:700;overflow-wrap:anywhere}
@media(max-width:900px){
  .topbar{height:90px;padding:0 18px}.logo-brand img{width:190px;height:72px}.topbar nav{display:none;position:absolute;top:90px;left:18px;right:18px;background:#17130ff5;color:white;padding:22px;flex-direction:column;align-items:stretch}.topbar nav.open{display:flex}.nav-toggle{display:block}
  .light-hero{grid-template-columns:1fr}.hero-content{padding:70px 24px 55px}.hero h1{font-size:clamp(3.3rem,15vw,5.3rem)}.hero-photo{min-height:380px;order:-1}.hero-info{flex-direction:column;gap:8px}
  .quick-actions{margin:0;grid-template-columns:1fr}.quick-actions a{border-right:0;border-bottom:1px solid var(--line);padding:20px 24px}
  .section,.visit-card,.hours-card{padding:75px 24px}.section-heading,.visit,.menu-hero,.menu-contact{grid-template-columns:1fr;gap:32px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery-card,.gallery-card-large{grid-row:auto;display:grid;grid-template-columns:1fr;min-height:0}.gallery-card img,.gallery-card-large img{height:auto;min-height:0;aspect-ratio:3/2}.food-cards{grid-template-columns:1fr}
  .menu-hero{padding:50px 24px}.menu-hero .text-link{margin-bottom:30px}.menu-index{top:90px;padding-left:24px;padding-right:24px}.menu-grid{grid-template-columns:1fr}.menu-contact>div:last-child{align-items:flex-start}
  footer{flex-direction:column;text-align:center}
}
@media(max-width:480px){.light-site{font-size:16px}.logo-brand img{width:160px}.hero h1{font-size:3.5rem}.hero-photo{min-height:300px}.hero-actions .btn,.center-actions .btn{width:100%}.food-cards article{min-height:auto}.gallery-card figcaption{padding:20px}.menu-item{padding:19px}.menu-contact a{max-width:100%}}
