:root{
  --bg:#15110b; --bg-2:#1c1710; --bg-3:#262015;
  --gold:#c8a463; --gold-2:#e7d09a; --gold-3:#9a7a42;
  --champagne:#ded2b8;
  --ivory:#f5efe3; --ivory-2:#ece2d0;
  --cream:#f3ece0;
  --mut-d:#ab9e85; --mut-l:#7a6e57;
  --ink:#241c11;
  --line-d:rgba(200,164,99,.22); --line-l:#e0d5bf;
  --maxw:1180px;
  --ease:cubic-bezier(.22,.7,.2,1);
  --shadow:0 26px 60px -28px rgba(8,6,3,.6);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:clamp(16px,1.04vw,17.5px);line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.05;margin:0}
p{margin:0 0 1em}
section{scroll-margin-top:88px}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,52px)}
.gold-text{color:var(--gold)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.gold-text{background:linear-gradient(180deg,#f2dfac 0%,#d9b876 38%,#c8a463 60%,#9a7a42 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}}

/* kicker + crown divider (logo echo) */
.kicker{font-family:"Cinzel",serif;font-weight:600;font-size:.74rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin:0}
.crown-divider{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.crown-divider.center{justify-content:center;text-align:center;flex-direction:column;gap:14px}
.crown-divider .rule{height:1px;width:46px;background:linear-gradient(90deg,transparent,var(--gold))}
.crown-divider.center .crown-row{display:flex;align-items:center;gap:16px}
.crown-divider.center .rule:first-child{background:linear-gradient(90deg,transparent,var(--gold))}
.crown{width:30px;height:20px;flex:none;color:var(--gold)}
.eyebrow-line{display:flex;align-items:center;gap:14px}

/* display headings */
.h-xl{font-size:clamp(2.7rem,6vw,5rem);font-weight:500;letter-spacing:.005em;line-height:1.02}
.h-lg{font-size:clamp(2.1rem,4.2vw,3.4rem);font-weight:500}
.h-md{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500}
.lede{font-size:clamp(1.08rem,1.5vw,1.28rem);color:var(--mut-l);max-width:62ch}
.sec-dark .lede{color:var(--mut-d)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.7em;border-radius:2px;
  font-family:"Hanken Grotesk",sans-serif;font-weight:600;font-size:.86rem;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;border:1px solid transparent;transition:all .3s var(--ease)}
.btn-gold{background:linear-gradient(180deg,var(--gold-2),var(--gold) 55%,var(--gold-3));color:#241804;box-shadow:0 14px 30px -16px rgba(200,164,99,.8)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(200,164,99,.95)}
.btn-line{background:transparent;border-color:var(--gold);color:var(--gold)}
.btn-line:hover{background:rgba(200,164,99,.1);transform:translateY(-2px)}
.btn-line.on-dark{color:var(--gold-2);border-color:rgba(200,164,99,.6)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* sections bg */
.sec{padding:clamp(72px,9vw,128px) 0}
.sec-ivory{background:var(--ivory);color:var(--ink)}
.sec-ivory2{background:var(--ivory-2);color:var(--ink)}
.sec-dark{background:var(--bg);color:var(--cream)}
.sec-dark h1,.sec-dark h2,.sec-dark h3{color:var(--cream)}
.sec-dark-tex{background:
  radial-gradient(120% 90% at 50% -10%,rgba(200,164,99,.08),transparent 55%),
  linear-gradient(180deg,#181309,#13100a)}

/* ---------- HEADER ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:70;padding:18px 0;transition:all .4s var(--ease);border-bottom:1px solid transparent}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand img{height:42px;width:auto;transition:height .4s var(--ease)}
.nav{display:flex;align-items:center;gap:24px}
.nav a{font-family:"Hanken Grotesk",sans-serif;text-decoration:none;font-weight:500;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;color:var(--champagne);white-space:nowrap;position:relative;transition:color .25s var(--ease)}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:right .3s var(--ease)}
.nav a:hover{color:var(--gold-2)}
.nav a:hover::after{right:0}
.hdr-cta{display:inline-flex;align-items:center;gap:20px}
.hdr-cta .btn{white-space:nowrap;font-size:.8rem;letter-spacing:.05em;padding:.8em 1.35em}
.hdr-phone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:.85rem;letter-spacing:.06em;color:var(--champagne);white-space:nowrap}
.hdr-phone svg{width:16px;height:16px;color:var(--gold)}
.hdr.solid{background:rgba(18,14,8,.9);backdrop-filter:saturate(1.1) blur(12px);box-shadow:var(--shadow);border-bottom-color:var(--line-d);padding:11px 0}
.hdr.solid .brand img{height:36px}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line-d);background:transparent;border-radius:3px;cursor:pointer;padding:0;align-items:center;justify-content:center}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:1.5px;background:var(--gold);transition:.3s var(--ease)}
.menu-toggle span{position:relative}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:clamp(560px,76vh,820px);display:flex;align-items:center;overflow:hidden;
  background-color:#100c07;
  background-image:linear-gradient(180deg,rgba(16,12,7,.74) 0%,rgba(16,12,7,.6) 35%,rgba(14,10,6,.92) 100%),url("https://www.jaanitare.ee/wp-content/uploads/2024/07/315968418_567841622007736_3448449514283666226_n.jpg");
  background-size:cover;background-position:center;}
.hero::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 220px 40px rgba(8,6,3,.7);pointer-events:none}
.hero__in{position:relative;z-index:2;width:100%;padding:96px 0 40px;text-align:center}
.hero .crown{width:42px;height:28px}
.hero__title{margin:.18em auto .42em;max-width:18ch}
.hero__sub{color:#e9dcc2;font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:60ch;margin:0 auto 2.1em}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.hero__status{display:inline-flex;align-items:center;gap:10px;margin-left:4px}
.status-pill{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.62em 1.05em;border-radius:2px;background:rgba(245,239,227,.06);border:1px solid var(--line-d);color:var(--champagne)}
.status-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--mut-d)}
.status-pill.is-open .dot{background:#9ccb6e;box-shadow:0 0 0 4px rgba(156,203,110,.18)}
.status-pill.is-closed .dot{background:#cf7a52}
.status-detail{font-size:.8rem;color:var(--mut-d);letter-spacing:.04em}

/* notice + hours bar */
.notice{background:var(--bg-3);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);color:var(--champagne)}
.notice__in{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 26px;padding:14px 0;text-align:center;font-size:.92rem}
.notice strong{color:var(--gold-2);font-weight:600}
.notice .sep{color:var(--gold-3)}
.notice a{color:var(--gold-2);text-decoration:none;border-bottom:1px solid var(--line-d)}

/* ---------- ABOUT ---------- */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(38px,5.5vw,80px);align-items:center}
.about__body h2{margin-bottom:.5em;max-width:16ch}
.welcome{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.3rem;color:var(--gold-3);margin-bottom:.7em}
.about__quote{margin:1.7em 0;padding:22px 26px;background:#fff8ec;border-left:3px solid var(--gold);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--ink);line-height:1.42}
.about__quote cite{display:block;margin-top:.5em;font-style:normal;font-family:"Hanken Grotesk",sans-serif;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut-l)}
.about__sign{margin-top:1em;font-family:"Cinzel",serif;font-weight:600;letter-spacing:.06em;color:var(--gold-3)}
.about__media{position:relative}
.frame{position:relative;border-radius:3px;overflow:hidden;background:linear-gradient(150deg,#2b2114,#181208);border:1px solid var(--line-d)}
.frame img{width:100%;height:100%;object-fit:cover;transition:opacity .4s ease}
.frame img.img-failed{opacity:0}
.about__media .frame{aspect-ratio:4/5;box-shadow:var(--shadow)}
.about__media .frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(200,164,99,.35);margin:10px;pointer-events:none}
.awards{display:flex;gap:16px;align-items:center;margin-top:22px;flex-wrap:wrap}
.awards img{height:84px;width:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}
.awards .frame{display:none}
.ajalugu-feature{margin:44px 0 6px}
.ajalugu-feature .frame{aspect-ratio:2048/1068;box-shadow:var(--shadow)}
.ajalugu-feature figcaption,.oldfotos figcaption{text-align:center;color:var(--mut-d);font-style:italic;font-family:"Cormorant Garamond",serif;font-size:1.02rem;margin-top:11px}
.timeline{max-width:820px;margin:50px auto 0;position:relative}
.timeline::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:1px;background:linear-gradient(180deg,var(--gold),rgba(200,164,99,.15))}
.era{position:relative;padding:0 0 40px 46px}
.era:last-child{padding-bottom:0}
.era::before{content:"";position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}
.era--now::before{background:var(--gold);box-shadow:0 0 0 4px rgba(200,164,99,.16)}
.era__year{font-family:"Cinzel",serif;font-weight:600;font-size:.76rem;letter-spacing:.16em;color:var(--gold-2)}
.era__title{font-size:1.55rem;color:var(--cream);margin:.1em 0 .45em}
.era p{color:var(--mut-d)}
.era__story{margin:1.1em 0 0;padding:18px 24px;background:rgba(200,164,99,.06);border-left:2px solid var(--gold-3);border-radius:0 3px 3px 0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--champagne);line-height:1.55}
.oldfotos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}
.oldfotos .frame{aspect-ratio:300/190}
.oldfotos figure{margin:0}
.ajalugu-credit{text-align:center;color:var(--mut-d);font-style:italic;font-size:.86rem;margin-top:36px}

/* ---------- MENU ---------- */
.menu-head{text-align:center;margin-bottom:54px}
.menu-head .h-lg{margin-top:.1em}
.carte{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px)}
.cat{break-inside:avoid;margin-bottom:30px}
.cat__name{font-family:"Cinzel",serif;font-weight:600;font-size:1.12rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-3);
  display:flex;align-items:center;gap:14px;margin-bottom:4px}
.cat__name::after{content:"";flex:1;height:1px;background:var(--line-l)}
.cat__hint{color:var(--mut-l);font-size:.86rem;font-style:italic;font-family:"Cormorant Garamond",serif;font-size:1.02rem;margin:0 0 14px}
.dish{padding:11px 0;border-bottom:1px solid #eadfc9}
.dish:last-child{border-bottom:0}
.dish__top{display:flex;align-items:baseline;gap:.4rem}
.dish__name{font-weight:600;font-size:1.02rem;color:var(--ink)}
.dish__lead{flex:1;border-bottom:1px dotted #ccb98f;transform:translateY(-4px);min-width:18px}
.dish__price{font-weight:700;color:var(--gold-3);font-size:1rem;white-space:nowrap}
.dish__desc{color:var(--mut-l);font-size:.88rem;margin:.15em 0 0;max-width:46ch}
.menu-notes{margin-top:44px;display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:stretch}
.lunch{background:linear-gradient(155deg,#1c1710,#13100a);color:var(--cream);border:1px solid var(--line-d);border-radius:3px;padding:clamp(26px,3.4vw,38px);position:relative;overflow:hidden}
.lunch::after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(200,164,99,.22),transparent 70%)}
.lunch .kicker{margin-bottom:10px}
.lunch h3{color:var(--gold-2);font-size:1.7rem;margin-bottom:.35em}
.lunch p{color:var(--mut-d);margin-bottom:1.3em}
.fineprint{background:#fff8ec;border:1px solid var(--line-l);border-radius:3px;padding:clamp(22px,3vw,32px);font-size:.86rem;color:var(--mut-l)}
.fineprint p{margin:0 0 .7em;padding-left:20px;position:relative}
.fineprint p::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg)}
.fineprint p:last-child{margin:0}

/* ---------- GALLERY ---------- */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:14px}
.gallery .frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(200,164,99,.25);margin:8px;pointer-events:none;transition:margin .35s var(--ease)}
.gallery .frame:hover::after{margin:5px}
.gallery .frame img{transition:transform .6s var(--ease),opacity .4s ease}
.gallery .frame:hover img{transform:scale(1.05)}
.gp1{grid-column:span 6;grid-row:span 2}
.gp2{grid-column:span 3;grid-row:span 1}
.gp3{grid-column:span 3;grid-row:span 2}
.gp4{grid-column:span 3;grid-row:span 1}
.gp5{grid-column:span 6;grid-row:span 2}
.gp6{grid-column:span 3;grid-row:span 2}
.gallery-note{margin-top:16px;color:var(--mut-d);font-size:.82rem;text-align:center}

/* ---------- REVIEWS ---------- */
.rating-line{text-align:center;margin-bottom:42px;color:var(--mut-d)}
.rating-line .stars{color:var(--gold-2);letter-spacing:.2em;font-size:1.1rem}
.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.review{background:linear-gradient(160deg,#1d1810,#161109);border:1px solid var(--line-d);border-radius:3px;padding:clamp(26px,3vw,36px);position:relative}
.review .qmark{font-family:"Cormorant Garamond",serif;font-size:4rem;line-height:.6;color:var(--gold-3);opacity:.55;height:.5em}
.review p{font-family:"Cormorant Garamond",serif;font-size:1.22rem;font-style:italic;color:var(--champagne);line-height:1.5;margin:.4em 0 1em}
.review cite{font-family:"Cinzel",serif;font-style:normal;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* ---------- INFO CARDS (events) ---------- */
.events-head{max-width:62ch;margin-bottom:46px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;display:block;min-height:320px;border-radius:4px;overflow:hidden;border:1px solid var(--line-l);box-shadow:0 8px 30px rgba(20,14,6,.14);text-decoration:none}
.card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s var(--ease)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,7,.1) 0%,rgba(16,12,7,.45) 55%,rgba(14,10,6,.9) 100%)}
.card:hover .card__img{transform:scale(1.06)}
.card__body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(22px,2.4vw,30px)}
.card__body .k{font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-2);display:block;margin-bottom:.35em}
.card__body h3{font-family:"Cormorant Garamond",serif;font-size:1.85rem;line-height:1.05;color:#fff;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.card__go{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--gold-2);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.card__go svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.card:hover .card__go svg{transform:translateX(4px)}
.grupimenu{margin-top:56px;padding-top:52px;border-top:1px solid var(--line-l)}
.grupimenu__head{text-align:center;max-width:66ch;margin:0 auto 34px}
.grupimenu__head .h-md{color:var(--gold-3);margin-bottom:.25em}
.grupimenu__tag{color:var(--mut-l);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem}
.setmenus{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.setmenu{background:#fff8ec;border:1px solid var(--line-l);border-radius:3px;padding:clamp(24px,2.6vw,32px)}
.setmenu__lab{display:block;font-family:"Cinzel",serif;font-weight:600;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-3);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-l)}
.setmenu__body{color:var(--mut-l);font-size:.98rem;line-height:1.62;margin:0}
.setmenu__list{list-style:none;margin:0;padding:0}
.setmenu__list li{position:relative;padding:7px 0 7px 20px;color:var(--mut-l);font-size:.95rem;border-bottom:1px dotted #e6d9bf}
.setmenu__list li:last-child{border-bottom:0}
.setmenu__list li::before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.grupimenu__note{text-align:center;max-width:72ch;margin:30px auto 0;color:var(--mut-l);font-size:.92rem}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line-l)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:var(--ink);transition:color .25s var(--ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;border-right:1.5px solid var(--gold-3);border-bottom:1.5px solid var(--gold-3);transform:translateY(-60%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary{color:var(--gold-3)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:hover{color:var(--gold-3)}
.faq .ans{padding:0 0 22px;color:var(--mut-l);font-size:.98rem;max-width:70ch}
.faq .ans a{color:var(--gold-3)}

/* ---------- CONTACT ---------- */
.contact{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(36px,5vw,68px);align-items:start}
.contact h2{margin-bottom:.4em}
.cinfo{list-style:none;margin:1.5em 0 0;padding:0;display:grid;gap:18px}
.cinfo li{display:flex;gap:15px;align-items:flex-start}
.cinfo .ic{width:42px;height:42px;flex:none;border:1px solid var(--line-d);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.cinfo .ic svg{width:18px;height:18px}
.cinfo b{display:block;font-family:"Cinzel",serif;font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.cinfo a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--line-d)}
.cinfo a:hover{color:var(--gold-2)}
.cinfo span{color:var(--mut-d)}
.hours{margin-top:6px;font-size:.94rem}
.hours div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;border-bottom:1px dotted var(--line-d);max-width:320px;color:var(--mut-d)}
.hours div:last-child{border-bottom:0}
.hours .day{color:var(--champagne)}
.hours .cl{color:#cf7a52}
.form{background:linear-gradient(160deg,#1d1810,#15110a);border:1px solid var(--line-d);border-radius:3px;padding:clamp(26px,3.4vw,42px);box-shadow:var(--shadow)}
.form h3{color:var(--gold-2);font-size:1.7rem;margin-bottom:.25em}
.form .sub{color:var(--mut-d);font-size:.92rem;margin-bottom:1.6em}
.field{margin-bottom:15px}
.field label{display:block;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-d);margin-bottom:7px;font-family:"Hanken Grotesk",sans-serif}
.field input,.field textarea{width:100%;background:rgba(245,239,227,.05);border:1px solid var(--line-d);border-radius:2px;padding:.85em 1em;color:var(--cream);font-family:inherit;font-size:.98rem;transition:border-color .25s var(--ease),background .25s var(--ease)}
.field input::placeholder,.field textarea::placeholder{color:rgba(171,158,133,.55)}
.field input:focus,.field textarea:focus{border-color:var(--gold);background:rgba(245,239,227,.08);outline:none}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form .btn{width:100%;margin-top:6px}
.form-note{font-size:.78rem;color:var(--mut-d);text-align:center;margin:14px 0 0}
.map{margin-top:clamp(46px,6vw,78px);border:1px solid var(--line-d);border-radius:3px;overflow:hidden}
.map iframe{width:100%;height:440px;border:0;display:block;filter:grayscale(.25) saturate(.9) contrast(.95)}

/* ---------- FOOTER ---------- */
.footer{background:#0f0c07;color:var(--cream);padding:clamp(58px,7vw,92px) 0 28px;position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 50% 130%,rgba(200,164,99,.1),transparent 60%)}
.footer__in{position:relative}
.footer__top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:38px;padding-bottom:44px;border-bottom:1px solid var(--line-d)}
.footer__brand img{height:46px;margin-bottom:18px}
.footer__about{color:var(--mut-d);font-size:.92rem;max-width:34ch}
.social{display:inline-flex;width:42px;height:42px;border:1px solid var(--line-d);border-radius:50%;align-items:center;justify-content:center;color:var(--gold);margin-top:6px;transition:.25s var(--ease)}
.social:hover{background:var(--gold);color:#241804;border-color:var(--gold)}
.social svg{width:18px;height:18px}
.fcol h4{font-family:"Cinzel",serif;font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.fcol a,.fcol p{display:block;color:var(--mut-d);text-decoration:none;font-size:.93rem;margin:0 0 9px;transition:color .25s var(--ease)}
.fcol a:hover{color:var(--gold-2)}
.footer__bot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:.82rem;color:var(--mut-d)}
.footer__bot a{color:var(--mut-d);text-decoration:none;border-bottom:1px solid transparent}
.footer__bot a:hover{color:var(--gold-2);border-color:var(--gold)}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal].in{opacity:1;transform:none}

/* responsive */
@media(max-width:1200px){
  .hdr__in{gap:14px}
  .nav{gap:16px}
  .nav a{font-size:.75rem;letter-spacing:.07em}
  .hdr-cta{gap:12px}
  .hdr-cta .btn{font-size:.72rem;padding:.72em 1.05em;letter-spacing:.03em}
}
@media(max-width:920px){
  .nav,.hdr-phone{display:none}
  .menu-toggle{display:flex}
  .hdr-cta .btn{display:none}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(16,12,7,.98);
    padding:6px 0 16px;border-top:1px solid var(--line-d);transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;transition:.3s var(--ease)}
  .nav.open{display:flex;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:var(--shadow)}
  .nav a{padding:14px clamp(20px,5vw,52px)}
  .nav a::after{display:none}
  .about,.contact{grid-template-columns:1fr}
  .about__media{order:-1;max-width:440px}
  .carte{grid-template-columns:1fr;gap:30px}
  .menu-notes,.field-row{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .setmenus{grid-template-columns:1fr}
  .oldfotos{grid-template-columns:1fr 1fr}
  .reviews{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(6,1fr);grid-auto-rows:140px}
  .gp1,.gp5{grid-column:span 6}.gp2,.gp3,.gp4,.gp6{grid-column:span 3;grid-row:span 1}
  .footer__top{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .cards{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .gp1,.gp2,.gp3,.gp4,.gp5,.gp6{grid-column:span 1;grid-row:span 1}
  .footer__top{grid-template-columns:1fr}
  .hero__status{margin-left:0;flex-basis:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}

/* --- pisimuudatused: teateriba, grupimenuu, telefonibroneering, lightbox --- */
.notice__urgent{flex-basis:100%;text-align:center;color:#e0554e;font-weight:700;letter-spacing:.01em;font-size:.98rem}
.setmenu__price{display:inline-block;font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:600;color:var(--gold-3);margin:-4px 0 12px}
.setmenu__incl{color:var(--mut-l);font-size:.85rem;font-style:italic;margin:12px 0 0}
.grupimenu__hea{max-width:66ch;margin:26px auto 0;text-align:center;background:#fff8ec;border:1px solid var(--line-l);border-radius:3px;padding:18px 26px}
.grupimenu__hea h4{font-family:"Cinzel",serif;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-3);margin-bottom:.45em}
.grupimenu__hea p{color:var(--mut-l);font-size:.94rem;margin:0}
.rev-cta{text-align:center;margin-top:44px}
.rev-cta p{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.28rem;color:var(--gold-2);margin-bottom:1em}
.peo-form-wrap{max-width:640px;margin:46px auto 0}
.book-phone{background:linear-gradient(160deg,#1d1810,#15110a);border:1px solid var(--line-d);border-radius:3px;padding:clamp(26px,3.4vw,42px);box-shadow:var(--shadow);align-self:start}
.book-phone h3{color:var(--gold-2);font-size:1.7rem;margin-bottom:.35em}
.book-phone .sub{color:var(--mut-d);font-size:.96rem;margin-bottom:1.4em}
.book-phone__call{display:inline-block;font-size:1.05rem}
.book-phone__note{color:var(--mut-d);font-size:.9rem;margin:1.5em 0 0;line-height:1.6}
.book-phone__note a{color:var(--gold-2)}
.lb{position:fixed;inset:0;background:rgba(12,9,5,.94);display:none;align-items:center;justify-content:center;z-index:300;padding:28px}
.lb.open{display:flex}
.lb__fig{margin:0;max-width:94vw;max-height:88vh;text-align:center}
.lb__fig img{max-width:94vw;max-height:80vh;border:1px solid var(--line-d);box-shadow:0 20px 60px rgba(0,0,0,.6);background:#15110b}
.lb__fig figcaption{margin-top:14px;color:var(--champagne);font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.1rem}
.lb__x{position:absolute;top:16px;right:24px;background:none;border:0;color:#e7d09a;font-size:2.6rem;line-height:1;cursor:pointer}

/* ---- mitmeleheline + keelevahetus ---- */
body.inner{padding-top:74px}
.langsw{display:inline-flex;align-items:center;gap:1px}
.langsw a{font-family:"Hanken Grotesk",sans-serif;font-size:.73rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut-d);text-decoration:none;padding:5px 6px;border-radius:3px;transition:color .2s var(--ease)}
.langsw a:hover{color:var(--champagne)}
.langsw a.on{color:var(--gold-2)}
.langsw .divi{color:var(--line-d);font-size:.7rem}
.nav a.active{color:var(--gold-2)}
.nav a.active::after{right:0}
.page-hero{position:relative;padding:64px 0 34px;text-align:center;background:linear-gradient(180deg,#15110b,#1c1710)}
.page-hero .kicker{margin-bottom:.2em}

/* ---- jaluse ruudustik (mitmeleheline) ---- */
.footer .container{position:relative}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:38px;padding-bottom:40px;border-bottom:1px solid var(--line-d);align-items:start}
.footer__brand p{color:var(--mut-d);font-size:.9rem;margin:.25em 0}
.footer__col h4{font-family:"Cinzel",serif;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-3);margin-bottom:.8em}
.footer__col p{color:var(--mut-d);font-size:.92rem;margin:.35em 0}
.footer__col a{color:var(--champagne);text-decoration:none;border-bottom:1px solid var(--line-d)}
.footer__col a:hover{color:var(--gold-2)}
@media(max-width:760px){.footer__grid{grid-template-columns:1fr;gap:26px}}

/* ---- galerii-leht (muutuv piltide arv) ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery-grid .frame{aspect-ratio:4/3}

/* ---- menuu-leht: automaatselt tasakaalus veerud ---- */
.carte-cols{column-count:2;column-gap:clamp(36px,5vw,72px)}
.carte-cols .cat{break-inside:avoid}
.cat__hint{color:var(--mut-l);font-style:italic;font-size:.9rem;margin:-6px 0 10px}
@media(max-width:720px){.carte-cols{column-count:1}}

/* ---- kontaktkaart ---- */
.map-frame{border:1px solid var(--line-d);border-radius:3px;overflow:hidden;box-shadow:var(--shadow)}

/* ---- uritusbanner (hallatav) ---- */
.event-banner{position:relative;background:#1c1710;background-size:cover;background-position:center;border-top:1px solid var(--gold-3);border-bottom:1px solid var(--gold-3)}
.event-banner__in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;flex-wrap:wrap}
.event-banner .k{font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-2)}
.event-banner h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.5rem,3vw,2.2rem);color:#fff;margin:.15em 0 .1em;line-height:1.1}
.event-banner p{color:#d8ccb6;margin:0;max-width:64ch}

/* ---- hero taustavideo ---- */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,12,7,.72) 0%,rgba(16,12,7,.55) 35%,rgba(14,10,6,.92) 100%)}
