    /* ---- Satelitná mapa terroiru ---- */
    .tmap-sec{ padding-block:clamp(3rem,7vh,5rem); }
    .tmap-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(1.5rem,4vw,2.6rem); align-items:stretch; }
    
    
    
    
    
    
    
    
    
    .tmap-side{ display:flex; flex-direction:column; justify-content:flex-start; }
    .tmap-side .tl-head:first-child{ margin-top:0; }
    .tmap-side .eyebrow{ margin-bottom:.4rem; }
    
    
    
    
    
    
    
    @media(max-width:860px){ .tmap-grid{ grid-template-columns:1fr; } }
    /* ---- Mapa vinohradov: značky + vysvetlivky ---- */
    .tmap-head{ max-width:46rem; margin:0 0 clamp(1.6rem,4vw,2.4rem); }
    .tmap-head .section-title{ margin-bottom:.8rem; }
    .tmap-map{ align-self:start; position:sticky; top:96px; }
    @media(max-width:860px){ .tmap-map{ position:static; } }
    .tmap-frame{ position:relative; border-radius:12px; overflow:hidden; border:1px solid var(--line); }
    .tmap-frame img{ width:100%; height:auto; display:block; }
    .tm{ position:absolute; transform:translate(-50%,-50%); display:grid; place-items:center; width:clamp(18px,2.1vw,28px); height:clamp(18px,2.1vw,28px); border-radius:50%;
      background:#14271a; border:1.5px solid #ede6e4; color:#ede6e4; font:600 clamp(.6rem,.95vw,.82rem)/1 var(--sans,'Jost',sans-serif);
      box-shadow:0 2px 6px rgba(0,0,0,.5); transition:transform .2s, background .2s, border-color .2s; }
    .tm.on{ transform:translate(-50%,-50%) scale(1.35); background:var(--gold,#c8902e); border-color:#fff; color:#14271a; z-index:2; }
    .tl-head{ font-family:var(--serif); font-weight:500; font-size:1.2rem; margin:1.4rem 0 .6rem; color:var(--cream,#ede6e4); }
    .tl-head small{ font:400 .78rem var(--sans,'Jost',sans-serif); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-left:.5rem; }
    .tmap-legend{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:.2rem; }
    .tmap-legend li{ display:flex; align-items:center; gap:.55rem; padding:.22rem .3rem; border-radius:8px; transition:background .2s; font-size:.98rem; }
    .tmap-legend li.on{ background:rgba(200,144,46,.14); }
    .tvn{ flex:1; min-width:0; }
    .tnn{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.3rem; }
    .tmap-legend li.on .tn{ background:var(--gold,#c8902e); border-color:#fff; color:#14271a; }
    .tn{ display:inline-grid; place-items:center; flex:none; width:24px; height:24px; border-radius:50%; background:#14271a; border:1.3px solid #ede6e4; color:#ede6e4; font:600 .72rem/1 var(--sans,'Jost',sans-serif); }
    .td{ display:inline-block; flex:none; width:10px; height:10px; border-radius:50%; }
    .td-b{ background:#e3c77e; } .td-r{ background:#e07a96; }
    .tl-key{ margin-top:1.1rem; font-size:.85rem; color:var(--muted); display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
    .tl-key .td{ margin-left:.6rem; } .tl-key .td:first-child{ margin-left:0; }
    


    /* ---- Rok vo vinici ---- */
    .story{ padding-block:clamp(4rem,10vh,8rem); position:relative; overflow:hidden; }
    .story::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
      background:radial-gradient(50% 40% at 15% 10%, rgba(200,144,46,.10), transparent 60%),
                 radial-gradient(45% 45% at 90% 85%, rgba(90,19,32,.16), transparent 60%); }
    .story > *{ position:relative; z-index:1; }
    .story-head{ text-align:center; max-width:46rem; margin:0 auto clamp(2.5rem,6vh,4.5rem); }
    .story-head .section-title{ margin-top:.6rem; }
    .story-chapter{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,6vw,5rem); align-items:center; padding-block:clamp(2.4rem,6vh,4.8rem); }
    .story-chapter + .story-chapter{ border-top:1px solid var(--line); }
    .story-chapter.flip .story-art{ order:2; }
    .story-art{ width:min(300px,74%); margin-inline:auto; aspect-ratio:1; }
    .story-art .sd{ fill:none; stroke:var(--gold-soft); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
    .story-art .fillg{ fill:rgba(227,199,126,.07); }
    .story-num{ display:inline-grid; place-items:center; width:50px; height:50px; border-radius:50%;
      border:1px solid var(--line); background:rgba(200,144,46,.09); font-family:var(--serif); font-style:italic;
      font-size:1.35rem; color:var(--gold); margin-bottom:.3rem; }
    .story-season{ display:block; font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted-2); margin:.4rem 0 .9rem; }
    .story-text h3{ font-family:var(--serif); font-size:clamp(1.9rem,4.2vw,3rem); line-height:1.08; margin-bottom:1rem; }
    .story-text p{ color:var(--muted); max-width:40ch; }
    @media(max-width:800px){
      .story-chapter{ grid-template-columns:1fr; text-align:center; gap:1.4rem; }
      .story-text p{ margin-inline:auto; }
      .story-chapter .story-art, .story-chapter.flip .story-art{ order:-1; width:min(220px,58%); }
    }

    /* ---- oživené pozadie (len Terroir) ---- */
    main{ position:relative; background:
      repeating-linear-gradient(33deg, rgba(227,199,126,.014) 0 1px, transparent 1px 38px),
      radial-gradient(120% 52% at 50% 0%, rgba(74,51,31,.5), transparent 58%); }
    main::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
      background:
        radial-gradient(30% 85% at -4% 50%, rgba(200,144,46,.15), transparent 72%),
        radial-gradient(30% 85% at 104% 52%, rgba(90,19,32,.19), transparent 72%),
        radial-gradient(40% 26% at 8% 6%, rgba(200,144,46,.12), transparent 60%),
        radial-gradient(38% 36% at 94% 20%, rgba(227,199,126,.10), transparent 60%),
        radial-gradient(45% 30% at 20% 88%, rgba(95,131,144,.12), transparent 60%),
        radial-gradient(50% 30% at 80% 108%, rgba(227,199,126,.08), transparent 60%); }
    main > *{ position:relative; z-index:1; }

    /* ---- Výber odrody (interaktívne) ---- */
    
    
    
    
    
    
    @keyframes vcFade{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }
    
    
    
    
    
    
    
    
    

    /* ---- info karta pri mape ---- */
    
    .tmap-facts{ list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:clamp(1.8rem,4vh,2.8rem); border-top:1px solid var(--line); padding-top:1.6rem; }
    .tmap-facts b{ display:block; color:var(--gold-soft); font-weight:500; font-size:.92rem; margin-bottom:.3rem; }
    .tmap-facts span{ color:var(--muted); font-size:.82rem; }
    @media(max-width:860px){ .tmap-facts{ grid-template-columns:1fr 1fr; } }
  

/* MOBIL */
@media (max-width:760px){ .story-season{ font-size:.72rem; } }

/* ===== Terroir — texty o krajine (4 bloky) ===== */
.essay{ max-width:58rem; padding-block:clamp(2.5rem,7vh,5rem) clamp(4rem,10vh,7rem); }
.essay-block + .essay-block{ margin-top:clamp(2.4rem,6vh,4rem); padding-top:clamp(2.4rem,6vh,4rem); border-top:1px solid var(--line); }
.essay-title{ font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem,3.6vw,2.5rem); line-height:1.14; margin-bottom:1.1rem; color:var(--cream); text-wrap:balance; }
.essay p{ color:var(--muted); line-height:1.8; font-size:clamp(1.12rem,1.5vw,1.28rem); }
.essay p + p{ margin-top:1.1rem; }
@media (max-width:760px){ .essay{ padding-inline:.2rem; } .essay p{ font-size:1.08rem; } }


    /* ---- Foto v strede stránky ---- */
    .terroir-photo{ padding-block:0 clamp(3rem,8vh,6rem); max-width:70rem; }
    .terroir-photo figure{ margin:0; position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--line); box-shadow:0 18px 50px -20px rgba(0,0,0,.45); }
    .terroir-photo img{ display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:50% 58%; }
    .terroir-photo figcaption{ position:absolute; left:0; right:0; bottom:0; padding:2.4rem 1.4rem 1rem; font-family:var(--serif); font-style:italic; font-size:clamp(1rem,1.8vw,1.25rem); color:#f3ead9;
      background:linear-gradient(to top, rgba(20,12,6,.72), rgba(20,12,6,0)); }
    .essay-after{ padding-top:clamp(2.5rem,6vh,4rem); }
    @media(max-width:760px){ .terroir-photo img{ aspect-ratio:4/3; } }

    /* ---- Väčšie texty na stránke Terroir (rovnako veľké ako na ostatných stránkach) ---- */
    .tmap-head{ max-width:52rem; }
    .tmap-head p{ font-size:clamp(1.12rem,1.6vw,1.3rem); line-height:1.75; }
    .tl-head{ font-size:1.5rem; }
    .tl-head small{ font-size:.85rem; }
    .tmap-legend li{ font-size:1.15rem; padding:.3rem .35rem; gap:.65rem; }
    .tn{ width:30px; height:30px; font-size:.82rem; }
    .td{ width:12px; height:12px; }
    .tm{ width:clamp(20px,2.4vw,32px); height:clamp(20px,2.4vw,32px); font-size:clamp(.66rem,1.05vw,.9rem); }
    .terroir-photo figcaption{ font-size:clamp(1.1rem,2vw,1.4rem); }

    /* ---- Jednotná veľkosť a zarovnanie textov: Terroir + O nás ---- */
    .essay{ max-width:var(--maxw); }                 /* ľavý okraj textu = ľavý okraj mapy/nadpisov */
    .essay-block{ max-width:62rem; }
    .terroir-photo{ max-width:var(--maxw); }
    .split-body p:not(.lead):not(.story-sign), .story-close p:not(.story-sign), .story-chapter p, .story-people p:not(.lead):not(.story-sign){
      font-size:clamp(1.12rem,1.5vw,1.28rem); line-height:1.8; text-align:left; }
    .story-close{ max-width:62rem; margin-inline:0; text-align:left; }
    .story-close .story-sign{ text-align:left; }
    @media(max-width:1000px){ .story-chapter{ text-align:left; } }

    /* Proces výroby: všetky kroky rovnako — obrázok vľavo, text vpravo (rovný ľavý okraj textov, žiadny cik-cak) */
    .story-chapter.flip .story-art{ order:0; }

    /* Zarovnanie do bloku (rovný pravý aj ľavý okraj) pre bežné texty na Terroir a O nás, so zalamovaním slov */
    .essay p,
    .tmap-head p,
    .split-body p:not(.lead):not(.story-sign),
    .story-close p:not(.story-sign),
    .story-chapter p,
    .story-people p:not(.lead):not(.story-sign){
      text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto; hyphenate-limit-chars:6 3 3; }
    @media(max-width:560px){ .essay p, .tmap-head p, .split-body p:not(.lead):not(.story-sign), .story-close p:not(.story-sign), .story-chapter p, .story-people p:not(.lead):not(.story-sign){ text-align:left; hyphens:manual; } }
    .story-text p + p{ margin-top:1rem; }

/* mobil: čísla parciel na mape sa na úzkych displejoch neprekrývajú */
@media (max-width:420px){
  .tm{ width:17px; height:17px; font-size:.56rem; }
}
