
:root{
  --cream:#FBF6EC;
  --cream-2:#F4ECDD;
  --paper:#FFFDF8;
  --blue:#DCEAF0;
  --blue-2:#C5DBE4;
  --blue-strong:#789CAA;
  --ink:#273035;
  --muted:#6D716F;
  --gold:#B78A38;
  --gold-soft:#D6BC83;
  --line:rgba(86,91,89,.18);
  --shadow:0 18px 50px rgba(49,55,56,.08);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"Montserrat","Avenir Next","Segoe UI",Arial,sans-serif;
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
.wrap{width:min(calc(100% - 30px),var(--max));margin-inline:auto}
.kicker{
  margin:0 0 10px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
h1,h2,h3{margin:0;color:var(--ink)}
h1,h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.025em;
}
h1{font-size:clamp(44px,10vw,82px)}
h2{font-size:clamp(36px,7vw,60px)}
h3{font-size:22px;line-height:1.3}
p{margin:0 0 1rem}
.lead{font-size:clamp(19px,3vw,23px);line-height:1.62;color:#40484b}
.subtle{color:var(--muted)}
.section{padding:72px 0}
.section-blue{background:var(--blue)}
.section-paper{background:var(--paper)}
.section-dark{background:#26343A;color:#F7F3EA}
.section-dark h1,.section-dark h2,.section-dark h3{color:#F7F3EA}
.section-dark .subtle{color:#D5DDE0}
.section-head{max-width:760px;margin-bottom:30px}
.section-head p{margin-top:14px;color:#4D5557;font-size:18px}
.section-dark .section-head p{color:#D7DEE0}
.rule{height:1px;background:var(--line)}
.arrow{font-size:24px;color:var(--gold);line-height:1}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:13px 20px;
  border-radius:999px;border:1px solid var(--gold);
  font-size:14px;font-weight:700;letter-spacing:.01em;
}
.btn-primary{background:var(--gold);color:#fff}
.btn-cream{background:var(--paper)}
.btn-blue{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:90;
  background:rgba(251,246,236,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(183,138,56,.15);
}
.header-inner{height:72px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand img{width:56px;height:auto;flex:0 0 auto}
.brand-copy{line-height:1.08}
.brand-copy strong{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400}
.brand-copy small{display:block;margin-top:3px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.desktop-nav{margin-left:auto;display:none;align-items:center;gap:18px}
.desktop-nav a{font-size:13px;color:#535b5e}
.top-reserve{display:none}
.menu-toggle{margin-left:auto;border:0;background:none;padding:8px;font-size:28px;color:var(--ink);cursor:pointer}
.mobile-menu{display:none;background:var(--paper);border-top:1px solid var(--line)}
.mobile-menu.open{display:block}
.mobile-menu .wrap{padding:10px 0 18px;display:grid}
.mobile-menu a{padding:12px 2px;border-bottom:1px solid var(--line);font-size:16px}
.mobile-menu a:last-child{border-bottom:0}

/* HERO */
.hero{padding:18px 0 0}
.hero-frame{position:relative;overflow:hidden;min-height:570px;border-radius:0 0 30px 30px;background:#1e2629}
.hero-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center}
.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,23,25,.05) 28%,rgba(18,23,25,.76) 100%)}
.hero-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:22px;color:#fff}
.hero-copy h1{color:#fff;max-width:850px}
.hero-copy .kicker{color:#F1D18D}
.hero-copy .lead{color:#F7F4EE;max-width:720px;margin-top:14px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.hero-actions .btn{width:100%}
.quickfacts{background:var(--paper);border-bottom:1px solid var(--line)}
.quick-grid{display:grid}
.quick{padding:16px 0;border-bottom:1px solid var(--line)}
.quick:last-child{border-bottom:0}
.quick b{display:block;color:var(--gold);font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:3px}
.quick span{font-size:16px}

/* HOME CURRENT */
.current-list{border-top:1px solid var(--line)}
.current-row{
  display:grid;grid-template-columns:1fr auto;gap:14px;
  padding:21px 0;border-bottom:1px solid var(--line);align-items:center;
}
.current-row h3{margin-bottom:4px}
.current-row p{margin:0;color:var(--muted);font-size:15px}
.current-meta{margin-top:7px;color:var(--gold);font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}

/* EDITORIAL */
.editorial{
  display:grid;gap:24px;align-items:center;
}
.editorial-media{overflow:hidden;border-radius:24px;background:#e9e2d8}
.editorial-media img{width:100%;height:auto}
.editorial-media.photo img{aspect-ratio:4/3;object-fit:cover}
.editorial-copy{max-width:580px}
.editorial-copy p{color:#4E5658}
.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:8px;color:var(--gold);font-size:14px;font-weight:700}
.aquarell{background:#fff;border:1px solid rgba(183,138,56,.14);box-shadow:var(--shadow)}

/* FEATURE LINKS / ROOMS */
.room-stack{border-top:1px solid var(--line)}
.room-link{
  display:grid;gap:16px;padding:28px 0;border-bottom:1px solid var(--line);
}
.room-link img{width:100%;border-radius:22px;max-height:540px;object-fit:cover}
.room-link.saal img{object-fit:contain;background:#efe9de;max-height:620px}
.room-copy p{margin:7px 0 0;color:var(--muted)}
.room-copy .text-link{margin-top:11px}

/* MENUS */
.menu-list{border-top:1px solid var(--line)}
.menu-link{
  display:grid;grid-template-columns:1fr auto;gap:14px;
  padding:21px 0;border-bottom:1px solid var(--line);align-items:center;
  transition:.18s;
}
.menu-link:hover{padding-left:6px}
.menu-title{font-size:20px;font-weight:600}
.menu-desc{font-size:14px;color:var(--muted);margin-top:3px}
.menu-time{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:7px}
.menu-secondary{display:grid;gap:0;border-top:1px solid var(--line);margin-top:34px}

/* WEINKELLER */
.wine-hero{display:grid;gap:24px}
.wine-photo{overflow:hidden;border-radius:28px}
.wine-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.wine-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.wine-detail img{width:100%;height:190px;object-fit:cover;border-radius:18px}

/* EVENT */
.facts{display:grid;gap:0;border-top:1px solid var(--line);margin-top:24px}
.fact{padding:15px 0;border-bottom:1px solid var(--line)}
.fact b{display:block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:3px}

/* TEAM */
.team-collage{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.team-collage figure{margin:0;overflow:hidden;border-radius:18px;background:#e5e0d8}
.team-collage img{width:100%;height:100%;object-fit:cover}
.team-collage .steve{grid-column:1/-1;height:270px}
.team-collage .portrait{height:245px}
.team-collage .marina img{object-position:center 18%}
.team-collage .carole img{object-position:center 25%}
.team-collage .team{grid-column:1/-1;height:auto}
.team-collage .team img{height:auto;object-fit:contain}
.team-copy{margin-top:28px}
.team-copy p{font-size:18px;color:#4D5557}

/* EXPERIENCES */
.experience-list{border-top:1px solid rgba(39,48,53,.22)}
.experience{padding:22px 0;border-bottom:1px solid rgba(39,48,53,.18)}
.experience p{margin:7px 0 0;color:#566064}
.status{display:inline-block;margin-top:10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.presentation-note{margin-top:26px;padding:16px 0 0 18px;border-left:2px solid var(--gold);color:#505A5E;max-width:760px}

/* PRESS */
.press-card{display:grid;gap:22px}
.press-image{overflow:hidden;border-radius:24px;background:#fff}
.press-image img{width:100%;height:auto}
.press-note{color:var(--muted)}

/* INFO */
.info-list{border-top:1px solid var(--line)}
.info-row{padding:19px 0;border-bottom:1px solid var(--line)}
.info-label{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px}
.info-value{font-size:18px}
.info-small{font-size:16px;color:#4F585B}
.dog{
  margin-top:34px;background:var(--blue);border-radius:26px;padding:18px;
  display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:center;
}
.dog img{width:100px;height:120px;object-fit:contain}
.dog h3,.dog h2{margin-bottom:4px}
.dog p{margin:0;color:#516065;font-size:15px}

/* PAGE HERO */
.page-hero{padding:48px 0 38px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero .lead{max-width:720px;margin-top:14px}

/* FOOTER */
footer{background:#26343A;color:#F8F3EA;padding:38px 0 24px}
.footer-grid{display:grid;gap:24px}
.footer-brand{display:flex;align-items:center;gap:15px}
.footer-brand img{width:95px}
.footer-brand strong{font-family:Georgia,serif;font-size:27px;font-weight:400}
.footer-brand small{display:block;color:#DDBB78;font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-top:3px}
.footer-text{color:#D9E0E1;max-width:560px;margin-top:12px}
.footer-links{display:grid;gap:10px}
.footer-links a{color:#F8F3EA;font-size:16px}
.footer-bottom{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#CBD3D5;font-size:13px}

/* RESPONSIVE */
@media(min-width:760px){
  body{font-size:18px}
  .wrap{width:min(calc(100% - 46px),var(--max))}
  .hero{padding-top:28px}
  .hero-frame{min-height:650px;border-radius:30px}
  .hero-copy{left:38px;right:38px;bottom:36px}
  .hero-actions .btn{width:auto}
  .quick-grid{grid-template-columns:repeat(3,1fr)}
  .quick{padding:18px 22px;border-bottom:0;border-right:1px solid var(--line)}
  .quick:last-child{border-right:0}
  .editorial{grid-template-columns:1fr 1fr;gap:46px}
  .editorial.reverse .editorial-copy{order:1}
  .editorial.reverse .editorial-media{order:2}
  .room-link{grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
  .room-link.reverse{grid-template-columns:.85fr 1.15fr}
  .room-link.reverse .room-copy{order:1}
  .room-link.reverse .room-media{order:2}
  .wine-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:44px}
  .team-collage{grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:210px}
  .team-collage .steve{grid-column:1;grid-row:1/3;height:auto}
  .team-collage .portrait{height:auto}
  .team-collage .team{grid-column:2/4}
  .team-collage .team img{height:210px;object-fit:cover;object-position:center top}
  .press-card{grid-template-columns:1fr 1fr;align-items:center;gap:44px}
  .footer-grid{grid-template-columns:1.2fr .8fr}
  .dog{grid-template-columns:130px 1fr;padding:22px}
  .dog img{width:130px;height:145px}
}
@media(min-width:1060px){
  .desktop-nav{display:flex}
  .top-reserve{display:inline-flex;margin-left:4px}
  .menu-toggle{display:none}
  .section{padding:92px 0}
}

/* Technical accessibility corrections; original layout and assets retained. */
.kicker,.text-link,.current-meta,.menu-time,.quick b,.fact b,.info-label,.status,.brand-copy small{color:#846020}
.hero-copy .kicker{color:#F1D18D}
.section-dark .kicker,.section-dark .text-link{color:#D6BC83}
.btn-primary,.btn-blue{color:#172025}
.btn-cream{color:var(--ink)}
.experience h2{font-family:inherit;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:normal}
.dog h2{font-family:inherit;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:normal}
:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:15px;z-index:1000;padding:10px 16px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
[id]{scroll-margin-top:90px}
.mobile-menu{max-height:calc(100dvh - 72px);overflow-y:auto}
.footer-links a,.info-small a{overflow-wrap:anywhere}
.legal-copy{max-width:900px}
.legal-copy h2{font-size:32px;margin:32px 0 16px}
.legal-copy h2:first-child{margin-top:0}
.legal-copy a{text-decoration:underline}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-link{transition:none}}
@media(max-width:360px){.hero-copy h1{font-size:clamp(38px,12vw,44px)}}

/* Requested October display changes; original images and layout retained. */
.brand-home img{width:clamp(64px,18vw,78px)}
.text-link-prominent{font-size:clamp(20px,3vw,24px);line-height:1.4;min-height:44px}
.footer-brand img{width:clamp(110px,14vw,140px);flex:0 0 auto}
.footer-brand>div{min-width:0}
.menu-pending:hover{padding-left:0}
.dog{grid-template-columns:150px minmax(0,1fr)}
.dog img{width:150px;height:auto}
.dog .kicker{font-size:clamp(18px,3vw,22px);letter-spacing:.08em}
@media(min-width:760px){.dog{grid-template-columns:190px minmax(0,1fr)}.dog img{width:190px;height:auto}}
@media(max-width:480px){.dog{grid-template-columns:1fr}.dog img{justify-self:center}}
