:root{
  --noir:#14100d;--noir-2:#1b1611;--noir-3:#221a13;
  --cream:#ece3d2;--cream-dim:rgba(236,227,210,.6);
  --gold:#c9a35e;--gold-bright:#ecd29a;--gold-deep:#94733b;
  --emerald:#2f5d4a;--emerald-bright:#4f8a70;--line:rgba(201,163,94,.26);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--noir);color:var(--cream);font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.65;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--gold);color:var(--noir)}
.gold-text{background:linear-gradient(100deg,var(--gold-deep),var(--gold-bright) 45%,var(--gold) 70%,var(--gold-bright));-webkit-background-clip:text;background-clip:text;color:transparent}
.label{font-family:'Jost',sans-serif;font-weight:400;font-size:13px;letter-spacing:5px;text-transform:uppercase;color:var(--gold)}

header.site{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,70px);transition:background .45s ease,padding .45s ease,box-shadow .45s ease}
header.site.scrolled{background:rgba(20,16,13,.85);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);padding:14px clamp(20px,5vw,70px)}
.brand{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(22px,2.3vw,28px);text-decoration:none;letter-spacing:.5px}
nav ul{display:flex;gap:clamp(18px,2.6vw,42px);list-style:none}
nav a{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cream);text-decoration:none;position:relative;padding-bottom:4px;opacity:.85}
nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .35s ease}
nav a:hover{opacity:1}nav a:hover::after{width:100%}
.nav-toggle{display:none}

.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:130px 20px 90px;position:relative;background:radial-gradient(ellipse 60% 50% at 50% 38%, rgba(201,163,94,.13), transparent 70%),radial-gradient(ellipse at 50% 100%, rgba(47,93,74,.18), transparent 60%),var(--noir)}
.hero .label{margin-bottom:26px}
.hero h1{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(58px,13vw,168px);line-height:.9;letter-spacing:-1px}
.hero .sub{font-style:italic;font-size:clamp(20px,2.6vw,27px);color:var(--cream);margin-top:18px;max-width:540px}
.hero-line{display:flex;align-items:center;gap:16px;margin:34px 0 0}
.hero-line .seg{height:1px;width:clamp(40px,8vw,90px);background:linear-gradient(90deg,transparent,var(--gold))}
.hero-line .seg.r{background:linear-gradient(90deg,var(--gold),transparent)}
.hero-line .diamond{width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.hero .cta{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.btn{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;padding:15px 36px;text-decoration:none;cursor:pointer;transition:all .35s ease;border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn:hover{background:var(--gold);color:var(--noir)}
.btn.solid{background:var(--gold);color:var(--noir)}
.btn.solid:hover{background:var(--gold-bright);border-color:var(--gold-bright)}
.scroll-hint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%)}
.scroll-hint span{display:block;width:1px;height:46px;background:linear-gradient(var(--gold),transparent);margin:0 auto;animation:pulse 2s ease-in-out infinite}

section{padding:clamp(80px,12vw,150px) clamp(22px,6vw,100px);position:relative}
.section-head{margin-bottom:clamp(40px,6vw,66px)}
.section-head.center{text-align:center}
.section-title{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(40px,6.5vw,82px);line-height:1.02;margin-top:12px}

.maison{background:var(--noir-2)}
.maison .wrap{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,96px);align-items:center}
.maison p{margin-top:20px;color:var(--cream);opacity:.92}
.maison .lead::first-letter{font-family:'Fraunces',serif;font-size:74px;float:left;line-height:.66;margin:10px 14px 0 0;color:var(--gold)}
.portrait{aspect-ratio:4/5;border:1px solid var(--gold);position:relative;background:radial-gradient(ellipse at 30% 25%, rgba(201,163,94,.22), transparent 55%),linear-gradient(160deg,var(--noir-3),var(--noir));display:flex;align-items:center;justify-content:center}
.portrait::after{content:"";position:absolute;inset:10px;border:1px solid var(--line)}
.portrait .monogram{font-family:'Fraunces',serif;font-size:clamp(80px,14vw,150px);font-weight:300;line-height:1}

.menu-wide{max-width:1080px;margin:clamp(34px,5vw,60px) auto 0}
.menu-wide:first-child{margin-top:0}
.menu-wide h3{font-family:'Fraunces',serif;font-weight:400;font-style:italic;font-size:30px;color:var(--gold);margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--line);text-align:center}
.mlist{column-gap:50px}
.cols-1{columns:1}.cols-2{columns:2}.cols-3{columns:3}
.mlist .item{break-inside:avoid}
.item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:14px 0}
.item .name{font-size:21px}
.item .desc{display:block;font-size:15px;font-style:italic;color:var(--cream-dim);margin-top:1px}
.item .dots{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-6px)}
.item .price{font-family:'Fraunces',serif;font-weight:400;font-size:21px;color:var(--gold);white-space:nowrap}
.beer-fut{max-width:1080px;margin:0 auto;columns:2;column-gap:50px}
.beer-fut .row{break-inside:avoid;margin:0 0 16px}
.beer-fut .bn{font-family:'Fraunces',serif;font-size:22px;color:var(--cream)}
.beer-fut .bp{display:block;font-size:15px;font-style:italic;color:var(--gold);margin-top:2px}
.menu-note{text-align:center;font-style:italic;color:var(--cream-dim);margin:40px auto 0;max-width:760px;font-size:16px}

.ambiance{background:var(--noir-2)}
.gal{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{aspect-ratio:3/4;border:1px solid var(--line);overflow:hidden;position:relative;display:flex;align-items:flex-end}
.tile.wide{grid-column:span 2;aspect-ratio:auto}
.tile .scene{position:absolute;inset:0}
.tile figcaption{position:relative;z-index:2;width:100%;padding:18px 20px;background:linear-gradient(transparent,rgba(15,11,8,.85));font-family:'Fraunces',serif;font-style:italic;font-size:24px;color:var(--gold-bright)}

.visite .wrap{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px)}
.hours-row{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}
.hours-row .h{font-weight:600;color:var(--gold)}
.visite address{font-style:normal;font-size:22px;line-height:1.95}
.visite address strong{color:var(--gold);font-weight:600}
.info-card{margin-top:30px;border:1px solid var(--gold);padding:34px;text-align:center;position:relative;background:radial-gradient(ellipse at 50% 0%, rgba(47,93,74,.2), transparent 70%),var(--noir-3)}
.info-card .em{font-family:'Fraunces',serif;font-style:italic;font-size:30px;color:var(--gold-bright)}
.info-card .sub{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--emerald-bright);margin-top:10px}

footer.site{background:var(--noir);text-align:center;padding:70px 20px 44px;border-top:1px solid var(--line)}
footer.site .brand-f{font-family:'Fraunces',serif;font-weight:300;font-size:46px}
footer.site .tag{font-style:italic;color:var(--cream-dim);margin-top:8px}
footer.site .social{margin:26px 0;display:flex;gap:28px;justify-content:center}
footer.site .social a{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cream);text-decoration:none;opacity:.7;transition:.3s}
footer.site .social a:hover{opacity:1;color:var(--gold)}
footer.site .fine{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:1.5px;color:var(--cream-dim);opacity:.6;margin-top:18px}

@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
@media(max-width:1100px) and (min-width:821px){.cols-3{columns:2}}
@media(max-width:820px){
  header.site.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}
  .maison .wrap,.visite .wrap{grid-template-columns:1fr}
  .cols-2,.cols-3{columns:1}
  .beer-fut{columns:1}
  .portrait{order:-1}
  nav ul{position:fixed;inset:0 0 0 auto;width:min(74vw,310px);background:var(--noir-2);flex-direction:column;justify-content:center;padding:40px;gap:28px;transform:translateX(100%);transition:transform .4s ease;border-left:1px solid var(--line)}
  nav ul.open{transform:none}
  nav a{font-size:16px}
  .nav-toggle{display:block;background:none;border:none;color:var(--gold);font-size:26px;cursor:pointer;z-index:1001}
}
