/* ---- moved from index.html by _externalize-inline.cjs ---- */
  /* @@KV_FONTS_START@@ — self-hosted; the site makes no third-party connection.
     Variable woff2 in assets/fonts/, latin + latin-ext only (SK and DE need no more).
     These faces mirror what the Google Fonts CDN used to serve; assets/fonts/README.md
     records the exact request they came from and how to refresh them. */
  /* Montserrat normal 300 600 — latin-ext */
  @font-face{font-family:'Montserrat';font-style:normal;font-weight:300 600;font-display:swap;
    src:url(../fonts/montserrat-latin-ext.woff2) format('woff2');
    unicode-range:U+0100-0130, U+0132-0151, U+0154-017F, U+018F, U+01C4-01CC, U+01E8-01EB, U+01F1-01F3, U+0218-021B, U+0259, U+1E9E, U+2020, U+20A1, U+20A3-20A4, U+20A6-20A7, U+20A9, U+20AB, U+20AD-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BC-20BD, U+20BF}
  /* Montserrat normal 300 600 — latin */
  @font-face{font-family:'Montserrat';font-style:normal;font-weight:300 600;font-display:swap;
    src:url(../fonts/montserrat-latin.woff2) format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  /* Playfair Display italic 400 600 — latin-ext */
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 600;font-display:swap;
    src:url(../fonts/playfair-italic-latin-ext.woff2) format('woff2');
    unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  /* Playfair Display italic 400 600 — latin */
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 600;font-display:swap;
    src:url(../fonts/playfair-italic-latin.woff2) format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  /* Playfair Display normal 400 700 — latin-ext */
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;
    src:url(../fonts/playfair-latin-ext.woff2) format('woff2');
    unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
  /* Playfair Display normal 400 700 — latin */
  @font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;
    src:url(../fonts/playfair-latin.woff2) format('woff2');
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
  /* @@KV_FONTS_END@@ */

  /* NAŽIVO — smoothly interpolatable light-of-touch position (premium trailing glow) */
  @property --mx { syntax: '<percentage>'; inherits: true; initial-value: 50%; }
  @property --my { syntax: '<percentage>'; inherits: true; initial-value: 50%; }

  /* @@KV_TOKENS_START@@ — inlined from _shared/brand/tokens.css v1.0.0; do NOT hand-edit (run _build-brand.cjs) */
  :root {
    /* --- Primitívy (kanonické literály, prefix --kv-) --- */
    --kv-canvas:     #ECE7DD;            /* warm greige base */
    --kv-canvas-2:   #E3DDD0;            /* deeper greige */
    --kv-cream:      #F5F1E8;            /* lightest warm */
    --kv-ink:        #211E18;            /* warm near-black */
    --kv-muted:      #6B6254;            /* warm muted */
    --kv-line:       rgba(33,30,24,0.16);
    --kv-gold:       #AE8A22;            /* richer ochre */
    --kv-gold-soft:  #C6A23A;            /* luminous gold on dark/green */
    --kv-green:      #51604A;            /* warm sage-olive */
    --kv-green-soft: #687560;
    --kv-green-deep: #3E4A38;            /* deep sage (manifesto mark box) */
    --kv-dark:       #1A1814;            /* dark scenes */
    --kv-gold-lum:   #E6C566;            /* luminous candlelight */
    --kv-display:    "Playfair Display", Georgia, serif;
    --kv-body:       "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --kv-ease:       cubic-bezier(0.22, 0.61, 0.36, 1);
    --kv-maxw:       1240px;

    /* --- Sémantická vrstva (izoluje shop komponenty od primitív) --- */
    --kv-primary:     var(--kv-gold);
    --kv-bg:          var(--kv-canvas);
    --kv-text:        var(--kv-ink);
    --kv-border:      var(--kv-line);
    --kv-focus:       var(--kv-gold);
    --kv-surface:     var(--kv-cream);
    --kv-text-muted:  var(--kv-muted);
    --kv-accent:      var(--kv-green);

    /* --- Legacy aliasy (zachovávajú vanilla web 1:1 → 0-diff) --- */
    --canvas:     var(--kv-canvas);
    --canvas-2:   var(--kv-canvas-2);
    --cream:      var(--kv-cream);
    --ink:        var(--kv-ink);
    --muted:      var(--kv-muted);
    --line:       var(--kv-line);
    --gold:       var(--kv-gold);
    --gold-soft:  var(--kv-gold-soft);
    --green:      var(--kv-green);
    --green-soft: var(--kv-green-soft);
    --green-deep: var(--kv-green-deep);
    --dark:       var(--kv-dark);
    --gold-lum:   var(--kv-gold-lum);
    --display:    var(--kv-display);
    --body:       var(--kv-body);
    --ease:       var(--kv-ease);
    --maxw:       var(--kv-maxw);
  }
  /* @@KV_TOKENS_END@@ */

  :root {
    /* NAŽIVO — Réžia svetla (lightscene, locked-to-vanilla); default = full season */
    --beam: 320px;            /* radius of the light of touch */
    --ambient: 0.88;          /* darkness of the unlit area (1 = pitch) */
    --warmth: 0.28;           /* warm gold glow intensity inside the beam */
    --bloom-ms: 1700ms;       /* candle-bloom warm-up duration */
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  body {
    margin: 0; background: var(--canvas); color: var(--ink);
    font-family: var(--body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
    overflow-x: hidden;
  }
  h1, h2, h3, p { margin: 0; }
  img { display: block; max-width: 100%; }

  /* ---------- Type ---------- */
  .display { font-family: var(--display); }
  .serif { font-family: var(--display); font-weight: 400; }
  .it { font-style: italic; }
  .mark {
    background: var(--green-deep); color: var(--cream); font-style: italic;
    padding: 0 0.22em; border-radius: 2px; box-decoration-break: clone; -webkit-box-decoration-break: clone;
  }
  .gold-word { color: var(--gold); }
  .dot { color: var(--gold); }

  .kicker {
    font-family: var(--body); font-size: 12px; font-weight: 600; letter-spacing: 2px;
    text-transform: uppercase; color: var(--muted);
  }
  .kicker .idx { color: var(--gold); font-weight: 600; }
  .lead {
    font-family: var(--display); font-weight: 400; font-size: clamp(19px, 2.3vw, 23px);
    line-height: 1.4; letter-spacing: -0.2px; color: var(--ink);
  }
  .body-txt {
    font-family: var(--body); font-size: 16px; font-weight: 400; line-height: 1.6;
    letter-spacing: -0.2px; color: var(--muted);
  }
  .caption { font-family: var(--body); font-size: 13px; letter-spacing: -0.1px; color: var(--muted); }

  /* ---------- Layout primitives ---------- */
  .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px); }
  .scene { padding: clamp(72px, 11vw, 150px) 0; scroll-margin-top: 76px; position: relative; }
  .scene--dark { background: var(--dark); color: var(--cream); }
  .scene--green { background: var(--green); color: var(--cream); }
  .rule { height: 1px; background: var(--line); border: 0; margin: 0; }
  .scene--dark .rule, .scene--green .rule { background: rgba(245,241,232,0.18); }

  /* section header with index */
  .sec-head { display: grid; grid-template-columns: 1fr; gap: 22px; padding-top: 26px; }
  .sec-index {
    font-family: var(--display); font-style: italic; font-size: 15px; color: var(--gold);
    letter-spacing: 0.5px;
  }
  .sec-title {
    font-family: var(--display); font-weight: 500; line-height: 1.04; letter-spacing: -0.5px;
    font-size: clamp(34px, 5.4vw, 62px);
  }
  .sec-head .body-txt { max-width: 440px; }
  @media (min-width: 860px) {
    .sec-head { grid-template-columns: 88px 1fr 360px; align-items: start; gap: 36px; }
  }

  /* ---------- Buttons ---------- */
  /* CTA arrow. U+2192 is in no Montserrat or Playfair subset (Google's own included), so the
     glyph has always fallen back to Arial. The markup stays <span class="arr">→</span>: the span
     is masked to an SVG arrow filled with currentColor, so it takes every text colour and the
     existing hover transforms unchanged. A browser without mask support keeps the text glyph. */
  @supports (mask-image: url("data:,")) or (-webkit-mask-image: url("data:,")) {
    .arr { display: inline-block; flex: 0 0 auto; width: .95em; height: 1em; vertical-align: -.12em;
      overflow: hidden; text-indent: 200%; white-space: nowrap; background-color: currentColor;
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 8h13M9.5 3.5l5 4.5-5 4.5'/%3E%3C/svg%3E") center / contain no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 8h13M9.5 3.5l5 4.5-5 4.5'/%3E%3C/svg%3E") center / contain no-repeat; }
  }
  .btn {
    display: inline-flex; align-items: center; gap: 10px; cursor: pointer; text-decoration: none;
    font-family: var(--body); font-size: 15px; font-weight: 500; letter-spacing: 0.2px;
    border: 1px solid transparent; transition: all .25s var(--ease); white-space: nowrap;
  }
  .btn .arr { transition: transform .25s var(--ease); }
  .btn:hover .arr { transform: translateX(4px); }
  .btn--solid { background: var(--ink); color: var(--cream); padding: 15px 28px; border-radius: 2px; }
  .btn--solid:hover { background: var(--green); }
  .btn--gold { background: var(--gold); color: var(--dark); padding: 15px 28px; border-radius: 2px; }
  .btn--gold:hover { background: var(--gold-soft); }
  .btn--green { background: var(--green); color: var(--cream); padding: 15px 28px; border-radius: 2px; }
  .btn--green-outline { background: transparent; color: var(--green); border-color: var(--green); padding: 14px 26px; border-radius: 2px; }
  .btn--green-outline:hover { background: var(--green); color: var(--cream); border-color: var(--green); }
  .btn--green:hover { background: var(--green-soft); }
  .btn--ghost { background: transparent; color: var(--ink); border-color: var(--line); padding: 14px 26px; border-radius: 2px; }
  .btn--ghost:hover { border-color: var(--ink); }
  .scene--dark .btn--ghost, .scene--green .btn--ghost { color: var(--cream); border-color: rgba(245,241,232,0.4); }
  .scene--dark .btn--ghost:hover, .scene--green .btn--ghost:hover { border-color: var(--cream); }
  .scene--dark .btn--solid, .scene--green .btn--solid, .hero .btn--solid { background: var(--cream); color: var(--ink); }
  .scene--dark .btn--solid:hover, .scene--green .btn--solid:hover, .hero .btn--solid:hover { background: #fff; }
  .hero .btn--ghost { color: var(--cream); border-color: rgba(245,241,232,0.55); background: rgba(20,18,14,0.3); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
  .hero .btn--ghost:hover { border-color: var(--cream); background: rgba(20,18,14,0.5); }
  .tlink {
    display: inline-flex; align-items: center; gap: 8px; cursor: pointer; text-decoration: none;
    font-family: var(--body); font-size: 14px; font-weight: 500; color: var(--ink);
    border-bottom: 1px solid var(--ink); padding-bottom: 3px; transition: gap .25s var(--ease), color .25s;
  }
  .tlink:hover { gap: 13px; color: var(--gold); border-color: var(--gold); }
  .scene--dark .tlink, .scene--green .tlink { color: var(--cream); border-color: rgba(245,241,232,0.5); }
  .scene--dark .tlink:hover, .scene--green .tlink:hover { color: #fff; border-color: #fff; }

  /* ---------- Nav ---------- */
  .nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: 76px;
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
    padding: 0 clamp(20px, 5vw, 48px); gap: 22px;
    background: rgba(26,24,20,0.18); -webkit-backdrop-filter: saturate(160%) blur(22px);
    backdrop-filter: saturate(160%) blur(22px);
    border-bottom: 1px solid rgba(245,241,232,0.08); transition: background .35s, border-color .35s;
  }
  .nav.scrolled { background: rgba(26,24,20,0.72); border-bottom-color: rgba(245,241,232,0.1); }
  .nav.on-light { background: rgba(236,231,221,0.55); border-bottom-color: var(--line); }
  .nav.on-light.scrolled { background: rgba(236,231,221,0.86); }
  .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; justify-self: start; }
  .brand img { height: 40px; }
  .brand .wm { font-family: var(--display); font-size: 21px; font-weight: 600; letter-spacing: 0.2px; white-space: nowrap; }
  .brand .wm-k { color: var(--cream); transition: color .35s; }
  .nav.on-light .brand .wm-k { color: var(--ink); }
  .brand .wm-v { color: var(--gold-soft); transition: color .35s; }
  .nav.on-light .brand .wm-v { color: var(--gold); }
  .nav-links { display: none; justify-self: center; align-items: center; gap: 34px; }
  .nav-links a {
    font-family: var(--body); font-size: 14px; letter-spacing: 0.2px; text-decoration: none;
    color: var(--cream); opacity: 0.92; transition: color .35s, opacity .2s; position: relative;
  }
  .nav.on-light .nav-links a { color: var(--ink); }
  .nav-links a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px;
    background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
  }
  .nav-links a:hover::after { transform: scaleX(1); }
  .nav-right { display: flex; align-items: center; gap: 16px; justify-self: end; }
  .nav-cta { display: none; }
  .nav.on-light .nav-cta.btn--gold { color: var(--cream); }
  .nav .nav-cta.btn--green, .nav.on-light .nav-cta.btn--green { color: var(--cream); }
  .burger { background: none; border: 0; cursor: pointer; color: var(--cream); padding: 4px; display: inline-flex; transition: color .35s; }
  .nav.on-light .burger { color: var(--ink); }
  .burger svg { width: 28px; height: 28px; }
  @media (min-width: 940px) {
    .nav-links { display: flex; }
    .nav-cta { display: inline-flex; }
    .burger { display: none; }
  }
  @media (max-width: 560px) {
    .nav { display: flex; align-items: center; justify-content: space-between; padding: 0 18px; height: 72px; gap: 12px; }
    .nav-right { justify-self: auto; }
  }

  /* ---------- Mobile menu ---------- */
  .menu {
    position: fixed; inset: 0; z-index: 90; background: var(--dark); color: var(--cream);
    display: flex; flex-direction: column; padding: 22px clamp(20px,5vw,48px) 40px;
    transform: translateY(-100%); transition: transform .5s var(--ease); visibility: hidden;
  }
  .menu.open { transform: none; visibility: visible; }
  .menu-top { display: flex; align-items: center; justify-content: space-between; height: 40px; }
  .menu-top .wm { font-family: var(--display); font-size: 19px; font-weight: 600; letter-spacing: 0.2px; }
  .menu-top .wm .wm-v { color: var(--gold-soft); }
  .menu-top button { background: none; border: 0; color: var(--cream); cursor: pointer; }
  .menu-links { display: flex; flex-direction: column; margin-top: 48px; }
  .menu-links a {
    font-family: var(--display); font-size: clamp(30px, 8vw, 46px); font-weight: 400; color: var(--cream);
    text-decoration: none; padding: 14px 0; border-bottom: 1px solid rgba(245,241,232,0.12);
    display: flex; align-items: baseline; gap: 16px; opacity: 0; transform: translateY(14px);
    transition: opacity .5s var(--ease), transform .5s var(--ease);
  }
  .menu-links a .mi { font-family: var(--display); font-style: italic; font-size: 14px; color: var(--gold); }
  .menu.open .menu-links a { opacity: 1; transform: none; }
  .menu.open .menu-links a:nth-child(1){transition-delay:.06s}
  .menu.open .menu-links a:nth-child(2){transition-delay:.11s}
  .menu.open .menu-links a:nth-child(3){transition-delay:.16s}
  .menu.open .menu-links a:nth-child(4){transition-delay:.21s}
  .menu.open .menu-links a:nth-child(5){transition-delay:.26s}
  .menu.open .menu-links a:nth-child(6){transition-delay:.31s}
  .menu-foot { margin-top: auto; display: flex; gap: 14px; flex-wrap: wrap; }

  /* ---------- Hero ---------- */
  .hero { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; }
  .hero-bg { position: absolute; inset: 0; z-index: 0; }
  .hero-bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.18); transform-origin: 50% 40%; will-change: transform; }
  .hero-bg::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(20,18,14,0.6) 0%, rgba(20,18,14,0.12) 26%, rgba(20,18,14,0.5) 56%, rgba(20,18,14,0.93) 100%);
  }
  .hero-inner { position: relative; z-index: 1; width: 100%; padding-bottom: clamp(40px, 6vw, 72px); padding-top: 110px; }
  .hero-top {
    position: absolute; top: 104px; left: 0; right: 0;
    display: flex; justify-content: space-between; align-items: baseline; color: var(--cream);
  }
  .hero-top .kicker { color: rgba(245,241,232,0.9); }
  .hero-top .yr { font-family: var(--display); font-style: italic; font-size: 16px; color: rgba(245,241,232,0.8); margin-right: 4px; }
  @media (max-width: 560px) {
    .hero-top { top: 84px; }
    .hero-top .kicker { font-size: 11px; letter-spacing: 1.5px; }
    .hero-top .yr { margin-right: 10px; font-size: 14px; }
  }
  .hero h1 {
    font-family: var(--display); font-weight: 500; color: var(--cream);
    font-size: clamp(46px, 9.5vw, 132px); line-height: 0.98; letter-spacing: -1.5px;
    text-wrap: balance; max-width: 14ch; text-shadow: 0 2px 36px rgba(20,18,14,0.55);
  }
  .hero h1 .it { font-weight: 400; }
  .hero-sub {
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 26px; margin-top: clamp(28px, 4vw, 48px); border-top: 1px solid rgba(245,241,232,0.25); padding-top: 26px;
  }
  .hero-sub p { color: rgba(245,241,232,0.92); font-family: var(--display); font-size: clamp(17px,2vw,20px); font-style: italic; max-width: 30ch; line-height: 1.4; text-shadow: 0 1px 20px rgba(20,18,14,0.6); }
  .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
  .hero-shop { margin-top: 16px; }
  .hero-shop-link { display: inline-flex; align-items: center; gap: 6px; color: rgba(245,241,232,0.82); font-family: var(--display); font-style: italic; font-size: 15px; letter-spacing: 0.2px; text-decoration: none; text-shadow: 0 1px 16px rgba(20,18,14,0.6); border-bottom: 1px solid rgba(245,241,232,0.34); padding-bottom: 2px; transition: color .2s, border-color .2s; }
  .hero-shop-link:hover { color: var(--cream); border-color: var(--cream); }
  .hero-shop-link .arr { transition: transform .2s; }
  .hero-shop-link:hover .arr { transform: translateX(3px); }
  /* Aj online — mini produktový teaser (cielená 2. voľba, decentný) */
  .shop-teaser { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(10px,1.4vw,16px); margin-top: clamp(28px,3.5vw,40px); }
  .st-item { position: relative; display: block; border-radius: 3px; overflow: hidden; text-decoration: none; }
  .st-item img { width: 100%; aspect-ratio: 3/4; object-fit: cover; transition: transform .5s var(--ease), filter .5s var(--ease); filter: brightness(0.96); }
  .st-item:hover img { transform: scale(1.05); filter: brightness(1.03); }
  .st-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,18,14,0) 52%, rgba(20,18,14,0.7) 100%); }
  .st-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 14px 16px; font-family: var(--body); font-size: 11px; font-weight: 500; letter-spacing: 1.4px; text-transform: uppercase; color: var(--cream); }
  @media (min-width: 720px) { .shop-teaser { grid-template-columns: repeat(4, 1fr); } }
  /* Späť hore — plávajúce tlačidlo */
  .to-top { position: fixed; right: clamp(16px,4vw,28px); bottom: clamp(16px,4vw,28px); z-index: 55; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; background: rgba(245,241,232,0.9); color: var(--ink); border: 1px solid var(--line); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 6px 22px rgba(20,18,14,0.18); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s var(--ease), transform .3s var(--ease), background .25s, color .25s, border-color .25s; }
  .to-top.show { opacity: 1; transform: none; pointer-events: auto; }
  .to-top:hover { background: var(--gold); color: var(--dark); border-color: var(--gold); }
  .to-top svg { width: 20px; height: 20px; }
  @media (prefers-reduced-motion: reduce) { .to-top { transition: opacity .2s; transform: none; } }
  .scroll-hint { position: absolute; bottom: 22px; right: clamp(20px,5vw,64px); z-index: 1; color: rgba(245,241,232,0.7); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; display: flex; align-items: center; gap: 10px; writing-mode: vertical-rl; }

  /* ---------- Manifesto ---------- */
  .manifesto .big {
    font-family: var(--display); font-weight: 400; font-size: clamp(30px, 5vw, 62px);
    line-height: 1.12; letter-spacing: -0.6px; max-width: 18ch;
  }
  .manifesto-grid { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: end; margin-top: 44px; }
  .manifesto-grid .body-txt { max-width: 42ch; }
  .manifesto-photo { margin-top: clamp(44px, 6vw, 80px); border-radius: 3px; overflow: hidden; }
  .manifesto-photo img { width: 100%; height: clamp(340px, 52vh, 600px); object-fit: cover; object-position: center 42%; display: block; }
  @media (min-width: 860px) { .manifesto-grid { grid-template-columns: 1.5fr 1fr; gap: 64px; } }

  /* ---------- Collection (Cerne full-bleed) ---------- */
  .coll { overflow: hidden; }
  .coll-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: clamp(34px, 4.5vw, 60px); }
  .coll-kick { color: var(--gold-soft); margin-bottom: 16px; }
  .coll-title { font-family: var(--display); font-weight: 500; font-size: clamp(42px, 6.6vw, 84px); line-height: 0.95; letter-spacing: -1.6px; color: var(--cream); white-space: nowrap; }
  .coll-title .it { font-weight: 400; }
  .coll-all { color: var(--cream); border-color: rgba(245,241,232,0.5); }
  .coll-all:hover { color: var(--gold-soft); border-color: var(--gold-soft); }
  .coll-track {
    display: flex; gap: clamp(6px, 0.7vw, 12px); overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 0 clamp(10px, 1.2vw, 16px); scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .coll-track::-webkit-scrollbar { display: none; }
  .ccard { scroll-snap-align: start; flex: 0 0 86%; max-width: 480px; text-decoration: none; }
  .ccard-photo { position: relative; height: clamp(440px, 74vh, 760px); overflow: hidden; }
  .ccard-photo .ph { position: absolute; inset: 0; }
  .ccard-photo img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.09); transform-origin: center; transition: transform .45s var(--ease); will-change: transform; }
  .ccard:hover .ccard-photo img { transform: scale(1.09); }
  .ccard-photo::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(20,18,14,0) 38%, rgba(20,18,14,0.86) 100%); }
  .ccard-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 30px; }
  .ccard-cap .tg { font-family: var(--body); font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; color: var(--gold-soft); display: block; margin-bottom: 11px; }
  .ccard-cap .nm { font-family: var(--display); font-weight: 400; font-size: clamp(28px, 3vw, 38px); color: var(--cream); line-height: 1.04; }
  .ccard-ghost { display: flex; }
  .ccard-ghost .ghost-inner { width: 100%; height: clamp(440px, 74vh, 760px); border: 1px solid rgba(245,241,232,0.2); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 34px; transition: background .3s var(--ease); }
  .ccard-ghost:hover .ghost-inner { background: rgba(245,241,232,0.04); }
  .ccard-ghost .kicker { color: var(--gold-soft); margin-bottom: 16px; }
  .ccard-ghost .ghost-big { font-family: var(--display); font-weight: 400; font-size: clamp(30px, 3.2vw, 44px); color: var(--cream); display: inline-flex; align-items: center; gap: 13px; line-height: 1; }
  .ccard-ghost .ghost-big .arr { transition: transform .25s var(--ease); }
  .ccard-ghost:hover .ghost-big .arr { transform: translateX(6px); }
  .coll-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 26px; }
  .coll-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 30px; }
  .coll-count { font-family: var(--display); font-style: italic; font-size: 16px; color: rgba(245,241,232,0.92); }
  .coll-count b, .coll-count #ctot { color: var(--cream); font-style: normal; }
  .coll-count b { font-family: var(--body); font-weight: 600; }
  .coll-arrows { display: flex; gap: 10px; }
  .coll-dots { display: flex; gap: 0; align-items: center; }
  .coll-dots .cdot { position: relative; width: 24px; height: 24px; min-width: 24px; min-height: 24px; border-radius: 50%; background: transparent; border: none; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .coll-dots .cdot::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 8px; height: 8px; border-radius: 50%; background: rgba(245,241,232,0.28); transition: width .25s var(--ease), background .25s var(--ease), border-radius .25s var(--ease); }
  .coll-dots .cdot.on::before { background: var(--gold-soft); width: 22px; border-radius: 980px; }
  .abtn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(245,241,232,0.35); background: transparent; color: var(--cream); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all .25s var(--ease); }
  .abtn:hover { background: var(--cream); color: var(--ink); border-color: var(--cream); }
  .abtn:active { transform: scale(0.92); }
  .abtn:disabled { opacity: 0.3; cursor: default; }
  .abtn:disabled:hover { background: transparent; color: var(--cream); border-color: rgba(245,241,232,0.35); }

  /* ---------- Quote ---------- */
  .quote { position: relative; overflow: hidden; }
  .quote-bg { position: absolute; inset: 0; z-index: 0; }
  .quote-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 22%; transform: scale(1.28); transform-origin: 72% 22%; will-change: transform; }
  .quote-bg::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(20,18,14,0.9) 0%, rgba(20,18,14,0.72) 38%, rgba(20,18,14,0.32) 64%, rgba(20,18,14,0.12) 100%); }
  .quote .wrap { position: relative; z-index: 1; }
  .quote-text {
    font-family: var(--display); font-weight: 400; color: var(--cream);
    font-size: clamp(28px, 4.6vw, 58px); line-height: 1.16; letter-spacing: -0.4px; max-width: 18ch;
  }
  .quote-mark { font-family: var(--display); font-style: italic; font-size: clamp(60px,9vw,120px); color: var(--gold); line-height: 0.5; display: block; height: 0.4em; }
  .quote-by { margin-top: 32px; }
  .quote .tlink { color: var(--cream); border-color: rgba(245,241,232,0.55); }
  .quote .tlink:hover { color: var(--gold-soft); border-color: var(--gold-soft); }

  /* ---------- Stores ---------- */
  .stores-grid { display: grid; grid-template-columns: 1fr; gap: 44px; margin-top: 44px; align-items: center; }
  .stores-photo { height: clamp(320px, 48vh, 520px); border-radius: 3px; overflow: hidden; }
  .stores-photo .ph, .stores-photo img { width: 100%; height: 100%; object-fit: cover; }
  .cities { display: flex; flex-wrap: wrap; gap: 0; margin: 6px 0 34px; border-top: 1px solid rgba(245,241,232,0.2); }
  .city { font-family: var(--display); font-size: clamp(20px,2.4vw,26px); color: var(--cream); padding: 14px 0; width: 100%; border-bottom: 1px solid rgba(245,241,232,0.2); display: flex; align-items: baseline; justify-content: space-between; transition: padding-left .3s var(--ease), color .3s; cursor: pointer; }
  .city:hover { padding-left: 14px; color: #fff; }
  .city.active { padding-left: 14px; color: var(--gold-soft); }
  .city .ci { font-family: var(--display); font-style: italic; font-size: 13px; color: var(--gold-soft); }
  .city.active .ci { color: var(--cream); }

  /* ---- Interactive store map ---- */
  .stores-map { position: relative; aspect-ratio: 103 / 62; border: 1px solid rgba(245,241,232,0.16); border-radius: 4px; overflow: hidden;
    background: radial-gradient(120% 90% at 60% 35%, #211d16 0%, #16130e 70%, #100e0a 100%); }
  .map-dots { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; z-index: 1; pointer-events: none; opacity: 0.72; }
  .map-tag { position: absolute; top: 18px; left: 20px; z-index: 3; font-family: var(--body); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(245,241,232,0.5); }
  .map-tag b { color: var(--gold-soft); font-weight: 600; }
  .map-pins { position: absolute; inset: 0; z-index: 2; }
  .pin { position: absolute; transform: translate(-50%,-50%); background: none; border: 0; padding: 0; cursor: pointer; }
  .pin .dot { display: block; width: 11px; height: 11px; border-radius: 50%; background: rgba(245,241,232,0.55); border: 1.5px solid rgba(20,18,14,0.5); transition: all .3s var(--ease); position: relative; z-index: 2; }
  .pin .ring { position: absolute; left: 50%; top: 50%; width: 11px; height: 11px; border-radius: 50%; transform: translate(-50%,-50%); border: 1px solid var(--gold-soft); opacity: 0; z-index: 1; }
  .pin .plabel { position: absolute; left: 50%; top: -8px; transform: translate(-50%,-100%); white-space: nowrap; font-family: var(--display); font-size: 14px; color: var(--cream); opacity: 0; transition: opacity .3s var(--ease); pointer-events: none; text-shadow: 0 1px 8px rgba(0,0,0,0.7); }
  .pin:hover .dot { background: var(--cream); transform: scale(1.25); }
  .pin:hover .plabel { opacity: 0.85; }
  .stores-map .pin.active .dot { background: var(--gold); transform: scale(1.5); box-shadow: 0 0 0 4px rgba(212,160,23,0.22); }
  .stores-map .pin.active .plabel { opacity: 1; color: var(--gold-soft); }
  .stores-map .pin.active .ring { animation: ping 2s var(--ease) infinite; }
  @keyframes ping { 0% { width: 11px; height: 11px; opacity: 0.8; } 100% { width: 56px; height: 56px; opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { .pin.active .ring { animation: none; } }
  .map-card { position: absolute; left: auto; right: 20px; bottom: 20px; z-index: 3; width: min(340px, calc(100% - 40px));
    background: rgba(16,14,10,0.78); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border: 1px solid rgba(245,241,232,0.14); border-radius: 4px; padding: 20px 22px; transition: opacity .3s var(--ease), transform .3s var(--ease);
    opacity: 0; transform: translateY(6px); pointer-events: none; }  /* hidden until a city is engaged — keeps the map clean on load */
  .map-card .mc-city { font-family: var(--display); font-size: clamp(22px,2.4vw,28px); color: var(--cream); line-height: 1.05; display: flex; align-items: baseline; gap: 10px; }
  .map-card .mc-city .mc-flag { font-family: var(--body); font-size: 11px; letter-spacing: 1.5px; color: var(--gold-soft); }
  .map-card .mc-meta { font-family: var(--body); font-size: 13px; color: rgba(245,241,232,0.7); margin-top: 8px; line-height: 1.5; }
  .map-card .mc-link { margin-top: 14px; }
  @media (min-width: 820px) {
    .stores-grid { grid-template-columns: 1fr 1.15fr; gap: 64px; }
    .stores-grid .photo-order { order: 2; }
    .cities { columns: 2; column-gap: 40px; }
  }

  /* ---------- Services ---------- */
  .serv-list { margin-top: 36px; }
  .serv-item { display: grid; grid-template-columns: auto 1fr auto; gap: 8px 28px; align-items: center; padding: clamp(26px,3.4vw,40px) 0; border-top: 1px solid var(--line); }
  .serv-item:last-child { border-bottom: 1px solid var(--line); }
  .serv-n { font-family: var(--display); font-style: italic; font-size: clamp(22px,3vw,34px); color: var(--gold); }
  .serv-c .t { font-family: var(--display); font-weight: 400; font-size: clamp(22px,3vw,34px); line-height: 1.1; }
  .serv-c .d { font-family: var(--body); font-size: 14px; color: var(--muted); margin-top: 8px; max-width: 52ch; line-height: 1.55; }
  .serv-arr { color: var(--muted); transition: transform .25s var(--ease), color .25s; }
  .serv-item:hover .serv-arr { transform: translateX(6px); color: var(--gold); }

  /* ---------- Inspiration ---------- */
  .inspo-grid { display: grid; grid-template-columns: 1fr; gap: clamp(26px,3vw,38px); margin-top: 44px; }
  .ipost { text-decoration: none; color: inherit; display: block; }
  .ipost-photo { height: clamp(260px,34vh,360px); border-radius: 3px; overflow: hidden; }
  .ipost-photo .ph, .ipost-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
  .ipost:hover .ipost-photo img { transform: scale(1.05); }
  .ipost .tg { font-family: var(--body); font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--gold); margin: 18px 0 9px; display: flex; gap: 12px; }
  .ipost .tg .ti { font-family: var(--display); font-style: italic; color: var(--muted); text-transform: none; letter-spacing: 0; }
  .ipost .pt { font-family: var(--display); font-weight: 400; font-size: clamp(20px,2.2vw,25px); line-height: 1.2; }
  .ipost:hover .pt { text-decoration: underline; text-underline-offset: 4px; }
  @media (min-width: 760px) { .inspo-grid { grid-template-columns: repeat(3, 1fr); } }

  /* ---------- Final ---------- */
  .final { text-align: left; }
  .final .big {
    font-family: var(--display); font-weight: 400; font-size: clamp(40px, 8vw, 110px);
    line-height: 1.0; letter-spacing: -1.2px; max-width: 15ch;
  }
  .final-foot { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; margin-top: clamp(34px,5vw,56px); }

  /* ---------- Compact image hero (úžitkové stránky) ---------- */
  .hero-banner { position: relative; min-height: 58vh; display: flex; align-items: flex-end; overflow: hidden; color: var(--cream); }
  .hero-banner .hb-bg { position: absolute; inset: 0; z-index: 0; }
  .hero-banner .hb-bg img { width: 100%; height: 100%; object-fit: cover; }
  .hero-banner .hb-bg::after { content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(20,18,14,0.55) 0%, rgba(20,18,14,0.25) 38%, rgba(20,18,14,0.82) 100%); }
  .hero-banner .wrap { position: relative; z-index: 1; width: 100%; padding-top: clamp(110px, 16vw, 150px); padding-bottom: clamp(40px, 6vw, 72px); }
  .hero-banner .kicker { color: rgba(245,241,232,0.85); }
  .hero-banner .sec-title { color: var(--cream); }
  .hero-banner .body-txt { color: rgba(245,241,232,0.85); }
  .hero-banner .btn--ghost { color: var(--cream); border-color: rgba(245,241,232,0.45); }
  .hero-banner .btn--ghost:hover { border-color: var(--cream); }
  .hero-banner .btn--solid { background: var(--cream); color: var(--ink); }
  .hero-banner .btn--solid:hover { background: #fff; }
  /* light-as-touch + candle-bloom layering (signatúra ako veľké hero) */
  .hero-banner.lightscene .hb-bg { z-index: 0; }
  .hero-banner.lightscene .ls-veil { z-index: 1; }
  .hero-banner.lightscene .ls-glow { z-index: 2; }
  .hero-banner.lightscene .ls-bloom { z-index: 3; }
  .hero-banner.lightscene .wrap { z-index: 4; }
  @media (max-width: 560px) { .hero-banner { min-height: 64vh; } }

  /* ---------- Footer ---------- */
  .footer { background: var(--dark); color: var(--cream); padding: clamp(64px,8vw,96px) 0 40px; }
  .footer-top { display: grid; grid-template-columns: 1fr; gap: 40px; }
  .footer-brand .b { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
  .footer-brand img { height: 42px; }
  .footer-brand .wm { font-family: var(--display); font-size: 21px; font-weight: 600; letter-spacing: 0.2px; }
  .footer-brand .wm-k { color: var(--cream); }
  .footer-brand .wm-v { color: var(--gold-soft); }
  .footer-brand p { font-family: var(--display); font-style: italic; font-size: 19px; color: rgba(245,241,232,0.7); max-width: 24ch; line-height: 1.4; }
  .footer-social { display: flex; gap: 12px; margin-top: 22px; }
  .footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(245,241,232,0.22); color: rgba(245,241,232,0.85); transition: color .2s, border-color .2s, background .2s; }
  .footer-social a:hover { color: var(--dark); background: var(--gold); border-color: var(--gold); }
  .footer-social svg { width: 19px; height: 19px; }
  .footer-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-col h3 { font-family: var(--body); font-size: 12px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: rgba(245,241,232,0.5); margin-bottom: 16px; }
  .footer-col a { display: block; font-family: var(--body); font-size: 15px; color: rgba(245,241,232,0.85); text-decoration: none; padding: 6px 0; transition: color .2s, padding-left .25s var(--ease); }
  .footer-col a:hover { color: #fff; padding-left: 6px; }
  .footer-bottom { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; margin-top: clamp(48px,6vw,72px); padding-top: 24px; border-top: 1px solid rgba(245,241,232,0.14); }
  .footer-bottom .micro { font-family: var(--body); font-size: 12px; color: rgba(245,241,232,0.78); }
  .footer-bottom .micro a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
  .footer-bottom .ck-reopen { font: inherit; font-size: 12px; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
  .footer-bottom .ck-reopen:hover { color: #fff; }
  @media (min-width: 820px) {
    .footer-top { grid-template-columns: 1.6fr 2fr; gap: 64px; }
    .footer-cols { grid-template-columns: repeat(3, 1fr); }
  }

  /* ---------- Placeholder ---------- */
  .ph { background:
      radial-gradient(120% 100% at 50% 30%, #2a2720 0%, #1d1b16 60%, #14120e 100%);
    display: flex; align-items: center; justify-content: center; }
  .ph img.wm { width: 42%; max-width: 200px; opacity: 0.14; }

  /* ---------- Reveal ---------- */
  .reveal { opacity: 0; transform: translateY(30px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
  .reveal.in { opacity: 1; transform: none; }
  /* Fallback the nav script switches on when reveals stay invisible after 1.2 s. It used to inject
     a <style> element; CSP without 'unsafe-inline' blocks that, so it is a class on <html> now. */
  html.kv-reveal-off .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .reveal.d1 { transition-delay: .1s; } .reveal.d2 { transition-delay: .2s; } .reveal.d3 { transition-delay: .3s; }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } .menu-links a { opacity: 1; transform: none; } }

  /* ============================================================
     NAŽIVO — svetlo ako dotyk (signature mechanic)
     veil/glow = LIGHT MASK over a photo (DESIGN.md §7), never a decorative background
     ============================================================ */
  .lightscene { position: relative; overflow: hidden; isolation: isolate; }
  .ls-veil { position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(circle var(--beam) at var(--mx) var(--my),
      rgba(26,24,20,0) 0%, rgba(26,24,20,0) 16%,
      rgba(26,24,20, calc(var(--ambient) * 0.55)) 46%,
      rgba(26,24,20, var(--ambient)) 78%); }
  .ls-glow { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
    background: radial-gradient(circle calc(var(--beam) * 0.92) at var(--mx) var(--my),
      rgba(230,197,102, var(--warmth)) 0%, rgba(198,162,58, calc(var(--warmth) * 0.4)) 34%, transparent 62%); }
  .ls-bloom { position: absolute; inset: 0; pointer-events: none; background: var(--dark);
    opacity: 1; transition: opacity var(--bloom-ms) var(--ease); }
  .lightscene.lit .ls-bloom { opacity: 0; }

  /* Hero light layering — keeps parallax #heroImg + bottom legibility gradient */
  .hero.lightscene .ls-veil { z-index: 1; }
  .hero.lightscene .ls-glow { z-index: 2; }
  .hero.lightscene .ls-bloom { z-index: 3; }
  .hero.lightscene .hero-inner { z-index: 4; }
  .hero.lightscene .scroll-hint { z-index: 4; }
  .touch-hint { position: absolute; z-index: 5; left: var(--mx); top: var(--my);
    transform: translate(-50%, calc(-50% - 54px)); pointer-events: none;
    font-family: var(--body); font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(245,241,232,0.82); white-space: nowrap; transition: opacity .5s var(--ease); }
  .touch-hint::before { content: ""; display: block; width: 1px; height: 28px; margin: 8px auto 0;
    background: linear-gradient(rgba(230,197,102,0.8), transparent); }
  .hero.interacted .touch-hint { opacity: 0; }

  /* Living "naživo" — flickering candlelight word (signature; gold = light/interaction) */
  .hero h1 .live { color: var(--gold-lum); font-style: italic; font-weight: 600;
    text-shadow: 0 0 26px rgba(230,197,102,0.5), 0 0 64px rgba(230,197,102,0.26);
    animation: kv-flicker 5.5s var(--ease) infinite; }
  @keyframes kv-flicker {
    0%,100% { opacity: 1; text-shadow: 0 0 26px rgba(230,197,102,0.5), 0 0 64px rgba(230,197,102,0.26); }
    46% { opacity: 0.97; }
    50% { opacity: 0.86; text-shadow: 0 0 18px rgba(230,197,102,0.4), 0 0 40px rgba(230,197,102,0.18); }
    54% { opacity: 0.98; }
    72% { opacity: 0.9; }
  }

  /* Quote light layering — keeps parallax #quoteImg + left legibility gradient */
  .quote.lightscene .ls-veil { z-index: 1; }
  .quote.lightscene .ls-glow { z-index: 2; }
  .quote.lightscene .ls-bloom { z-index: 3; }
  .quote.lightscene .wrap { z-index: 4; }

  /* Collection — light reveals the detail on touch (mask over the card photo; no gradient over solid green) */
  .coll .ccard-photo::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; mix-blend-mode: screen;
    background: radial-gradient(72% 56% at 50% 32%, rgba(230,197,102,0.22), transparent 70%);
    opacity: 0; transition: opacity .55s var(--ease); }
  .coll .ccard-photo img { filter: brightness(0.84) saturate(0.95); transition: transform .45s var(--ease), filter .55s var(--ease); }
  .coll .ccard:hover .ccard-photo img, .coll .ccard:focus-within .ccard-photo img { filter: brightness(1.05) saturate(1.05); }
  .coll .ccard:hover .ccard-photo::before, .coll .ccard:focus-within .ccard-photo::before { opacity: 1; }

  /* Peak — the tree ignites on scroll (P6 Peak-End) */
  .peak { min-height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden; }
  .peak-img { position: absolute; inset: 0; z-index: 0; }
  .peak-img img { width: 100%; height: 100%; object-fit: cover; object-position: center;
    filter: brightness(0.32) saturate(0.6) contrast(0.95); transform: scale(1.08);
    transition: filter 2.1s var(--ease), transform 2.4s var(--ease); }
  .peak.ignited .peak-img img { filter: brightness(0.92) saturate(1.08) contrast(1.02); transform: scale(1); }
  .peak-img::after { content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(20,18,14,0.55) 0%, rgba(20,18,14,0.14) 30%, rgba(20,18,14,0.5) 54%, rgba(20,18,14,0.84) 100%); }
  .peak-glow { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity 2.4s var(--ease);
    background: radial-gradient(60% 50% at 50% 46%, rgba(230,197,102,0.22), transparent 70%); mix-blend-mode: screen; }
  .peak.ignited .peak-glow { opacity: 1; }
  .peak-inner { position: relative; z-index: 2; width: 100%; }
  .peak-h { font-family: var(--display); font-weight: 500; font-size: clamp(38px, 7vw, 100px);
    line-height: 0.98; letter-spacing: -1.2px; color: var(--cream); max-width: 13ch; text-shadow: 0 1px 3px rgba(20,18,14,0.85), 0 2px 50px rgba(20,18,14,0.62); }
  .peak-h .it { font-style: italic; font-weight: 400; }
  .peak-lead { font-family: var(--display); font-style: italic; font-size: clamp(18px, 2.2vw, 24px);
    color: var(--cream); margin-top: 22px; opacity: 0; transform: translateY(14px); text-shadow: 0 1px 3px rgba(20,18,14,0.9), 0 2px 26px rgba(20,18,14,0.55);
    transition: opacity 1.2s var(--ease) .5s, transform 1.2s var(--ease) .5s; }
  .peak.ignited .peak-lead { opacity: 1; transform: none; }

  /* gold-only-interactive — neutralise decorative gold (structural accents); interactive gold kept */
  .sec-index { color: var(--muted); }
  .scene--dark .sec-index, .scene--green .sec-index { color: rgba(245,241,232,0.6); }
  .quote-mark { color: rgba(245,241,232,0.42); }
  .serv-n { color: var(--muted); }
  .kicker .idx { color: var(--muted); }
  .scene--dark .kicker .idx, .scene--green .kicker .idx { color: rgba(245,241,232,0.55); }

  /* gold-only-interactive — sweep 2: remaining decorative gold-soft → structural cream
     (gold now reserved for interaction + light; active/hover/CTA/brand/candlelight kept) */
  .coll-kick { color: rgba(245,241,232,0.92); }
  .ccard-cap .tg { color: rgba(245,241,232,0.72); }
  .city .ci { color: rgba(245,241,232,0.5); }            /* .city.active .ci stays cream (higher specificity above) */
  .map-tag b { color: rgba(245,241,232,0.82); }
  .ipost .tg { color: rgba(245,241,232,0.7); }
  .menu-links a .mi { color: rgba(245,241,232,0.5); }
  .hero h1 .dot { color: rgba(245,241,232,0.5); }
  /* decorative gold-word only on the light Klub scene → ink; quote/final keep gold = candlelight on dark */
  .scene:not(.scene--dark):not(.scene--green):not(.quote) .gold-word { color: var(--ink); font-weight: 500; }

  /* S3 — kontrast na zelených scénach (gold-only sweep nechal pár tokenov neviditeľných) */
  .scene--green .serv-n, .scene--green .serv-arr, .scene--green .ipost .tg .ti { color: rgba(245,241,232,0.6); }
  .scene--green .gold-word { color: var(--gold-lum); }

  /* prefers-reduced-motion — static, safely lit scenes (no veil/bloom/flicker/peak anim) */
  @media (prefers-reduced-motion: reduce) {
    .ls-bloom { display: none; }
    .ls-glow { display: none; }
    .ls-veil { background: radial-gradient(circle calc(var(--beam) * 1.5) at 50% 42%,
      rgba(26,24,20,0) 0%, rgba(26,24,20,0.42) 70%, rgba(26,24,20,0.62) 100%); }
    .hero h1 .live { animation: none; }
    .touch-hint { display: none; }
    .peak-img img { filter: brightness(0.92) saturate(1.05); transform: none; }
    .peak-glow { opacity: 1; }
    .peak-lead { opacity: 1; transform: none; }
    .coll .ccard-photo img { filter: none; }
    .coll .ccard-photo::before { display: none; }
  }

  /* multi-page chrome: active nav link + legible kicker on dark/green scenes */
  .nav-links a.active { opacity: 1; }
  .nav-links a.active::after { transform: scaleX(1); }
  .menu-links a.active .mi { color: var(--gold); }
  .menu.open .menu-links a:nth-child(7){transition-delay:.36s}
  .menu.open .menu-links a:nth-child(8){transition-delay:.41s}
  .menu.open .menu-links a:nth-child(9){transition-delay:.46s}
  .scene--dark .kicker, .scene--green .kicker { color: rgba(245,241,232,0.72); }
  .scene--dark .serv-c .d, .scene--green .serv-c .d { color: rgba(245,241,232,0.72); }

  /* PLAMIENOK — signature mikro-animácia editorial sekčných fotiek (data-flame):
     fotka vstúpi stmavená → zažne sa (bloom z bodu plameňa --fx/--fy) → žiara dýcha; desktop hover = svetlo za kurzorom */
  .flame-fig { position: relative; overflow: hidden; }
  .flame-fig img { filter: brightness(.66) saturate(.8); transition: filter 1.6s var(--ease); }
  .flame-fig.lit img { filter: brightness(1) saturate(1); }
  .flame-fig::before {
    content: ""; position: absolute; inset: -18%;
    background: radial-gradient(circle at var(--fx,70%) var(--fy,60%),
      rgba(230,197,102,.55), rgba(230,197,102,.16) 26%, transparent 52%);
    opacity: 0; mix-blend-mode: screen; pointer-events: none;
  }
  .flame-fig.lit::before {
    animation: flameIgnite 2.4s var(--ease) forwards, flameBreathe 5.8s ease-in-out 2.4s infinite;
  }
  @keyframes flameIgnite { 0% { opacity: 0; } 36% { opacity: .85; } 100% { opacity: .32; } }
  @keyframes flameBreathe { 0%, 100% { opacity: .28; } 50% { opacity: .44; } }
  .flame-fig::after {
    content: ""; position: absolute; inset: 0;
    background: radial-gradient(circle 230px at var(--mx,50%) var(--my,50%), rgba(230,197,102,.24), transparent 70%);
    opacity: 0; mix-blend-mode: screen; pointer-events: none;
    transition: opacity .6s var(--ease);
  }
  @media (hover:hover) and (pointer:fine) { .flame-fig.lit:hover::after { opacity: 1; } }
  @media (prefers-reduced-motion: reduce) {
    .flame-fig img { filter: none; transition: none; }
    .flame-fig::before { animation: none !important; opacity: .26; }
    .flame-fig::after { display: none; }
  }

  /* Logo anjel — hover: jemný trepot krídel + padajúce zlaté hviezdičky */
  .brand { position: relative; }
  .brand img { transform-origin: 50% 70%; }
  .brand:hover img, .brand:focus-visible img { animation: kvAngelFlutter .9s var(--ease); }
  @keyframes kvAngelFlutter {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    14% { transform: rotate(-6deg) translateY(-1px); }
    30% { transform: rotate(5deg) translateY(-2px); }
    46% { transform: rotate(-5deg) translateY(-1px); }
    62% { transform: rotate(3deg) translateY(-1px); }
    80% { transform: rotate(-2deg) translateY(0); }
  }
  .brand .kv-star {
    position: absolute; top: 24px; z-index: 6; pointer-events: none;
    font-size: 9px; line-height: 1; color: var(--gold-lum, #e6c566);
    text-shadow: 0 0 6px rgba(230,197,102,.75);
    opacity: 0; animation: kvStarFall 1.7s var(--ease) forwards;
  }
  @keyframes kvStarFall {
    0% { opacity: 0; transform: translate(0, -2px) scale(.4) rotate(0deg); }
    18% { opacity: 1; }
    100% { opacity: 0; transform: translate(var(--dx, 0), 36px) scale(1) rotate(50deg); }
  }
  @media (prefers-reduced-motion: reduce) {
    .brand:hover img, .brand:focus-visible img { animation: none; }
    .brand .kv-star { display: none; }
  }

/* ---- moved from index.html by _externalize-inline.cjs ---- */
    .ck-bar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;justify-content:center;padding:clamp(12px,2vw,20px);pointer-events:none}
    .ck-bar[hidden]{display:none}
    .ck-inner{pointer-events:auto;max-width:760px;width:100%;background:var(--cream);border:1px solid var(--line);border-radius:4px;box-shadow:0 18px 50px -22px rgba(26,24,20,.5);padding:clamp(18px,2.4vw,26px) clamp(20px,2.6vw,30px);display:flex;flex-direction:column;gap:16px}
    .ck-txt{font-family:var(--body);font-size:14px;line-height:1.62;letter-spacing:-.1px;color:var(--muted);margin:0}
    .ck-txt strong{color:var(--ink);font-weight:600}
    .ck-txt a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold-soft)}
    .ck-txt a:hover{color:var(--ink)}
    .ck-actions{display:flex;gap:12px;flex-wrap:wrap}
    .ck-btn{font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.02em;padding:11px 22px;border-radius:2px;cursor:pointer;border:1px solid var(--ink);transition:background .2s var(--ease),color .2s var(--ease)}
    .ck-btn--primary{background:var(--gold);border-color:var(--gold);color:var(--ink)}
    .ck-btn--primary:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
    .ck-btn--ghost{background:transparent;color:var(--ink)}
    .ck-btn--ghost:hover{background:var(--ink);color:var(--cream)}
    @media(min-width:620px){.ck-inner{flex-direction:row;align-items:center;gap:22px}.ck-actions{flex-shrink:0}}
