/* ===== RESET & TOKENS ===== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
:root{
  --ink:#1a1008;
  --ink2:#3d2c18;
  --mut:#7a6550;
  --bg:#f5ede2;
  --bg2:#ede2d4;
  --paper:#faf5ee;
  --amber:#c8841a;
  --amber-d:#a36a10;
  --amber-l:#e8a840;
  --rust:#8b3a1a;
  --sage:#4a6741;
  --cream:#f0e8d8;
  --line:#d4c4ae;
  --line2:#c0aa8e;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Lato',system-ui,sans-serif;
}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* ===== ICONS ===== */
.ic{
  display:inline-block;
  background:currentColor;
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
  width:20px;height:20px;
  flex:0 0 auto;
}

/* ===== REVEAL ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal-l{opacity:0;transform:translateX(-28px);transition:opacity .7s ease,transform .7s ease}
.reveal-l.in{opacity:1;transform:none}
.reveal-r{opacity:0;transform:translateX(28px);transition:opacity .7s ease,transform .7s ease}
.reveal-r.in{opacity:1;transform:none}
[data-delay="1"]{transition-delay:.1s}
[data-delay="2"]{transition-delay:.2s}
[data-delay="3"]{transition-delay:.3s}
[data-delay="4"]{transition-delay:.4s}
[data-delay="5"]{transition-delay:.5s}
[data-delay="6"]{transition-delay:.6s}

/* ===== MARQUEE ===== */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-wrap{overflow:hidden;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--ink);padding:12px 0}
.marquee-inner{display:flex;width:max-content;animation:marquee 28s linear infinite}
.marquee-item{
  font-family:var(--serif);
  font-size:1rem;
  font-style:italic;
  color:var(--cream);
  padding:0 52px;
  white-space:nowrap;
  letter-spacing:.04em;
}
.marquee-sep{color:var(--amber);font-style:normal}

/* ===== NAV ===== */
.site-header{
  background:var(--ink);
  border-bottom:2px solid var(--amber);
  position:sticky;
  top:0;
  z-index:100;
}
.nav-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  align-items:center;
  height:64px;
  gap:0;
}
.nav-logo{
  font-family:var(--serif);
  font-size:1.65rem;
  font-weight:600;
  color:#fff;
  letter-spacing:-.01em;
  margin-right:auto;
  display:flex;
  align-items:baseline;
  gap:8px;
}
.nav-logo span{
  font-size:.72rem;
  font-family:var(--sans);
  font-weight:300;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--amber-l);
  vertical-align:middle;
  padding-left:6px;
  border-left:1px solid var(--amber);
  margin-left:6px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:30px;
  list-style:none;
}
.nav-links a{
  font-size:.82rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
  font-weight:700;
  transition:color .2s;
}
.nav-links a:hover{color:var(--amber-l)}
.nav-btn{
  margin-left:28px;
  background:var(--amber);
  color:#fff;
  font-family:var(--sans);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:10px 22px;
  border:none;
  cursor:pointer;
  transition:background .2s,transform .2s;
}
.nav-btn:hover{background:var(--amber-d);transform:translateY(-1px)}

/* ===== MAGAZINE MASTHEAD ===== */
.masthead{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
}
.issue-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:.72rem;
  font-family:var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mut);
  font-weight:700;
}
.issue-bar .cats{display:flex;gap:20px}
.issue-bar .cats a{color:var(--mut);transition:color .2s}
.issue-bar .cats a:hover{color:var(--amber)}

/* ===== FRONT PAGE / EDITORIAL ===== */
.editorial-wrap{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px 56px;
}

/* Titulní pás — přes sloupce */
.cover-banner{
  padding:52px 0 32px;
  border-bottom:3px double var(--line2);
  margin-bottom:36px;
  text-align:center;
  position:relative;
}
.cover-kicker{
  font-family:var(--sans);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--amber);
  font-weight:700;
  margin-bottom:14px;
}
.cover-title{
  font-family:var(--serif);
  font-size:clamp(3rem,8vw,7.5rem);
  font-weight:600;
  line-height:.92;
  color:var(--ink);
  letter-spacing:-.03em;
  margin-bottom:12px;
  position:relative;
}
.cover-title em{
  font-style:italic;
  color:var(--amber);
}
.cover-sub{
  font-family:var(--serif);
  font-size:clamp(1.05rem,2vw,1.4rem);
  font-style:italic;
  font-weight:300;
  color:var(--mut);
  letter-spacing:.01em;
  margin-bottom:0;
}
.cover-ornament{
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:center;
  margin-top:18px;
}
.cover-ornament span{width:60px;height:1px;background:var(--line2);display:block}
.cover-ornament .fleur{color:var(--amber);font-size:1.1rem;font-family:var(--serif)}

/* Třísloupec */
.col-layout{
  display:grid;
  grid-template-columns:1fr 2px 1.6fr 2px 1fr;
  gap:0;
  align-items:start;
  padding-top:8px;
}
.col-div{
  width:1px;
  background:var(--line);
  align-self:stretch;
  margin:0 22px;
}

/* Sloupec A */
.col-a{padding-right:8px}
.rubrika-label{
  font-family:var(--sans);
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--amber);
  font-weight:700;
  border-bottom:2px solid var(--amber);
  display:inline-block;
  padding-bottom:2px;
  margin-bottom:14px;
}
.lead-story{}
.lead-story h2{
  font-family:var(--serif);
  font-size:clamp(1.6rem,2.5vw,2.6rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:12px;
}
.lead-story h2 em{font-style:italic;color:var(--amber)}
.lead-story .perex{
  font-family:var(--serif);
  font-size:1.02rem;
  font-style:italic;
  font-weight:300;
  color:var(--ink2);
  line-height:1.65;
  margin-bottom:16px;
}
.lead-story .body-text{
  font-size:.875rem;
  color:var(--ink2);
  line-height:1.8;
  column-count:1;
}
.drop-cap::first-letter{
  font-family:var(--serif);
  font-size:4.5rem;
  font-weight:600;
  line-height:.75;
  float:left;
  padding-right:10px;
  padding-top:4px;
  color:var(--amber);
}

/* Vizuální blok */
.visual-plate{
  background:linear-gradient(160deg,#2a1a08 0%,#3d2410 50%,#1a0d04 100%);
  border-radius:2px;
  padding:36px 24px 28px;
  margin:20px 0;
  position:relative;
  overflow:hidden;
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.visual-plate::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 60% at 70% 30%,rgba(200,132,26,.25),transparent),
    radial-gradient(circle 80px at 20% 80%,rgba(139,58,26,.3),transparent);
}
.visual-plate .plate-circles{
  position:absolute;
  top:16px;right:16px;
  width:80px;height:80px;
}
.visual-plate .plate-circles svg{width:100%;height:100%;opacity:.25}
.visual-plate .plate-label{
  font-family:var(--sans);
  font-size:.65rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--amber-l);
  font-weight:700;
  margin-bottom:6px;
  position:relative;z-index:1;
}
.visual-plate .plate-name{
  font-family:var(--serif);
  font-size:1.6rem;
  font-weight:600;
  font-style:italic;
  color:#fff;
  line-height:1.1;
  position:relative;z-index:1;
}
.visual-plate .plate-price{
  font-size:.85rem;
  color:rgba(255,255,255,.6);
  margin-top:4px;
  position:relative;z-index:1;
}

/* Mini-article strip */
.mini-strip{
  border-top:1px solid var(--line);
  padding:12px 0;
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:14px;
}
.mini-art{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.mini-art .mini-num{
  font-family:var(--serif);
  font-size:1.8rem;
  font-weight:600;
  color:var(--line2);
  line-height:1;
  min-width:36px;
}
.mini-art .mini-body h4{
  font-family:var(--serif);
  font-size:.98rem;
  font-weight:600;
  color:var(--ink);
  margin-bottom:2px;
  line-height:1.25;
}
.mini-art .mini-body p{
  font-size:.8rem;
  color:var(--mut);
  line-height:1.5;
}

/* Sloupec B (střed) */
.col-b{padding:0 8px}

/* Hero Story (float-wrap image) */
.hero-story{}
.story-visual{
  background:linear-gradient(145deg,#1c1108 0%,#3d2410 40%,#6b3d1e 70%,#2a1208 100%);
  height:320px;
  border-radius:2px;
  margin-bottom:24px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.story-visual::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 50% 70% at 50% 40%,rgba(200,132,26,.18),transparent),
    radial-gradient(ellipse 80% 50% at 20% 90%,rgba(74,103,65,.2),transparent);
}
.story-visual .sv-ornament{
  position:relative;z-index:1;
  text-align:center;
}
.story-visual .sv-ornament .big-letter{
  font-family:var(--serif);
  font-size:12rem;
  font-weight:600;
  font-style:italic;
  color:rgba(200,132,26,.25);
  line-height:1;
  display:block;
}
.story-visual .sv-ornament .caption{
  font-family:var(--sans);
  font-size:.65rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  font-weight:700;
}
.story-visual .floating-items{
  position:absolute;
  inset:0;
  pointer-events:none;
}
@keyframes floatA{0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-12px) rotate(-5deg)}}
@keyframes floatB{0%,100%{transform:translateY(0) rotate(8deg)} 50%{transform:translateY(-8px) rotate(8deg)}}
@keyframes floatC{0%,100%{transform:translateY(0) rotate(-12deg)} 50%{transform:translateY(-15px) rotate(-12deg)}}
.fi-1{position:absolute;top:20%;left:12%;font-size:2.5rem;animation:floatA 4s ease-in-out infinite;opacity:.5}
.fi-2{position:absolute;top:30%;right:14%;font-size:1.8rem;animation:floatB 5s ease-in-out infinite .8s;opacity:.4}
.fi-3{position:absolute;bottom:20%;left:35%;font-size:2rem;animation:floatC 3.5s ease-in-out infinite 1.2s;opacity:.35}

.hero-story h2{
  font-family:var(--serif);
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.025em;
  color:var(--ink);
  margin-bottom:10px;
}
.hero-story h2 em{font-style:italic;color:var(--rust)}
.hero-story .hero-perex{
  font-family:var(--serif);
  font-size:1.1rem;
  font-style:italic;
  font-weight:300;
  color:var(--ink2);
  line-height:1.65;
  margin-bottom:14px;
  border-left:3px solid var(--amber);
  padding-left:16px;
}
.hero-story .body-text{
  font-size:.88rem;
  line-height:1.8;
  color:var(--ink2);
  column-count:2;
  column-gap:20px;
}

/* Citát pull-quote */
.pull-quote{
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  padding:20px 0;
  margin:24px 0;
  text-align:center;
}
.pull-quote blockquote{
  font-family:var(--serif);
  font-size:1.35rem;
  font-style:italic;
  font-weight:400;
  color:var(--ink);
  line-height:1.4;
  letter-spacing:-.01em;
}
.pull-quote cite{
  display:block;
  margin-top:8px;
  font-family:var(--sans);
  font-size:.75rem;
  font-style:normal;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--amber);
  font-weight:700;
}

/* Sloupec C (sidebar) */
.col-c{padding-left:8px}
.sidebar-box{
  border:1px solid var(--line);
  padding:18px;
  margin-bottom:18px;
  background:var(--paper);
}
.sidebar-box h3{
  font-family:var(--serif);
  font-size:1.1rem;
  font-weight:600;
  color:var(--ink);
  margin-bottom:12px;
}
.sidebar-box.dark{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.sidebar-box.dark h3{color:var(--amber-l)}

/* Otvírací doba */
.hours-list{list-style:none}
.hours-list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:7px 0;
  border-bottom:1px dotted var(--line);
  font-size:.82rem;
}
.hours-list li:last-child{border:none}
.hours-list .day{color:var(--mut);font-weight:400}
.hours-list .time{color:var(--ink);font-weight:700;font-family:var(--sans)}
.hours-list .today{background:rgba(200,132,26,.06);margin:0 -18px;padding:7px 18px;border-radius:0}
.hours-list .today .day{color:var(--amber);font-weight:700}
.hours-list .today .time{color:var(--amber)}

/* Recenze */
.review-card{
  border-top:1px solid var(--line);
  padding:12px 0;
}
.review-card .stars{color:var(--amber);font-size:.9rem;margin-bottom:4px;letter-spacing:2px}
.review-card blockquote{
  font-family:var(--serif);
  font-size:.88rem;
  font-style:italic;
  color:var(--ink2);
  line-height:1.55;
  margin-bottom:6px;
}
.review-card .reviewer{
  font-size:.72rem;
  color:var(--mut);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:700;
}

/* Čísla — count-up */
.stat-box{
  background:linear-gradient(135deg,var(--amber) 0%,var(--rust) 100%);
  color:#fff;
  padding:24px 20px;
  text-align:center;
  margin-bottom:18px;
  position:relative;
  overflow:hidden;
}
.stat-box::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,.15) 1.5px,transparent 1.5px);
  background-size:14px 14px;
}
.stat-num{
  font-family:var(--serif);
  font-size:3rem;
  font-weight:700;
  line-height:1;
  display:block;
}
.stat-label{
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:.85;
  font-weight:700;
  margin-top:4px;
}

/* ===== SEPARÁTOR ===== */
.section-sep{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  align-items:center;
  gap:0;
  margin-bottom:0;
}
.sep-inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  width:100%;
  padding:16px 0;
  border-top:1px solid var(--line2);
  border-bottom:1px solid var(--line2);
}
.sep-line{height:1px;background:var(--line2)}
.sep-text{
  font-family:var(--serif);
  font-size:.8rem;
  font-style:italic;
  color:var(--mut);
  white-space:nowrap;
  letter-spacing:.06em;
}

/* ===== MENU SECTION (interaktivní jídelník) ===== */
.menu-section{
  background:var(--ink);
  padding:80px 0;
  position:relative;
  overflow:hidden;
}
.menu-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 40% at 0% 50%,rgba(200,132,26,.08),transparent),
    radial-gradient(ellipse 50% 50% at 100% 50%,rgba(139,58,26,.1),transparent);
  pointer-events:none;
}
.menu-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
  position:relative;z-index:1;
}
.menu-header{
  text-align:center;
  margin-bottom:40px;
}
.menu-header .section-kicker{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--amber-l);
  font-weight:700;
  margin-bottom:10px;
}
.menu-header h2{
  font-family:var(--serif);
  font-size:clamp(2rem,5vw,4rem);
  font-weight:600;
  font-style:italic;
  color:#fff;
  letter-spacing:-.02em;
  margin-bottom:6px;
}
.menu-header .menu-sub{
  font-size:.9rem;
  color:rgba(255,255,255,.5);
  letter-spacing:.04em;
}

/* Filtry */
.menu-filters{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:40px;
}
.filter-btn{
  font-family:var(--sans);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:9px 22px;
  border:1px solid rgba(255,255,255,.2);
  background:transparent;
  color:rgba(255,255,255,.6);
  cursor:pointer;
  transition:all .2s;
  border-radius:0;
}
.filter-btn:hover{border-color:var(--amber);color:var(--amber-l)}
.filter-btn.active{
  background:var(--amber);
  border-color:var(--amber);
  color:#fff;
}

/* Jídelní lístek — grid */
.menu-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:1px;
  background:rgba(255,255,255,.08);
}
.menu-item{
  background:var(--ink);
  padding:28px 28px;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .2s,transform .2s;
  position:relative;
}
.menu-item:hover{background:rgba(255,255,255,.04)}
.menu-item.hidden{display:none}
.menu-item .mi-cat{
  font-family:var(--sans);
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--amber-l);
  font-weight:700;
  margin-bottom:8px;
  display:flex;
  align-items:center;
  gap:6px;
}
.menu-item .mi-name{
  font-family:var(--serif);
  font-size:1.3rem;
  font-weight:600;
  color:#fff;
  margin-bottom:6px;
  line-height:1.2;
}
.menu-item .mi-desc{
  font-size:.83rem;
  color:rgba(255,255,255,.5);
  line-height:1.6;
  margin-bottom:14px;
}
.menu-item .mi-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.menu-item .mi-price{
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:600;
  color:var(--amber-l);
}
.menu-item .mi-price small{
  font-size:.7rem;
  color:rgba(255,255,255,.4);
  font-family:var(--sans);
  font-weight:400;
}
.menu-item .mi-tags{display:flex;gap:6px;flex-wrap:wrap}
.mi-tag{
  font-size:.6rem;
  font-family:var(--sans);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:0;
}
.mi-tag.veg{background:rgba(74,103,65,.3);color:#a8d9a0;border:1px solid rgba(74,103,65,.4)}
.mi-tag.new{background:rgba(200,132,26,.2);color:var(--amber-l);border:1px solid rgba(200,132,26,.3)}
.mi-tag.hot{background:rgba(139,58,26,.3);color:#f4a07a;border:1px solid rgba(139,58,26,.4)}
.mi-tag.chef{background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.12)}

/* ===== STATISTICS BAND ===== */
.stats-band{
  background:var(--bg2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:60px 0;
}
.stats-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.stat-col{
  text-align:center;
  padding:0 24px;
  border-right:1px solid var(--line);
}
.stat-col:first-child{border-left:1px solid var(--line)}
.stat-col .count-num{
  font-family:var(--serif);
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:600;
  color:var(--amber);
  line-height:1;
  display:block;
  margin-bottom:6px;
}
.stat-col .count-label{
  font-family:var(--sans);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--mut);
}
.stat-col .count-sub{
  font-family:var(--serif);
  font-size:.9rem;
  font-style:italic;
  color:var(--mut);
  margin-top:4px;
}

/* ===== CHEF SECTION ===== */
.chef-section{
  padding:80px 0;
  background:var(--paper);
}
.chef-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}
.chef-visual{
  position:relative;
}
.chef-portrait{
  background:linear-gradient(160deg,#1c1108 0%,#4a2c14 50%,#2a1510 100%);
  height:520px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.chef-portrait::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 60% at 50% 30%,rgba(200,132,26,.15),transparent),
    radial-gradient(ellipse 50% 40% at 80% 80%,rgba(74,103,65,.12),transparent);
}
.chef-big-letter{
  font-family:var(--serif);
  font-size:22rem;
  font-weight:600;
  font-style:italic;
  color:rgba(200,132,26,.12);
  line-height:1;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.chef-icon-wrap{
  position:relative;z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.chef-hat-big{
  width:80px;height:80px;
  background:var(--amber-l);
  -webkit-mask:center/contain no-repeat;
  mask:center/contain no-repeat;
  -webkit-mask-image:url(ico/chef-hat.svg);
  mask-image:url(ico/chef-hat.svg);
}
.chef-name-plate{
  text-align:center;
  color:#fff;
}
.chef-name-plate .name{
  font-family:var(--serif);
  font-size:1.4rem;
  font-style:italic;
  font-weight:400;
}
.chef-name-plate .title{
  font-size:.65rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--amber-l);
  font-weight:700;
  margin-top:4px;
}
.chef-award-badge{
  position:absolute;
  top:-16px;
  right:-16px;
  width:100px;height:100px;
  background:var(--amber);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
  box-shadow:0 8px 24px rgba(200,132,26,.4);
  z-index:2;
}
.chef-award-badge .award-year{
  font-family:var(--sans);
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.85;
}
.chef-award-badge .award-text{
  font-family:var(--serif);
  font-size:.9rem;
  font-style:italic;
  line-height:1.2;
}

.chef-text .section-kicker{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--amber);
  font-weight:700;
  margin-bottom:12px;
}
.chef-text h2{
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:20px;
}
.chef-text h2 em{font-style:italic;color:var(--amber)}
.chef-text .chef-story{
  font-size:.92rem;
  line-height:1.85;
  color:var(--ink2);
  margin-bottom:24px;
}
.chef-text .chef-story + .chef-story{margin-top:-10px}
.chef-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:28px;
}
.chef-fact{
  background:var(--cream);
  border-left:3px solid var(--amber);
  padding:12px 14px;
}
.chef-fact .cf-label{
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mut);
  font-weight:700;
  margin-bottom:3px;
}
.chef-fact .cf-val{
  font-family:var(--serif);
  font-size:1rem;
  font-style:italic;
  color:var(--ink);
}

/* ===== SECOND EDITORIAL BLOCK ===== */
.second-editorial{
  background:var(--bg);
  padding:60px 0;
}
.se-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
}
.se-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:40px;
  align-items:start;
}

/* Testimonials jako magazínové citáty */
.testimonials-col h2{
  font-family:var(--serif);
  font-size:clamp(1.5rem,3vw,2.4rem);
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:24px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.t-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.t-card{
  background:var(--paper);
  border:1px solid var(--line);
  padding:20px;
  position:relative;
}
.t-card::before{
  content:'"';
  font-family:var(--serif);
  font-size:5rem;
  color:var(--line2);
  position:absolute;
  top:-10px;left:14px;
  line-height:1;
}
.t-card blockquote{
  font-family:var(--serif);
  font-size:.9rem;
  font-style:italic;
  color:var(--ink2);
  line-height:1.65;
  padding-top:28px;
  margin-bottom:12px;
}
.t-card .t-author{
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mut);
  font-weight:700;
  border-top:1px solid var(--line);
  padding-top:10px;
}
.t-card .stars{color:var(--amber);font-size:.8rem;letter-spacing:2px;margin-bottom:4px}

/* Rezervace sidebar */
.reservation-col .res-box{
  background:var(--ink);
  color:#fff;
  padding:28px;
}
.reservation-col .res-box h3{
  font-family:var(--serif);
  font-size:1.5rem;
  font-style:italic;
  color:#fff;
  margin-bottom:6px;
}
.reservation-col .res-box .res-sub{
  font-size:.8rem;
  color:rgba(255,255,255,.5);
  margin-bottom:24px;
}
.res-form .res-field{margin-bottom:14px}
.res-form label{
  display:block;
  font-size:.68rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
  font-weight:700;
  margin-bottom:6px;
}
.res-form input,.res-form select{
  width:100%;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-family:var(--sans);
  font-size:.9rem;
  padding:10px 14px;
  outline:none;
  transition:border .2s;
  border-radius:0;
  appearance:none;
}
.res-form input:focus,.res-form select:focus{border-color:var(--amber)}
.res-form input::placeholder{color:rgba(255,255,255,.3)}
.res-form select option{background:var(--ink);color:#fff}
.res-submit{
  width:100%;
  background:var(--amber);
  color:#fff;
  border:none;
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:14px;
  cursor:pointer;
  transition:background .2s,transform .2s;
  margin-top:6px;
}
.res-submit:hover{background:var(--amber-d);transform:translateY(-1px)}
.res-note{
  font-size:.72rem;
  color:rgba(255,255,255,.4);
  text-align:center;
  margin-top:12px;
  line-height:1.5;
}

/* ===== FAQ ===== */
.faq-section{
  padding:80px 0;
  background:var(--cream);
}
.faq-inner{
  max-width:900px;
  margin:0 auto;
  padding:0 32px;
}
.faq-header{
  text-align:center;
  margin-bottom:48px;
}
.faq-header .section-kicker{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--amber);
  font-weight:700;
  margin-bottom:10px;
}
.faq-header h2{
  font-family:var(--serif);
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--ink);
}
.faq-item{
  border-bottom:1px solid var(--line);
}
.faq-q{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 0;
  cursor:pointer;
  gap:20px;
}
.faq-q span{
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:600;
  color:var(--ink);
  line-height:1.3;
}
.faq-icon{
  width:28px;height:28px;
  border:1px solid var(--line);
  border-radius:50%;
  flex:0 0 28px;
  display:flex;align-items:center;justify-content:center;
  color:var(--mut);
  font-size:1.2rem;
  line-height:1;
  transition:transform .3s,background .2s,border-color .2s;
  font-weight:300;
}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--amber);border-color:var(--amber);color:#fff}
.faq-a{
  display:none;
  padding:0 0 20px;
  font-size:.9rem;
  line-height:1.75;
  color:var(--ink2);
}
.faq-item.open .faq-a{display:block}

/* ===== FOOTER ===== */
.site-footer{
  background:var(--ink);
  color:rgba(255,255,255,.7);
  padding:60px 0 0;
}
.footer-inner{
  max-width:1320px;
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px;
}
.footer-brand .f-logo{
  font-family:var(--serif);
  font-size:1.8rem;
  font-weight:600;
  color:#fff;
  margin-bottom:12px;
}
.footer-brand p{
  font-size:.85rem;
  line-height:1.7;
  color:rgba(255,255,255,.5);
  max-width:280px;
  margin-bottom:20px;
}
.f-socials{display:flex;gap:12px}
.f-social-btn{
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  transition:border-color .2s,background .2s;
}
.f-social-btn:hover{border-color:var(--amber);background:rgba(200,132,26,.15)}
.f-social-btn .ic{width:15px;height:15px;color:rgba(255,255,255,.7)}
.footer-col h4{
  font-family:var(--sans);
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(255,255,255,.4);
  font-weight:700;
  margin-bottom:16px;
}
.footer-col ul{list-style:none}
.footer-col ul li{
  font-size:.85rem;
  color:rgba(255,255,255,.6);
  padding:4px 0;
}
.footer-col ul li a:hover{color:var(--amber-l)}
.footer-col .f-address{
  font-size:.85rem;
  color:rgba(255,255,255,.6);
  line-height:1.7;
}
.footer-bottom{
  max-width:1320px;
  margin:40px auto 0;
  padding:18px 32px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:.75rem;
  color:rgba(255,255,255,.35);
}
.footer-bottom a{color:rgba(255,255,255,.35)}
.footer-bottom a:hover{color:var(--amber-l)}

/* ===== GRADIENT PULSE (dekorativní animace v menu) ===== */
@keyframes gradPulse{
  0%,100%{opacity:.6;transform:scale(1)}
  50%{opacity:1;transform:scale(1.08)}
}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .col-layout{
    grid-template-columns:1fr 1fr;
    grid-template-areas:"a b" "c c";
  }
  .col-div:nth-child(4){display:none}
  .col-c{grid-area:c;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:start}
  .col-a{grid-area:a}
  .col-b{grid-area:b}
  .col-div:nth-child(2){grid-area:unset}
  .hero-story .body-text{column-count:1}
}
@media(max-width:900px){
  .stats-inner{grid-template-columns:1fr 1fr}
  .stat-col{border-right:none;border-bottom:1px solid var(--line)}
  .stat-col:first-child{border-left:none;border-top:1px solid var(--line)}
  .chef-inner{grid-template-columns:1fr;gap:40px}
  .se-grid{grid-template-columns:1fr}
  .t-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:680px){
  .nav-links{display:none}
  .nav-btn{margin-left:auto}
  .col-layout{grid-template-columns:1fr;display:flex;flex-direction:column}
  .col-div{display:none}
  .cover-title{letter-spacing:-.02em}
  .hero-story .body-text{column-count:1}
  .menu-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .chef-facts{grid-template-columns:1fr}
  .t-grid{grid-template-columns:1fr}
}
