
  :root{
    --green:#33443B;
    --green-2:#9AA894;
    --beige:#CBB896;
    --beige-soft:#E5D9C2;
    --ink:#212121;
    --paper:#FAF7F2;
    --paper-2:#F1ECE2;
    --line: rgba(33,68,59,.18);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;overflow-x:clip}
  body{
    font-family:'Montserrat',system-ui,sans-serif;
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
    overflow-x:clip;
    max-width:100vw;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--green);color:var(--paper)}

  /* ---------- TYPE ---------- */
  .serif{font-family:'Libre Caslon Text', 'Times New Roman', serif;font-weight:400}
  .italic{font-style:italic}
  h1,h2,h3,h4{font-family:'Libre Caslon Text',serif;font-weight:400;color:var(--green);letter-spacing:-.01em}
  h1{font-size:clamp(2.5rem, 5.5vw, 5rem);line-height:1;letter-spacing:-.02em;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none}
  h2{font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.04}
  h3{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.2}
  p{font-weight:400}
  .eyebrow{
    font-family:'Montserrat',sans-serif;font-weight:500;
    text-transform:uppercase;letter-spacing:.32em;
    font-size:.72rem;color:var(--green);
  }
  .num{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    color:var(--beige); font-size:1rem;letter-spacing:.05em;
  }
  .lede{font-size:clamp(1.05rem,1.2vw,1.2rem); line-height:1.7;color:#3d4a44;max-width:54ch}

  /* ---------- LAYOUT ---------- */
  .wrap{max-width:1480px;margin:0 auto;padding:0 clamp(20px,4vw,64px)}
  section{position:relative}
  .grid{display:grid;gap:clamp(24px,3vw,56px)}
  .divider{height:1px;background:var(--line);margin:0}
  .pill{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--line); padding:6px 14px;border-radius:100px;
    font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;color:var(--green);
  }

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:14px;
    font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:500;
    text-transform:uppercase;letter-spacing:.22em;
    padding:18px 34px;border-radius:100px;
    border:1px solid var(--green);
    transition:all .4s cubic-bezier(.2,.7,.2,1);
    cursor:pointer;background:transparent;color:var(--green);
  }
  .btn .arr{display:inline-block;transition:transform .4s}
  .btn:hover .arr{transform:translateX(6px)}
  .btn-primary{background:var(--green);color:var(--paper);border-color:var(--green)}
  .btn-primary:hover{background:var(--ink);border-color:var(--ink)}
  .btn-ghost:hover{background:var(--green);color:var(--paper)}
  .btn-beige{background:var(--beige);border-color:var(--beige);color:var(--green)}
  .btn-beige:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
  .link{
    font-family:'Montserrat',sans-serif;font-weight:500;font-size:.75rem;
    text-transform:uppercase;letter-spacing:.22em;color:var(--green);
    border-bottom:1px solid var(--green);padding-bottom:4px;
    display:inline-flex;gap:10px;transition:gap .3s;
  }
  .link:hover{gap:16px}

  /* ---------- NAV ---------- */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    transition: background .5s ease, backdrop-filter .5s, padding .5s, color .5s;
    padding: 22px 0;
  }
  .nav.solid{
    background: rgba(250,247,242,.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom:1px solid var(--line);
    padding: 14px 0;
  }
  .nav-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
  .nav-logo{display:flex;align-items:center;color:var(--green)}
  .nav-logo img{height:42px;width:auto;display:block;transition:height .4s}
  .nav.solid .nav-logo img{height:36px}
  .nav-links{display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
  .nav-links a{
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--green);font-weight:500;position:relative;padding:6px 0;
    transition: color .3s;white-space:nowrap;
  }
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--green);transition:width .35s ease;
  }
  .nav-links a:hover::after{width:100%}
  .nav-cta{margin-left:4px;justify-content:center;text-align:center;color:#ffffff;white-space:nowrap;flex-shrink:0}
  .nav-cta:hover,.nav-cta.btn-primary:hover{color:#ffffff;background:var(--green);border-color:var(--green)}
  .nav-burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center;cursor:pointer}
  .nav-burger span{width:18px;height:1px;background:var(--green);position:relative}
  .nav-burger span::before,.nav-burger span::after{content:"";position:absolute;left:0;width:18px;height:1px;background:var(--green)}
  .nav-burger span::before{top:-6px}.nav-burger span::after{top:6px}

  /* ---------- HERO ---------- */
  .hero{
    min-height:100vh;
    padding: 140px 0 160px;
    position:relative;overflow:hidden;
    background:
      radial-gradient(60% 80% at 90% 20%, rgba(203,184,150,.25), transparent 60%),
      radial-gradient(50% 60% at 0% 90%, rgba(154,168,148,.18), transparent 60%),
      var(--paper);
  }
  .hero-grid{
    display:grid;grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    gap:clamp(32px,4vw,80px);align-items:center;
    min-height: calc(100vh - 220px);
  }
  @media(min-width:1280px){
    .hero h1{font-size:clamp(2.8rem, 4.6vw, 4.8rem)}
  }
  .hero-text{min-width:0}
  .hero-eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:32px}
  .hero-eyebrow .line{height:1px;width:60px;background:var(--green)}
  .hero h1{text-wrap:pretty}
  .hero h1 .word{
    display:inline-block;overflow:hidden;line-height:1.12;
    vertical-align:bottom;padding-bottom:.12em;
    max-width:100%;
  }
  .hero h1 .word > span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
  .hero h1 .word.in > span{transform:translateY(0)}
  .hero h1 .accent{font-style:italic;color:var(--beige)}
  .hero-sub{margin-top:36px;max-width:48ch}
  .hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:44px}
  .hero-meta{
    display:flex;gap:48px;margin-top:60px;padding-top:32px;
    border-top:1px solid var(--line);max-width:540px;flex-wrap:wrap;
  }
  .hero-meta .m{font-size:.78rem;color:#5a625c;line-height:1.5}
  .hero-meta .m strong{display:block;color:var(--green);font-family:'Libre Caslon Text',serif;font-size:1.6rem;font-weight:400;margin-bottom:4px}
  @media(min-width:1101px){
    .hero-meta{max-width:none;flex-wrap:nowrap;gap:32px}
    .hero-meta .m{flex:1 1 0;min-width:0}
  }

  .hero-image{position:relative;height:78vh;min-height:540px;}
  .hero-image .frame{
    position:absolute;inset:0;border-radius:40px;
    overflow:hidden;
    box-shadow:0 40px 80px -30px rgba(33,68,59,.35);
  }
  .hero-image .frame img{width:100%;height:100%;object-fit:cover;object-position:center top; transform:scale(1.05)}
  .hero-image .blob{
    position:absolute;width:340px;height:340px;border-radius:50%;
    background: radial-gradient(closest-side, rgba(203,184,150,.55), rgba(203,184,150,0));
    top:-60px;right:-100px;z-index:-1;filter:blur(2px);
  }
  .hero-image .ring{
    position:absolute;width:220px;height:220px;border:1px solid var(--green);
    border-radius:50%;bottom:-60px;left:-80px;opacity:.35;
  }
  .hero-image .tag{
    position:absolute; bottom:32px;left:-30px;
    background:var(--paper); border:1px solid var(--line);
    padding:18px 24px;border-radius:100px;
    font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--green);
    box-shadow:0 12px 30px -14px rgba(33,68,59,.2);
    display:flex;align-items:center;gap:14px;
  }
  .hero-image .tag .dot{width:8px;height:8px;border-radius:50%;background:var(--beige);box-shadow:0 0 0 4px rgba(203,184,150,.25);animation:pulse 2.6s infinite}
  @keyframes pulse{50%{box-shadow:0 0 0 10px rgba(203,184,150,0)}}

  .scroll-cue{
    position:absolute;left:50%;bottom:32px;transform:translateX(-50%);
    font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--green);
    display:flex;flex-direction:column;align-items:center;gap:14px;opacity:.7;
  }
  .scroll-cue .l{width:1px;height:50px;background:var(--green);animation:drop 2.6s infinite}
  @keyframes drop{
    0%{transform:scaleY(0);transform-origin:top}
    50%{transform:scaleY(1);transform-origin:top}
    51%{transform-origin:bottom}
    100%{transform:scaleY(0);transform-origin:bottom}
  }

  /* ---------- MARQUEE ---------- */
  .marquee{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding: 26px 0;overflow:hidden;background:var(--paper);
  }
  /* width:max-content => boks toru = szerokość treści, więc translateX(-50%) = dokładnie jeden zestaw (płynna pętla, brak przeskoku) i prędkość niezależna od szerokości ekranu */
  .marquee-track{display:flex;width:max-content;animation:scroll 20s linear infinite;white-space:nowrap}
  .marquee span{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:1.1rem;color:var(--green);
    display:flex;align-items:center;padding-right:40px;
  }
  .marquee span::after{content:"✦";color:var(--beige);margin-left:40px}
  @keyframes scroll{to{transform:translateX(-50%)}}
  /* mniejsze przerwy na mobile */
  @media(max-width:480px){
    .marquee span{padding-right:26px}
    .marquee span::after{margin-left:26px}
  }

  /* ---------- SERVICES ---------- */
  .services{padding: clamp(80px,10vw,140px) 0}
  .svc-head{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:end;margin-bottom:80px}
  .svc-head h2 .accent{color:var(--beige);font-style:italic}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,40px)}
  .svc-card{
    position:relative;padding:36px 32px 32px;
    background:var(--paper-2);border-radius:18px;overflow:hidden;
    transition:all .5s cubic-bezier(.2,.7,.2,1);
    min-height:520px;display:flex;flex-direction:column;
  }
  .svc-card .img-wrap{
    margin: -36px -32px 32px;height: 320px;overflow:hidden;
    border-radius:18px 18px 200px 200px / 18px 18px 80px 80px;
  }
  .svc-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
  .svc-card:hover .img-wrap img{transform:scale(1.06)}
  .svc-card .num{margin-bottom:14px}
  .svc-card h3{margin-bottom:14px;color:var(--green)}
  .svc-card p{font-size:.92rem;color:#4a554f;margin-bottom:20px;flex:1}
  .svc-card .link{margin-top:auto}
  .svc-card.featured{background:var(--green);color:var(--paper)}
  .svc-card.featured h3,.svc-card.featured .num{color:var(--beige)}
  .svc-card.featured p{color:rgba(250,247,242,.78)}
  .svc-card.featured .link{color:var(--paper);border-color:var(--paper)}

  /* ---------- QUOTE ---------- */
  .quote-band{
    padding: clamp(80px,10vw,140px) 0;position:relative;
    background:
      radial-gradient(60% 80% at 0% 50%, rgba(154,168,148,.18), transparent 60%),
      var(--paper-2);
  }
  .quote-band .wrap{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:center}
  .quote-band blockquote{
    font-family:'Libre Caslon Text',serif;font-size:clamp(1.6rem,2.6vw,2.4rem);
    line-height:1.3;color:var(--green);font-style:italic;
    border-left:2px solid var(--beige);padding-left:32px;
  }
  .quote-band blockquote::before{
    content:"❝";display:block;color:var(--beige);font-size:4rem;line-height:.5;margin-bottom:18px;
  }
  .quote-band .sig{margin-top:24px;font-style:normal;font-family:'Montserrat',sans-serif;
    font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--green-2)}
  .quote-art{position:relative;height:520px;border-radius: 60% 40% 50% 50% / 50% 60% 40% 50%;overflow:hidden}
  .quote-art img{width:100%;height:100%;object-fit:cover;object-position:center top}

  /* ---------- ABOUT ---------- */
  .about{padding: clamp(80px,10vw,160px) 0;position:relative;background:var(--paper)}
  .about-grid{display:grid;grid-template-columns: 1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:center}
  /* Sekcja "Nazywam się" - jeden czysty portret, spójny z hero (bez collage/rotacji/dekoracji) */
  .about-imgs{position:relative}
  .about-photo{
    position:relative;overflow:hidden;border-radius:24px;
    aspect-ratio:4/5;
    box-shadow:0 40px 80px -30px rgba(33,68,59,.35);
  }
  .about-photo img{
    width:100%;height:100%;object-fit:cover;object-position:center top;
    transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
  }
  .about-photo:hover img{transform:scale(1.04)}
  .about-text .eyebrow{margin-bottom:22px}
  .about-text h2{margin-bottom:30px}
  .about-text h2 .accent{font-style:italic;color:var(--beige)}
  .about-text p{margin-bottom:22px;color:#3d4a44}
  .about-text .sig-line{
    margin-top:36px;display:flex;align-items:center;gap:20px;
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.4rem;color:var(--green);
  }
  .about-text .sig-line svg{width:60px;height:60px}

  /* ---------- METHOD ---------- */
  .method{
    padding: clamp(80px,10vw,140px) 0;
    background:var(--green);color:var(--paper);position:relative;overflow:hidden;
  }
  .method::before{
    content:"";position:absolute;width:600px;height:600px;border-radius:50%;
    background:radial-gradient(closest-side, rgba(203,184,150,.18), transparent);
    top:-200px;right:-200px;
  }
  .method::after{
    content:"";position:absolute;width:480px;height:480px;border-radius:50%;
    background:radial-gradient(closest-side, rgba(154,168,148,.14), transparent);
    bottom:-180px;left:-160px;
  }
  .method .wrap{position:relative;z-index:1}
  .method-head{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-bottom:80px;align-items:end}
  .method h2{color:var(--paper)}
  .method h2 .accent{color:var(--beige);font-style:italic}
  .method-head p{color:rgba(250,247,242,.8);max-width:48ch}
  .method-head .eyebrow{color:var(--beige)}
  .method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(250,247,242,.18)}
  .method-grid .item{background:var(--green);padding:42px 32px}
  .method-grid .item .num{display:block;color:var(--beige);font-style:italic;margin-bottom:18px}
  .method-grid .item h4{color:var(--paper);font-size:1.4rem;margin-bottom:14px;font-family:'Libre Caslon Text',serif}
  .method-grid .item p{color:rgba(250,247,242,.72);font-size:.86rem;line-height:1.6}

  /* ---------- SESJE / CENNIK ---------- */
  .sessions{padding:clamp(80px,10vw,140px) 0;background:var(--paper)}
  .sess-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:80px;align-items:end}
  .sess-head h2 .accent{color:var(--beige);font-style:italic}
  /* Elastyczny grid: auto-fit eliminuje puste komórki przy <3/6/9 sesjach */
  .price-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:clamp(16px,1.8vw,24px);background:transparent;border:0;border-radius:0;overflow:visible;
  }
  .price{
    position:relative;
    background:var(--paper);padding:36px 32px 32px;display:flex;flex-direction:column;
    border:1px solid var(--line);border-radius:20px;
    transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s, border-color .4s, background .4s, color .4s;
    min-height:340px;overflow:hidden;
  }
  .price::before{
    content:"";position:absolute;top:0;left:24px;right:24px;height:2px;
    background:linear-gradient(90deg,transparent,var(--beige),transparent);
    opacity:0;transition:opacity .5s;
  }
  .price:hover{
    background:var(--green);color:var(--paper);
    border-color:var(--green);
    transform:translateY(-6px);
    box-shadow:0 30px 60px -25px rgba(33,68,59,.45);
  }
  .price:hover::before{opacity:1}
  .price:hover h4,.price:hover .price-tag,.price:hover .price-meta{color:var(--paper)}
  .price:hover .price-tag{color:var(--beige)}
  .price:hover .price-meta{border-color:rgba(250,247,242,.25)}
  .price:hover p{color:rgba(250,247,242,.8)}
  .price:hover .link{color:var(--beige);border-color:var(--beige)}
  .price-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}
  .price h4{font-family:'Libre Caslon Text',serif;font-size:1.4rem;color:var(--green);font-weight:400;letter-spacing:.02em;transition:color .4s}
  .price-tag{font-family:'Libre Caslon Text',serif;color:var(--beige);font-size:1.4rem;white-space:nowrap;font-style:italic;transition:color .4s}
  .price p{font-size:.9rem;color:#4a554f;margin-bottom:24px;flex:1;line-height:1.6;transition:color .4s}
  .price-meta{
    display:flex;gap:18px;font-size:.7rem;letter-spacing:.18em;
    text-transform:uppercase;color:var(--green-2);
    padding-top:18px;border-top:1px solid var(--line);
    transition:border-color .4s, color .4s;
  }
  .price .link{transition:color .4s, border-color .4s, gap .3s}

  /* ---------- WORKSHOPS ---------- */
  .workshops{padding:clamp(80px,10vw,140px) 0;background:var(--paper-2);position:relative;overflow:hidden}
  .workshops::before{
    content:"";position:absolute;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(closest-side,rgba(203,184,150,.3),transparent);
    top:-200px;left:-160px;
  }
  .ws-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:80px;position:relative}
  .ws-head h2 .accent{color:var(--beige);font-style:italic}
  .ws-list{display:grid;gap:1px;background:var(--line);position:relative}
  .ws-item{
    background:var(--paper);padding:36px clamp(20px,3vw,48px);
    display:grid;grid-template-columns: 80px 2fr 1.6fr 160px;
    grid-template-areas:"num title place go" "num title term go";
    gap:4px 32px;align-items:center;cursor:pointer;
    transition:background .35s cubic-bezier(.2,.7,.2,1);
    position:relative;
  }
  .ws-item .ws-num{grid-area:num}
  .ws-item h4{grid-area:title}
  .ws-item .ws-place,.ws-item .ws-meta{grid-area:place}
  .ws-item .ws-term-mini{grid-area:term;align-self:start}
  .ws-item .ws-go{grid-area:go}
  .ws-item:hover{background:var(--paper-2)}
  .ws-item .ws-num,
  .ws-item h4,
  .ws-item .ws-meta,
  .ws-item .ws-place{
    transition:transform .35s cubic-bezier(.2,.7,.2,1), color .3s;
  }
  .ws-item:hover .ws-num{transform:translateX(4px);color:var(--green)}
  .ws-item:hover h4{transform:translateX(4px)}
  .ws-item .ws-num{font-family:'Libre Caslon Text',serif;font-style:italic;color:var(--beige);font-size:1.1rem}
  .ws-item h4{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.5rem;color:var(--green)}
  .ws-item .ws-meta{display:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green-2)}
  .ws-item .ws-place{font-size:.92rem;color:#4a554f}
  .ws-item .ws-go{display:flex;justify-content:flex-end;align-items:center}
  .ws-item .ws-go svg{
    width:44px;height:44px;border:1px solid var(--green);border-radius:50%;
    padding:13px;color:var(--green);
    transition:background .35s cubic-bezier(.2,.7,.2,1), color .35s, transform .35s cubic-bezier(.2,.7,.2,1);
    will-change:transform,background;
  }
  .ws-item:hover .ws-go svg{background:var(--green);color:var(--paper);transform:translateX(8px) scale(1.05)}

  /* ---------- ART ---------- */
  .art{padding:clamp(80px,10vw,140px) 0;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
  .art-head{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:end;margin-bottom:60px}
  .art h2{color:var(--paper)}
  .art h2 .accent{color:var(--beige);font-style:italic}
  .art .eyebrow{color:var(--beige)}
  .art-head p{color:rgba(250,247,242,.7);max-width:50ch}
  .art-grid{
    display:grid;grid-template-columns:repeat(12,1fr);gap:16px;
    grid-auto-rows:120px;
  }
  .art-grid .it{position:relative;overflow:hidden;border-radius:8px;cursor:pointer}
  .art-grid .it img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1), filter .6s;filter:saturate(.95)}
  .art-grid .it:hover img{transform:scale(1.06);filter:saturate(1.15)}
  .art-grid .it .cap{
    position:absolute;left:18px;bottom:18px;font-family:'Libre Caslon Text',serif;font-style:italic;
    color:var(--paper);font-size:1rem;opacity:0;transform:translateY(10px);transition:all .4s;
    text-shadow:0 2px 14px rgba(0,0,0,.6);
  }
  .art-grid .it:hover .cap{opacity:1;transform:translateY(0)}
  .it1{grid-column:span 4;grid-row:span 4}
  .it2{grid-column:span 4;grid-row:span 3}
  .it3{grid-column:span 4;grid-row:span 3}
  .it4{grid-column:span 3;grid-row:span 3}
  .it5{grid-column:span 5;grid-row:span 3}
  .it6{grid-column:span 4;grid-row:span 4}
  .it7{grid-column:span 4;grid-row:span 3}
  .it8{grid-column:span 4;grid-row:span 3}

  .art-cta{margin-top:60px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
    padding-top:40px;border-top:1px solid rgba(250,247,242,.18)}
  .art-cta p{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.4rem;color:var(--paper);max-width:540px}
  .art-cta .btn{border-color:var(--beige);color:var(--beige)}
  .art-cta .btn:hover{background:var(--beige);color:var(--ink)}

  /* ---------- TESTIMONIALS ---------- */
  .tests{padding:clamp(80px,10vw,140px) 0;background:var(--paper);position:relative}
  .tests-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
  .tests-head h2 .accent{color:var(--beige);font-style:italic}
  .tests-slider-wrap{position:relative}
  .tests-viewport{overflow:hidden;padding:8px 0 12px}
  .tests-track{
    display:flex;gap:24px;
    transition:transform .55s cubic-bezier(.2,.7,.2,1);will-change:transform;
  }
  .test{
    background:var(--paper-2);padding:36px 32px 30px;border-radius:18px;
    display:flex;flex-direction:column;gap:18px;
    flex:0 0 clamp(280px,32%,380px);
  }
  .test .q{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.05rem;line-height:1.55;color:var(--green);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:9;line-clamp:9;overflow:hidden}
  .test.is-expanded .q{-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
  .test-more{align-self:flex-start;margin-top:-4px;background:none;border:none;padding:0;color:var(--beige);font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;display:none}
  .test-more.is-visible{display:inline-flex}
  .test-more:hover{color:var(--green)}
  .tests-controls{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}
  .tests-arrow{
    width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:var(--paper);
    color:var(--green);cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:background .3s,color .3s,border-color .3s,opacity .3s;
  }
  .tests-arrow:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
  .tests-arrow:disabled{opacity:.3;cursor:default;pointer-events:none}
  @media(max-width:680px){
    .test{flex-basis:84%}
  }
  .test .who{
    display:flex;justify-content:space-between;align-items:center;gap:14px;
    padding-top:18px;border-top:1px solid var(--line);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green-2);
  }
  .test .who strong{font-family:'Libre Caslon Text',serif;color:var(--green);font-size:1rem;letter-spacing:.04em;text-transform:none;font-weight:400;font-style:italic}

  /* ---------- FAQ ---------- */
  .faq{padding:clamp(80px,10vw,140px) 0;background:var(--paper-2)}
  .faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start}
  .faq-side{position:sticky;top:120px}
  .faq-side h2 .accent{color:var(--beige);font-style:italic}
  .faq-side p{margin-top:24px;color:#4a554f;max-width:42ch}
  .faq-side .btn{margin-top:32px}
  details{
    border-bottom:1px solid var(--line);padding:28px 0;cursor:pointer;
  }
  details:first-child{border-top:1px solid var(--line)}
  details summary{
    list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;
    font-family:'Libre Caslon Text',serif;font-size:1.25rem;color:var(--green);font-weight:400;
  }
  details summary::-webkit-details-marker{display:none}
  details summary .plus{
    width:34px;height:34px;border:1px solid var(--green);border-radius:50%;
    display:flex;align-items:center;justify-content:center;flex:0 0 auto;
    transition:transform .4s, background .4s;font-family:sans-serif;font-size:1rem;
  }
  details[open] summary .plus{background:var(--green);color:var(--paper);transform:rotate(45deg)}
  details .a{margin-top:18px;color:#4a554f;font-size:.92rem;line-height:1.7;max-width:64ch}
  details .a + .a{margin-top:14px}

  /* ---------- BLOG ---------- */
  .blog{padding:clamp(80px,10vw,140px) 0;background:var(--paper)}
  .blog-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}
  .blog-head h2 .accent{color:var(--beige);font-style:italic}
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
  .post{display:flex;flex-direction:column;gap:18px;cursor:pointer}
  .post .ph{
    aspect-ratio:1.05/1;overflow:hidden;border-radius:14px;position:relative;
  }
  .post .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
  .post:hover .ph img{transform:scale(1.06)}
  .post .meta{display:flex;gap:14px;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green-2)}
  .post h3{font-family:'Libre Caslon Text',serif;font-size:1.6rem;color:var(--green);transition:color .3s}
  .post:hover h3{color:var(--ink)}
  .post p{font-size:.92rem;color:#4a554f;line-height:1.65}

  /* ---------- BOOKING ---------- */
  .booking{padding:clamp(80px,10vw,140px) 0;background:var(--green);color:var(--paper);position:relative;overflow:hidden}

  /* Subtle separator gdy 2 zielone sekcje obok siebie (np. .method + .booking na o-mnie) */
  .method + .booking::before,
  .booking + .method::before,
  .method + .method::before,
  .booking + .booking::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:clamp(80px,18vw,180px);height:1px;
    background:linear-gradient(90deg,transparent,rgba(203,184,150,.6) 30%,rgba(203,184,150,.6) 70%,transparent);
    z-index:3;pointer-events:none;
  }
  .booking::before{
    content:"";position:absolute;width:700px;height:700px;border-radius:50%;
    background:radial-gradient(closest-side,rgba(203,184,150,.22),transparent);
    top:-260px;right:-260px;
  }
  .booking .wrap{position:relative;z-index:1}
  .booking-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
  .booking h2{color:var(--paper)}
  .booking h2 .accent{color:var(--beige);font-style:italic}
  .booking p{color:rgba(250,247,242,.78);margin:24px 0 36px;max-width:46ch}
  .book-card{
    background:var(--paper);color:var(--ink);padding:40px;border-radius:18px;
    box-shadow:0 40px 80px -30px rgba(0,0,0,.35);
  }
  .book-card .eyebrow{color:var(--green)}
  .book-card h3{margin:14px 0 28px;color:var(--green)}
  .calendar{
    display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:.78rem;
  }
  .calendar .h{
    text-align:center;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--green-2);padding:8px 0;
  }
  .calendar .d{
    aspect-ratio:1;display:flex;align-items:center;justify-content:center;
    border-radius:50%;color:#5a625c;cursor:pointer;
    border:1px solid transparent; transition:all .3s;
  }
  .calendar .d.empty{visibility:hidden}
  .calendar .d.av{color:var(--green);font-weight:600;background:rgba(51,68,59,.07);border-color:var(--green)}
  .calendar .d.av:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
  .calendar .d.sel{background:var(--beige);color:var(--green);border-color:var(--beige);font-weight:600}
  .calendar .d.dis{color:#c4c4c4;background:transparent;border-color:transparent;opacity:.55;cursor:not-allowed}
  .book-card .vl-cal-gate{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:13px 18px;background:var(--beige-soft);border:1px solid var(--beige);border-radius:10px;color:var(--green);font-size:.86rem;line-height:1.55;font-weight:500;opacity:1}
  .book-card .vl-cal-gate::before{content:"\2191";font-weight:700;color:var(--green);flex:none;line-height:1.55}
  .calendar.is-locked{opacity:.4;pointer-events:none;filter:grayscale(.35)}
  .cal-legend{display:flex;gap:18px;margin-top:16px;font-size:.72rem;letter-spacing:.04em;color:var(--green-2)}
  .cal-legend span{display:inline-flex;align-items:center;gap:7px}
  .cal-legend i{width:14px;height:14px;border-radius:50%;display:inline-block}
  .cal-legend-av i{background:rgba(51,68,59,.07);border:1px solid var(--green)}
  .cal-legend-dis i{background:transparent;border:1px solid #d8d8d8;opacity:.6}
  .vl-booking-summary{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-bottom:24px}
  .vl-booking-summary .vl-bs-title{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
  .vl-booking-summary ul{list-style:none;margin:0;padding:0}
  .vl-booking-summary li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.92rem}
  .vl-booking-summary li:last-child{border-bottom:none}
  .vl-booking-summary li span{color:var(--green-2)}
  .vl-booking-summary li strong{color:var(--green);font-weight:600;text-align:right}
  .vl-booking-summary .vl-bs-price{margin-top:4px}
  .vl-booking-summary .vl-bs-price span{font-weight:600;color:var(--green)}
  .vl-booking-summary .vl-bs-price strong{font-family:'Libre Caslon Text',serif;font-size:1.25rem;color:var(--green)}
  .book-foot{
    display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:24px;
    border-top:1px solid var(--line);font-size:.78rem;color:var(--green-2);
  }
  .book-foot strong{color:var(--green);font-family:'Libre Caslon Text',serif;font-style:italic;font-weight:400;font-size:1rem}
  .book-month{
    display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;
  }
  .book-month .mn{font-family:'Libre Caslon Text',serif;font-size:1.4rem;color:var(--green)}
  .book-month .arrows{display:flex;gap:8px}
  .book-month .arrows button{
    width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--green);cursor:pointer;
  }

  /* ---------- CONTACT ---------- */
  .contact{padding:clamp(80px,10vw,140px) 0;background:var(--paper-2)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
  .contact h2 .accent{color:var(--beige);font-style:italic}
  .c-block{margin-bottom:32px}
  .c-block .eyebrow{margin-bottom:10px}
  .c-block p,.c-block a{color:#3d4a44;font-size:.96rem;line-height:1.7}
  .c-block a:hover{color:var(--green)}
  .c-block strong{font-family:'Libre Caslon Text',serif;font-weight:400;color:var(--green);display:block;margin-bottom:6px;font-size:1.1rem}
  .c-img{height:100%;min-height:520px;border-radius:18px;overflow:hidden;position:relative}
  .c-img img{width:100%;height:100%;object-fit:cover}
  .c-img::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 50%, rgba(33,68,59,.4));
  }
  .c-img .badge{
    position:absolute;left:24px;bottom:24px;color:var(--paper);
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.2rem;
  }

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink);color:var(--paper);padding:80px 0 40px}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
  .foot-logo{display:flex;align-items:center;margin-bottom:24px}
  .foot-logo img{height:56px;width:auto;display:block}
  footer p{color:rgba(250,247,242,.6);font-size:.9rem;line-height:1.7;max-width:36ch}
  footer h5{font-family:'Libre Caslon Text',serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.28em;color:var(--beige);margin-bottom:18px;font-weight:400}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}
  footer ul a{font-size:.9rem;color:rgba(250,247,242,.7);transition:color .3s}
  footer ul a:hover{color:var(--beige)}
  .foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:1px solid rgba(250,247,242,.14);font-size:.78rem;color:rgba(250,247,242,.5);gap:24px;flex-wrap:wrap}
  .foot-bot .soc{display:flex;gap:18px}
  .foot-bot .soc a{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--paper)}
  .foot-credit{display:inline-flex;align-items:center;gap:10px;opacity:.55;transition:opacity .3s ease}
  .foot-credit:hover{opacity:1}
  .foot-credit-label{font-size:.78rem;color:inherit}
  .foot-credit img{display:block;height:22px;width:auto}

  /* ---------- ANIMATIONS / OBSERVER ---------- */
  .reveal{opacity:0;transform:translateY(30px);transition:opacity 1s, transform 1s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal-stagger > *{opacity:0;transform:translateY(30px);transition:opacity .9s, transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal-stagger.in > *{opacity:1;transform:none}
  .reveal-stagger.in > *:nth-child(2){transition-delay:.12s}
  .reveal-stagger.in > *:nth-child(3){transition-delay:.24s}
  .reveal-stagger.in > *:nth-child(4){transition-delay:.36s}
  .reveal-stagger.in > *:nth-child(5){transition-delay:.48s}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 1100px){
    .hero-grid,.about-grid,.method-head,.svc-head,.sess-head,.ws-head,.tests-head,.blog-head,.booking-grid,.contact-grid,.faq-grid,.quote-band .wrap,.art-head{grid-template-columns:1fr;gap:48px}
    .faq-side{position:static;top:auto}
    .svc-grid,.method-grid,.tests-grid,.blog-grid,.price-grid{grid-template-columns:1fr 1fr}
    .ws-item{grid-template-columns:60px 1.4fr 1fr 60px;gap:18px}
    .about-photo{max-width:440px;margin:0 auto}
    .nav-links{display:none}
    .nav-burger{display:flex}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
    .hero-image{height:60vh;min-height:440px}
    .test:nth-child(2),.test:nth-child(4){transform:none}
    /* Hero home - centrowanie na mobile */
    .hero-text{text-align:center}
    .hero-eyebrow{flex-direction:column;align-items:center;justify-content:center;gap:14px}
    .hero-eyebrow .line{width:80px}
    .hero-actions{justify-content:center}
    .hero-meta{justify-content:center;margin-left:auto;margin-right:auto}
    .hero h1{margin-left:auto;margin-right:auto}
    .hero-sub{margin-left:auto;margin-right:auto}
    /* Sekcje home/landing - centrowanie heads na mobile */
    .svc-head,.ws-head,.tests-head,.method-head,.blog-head,.art-head,.sess-head{text-align:center}
    .svc-head .eyebrow,.ws-head .eyebrow,.tests-head .eyebrow,.blog-head .eyebrow,.art-head .eyebrow,.sess-head .eyebrow,.method-head .eyebrow{justify-content:center}
    .svc-head p.lede,.ws-head p.lede,.tests-head p.lede,.blog-head p.lede{margin-left:auto;margin-right:auto}
    /* Booking section centered */
    .booking-grid{text-align:center}
    .booking-grid .eyebrow{justify-content:center}
    .booking-grid .btn,.booking-grid p{margin-left:auto;margin-right:auto}
  }
  @media (max-width: 720px){
    .hero-image .tag{left:12px;right:12px;bottom:14px;padding:11px 14px;font-size:.58rem;letter-spacing:.12em;gap:10px;justify-content:center}
    .svc-grid,.method-grid,.tests-grid,.blog-grid,.price-grid{grid-template-columns:1fr}
    .ws-item{grid-template-columns:40px 1fr;grid-template-areas:"num title" ". place" ". term" ". go";gap:8px 14px;align-items:start}
    .ws-item .ws-num{grid-area:num}
    .ws-item h4{grid-area:title}
    .ws-item .ws-meta,.ws-item .ws-place{grid-area:place}
    .ws-item .ws-term-mini{grid-area:term}
    .ws-item .ws-go{grid-area:go;justify-content:flex-start;margin-top:12px}
    .art-grid{grid-auto-rows:80px}
    .it1,.it2,.it3,.it4,.it5,.it6,.it7,.it8{grid-column:span 6;grid-row:span 3}
    /* Footer - centruje wszystko na mobilce */
    .foot-grid{grid-template-columns:1fr;gap:40px;text-align:center}
    .foot-logo{justify-content:center;margin-bottom:18px}
    footer p{max-width:none;margin:0 auto}
    footer ul{align-items:center}
    .foot-bot{flex-direction:column;align-items:center;text-align:center;gap:18px}
    .foot-bot .soc{justify-content:center}
  }


  /* ---------- PAGE HEADER (subpages) ---------- */
  .page-hero{
    padding: 180px 0 80px;
    min-height:540px;
    display:flex;align-items:flex-end;
    background:
      radial-gradient(50% 60% at 90% 0%, rgba(203,184,150,.18), transparent 60%),
      radial-gradient(40% 50% at 0% 100%, rgba(154,168,148,.14), transparent 60%),
      var(--paper);
    border-bottom:1px solid var(--line);
    position:relative;overflow:hidden;
  }
  .page-hero .wrap{
    display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;
    width:100%;
  }
  .page-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:1}
  .page-hero h1 .accent{color:var(--beige);font-style:italic}
  .page-hero .eyebrow{margin-bottom:24px}
  .page-hero p{color:#3d4a44;max-width:50ch;font-size:1.05rem;line-height:1.7}
  .crumbs{display:flex;gap:10px;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green-2);margin-bottom:30px}
  .crumbs a{color:var(--green-2)}.crumbs a:hover{color:var(--green)}
  .crumbs span{color:var(--beige)}
  @media(max-width:1100px){
    .page-hero{padding:140px 0 60px;min-height:380px;text-align:center}
    .page-hero .wrap{grid-template-columns:1fr;gap:30px}
    .page-hero .crumbs{justify-content:center}
    .page-hero h1{margin-left:auto;margin-right:auto}
    .page-hero p{margin-left:auto;margin-right:auto}
    .page-hero .eyebrow{justify-content:center}
  }

  /* nav active */
  .nav-links a.active{color:var(--beige)}
  .nav-links a.active::after{width:100%;background:var(--beige)}

  /* ---------- BOOKING SLOTS (autorski) ---------- */
  .vl-slots{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
  .vl-slots-title{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green-2);margin-bottom:14px}
  .vl-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
  .vl-slot{
    padding:10px 12px;border-radius:8px;background:transparent;
    border:1px solid var(--line);color:var(--green);font-family:'Montserrat',sans-serif;
    font-size:.82rem;letter-spacing:.05em;cursor:pointer;transition:all .25s;
  }
  .vl-slot:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
  .vl-slot.sel{background:var(--beige);color:var(--green);border-color:var(--beige);font-weight:600}
  .vl-slot-type{display:block;margin-top:3px;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-2);transition:color .25s}
  .vl-slot:hover .vl-slot-type{color:var(--beige-soft)}
  .vl-slot.sel .vl-slot-type{color:var(--green)}
  .vl-slots-empty{font-size:.85rem;color:#888;font-style:italic;margin:0}
  .vl-success{padding:28px;background:#f0f6f1;border:1px solid var(--green);border-radius:12px;text-align:center}
  .vl-success h3{color:var(--green);margin-bottom:12px}
  .vl-success p{color:#3d4a44;margin:0;font-size:1rem}
  .vl-success strong{display:inline-block;margin-top:2px;color:var(--green);font-weight:700;letter-spacing:.04em;font-size:1.05rem}

  /* Booking form */
  #vl-booking-form{
    margin-top:48px;padding:36px;background:var(--paper);color:var(--ink);
    border-radius:18px;display:none;
  }
  #vl-booking-form .vl-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}
  #vl-booking-form label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:6px}
  #vl-booking-form input[type="text"],
  #vl-booking-form input[type="email"],
  #vl-booking-form input[type="tel"],
  #vl-booking-form select,
  #vl-booking-form textarea{
    width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;
    font-family:'Montserrat',sans-serif;font-size:.94rem;color:var(--ink);background:var(--paper-2);
    transition:border .2s, background .2s;
  }
  #vl-booking-form input:focus,
  #vl-booking-form select:focus,
  #vl-booking-form textarea:focus{outline:none;border-color:var(--green);background:var(--paper)}
  #vl-booking-form textarea{min-height:96px;resize:vertical}
  #vl-booking-form .vl-rodo{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:#4a554f;line-height:1.55;margin-top:8px}
  #vl-booking-form .vl-rodo input{margin-top:4px}
  #vl-booking-form button[type="submit"]{margin-top:18px}
  /* Wybor formy sesji - widoczny tylko przy terminach online lub gabinet */
  #vl-booking-form .vl-forma{margin:4px 0 16px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px}
  #vl-booking-form .vl-forma[hidden]{display:none}
  #vl-booking-form .vl-forma-q{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
  #vl-booking-form .vl-forma-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  #vl-booking-form .vl-forma-opts label{display:flex;gap:10px;align-items:flex-start;margin:0;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:.88rem;color:var(--ink);transition:border .2s,background .2s}
  #vl-booking-form .vl-forma-opts label:has(input:checked){border-color:var(--green);background:var(--paper)}
  #vl-booking-form .vl-forma-opts input{margin-top:3px;flex:none}
  #vl-booking-form .vl-forma-opts small{display:block;font-size:.74rem;color:#6b756f;margin-top:2px}
  @media(max-width:720px){
    #vl-booking-form .vl-row{grid-template-columns:1fr}
    #vl-booking-form .vl-forma-opts{grid-template-columns:1fr}
  }

  /* Mobile-only elementy ukryte na desktop */
  .vl-mobile-top,.vl-mobile-bottom{display:none}
  /* Desktop-only inline lang+CTA - kontener nadrzędny */
  .vl-desktop-only-wrap{display:contents}

  /* ============================================================
     MOBILE NAV - elegancki full-screen overlay z gradientem
     ============================================================ */
  @media(max-width:1100px){
    body.vl-nav-open{overflow:hidden}

    /* Burger - cross animation */
    .nav-burger{position:relative;z-index:1001}
    .nav-burger span,
    .nav-burger span::before,
    .nav-burger span::after{
      transition:transform .4s cubic-bezier(.2,.7,.2,1), opacity .25s, top .3s;
    }
    body.vl-nav-open .nav-burger{border-color:var(--beige)}
    body.vl-nav-open .nav-burger span{background:transparent}
    body.vl-nav-open .nav-burger span::before{
      top:0;transform:rotate(45deg);background:var(--green)
    }
    body.vl-nav-open .nav-burger span::after{
      top:0;transform:rotate(-45deg);background:var(--green)
    }

    /* Mobile menu overlay */
    .nav-links{
      display:flex !important;flex-direction:column;
      position:fixed;top:0;right:0;
      width:100%;height:100vh;height:100dvh;
      background:var(--paper);
      padding:0;
      gap:0;
      z-index:1000;
      transform:translateX(100%);
      transition:transform .55s cubic-bezier(.2,.7,.2,1);
      overflow-y:auto;overscroll-behavior:contain;
      align-items:stretch;justify-content:flex-start;
    }
    .nav-links::before{
      content:'';position:absolute;inset:0;pointer-events:none;
      background:
        radial-gradient(60% 50% at 100% 0%, rgba(203,184,150,.22), transparent 60%),
        radial-gradient(40% 40% at 0% 100%, rgba(154,168,148,.18), transparent 60%);
    }
    .nav-links.mobile-open{transform:translateX(0)}

    .nav-links > *{position:relative;z-index:1}

    /* TOP: logo + PL/EN switcher pod spodem (column layout, lewa strona) */
    .nav-links .vl-mobile-top{
      display:flex !important;
      flex-direction:column;align-items:flex-start;gap:18px;
      padding:24px 28px 24px;
      padding-right:80px; /* miejsce na X close button */
      border-bottom:1px solid rgba(33,68,59,.08);
      background:rgba(250,247,242,.7);backdrop-filter:blur(8px);
    }
    .vl-mobile-logo{display:flex;align-items:center}
    .vl-mobile-logo img{height:46px;width:auto;display:block}

    .nav-links .vl-mobile-top .vl-lang{
      margin:0;padding:3px;
      border:1px solid var(--line);border-radius:100px;
      display:inline-flex;
    }
    .nav-links .vl-mobile-top .vl-lang-btn{
      padding:6px 14px;font-size:.68rem;letter-spacing:.2em;
      border-radius:100px;font-weight:500;
    }
    .nav-links .vl-mobile-top .vl-lang-btn--active{
      background:var(--green);color:var(--paper);
    }

    /* Desktop inline lang/CTA - HIDE na mobile (!important by przebić cache) */
    .vl-desktop-only-wrap{display:none !important}
    /* Także ukryj bezpośrednich potomków - na wszelki wypadek */
    .nav-links > .vl-lang,
    .nav-links > .nav-cta{display:none !important}

    /* MIDDLE: menu links */
    .nav-links > a:not(.nav-cta):not(.vl-lang-btn){
      font-family:'Libre Caslon Text',serif;font-style:normal;font-weight:400;
      font-size:clamp(1.5rem,4.5vw,2rem);
      letter-spacing:.01em;text-transform:none;
      color:var(--green);
      padding:18px 28px;margin:0;
      border-bottom:1px solid rgba(33,68,59,.06);
      transition:color .3s, padding-left .35s cubic-bezier(.2,.7,.2,1);
      display:block;text-align:left;
    }
    .nav-links > a:not(.nav-cta):not(.vl-lang-btn):first-of-type{padding-top:32px}
    .nav-links > a:not(.nav-cta):not(.vl-lang-btn)::after{display:none !important}
    .nav-links > a:not(.nav-cta):not(.vl-lang-btn):hover,
    .nav-links > a:not(.nav-cta):not(.vl-lang-btn).active{
      color:var(--beige);padding-left:44px;font-style:italic;
    }

    /* Linki z wp_nav_menu są w <li> - obsługa też */
    .nav-links li{list-style:none}
    .nav-links li > a{
      font-family:'Libre Caslon Text',serif;font-style:normal;font-weight:400;
      font-size:clamp(1.5rem,4.5vw,2rem);
      color:var(--green);
      padding:18px 28px;
      border-bottom:1px solid rgba(33,68,59,.06);
      transition:color .3s, padding-left .35s;
      display:block;
    }
    .nav-links li > a::after{display:none !important}
    .nav-links li > a:hover,
    .nav-links li.current-menu-item > a{
      color:var(--beige);padding-left:44px;font-style:italic;
    }

    /* Ukryj DESKTOP elementy w mobile menu */
    .nav-links > .vl-lang{display:none}
    .nav-links > .nav-cta{display:none}

    /* BOTTOM: duży CTA + telefon */
    .nav-links .vl-mobile-bottom{
      display:flex !important;flex-direction:column;align-items:center;gap:20px;
      margin-top:auto;
      padding:36px 28px 40px;
      background:linear-gradient(180deg, transparent 0%, var(--paper-2) 100%);
      border-top:1px solid rgba(33,68,59,.08);
    }
    .vl-mobile-cta{
      display:flex !important;align-items:center;justify-content:center;gap:14px;
      width:100%;min-height:64px;
      padding:22px 32px;
      font-family:'Montserrat',sans-serif;font-size:.92rem;font-weight:600;
      letter-spacing:.24em;text-transform:uppercase;
      background:var(--green) !important;color:var(--paper) !important;
      border-radius:100px;text-decoration:none;
      box-shadow:0 14px 30px -10px rgba(33,68,59,.45);
      transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, background .3s;
      position:relative;overflow:hidden;border:0;
    }
    .vl-mobile-cta::after{display:none !important}
    .vl-mobile-cta:active{transform:scale(.97)}
    .vl-mobile-cta:hover{
      background:var(--ink) !important;transform:translateY(-2px);
      box-shadow:0 20px 40px -10px rgba(33,68,59,.55);
    }
    .vl-mobile-cta .arr{transition:transform .3s;font-size:1.1rem}
    .vl-mobile-cta:hover .arr{transform:translateX(4px)}

    .vl-mobile-tel{
      display:flex;flex-direction:column;align-items:center;gap:2px;
      text-decoration:none;padding:8px 16px;margin-top:4px;
      transition:color .3s;
    }
    .vl-mobile-tel::after{display:none !important}
    .vl-mobile-tel-label{
      font-family:'Montserrat',sans-serif;font-size:.66rem;letter-spacing:.22em;
      text-transform:uppercase;color:var(--green-2);
    }
    .vl-mobile-tel-number{
      font-family:'Libre Caslon Text',serif;font-style:italic;
      font-size:1.4rem;color:var(--green);
    }
    .vl-mobile-tel:hover .vl-mobile-tel-number{color:var(--beige)}

    /* Stagger animation linków */
    .nav-links.mobile-open .vl-mobile-top{animation:vl-nav-in .5s .05s cubic-bezier(.2,.7,.2,1) backwards}
    .nav-links.mobile-open > a:not(.nav-cta):not(.vl-lang-btn),
    .nav-links.mobile-open li > a{
      animation:vl-nav-in .55s cubic-bezier(.2,.7,.2,1) backwards;
    }
    .nav-links.mobile-open > a:nth-of-type(1),
    .nav-links.mobile-open li:nth-of-type(1) > a{animation-delay:.14s}
    .nav-links.mobile-open > a:nth-of-type(2),
    .nav-links.mobile-open li:nth-of-type(2) > a{animation-delay:.2s}
    .nav-links.mobile-open > a:nth-of-type(3),
    .nav-links.mobile-open li:nth-of-type(3) > a{animation-delay:.26s}
    .nav-links.mobile-open > a:nth-of-type(4),
    .nav-links.mobile-open li:nth-of-type(4) > a{animation-delay:.32s}
    .nav-links.mobile-open > a:nth-of-type(5),
    .nav-links.mobile-open li:nth-of-type(5) > a{animation-delay:.38s}
    .nav-links.mobile-open > a:nth-of-type(6),
    .nav-links.mobile-open li:nth-of-type(6) > a{animation-delay:.44s}
    .nav-links.mobile-open > a:nth-of-type(7),
    .nav-links.mobile-open li:nth-of-type(7) > a{animation-delay:.5s}
    .nav-links.mobile-open .vl-mobile-bottom{animation:vl-nav-in .55s .55s cubic-bezier(.2,.7,.2,1) backwards}
    @keyframes vl-nav-in{
      from{opacity:0;transform:translateY(20px)}
      to{opacity:1;transform:translateY(0)}
    }
  }

  /* ---------- NAV CTA override (specificity bump - nadpisuje .nav-links a) ---------- */
  .nav-links a.nav-cta,
  .nav-links a.btn-primary{
    color:#ffffff;
    background:var(--green);
    border:1px solid var(--green);
    padding:10px 18px;
    border-radius:100px;
  }
  .nav-links a.nav-cta::after{display:none}
  .nav-links a.nav-cta:hover{background:var(--ink);border-color:var(--ink);color:#ffffff}

  /* ---------- LANGUAGE SWITCHER (toggle PL | EN) ---------- */
  .nav-links .vl-lang{
    display:inline-flex;align-items:center;
    margin-left:6px;padding:2px;
    border:1px solid var(--line);border-radius:100px;
    background:transparent;flex-shrink:0;
  }
  .nav-links .vl-lang-btn,
  .nav-links a.vl-lang-btn{
    display:inline-block;padding:4px 9px;border-radius:100px;
    font-size:.62rem;letter-spacing:.16em;font-weight:500;
    text-transform:uppercase;color:var(--green-2);
    text-decoration:none;transition:all .3s cubic-bezier(.2,.7,.2,1);
    line-height:1;position:relative;
    border:0;background:transparent;
  }
  .nav-links a.vl-lang-btn::after{display:none}
  .nav-links a.vl-lang-btn:hover{color:var(--green);background:rgba(154,168,148,.18)}
  .nav-links a.vl-lang-btn--active{
    background:var(--green);color:var(--paper);
    box-shadow:0 1px 4px -1px rgba(33,68,59,.35);
  }
  .nav-links a.vl-lang-btn--active:hover{background:var(--green);color:var(--paper)}
  .nav.solid .nav-links .vl-lang{background:rgba(255,255,255,.5);backdrop-filter:blur(8px)}
  @media(max-width:1100px){
    /* W mobile: lang jest tylko w vl-mobile-top - align left jak logo */
    .nav-links .vl-mobile-top .vl-lang{margin:0;align-self:flex-start}
  }

  /* ---------- NEWSLETTER ---------- */
  .vl-newsletter{padding:36px;border-radius:18px;max-width:560px}
  .vl-newsletter--light{background:var(--paper-2)}
  .vl-newsletter--dark{background:rgba(250,247,242,.06);color:var(--paper)}
  .vl-newsletter--dark .vl-newsletter-intro,
  .vl-newsletter--dark .vl-newsletter-rodo{color:rgba(250,247,242,.7)}
  .vl-newsletter--dark input,
  .vl-newsletter--dark .vl-newsletter-msg{color:var(--paper)}
  .vl-newsletter-eyebrow{margin-bottom:14px}
  .vl-newsletter--dark .vl-newsletter-eyebrow{color:var(--beige)}
  .vl-newsletter-heading{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.6rem;margin-bottom:14px;color:var(--green)}
  .vl-newsletter--dark .vl-newsletter-heading{color:var(--paper)}
  .vl-newsletter-intro{font-size:.95rem;line-height:1.6;color:#4a554f;margin-bottom:22px}
  .vl-newsletter-row{display:flex;gap:8px;margin-bottom:14px}
  .vl-newsletter-row input{
    flex:1;padding:14px 16px;border:1px solid var(--line);border-radius:10px;
    background:var(--paper);font-family:'Montserrat',sans-serif;font-size:.95rem;color:var(--ink);
    outline:none;transition:border .2s;
  }
  .vl-newsletter-row input:focus{border-color:var(--green)}
  .vl-newsletter-row button{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 24px;border-radius:10px;border:0;cursor:pointer;
    background:var(--green);color:var(--paper);
    font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:500;
    text-transform:uppercase;letter-spacing:.18em;transition:background .3s;
  }
  .vl-newsletter-row button:hover{background:var(--ink)}
  .vl-newsletter-row button:disabled{opacity:.5;cursor:not-allowed}
  .vl-newsletter-rodo{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:#4a554f;line-height:1.55}
  .vl-newsletter-rodo input{margin-top:3px}
  .vl-newsletter-msg{font-size:.85rem;margin-top:12px;min-height:1.2em}
  .vl-newsletter-msg.success{color:var(--green)}
  .vl-newsletter-msg.error{color:#a00}
  .vl-newsletter--dark .vl-newsletter-msg.success{color:var(--beige)}
  @media(max-width:600px){.vl-newsletter-row{flex-direction:column}.vl-newsletter-row button{width:100%;justify-content:center}}

  /* ---------- WS CTA SECTION (full-bleed, animated) ---------- */
  .ws-cta-section{
    position:relative;overflow:hidden;
    padding:clamp(80px,12vw,160px) 0;
    background:linear-gradient(135deg, #2c3a32 0%, var(--green) 50%, #3a4d42 100%);
    color:var(--paper);
    isolation:isolate;
  }
  /* Animowane bloby tła */
  .ws-cta-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(40px)}
  .ws-cta-blob--1{
    width:60vw;height:60vw;max-width:900px;max-height:900px;
    top:-20%;right:-15%;
    background:radial-gradient(closest-side, rgba(203,184,150,.35), rgba(203,184,150,0));
    animation:vlFloat1 22s ease-in-out infinite;
  }
  .ws-cta-blob--2{
    width:50vw;height:50vw;max-width:700px;max-height:700px;
    bottom:-25%;left:-10%;
    background:radial-gradient(closest-side, rgba(154,168,148,.30), rgba(154,168,148,0));
    animation:vlFloat2 28s ease-in-out infinite;
  }
  .ws-cta-blob--3{
    width:30vw;height:30vw;max-width:400px;max-height:400px;
    top:30%;left:40%;
    background:radial-gradient(closest-side, rgba(229,217,194,.18), rgba(229,217,194,0));
    animation:vlFloat3 18s ease-in-out infinite;
  }
  @keyframes vlFloat1{
    0%,100%{transform:translate(0,0) scale(1)}
    50%{transform:translate(-30px,40px) scale(1.08)}
  }
  @keyframes vlFloat2{
    0%,100%{transform:translate(0,0) scale(1)}
    50%{transform:translate(40px,-30px) scale(.92)}
  }
  @keyframes vlFloat3{
    0%,100%{transform:translate(0,0) scale(1);opacity:.6}
    33%{transform:translate(60px,30px) scale(1.2);opacity:.9}
    66%{transform:translate(-40px,50px) scale(.85);opacity:.4}
  }
  /* Marquee w tle */
  .ws-cta-marquee{
    position:absolute;top:50%;left:0;right:0;
    transform:translateY(-50%) rotate(-3deg);
    overflow:hidden;pointer-events:none;z-index:0;opacity:.06;
  }
  .ws-cta-marquee-track{
    display:flex;gap:48px;white-space:nowrap;
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:clamp(4rem,10vw,9rem);line-height:1;color:var(--beige);
    animation:vlMarquee 30s linear infinite;
  }
  .ws-cta-marquee-track span{flex-shrink:0}
  @keyframes vlMarquee{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  .ws-cta-wrap{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1.3fr 1fr;
    gap:clamp(40px,6vw,100px);align-items:center;
    max-width:1280px;
  }
  .ws-cta-info,
  .ws-cta-actions{position:relative;z-index:1}
  .ws-cta-actions{display:flex;flex-direction:column;gap:32px;align-items:center}

  .ws-cta-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--beige)}
  .ws-cta-dot{
    width:8px;height:8px;border-radius:50%;background:var(--beige);
    box-shadow:0 0 0 4px rgba(203,184,150,.25);
    animation:pulse 2.6s infinite;
  }
  .ws-cta-h2{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(2.4rem,4.5vw,4rem);
    line-height:1.05;color:var(--paper);margin:24px 0 32px;
    letter-spacing:-.01em;
  }
  .ws-cta-h2 .accent{font-style:italic;color:var(--beige)}
  .ws-cta-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
  .ws-cta-pill{
    display:inline-block;padding:9px 18px;border-radius:100px;
    background:rgba(250,247,242,.08);border:1px solid rgba(250,247,242,.18);
    font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,247,242,.92);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    transition:transform .3s ease, background .3s;
  }
  .ws-cta-pill:hover{transform:translateY(-2px);background:rgba(250,247,242,.14)}
  .ws-cta-pill--accent{background:rgba(203,184,150,.22);border-color:rgba(203,184,150,.5);color:var(--beige)}
  .ws-cta-lead{font-size:.95rem;color:rgba(250,247,242,.7);margin-bottom:16px;letter-spacing:.02em}
  .ws-cta-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
  .ws-cta-list li{
    position:relative;padding-left:28px;font-size:1rem;line-height:1.6;color:rgba(250,247,242,.92);
  }
  .ws-cta-list li::before{
    content:"";position:absolute;left:0;top:.6em;
    width:16px;height:1px;background:var(--beige);
    transition:width .4s ease;
  }
  .ws-cta-list li:hover::before{width:22px}

  /* Pierścień + duży CTA button */
  .ws-cta-ring-wrap{
    position:relative;
    width:clamp(240px,28vw,340px);
    height:clamp(240px,28vw,340px);
    display:flex;align-items:center;justify-content:center;
  }
  .ws-cta-ring{
    position:absolute;inset:0;border:1px solid rgba(203,184,150,.35);
    border-radius:50%;pointer-events:none;
  }
  .ws-cta-ring--1{animation:vlSpinRing 30s linear infinite}
  .ws-cta-ring--2{
    inset:18px;border-color:rgba(203,184,150,.55);border-style:dashed;
    animation:vlSpinRing 24s linear infinite reverse;
  }
  @keyframes vlSpinRing{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
  }
  .ws-cta-btn-big{
    position:relative;z-index:2;
    width:clamp(200px,20vw,240px);
    height:clamp(200px,20vw,240px);
    border-radius:50%;
    background:var(--beige);color:var(--green);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:0 26px;box-sizing:border-box;
    text-decoration:none;cursor:pointer;
    font-family:'Libre Caslon Text',serif;font-style:italic;
    transition:all .5s cubic-bezier(.2,.7,.2,1);
    box-shadow:0 20px 50px -10px rgba(0,0,0,.35), inset 0 -3px 12px rgba(33,68,59,.08);
  }
  .ws-cta-btn-big:hover{
    transform:scale(1.05);
    background:var(--paper);
    box-shadow:0 30px 70px -15px rgba(0,0,0,.45), inset 0 -3px 12px rgba(33,68,59,.05);
  }
  .ws-cta-btn-big:active{transform:scale(.98)}
  .ws-cta-btn-text{
    font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.15;text-align:center;
    max-width:100%;hyphens:none;
  }
  .ws-cta-btn-arrow{
    font-size:1.4rem;margin-top:10px;font-style:normal;
    transition:transform .4s cubic-bezier(.2,.7,.2,1);
  }
  .ws-cta-btn-big:hover .ws-cta-btn-arrow{transform:translateX(8px)}

  .ws-cta-call{
    display:flex;flex-direction:column;gap:6px;text-decoration:none;
    padding:18px 24px;color:var(--paper);text-align:center;
    border-top:1px solid rgba(250,247,242,.18);
    transition:color .25s;
  }
  .ws-cta-call:hover{color:var(--beige)}
  .ws-cta-call-label{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,247,242,.55)}
  .ws-cta-call-phone{font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.6rem;letter-spacing:.02em}

  @media(max-width:900px){
    .ws-cta-wrap{grid-template-columns:1fr;gap:48px}
    .ws-cta-actions{align-items:center}
    .ws-cta-marquee-track{font-size:clamp(3rem,12vw,5rem)}
  }
  @media(prefers-reduced-motion:reduce){
    .ws-cta-blob,.ws-cta-marquee-track,.ws-cta-ring{animation:none}
  }

  /* ---------- NEWSLETTER SECTION (global, nad stopką) ---------- */
  /* Jasna sekcja (paper-2) - rozdziela ciemne sekcje (booking/art) od ciemnej stopki */
  .vl-nl-section{
    position:relative;overflow:hidden;isolation:isolate;
    padding:clamp(80px,10vw,140px) 0;
    background:var(--paper-2);color:var(--ink);
  }
  /* Górny ornament - beżowa kreska dekoracyjna (rozdzielacz wizualny) */
  .vl-nl-section::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:clamp(80px,20vw,200px);height:1px;
    background:linear-gradient(90deg,transparent,var(--beige) 30%,var(--beige) 70%,transparent);
    z-index:1;
  }
  /* Dolny ornament - symmetryczny */
  .vl-nl-section::after{
    content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);
    width:clamp(80px,20vw,200px);height:1px;
    background:linear-gradient(90deg,transparent,rgba(33,68,59,.25) 30%,rgba(33,68,59,.25) 70%,transparent);
    z-index:1;
  }
  /* Subtelne radialne gradienty na boku - dekoracja */
  .vl-nl-section .vl-nl-blob{
    display:block;position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(60px);
  }
  .vl-nl-section .vl-nl-blob--1{
    width:50vw;height:50vw;max-width:720px;max-height:720px;
    top:-25%;right:-15%;
    background:radial-gradient(closest-side, rgba(203,184,150,.45), transparent);
    animation:vlNlBlob1 24s ease-in-out infinite;
  }
  .vl-nl-section .vl-nl-blob--2{
    width:40vw;height:40vw;max-width:540px;max-height:540px;
    bottom:-30%;left:-12%;
    background:radial-gradient(closest-side, rgba(154,168,148,.30), transparent);
    animation:vlNlBlob2 30s ease-in-out infinite;
  }
  .vl-nl-decor{display:none}
  @keyframes vlNlBlob1{
    0%,100%{transform:translate(0,0) scale(1)}
    50%{transform:translate(-40px,30px) scale(1.05)}
  }
  @keyframes vlNlBlob2{
    0%,100%{transform:translate(0,0) scale(1)}
    50%{transform:translate(50px,-40px) scale(.92)}
  }

  /* Decorative ornament za content - duża italic litera "N" */
  .vl-nl-section .wrap{position:relative;z-index:1}
  .vl-nl-grid{
    position:relative;
    display:grid;grid-template-columns:1.2fr 1fr;
    gap:clamp(40px,6vw,80px);align-items:center;
  }
  .vl-nl-grid::before{
    content:"~";
    position:absolute;left:-40px;top:-30px;
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:clamp(8rem,16vw,16rem);line-height:1;
    color:rgba(203,184,150,.18);
    pointer-events:none;z-index:-1;
  }

  .vl-nl-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    margin-bottom:24px;color:var(--green);
  }
  .vl-nl-dot{
    width:8px;height:8px;border-radius:50%;background:var(--beige);
    box-shadow:0 0 0 4px rgba(203,184,150,.35);
    animation:pulse 2.6s infinite;flex-shrink:0;
  }
  .vl-nl-h2{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;
    color:var(--green);letter-spacing:-.01em;margin-bottom:28px;
  }
  .vl-nl-h2 .vl-nl-line{display:block}
  .vl-nl-h2 i{color:var(--beige);font-style:italic}
  .vl-nl-lead{font-size:1rem;line-height:1.7;color:#4a554f;max-width:46ch}

  /* Form: czyste underline inputy na light tle */
  .vl-nl-form{display:flex;flex-direction:column;gap:0}
  .vl-nl-label{
    display:block;font-size:.66rem;letter-spacing:.22em;
    text-transform:uppercase;color:var(--green-2);margin-bottom:14px;
  }
  .vl-nl-input-row{
    display:grid;grid-template-columns:1fr auto;gap:0;
    align-items:end;
    border-bottom:1px solid rgba(33,68,59,.25);
    transition:border-color .3s;
    padding-bottom:6px;margin-bottom:22px;
  }
  .vl-nl-input-row:focus-within{border-bottom-color:var(--green)}
  .vl-nl-input-row input[type="email"]{
    background:transparent;border:0;outline:none;
    padding:10px 0;
    font-family:'Libre Caslon Text',serif;font-size:clamp(1.2rem,1.8vw,1.6rem);
    color:var(--green);min-width:0;
  }
  .vl-nl-input-row input::placeholder{color:rgba(33,68,59,.4);font-style:italic}
  .vl-nl-input-row button{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 26px;border:1px solid var(--green);border-radius:100px;cursor:pointer;
    background:var(--green);color:var(--paper);
    font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:500;
    text-transform:uppercase;letter-spacing:.18em;
    transition:all .35s cubic-bezier(.2,.7,.2,1);
    flex-shrink:0;align-self:center;
  }
  .vl-nl-input-row button:hover{background:var(--ink);border-color:var(--ink);transform:translateX(2px)}
  .vl-nl-input-row button svg{width:16px;height:16px;transition:transform .35s}
  .vl-nl-input-row button:hover svg{transform:translateX(4px)}
  .vl-nl-input-row button:disabled{opacity:.5;cursor:not-allowed}

  .vl-nl-rodo{
    display:flex;gap:10px;align-items:flex-start;
    font-size:.78rem;color:#5a625c;line-height:1.55;
  }
  .vl-nl-rodo input{margin-top:3px;accent-color:var(--green)}
  .vl-nl-rodo a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
  .vl-nl-rodo a:hover{color:var(--ink)}
  .vl-newsletter-msg{color:var(--green);margin-top:14px}
  .vl-newsletter-msg.error{color:#a00}

  @media(max-width:900px){
    .vl-nl-grid{grid-template-columns:1fr;gap:40px}
    .vl-nl-grid::before{display:none}
    .vl-nl-input-row{grid-template-columns:1fr;border-bottom:0}
    .vl-nl-input-row input[type="email"]{
      border:1px solid var(--line);border-radius:10px;
      padding:14px 16px;background:var(--paper);font-size:1rem;
    }
    .vl-nl-input-row button{justify-content:center;margin-top:10px}
  }
  @media(prefers-reduced-motion:reduce){.vl-nl-dot,.vl-nl-blob{animation:none}}

  /* ---------- WS FORMATS (warsztaty 4 typy) ---------- */
  .vl-formats{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:clamp(16px,1.8vw,24px);
  }
  .vl-format{
    background:var(--paper);border:1px solid var(--line);border-radius:18px;
    padding:28px 24px;display:flex;flex-direction:column;gap:14px;
    transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
  }
  .vl-format:hover{transform:translateY(-4px);box-shadow:0 25px 50px -25px rgba(33,68,59,.25)}
  .vl-format-num{
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.4rem;
    color:var(--beige);
  }
  .vl-format h4{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.3rem;color:var(--green);line-height:1.2;margin-bottom:20px}
  .vl-format-tag{
    display:inline-block;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--green-2);padding-bottom:14px;border-bottom:1px solid var(--line);
  }
  .vl-format p{font-size:.92rem;line-height:1.6;color:#4a554f}

  /* ---------- ART: O mojej sztuce + wystawy ---------- */
  .vl-about-art{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(40px,5vw,80px);margin-bottom:60px}
  .vl-about-art-head{position:sticky;top:120px;align-self:start}
  .vl-about-art-head h2 .accent{color:var(--beige);font-style:italic}
  .vl-about-art-body p{margin-bottom:20px;font-size:1rem;line-height:1.75;color:#3d4a44}
  .vl-about-art-body .vl-about-art-lead{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.5;color:var(--green);
    margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line);
  }
  .vl-exh-type{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:.9rem;color:var(--green-2);text-transform:none;letter-spacing:normal;
  }
  .vl-jung-quote{
    margin:60px 0;padding:40px clamp(28px,5vw,80px);
    background:var(--green);color:var(--paper);border-radius:20px;
    position:relative;overflow:hidden;
  }
  .vl-jung-quote::before{
    content:"❝";position:absolute;top:20px;left:30px;color:var(--beige);font-size:5rem;line-height:.5;opacity:.4;
  }
  .vl-jung-quote blockquote{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.4;color:var(--paper);
    max-width:780px;margin:0 auto;text-align:center;position:relative;z-index:1;
  }
  .vl-jung-quote .sig{
    display:block;margin-top:18px;font-family:'Montserrat',sans-serif;font-style:normal;
    font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--beige);text-align:center;
  }
  .vl-exhibitions{margin-top:80px}
  .vl-exh-head{margin-bottom:18px}
  .vl-exh-intro{max-width:680px;font-size:.95rem;line-height:1.7;color:#4a554f;margin-bottom:36px}
  .vl-exh-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
  .vl-exh-list li{
    display:grid;grid-template-columns:80px 1.4fr 1.6fr;
    gap:clamp(16px,2vw,40px);align-items:baseline;
    padding:18px 0;border-bottom:1px solid var(--line);
    font-size:.95rem;color:#3d4a44;
    transition:padding .4s cubic-bezier(.2,.7,.2,1), background .3s;
  }
  .vl-exh-list li:hover{padding-left:14px;padding-right:14px;background:rgba(203,184,150,.08)}
  .vl-exh-year{font-family:'Libre Caslon Text',serif;font-style:italic;color:var(--beige);font-size:1.05rem}
  .vl-exh-title{font-family:'Libre Caslon Text',serif;color:var(--green);font-size:1.05rem}
  .vl-exh-place{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-2)}
  @media(max-width:900px){
    .vl-about-art{grid-template-columns:1fr;gap:32px}
    .vl-about-art-head{position:static}
    .vl-exh-list li{grid-template-columns:60px 1fr;gap:14px}
    .vl-exh-place{grid-column:1/3;font-size:.78rem;opacity:.8}
  }

  /* ---------- SESJE PROCES (pionowy timeline 5 kroków) ---------- */
  .vl-process .svc-head{margin-bottom:64px}
  .vl-process .svc-head h2 .accent{color:var(--beige);font-style:italic}
  .vl-process .svc-head p.lede{color:#4a554f;font-size:1rem;line-height:1.7;margin:0}
  .vl-process-list{
    display:flex;flex-direction:column;
    width:100%;
    border-top:1px solid var(--line);
  }
  .vl-process-item{
    display:grid;grid-template-columns:140px 1fr;gap:clamp(20px,3vw,48px);
    align-items:start;
    padding:clamp(28px,3vw,40px) 0;
    border-bottom:1px solid var(--line);
    background:transparent;border-radius:0;border:0;border-bottom:1px solid var(--line);
    position:relative;overflow:visible;
    transition:padding .35s cubic-bezier(.2,.7,.2,1), background .35s;
  }
  .vl-process-item::before{display:none}
  .vl-process-item:hover{
    transform:none;box-shadow:none;
    padding-left:clamp(8px,1.5vw,18px);padding-right:clamp(8px,1.5vw,18px);
    background:rgba(203,184,150,.06);
  }
  .vl-process-num{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:clamp(2.4rem,4vw,3.4rem);
    color:var(--beige);line-height:1;opacity:.85;margin:0;
    text-align:right;padding-top:6px;
  }
  .vl-process-body{padding-right:clamp(0px,3vw,40px)}
  .vl-process-body h4{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(1.2rem,1.6vw,1.5rem);
    color:var(--green);margin:0 0 14px;line-height:1.25;
  }
  .vl-process-body p{
    font-size:1rem;line-height:1.75;color:#4a554f;margin:0;
    max-width:70ch;
  }
  .vl-process-details{margin-top:14px;max-width:70ch}
  .vl-process-details summary{
    list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
    font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--beige);transition:gap .3s;
  }
  .vl-process-details summary::-webkit-details-marker{display:none}
  .vl-process-details summary::after{content:"↓";font-size:.85rem;transition:transform .3s}
  .vl-process-details[open] summary::after{transform:rotate(180deg)}
  .vl-process-details summary:hover{gap:13px}
  .vl-process-more{margin-top:14px}
  .vl-process-more p{font-size:1rem;line-height:1.75;color:#4a554f;margin:0 0 12px;max-width:70ch}
  .vl-process-more p:last-child{margin-bottom:0}
  @media(max-width:680px){
    .vl-process-item{grid-template-columns:1fr;gap:8px;padding:24px 0}
    .vl-process-num{text-align:left;font-size:2.2rem;padding-top:0}
    .vl-process-body{padding-right:0}
  }

  /* ---------- FAQ ---------- */
  .vl-faq-section .svc-head{margin-bottom:56px}
  .vl-faq-section .svc-head h2 .accent{color:var(--beige);font-style:italic}
  .vl-faq-section .svc-head p.lede{color:#4a554f;font-size:1rem;line-height:1.7;margin:0}
  .vl-faq-list{
    display:flex;flex-direction:column;
    border-top:1px solid var(--line);
    width:100%;
  }
  .vl-faq-a p{max-width:none}
  .vl-faq-item{
    background:transparent;border:0;border-bottom:1px solid var(--line);
    padding:0;transition:background .3s;
  }
  .vl-faq-item[open]{background:var(--paper-2)}
  .vl-faq-item summary{
    cursor:pointer;list-style:none;
    display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;
    padding:22px 8px;transition:padding .3s, color .3s;
  }
  .vl-faq-item[open] summary{padding:24px 22px 16px}
  .vl-faq-item summary:hover{color:var(--beige)}
  .vl-faq-item summary::-webkit-details-marker{display:none}
  .vl-faq-num{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:.95rem;color:var(--beige);min-width:28px;
  }
  .vl-faq-q{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.4;
    color:var(--green);
  }
  .vl-faq-icon{
    position:relative;width:18px;height:18px;flex-shrink:0;
    transition:transform .4s cubic-bezier(.2,.7,.2,1);
  }
  .vl-faq-icon::before,.vl-faq-icon::after{
    content:'';position:absolute;background:var(--beige);
    transition:transform .4s, background .3s;
  }
  .vl-faq-icon::before{top:50%;left:0;right:0;height:1.5px;margin-top:-.75px}
  .vl-faq-icon::after{left:50%;top:0;bottom:0;width:1.5px;margin-left:-.75px}
  .vl-faq-item[open] .vl-faq-icon::after{transform:rotate(90deg)}
  .vl-faq-item[open] .vl-faq-icon{transform:rotate(45deg)}
  .vl-faq-a{
    padding:0 22px 24px 56px;animation:vl-faq-in .4s ease;
  }
  .vl-faq-a p{font-size:.93rem;line-height:1.75;color:#4a554f;margin:0;max-width:62ch}
  @keyframes vl-faq-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
  @media(max-width:640px){
    .vl-faq-item summary{padding:18px 4px;gap:14px}
    .vl-faq-item[open] summary{padding:18px 14px 12px}
    .vl-faq-a{padding:0 14px 20px 14px}
    .vl-faq-q{font-size:.98rem}
    .vl-faq-num{font-size:.85rem;min-width:24px}
  }

  /* ---------- YOUTUBE FACADE ---------- */
  .vl-yt-facade{
    position:relative;display:block;width:100%;
    background:#000;border-radius:18px;overflow:hidden;cursor:pointer;
    box-shadow:0 30px 60px -30px rgba(33,68,59,.35);
    transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s;
  }
  .vl-yt-facade:hover{transform:translateY(-4px);box-shadow:0 40px 80px -30px rgba(33,68,59,.5)}
  .vl-yt-thumb{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .4s;
  }
  .vl-yt-facade:hover .vl-yt-thumb{transform:scale(1.03);filter:brightness(.85)}
  .vl-yt-play{
    position:absolute;inset:0;display:grid;place-items:center;
    background:transparent;border:0;cursor:pointer;padding:0;
  }
  .vl-yt-play-icon{
    width:88px;height:62px;display:grid;place-items:center;
    filter:drop-shadow(0 8px 24px rgba(0,0,0,.4));
    transition:transform .4s cubic-bezier(.2,.7,.2,1);
  }
  .vl-yt-play-icon svg{width:100%;height:auto}
  .vl-yt-facade:hover .vl-yt-play-icon{transform:scale(1.08)}
  .vl-yt-facade.is-loaded{cursor:default}
  .vl-yt-facade iframe{width:100%;height:100%;border:0;display:block}

  /* ---------- VIDEO SECTIONS ---------- */
  .vl-video-section{
    padding:clamp(80px,10vw,140px) 0;background:var(--paper-2);position:relative;overflow:hidden;
  }
  .vl-video-section .svc-head{
    margin-bottom:56px;
    grid-template-columns:1fr;
    text-align:center;
    max-width:780px;margin-left:auto;margin-right:auto;
  }
  .vl-video-section .svc-head .eyebrow{justify-content:center}
  .vl-video-section .svc-head h2{margin-bottom:18px}
  .vl-video-section .svc-head h2 .accent{color:var(--beige);font-style:italic}
  .vl-video-section .svc-head p.lede{
    color:#4a554f;font-size:1rem;line-height:1.7;margin:0 auto;max-width:60ch;
  }
  .vl-video-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(360px, 1fr));
    gap:clamp(24px,3vw,40px);
  }
  .vl-video-caption{
    margin-top:18px;font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:1.05rem;color:var(--green);line-height:1.5;
  }
  /* Duży film na home - pełna szerokość kontenera .wrap */
  .vl-video-feature{max-width:none;width:100%;margin:0 auto}
  /* Desktop: tekst + film obok siebie (2 kolumny) */
  @media(min-width:1101px){
    .vl-video-section .wrap{
      display:grid;grid-template-columns:0.85fr 1.15fr;
      gap:clamp(48px,5vw,90px);align-items:center;
    }
    .vl-video-section .svc-head{
      margin:0;text-align:left;max-width:none;
    }
    .vl-video-section .svc-head .eyebrow{justify-content:flex-start}
    .vl-video-section .svc-head p.lede{margin:0;max-width:46ch}
  }

  /* Warsztaty (--duo): naglowek + tekst na gorze, dwa filmy obok siebie w 2 kolumnach */
  .vl-video-section--duo .vl-video-grid{grid-template-columns:1fr 1fr}
  @media(min-width:1101px){
    .vl-video-section.vl-video-section--duo .wrap{display:block}
    .vl-video-section.vl-video-section--duo .svc-head{
      text-align:center;max-width:780px;margin:0 auto 56px;
    }
    .vl-video-section.vl-video-section--duo .svc-head .eyebrow{justify-content:center}
    .vl-video-section.vl-video-section--duo .svc-head p.lede{margin:0 auto;max-width:60ch}
  }
  @media(max-width:760px){
    .vl-video-section--duo .vl-video-grid{grid-template-columns:1fr}
  }

  /* ---------- O MNIE: sekcja tekstowa (Kwalifikacje) ---------- */
  .vl-text-section{padding:clamp(80px,10vw,140px) 0;position:relative}
  .vl-text-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,6vw,90px);align-items:start}
  .vl-text-aside .eyebrow{color:var(--beige);margin-bottom:18px}
  .vl-text-aside h2{color:var(--green)}
  .vl-text-aside h2 .accent{color:var(--beige);font-style:italic}
  .vl-text-body{max-width:64ch}
  .vl-text-body .lede{color:var(--green);font-size:clamp(1.1rem,1.4vw,1.22rem);line-height:1.6;
    margin:0 0 26px;padding-bottom:26px;border-bottom:1px solid var(--line)}
  .vl-text-body p{color:#3d4a44;font-size:1rem;line-height:1.8;margin:0 0 20px}
  .vl-text-body p:last-child{margin-bottom:0}
  .vl-text-body p em{font-style:italic;color:var(--green-2)}

  /* Mały nagłówek nad filmem (Dance & Image) */
  .vl-video-label{font-family:'Montserrat',sans-serif;font-size:.74rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--green-2);margin-bottom:14px}

  /* ---------- O MNIE: Prywatnie ---------- */
  .vl-priv-section{padding:clamp(80px,10vw,140px) 0;position:relative}
  .vl-priv-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center}
  .vl-priv-text .eyebrow{color:var(--beige)}
  .vl-priv-text h2{color:var(--green);margin:18px 0 28px}
  .vl-priv-text h2 .accent{color:var(--beige);font-style:italic}
  .vl-priv-text p{color:#3d4a44;font-size:1rem;line-height:1.8;margin:0 0 18px}
  .vl-priv-text p:last-child{margin-bottom:0}
  .vl-priv-text p em{font-style:italic;color:var(--green-2)}
  .vl-priv-art{position:relative;height:640px;border-radius:55% 45% 52% 48% / 48% 52% 48% 52%;overflow:hidden;
    box-shadow:0 40px 80px -40px rgba(33,68,59,.4)}
  .vl-priv-art img{width:100%;height:100%;object-fit:cover;object-position:center top}

  @media(max-width:980px){
    .vl-text-grid{grid-template-columns:1fr;gap:24px}
    .vl-text-body{max-width:none}
    .vl-priv-grid{grid-template-columns:1fr;gap:40px}
    .vl-priv-media{order:-1}
    .vl-priv-art{height:480px;max-width:460px;margin:0 auto}
  }

  /* ---------- SESJE: logo Guide w karcie metody (Gene Keys) ---------- */
  .method-grid .item{position:relative}
  .vl-method-logo{position:absolute;top:30px;right:28px;width:58px;height:58px;object-fit:contain;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
  .method-grid .item.has-logo h4{padding-right:70px}

  /* ---------- SESJE: link w karcie metody (Gene Keys) ---------- */
  .vl-method-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;
    color:var(--beige);font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.18em;
    text-transform:uppercase;text-decoration:none;transition:gap .3s,opacity .3s}
  .vl-method-link:hover{gap:14px;opacity:.85}

  /* ---------- SESJE: karta klikalna + akcje ---------- */
  .vl-sesja-card{cursor:pointer}
  .vl-sesja-card:focus-visible{outline:2px solid var(--beige);outline-offset:3px}
  .vl-sesja-actions{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:22px}
  .vl-sesja-more{cursor:pointer}

  /* ---------- SESJE: modal pełnego opisu ---------- */
  .vl-sesja-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
    padding:clamp(16px,4vw,48px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
  .vl-sesja-modal.is-open{opacity:1;visibility:visible}
  .vl-sesja-modal-overlay{position:absolute;inset:0;background:rgba(33,68,59,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
  .vl-sesja-modal-panel{position:relative;z-index:1;background:var(--paper);border-radius:22px;
    max-width:720px;width:100%;max-height:88vh;overflow-y:auto;padding:clamp(32px,5vw,60px);
    box-shadow:0 60px 120px -40px rgba(33,68,59,.5);
    transform:translateY(24px) scale(.98);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  .vl-sesja-modal.is-open .vl-sesja-modal-panel{transform:none}
  .vl-sesja-modal-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;
    border:1px solid var(--line);background:var(--paper);color:var(--green);cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,transform .4s;z-index:2}
  .vl-sesja-modal-close:hover{background:var(--green);color:var(--paper);transform:rotate(90deg)}
  .vl-sesja-modal-head{margin-bottom:26px;padding-right:44px}
  .vl-sesja-modal-price{display:inline-block;font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:1.4rem;color:var(--beige);margin-bottom:6px}
  .vl-sesja-modal-title{font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(1.6rem,3vw,2.2rem);color:var(--green);line-height:1.15;margin:0 0 8px}
  .vl-sesja-modal-meta{font-family:'Montserrat',sans-serif;font-size:.74rem;letter-spacing:.16em;
    text-transform:uppercase;color:var(--green-2)}
  .vl-sesja-modal-body{margin-bottom:32px;color:#3d4a44;font-size:1rem;line-height:1.8}
  .vl-sesja-modal-body h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-style:italic;
    font-size:clamp(1.2rem,2vw,1.45rem);color:var(--green);line-height:1.3;margin:0 0 20px}
  .vl-sesja-modal-body h4{font-family:'Montserrat',sans-serif;font-size:.78rem;letter-spacing:.16em;
    text-transform:uppercase;color:var(--beige);margin:28px 0 14px}
  .vl-sesja-modal-body p{margin:0 0 16px}
  .vl-sesja-modal-body a{color:var(--green);text-decoration:underline;text-underline-offset:3px;font-weight:500}
  .vl-sesja-modal-body ul{list-style:none;margin:0 0 16px;padding:0}
  .vl-sesja-modal-body li{position:relative;padding-left:26px;margin-bottom:10px}
  .vl-sesja-modal-body li::before{content:"";position:absolute;left:4px;top:11px;width:8px;height:8px;
    border-radius:50%;background:var(--beige)}
  body.vl-modal-open{overflow:hidden}
  @media(max-width:600px){ .vl-sesja-modal-panel{max-height:92vh;border-radius:18px} }

  /* ---------- W MEDIACH ---------- */
  .vl-media-section{padding:clamp(80px,10vw,140px) 0;background:var(--paper);position:relative}
  .vl-media-grid{
    display:grid;grid-template-columns:repeat(auto-fit, minmax(380px, 1fr));
    gap:clamp(20px,2.5vw,32px);margin-top:48px;
  }
  .vl-media-card{
    display:flex;flex-direction:column;padding:36px;
    background:var(--paper-2);border:1px solid var(--line);border-radius:18px;
    text-decoration:none;color:inherit;
    transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s, border-color .3s;
  }
  .vl-media-card:hover{
    transform:translateY(-4px);border-color:var(--beige);
    box-shadow:0 30px 60px -30px rgba(33,68,59,.25);
  }
  .vl-media-source{
    font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;
    text-transform:uppercase;color:var(--beige);margin-bottom:14px;
  }
  .vl-media-title{
    font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.4rem;
    line-height:1.35;color:var(--green);margin-bottom:14px;
  }
  .vl-media-excerpt{font-size:.95rem;line-height:1.7;color:#4a554f;flex:1}
  .vl-media-cta{
    margin-top:24px;font-family:'Montserrat',sans-serif;font-size:.78rem;
    letter-spacing:.16em;text-transform:uppercase;color:var(--green);
    display:inline-flex;align-items:center;gap:10px;
  }
  .vl-media-cta .arr{transition:transform .35s}
  .vl-media-card:hover .vl-media-cta .arr{transform:translateX(6px)}

  /* ============================================================
     ART GALLERY - uniform grid 4-cols with hover + lightbox
     ============================================================ */
  .vl-art-gallery{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:clamp(12px,1.4vw,18px);
  }
  @media(max-width:1100px){.vl-art-gallery{grid-template-columns:repeat(3, 1fr)}}
  @media(max-width:680px){.vl-art-gallery{grid-template-columns:repeat(2, 1fr);gap:10px}}

  .vl-art-tile{
    position:relative;display:block;width:100%;padding:0;margin:0;
    background:#1a1a1a;border:0;cursor:pointer;overflow:hidden;
    aspect-ratio:1/1;border-radius:8px;
    transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s;
  }
  .vl-art-tile:hover{transform:translateY(-3px);box-shadow:0 24px 50px -22px rgba(0,0,0,.6)}
  .vl-art-tile:focus-visible{outline:2px solid var(--beige);outline-offset:3px}
  .vl-art-tile img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1.2s cubic-bezier(.2,.7,.2,1), filter .5s;
    filter:saturate(.95);
  }
  .vl-art-tile:hover img{transform:scale(1.08);filter:saturate(1.1)}

  .vl-art-overlay{
    position:absolute;inset:auto 0 0 0;
    padding:20px 18px 16px;
    display:flex;justify-content:space-between;align-items:flex-end;gap:12px;
    background:linear-gradient(180deg, transparent 0%, rgba(20,32,28,.85) 100%);
    color:var(--paper);
    opacity:0;transform:translateY(8px);
    transition:opacity .4s, transform .4s cubic-bezier(.2,.7,.2,1);
    pointer-events:none;
  }
  .vl-art-tile:hover .vl-art-overlay,
  .vl-art-tile:focus-visible .vl-art-overlay{opacity:1;transform:translateY(0)}
  .vl-art-overlay-title{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.25;
    text-shadow:0 2px 14px rgba(0,0,0,.6);
  }
  .vl-art-overlay-year{
    font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--beige);flex-shrink:0;
  }

  /* Status pracy (obrazu) - badge: galeria / lightbox / single */
  .vl-art-status{
    display:inline-flex;align-items:center;gap:7px;
    font-family:'Montserrat',sans-serif;font-size:.62rem;letter-spacing:.16em;
    text-transform:uppercase;font-weight:600;white-space:nowrap;
    padding:6px 12px;border-radius:100px;
  }
  .vl-art-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
  .vl-art-status--available{color:#3f5a45;background:rgba(154,168,148,.26)}
  .vl-art-status--sold{color:#8a6f63;background:rgba(138,111,99,.16)}
  /* Na kafelku - zawsze widoczny, lewy górny róg, czytelny na zdjęciu */
  .vl-art-tile .vl-art-status{
    position:absolute;top:10px;left:10px;z-index:2;
    background:rgba(247,244,238,.92);
    -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
    box-shadow:0 4px 14px -6px rgba(0,0,0,.45);
  }
  /* Lightbox - badge obok roku w eyebrow */
  .vl-art-lightbox-eyebrow .vl-art-status{margin-right:14px;vertical-align:middle}
  .vl-art-lightbox-eyebrow .vl-art-status:empty{display:none}
  /* Notka "na zamówienie" na single-art */
  .vl-art-order-note{margin-top:16px;font-size:.86rem;line-height:1.6;color:#5a625c;max-width:44ch}

  /* Touch - pokaż overlay zawsze na małych ekranach */
  @media(hover:none){
    .vl-art-overlay{opacity:1;transform:translateY(0);background:linear-gradient(180deg, transparent 30%, rgba(20,32,28,.7) 100%)}
  }

  /* ---------- LIGHTBOX SLIDE-IN ---------- */
  .vl-art-lightbox{
    position:fixed;inset:0;z-index:9999;
    visibility:hidden;pointer-events:none;
    display:flex;align-items:center;justify-content:center;
    padding:clamp(16px,4vw,56px);
  }
  .vl-art-lightbox.is-open{visibility:visible;pointer-events:auto}
  .vl-art-lightbox-backdrop{
    position:absolute;inset:0;background:rgba(20,32,28,.6);
    opacity:0;transition:opacity .4s;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  }
  .vl-art-lightbox.is-open .vl-art-lightbox-backdrop{opacity:1}

  /* Wyśrodkowany modal: obraz po lewej, opis po prawej (jak na starej stronie) */
  .vl-art-lightbox-panel{
    position:relative;z-index:1;
    width:100%;max-width:1080px;max-height:88vh;
    background:var(--paper);border-radius:20px;overflow:hidden;
    box-shadow:0 60px 120px -40px rgba(0,0,0,.5);
    display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr auto;
    transform:translateY(24px) scale(.985);opacity:0;
    transition:transform .5s cubic-bezier(.2,.7,.2,1), opacity .4s;
    outline:none;
  }
  .vl-art-lightbox.is-open .vl-art-lightbox-panel{transform:none;opacity:1}

  .vl-art-lightbox-close{
    position:absolute;top:16px;right:16px;z-index:3;
    width:44px;height:44px;border:1px solid var(--line);background:var(--paper);
    border-radius:50%;cursor:pointer;
    font-size:1.5rem;line-height:1;color:var(--green);
    display:grid;place-items:center;
    transition:transform .3s, background .3s, color .3s;
  }
  .vl-art-lightbox-close:hover{transform:rotate(90deg);background:var(--green);color:var(--paper)}

  .vl-art-lightbox-image{
    grid-column:1;grid-row:1 / span 2;
    background:#1a1a1a;display:grid;place-items:center;padding:32px;min-height:0;
  }
  .vl-art-lightbox-image img{
    max-width:100%;max-height:80vh;object-fit:contain;
    display:block;border-radius:4px;
  }

  .vl-art-lightbox-meta{
    grid-column:2;grid-row:1;
    padding:clamp(28px,3vw,48px);display:flex;flex-direction:column;gap:14px;
    overflow-y:auto;min-height:0;
  }
  .vl-art-lightbox-eyebrow{
    font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.22em;
    text-transform:uppercase;color:var(--beige);
  }
  .vl-art-lightbox-meta h3{
    font-family:'Libre Caslon Text',serif;font-weight:400;font-style:italic;
    font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;color:var(--green);
    margin:0;
  }
  .vl-art-lightbox-note{
    font-size:.92rem;line-height:1.65;color:#4a554f;margin:0;
  }
  .vl-art-lightbox-meta .btn{margin-top:8px;align-self:flex-start}

  .vl-art-lightbox-nav{
    grid-column:2;grid-row:2;
    border-top:1px solid var(--line);
    padding:18px clamp(28px,3vw,48px);
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    background:var(--paper-2);
  }
  .vl-art-lightbox-prev,.vl-art-lightbox-next{
    width:42px;height:42px;border:1px solid var(--line);background:var(--paper);
    border-radius:50%;cursor:pointer;color:var(--green);
    font-size:1.4rem;line-height:1;display:grid;place-items:center;
    transition:all .3s;
  }
  .vl-art-lightbox-prev:hover,.vl-art-lightbox-next:hover{
    background:var(--green);color:var(--paper);border-color:var(--green);
  }
  .vl-art-lightbox-counter{
    font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--green-2);
  }

  @media(max-width:860px){
    .vl-art-lightbox-panel{
      grid-template-columns:1fr;grid-template-rows:auto auto auto;
      max-height:92vh;overflow-y:auto;
    }
    .vl-art-lightbox-image{grid-column:1;grid-row:1;padding:20px}
    .vl-art-lightbox-image img{max-height:48vh}
    .vl-art-lightbox-meta{grid-column:1;grid-row:2;padding:24px 22px;overflow:visible}
    .vl-art-lightbox-nav{grid-column:1;grid-row:3;padding:14px 22px}
  }

  /* ---------- Lightbox spec (wymiary / technika) ---------- */
  .vl-art-lightbox-spec{
    margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:6px;
  }
  .vl-art-spec-row{
    display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:baseline;
    padding:8px 0;border-bottom:1px solid var(--line);
  }
  .vl-art-spec-row:last-child{border-bottom:0}
  .vl-art-spec-row dt{
    margin:0;font-family:'Montserrat',sans-serif;font-size:.68rem;
    letter-spacing:.22em;text-transform:uppercase;color:var(--green-2);
  }
  .vl-art-spec-row dd{
    margin:0;font-family:'Libre Caslon Text',serif;font-size:1rem;
    color:var(--green);line-height:1.4;
  }

  /* ---------- Home art-gallery — 4 kolumny ---------- */
  .vl-art-gallery--home{margin-top:24px}
  @media(min-width:1101px){
    .vl-art-gallery--home{grid-template-columns:repeat(4, 1fr)}
  }

  /* ---------- Dance & Image: szerszy film po prawej ---------- */
  .vl-dance-grid{
    display:grid;
    grid-template-columns:5fr 7fr;
    gap:clamp(40px,5vw,80px);
    align-items:center;
    max-width:1320px;
  }
  @media(max-width:1100px){
    .vl-dance-grid{grid-template-columns:1fr;max-width:780px;gap:32px}
  }

  /* ============================================================
     SIGNUP / FORM-CARD — globalne (kontakt, zapytanie-o-obraz)
     ============================================================ */
  .signup{padding:clamp(80px,10vw,140px) 0;background:var(--paper)}
  .signup-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:center}
  .signup-side{max-width:480px}
  .signup h2{font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.1}
  .signup h2 .accent{color:var(--beige);font-style:italic;display:inline}
  .form-card{background:var(--paper-2);padding:32px;border-radius:18px}
  .form-card label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green-2);margin-bottom:6px;font-weight:500}
  /* CF7 wstawia <br/> przed/po label - robią duże gapy. Off. */
  .form-card .wpcf7-form br{display:none}
  .form-card .wpcf7-form > p{margin:0 0 10px}
  .form-card .wpcf7-form > p:last-of-type{margin-bottom:0}
  .form-card .wpcf7-form-control-wrap{display:block}
  .form-card input[type="text"],
  .form-card input[type="email"],
  .form-card input[type="tel"],
  .form-card select,
  .form-card textarea{
    width:100%;background:var(--paper);border:1px solid var(--line);padding:11px 14px;border-radius:10px;
    font-family:'Montserrat',sans-serif;font-size:.92rem;color:var(--ink);outline:none;
    transition:border-color .3s;
  }
  .form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--green)}
  .form-card textarea{resize:vertical;min-height:92px}
  .form-card .wpcf7-acceptance{display:block;margin-top:6px}
  .form-card .wpcf7-acceptance label{font-size:.74rem;letter-spacing:0;text-transform:none;color:#4a554f;line-height:1.55;font-weight:400;display:flex;gap:10px;align-items:flex-start}
  .form-card .wpcf7-acceptance input[type="checkbox"]{width:auto;margin-top:3px;flex-shrink:0}
  .form-card .wpcf7-acceptance a{color:var(--green);text-decoration:underline}
  .form-card .wpcf7-submit{
    display:inline-flex;align-items:center;gap:14px;margin-top:8px;
    font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:500;
    text-transform:uppercase;letter-spacing:.22em;
    padding:16px 32px;border-radius:100px;
    background:var(--green);color:#fff;border:1px solid var(--green);cursor:pointer;
    transition:all .4s;width:auto;
  }
  .form-card .wpcf7-submit:hover{background:var(--ink);border-color:var(--ink)}
  .form-card .vl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
  .form-card .vl-row > p{margin:0 !important}
  @media(max-width:1100px){
    .signup-grid{grid-template-columns:1fr;gap:40px}
    .signup-side{max-width:none}
    .form-card .vl-row{grid-template-columns:1fr}
  }

  /* ============================================================
     WARSZTATY - intro + single + pillars
     ============================================================ */

  /* Intro (page-warsztaty.php) */
  .vl-ws-intro{position:relative}
  .vl-ws-intro-bg-blob{
    position:absolute;top:-100px;right:-200px;width:600px;height:600px;
    background:radial-gradient(closest-side,rgba(203,184,150,.18),transparent);
    pointer-events:none;border-radius:50%;
  }
  .vl-ws-lead{max-width:880px;margin:0 auto 72px;text-align:center}
  .vl-ws-lead p{
    font-family:'Libre Caslon Text',serif;font-size:clamp(1.3rem,2vw,1.7rem);
    line-height:1.5;color:var(--green);margin:0;
  }
  .vl-ws-lead em{font-style:italic;color:var(--beige);font-weight:400}

  .vl-ws-benefits{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:clamp(24px,3vw,40px);max-width:1200px;margin:0 auto;
  }
  .vl-ws-benefit{
    padding:36px 32px;background:var(--paper-2);border-radius:18px;
    border:1px solid var(--line);
    transition:transform .4s, box-shadow .4s, border-color .3s;
  }
  .vl-ws-benefit:hover{
    transform:translateY(-4px);border-color:var(--beige);
    box-shadow:0 30px 60px -28px rgba(33,68,59,.22);
  }
  .vl-ws-benefit-num{
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:2.8rem;
    color:var(--beige);line-height:1;margin-bottom:18px;opacity:.85;
  }
  .vl-ws-benefit h3{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:1.3rem;color:var(--green);margin:0 0 14px;line-height:1.3;
  }
  .vl-ws-benefit p{
    font-size:.95rem;line-height:1.75;color:#4a554f;margin:0;
  }
  @media(max-width:900px){
    .vl-ws-benefits{grid-template-columns:1fr;gap:20px}
    .vl-ws-benefit{padding:28px 24px}
  }

  /* Single warsztat: pillars (4 filary) */
  .vl-ws-pillars .svc-head{margin-bottom:56px}
  .vl-ws-pillars .svc-head h2 .accent{color:var(--beige);font-style:italic}
  .vl-ws-pillars .svc-head p.lede{color:#4a554f;font-size:1rem;line-height:1.7;margin:0}

  .vl-ws-pillars-grid{
    display:grid;grid-template-columns:repeat(4, 1fr);
    gap:clamp(20px,2.5vw,32px);
  }
  .vl-ws-pillar{
    padding:32px 28px;background:var(--paper);border-radius:14px;
    border:1px solid var(--line);
    transition:transform .4s, border-color .3s, box-shadow .4s;
    position:relative;overflow:hidden;
  }
  .vl-ws-pillar::before{
    content:'';position:absolute;top:0;left:0;width:32px;height:2px;
    background:var(--beige);transition:width .5s cubic-bezier(.2,.7,.2,1);
  }
  .vl-ws-pillar:hover{
    transform:translateY(-4px);border-color:transparent;
    box-shadow:0 30px 60px -28px rgba(33,68,59,.25);
  }
  .vl-ws-pillar:hover::before{width:100%}
  .vl-ws-pillar-num{
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:2rem;
    color:var(--beige);line-height:1;margin-bottom:18px;opacity:.85;
  }
  .vl-ws-pillar h4{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:1.2rem;color:var(--green);margin:0 0 12px;
  }
  .vl-ws-pillar p{font-size:.92rem;line-height:1.7;color:#4a554f;margin:0}
  @media(max-width:900px){.vl-ws-pillars-grid{grid-template-columns:repeat(2, 1fr)}}
  @media(max-width:520px){.vl-ws-pillars-grid{grid-template-columns:1fr}}

  /* Single warsztat: praktyczne "Co zabrać" */
  .vl-ws-practical{
    display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(40px,5vw,80px);
    align-items:start;
  }
  .vl-ws-practical-head h3{
    font-family:'Libre Caslon Text',serif;font-weight:400;font-style:italic;
    font-size:clamp(1.6rem,2.4vw,2rem);color:var(--green);margin:18px 0 0;line-height:1.15;
  }
  .vl-ws-bring{
    list-style:none;padding:0;margin:0;
    display:flex;flex-direction:column;gap:0;
  }
  .vl-ws-bring li{
    position:relative;padding:18px 0 18px 36px;
    border-bottom:1px solid var(--line);
    font-size:1rem;line-height:1.6;color:#3d4a44;
  }
  .vl-ws-bring li:last-child{border-bottom:0}
  .vl-ws-bring li::before{
    content:'';position:absolute;left:0;top:25px;
    width:18px;height:1.5px;background:var(--beige);
  }
  @media(max-width:900px){
    .vl-ws-practical{grid-template-columns:1fr;gap:24px}
  }

  /* ============================================================
     Single warsztat - sekcja content (typo + sticky header)
     ============================================================ */
  .vl-ws-content-grid{
    display:grid;
    grid-template-columns:0.85fr 1.4fr;
    gap:clamp(40px,5vw,100px);
    align-items:start;
    max-width:1280px;
  }
  .vl-ws-content-side{position:sticky;top:120px;max-width:400px}
  .vl-ws-content-side .eyebrow{margin-bottom:14px}
  .vl-ws-content-side h2{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.05;
    color:var(--green);margin:0 0 32px;
  }
  .vl-ws-content-side h2 .accent{color:var(--beige);font-style:italic}
  .vl-ws-content-meta{
    display:flex;flex-direction:column;gap:0;
    padding-top:8px;border-top:1px solid var(--line);
  }
  .vl-ws-content-meta > div{
    padding:14px 0;border-bottom:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  }
  .vl-meta-label{
    font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--green-2);
  }
  .vl-ws-content-meta strong{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:1rem;color:var(--green);font-weight:400;
    text-align:right;
  }

  /* PROSE typography */
  .vl-prose{
    font-family:'Montserrat',sans-serif;
    font-size:1.05rem;line-height:1.85;color:#3d4a44;
    max-width:62ch;
  }
  .vl-prose p{margin:0 0 24px}
  .vl-prose p:last-child{margin-bottom:0}
  /* Lead - pierwszy paragraf większy, italic */
  .vl-prose p:first-of-type{
    font-family:'Libre Caslon Text',serif;font-style:italic;font-weight:400;
    font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.55;
    color:var(--green);margin-bottom:32px;
    padding-bottom:32px;border-bottom:1px solid var(--line);
  }
  .vl-prose strong{
    color:var(--beige);font-weight:500;
    background:linear-gradient(120deg, rgba(203,184,150,.18) 0%, rgba(203,184,150,.18) 100%);
    background-size:100% 6px;background-repeat:no-repeat;background-position:0 88%;
    padding:0 2px;
  }
  .vl-prose em{font-style:italic;color:var(--green-2)}
  /* Sekcja "Dla kogo:" - callout w ostatnim paragrafie */
  .vl-prose p:last-of-type:has(strong:first-child){
    margin-top:40px;padding:28px 32px;
    background:var(--paper-2);
    border-radius:14px;border-left:3px solid var(--beige);
    font-size:1rem;line-height:1.7;
  }
  .vl-prose p:last-of-type:has(strong:first-child) strong{
    background:none;color:var(--green);font-weight:600;
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:1.05rem;display:inline-block;margin-right:4px;
  }
  /* Sródtytuly i listy w opisie - oddech miedzy akapitami (nie zbity tekst) */
  .vl-prose h2,.vl-prose h3,.vl-prose h4{
    font-family:'Libre Caslon Text',serif;font-weight:400;color:var(--green);
    line-height:1.4;margin:40px 0 16px;
  }
  .vl-prose h3{font-size:1.3rem}
  .vl-prose h4{font-size:1.12rem}
  .vl-prose ul,.vl-prose ol{margin:0 0 24px;padding-left:1.5em}
  .vl-prose ul{list-style:disc}
  .vl-prose ol{list-style:decimal}
  .vl-prose li{margin:0 0 12px;line-height:1.75;padding-left:.25em}
  .vl-prose li:last-child{margin-bottom:0}
  .vl-prose li::marker{color:var(--beige)}
  .vl-prose li strong{background-position:0 92%}

  @media(max-width:980px){
    .vl-ws-content-grid{grid-template-columns:1fr;gap:32px}
    .vl-ws-content-side{position:static;max-width:none}
    .vl-prose{max-width:none}
  }

  /* ============================================================
     BLOG - lista wpisów (page-blog.php) + single post
     ============================================================ */
  .vl-blog-grid{
    display:grid;grid-template-columns:repeat(3, 1fr);
    gap:clamp(28px,3vw,44px);
  }
  @media(max-width:980px){.vl-blog-grid{grid-template-columns:repeat(2, 1fr)}}
  @media(max-width:620px){.vl-blog-grid{grid-template-columns:1fr}}

  .vl-blog-card{position:relative}
  .vl-blog-card-link{
    display:flex;flex-direction:column;
    text-decoration:none;color:inherit;
    background:var(--paper);border:1px solid var(--line);border-radius:18px;
    overflow:hidden;height:100%;
    transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s, border-color .3s;
  }
  .vl-blog-card-link::after{display:none}
  .vl-blog-card-link:hover{
    transform:translateY(-4px);border-color:var(--beige);
    box-shadow:0 30px 60px -28px rgba(33,68,59,.25);
  }
  .vl-blog-card-img{
    aspect-ratio:16/10;background:var(--paper-2);overflow:hidden;
    display:flex;align-items:center;justify-content:center;
  }
  .vl-blog-card-img img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1s cubic-bezier(.2,.7,.2,1);
  }
  .vl-blog-card-link:hover .vl-blog-card-img img{transform:scale(1.06)}
  .vl-blog-card-img--placeholder{
    background:linear-gradient(135deg, var(--paper-2) 0%, rgba(203,184,150,.15) 100%);
    position:relative;
  }
  .vl-blog-card-img--placeholder::before{
    content:'';position:absolute;inset:30%;
    background:radial-gradient(closest-side, rgba(203,184,150,.3), transparent);
  }
  .vl-blog-card-mono{
    font-family:'Libre Caslon Text',serif;font-style:italic;
    font-size:5rem;color:var(--beige);position:relative;z-index:1;
    text-shadow:0 4px 20px rgba(33,68,59,.15);
  }
  .vl-blog-card-body{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column}
  .vl-blog-card-meta{
    display:flex;justify-content:space-between;align-items:center;gap:14px;
    font-family:'Montserrat',sans-serif;font-size:.68rem;
    letter-spacing:.2em;text-transform:uppercase;
    color:var(--green-2);margin-bottom:14px;
  }
  .vl-blog-card-cat{color:var(--beige)}
  .vl-blog-card-title{
    font-family:'Libre Caslon Text',serif;font-weight:400;
    font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.25;
    color:var(--green);margin:0 0 14px;
  }
  .vl-blog-card-link:hover .vl-blog-card-title{color:var(--beige)}
  .vl-blog-card-excerpt{
    font-size:.93rem;line-height:1.65;color:#4a554f;
    margin:0 0 20px;flex:1;
  }
  .vl-blog-card-cta{
    font-family:'Montserrat',sans-serif;font-size:.7rem;
    letter-spacing:.22em;text-transform:uppercase;
    color:var(--green);display:inline-flex;align-items:center;gap:10px;
  }
  .vl-blog-card-cta .arr{transition:transform .35s}
  .vl-blog-card-link:hover .vl-blog-card-cta .arr{transform:translateX(6px)}

  /* Pagination */
  .vl-blog-pagination{
    margin-top:64px;display:flex;justify-content:center;align-items:center;gap:8px;
    flex-wrap:wrap;
  }
  .vl-blog-pagination a,
  .vl-blog-pagination .page-numbers{
    padding:10px 16px;min-width:44px;text-align:center;
    border:1px solid var(--line);border-radius:100px;
    font-family:'Montserrat',sans-serif;font-size:.78rem;
    color:var(--green);text-decoration:none;
    transition:all .3s;
  }
  .vl-blog-pagination a::after{display:none}
  .vl-blog-pagination a:hover{border-color:var(--beige);color:var(--beige)}
  .vl-blog-pagination .current{background:var(--green);color:var(--paper);border-color:var(--green)}

  /* Single post - lepsze typo */
  .single-post .vl-prose,
  body.single-post article.reveal{
    font-family:'Montserrat',sans-serif;font-size:1.05rem;line-height:1.85;color:#3d4a44;
  }

  /* ============================================================
     SINGLE POST (single.php) - szerszy layout 2-col + sticky meta
     ============================================================ */
  .vl-post-grid{
    display:grid;
    grid-template-columns:260px minmax(0, 1fr);
    gap:clamp(40px,5vw,80px);
    align-items:start;
    max-width:1240px;
  }
  .vl-post-side{
    position:sticky;top:120px;
    display:flex;flex-direction:column;gap:0;
    padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .vl-post-cat{
    font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.22em;
    text-transform:uppercase;color:var(--beige);margin-bottom:18px;
  }
  .vl-post-date{
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1.15rem;
    color:var(--green);margin-bottom:24px;
  }
  .vl-post-meta-row{
    display:flex;justify-content:space-between;align-items:baseline;gap:14px;
    padding:14px 0;border-top:1px solid var(--line);margin-bottom:24px;
  }
  .vl-post-meta-row .vl-meta-label{
    font-family:'Montserrat',sans-serif;font-size:.66rem;letter-spacing:.2em;
    text-transform:uppercase;color:var(--green-2);
  }
  .vl-post-meta-row strong{
    font-family:'Libre Caslon Text',serif;font-style:italic;font-size:1rem;
    color:var(--green);font-weight:400;
  }
  .vl-post-back{
    margin-top:auto;font-family:'Montserrat',sans-serif;font-size:.7rem;
    letter-spacing:.2em;text-transform:uppercase;color:var(--green);
    text-decoration:none;display:inline-flex;align-items:center;gap:8px;
    padding-top:18px;border-top:1px solid var(--line);
    transition:color .3s, padding-left .35s;
  }
  .vl-post-back::after{display:none}
  .vl-post-back:hover{color:var(--beige);padding-left:6px}
  .vl-post-back span{font-size:1.2rem;line-height:1;color:var(--beige)}

  .vl-post-main{max-width:none}
  .vl-post-thumb{
    margin-bottom:48px;border-radius:18px;overflow:hidden;
    box-shadow:0 30px 60px -30px rgba(33,68,59,.25);
  }
  .vl-post-thumb img{width:100%;height:auto;display:block}
  .vl-post-content{max-width:780px}

  /* Single post hero - większy padding, zwężony eyebrow */
  body.single-post .page-hero h1{
    font-size:clamp(2rem,4vw,3.6rem);max-width:24ch;
  }

  @media(max-width:980px){
    .vl-post-grid{grid-template-columns:1fr;gap:32px}
    .vl-post-side{
      position:static;flex-direction:row;flex-wrap:wrap;gap:14px;
      padding:18px 0;
    }
    .vl-post-cat,.vl-post-date{margin:0}
    .vl-post-meta-row{padding:0;border:0;margin:0;flex:1;min-width:160px}
    .vl-post-back{margin:0;padding:0;border:0;width:100%;margin-top:14px}
    .vl-post-content{max-width:none}
  }

/* Przelewy24 - banner statusu płatności na stronie powrotu */
.vl-pay-notice{border-radius:16px;padding:28px 32px;border:1px solid var(--line);background:var(--paper-2);margin:0 0 8px}
.vl-pay-notice h3{margin:0 0 8px;font-family:'Libre Caslon Text',serif;font-weight:400;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--green)}
.vl-pay-notice p{margin:0;color:#3d4a44;line-height:1.7}
.vl-pay-notice--ok{border-color:var(--green);background:linear-gradient(0deg,rgba(51,68,59,.04),rgba(51,68,59,.04)),var(--paper-2)}
.vl-pay-notice--ok h3{color:var(--green)}
.vl-pay-notice--pending{border-color:var(--beige)}
.vl-pay-notice--pending h3{color:var(--beige)}
.vl-pay-notice--err{border-color:#c0563f}
.vl-pay-notice--err h3{color:#c0563f}

/* Strony prawne (regulamin, polityka, klauzula) - nagłówki o rozsądnej skali */
.vl-legal h2{font-size:clamp(1.25rem,1rem + 1.1vw,1.6rem);line-height:1.3;margin:38px 0 12px}
.vl-legal h2:first-child{margin-top:0}
.vl-legal h3{font-size:clamp(1.05rem,.9rem + .7vw,1.25rem);line-height:1.35;margin:26px 0 10px}
.vl-legal p{margin:0 0 14px}
.vl-legal ol,.vl-legal ul{margin:12px 0 18px;padding-left:22px}
.vl-legal li{margin-bottom:10px;padding-left:4px}
.vl-legal a{color:var(--green);text-decoration:underline}

/* Art - opis wspólny nad galerią + "Rozwiń więcej" */
.vl-art-gallery-note{max-width:780px;margin:0 0 30px;font-size:.96rem;line-height:1.7;color:var(--green-2)}
.vl-art-tile--hidden{display:none}
.vl-art-gallery.is-expanded .vl-art-tile--hidden{display:block}
.vl-art-more-wrap{display:flex;justify-content:center;margin-top:40px}
.vl-art-more-count{opacity:.55;margin-left:5px}

/* Sesje - "Dla kobiet i mężczyzn" nad cennikiem */
.vl-sessions-for{font-family:'Montserrat',sans-serif;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--beige);margin:0 0 22px;text-align:center}

/* Art - zdjęcia z pracowni w sekcji "O mojej sztuce" (duet: pionowe + nałożone poziome) */
.vl-art-process{position:relative;margin-top:46px;max-width:420px}
.vl-art-process-main img{display:block;width:100%;border-radius:18px;box-shadow:0 26px 54px -28px rgba(51,68,59,.55)}
@media(max-width:900px){
  .vl-art-process{margin:34px auto 0;max-width:380px}
}

/* Warsztaty - oznaczenie "również dla mężczyzn" */
.ws-coed{display:inline-block;margin-left:10px;font-family:'Montserrat',sans-serif;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--beige);border:1px solid var(--beige);border-radius:100px;padding:3px 11px;vertical-align:middle;font-weight:500}
.pill.pill--coed{border-color:var(--beige);color:var(--beige);background:transparent}
.ws-head-note{margin:18px 0 0;max-width:48ch;font-size:.95rem;line-height:1.7;color:var(--green-2);font-style:italic}
/* Task 13 - workshops display-terms */
.vl-ws-terms{list-style:none;margin:0 0 18px;padding:0}
.vl-ws-term{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.vl-ws-term-date{font-weight:600;color:var(--green)}
.vl-ws-term-place,.vl-ws-term-spots{color:var(--green-2);font-size:.92rem}
.vl-ws-term-status{margin-left:auto;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 12px;border-radius:100px;border:1px solid var(--line)}
.vl-ws-term--brak .vl-ws-term-status{color:#9a4a4a;border-color:#9a4a4a}
.vl-ws-term--ostatnie .vl-ws-term-status{color:var(--beige)}
.vl-ws-terms-box{margin-top:32px}
.ws-term-mini{display:block;margin-top:6px;font-size:.82rem;color:var(--green-2)}
.ws-term-mini--brak{color:#9a4a4a}
