/* ==========================================================================
   Manifest (nahrádza karty s číslami)
   ========================================================================== */
.manifest { position: relative; overflow: hidden; background: var(--tan); padding: clamp(110px, 11vw, 160px) 0 clamp(90px, 9vw, 130px);
  background-image: radial-gradient(120% 90% at 50% 0%, rgba(255, 255, 255, .55), transparent 60%),
    repeating-linear-gradient(176deg, rgba(120, 78, 34, 0) 0 22px, rgba(120, 78, 34, .035) 22px 23px, rgba(120, 78, 34, 0) 23px 47px); }
.manifest__in { position: relative; z-index: 2; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px clamp(32px, 5vw, 72px); }
.manifest__bok { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding-top: 10px; }
.manifest__logo { width: auto; height: 74px; filter: drop-shadow(0 10px 16px rgba(58, 36, 16, .3)); }
.manifest__text { grid-column: 2; margin: 0; font-family: var(--f-display); font-weight: 600; font-size: clamp(30px, 3.6vw, 56px); line-height: 1.22; letter-spacing: -.025em; color: var(--ink); max-width: 20em; }
.manifest__text em { font-style: normal; color: var(--gold-2); }
.manifest__text .slovo { opacity: .18; transition: opacity .45s var(--ease); }
.manifest__text .slovo.is-on, .manifest__text.is-static .slovo { opacity: 1; }
.cip-c { display: inline-flex; align-items: baseline; gap: .12em; padding: .02em .32em .06em; margin: 0 .04em; border-radius: .22em; background: #fff; box-shadow: 0 10px 22px -12px rgba(58, 36, 16, .55); color: var(--ink); white-space: nowrap; vertical-align: .04em; line-height: 1.15; }
.cip-c b { font-family: var(--f-cond); font-weight: 600; font-size: 1.22em; line-height: 1; color: var(--gold-2); font-variant-numeric: tabular-nums; }
.cip-c--tmavy { background: var(--dark); color: #fff; }
.cip-c--tmavy b { color: var(--gold); }
.manifest__akcie { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: clamp(28px, 3vw, 44px); }
.manifest__tel { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-cond); font-weight: 600; font-size: 24px; letter-spacing: .02em; text-decoration: none; color: var(--ink); }
.manifest__tel svg { width: 20px; height: 20px; color: var(--gold-2); }
.manifest .fakty__meter { right: 3%; top: 40px; z-index: 1; }
.manifest .fakty__ceruzka { left: auto; right: 16%; bottom: -10px; z-index: 1; }
.manifest.is-on .fakty__pravitko span { transform: none; }
.manifest.is-on .fakty__meter, .manifest.is-on .fakty__ceruzka { transform: none; opacity: 1; }
@media (max-width: 900px) {
  .manifest__in { grid-template-columns: 1fr; }
  .manifest__bok { flex-direction: row; align-items: center; }
  .manifest__logo { height: 52px; }
  .manifest__text, .manifest__akcie { grid-column: 1; }
  .manifest .fakty__ceruzka { display: none; }
}
@media (max-width: 600px) { .manifest .fakty__meter { width: 110px; right: -18px; top: 42px; } .cip-c { white-space: normal; } }

/* ==========================================================================
   Projekt pod lupou (hotspoty)
   ========================================================================== */
.lupa { padding-block: clamp(80px, 9vw, 130px); background: var(--cream); }
.lupa__h { font-family: var(--f-cond); font-weight: 600; font-size: clamp(40px, 4.6vw, 68px); line-height: .98; text-transform: uppercase; letter-spacing: .01em; margin: 0; }
.lupa__h span { color: var(--gold-2); }
.lupa .hlava .kota { margin-bottom: 16px; }
.lupa__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.lupa__zoznam { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(27, 23, 20, .15); position: sticky; top: 110px; }
.lupa__zoznam li { border-bottom: 1px solid rgba(27, 23, 20, .15); }
.lupa__zoznam button { width: 100%; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; align-items: center; padding: 22px 14px 22px 0; background: none; border: 0; text-align: left; cursor: pointer; position: relative; transition: padding .35s var(--ease); }
.lupa__zoznam button::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--gold); transform: scaleY(0); transition: transform .35s var(--ease); }
.lupa__c { font-family: var(--f-cond); font-size: 30px; line-height: 1; color: var(--ink-3); transition: color .3s; }
.lupa__t b { display: block; font-family: var(--f-display); font-weight: 700; font-size: clamp(18px, 1.5vw, 21px); letter-spacing: -.02em; color: var(--ink-2); transition: color .3s; }
.lupa__t small { display: block; font-size: 13.5px; color: var(--ink-3); margin-top: 3px; }
.lupa__zoznam button:hover .lupa__t b { color: var(--ink); }
.lupa__zoznam button[aria-selected="true"] { padding-left: 18px; }
.lupa__zoznam button[aria-selected="true"]::before { transform: none; }
.lupa__zoznam button[aria-selected="true"] .lupa__c { color: var(--gold-2); }
.lupa__zoznam button[aria-selected="true"] .lupa__t b { color: var(--ink); }

.lupa__scena { min-width: 0; }
.lupa__ram { --ar: 4 / 3; position: relative; margin: 0 auto; aspect-ratio: var(--ar); width: min(100%, calc(min(72vh, 660px) * (var(--ar)))); border-radius: 8px; background: var(--cream-2); box-shadow: 0 40px 70px -40px rgba(27, 23, 20, .55); transition: opacity .25s var(--ease); }
.lupa__ram img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; display: block; }
.lupa__ram.is-mena { opacity: 0; }
.lupa__body { position: absolute; inset: 0; }
.bod { position: absolute; transform: translate(-50%, -50%); z-index: 2; animation: bodIn .5s var(--ease) both; animation-delay: var(--d, 0s); }
.bod.is-open { z-index: 4; }
@keyframes bodIn { from { opacity: 0; transform: translate(-50%, -50%) scale(.4); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
.bod button { position: relative; width: 38px; height: 38px; border-radius: 50%; border: 2px solid #fff; background: var(--gold-2); color: #fff; cursor: pointer; display: grid; place-items: center; font-family: var(--f-cond); font-weight: 700; font-size: 17px; box-shadow: 0 8px 20px -6px rgba(0, 0, 0, .55); transition: transform .25s var(--ease), background .25s; }
.bod button::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .75); animation: pulz 2.2s ease-out infinite; }
.bod.is-open button, .bod button:hover { background: var(--dark); transform: scale(1.1); }
@keyframes pulz { 0% { transform: scale(.6); opacity: 1; } 100% { transform: scale(1.35); opacity: 0; } }
.bod__karta { position: absolute; left: 30px; top: 30px; width: min(280px, 60vw); background: #fff; border-radius: 8px; padding: 16px 18px; box-shadow: 0 24px 44px -18px rgba(0, 0, 0, .5); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s var(--ease), transform .3s var(--ease), visibility 0s .3s; pointer-events: none; }
.bod__karta b { display: block; font-family: var(--f-cond); font-weight: 600; font-size: 21px; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px; }
.bod__karta p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.bod--vlavo .bod__karta { left: auto; right: 30px; }
.bod--hore .bod__karta { top: auto; bottom: 30px; }
.bod.is-open .bod__karta { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.lupa__pata { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 18px auto 0; max-width: 100%; }
.lupa__pocitadlo { font-family: var(--f-cond); font-size: 20px; letter-spacing: .1em; color: var(--ink-3); }
@media (max-width: 900px) {
  .lupa__grid { grid-template-columns: 1fr; }
  .lupa__zoznam { position: static; display: grid; grid-template-columns: 1fr 1fr; border-top: 0; gap: 8px; }
  .lupa__zoznam li { border: 0; }
  .lupa__zoznam button { grid-template-columns: 1fr; padding: 12px 14px; background: #fff; border-radius: 8px; gap: 4px; }
  .lupa__zoznam button[aria-selected="true"] { padding-left: 14px; background: var(--dark); }
  .lupa__zoznam button[aria-selected="true"] .lupa__t b { color: #fff; }
  .lupa__zoznam button::before, .lupa__t small { display: none; }
  .lupa__c { font-size: 20px; }
  .lupa__ram { width: min(100%, calc(62vh * (var(--ar)))); }
  .bod button { width: 32px; height: 32px; font-size: 15px; }
  .bod__karta { width: min(230px, 62vw); padding: 12px 14px; }
  .bod__karta b { font-size: 18px; }
  .bod__karta p { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .bod, .bod button::before { animation: none; } }
.lupa { overflow-x: clip; }
.lupa__popis { display: none; }
@media (max-width: 900px) {
  .bod__karta { display: none; }
  .lupa__popis:not(:empty) { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; margin-top: 14px; padding: 14px 16px; background: #fff; border-radius: 8px; box-shadow: 0 16px 30px -20px rgba(0, 0, 0, .4); }
  .lupa__popis > span { width: 32px; height: 32px; border-radius: 50%; background: var(--dark); color: #fff; display: grid; place-items: center; font-family: var(--f-cond); font-weight: 700; }
  .lupa__popis b { display: block; font-family: var(--f-cond); font-weight: 600; font-size: 18px; text-transform: uppercase; letter-spacing: .03em; }
  .lupa__popis p { margin: 2px 0 0; font-size: 14px; color: var(--ink-2); }
}

/* ==========================================================================
   Manifest v2 — tmavý, s fotkami vo vete, metrovým podčiarknutím a pečiatkou
   ========================================================================== */
.manifest { background-color: #16120F; color: #F5F0E8;
  background-image:
    radial-gradient(70% 60% at 85% 10%, rgba(217, 164, 65, .16), transparent 60%),
    radial-gradient(60% 60% at 0% 100%, rgba(181, 100, 43, .14), transparent 60%),
    repeating-linear-gradient(177deg, rgba(255, 255, 255, 0) 0 26px, rgba(255, 255, 255, .025) 26px 27px, rgba(255, 255, 255, 0) 27px 61px),
    repeating-linear-gradient(183deg, rgba(0, 0, 0, 0) 0 40px, rgba(0, 0, 0, .18) 40px 42px, rgba(0, 0, 0, 0) 42px 97px); }
.manifest__in { grid-template-columns: 220px minmax(0, 1fr); align-items: start; }
.manifest__bok { gap: 22px; padding-top: 6px; }
.manifest__miesto { font-family: var(--f-cond); font-size: 15px; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; color: rgba(245, 240, 232, .5); }
.manifest__obsah { min-width: 0; }
.manifest__text { color: #F5F0E8; font-size: clamp(32px, 3.9vw, 62px); line-height: 1.24; max-width: 19.5em; }
.manifest__text em { color: var(--gold); }
.manifest__text .slovo { opacity: .16; }

/* fotky vložené do vety */
.foto-pill { display: inline-block; width: 2.3em; height: .92em; margin: 0 .08em; border-radius: 999px; overflow: hidden; vertical-align: -.08em; box-shadow: 0 0 0 3px rgba(217, 164, 65, .35), 0 14px 26px -12px rgba(0, 0, 0, .8); transform: rotate(-3deg); transition: opacity .45s var(--ease), transform .6s var(--ease), width .6s var(--ease); }
.foto-pill:nth-of-type(2n) { transform: rotate(3deg); }
.foto-pill--uzka { width: 1.5em; }
.foto-pill img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.15); transition: transform 1.2s var(--ease); }
.foto-pill.is-on img { transform: scale(1); }
.foto-pill:not(.is-on) { width: .6em; }
.manifest__text.is-static .foto-pill { width: 2.3em; }

/* čísla — zlaté s metrovým podčiarknutím */
.cip-c { background: transparent; box-shadow: none; padding: 0 .06em .14em; margin: 0 .02em; border-radius: 0; color: #F5F0E8; position: relative; vertical-align: baseline; }
.cip-c b { color: var(--gold); font-size: 1.3em; }
.cip-c::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.02em; height: .22em;
  background:
    repeating-linear-gradient(90deg, var(--gold) 0 2px, transparent 2px .5em) 0 0 / 100% 100% no-repeat,
    repeating-linear-gradient(90deg, rgba(217, 164, 65, .7) 0 1.5px, transparent 1.5px .1em) 0 0 / 100% 55% no-repeat;
  border-top: 2px solid var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .9s var(--ease) .15s; }
.cip-c.is-on::after, .manifest__text.is-static .cip-c::after { transform: none; }
.cip-c--zlate { background: var(--gold); color: #16120F; padding: 0 .22em .06em; border-radius: .14em; transform: rotate(-2deg); display: inline-flex; }
.cip-c--zlate b { color: #16120F; }
.cip-c--zlate::after { display: none; }

.manifest__akcie { margin-top: clamp(36px, 4vw, 56px); padding-top: 28px; border-top: 1px solid rgba(245, 240, 232, .12); }
.manifest__tel { color: #F5F0E8; }
.manifest__tel svg { color: var(--gold); }
.manifest__podpis { margin-left: auto; font-family: var(--f-cond); font-size: 17px; letter-spacing: .08em; color: rgba(245, 240, 232, .5); }

/* rotujúca pečiatka */
.pecat { position: relative; width: 168px; height: 168px; display: grid; place-items: center; }
.pecat__text { position: absolute; inset: 0; width: 100%; height: 100%; animation: tocit 26s linear infinite; }
.pecat__text text { font-family: var(--f-cond); font-weight: 600; font-size: 14.2px; letter-spacing: 2.6px; fill: var(--gold); }
.pecat::before { content: ""; position: absolute; inset: 28px; border-radius: 50%; border: 1px solid rgba(217, 164, 65, .35); background: radial-gradient(circle, rgba(217, 164, 65, .12), transparent 70%); }
.pecat img { position: relative; height: 62px; width: auto; filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .6)); }
@keyframes tocit { to { transform: rotate(360deg); } }

.manifest .fakty__ceruzka { display: none; }
.manifest .fakty__meter { right: 2%; top: 46px; }

@media (max-width: 900px) {
  .manifest__in { grid-template-columns: 1fr; }
  .manifest__bok { flex-direction: row; align-items: center; gap: 18px; }
  .pecat { width: 120px; height: 120px; }
  .pecat::before { inset: 20px; }
  .pecat img { height: 44px; }
  .manifest__podpis { margin-left: 0; width: 100%; }
}
@media (max-width: 600px) { .manifest .fakty__meter { width: 96px; right: -14px; top: 40px; } .cip-c { white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .pecat__text { animation: none; } .foto-pill { width: 2.3em !important; } }
.nw { white-space: nowrap; }
.manifest__text { max-width: 16.8em; }
.manifest .fakty__meter { top: 30px; right: 1.5%; width: clamp(180px, 15vw, 230px); }
.manifest .cip-c { gap: 0; }
.manifest .cip-c b + * , .manifest .cip-c b { margin-right: .04em; }
@media (max-width: 600px) { .manifest .fakty__meter { display: none; } }

/* ==========================================================================
   Nové poradie: svetlé „Ako pracujeme“ + spojené O nás
   ========================================================================== */
.sekcia--postup { background-color: var(--white); color: var(--ink);
  background-image: linear-gradient(rgba(27, 23, 20, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(27, 23, 20, .035) 1px, transparent 1px); background-size: 64px 64px; }
.sekcia--postup .kota--pill { color: var(--gold-2); }
.sekcia--postup .hlava .h2 { color: var(--ink); }
.sekcia--postup .lead { color: var(--ink-2); }
.kroky5 { border-top-color: rgba(27, 23, 20, .14); }
.krok5 { border-left-color: rgba(27, 23, 20, .14); }
.krok5 h3 { color: var(--ink); }
.krok5 p { color: var(--ink-2); }
.krok5__c { color: var(--gold-2); }
.krok5__tag { color: var(--gold-2); border-color: rgba(185, 138, 46, .5); }
.postup-cta { border-top-color: rgba(27, 23, 20, .14); }
.postup-cta p { color: var(--ink-2); }
@media (max-width: 1000px) { .krok5 { border-top-color: rgba(27, 23, 20, .14); } }

.sekcia--onas { background: var(--cream-2); }
.onas2__text h2 { font-size: clamp(40px, 4.6vw, 70px); }
.onas2__dovody { margin: 24px 0 32px; border-top: 1px solid rgba(27, 23, 20, .15); }
.onas2__dovody .dovod2 { opacity: 1; transform: none; }

/* ==========================================================================
   Projekt pod lupou v2 — doska s prírodnou hranou, kolieska s ihličím, lesná karta
   ========================================================================== */
.lupa { position: relative;
  background-color: #F3EDE3;
  background-image:
    radial-gradient(60% 50% at 100% 30%, rgba(46, 74, 52, .10), transparent 70%),
    radial-gradient(50% 40% at 0% 100%, rgba(181, 100, 43, .10), transparent 70%),
    repeating-linear-gradient(178deg, rgba(120, 78, 34, 0) 0 30px, rgba(120, 78, 34, .028) 30px 31px, rgba(120, 78, 34, 0) 31px 71px); }
.lupa .wrap { position: relative; z-index: 1; }
.lupa__h span { color: #3E6B4A; }

.lupa__lavy { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 26px; }
.lupa__lavy .lupa__zoznam { position: static; }

/* lesná karta */
.lesna-karta { position: relative; margin: 0; border-radius: 10px; overflow: hidden; aspect-ratio: 4 / 3.3; box-shadow: 0 30px 50px -28px rgba(20, 30, 22, .7); isolation: isolate; }
.lesna-karta img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; transform: scale(1.04); transition: transform 6s var(--ease); }
.lesna-karta:hover img { transform: scale(1.12); }
.lesna-karta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 22, 16, 0) 30%, rgba(14, 22, 16, .88) 100%); }
.lesna-karta figcaption { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 1; color: #F5F0E8; }
.lesna-karta .kota { color: #C9D9B4; margin-bottom: 8px; display: inline-flex; }
.lesna-karta .kota::before { content: ""; width: 20px; height: 2px; background: #C9D9B4; }
.lesna-karta p { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.3; letter-spacing: -.015em; }

/* fotka položená na doske s prírodnou hranou */
.lupa__ram { isolation: isolate; background: transparent; box-shadow: none; transition: none; }
.lupa__ram > [data-lupa-img] { position: relative; z-index: 1; box-shadow: 0 40px 70px -36px rgba(27, 23, 20, .7), 0 0 0 6px #fff; transition: opacity .25s var(--ease); }
.lupa__ram.is-mena { opacity: 1; }
.lupa__ram.is-mena > [data-lupa-img], .lupa__ram.is-mena .lupa__body { opacity: 0; }
.lupa__body { z-index: 2; transition: opacity .25s var(--ease); }
.lupa__ram img.lupa__doska { position: absolute; z-index: 0; left: -13%; top: -9%; width: auto; height: 120%; max-width: none; object-fit: contain; border-radius: 0; transform: rotate(-4deg); filter: drop-shadow(0 30px 30px rgba(60, 35, 12, .45)); pointer-events: none; transition: left .6s var(--ease), transform .6s var(--ease); }
.lupa__ram[style*="1200 / 1600"] img.lupa__doska { left: -26%; transform: rotate(-3deg); }

/* kolieska dreva s ihličím */
.lupa__scena { position: relative; }
.lupa__kolieska { position: absolute; z-index: 5; right: -70px; bottom: 6px; width: clamp(200px, 19vw, 290px); pointer-events: none; filter: drop-shadow(0 26px 22px rgba(40, 25, 10, .45)); animation: plavaj 8s ease-in-out infinite; }
@keyframes plavaj { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(-1.5deg); } }

.lupa__pata { position: relative; z-index: 6; }

@media (max-width: 1200px) { .lupa__kolieska { right: -30px; width: 200px; } }
@media (max-width: 900px) {
  .lupa__lavy { position: static; }
  .lesna-karta { display: none; }
  .lupa__ram img.lupa__doska { left: -7%; top: -5%; height: 110%; }
  .lupa__ram[style*="1200 / 1600"] img.lupa__doska { left: -16%; }
  .lupa__kolieska { width: 130px; right: -18px; bottom: 40px; }
  .lupa__ram > [data-lupa-img] { box-shadow: 0 30px 50px -30px rgba(27, 23, 20, .7), 0 0 0 4px #fff; }
}
@media (prefers-reduced-motion: reduce) { .lupa__kolieska { animation: none; } }
.lupa__ram img.lupa__doska { left: -9%; top: -7%; height: 114%; }
.lupa__kolieska { bottom: 54px; }
@media (max-width: 900px) { .lupa__kolieska { bottom: 64px; } }
@media (max-width: 900px) { .lupa__kolieska { top: -46px; bottom: auto; right: -14px; width: 120px; } }

/* ==========================================================================
   Projekt pod lupou — jemná verzia (drevo len v pozadí)
   ========================================================================== */
.lupa { overflow: hidden; }
.lupa__ram > [data-lupa-img] { box-shadow: 0 34px 60px -34px rgba(27, 23, 20, .55); }
.lupa__letokruhy { position: absolute; z-index: 0; right: -180px; top: -140px; width: 720px; height: 720px; pointer-events: none;
  background: url("../img/deko/letokruhy.svg") center / contain no-repeat; opacity: .09; transform: rotate(-12deg); }
.lupa__vetvicka { position: absolute; z-index: 0; left: -70px; bottom: -60px; width: 300px; pointer-events: none; opacity: .92;
  transform: rotate(14deg); filter: drop-shadow(0 18px 18px rgba(40, 25, 10, .28)) saturate(.9); }
@media (max-width: 1300px) { .lupa__vetvicka { width: 220px; left: -80px; bottom: -50px; } }
@media (max-width: 900px) { .lupa__letokruhy { width: 420px; height: 420px; right: -160px; top: -80px; } .lupa__vetvicka { width: 150px; left: -50px; bottom: -36px; } }
.lupa__vetvicka { width: 250px; left: -110px; bottom: -78px; }
@media (max-width: 900px) { .lupa__vetvicka { width: 150px; left: -50px; bottom: -36px; } }

/* ==========================================================================
   Banner „Z lesa do dielne“ — kompozícia s objektom vystupujúcim z rámu
   ========================================================================== */
.les-banner { position: relative; margin-top: clamp(80px, 9vw, 130px); }
.les-banner__plocha { position: relative; overflow: hidden; border-radius: 14px; min-height: clamp(300px, 26vw, 380px); display: flex; align-items: center; isolation: isolate;
  box-shadow: 0 40px 80px -40px rgba(14, 22, 16, .75); }
.les-banner__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; z-index: -3; transform: scale(1.08); filter: saturate(.85) contrast(1.05); transition: transform 8s var(--ease); }
.les-banner:hover .les-banner__bg { transform: scale(1.14); }
.les-banner__plocha::before { content: ""; position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(90deg, rgba(11, 18, 13, .96) 0%, rgba(11, 18, 13, .88) 34%, rgba(11, 18, 13, .35) 62%, rgba(11, 18, 13, .55) 100%),
    radial-gradient(60% 90% at 78% 50%, rgba(217, 164, 65, .18), transparent 70%); }
.les-banner__plocha::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  opacity: .12; mix-blend-mode: overlay; }
.les-banner__kruhy { position: absolute; z-index: -1; right: -120px; top: 50%; width: 620px; height: 620px; transform: translateY(-50%) rotate(18deg); pointer-events: none;
  background: url("../img/deko/letokruhy.svg") center / contain no-repeat; filter: invert(1) sepia(1) saturate(2) hue-rotate(5deg); opacity: .16; }
.les-banner__ghost { position: absolute; z-index: -1; left: 50%; bottom: -.18em; transform: translateX(-36%); font-family: var(--f-cond); font-weight: 700; font-size: clamp(130px, 17vw, 260px); line-height: 1; letter-spacing: .02em;
  color: transparent; -webkit-text-stroke: 1.5px rgba(232, 214, 180, .22); pointer-events: none; user-select: none; white-space: nowrap; }
.les-banner__text { position: relative; padding: clamp(34px, 4vw, 56px); max-width: 560px; color: #F5F0E8; }
.les-banner__text .kota { color: #C9D9B4; margin-bottom: 14px; display: inline-flex; gap: 10px; }
.les-banner__text .kota::before { content: ""; width: 26px; height: 2px; background: #C9D9B4; }
.les-banner__text h3 { margin: 0 0 14px; font-family: var(--f-cond); font-weight: 600; font-size: clamp(38px, 4vw, 60px); line-height: .98; text-transform: uppercase; letter-spacing: .01em; }
.les-banner__text h3 em { font-style: normal; color: var(--gold); }
.les-banner__text p { margin: 0 0 22px; color: rgba(245, 240, 232, .78); font-size: 16px; line-height: 1.6; max-width: 30em; }
.les-banner__link { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-cond); font-weight: 600; font-size: 17px; letter-spacing: .14em; text-transform: uppercase; color: #F5F0E8; text-decoration: none; padding-bottom: 6px; border-bottom: 1px solid rgba(217, 164, 65, .6); transition: gap .3s var(--ease), color .3s; }
.les-banner__link svg { width: 16px; height: 16px; color: var(--gold); }
.les-banner__link:hover { gap: 16px; color: var(--gold); }
.les-banner__kolieska { position: absolute; z-index: 3; right: clamp(10px, 4vw, 70px); top: -86px; width: clamp(280px, 30vw, 440px); pointer-events: none;
  filter: drop-shadow(0 36px 30px rgba(0, 0, 0, .55)); animation: plavaj 9s ease-in-out infinite; }
@media (max-width: 900px) {
  .les-banner { margin-top: 90px; }
  .les-banner__plocha { min-height: 0; align-items: flex-end; padding-top: 110px; }
  .les-banner__plocha::before { background: linear-gradient(180deg, rgba(11, 18, 13, .35) 0%, rgba(11, 18, 13, .92) 55%); }
  .les-banner__kolieska { width: 210px; top: -64px; right: -6px; }
  .les-banner__ghost { font-size: 110px; left: auto; right: -10px; transform: none; bottom: auto; top: 10px; }
  .les-banner__kruhy { width: 380px; height: 380px; right: -140px; top: 30%; }
}
@media (prefers-reduced-motion: reduce) { .les-banner__kolieska { animation: none; } }
