
/* Rich-text blocks (WYSIWYG) */
.rtf { color: rgba(255,255,255,.92); }
.rtf p { margin: 0 0 12px; line-height: 1.65; }
.rtf ul, .rtf ol { margin: 0 0 12px; padding-left: 18px; }
.rtf li { margin: 0 0 6px; }
.rtf blockquote { margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid rgba(212,175,55,.45); background: rgba(212,175,55,.06); border-radius: 12px; }
.rtf img { max-width: 100%; height: auto; border-radius: 14px; border: 1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.20); }
.rtf a { color: var(--aqua, rgba(120,210,255,.95)); text-decoration: underline; }
.rtf .hl-gold{ color: var(--gold, #f3cf6a); font-weight:700; }
.rtf .hl-aqua{ color: var(--aqua, rgba(120,210,255,.95)); font-weight:700; }
.rtf .hl-white{ color: rgba(255,255,255,.92); font-weight:700; }

    :root{
      --bg:#0b0b0d; --panel:rgba(255,255,255,.06); --stroke:rgba(255,255,255,.12);
      --text:#f2f2f2; --muted:rgba(242,242,242,.72); --gold:#f3cf6a;
      --aqua: rgba(120,210,255,.95);
      --ember:#ff5b2b;
      --shadow: 0 10px 30px rgba(0,0,0,.55); --radius2: 26px; --max: 1120px;
      --focus: 0 0 0 3px rgba(243,207,106,.42);
      --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    }
    *{box-sizing:border-box}
    html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);scroll-behavior:smooth}
    html{scroll-padding-top: var(--header-offset, 120px)}
    section{scroll-margin-top: var(--header-offset, 120px)}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;height:auto}
    .container{max-width:var(--max);margin:0 auto;padding:0 18px}

    .skip{position:absolute;left:-9999px;top:10px;background:#111;border:1px solid var(--stroke);color:var(--text);
      padding:10px 12px;border-radius:12px;z-index:9999}
    .skip:focus{left:12px;outline:none;box-shadow:var(--focus)}

    header{position:sticky;top:0;z-index:50;
      background:linear-gradient(180deg, rgba(11,11,13,.94), rgba(11,11,13,.84));
      backdrop-filter: blur(10px); border-bottom:1px solid rgba(255,255,255,.08);}
    .header-row{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:16px;padding:14px 0}
    /* Mobile header: keep logo on the left and burger on the right */
    .header-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
    .brand{display:flex;align-items:center;gap:14px;min-width:0}
    .brand .avatar{width:54px;height:54px;border-radius:999px;border:2px solid var(--ember);box-shadow: 0 0 0 3px rgba(255,91,43,.20), 0 6px 18px rgba(0,0,0,.55);object-fit:cover}
    .brand .title{line-height:1.05;min-width:0}
    .brand .title strong{display:block;font-size:20px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .brand .title span{display:block;margin-top:2px;font-size:16px;color:var(--text);opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

    .nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
    .nav .row{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px;width:100%;max-width:520px}
    .nav a{font-size:13px;letter-spacing:.9px;text-transform:uppercase;color:rgba(242,242,242,.82);
      padding:10px 12px;border-radius:999px;
      border:1px solid rgba(243,207,106,.22);
      background:rgba(255,255,255,.02);
      transition:transform .12s ease, background .12s ease, color .12s ease, border-color .12s ease;
      display:flex;align-items:center;justify-content:center;width:100%;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .nav a:hover{background:rgba(243,207,106,.08);border-color:rgba(243,207,106,.55);color:var(--text);transform:translateY(-1px)}
    .nav a:focus{outline:none;box-shadow:var(--focus)}
    .nav a.active{color:var(--text);border:2px solid rgba(243,207,106,.85);background:rgba(243,207,106,.12);box-shadow:0 0 0 3px rgba(243,207,106,.12), 0 10px 30px rgba(0,0,0,.35)}

    .header-icons,.right{display:flex;flex-direction:column;align-items:flex-start;gap:14px;justify-self:end}
    .social-row,.lang-row{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap}
    .icon-btn.placeholder,.lang-btn.placeholder{opacity:0;pointer-events:none}
    @media (min-width: 1100px){
      .social-row,.lang-row{display:grid;grid-template-columns:repeat(9,44px);gap:10px;justify-content:start}
    }
    .icon-btn,.lang-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;
      border:1px solid var(--stroke);background:rgba(255,255,255,.04);box-shadow:0 6px 18px rgba(0,0,0,.25);
      transition:transform .12s ease, background .12s ease}
    .icon-btn{width:44px;height:44px}
    .lang-btn{width:44px;height:44px;font-weight:800}
    .icon-btn svg{width:20px;height:20px;display:block}
    .icon-btn.youtube svg{width:22px;height:22px;filter:drop-shadow(0 0 6px rgba(255,0,0,.25))}
    .icon-btn .icon-letter{font-weight:900;font-size:18px;line-height:1}

    /* Brand colors for icons */
    .icon-btn.amazon{color:#ff9900;text-shadow:0 0 10px rgba(255,153,0,.25)}
    .icon-btn.web{color:rgba(242,242,242,.92)}
    .icon-btn.instagram{color:#e1306c;text-shadow:0 0 10px rgba(225,48,108,.22)}
    .icon-btn.youtube{color:#ff0000;}
    .icon-btn.facebook{color:#1877f2;text-shadow:0 0 10px rgba(24,119,242,.18)}
    .icon-btn.tiktok{color:#25f4ee;text-shadow:0 0 10px rgba(37,244,238,.22)}
    .lang-btn{width:44px;height:36px;border-radius:12px;font-size:12px;letter-spacing:.8px;font-weight:700;color:rgba(242,242,242,.78)}
    .icon-btn:hover,.lang-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07)}
    .icon-btn:focus,.lang-btn:focus{outline:none;box-shadow:var(--focus)}
    .lang-btn.active{color:var(--text);border:2px solid rgba(243,207,106,.9);background:rgba(243,207,106,.14);box-shadow:0 0 0 3px rgba(243,207,106,.10)}

    .mobile-toggle{display:none;width:54px;height:54px;border-radius:18px;
      background:rgba(255,255,255,.04);align-items:center;justify-content:center;box-shadow:var(--shadow)}
    .mobile-toggle:focus{outline:none;box-shadow:var(--focus)}
    .burger{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}
    .burger span{display:block;width:26px;height:3px;border-radius:999px;background:rgba(243,207,106,.95);box-shadow:0 0 0 3px rgba(243,207,106,.10)}
    /* Mobile menu: allow vertical scroll to reach language buttons on short screens */
    .mobile-menu{display:none;position:fixed;inset:0;z-index:100;background:rgba(11,11,13,.94);backdrop-filter: blur(12px);padding:18px;
      overflow:auto;-webkit-overflow-scrolling:touch}
    .mobile-card{max-width:560px;margin:0 auto;border:1px solid var(--stroke);background:rgba(255,255,255,.05);
      border-radius:26px;box-shadow:var(--shadow);padding:18px;
      max-height:calc(100vh - 36px);overflow:auto;-webkit-overflow-scrolling:touch}
    .mobile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
    .mobile-close{width:44px;height:44px;border-radius:14px;border:1px solid var(--stroke);background:rgba(255,255,255,.06);color:var(--text);
      display:inline-flex;align-items:center;justify-content:center}
    .mobile-close:focus{outline:none;box-shadow:var(--focus)}
    .mobile-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0 18px}
    .mobile-link{display:flex;align-items:center;justify-content:center;height:86px;border-radius:20px;border:1px solid var(--stroke);
      background:rgba(255,255,255,.05);font-size:18px;box-shadow:0 6px 18px rgba(0,0,0,.22)}
    .mobile-section-title{margin-top:14px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(242,242,242,.55);text-align:center}
    .icon-btn.x{color:#fff}
    .icon-btn.linkedin{color:#0a66c2}
    .icon-btn.linkedin .icon-letter{font-size:14px}
    .icon-btn.empik{color:#e60005}

    /* Social grid: auto-fit so 6–7 icons don't break layout */
    .mobile-social{display:grid;grid-template-columns:repeat(auto-fit, minmax(44px, 1fr));gap:10px;margin-top:12px}
    .mobile-lang{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;margin-top:14px}
    .mobile-lang .lang-btn{width:100%;height:64px;border-radius:18px;font-size:14px}

    main{padding:28px 0 60px}
    section{padding:42px 0}
    .hero{padding-top:28px}
    .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}
.hero .media-card{max-width:75%;margin-inline:auto;position:relative}
    .kicker{display:inline-flex;align-items:center;gap:10px;color:rgba(242,242,242,.65);font-size:12px;letter-spacing:2px;text-transform:uppercase}
    .kicker:before{content:"";display:inline-block;width:3px;height:18px;border-radius:99px;background:var(--gold);
      box-shadow:0 0 0 3px rgba(215,178,74,.15)}
    h1{font-size:44px;line-height:1.04;margin:14px 0 10px;letter-spacing:.2px;color:var(--gold)}
    .subtitle{font-size:16px;color:rgba(242,242,242,.75);line-height:1.55;margin:0 0 18px}
    .lead{font-size:16px;color:rgba(242,242,242,.82);line-height:1.7;margin:0 0 18px}
    .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:16px;
      border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);
      font-weight:700;font-size:14px;transition:transform .12s ease, background .12s ease;box-shadow:0 8px 22px rgba(0,0,0,.25)}
    .btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.09)}
    .btn:focus{outline:none;box-shadow:var(--focus)}
    .btn.primary{border-color:rgba(215,178,74,.5);background:rgba(215,178,74,.12)}
    .note{margin-top:14px;color:rgba(242,242,242,.62);font-size:13px;line-height:1.5;border-left:2px solid rgba(215,178,74,.55);padding-left:12px}

    /* Newsletter (and other pages) announcement */
    .rs-notice{border:1px solid rgba(215,178,74,.22);background:rgba(0,0,0,.20);border-left:3px solid rgba(215,178,74,.70);border-radius:14px;padding:12px 14px}
    .rs-notice.is-warn{border-left-color: rgba(255,80,80,.70);border-color: rgba(255,80,80,.20)}
    .rs-notice.is-ok{border-left-color: rgba(60,220,120,.75);border-color: rgba(60,220,120,.20)}
    .rs-notice-body p{margin:0 0 10px}
    .rs-notice-body p:last-child{margin-bottom:0}

    /* Notice with optional image (Panel → Newsletter messages) */
    .rs-notice--media{display:flex;gap:12px;align-items:flex-start}
    .rs-notice--media .rs-notice-media{width:120px;min-width:120px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
    .rs-notice--media .rs-notice-media img{width:100%;height:auto;display:block;object-fit:cover}
    .rs-notice--media .rs-notice-content{flex:1;min-width:0}
    .rs-notice--img-right{flex-direction:row-reverse}
    .rs-notice--img-center{display:block}
    .rs-notice--img-center .rs-notice-media{width:min(360px,100%);min-width:0;margin:0 auto 12px}
    @media (max-width: 720px){
      /* Keep L/R as a thumbnail even on smaller widths (so "Lewo/Prawo" is visible).
         Only CENTER is stacked (it is already display:block above). */
      .rs-notice--img-center{display:block}
      .rs-notice--img-center .rs-notice-media{width:min(360px,100%);min-width:0;margin:0 auto 12px}
    }
    @media (max-width: 520px){
      /* On very small screens stack L/R, but don't go full-bleed */
      .rs-notice--img-left,
      .rs-notice--img-right{flex-direction:column}
      .rs-notice--img-left .rs-notice-media,
      .rs-notice--img-right .rs-notice-media{width:min(240px,100%);min-width:0;margin:0 auto 12px}
    }

    .card{border:1px solid var(--stroke);background:rgba(255,255,255,.05);border-radius:var(--radius2);box-shadow:var(--shadow);padding:20px}
    .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .card h3{margin:0 0 10px;font-size:18px}
    .card h4{margin:16px 0 8px;font-size:14px;letter-spacing:.6px;text-transform:uppercase;color:rgba(242,242,242,.72)}
    .card p{margin:0;color:rgba(242,242,242,.75);line-height:1.65}

    /* Prose (used e.g. on /fragment/) */
    .prose p{margin:0 0 12px;color:rgba(242,242,242,.78);line-height:1.75}
    .prose ul,.prose ol{margin:0 0 12px 18px;color:rgba(242,242,242,.78);line-height:1.75}
    .prose li{margin:0 0 6px}
    .prose h2{margin:26px 0 10px;font-size:22px}
    .prose h3{margin:18px 0 8px;font-size:18px}
    .prose strong{color:rgba(255,255,255,.92)}

    .muted{color:rgba(242,242,242,.68)}
    .section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
    .section-title h2{margin:0;font-size:26px;letter-spacing:.2px;color:var(--gold)}

h2.section-title{color:var(--gold);}

    .section-title .small{color:rgba(242,242,242,.62);font-size:13px;line-height:1.5}

    .media-card{overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);box-shadow:var(--shadow)}
    .media-card img{display:block;width:100%;height:auto}
    .media-card .cap{padding:14px 16px;color:rgba(242,242,242,.72);font-size:13px;line-height:1.6}

    .timeline{display:grid;gap:14px}
    .volume{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:start;
      padding:16px;border-radius:22px;border:1px solid var(--stroke);background:rgba(255,255,255,.05)}
    .badge{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:34px;padding:0 12px;border-radius:999px;
      border:1px solid rgba(215,178,74,.35);background:rgba(215,178,74,.10);font-weight:800;font-size:12px;letter-spacing:.6px}
    .cover{width:140px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
    .cover img{display:block;width:100%;height:auto}
    .volume h3{margin:0 0 6px;font-size:18px}
    .volume p{margin:0;color:rgba(242,242,242,.74);line-height:1.6}
    .volume .actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}

    .read-box{display:grid;grid-template-columns:1fr .9fr;gap:18px;align-items:stretch}
    .list{margin:10px 0 0;padding:0 0 0 18px;color:rgba(242,242,242,.75);line-height:1.7}

    form{margin:0}
    .field{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
    input[type="email"]{flex:1 1 260px;padding:14px 14px;border-radius:16px;border:1px solid var(--stroke);
      background:rgba(255,255,255,.05);color:var(--text);font-size:14px}
    input[type="email"]:focus{outline:none;box-shadow:var(--focus)}
    .fineprint{margin-top:10px;color:rgba(242,242,242,.55);font-size:12px;line-height:1.5}

    details{border:1px solid var(--stroke);border-radius:20px;background:rgba(255,255,255,.05);padding:14px 16px}
    details + details{margin-top:12px}
    summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}
    summary::-webkit-details-marker{display:none}
    summary:after{content:"+";width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
      border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:rgba(242,242,242,.8)}
    details[open] summary:after{content:"–"}
    .faq-body{margin-top:10px;color:rgba(242,242,242,.74);line-height:1.65}

    .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:76px;z-index:70;padding:10px 14px;border-radius:16px;
      border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.68);color:rgba(242,242,242,.9);display:none}
    .modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:18px}
    .modal-card{width:min(520px, 100%);border-radius:26px;border:1px solid rgba(255,255,255,.14);background:rgba(11,11,13,.92);
      backdrop-filter: blur(12px);box-shadow:var(--shadow);padding:16px}
    .modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 10px}
    .modal-title{font-weight:900;letter-spacing:.2px}
    .modal-x{width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);
      display:inline-flex;align-items:center;justify-content:center}
    .modal-x:focus{outline:none;box-shadow:var(--focus)}
      background:rgba(255,255,255,.06);font-weight:800}

    footer{padding:28px 0 40px;border-top:1px solid rgba(255,255,255,.08);color:rgba(242,242,242,.68);font-size:13px}
    .foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
    .foot a{color:rgba(242,242,242,.78);text-decoration:underline;text-decoration-color:rgba(242,242,242,.22)}
    .foot a:hover{text-decoration-color:rgba(215,178,74,.55)}

    @media (max-width:980px){
      /* On mobile only the header-top is visible, so use a single column and let it stretch full width */
      .header-row{grid-template-columns:1fr;padding:12px 0}
      .header-top{width:100%}
      .nav{display:none} .right{display:none} .header-icons{display:none} .mobile-toggle{display:inline-flex}
      .hero-grid{grid-template-columns:1fr} h1{font-size:38px}
      .grid-3{grid-template-columns:1fr} .grid-2{grid-template-columns:1fr}
      .read-box{grid-template-columns:1fr}
      .volume{grid-template-columns:1fr} .cover{width:100%}
    }
    @media (max-width:520px){ .mobile-grid{grid-template-columns:1fr 1fr} .mobile-social{grid-template-columns:repeat(3,1fr)} h1{font-size:34px} }
  
    /* Mini copy buttons (footer + privacy) */
    .copy-mini{
      margin-left:8px;
      width:28px;height:28px;
      border-radius:10px;
      border:1px solid rgba(243,207,106,.75);
      background:rgba(243,207,106,.12);
      color:rgba(242,242,242,.92);
      display:inline-flex;align-items:center;justify-content:center;
      font-weight:900;cursor:pointer;
      vertical-align:middle;
      box-shadow: 0 0 0 3px rgba(243,207,106,.08);
    }
    .copy-mini:hover{background:rgba(243,207,106,.18)}
    .copy-mini:focus{outline:none;box-shadow:var(--focus)}

    
    .privacy-inline-actions{display:flex;justify-content:flex-end;padding:10px 12px 0}
    .privacy-inline-actions .copy-mini{margin-left:0}
/* Author right column swap (branding <-> shadow) */
    .author-right{display:flex;flex-direction:column;gap:18px}
    #authorShadow{display:none}

    /* Privacy accordion styled like FAQ but highlighted */
    .privacy-details{
      border:1px solid rgba(243,207,106,.28);
      border-radius:22px;
      background:rgba(255,255,255,.04);
      box-shadow: var(--shadow);
      padding:14px 16px;
    }
    .privacy-details > summary{
      cursor:pointer;
      list-style:none;
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      font-weight:900;
      padding:6px 2px;
      color:rgba(242,242,242,.95);
    }
    .privacy-details > summary span{
      color:rgba(243,207,106,.95);
      text-shadow: 0 0 14px rgba(255,91,43,.22);
    }


/* --- Tuning: stronger gold readability --- */
:root{
  --gold: rgba(243,207,106,.95);
  --goldSoft: rgba(243,207,106,.35);
  --goldGlow: rgba(243,207,106,.22);
}

/* Menu + languages + icons */
.nav a{border:1px solid var(--goldSoft);}
.nav a:hover{border-color:rgba(243,207,106,.55);}
.nav a.active{border:2px solid var(--gold); box-shadow:0 0 0 3px var(--goldGlow);}

.lang-btn{border:1px solid rgba(243,207,106,.38);}
.lang-btn:hover{border-color:rgba(243,207,106,.60);}
.lang-btn.active{border:2px solid var(--gold); box-shadow:0 0 0 3px var(--goldGlow);}

.icon-btn{border:1px solid rgba(243,207,106,.30);}
.icon-btn:hover{border-color:rgba(243,207,106,.55); box-shadow:0 0 0 3px rgba(243,207,106,.12);}

/* Buttons */
.btn{border:2px solid rgba(243,207,106,.55);}
.btn:hover{border-color:rgba(243,207,106,.85);}
.btn.primary{border-color:var(--gold); box-shadow:0 0 0 3px rgba(243,207,106,.14), 0 10px 26px rgba(0,0,0,.35);}


/* Footer: privacy on the left, no overlap */
body{padding-bottom:120px;}
.foot{align-items:flex-start;}
.foot-left{display:flex;flex-direction:column;gap:6px;}
.foot-privacy{display:flex;align-items:center;gap:8px;}
.foot-right{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;}

/* Author reveal layout */
.author-reveal{display:none;flex-direction:column;gap:14px;}

/* --- About: stacked archival thumbnails (21–24) --- */
.stack-photos{
  display:grid;
  gap:12px;
}
.thumb.media-card{
  padding:0;
  cursor:pointer;
  border-radius:22px;
  overflow:hidden;
  text-align:left;
}
.thumb-img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}
.thumb:focus{outline:none;box-shadow:var(--focus)}
@media (max-width:980px){
  .thumb-img{height:210px;}
}

/* --- Archival gallery inside accordion --- */
.arch-gallery{width:100%;}
.arch-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.arch-sep{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(243,207,106,.28);
  background:rgba(243,207,106,.08);
  color:rgba(243,207,106,.92);
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-size:12px;
}
.thumb.wide{grid-column:1 / -1;}
.thumb.wide .thumb-img{height:240px;}
@media (max-width:520px){
  .arch-grid{grid-template-columns:1fr;}
  .thumb.wide .thumb-img{height:210px;}
}

/* --- Image viewer modal --- */
.img-modal{
  position:fixed;
  inset:0;
  z-index:90;
  background:rgba(0,0,0,.70);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.img-modal-card{
  width:min(980px, 100%);
  border-radius:26px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(11,11,13,.92);
  box-shadow: var(--shadow);
  padding:14px;
}
.img-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 4px 10px;
}
.img-modal-title{
  font-weight:900;
  letter-spacing:.2px;
  color:rgba(242,242,242,.92);
}
.img-modal-body{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#0b0b0b;
}
.img-modal-body img{
  width:100%;
  height:min(70vh, 760px);
  object-fit:contain;
  display:block;
  background:#0b0b0b;
}
.img-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;height:46px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(242,242,242,.92);
  font-weight:900;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter: blur(8px);
}
.img-nav:hover{background:rgba(243,207,106,.10);border-color:rgba(243,207,106,.55)}
.img-nav:focus{outline:none;box-shadow:var(--focus)}
.img-nav.prev{left:10px;}
.img-nav.next{right:10px;}
.img-modal-cap{
  margin-top:10px;
  color:rgba(242,242,242,.72);
  font-size:13px;
  line-height:1.5;
}
.arch-switch{display:flex;gap:8px;margin-top:10px;justify-content:flex-end;}
.arch-btn{width:38px;height:34px;border-radius:12px;border:2px solid rgba(243,207,106,.45);background:rgba(0,0,0,.28);color:var(--text);font-weight:700;cursor:pointer}
.arch-btn:hover{border-color:rgba(243,207,106,.85);background:rgba(243,207,106,.10)}
.arch-btn.active{border-color:var(--gold);box-shadow:0 0 0 3px var(--goldGlow);background:rgba(243,207,106,.14)}

/* Small deterrents (not full protection) */
img{-webkit-user-drag:none; user-select:none;}


/* Vision slider: project <-> author shadow (10s fade) */
.hero-slider{
  position:relative;
  width:100%;
  aspect-ratio: 4 / 5;
  border-radius:22px;
  overflow:hidden;
  background:#0b0b0b;
}
.hero-slider .slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transition: opacity 900ms ease;
}
.hero-slider .slide.is-active{ opacity:1; }
.hero-slider img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  user-select:none;
  -webkit-user-drag:none;
}
@media (prefers-reduced-motion: reduce){
  .hero-slider .slide{ transition:none; }
}
.shadow-note{
  color: rgba(242,242,242,.86);
}


/* --- Volumes tabs (II–VI): minimalistyczne zakładki, bez tła --- */
.vol-tabs{
  border:1px solid var(--stroke);
  border-radius:22px;
  padding:18px;
  background:transparent;
}
.vol-tabs-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.vol-tabs-head .small{
  color:rgba(242,242,242,.62);
  font-size:13px;
  line-height:1.5;
  margin-top:6px;
}
.tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:8px 0 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  margin-bottom:12px;
}
.tab{
  appearance:none;
  border-radius:999px;
  padding:10px 12px;
  background:transparent;
  border:1px solid rgba(243,207,106,.35);
  color:rgba(242,242,242,.82);
  font-weight:900;
  font-size:12px;
  letter-spacing:.8px;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease;
}
.tab:hover{
  transform:translateY(-1px);
  background:rgba(243,207,106,.08);
  border-color:rgba(243,207,106,.55);
  color:var(--text);
}
.tab:focus{outline:none;box-shadow:var(--focus)}
.tab.is-active{
  border:2px solid var(--gold);
  background:rgba(243,207,106,.12);
  color:var(--text);
  box-shadow:0 0 0 3px rgba(243,207,106,.10);
}
.tabpanel{display:none; padding:2px 0 0;}
.tabpanel.is-active{display:block;}
.tab-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(242,242,242,.62);
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.tab-title{
  margin:0 0 6px;
  font-size:20px;
  letter-spacing:.2px;
  font-weight:900;
}
.tab-slogan{
  margin:0 0 10px;
  color:rgba(243,207,106,.92);
  font-weight:800;
}
.vol-tabs p{margin:0;color:rgba(242,242,242,.76);line-height:1.7;}


/* --- Cookie consent --- */
#cookie-consent{position:fixed;inset:0;display:none;align-items:flex-end;justify-content:center;z-index:9999;padding:18px;background:rgba(0,0,0,.55);backdrop-filter: blur(6px)}
#cookie-consent[aria-hidden="false"]{display:flex}
.cookie-card{width:min(720px,100%);border:1px solid var(--stroke);background:rgba(20,20,24,.92);border-radius:24px;box-shadow:var(--shadow);padding:16px 16px 14px}
.cookie-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cookie-head h3{margin:0;font-size:16px;letter-spacing:.2px}
.cookie-head p{margin:8px 0 0;color:rgba(242,242,242,.75);line-height:1.55;font-size:13px}
.cookie-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.cookie-links a{font-size:12px;color:rgba(243,207,106,.95);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cookie-actions .btn{padding:10px 14px;border-radius:14px}
.cookie-actions .btn.primary{background:rgba(243,207,106,.14);border-color:rgba(243,207,106,.55)}
.cookie-mini{display:none;position:fixed;right:16px;bottom:16px;z-index:9998}
.cookie-mini .btn{border-radius:999px;padding:10px 14px;font-size:12px}
.cookie-prefs{display:none;margin-top:12px;border-top:1px solid rgba(255,255,255,.10);padding-top:12px}
.cookie-prefs.is-open{display:block}
.cookie-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0}
.cookie-row + .cookie-row{border-top:1px dashed rgba(255,255,255,.10)}
.cookie-row label{display:block;font-weight:800;font-size:13px}
.cookie-row .muted{display:block;margin-top:4px;font-size:12px;color:rgba(242,242,242,.70);line-height:1.45}
.cookie-toggle{display:flex;align-items:center;gap:10px}
.cookie-toggle input{width:18px;height:18px}
@media (max-width:520px){
  .cookie-card{border-radius:20px}
}

    /* Mini excerpt buttons */
    .btn.mini{
      font-size:12px;
      padding:8px 12px;
      border-radius:999px;
      font-weight:700;
      opacity:.95;
    }
    .btn.mini:hover{opacity:1}
    


.series-translation{margin:0 0 10px;color:var(--gold);font-weight:900;letter-spacing:2px;text-transform:uppercase}

/* DE/FR/ES: keep header navigation in exactly two rows (avoid 3-line wrap on desktop) */
@media (min-width:981px){
  body.lang-de .header-row,
  body.lang-fr .header-row,
  body.lang-es .header-row{grid-template-columns:1fr 1.5fr 1fr;}

  body.lang-de .nav a,
  body.lang-fr .nav a,
  body.lang-es .nav a{font-size:12px;letter-spacing:.6px;padding:9px 10px}
}

    /* Blog / Updates */
    .post-list{display:flex;flex-direction:column;gap:18px}
    .post-card{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:stretch}
    .post-card.no-media{grid-template-columns:1fr}
    .post-media{display:flex;align-items:center;justify-content:center}
    .post-img{width:100%;max-width:260px;height:auto;border-radius:14px;border:1px solid var(--stroke);box-shadow:var(--shadow)}
    .post-title{margin:0 0 8px}
    .post-title a{color:inherit;text-decoration:none}
    .post-title a:hover{text-decoration:underline;text-decoration-color:rgba(215,178,74,.55)}
    .post-meta{font-size:13px;color:rgba(242,242,242,.72);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
    .pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--stroke);border-radius:999px;font-size:12px;color:rgba(242,242,242,.80);background:rgba(255,255,255,.04)}
    @media (max-width:980px){ .post-card{grid-template-columns:1fr} .post-img{max-width:100%} }

/* ===== Home Blocks (Etap 4.5) ===== */
section.home-block{padding:24px 0;}
section.home-block.alt{padding:24px 0;}
@media (max-width: 980px){
  section.home-block, section.home-block.alt{padding:18px 0;}
}
section.home-block .section-head{margin:0 0 14px;}
section.home-block .section-title{margin:0; letter-spacing:.2px;}
section.home-block h1.section-title{font-size:34px; line-height:1.15;}
section.home-block h2.section-title{font-size:30px; line-height:1.2;}
section.home-block h3.section-title{font-size:24px; line-height:1.25;}
@media (max-width: 980px){
  section.home-block h1.section-title{font-size:30px;}
  section.home-block h2.section-title{font-size:26px;}
  section.home-block h3.section-title{font-size:21px;}
}
section.home-block .section-sub{margin-top:6px; color:rgba(255,255,255,.74); line-height:1.55;}
section.home-block .section-head + .card{margin-top:12px;}
section.home-block .section-head + .grid-2,
section.home-block .section-head + .grid-3,
section.home-block .section-head + .cards{margin-top:12px;}

section.home-block p{margin:0 0 12px;}
section.home-block .hb-img{
  width:100%;
  height:auto;
  display:block;
  border-radius:16px;
}

/* Make Duo images breathe a bit */
section.home-block .card > .hb-img{margin-bottom:12px;}

/* Feature (Cafe) — controllable media (ratio/fit/size) */
section.home-block .hb-split{
  --hb-media-w: 560px;
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,var(--hb-media-w));
  gap:28px;
  align-items:start;
}
section.home-block .hb-split.hb-left{
  grid-template-columns: minmax(0,var(--hb-media-w)) minmax(0,1fr);
}
@media (max-width: 980px){
  section.home-block .hb-split,
  section.home-block .hb-split.hb-left{
    grid-template-columns: 1fr;
    gap:16px;
  }
  /* Mobile: show image first for imageRight too */
  section.home-block .hb-split.hb-right .hb-mediacol{order:-1;}
}

section.home-block .hb-textcol .section-title{margin:0; letter-spacing:.2px;}
section.home-block .hb-textcol .section-sub{margin-top:6px; color:rgba(255,255,255,.74); line-height:1.55;}

section.home-block .hb-media{
  border-radius:18px;
  overflow:hidden;
  width:100%;
  max-width: var(--hb-media-w);
  aspect-ratio: var(--hb-media-ratio, 4 / 5);
}
section.home-block .hb-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit: var(--hb-media-fit, cover);
  object-position:center;
}

/* Ratio: auto (keep intrinsic, no forced box) */
section.home-block .hb-media.is-auto{aspect-ratio:auto;}
section.home-block .hb-media.is-auto img{height:auto; object-fit:contain;}

/* Sizes */
section.home-block .hb-size-s{--hb-media-w: 420px;}
section.home-block .hb-size-m{--hb-media-w: 560px;}
section.home-block .hb-size-l{--hb-media-w: 680px;}

/* ===== /Home Blocks ===== */


/* Gold headings on home */
h3.section-title{color:var(--gold)}

/* Button variant: Ghost */
.btn.ghost{
  /* Keep "ghost" looking like a button (not a plain link) */
  border-color: rgba(243,207,106,.30);
  background: transparent;
}
.btn.ghost:hover{
  border-color: rgba(243,207,106,.75);
  background: rgba(255,255,255,.06);
}
