/* ═══ CENNIK — Consolidated CSS v2.0 ═══ */
/* Generated: 2026-03-03 */
/* Source: cennik-consolidated.css v1.0 reconsolidated */
/* Changes: !important cleanup, whitespace consolidation */



/* SECTION 1: CSS VARIABLES (Root) */
html:root{--vm-bg-primary:#020617;--vm-bg-surface:rgba(15,23,42,.95);--vm-bg-soft:rgba(15,23,42,.8);--vm-text-primary:#f9fafb;--vm-text-secondary:rgba(249,250,251,.72);--vm-text-muted:rgba(148,163,184,.95);--vm-primary:#3b82f6;--vm-primary-light:#60a5fa;--vm-primary-dark:#2563eb;--vm-accent:#8b5cf6;--vm-accent-light:#a78bfa;--vm-green-free:#10b981;--vm-success:#10b981;--vm-success-light:#34d399;--vm-gradient-main:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);--vm-gradient-hero:linear-gradient(135deg,#60a5fa,#3b82f6 15%,#2563eb 30%,#8b5cf6 50%,#2563eb 70%,#3b82f6 85%,#60a5fa);--vm-gradient-blue-purple:linear-gradient(135deg,#60a5fa,#3b82f6 25%,#2563eb 50%,#8b5cf6 75%,#a78bfa);--vm-gradient-green:linear-gradient(135deg,#34d399,#10b981 25%,#059669 50%,#047857 75%,#065f46);--vm-conic-blue-purple:conic-gradient(from 0deg at 50% 50%,rgba(96,165,250,.95) 0deg,rgba(59,130,246,.9) 72deg,rgba(147,51,234,.85) 144deg,rgba(59,130,246,.9) 216deg,rgba(96,165,250,.95) 288deg,rgba(96,165,250,.95) 360deg);--vm-conic-green:conic-gradient(from 0deg at 50% 50%,rgba(16,185,129,.95) 0deg,rgba(34,197,94,.9) 120deg,rgba(5,150,105,.9) 240deg,rgba(16,185,129,.95) 360deg);--vm-glow-main:radial-gradient(circle at 20% -20%,rgba(59,130,246,.35) 0%,rgba(139,92,246,.2) 35%,transparent 70%);--vm-shadow-card:0 18px 45px rgba(15,23,42,.9),inset 0 0 0 1px rgba(148,163,184,.2);--vm-shadow-md:0 8px 32px rgba(59,130,246,.25);--vm-shadow-lg:0 12px 48px rgba(59,130,246,.3);--vm-shadow-xl:0 20px 80px rgba(59,130,246,.35);--vm-radius-sm:0.75rem;--vm-radius-md:1.25rem;--vm-radius-lg:1.75rem;--vm-radius-xl:2rem;--vm-radius-2xl:2.5rem;--vm-radius-pill:999px;--vm-space-xs:clamp(0.5rem,1.5vw,1rem);--vm-space-sm:clamp(0.875rem,2.5vw,1.5rem);--vm-space-md:clamp(1.25rem,3.5vw,2.25rem);--vm-space-lg:clamp(2rem,5vw,3.5rem);--vm-space-xl:clamp(3rem,7vw,6rem);--vm-space-2xl:clamp(4rem,10vw,8rem);--vm-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;--vm-text-h1:clamp(2.6rem,4.6vw,3.7rem);--vm-text-h2:clamp(2.1rem,3.6vw,2.8rem);--vm-text-h3:clamp(1.6rem,2.4vw,2.1rem);--vm-text-body:clamp(1rem,1.8vw,1.125rem);--vm-text-lead:clamp(1.25rem,2.8vw,1.875rem);--vm-duration-fast:150ms;--vm-duration-normal:240ms;--vm-ease-standard:ease}

/* L2 additional variables */
:root{--vm-bg-primary:#020617;--vm-bg-surface:rgba(15,23,42,.95);--vm-bg-soft:rgba(15,23,42,.8);--vm-text-primary:#f9fafb;--vm-text-secondary:rgba(249,250,251,.72);--vm-text-muted:rgba(148,163,184,.95);--vm-gradient-main:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);--vm-glow-main:radial-gradient(circle at 20% -20%,rgba(59,130,246,.35) 0%,rgba(139,92,246,.2) 35%,transparent 70%);--vm-shadow-card:0 18px 45px rgba(15,23,42,.9),inset 0 0 0 1px rgba(148,163,184,.2);--vm-shadow-card-hover:0 24px 60px rgba(15,23,42,.95),inset 0 0 0 1px rgba(248,250,252,.18);--vm-radius-md:1.25rem;--vm-radius-lg:1.75rem;--vm-radius-pill:999px;--vm-space-sm:1rem;--vm-space-md:1.5rem;--vm-space-lg:2.25rem;--vm-space-xl:3rem;--vm-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;--vm-text-h1:clamp(2.4rem,4.4vw,3.5rem);--vm-text-h2:clamp(2rem,3.4vw,2.6rem);--vm-text-h3:clamp(1.5rem,2.2vw,1.9rem);--vm-ease-standard:cubic-bezier(0.4,0,0.2,1);--vm-duration-fast:160ms;--vm-duration-normal:240ms}

/* SECTION 2: BASE STYLES & LAYOUT (L1) */
*,:after,:before{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;text-size-adjust:100%;-moz-osx-font-smoothing:grayscale}
body,html{-webkit-font-smoothing:antialiased}
body{background:#080b14;color:var(--vm-text-primary);font-family:var(--vm-font-sans);font-size:var(--vm-text-body);line-height:1.6;margin:0;min-height:100vh;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{height:auto;max-width:100%}

/* === HEADER === */
.vm-header{background:rgba(2,6,23,.92);border-bottom:1px solid rgba(148,163,184,.15);padding:.75rem 1.5rem;position:sticky;top:0;z-index:1000}
.vm-header-inner{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1400px}
.vm-logo{flex-shrink:0;text-decoration:none}
.vm-logo-text{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:700}

/* === MENU TOGGLE === */
.vm-menu-toggle{align-items:center;background:transparent;border:none;border-radius:8px;cursor:pointer;display:none;flex-direction:column;height:44px;justify-content:center;padding:0;width:44px;z-index:1001}
.vm-hamburger,.vm-hamburger:after,.vm-hamburger:before{background:#f9fafb;border-radius:2px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:22px}
.vm-hamburger{position:relative}
.vm-hamburger:after,.vm-hamburger:before{content:"";left:0;position:absolute}
.vm-hamburger:before{top:-7px}
.vm-hamburger:after{top:7px}
.vm-menu-toggle.is-active .vm-hamburger{background:transparent}
.vm-menu-toggle.is-active .vm-hamburger:before{transform:rotate(45deg) translate(5px,5px)}
.vm-menu-toggle.is-active .vm-hamburger:after{transform:rotate(-45deg) translate(5px,-5px)}

/* === NAV === */
.main-nav{flex:1}
.nav-list{align-items:center;display:flex;gap:.25rem;justify-content:flex-end;list-style:none;margin:0;padding:0}
.nav-item{position:relative}
.nav-link{align-items:center;background:transparent;border:none;border-radius:8px;color:rgba(249,250,251,.85);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:500;gap:.35rem;padding:.6rem 1rem;text-decoration:none;transition:color .2s ease,background .2s ease;white-space:nowrap}
.nav-link:hover{background:rgba(59,130,246,.15);color:#fff}
.nav-link.is-active{color:#a78bfa}
.nav-link--award{color:#fbbf24}
.nav-link--award:hover{background:rgba(251,191,36,.15)}
.award-badge{font-size:1rem}
.dropdown-arrow{font-size:.7rem;opacity:.7;transition:transform .2s ease}
.nav-item.is-open .dropdown-arrow{transform:rotate(180deg)}

/* === DROPDOWN === */
.dropdown-menu{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.2) 0,transparent 50%),rgba(15,15,25,.95);border:1px solid rgba(139,92,246,.3);border-radius:.75rem;box-shadow:0 20px 40px rgba(0,0,0,.4), 0 0 30px rgba(139,92,246,.15);left:50%;list-style:none;margin:0;min-width:220px;opacity:0;padding:.5rem;position:absolute;top:100%;transform:translateX(-50%) translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;visibility:hidden;z-index:100}
.nav-item.is-open .dropdown-menu,.has-dropdown:hover .dropdown-menu{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}
.dropdown-menu li{margin:0}
.dropdown-menu a{border-radius:8px;color:rgba(249,250,251,.8);display:block;font-size:.875rem;padding:.65rem 1rem;text-decoration:none;transition:background .15s ease,color .15s ease}
.dropdown-menu a:hover{background:rgba(59,130,246,.2);color:#fff}
.dropdown-menu a[aria-current=page]{background:rgba(139,92,246,.1);color:#a78bfa}
.nav-item--cta{margin-left:.5rem;background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);}
.nav-cta{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);border-radius:999px;color:#fff;font-weight:600;padding:.5rem 1.25rem;border:none;box-shadow:0 0 20px rgba(139,92,246,.4), 0 4px 15px rgba(59,130,246,.3);}

/* === MOBILE NAV === */
@media (max-width:900px){
  .vm-menu-toggle{display:flex}
  .main-nav{background:rgba(2,6,23,.98);border-left:1px solid rgba(148,163,184,.15);height:100vh;max-width:320px;overflow-y:auto;padding:5rem 1.5rem 2rem;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:100%;z-index:999}
  .main-nav.is-open{transform:translateX(0)}
  .nav-list{align-items:stretch;flex-direction:column;gap:.25rem}
  .nav-item,.nav-link{width:100%}
  .nav-link{font-size:1.1rem;justify-content:space-between;min-height:52px;padding:1rem 1.25rem}
  .dropdown-arrow{font-size:1.1rem;opacity:.85;padding:.25rem}
  .nav-item.has-dropdown .dropdown-menu{background:rgba(15,23,42,.5);border:none;border-radius:8px;box-shadow:none;left:auto;margin:0;max-height:0;min-width:100%;opacity:1;overflow:hidden;padding:0;position:static;transform:none;transition:max-height .3s ease,padding .3s ease;visibility:visible}
  .nav-item.has-dropdown.is-open .dropdown-menu{margin-top:.5rem;max-height:none;padding:.5rem 0 .5rem 1rem}
  .dropdown-menu a{border-left:2px solid rgba(148,163,184,.2);border-radius:0;font-size:1.05rem;min-height:48px;padding:1rem 1.25rem}
  .nav-item--cta{margin-left:0;margin-top:1rem;background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);}
  .nav-cta{justify-content:center;padding:1rem;background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);}
}

/* === UTILITY CLASSES === */
.vm-gradient-text{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@supports not (-webkit-background-clip:text){.vm-gradient-text{background-image:none;color:#e5e7eb}}
.vm-free{color:#10b981;font-weight:700;text-shadow:0 0 15px rgba(16,185,129,.3)}
.vm-skip-link{background:var(--vm-bg-surface);border-radius:0 0 .5rem 0;clip:rect(0,0,0,0);color:var(--vm-text-primary);height:1px;left:0;overflow:hidden;padding:1rem 2rem;position:absolute;text-decoration:none;top:-100px;width:1px;z-index:9999}
.vm-skip-link:focus{clip:auto;height:auto;overflow:visible;top:0;width:auto}
.vm-text-link{color:var(--vm-primary-light);font-weight:600;text-decoration:none}
data,time,abbr{color:inherit;font:inherit;letter-spacing:inherit}
abbr[title]{cursor:help;text-decoration:none}
/* CLS guard: html prefix (0,1,1) beats L2's .vm-shell (0,1,0) — blocks vertical padding shift */
html .vm-shell{margin:0 auto;max-width:1400px;padding:0 1.5rem}
.container{margin:0 auto;max-width:1200px;padding:0 clamp(1rem,3vw,2rem)}
.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}

/* === ANSWER CAPSULE === */
.vm-answer-capsule{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.25);border-radius:1rem;position:relative;max-width:800px;margin:2rem auto;padding:1.75rem 2rem;font-size:clamp(.95rem,2vw,1.05rem);font-weight:400;line-height:1.7;color:var(--vm-text-secondary,rgba(249,250,251,.85));text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.vm-answer-capsule::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:3px;background:linear-gradient(90deg,transparent,#10b981,#3b82f6,transparent);border-radius:0 0 2px 2px}
.vm-answer-capsule strong{color:var(--vm-text-primary,#f1f5f9);font-weight:600}
.vm-answer-capsule dfn{font-style:normal;font-weight:700;color:#a78bfa}
.vm-answer-capsule .vm-free{color:#10b981;font-weight:700;text-shadow:0 0 15px rgba(16,185,129,.4)}
.vm-answer-capsule .vm-text-link{color:#60a5fa;font-weight:600;text-decoration:none}
.vm-answer-capsule .vm-text-link:hover{color:#93c5fd;text-decoration:underline}
@media (max-width:640px){.vm-answer-capsule,.entity-definition{max-width:100%;margin:1.5rem 1rem;padding:1.25rem 1rem;border-radius:.75rem}.vm-answer-capsule::before,.entity-definition::before{width:80%}}

/* === ENTITY DEFINITION (alias vm-answer-capsule) === */
.entity-definition{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.25);border-radius:1rem;position:relative;max-width:800px;margin:2rem auto;padding:1.75rem 2rem;font-size:clamp(.95rem,2vw,1.05rem);font-weight:400;line-height:1.7;color:rgba(255,255,255,.92);text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.entity-definition::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:3px;background:linear-gradient(90deg,transparent,#10b981,#3b82f6,transparent);border-radius:0 0 2px 2px}
.entity-definition strong{color:var(--vm-text-primary,#f1f5f9);font-weight:600}
.entity-definition dfn{font-style:normal;font-weight:700;color:#a78bfa}
.entity-definition .vm-free{color:#10b981;font-weight:700;text-shadow:0 0 15px rgba(16,185,129,.4)}
.entity-definition .vm-text-link{color:#60a5fa;font-weight:600;text-decoration:none}
.entity-definition .vm-text-link:hover{color:#93c5fd;text-decoration:underline}

/* === SECTION === */
/* CLS guard: html prefix (0,1,1) beats L2's .vm-section (0,1,0) */
html .vm-section{background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);border:none;border-radius:1.25rem;box-shadow:none;margin:2rem auto;max-width:1400px;padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,4vw,2.5rem);position:relative}
.vm-section>h3{text-align:center}
.vm-section--flat{background:transparent;border:none;box-shadow:none}
.vm-section--flat:before{display:none}

/* === HERO === */
/* CLS guard: html prefix (0,1,1) beats L2's .vm-hero (0,1,0) */
html .vm-hero{background:transparent;border:none;border-radius:1.25rem;box-shadow:none;margin:2rem auto;max-width:1400px;padding:clamp(3rem,6vw,5rem) clamp(2rem,5vw,3rem);position:relative;text-align:center}
/* CLS guard: specificity (0,2,0) beats L2 .vm-section (0,1,0) → prevents async glass override */
.vm-section.vm-hero{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none}
/* CLS guard: html prefix (0,1,1) beats L2's .vm-hero-inner (0,1,0) — blocks async flex shift */
html .vm-hero-inner{align-items:center;background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.25);border-radius:1.5rem;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);display:flex;flex-direction:column;margin:0 auto;max-width:1320px;padding:2.5rem 2rem;position:relative;z-index:1}
.vm-location-wrapper{margin-bottom:var(--vm-space-md)}
.vm-location{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.12) 0%,transparent 50%),rgba(15,15,25,.75);border-radius:var(--vm-radius-pill);box-shadow:0 8px 32px rgba(0,0,0,.3),0 0 60px rgba(139,92,246,.1);color:var(--vm-text-primary);display:inline-flex;font-size:clamp(.9375rem,1.8vw,1.125rem);font-weight:600;gap:var(--vm-space-xs);padding:clamp(.75rem,2vw,1rem) clamp(1.5rem,3.5vw,2.25rem);position:relative}
.vm-location svg{fill:var(--vm-primary-light);animation:pulse-icon 2s ease-in-out infinite}
@keyframes pulse-icon{0%,to{opacity:.9}50%{opacity:1}}
.vm-hero h1{font-size:var(--vm-text-h1);font-weight:800;line-height:1.1;margin-bottom:var(--vm-space-md);text-wrap:balance;word-break:keep-all;hyphens:none}
.vm-hero h1 span{display:inline}
.vm-hero h1 .vm-h1-secondary{display:block;margin-top:.25em}
.vm-h1-secondary{background:none;-webkit-background-clip:initial;-webkit-text-fill-color:#fff;color:#fff}
.vm-hero-intro{color:rgba(255,255,255,.92);font-size:var(--vm-text-lead);line-height:1.75;margin:0 auto var(--vm-space-lg);max-width:900px}
.vm-hero-intro strong{color:#fff;font-weight:700}
.vm-hero-intro .vm-gradient-text,.vm-hero-intro strong.vm-gradient-text{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:700}
.vm-hero-intro .vm-free,.vm-hero-intro strong.vm-free{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:#10b981;color:#10b981;font-weight:700;text-shadow:0 0 20px rgba(16,185,129,.4)}
.vm-hero h1 .vm-free{color:#10b981;background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:#10b981;text-shadow:0 0 30px rgba(16,185,129,.5),0 0 60px rgba(16,185,129,.3)}

/* === USP LIST === */
.vm-usp-list{background:transparent;border:none;border-radius:1rem;box-shadow:none;display:flex;flex-direction:column;gap:var(--vm-space-sm);list-style:none;margin:var(--vm-space-xl) auto;max-width:1100px;padding:1.5rem 2rem}
.vm-usp-list li{align-items:flex-start;color:rgba(255,255,255,.88);display:flex;font-size:clamp(.95rem,1.8vw,1.05rem);gap:1rem;line-height:1.7;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}
.vm-usp-list li:last-child{border-bottom:none}
.vm-usp-list li div{color:rgba(255,255,255,.88)}
.vm-usp-list strong{color:#fff;font-weight:700}
.vm-usp-icon{color:var(--vm-success);flex-shrink:0;font-size:1.5rem;font-weight:700}

/* === CTA GROUP === */
.vm-cta-group{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;margin-top:var(--vm-space-lg);width:100%}
@media(min-width:640px){.vm-cta-group{flex-direction:row;flex-wrap:wrap;gap:1.25rem}}

/* === BUTTON BASE: Glass Morphism === */
.vm-button{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:radial-gradient(ellipse at 30% 0%,rgba(59,130,246,.2) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(59,130,246,.4);border-radius:var(--vm-radius-pill);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);color:#fff;cursor:pointer;display:inline-flex;font-size:clamp(.95rem,1.6vw,1.05rem);font-weight:600;gap:.5rem;justify-content:center;min-width:220px;padding:1rem 2rem;text-decoration:none;transition:all .25s ease;white-space:nowrap}
.vm-button:hover{border-color:rgba(59,130,246,.6);box-shadow:0 8px 30px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.12);transform:translateY(-2px)}
.vm-button:active{transform:translateY(0)}

/* === BUTTON SECONDARY: Glass Morphism Fioletowy === */
.vm-button-secondary{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.4);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.vm-button-secondary:hover{border-color:rgba(139,92,246,.6);box-shadow:0 8px 30px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1)}

/* === BUTTON OUTLINE: Glass Morphism Zielony === */
.vm-button-outline{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:radial-gradient(ellipse at 30% 0%,rgba(16,185,129,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(16,185,129,.4);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.vm-button-outline:hover{border-color:rgba(16,185,129,.6);box-shadow:0 8px 30px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1)}

/* === HEADINGS === */
.vm-heading-center{font-size:var(--vm-text-h2);font-weight:800;line-height:1.1;margin-bottom:var(--vm-space-md);text-align:center;text-wrap:balance}
.vm-h2-secondary{color:#fff;display:block;font-size:.7em;font-weight:600;margin-top:.25em}
.vm-h2-line{display:block}
.vm-paragraph-center{color:rgba(255,255,255,.92);font-size:var(--vm-text-body);line-height:1.75;margin:0 auto var(--vm-space-lg);max-width:800px;text-align:center}
.vm-paragraph-center--lg{font-size:var(--vm-text-lead)}
.vm-text-small-center{color:var(--vm-text-muted);margin-top:var(--vm-space-lg);text-align:center}

/* === SUMMARY === */
.vm-summary{background:radial-gradient(at 50% 0,rgba(139,92,246,.15) 0,transparent 60%),rgba(15,15,25,.92);border:1px solid rgba(139,92,246,.25);border-left:4px solid #8b5cf6;border-radius:0 1rem 1rem 0;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);max-width:1100px;margin:2rem auto;padding:1.5rem 2rem}
.vm-summary p{color:rgba(255,255,255,.92);font-size:clamp(.95rem,1.8vw,1.05rem);line-height:1.75;margin:0}

/* === PAKIETY GRID === */
.vm-pakiety-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin-top:var(--vm-space-xl);max-width:1400px;margin-left:auto;margin-right:auto}
.vm-pakiet-card{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.25);border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);padding:1.75rem 1.5rem;position:relative;text-align:center}
.vm-pakiet-badge{display:none}
.vm-pakiet-card--featured{border:2px solid rgba(251,191,36,.6);box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);position:relative}
.vm-pakiet-card--featured::before{content:"⭐ Najczęściej wybierany";display:block;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 50%,#d97706 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:.75rem;text-align:center;text-transform:uppercase}
.vm-pakiet-card--featured .vm-pakiet-label{margin-top:0}
.vm-pakiet-label{color:var(--vm-text-muted);font-size:clamp(.875rem,1.5vw,1rem);font-weight:600;letter-spacing:.15em;margin-bottom:var(--vm-space-sm);text-transform:uppercase}
.vm-pakiet-card h3{font-size:clamp(1.5rem,3vw,1.75rem);font-weight:700;margin-bottom:var(--vm-space-sm)}
.vm-pakiet-price{display:block;font-size:clamp(1.1rem,2vw,1.25rem);color:#a78bfa;margin-bottom:.75rem}
.vm-pakiet-desc{color:rgba(255,255,255,.92);font-size:clamp(.9rem,1.6vw,1rem);font-weight:400;line-height:1.7;margin-bottom:1rem}
.vm-pakiet-card ul{list-style:none;margin-bottom:1.25rem;padding:0;text-align:left}
.vm-pakiet-card li{color:rgba(255,255,255,.88);font-size:clamp(.85rem,1.5vw,.925rem);font-weight:400;line-height:1.65;margin-bottom:.5rem;padding-left:1.75rem;position:relative}
.vm-pakiet-card li:before{color:var(--vm-success);content:"\2713";font-weight:700;left:0;position:absolute}
.vm-pakiet-card .vm-button,.vm-pakiet-card .vm-button-secondary{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;display:inline-block;font-size:clamp(.8rem,1.4vw,.95rem);font-weight:600;max-width:100%;padding:.875rem 1.25rem;text-align:center;transition:all .25s ease;white-space:normal;word-wrap:break-word;width:auto}
.vm-pakiet-card .vm-button-secondary{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.4);box-shadow:0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);color:#e2e8f0}
.vm-pakiet-card .vm-button-secondary:hover{border-color:rgba(139,92,246,.6);box-shadow:0 6px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);transform:translateY(-2px)}

/* === PAKIET FEATURED — Złoty hover === */
.vm-pakiet-card--featured .vm-button{background:rgba(15,15,25,.85);border:2px solid rgba(139,92,246,.3);box-shadow:0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.vm-pakiet-card--featured .vm-button:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#0f0f19;-webkit-text-fill-color:#0f0f19;border:2px solid transparent;box-shadow:0 4px 20px rgba(0,0,0,.4)}

/* === DETAIL SECTION (Co obejmuje pakiet) === */
.vm-detail-section{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.25);border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);padding:2rem;margin-bottom:1.5rem;position:relative}
.vm-detail-section:last-child{margin-bottom:0}
.vm-detail-section h3{margin-top:0;margin-bottom:var(--vm-space-md);background:var(--vm-gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}
.vm-detail-section ul{list-style:none;padding:0;margin:0 0 1rem}
.vm-detail-section ul li{position:relative;padding:.6rem 0 .6rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.08);color:rgba(255,255,255,.92)}
.vm-detail-section ul li::before{content:'✓';position:absolute;left:0;color:#10b981;font-weight:700}
.vm-detail-section ul li:last-child{border-bottom:none}
.vm-detail-badge{position:absolute;top:-10px;left:1.5rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;padding:.35rem 1rem;border-radius:var(--vm-radius-pill);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}

/* === SZCZEGÓŁY COMFORT — Złote obramowanie === */
#szczegoly-comfort{border:2px solid rgba(251,191,36,.5);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
#szczegoly-comfort .vm-detail-badge{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%)}

/* === RULES LIST (Jak liczymy dzieci) === */
.vm-rules-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--vm-space-md);background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.12) 0%,transparent 50%),rgba(15,15,25,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;padding:1.5rem}
.vm-rule-item{display:flex;align-items:flex-start;gap:1rem;padding:var(--vm-space-md);background:transparent;border-radius:var(--vm-radius-md)}
.vm-rule-icon{flex-shrink:0;font-size:1.75rem;line-height:1;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,.15);border-radius:.75rem;box-shadow:none}
.vm-rule-content strong{display:block;margin-bottom:.25rem;font-size:1rem;color:var(--vm-text-primary)}
.vm-rule-content p{margin:0;font-size:.9rem;color:var(--vm-text-muted);line-height:1.6}

/* Wyśrodkowanie ostatniego nieparzystego elementu w gridzie 2-kolumnowym */
.vm-rule-item:last-child:nth-child(odd){grid-column:1 / -1;max-width:50%;justify-self:center}

/* === FAQ === */
.vm-faq-section{margin:var(--vm-space-xl) auto 0;max-width:1100px}
.vm-faq-item{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.12) 0%,transparent 50%),rgba(15,15,25,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.2);border-radius:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);margin-bottom:var(--vm-space-md,1.5rem);overflow:hidden;position:relative;transition:all .24s cubic-bezier(.4,0,.2,1)}
.vm-faq-item:hover{border-color:rgba(139,92,246,.5);box-shadow:0 0 20px rgba(139,92,246,.15)}
.vm-faq-item[open]{box-shadow:0 0 25px rgba(139,92,246,.2),0 0 50px rgba(59,130,246,.1),0 10px 30px rgba(0,0,0,.3);border-color:rgba(139,92,246,.35)}
details.vm-faq-item::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#3b82f6 15%,#8b5cf6 50%,#ec4899 85%,transparent 100%);border-radius:1rem 1rem 0 0;opacity:.6;transition:opacity .3s ease;z-index:1}
details.vm-faq-item:hover::before,details.vm-faq-item[open]::before{opacity:1}
.vm-faq-item summary{background:transparent;font-size:clamp(1rem,2vw,1.1rem);font-weight:600;padding:1.25rem 1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;transition:opacity .2s ease}
.vm-faq-item summary span{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.vm-faq-item:hover summary{opacity:.9}
.vm-faq-item summary::-webkit-details-marker{display:none}
.vm-faq-item summary:focus-visible{outline:3px solid var(--vm-primary-light);outline-offset:2px}
.vm-faq-item summary svg{flex-shrink:0;width:1.25rem;height:1.25rem;stroke:#8b5cf6;stroke-width:2.5;fill:none;transition:transform .3s ease}
.vm-faq-item[open] summary svg{transform:rotate(180deg)}
.vm-faq-answer{padding:0 1.5rem 1.25rem;border-top:1px solid rgba(139,92,246,.15)}
.vm-faq-answer p{color:rgba(255,255,255,.88);font-size:clamp(.9rem,1.6vw,1rem);line-height:1.75;margin:0 0 .75rem}
.vm-faq-answer p:last-child{margin-bottom:0}
.vm-faq-answer strong{color:#fff;font-weight:600}
.vm-faq-answer .vm-free{color:#10b981;font-weight:700}
.vm-faq-answer .vm-text-link{color:#60a5fa;font-weight:600;text-decoration:none;transition:color .2s ease}
.vm-faq-answer .vm-text-link:hover{color:#93c5fd}
.vm-hl-green{color:#10b981;font-weight:600}
.vm-hl-gold{color:#fbbf24;font-weight:600}
.vm-hl-blue{color:#3b82f6;font-weight:600}
.vm-hl-purple{color:#a78bfa;font-weight:600}

/* === FINAL CTA === */
.vm-final-cta-heading{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin-bottom:var(--vm-space-sm)}
.vm-final-cta-text{color:rgba(255,255,255,.92);font-size:var(--vm-text-lead);line-height:1.75;margin:0 auto var(--vm-space-lg);max-width:700px}

/* === KEY INSIGHT === */
.key-insight{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.25);border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;margin:2rem auto;padding:1.75rem 2rem;max-width:1100px}
.key-insight--success{background:radial-gradient(ellipse at 30% 0%,rgba(16,185,129,.2) 0%,transparent 50%),rgba(15,15,25,.85);border-color:rgba(16,185,129,.3);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.key-insight--warning{background:radial-gradient(ellipse at 30% 0%,rgba(245,158,11,.2) 0%,transparent 50%),rgba(15,15,25,.85);border-color:rgba(245,158,11,.3);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.key-insight__icon{font-size:2.5rem;line-height:1;flex-shrink:0}
.key-insight__content{max-width:800px;flex:1}
.key-insight__title{font-size:clamp(1rem,2vw,1.2rem);font-weight:700;margin-bottom:.75rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.key-insight__text{font-size:clamp(.9rem,1.6vw,1rem);line-height:1.75;color:rgba(255,255,255,.92)}
.key-insight__text mark{background:transparent;border-radius:.25rem;color:#10b981;font-weight:600;padding:.1em .4em}

/* === TABLES === */
.vm-table-wrapper{margin:1.5rem 0;overflow-x:auto;background:transparent}
.vm-table-compact{max-width:900px;margin:2rem auto;background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.vm-packages-table{width:100%;border-collapse:separate;border-spacing:0;background:transparent;border-radius:calc(1rem - 2px)}
.vm-packages-table thead{background:rgba(139,92,246,.1)}
.vm-packages-table th{padding:1rem 1.25rem;text-align:center;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#a78bfa;border-bottom:1px solid rgba(139,92,246,.3)}
.vm-packages-table th:nth-child(2),.vm-packages-table th:nth-child(3),.vm-packages-table th:nth-child(4){background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.vm-packages-table th:first-child{text-align:left}
.vm-packages-table tbody tr{border-bottom:1px solid rgba(255,255,255,.08);transition:background .2s ease}
.vm-packages-table tbody tr:hover{background:rgba(59,130,246,.06)}
.vm-packages-table tbody tr:last-child{border-bottom:none}
.vm-packages-table tbody th[scope="row"]{padding:1rem 1.25rem;text-align:left;font-size:.95rem;font-weight:500;letter-spacing:normal;text-transform:none;color:#f9fafb;vertical-align:middle;border-bottom:1px solid rgba(139,92,246,.12)}
.vm-packages-table td{padding:1rem 1.25rem;text-align:center;font-size:.95rem;color:rgba(249,250,251,.85);vertical-align:middle}
.vm-packages-table td[data-price],.vm-packages-table td data[data-vm-fact-type="price"],.vm-packages-table td data[data-vm-fact-type="drive-time"],.vm-packages-table td data[data-vm-fact-type="distance"],.vm-packages-table td data[data-vm-fact-type="guest-min"],.vm-packages-table td data[data-vm-fact-type="guest-max"]{font-weight:600;color:#60a5fa}
.vm-packages-table tbody th[scope="row"] data{font-weight:inherit}
.vm-packages-table tfoot td{padding:1.5rem 1.75rem;text-align:center;font-size:clamp(.9rem,1.8vw,1rem);font-weight:500;line-height:1.7;color:rgba(249,250,251,.9);background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:none;border-radius:0 0 calc(1rem - 2px) calc(1rem - 2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);position:relative}
.vm-packages-table tfoot td::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:3px;background:linear-gradient(90deg,transparent,#10b981,#3b82f6,transparent);border-radius:0 0 2px 2px}
.vm-table-footer .is-free,.is-free{color:#22c55e;font-weight:700}

/* === BREADCRUMB === */
.breadcrumb{background:transparent;font-size:clamp(.75rem,1.1vw,.85rem);padding:clamp(.5rem,1vw,.75rem) 0}
.breadcrumb__list{flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 auto;max-width:1400px;padding:0 clamp(1rem,3vw,2rem)}
.breadcrumb__item,.breadcrumb__list{align-items:center;display:flex}
.breadcrumb__item:not(:last-child):after{color:rgba(148,163,184,.5);content:"›";margin-left:.5rem}
.breadcrumb__link{color:#94a3b8;text-decoration:none}
.breadcrumb__link--active{color:#a78bfa;font-weight:500}

/* === LINKS SECTION === */
.vm-links-section{padding:3rem 1.5rem}
.vm-links-section h2{margin-bottom:2.5rem;text-align:center}
.vm-links-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:1400px}
.vm-link-card{background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.25);border-radius:1rem;box-shadow:none;padding:1.5rem 1.25rem;text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.vm-link-card:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.5);box-shadow:0 8px 25px rgba(139,92,246,.2),0 0 15px rgba(139,92,246,.1)}
@media(min-width:641px){.vm-links-grid>.vm-link-card:last-child:nth-child(3n+1){grid-column:2}}
.vm-link-card[aria-current="page"]{border-color:rgba(16,185,129,.4);box-shadow:none}
.vm-link-icon{font-size:2.25rem;margin-bottom:.75rem;filter:drop-shadow(0 0 10px rgba(139,92,246,.4))}
.vm-link-title{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-size:clamp(1rem,1.8vw,1.125rem);font-weight:700;line-height:1.3;margin-bottom:.5rem}
.vm-link-desc{color:rgba(255,255,255,.8);font-size:clamp(.8rem,1.4vw,.9rem);line-height:1.5}

/* === FOOTER === */
.vm-footer{background:linear-gradient(180deg,rgba(8,11,20,.95),#080b14);border-top:1px solid rgba(139,92,246,.2);margin-top:var(--vm-space-xl);padding:var(--vm-space-xl) 0 var(--vm-space-lg);position:relative}
/* html prefix (0,1,1) beats L2's .vm-footer-shell (0,1,0) — blocks 1200px/lg-padding override */
html .vm-footer-shell{margin:0 auto;max-width:1120px;padding:0 var(--vm-space-sm);text-align:center}
.vm-footer-brand{border-bottom:1px solid rgba(148,163,184,.15);margin-bottom:var(--vm-space-lg);padding-bottom:var(--vm-space-lg)}
.vm-footer-brand h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;margin-bottom:.75rem}
.vm-footer h2 .vm-gradient-text{background:linear-gradient(90deg,#60a5fa,#3b82f6 25%,#8b5cf6 50%,#a855f7 75%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:700}
.vm-footer .vm-gradient-text{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.vm-footer h3.vm-gradient-text{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.vm-footer h2 .vm-text-white{color:#fff;-webkit-text-fill-color:#fff;font-weight:700}
.vm-footer-tagline{color:rgba(249,250,251,.85);font-size:1rem;line-height:1.6;margin:0 auto;max-width:700px}
html .vm-footer-nav{border-bottom:1px solid rgba(148,163,184,.15);display:flex;flex-wrap:wrap;gap:1rem 1.75rem;justify-content:center;margin-bottom:var(--vm-space-lg);padding-bottom:var(--vm-space-lg)}
/* PATCH-C: MISSING_CSS — vm-footer-contact address: brak reguły CSS powodował ucięcie NIP od dołu.
   font-style:normal nadpisuje browser default italic; padding-bottom zapobiega collapse ostatniego <p> */
.vm-footer-contact address{display:block;font-style:normal;padding-bottom:.25rem}
.vm-footer-contact address p{color:rgba(249,250,251,.8);font-size:.95rem;line-height:1.7;margin:.5rem 0}
html .vm-footer-nav a{align-items:center;color:#94a3b8;display:flex;font-size:1rem;font-weight:600;min-height:48px;padding:.625rem .75rem;text-decoration:none;transition:color .2s ease;width:100%}
html .vm-footer-nav a[href*="partner-honorowy"]{color:#fbbf24}
/* Footer Nav Grid (6-col) — html prefix (0,1,1) beats L2's (0,1,0)
   Desktop: 1fr columns grow proportionally, tight gaps → no text wrapping */
html .vm-footer-nav-grid{border-bottom:1px solid rgba(148,163,184,.15);display:grid;gap:var(--vm-space-sm) 1.5rem;grid-template-columns:repeat(6,minmax(100px,145px));justify-content:center;margin:0 auto var(--vm-space-lg);max-width:none;padding-bottom:var(--vm-space-lg);text-align:left}
.vm-footer-nav-column h4{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:.9rem;font-weight:700;letter-spacing:.05em;margin:0 0 .875rem;text-transform:uppercase;-webkit-text-fill-color:transparent}
.vm-footer-nav-column ul{list-style:none;margin:0;padding:0}
.vm-footer-nav-column li{margin-bottom:0}
/* WCAG 2.5.8 C42: display:flex (NOT inline-flex) → <a> fills entire <li> = full-width touch target
   min-height:48px + padding → ≥48×48 CSS px. width:100% = safety net
   html prefix (0,1,2) beats L2's .vm-footer-nav-column a (0,1,1) */
html .vm-footer-nav-column a{align-items:center;color:#94a3b8;display:flex;font-size:.875rem;line-height:1.5;min-height:48px;padding:.625rem .5rem;text-decoration:none;transition:color var(--vm-duration-fast) var(--vm-ease-standard);width:100%}
html .vm-footer-nav-column a:hover{color:#f9fafb}
html .vm-footer-nav-column a[aria-current=page]{color:#fbbf24;font-weight:600}
.vm-footer-nav-column--center{text-align:center}
.vm-footer-nav-award{color:#f59e0b;font-weight:600}
.vm-footer-contact-grid{border-bottom:1px solid rgba(148,163,184,.15);display:grid;gap:var(--vm-space-xl);grid-template-columns:1fr 1fr;margin-bottom:var(--vm-space-lg);padding-bottom:var(--vm-space-lg);text-align:left}
.vm-footer-contact-info h3,.vm-footer-social h3{font-size:1.4rem;margin-bottom:1.25rem}
.vm-footer-social h3{text-align:center}
.vm-footer-contact-info p{color:rgba(249,250,251,.8);font-size:.95rem;line-height:1.7;margin:.65rem 0}
.vm-footer-contact-info strong{color:#94a3b8;font-weight:600}
.vm-footer-contact-info a{color:#60a5fa;text-decoration:none}
.vm-footer-social-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(4,1fr)}
.vm-footer-social-link{align-items:center;border-radius:var(--vm-radius-md);display:flex;flex-direction:column;gap:.5rem;min-height:90px;padding:1rem .75rem;text-decoration:none}
.vm-footer-social-icon{font-size:2rem}
.vm-footer-social-label{color:#94a3b8;font-size:.75rem;text-align:center}
.vm-footer-maps{border-bottom:1px solid rgba(148,163,184,.15);margin-bottom:var(--vm-space-lg);padding-bottom:var(--vm-space-lg)}
.vm-footer-maps h3{font-size:1.4rem;margin-bottom:1.25rem}
.vm-footer-maps-links{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center}
.vm-footer-map-link{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:radial-gradient(ellipse at 30% 0%,rgba(59,130,246,.12) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(59,130,246,.35);border-radius:var(--vm-radius-pill);box-shadow:0 0 20px rgba(59,130,246,.15),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);color:#e2e8f0;display:inline-flex;font-size:.95rem;font-weight:600;gap:.6rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .25s ease}
.vm-footer-map-link:hover{border-color:rgba(59,130,246,.5);box-shadow:0 0 30px rgba(59,130,246,.25),0 6px 20px rgba(0,0,0,.4);color:#fff;transform:translateY(-2px)}
.vm-footer-legal{padding-top:var(--vm-space-sm);text-align:center}
.vm-footer-copyright{color:#94a3b8;font-size:.9rem;margin-bottom:.75rem}
.vm-footer-keywords{color:rgba(148,163,184,.8);font-size:.8rem}
.vm-footer-manager{border-top:1px solid rgba(139,92,246,.2);margin-top:var(--vm-space-xl);padding-top:var(--vm-space-lg)}
.vm-manager-card{background:#000;border:1px solid rgba(139,92,246,.3);border-radius:1.5rem;margin:0 auto;max-width:800px;padding:clamp(1.5rem,4vw,2.5rem);position:relative;text-align:center}
.vm-manager-card:before{background:conic-gradient(from 180deg,#3b82f6,#8b5cf6,#a855f7,#3b82f6);border-radius:inherit;content:"";filter:blur(8px);inset:-2px;opacity:.5;position:absolute;z-index:-1}
.vm-manager-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#f59e0b 15%,#fbbf24 35%,#8b5cf6 60%,#ec4899 85%,transparent 100%);border-radius:1.5rem 1.5rem 0 0;z-index:1}
.vm-manager-card__title{background:linear-gradient(135deg,#f59e0b,#fbbf24,#f59e0b);-webkit-background-clip:text;font-size:clamp(1.6rem,3vw,2.2rem);font-style:italic;font-weight:700;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}
.vm-manager-card__role{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:1px solid rgba(139,92,246,.2);margin:0 0 1.5rem;padding-bottom:1rem}
.vm-manager-card__desc{color:rgba(249,250,251,.9);font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.7;margin:0 0 1rem}
.vm-manager-card__desc cite{color:rgba(249,250,251,.95);font-style:italic}
.vm-manager-card__doi{color:#c4b5fd;text-decoration:underline;text-decoration-color:rgba(196,181,253,.4);text-underline-offset:2px}
.vm-manager-card__links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
.vm-manager-card__orcid,.vm-manager-card__wikidata{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.4);border-radius:2rem;box-shadow:0 0 20px rgba(139,92,246,.2),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);color:rgba(249,250,251,.9);display:inline-flex;font-size:.9rem;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;transition:all .25s ease}
.vm-manager-card__orcid:hover,.vm-manager-card__wikidata:hover{border-color:rgba(139,92,246,.6);box-shadow:0 0 30px rgba(139,92,246,.3),0 6px 20px rgba(0,0,0,.4);transform:translateY(-2px)}
.vm-manager-card__linkedin{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:radial-gradient(ellipse at 30% 0%,rgba(16,185,129,.15) 0%,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(16,185,129,.4);border-radius:2rem;box-shadow:0 0 20px rgba(16,185,129,.2),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.5rem;text-decoration:none;transition:all .25s ease}
.vm-manager-card__linkedin:hover{border-color:rgba(16,185,129,.6);box-shadow:0 0 30px rgba(16,185,129,.3),0 6px 20px rgba(0,0,0,.4);transform:translateY(-2px)}

/* === EMOJI FIX === */
.vm-emoji{-webkit-background-clip:unset;-webkit-text-fill-color:initial;background-clip:unset;background-image:none;background:none;color:initial;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-style:normal;margin-right:.3em}
.vm-gradient-text .vm-emoji,.vm-gradient-text>.vm-emoji,h1 .vm-emoji,h2 .vm-emoji,h3 .vm-emoji,h4 .vm-emoji{-webkit-background-clip:unset;-webkit-text-fill-color:initial;background-clip:unset;background-image:none;background:none;color:initial}

/* === CONTENT VISIBILITY === */
/* PERF: skip rendering for below-fold sections without interactive targets */
.vm-section:not(.vm-hero):not(.vm-links-section){contain-intrinsic-size:auto 800px;content-visibility:auto}
/* WCAG 2.5.8: links section MUST render for touch target audit — no content-visibility:auto */
/* html prefix: (0,3,0) beats L2's .vm-section:not(.vm-hero) (0,2,0) → forces visible */
html .vm-section.vm-links-section{content-visibility:visible}
/* SF-20: FAQ section — force visible (content-visibility:auto powoduje puste 800px do scroll)
   Spec (0,2,1) html .vm-section#faq-cenowe > (0,2,0) .vm-section:not(...) */
html .vm-section#faq-cenowe{content-visibility:visible;contain-intrinsic-size:none}
/* SF-21: MOBILE_DOUBLE_GLASS — @media(≤640px) .vm-section dostaje backdrop-filter:blur(6px)+contain:layout style paint
   Inner .vm-faq-item blur bluruje layer rodzica zamiast tło strony → glass niewidoczna na mobile */
@media(max-width:640px){html .vm-section#faq-cenowe{backdrop-filter:none;-webkit-backdrop-filter:none;contain:none}}

/* === REDUCED MOTION === */
@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}

@media (max-width:1023px){
  .vm-links-grid{gap:var(--vm-space-sm);grid-template-columns:repeat(2,1fr)}
  .vm-pakiety-grid{gap:1.5rem;grid-template-columns:1fr}
  .vm-rules-list{grid-template-columns:1fr}
  .vm-hero,.vm-section{margin-left:1rem;margin-right:1rem}
  html .vm-footer-nav-grid{gap:var(--vm-space-sm) var(--vm-space-md);grid-template-columns:repeat(3,minmax(120px,1fr));max-width:600px}
}

@media (max-width:768px){
  .vm-rules-list{grid-template-columns:1fr;padding:1rem}
  .vm-pakiety-grid{grid-template-columns:1fr}
}

@media (max-width:640px){
  .vm-section{padding:1.5rem 1rem}
  .vm-hero,.vm-section{border-radius:var(--vm-radius-lg);margin:1.5rem .25rem}
  .vm-hero,.vm-section.vm-hero{padding:2rem 1.25rem;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none}
  .vm-hero-inner{padding:1.25rem .5rem;border-radius:1rem;background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.92);border:1px solid rgba(139,92,246,.25);width:100%}
  .vm-links-grid{grid-template-columns:1fr;gap:1.25rem}
  .vm-link-card{padding:var(--vm-space-md)}
  .vm-link-icon{font-size:1.75rem}
  .breadcrumb{display:none}
  /* WCAG 2.5.8: footer nav grid mobile — html prefix beats L2's @640px rules */
  html .vm-footer-nav-grid{gap:var(--vm-space-md);grid-template-columns:repeat(2,1fr);max-width:100%}
  html .vm-footer-nav-column a{display:flex;min-height:48px;padding:.625rem .5rem;font-size:.8rem;width:100%}
  html .vm-footer-nav a{align-items:center;display:flex;font-size:.85rem;min-height:52px;padding:.75rem 1rem;transition:none;width:100%}
  .vm-footer-contact-grid{grid-template-columns:1fr;text-align:center}
  .vm-footer-contact-info h3,.vm-footer-social h3{font-size:1.2rem}
  .vm-footer-social-grid{gap:1rem;grid-template-columns:repeat(3,1fr)}
  .vm-footer-social-link{min-height:80px;padding:.75rem .5rem}
  .vm-footer-social-icon{font-size:1.6rem}
  .vm-footer-social-label{font-size:.7rem}
  .vm-footer-maps-links{flex-direction:column}
  .vm-footer-map-link{justify-content:center;width:100%}
  .vm-footer-copyright{font-size:.8rem}
  .vm-footer-keywords{font-size:.75rem}
  .vm-heading-center{font-size:clamp(1.5rem,6vw,1.875rem);line-height:1.2}
  .vm-paragraph-center--lg{font-size:clamp(1rem,4vw,1.125rem);line-height:1.6}
  .vm-paragraph-center{font-size:.9375rem;line-height:1.6}
  .vm-pakiet-card{padding:1.5rem 1.25rem;border-radius:.75rem}
  .vm-pakiet-card h3{font-size:clamp(1.375rem,5vw,1.625rem)}
  .vm-pakiet-desc{font-size:.9rem;font-weight:400}
  .vm-pakiet-card li{font-size:.875rem;font-weight:400}
  .vm-pakiet-card .vm-button,.vm-pakiet-card .vm-button-secondary{padding:.75rem 1rem;font-size:.8rem;white-space:normal;word-wrap:break-word;min-width:unset;width:100%;max-width:280px}
  .vm-detail-section{padding:1.5rem 1rem;border-radius:.75rem}
  .vm-detail-badge{font-size:.65rem;left:1rem;padding:.25rem .75rem}
  .vm-rules-list{border-radius:1rem;padding:1rem}
  .vm-rule-item{flex-direction:column;gap:.75rem;padding:1rem;text-align:center}
  .vm-rule-icon{font-size:1.25rem;height:2.5rem;margin:0 auto;width:2.5rem}
  .vm-rule-content{text-align:center}
  .vm-rule-item:last-child:nth-child(odd){max-width:100%}
  .vm-text-small-center{font-size:.875rem;line-height:1.5;border-radius:.75rem;padding:.875rem 1rem}
  .vm-hero h1{font-size:clamp(1.75rem,7vw,2.25rem)}
  .vm-hero h1 .vm-h1-secondary{font-size:.85em}
  .vm-hero-intro{font-size:clamp(1rem,4vw,1.125rem)}
  .vm-usp-list{padding:1rem 1.25rem;margin:1.5rem .75rem;border-radius:.75rem}
  .vm-usp-list li{font-size:.9rem;padding:.6rem 0}
  .vm-summary{margin:1.5rem .75rem;padding:1.25rem 1rem;border-radius:0 .75rem .75rem 0}
  .key-insight{margin:1.5rem .75rem;padding:1.25rem 1rem;border-radius:.75rem;flex-direction:column;text-align:center}
  .key-insight__icon{font-size:2rem}
  .key-insight__title{font-size:clamp(.9375rem,4vw,1.0625rem)}
  .key-insight__text{font-size:.875rem;line-height:1.55}
  .vm-final-cta-heading{font-size:clamp(1.5rem,6vw,1.875rem)}
  .vm-final-cta-text{font-size:clamp(1rem,4vw,1.125rem)}
  .vm-manager-card{padding:1.5rem 1rem}
  .vm-manager-card__links{align-items:center;flex-direction:column}
  .vm-manager-card__linkedin,.vm-manager-card__orcid,.vm-manager-card__wikidata{justify-content:center;max-width:280px;width:100%}
  .vm-faq-item{border-radius:.75rem;margin-bottom:.5rem}
  .vm-faq-item summary{font-size:.95rem;padding:1rem 1.25rem}
  .vm-faq-item summary svg{width:1rem;height:1rem}
  .vm-faq-answer{padding:0 1.25rem 1rem}
  .vm-faq-answer p{font-size:.875rem}
  .vm-link-card{padding:1.25rem 1rem;border-radius:.75rem}
  .vm-link-icon{font-size:1.75rem}
  .vm-link-title{font-size:1rem}
  .vm-link-desc{font-size:.8rem}

  /* TABLE MOBILE STACKED */
  .vm-table-compact{margin:1.5rem 1rem;max-width:calc(100% - 2rem)}
  .vm-packages-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .vm-packages-table tbody tr{display:block;margin-bottom:1rem;padding:1rem;border-radius:.75rem;background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 15px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05)}
  .vm-packages-table tbody tr:last-child{margin-bottom:0}
  .vm-packages-table tbody th[scope="row"],.vm-packages-table td{display:block;padding:.5rem 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}
  .vm-packages-table tbody tr > *:last-child{border-bottom:none}
  .vm-packages-table tbody th[scope="row"]::before,.vm-packages-table td::before{content:attr(data-label);display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#a78bfa;margin-bottom:.25rem}
    .vm-packages-table td[data-label="Standard"]::before,.vm-packages-table td[data-label="Comfort"]::before,.vm-packages-table td[data-label="Prestige"]::before{background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:700}
    .vm-packages-table td[data-label="Standard"],.vm-packages-table td[data-label="Comfort"],.vm-packages-table td[data-label="Prestige"],.vm-packages-table tbody th[scope="row"]{color:#f9fafb;font-weight:600}
    .vm-packages-table tfoot tr{display:block;padding:0;margin-top:1rem}
    .vm-packages-table tfoot td{display:block;text-align:center;padding:1.25rem 1rem;border-radius:.75rem;background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 15px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05)}
      .vm-packages-table tfoot td::before{width:80%}
}

@media (max-width:480px){
  .vm-pakiety-grid{gap:1.25rem}
}

/* === FOOTER H3 GRADIENT FIX === */
.vm-footer-contact-info h3.vm-gradient-text,
.vm-footer-social h3.vm-gradient-text,
.vm-footer-maps h3.vm-gradient-text{
  background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}

.vm-cc-row:hover { will-change: background-color; } .vm-cc-row:not(:hover) { will-change: auto; }

.vm-cc-container { transform: translateZ(0); }

/* SECTION 3: ADDITIONAL COMPONENTS (L2) */
.vm-crosslink-box p{
  color: var(--vm-text-secondary);
  font-size: .95rem;
  line-height: 1.8;
  margin: 0;
  text-align: center;
}.vm-crosslink-box a{
  color: #93c5fd;
  font-weight: 600;
  text-underline-offset: 3px;
}.vm-crosslink-box a:hover{
  color: #bfdbfe;
}/* === GALLERY IMAGES === */
.vm-gallery-item{
  border-radius: var(--vm-radius-lg, 1.75rem);
  margin: 2rem auto;
  max-width: 1100px;
  overflow: hidden;
  position: relative;
}.vm-gallery-item img{
  display: block;
  height: auto;
  width: 100%;
}.vm-gallery-item--featured{
  box-shadow: 0 18px 45px rgba(15, 23, 42, .9),
              inset 0 0 0 1px rgba(148, 163, 184, .2);
}.vm-gallery-item--featured::before{
  background: conic-gradient(from 180deg, #3b82f6 0deg, #8b5cf6 120deg, #a855f7 240deg, #3b82f6 360deg);
  border-radius: inherit;
  content: "";
  inset: -2px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 2px;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}/* Hero intro subtitle */
.vm-hero-intro{
  color: var(--vm-text-secondary);
  font-size: 1.1rem;
  line-height: 1.7;
  margin-top: .5rem;
}.vm-hero-intro a{
  color: #60a5fa;
  text-decoration: underline;
  text-decoration-color: rgba(96,165,250,.35);
  text-underline-offset: 2px;
}.vm-hero-intro a:hover{
  color:#93c5fd;
  text-decoration-color: #93c5fd;
}.vm-ssot-story p{
  margin-bottom: var(--vm-space-md);
}.vm-section-intro a{
  color: #60a5fa;
  text-decoration: underline;
  text-decoration-color: rgba(96,165,250,.35);
  text-underline-offset: 2px;
}.vm-section-intro a:hover{
  color:#93c5fd;
  text-decoration-color:#93c5fd;
}.vm-article-card h3{
  margin: .5rem 0 .4rem;
}.vm-article-card h3 a{
  color: var(--vm-text-primary);
  text-decoration: none;
}.vm-article-card h3 a:hover{
  text-decoration: underline;
  text-decoration-color: rgba(139,92,246,.4);
}.vm-article-card p{
  color: var(--vm-text-secondary);
  font-size: .95rem;
  line-height: 1.6;
  margin: 0;
}.vm-media-card h3{
  margin: .5rem 0 .4rem;
}.vm-media-card h3 a{
  color: var(--vm-text-primary);
  text-decoration: none;
}.vm-media-card h3 a:hover{
  text-decoration: underline;
  text-decoration-color: rgba(139,92,246,.4);
}.vm-media-card time{
  font-size: .8rem;
  color: var(--vm-text-muted);
}/* is-free highlight */
.is-free{
  color: #10b981 !important;
  font-weight: 700;
  text-shadow: 0 0 15px rgba(16,185,129,.3);
}
.is-na{
  color: var(--vm-text-muted, rgba(148,163,184,.6));
  font-style: italic;
  opacity: 0.6;
}.vm-related-grid > *{
  flex: 0 0 calc(20% - 0.8rem);
  min-width: 160px;
  max-width: 200px;
}/* FAQ section & wrapper */
.vm-faq-section{
  /* section modifier — no extra styles needed beyond .vm-section */
}/* Footer grid */
.vm-footer-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--vm-space-lg);
}.vm-footer-award{
  font-size: .9rem;
  color: #fbbf24;
  font-weight: 600;
  margin-top: .5rem;
}/* Privacy policy link */
.vm-pp-link{
  color: var(--vm-text-muted);
  text-decoration: underline;
  text-decoration-color: rgba(148,163,184,.3);
  text-underline-offset: 2px;
  font-size: .85rem;
}/* --- Footer Nav Grid --- */
.vm-footer-nav-grid{
  border-bottom: 1px solid rgba(148,163,184,.15);
  display: grid;
  gap: var(--vm-space-lg) var(--vm-space-xl);
  grid-template-columns: repeat(5, minmax(120px, 160px));
  justify-content: center;
  margin: 0 auto var(--vm-space-lg);
  max-width: 1000px;
  padding-bottom: var(--vm-space-lg);
  text-align: left;
}/* --- Footer Nav Column --- */
.vm-footer-nav-column h4,
.vm-footer-nav-section h4{
  background: linear-gradient(90deg, #3b82f6, #8b5cf6 50%, #ec4899);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .05em;
  margin: 0 0 .875rem;
  text-transform: uppercase;
  display: inline-block;
  -webkit-text-fill-color: transparent;
}.vm-footer-nav-column ul,
.vm-footer-nav-section ul{
  list-style: none;
  margin: 0;
  padding: 0;
}.vm-footer-nav-column li,
.vm-footer-nav-section li{
  margin-bottom: .5rem;
}.vm-footer-nav-column a,
.vm-footer-nav-section a{
  color: #94a3b8;
  font-size: .875rem;
  line-height: 1.5;
  text-decoration: none;
  transition: color var(--vm-duration-fast) var(--vm-ease-standard);
}.vm-footer-nav-column a:hover,
.vm-footer-nav-section a:hover{
  color: #f9fafb;
}.vm-footer-nav-column a[aria-current=page],
.vm-footer-nav-section a[aria-current=page]{
  color: #fbbf24;
  font-weight: 600;
}/* --- Footer Social Grid --- */
.vm-footer-social-grid{
  display: grid !important;
  gap: 1.25rem !important;
  grid-template-columns: repeat(4, 1fr) !important;
  width: 100%;
}/* Footer column center */
.vm-footer-nav-column--center{ text-align: center; }/* Golden award links */
.vm-footer-nav-award{ color: #f59e0b !important; font-weight: 600; }.vm-h2-centered + *,
.vm-section:has(.vm-h2-centered),
section:has(.vm-h2-centered){
  text-align: center;
}.entity-definition{
  display: inline;
  position: relative;
  font-weight: 700;
  color: #10b981;
  border: none;
  border-bottom: 1px dashed rgba(16,185,129,.5);
  border-left: none;
  border-radius: 0;
  cursor: help;
  white-space: normal;
  word-break: normal;
  z-index: auto;
  background: none;
  padding: 0;
  margin: 0;
  max-width: none;
  text-align: inherit;
  font-size: inherit;
  line-height: inherit;
}/* === AGENT 2: Separate glass sections inside bio === */
.vm-bio-content .vm-info-glass{
  margin-bottom: 1.5rem;
}.vm-bio-content .vm-info-glass:last-child{
  margin-bottom: 0;
}.vm-pull-quote__cite a{
  color: #8b5cf6;
}.vm-case-study-callout a{
  color: #10b981;
}/* --- Timeline --- */
.vm-timeline{
  margin-top: 2rem;
}/* Parent centering for vm-h3-centered */
.vm-timeline:has(.vm-h3-centered),
*:has(> .vm-h3-centered){
  text-align: center;
}.vm-timeline__item time{
  font-weight: 700;
  color: #8b5cf6;
  margin-right: .5rem;
}.vm-timeline__item--current time{
  color: #10b981;
}.vm-table th,
.vm-table td{
  padding: .65rem 1rem;
  border-bottom: 1px solid rgba(139,92,246,.15);
  text-align: left;
}.vm-table thead th{
  color: #8b5cf6;
  font-weight: 700;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}.vm-table a{
  color: #60a5fa;
}/* === CU-1a/1b/2: Mobile headshot, hero, table caption fixes === */
@media (max-width: 640px){
  .vm-author-headshot-figure {
    display: none;
  }

  .vm-author-hero-figure {
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    text-align: center;
  }

  .vm-author-hero-figure img,
  .vm-author-hero-picture {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
  }

  .vm-table caption {
    background: rgba(15, 15, 25, .8);
    border-bottom: 1px solid rgba(139, 92, 246, .2);
    border-radius: 1.25rem 1.25rem 0 0;
    font-size: .85rem;
    line-height: 1.4;
    max-width: 100%;
    overflow-wrap: break-word;
    padding: .75rem .5rem;
    text-align: center;
    word-break: break-word;
  }
}/* === Fix: Table caption + content clipping on mobile === */
@media (max-width: 640px){
  .vm-table {
    contain: none !important;
    overflow: visible !important;
    table-layout: auto !important;
  }

  .vm-table caption {
    display: block !important;
    font-size: .8rem !important;
    height: auto !important;
    hyphens: auto !important;
    line-height: 1.5 !important;
    max-height: none !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    padding: 1rem 1rem 1.1rem !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: break-word !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
  }

  .vm-table tbody {
    display: block !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .vm-table tbody tr {
    overflow: visible !important;
  }
}@media (max-width:900px){.main-nav{background:rgba(2,6,23,.98);border-left:1px solid rgba(148,163,184,.15);height:100vh;max-width:320px;overflow-y:auto;padding:5rem 1.5rem 2rem;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:100%;z-index:999}.nav-list{gap:.5rem;max-width:320px}.nav-item,.nav-list{align-items:center;flex-direction:column;width:100%}.nav-item{display:flex}.nav-link{border-radius:.75rem;font-size:1.1rem;justify-content:center;min-height:52px;padding:1rem 1.5rem;text-align:center;width:100%}.dropdown-menu{backdrop-filter:none;background:rgba(139,92,246,.08)!important;border:none!important;border-radius:.75rem;box-shadow:none!important;left:auto!important;margin:.5rem auto 0!important;max-height:0;max-width:320px;opacity:1;overflow:hidden;padding:0;position:static!important;transform:none!important;transition:max-height .3s ease,padding .3s ease;visibility:visible;width:100%}.has-dropdown.is-open .dropdown-menu{max-height:650px;padding:.5rem}.dropdown-menu a{align-items:center;border-radius:.5rem;display:flex;justify-content:center;min-height:52px;padding:1rem 1.25rem;text-align:center}.nav-item--cta{margin-top:1rem}.nav-item.has-dropdown .dropdown-menu,.nav-item.has-dropdown:hover .dropdown-menu{left:auto!important;margin:.5rem auto 0!important;position:static!important;transform:none!important}}@media (max-width:480px){.vm-breadcrumb{display:none}}@media (max-width:640px){.vm-faq-item{border-radius:.875rem}.vm-faq-item summary{font-size:1rem;line-height:1.4;padding:1rem 1.25rem}.vm-faq-item summary:after{flex-shrink:0;font-size:1.25rem;height:1.75rem;margin-left:.75rem;width:1.75rem}.vm-faq-answer{padding:0 1.25rem 1.25rem}.vm-faq-answer p{font-size:.95rem;line-height:1.7}}@media (min-width:641px) and (max-width:900px){.vm-faq-item summary{font-size:1.05rem;padding:1.125rem 1.375rem}}@media (min-width:901px){.vm-hero .vm-info-section{margin-left:auto;margin-right:auto;max-width:800px}.vm-hero .vm-info-section[aria-label="Data aktualizacji"]{max-width:400px}.vm-hero .vm-benefits-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin:1.5rem auto;max-width:900px}.vm-hero .vm-benefits-grid .vm-info-section{margin:0;max-width:100%}.vm-hero .vm-cta-group-glass{margin-left:auto;margin-right:auto;max-width:600px}.vm-table-wrapper{border-radius:1rem;margin-bottom:var(--vm-space-lg);margin-left:auto;margin-right:auto;max-width:1400px;overflow:visible;position:relative}.vm-table caption{background:transparent!important;border:none!important;box-shadow:none!important;color:var(--vm-text-primary)!important;font-size:1.1rem!important;font-weight:700!important;padding:1.5rem 1.25rem 1rem!important;text-align:center!important;-webkit-text-fill-color:unset!important;text-shadow:none!important}.vm-table thead{background:rgba(139,92,246,.08)!important}.vm-table th{border-bottom:1px solid rgba(139,92,246,.25)!important;color:#a78bfa!important;text-align:left!important}.vm-table td,.vm-table th{background:transparent!important;padding:1rem 1.25rem!important}.vm-table td{border-bottom:1px solid rgba(148,163,184,.1)!important}.vm-table tbody tr:last-child td{border-bottom:none!important}.vm-table tbody tr:hover{background:rgba(139,92,246,.06)!important}.vm-table tfoot td{background:rgba(16,185,129,.08)!important;border-bottom:none!important;border-top:1px solid rgba(16,185,129,.2)!important;padding:1rem 1.25rem!important;text-align:center!important}.vm-info-section{margin-left:auto;margin-right:auto;max-width:1400px}.vm-info-glass--premium{max-width:100%;width:100%}}@media (max-width:640px){.vm-facts-list li{font-size:.8rem}}@media (min-width:1024px){.vm-table thead{backdrop-filter:none;background:transparent;position:sticky;top:0;z-index:10}.vm-table td:first-child,.vm-table th:first-child{width:25%}.vm-table td:nth-child(2),.vm-table th:nth-child(2){width:18%}.vm-table td:nth-child(3),.vm-table th:nth-child(3){width:32%}.vm-table td:nth-child(4),.vm-table th:nth-child(4){width:25%}}@media (min-width:641px) and (max-width:1023px){.vm-table td,.vm-table th{font-size:.85rem;padding:1rem}}@media (max-width:640px){.vm-row-gold td:first-child:before{display:none!important}.vm-table caption{background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.9);border:1px solid rgba(139,92,246,.3);border-radius:.75rem;box-shadow:0 0 25px rgba(139,92,246,.15),inset 0 1px 0 hsla(0,0%,100%,.05);color:#f1f5f9!important;display:block;font-size:clamp(.95rem,4vw,1.1rem);font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0 auto 1.25rem;max-width:100%;padding:1rem 1.25rem;position:relative;text-align:center!important;width:calc(100% - 1rem);-webkit-text-fill-color:#f1f5f9!important;text-shadow:0 0 20px rgba(139,92,246,.5),0 0 40px rgba(59,130,246,.3)}.vm-table caption:before{display:none}.vm-table thead{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.vm-table,.vm-table tbody,.vm-table td,.vm-table tr{display:block;width:100%}.vm-table tr{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.1) 0,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(139,92,246,.2);border-radius:1rem;box-shadow:0 0 25px rgba(139,92,246,.1),inset 0 1px 0 hsla(0,0%,100%,.05);margin-bottom:1rem;padding:1.25rem}.vm-table tr:last-child{margin-bottom:0}.vm-table td{border-bottom:1px solid rgba(139,92,246,.1);padding:.75rem 0;text-align:center!important}.vm-table td:last-child{border-bottom:none;padding-bottom:0}.vm-table td:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;content:attr(data-label);display:block;font-size:.7rem;font-weight:600;letter-spacing:.1em;margin-bottom:.4rem;text-align:center!important;text-transform:uppercase;width:100%;-webkit-text-fill-color:transparent;background-clip:text}.vm-table tfoot tr{background:radial-gradient(ellipse at 30% 0,rgba(16,185,129,.1) 0,transparent 50%),rgba(15,15,25,.85);border:1px solid rgba(16,185,129,.2)}.vm-table tfoot td,.vm-table tfoot tr{text-align:center!important}.vm-table tfoot td:before{display:none}.vm-hero{padding:var(--vm-space-md)}.vm-cta-group{flex-direction:column}.vm-button{width:100%}.vm-section{margin-left:.5rem;margin-right:.5rem;padding:var(--vm-space-md)}.vm-hero-benefits{max-width:100%;padding:0 .5rem;text-align:center}.vm-hero-benefits li{font-size:.9rem;line-height:1.6;text-align:center}}@media (min-width:641px) and (max-width:1023px){.vm-footer-nav,.vm-footer-nav-grid{gap:var(--vm-space-md) var(--vm-space-lg);grid-template-columns:repeat(3,minmax(120px,150px));justify-content:center;max-width:600px}}@media (max-width:640px){.vm-footer-nav,.vm-footer-nav-grid{gap:var(--vm-space-md);grid-template-columns:repeat(2,minmax(130px,1fr));justify-content:center;margin-left:auto;margin-right:auto;max-width:320px}.vm-footer-nav-column h4,.vm-footer-nav-section h4{font-size:.85rem}.vm-footer-nav-column a,.vm-footer-nav-section a{font-size:.8rem}.vm-footer-contact{margin-bottom:var(--vm-space-md);padding-bottom:var(--vm-space-md)}}@media (min-width:641px) and (max-width:1023px){.vm-footer-contact-grid{gap:var(--vm-space-lg)}.vm-footer-social-grid{gap:1rem!important;grid-template-columns:repeat(3,1fr)!important}.vm-footer-social-link{min-height:85px;padding:.85rem .6rem}.vm-footer-social-icon{font-size:1.8rem}}@media (max-width:640px){.vm-footer{padding:var(--vm-space-lg) 0}.vm-footer-brand{margin-bottom:var(--vm-space-md);padding-bottom:var(--vm-space-md)}.vm-footer-brand h2{font-size:1.6rem}.vm-footer-tagline{font-size:.9rem}.vm-footer-contact-grid{gap:var(--vm-space-lg);grid-template-columns:1fr!important;margin-bottom:var(--vm-space-md);padding-bottom:var(--vm-space-md);text-align:center}.vm-footer-contact-info h3,.vm-footer-social h3{font-size:1.2rem}.vm-footer-social-grid{gap:1rem!important;grid-template-columns:repeat(3,1fr)!important}.vm-footer-social-link{min-height:80px;padding:.75rem .5rem}.vm-footer-social-icon{font-size:1.6rem}.vm-footer-social-label{font-size:.7rem}.vm-footer-maps{margin-bottom:var(--vm-space-md);padding-bottom:var(--vm-space-md)}.vm-footer-maps h3{font-size:1.2rem}.vm-footer-maps-links{align-items:stretch;flex-direction:column}.vm-footer-map-link{justify-content:center;width:100%}.vm-footer-copyright{font-size:.8rem}}@media (max-width:640px){.vm-manager-card{padding:1rem}.vm-manager-card__links{flex-direction:column;gap:.75rem}.vm-manager-card__linkedin,.vm-manager-card__orcid,.vm-manager-card__wikidata{justify-content:center}}@media print{body{background:#fff;color:#000}.vm-section{page-break-inside:avoid}.vm-button{display:none}}@media (min-width:1100px){.vm-links-grid{grid-template-columns:repeat(5,1fr)}}@media (min-width:641px) and (max-width:1023px){.vm-links-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.vm-links-grid{display:grid;gap:var(--vm-space-sm);grid-template-columns:1fr!important;justify-items:center;margin-left:auto;margin-right:auto;max-width:320px;width:100%}.vm-links-grid .vm-link-card:last-child,.vm-links-grid .vm-link-card:nth-last-child(2){grid-column:auto!important}.vm-link-card{max-width:320px;padding:1rem 1.25rem;text-align:center;width:100%}.vm-link-icon{display:block;margin-bottom:.5rem}.vm-link-title{display:block;font-size:.95rem}.vm-link-desc{display:block;font-size:.8rem}}@media (max-width:768px){.key-insight__text{font-size:.9375rem;line-height:1.7}}@media (max-width:640px){.vm-info-section{padding:0 .5rem}.vm-info-glass{border-radius:1.25rem;padding:1.5rem 1.25rem}.vm-info-glass__heading{font-size:1rem}.vm-info-glass__text{font-size:.9rem;line-height:1.7}}@media (min-width:901px){.vm-info-section{margin-left:auto;margin-right:auto;max-width:1400px}.vm-info-glass--premium{max-width:100%;width:100%}.vm-info-glass--premium .vm-table-wrapper{margin:1.5rem 0 0;overflow:visible}.vm-info-glass--premium .vm-table{background:transparent!important;border-radius:0!important;box-shadow:none!important}.vm-info-glass--premium .vm-table:before{display:none!important}.vm-info-glass--premium .vm-table thead{background:rgba(139,92,246,.08)!important}.vm-info-glass--premium .vm-table th{background:transparent!important;border-bottom:1px solid rgba(139,92,246,.25)!important;color:#a78bfa!important;padding:1rem 1.25rem!important}.vm-info-glass--premium .vm-table td{background:transparent!important;border-bottom:1px solid rgba(148,163,184,.1)!important;padding:1rem 1.25rem!important}.vm-info-glass--premium .vm-table tbody tr:last-child td{border-bottom:none!important}.vm-info-glass--premium .vm-table tbody tr:hover{background:rgba(139,92,246,.06)!important}.vm-info-glass--premium .vm-table .vm-row-gold{background:linear-gradient(90deg,rgba(251,191,36,.08),rgba(245,158,11,.04))!important}.vm-info-glass--premium .vm-table .vm-row-gold:hover{background:linear-gradient(90deg,rgba(251,191,36,.12),rgba(245,158,11,.08))!important}.vm-info-glass--premium .vm-table tfoot td{background:rgba(16,185,129,.06)!important;border-bottom:none!important;border-top:1px solid rgba(16,185,129,.2)!important;text-align:center!important}.vm-info-section{margin-left:auto;margin-right:auto;max-width:1400px;padding:0 var(--vm-space-sm)}.vm-info-glass--premium{max-width:100%;width:100%}}@media (max-width:640px){.vm-info-glass--premium{border-radius:.75rem!important;box-sizing:border-box!important;margin:1.5rem 0!important;max-width:100%!important;overflow-wrap:break-word!important;padding:1.75rem 1rem 1.5rem!important;width:100%!important;word-break:break-word!important}.vm-info-glass--premium .vm-info-glass__text{font-size:.9rem!important;line-height:1.8!important}.vm-cta-group{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;margin:1.25rem 0 1.5rem;padding:0 1rem}.vm-cta-group .vm-button{font-size:.9rem;line-height:1.4;max-width:90%;padding:.875rem 1.25rem;text-align:center;white-space:normal;width:auto}}@media (max-width:640px){.vm-benefits-grid .vm-info-section{margin-bottom:0!important}.vm-benefits-grid .vm-info-glass{padding:1.25rem 1rem 1rem!important}}@media (max-width:640px){.vm-info-glass__heading{font-size:clamp(1.1rem,4vw,1.3rem)!important;line-height:1.3;text-align:center!important}.vm-info-glass__text{text-align:center}}@media (min-width:901px){.vm-info-section[aria-label="Data aktualizacji"]{margin-left:auto;margin-right:auto;max-width:450px}.vm-info-section[aria-label="Oferta i ceny"],.vm-info-section[aria-label="Villa Mamma - sala na imprezy okolicznościowe"]{margin-left:auto;margin-right:auto;max-width:900px}.vm-hero .vm-info-section .vm-info-glass.vm-info-glass--narrow,.vm-info-glass.vm-info-glass--narrow,.vm-section .vm-info-section .vm-info-glass.vm-info-glass--narrow{margin-left:auto!important;margin-right:auto!important;max-width:450px!important;width:auto!important}.vm-hero .vm-info-section .vm-info-glass.vm-info-glass--medium,.vm-info-glass--premium:not(.vm-info-glass--narrow):not(.vm-info-glass--medium),.vm-info-glass.vm-info-glass--medium,.vm-section .vm-info-section .vm-info-glass.vm-info-glass--medium{margin-left:auto!important;margin-right:auto!important;max-width:900px!important;width:auto!important}}@media (prefers-reduced-motion:no-preference){@keyframes borderGlow{0%,to{box-shadow:0 2px 15px rgba(139,92,246,.4),0 4px 25px rgba(59,130,246,.3)}50%{box-shadow:0 2px 20px rgba(139,92,246,.6),0 4px 35px rgba(59,130,246,.5)}}}@media (max-width:640px){.vm-info-section .vm-info-section{background:transparent;border:none;box-shadow:none;margin:0;padding:0}.vm-info-section .vm-info-glass{border-radius:1rem;padding:1rem}.vm-table-wrapper{margin:1.5rem 0;padding:0}.vm-table thead{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.vm-table caption{background:rgba(15,15,25,.8);border-bottom:1px solid rgba(139,92,246,.2);border-radius:1.25rem 1.25rem 0 0;font-size:.95rem;padding:1rem;text-align:center}.vm-table tbody tr{background:transparent;border-bottom:1px solid rgba(139,92,246,.12);border-radius:0;display:block;margin-bottom:0;padding:1rem}.vm-table tbody tr:first-child{border-radius:0}.vm-table tbody tr:last-child{border-bottom:none;border-radius:0}.vm-table tbody tr:active{background:rgba(139,92,246,.08)}.vm-table td{background:transparent;border-bottom:1px solid rgba(139,92,246,.08);display:block;padding:.5rem 0;text-align:center}.vm-table td:last-child{border-bottom:none}.vm-table td:before{color:rgba(148,163,184,.8);content:attr(data-label);display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.vm-table tfoot td{background:rgba(15,15,25,.6);border-radius:0 0 1.25rem 1.25rem;border-top:1px solid rgba(139,92,246,.2);padding:1rem;text-align:center}.vm-table--distances tbody tr{background:rgba(59,130,246,.04)}.vm-table--distances tbody tr:nth-child(2n){background:rgba(139,92,246,.04)}}@media (max-width: 640px){.vm-crosslink-box p{
    font-size: .9rem;
    line-height: 1.7;
  }}@media (max-width: 640px){.vm-gallery-item{
    border-radius: var(--vm-radius-md, 1.25rem);
    margin: 1.5rem 0;
  }}@media (max-width:640px){html{overflow-x:hidden}body{overflow-x:clip}.vm-glass-box,.vm-section{contain:layout style paint;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}@media (max-width: 900px){.vm-related-grid > *{
    flex: 0 0 calc(33.333% - 0.8rem);
  }}@media (max-width: 640px){.vm-related-grid > *{
    flex: 0 0 100%;
    max-width: none;
    min-width: 0;
  }.vm-link-card{
    box-sizing: border-box;
    max-width: none;
    min-width: 0;
    padding: .75rem 1rem;
    width: 100%;
  }}

/* SECTION 4: CROSS-FILE FIXES & SPEC-OVERRIDES (L3) */

/* SF-12: CROSS_FILE_CASCADE — nav-list: menu pushed left
   L2 o-autorze .nav-list brak justify-content:flex-end → default flex-start.
   L2 mobile .nav-item,.nav-list { flex-direction:column } wymaga scope guard */
html body .nav-list{
  justify-content:flex-end !important;
}
@media(max-width:900px){
  html body .nav-list{
    justify-content:initial !important;
    flex-direction:column;
  }
}

/* SF-13: CROSS_FILE_CASCADE — main-nav: L2 adds display:flex (via .main-nav,.nav-list{display:flex})
   L1 does NOT set display on .main-nav — it's a block with flex:1.
   L2's display:flex makes .nav-list shrink to content-width inside flex-parent.
   Fix: force .main-nav to push child to flex-end, OR restore block display */
html body .main-nav{
  justify-content:flex-end !important;
}
@media(max-width:900px){
  html body .main-nav{
    justify-content:initial !important;
  }
}

/* SF-1: CROSS_FILE_CASCADE — vm-answer-capsule: przywrócenie premium glass
   L2 o-autorze nadpisuje flat green-gradient. Fix: html body prefix (0,1,2) + */
html body .vm-answer-capsule{
  background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border:1px solid rgba(139,92,246,.25) !important;
  border-left:1px solid rgba(139,92,246,.25) !important;
  border-radius:1rem !important;
  box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05) !important;
  position:relative;
  max-width:800px;
  padding:1.75rem 2rem;
  font-size:clamp(.95rem,2vw,1.05rem);
  line-height:1.7;
  color:var(--vm-text-secondary,rgba(249,250,251,.85));
  text-align:center;
}

/* SF-2: CROSS_FILE_CASCADE — vm-button: przywrócenie dark glass
   L2 o-autorze ustawia bright gradient-main. Fix: dark glass + higher specificity */
html body .vm-button{
  background:radial-gradient(ellipse at 30% 0%,rgba(59,130,246,.2) 0%,transparent 50%),rgba(15,15,25,.85) !important;
  background-image:none;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(59,130,246,.4) !important;
  border-radius:var(--vm-radius-pill) !important;
  box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* SF-3: SEMANTIC_COLOR_KILL — a:visited kills button text color
   L2 a:visited { color: #a78bfa } na <a class="vm-button"> */
html body a.vm-button:visited{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* SF-4: MISSING_GLASS — vm-button-green: green glass morphism
   Klasa nie istnieje w CSS → dodajemy definicję */
html body .vm-button.vm-button-green{
  background:radial-gradient(ellipse at 30% 0%,rgba(16,185,129,.2) 0%,transparent 50%),rgba(15,15,25,.85) !important;
  border-color:rgba(16,185,129,.4) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body a.vm-button.vm-button-green:visited{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* SF-5: SCOPE_LEAK — nav-item--cta: parent gradient bg → rectangular
   L1 .nav-item--cta { background: gradient } tworzy prostokąt za pill */
html body .nav-item--cta{
  background:transparent !important;
}

/* SF-NAV: CROSS_FILE_CASCADE — WordPress/master-nav CSS nadpisuje consolidated nav
   Fix: html body prefix na wszystkie nav elementy */

/* SF-NAV-1: kill bullet dots on nav-list & dropdown-menu */
html body .nav-list,
html body .dropdown-menu,
html body .nav-list ul,
html body .dropdown-menu ul{
  list-style:none !important;
  list-style-type:none !important;
  margin:0 !important;
  padding:0 !important;
}
html body .nav-list{
  display:flex !important;
  align-items:center !important;
  gap:.25rem !important;
}
html body .dropdown-menu li{
  list-style:none !important;
  margin:0 !important;
}
html body .dropdown-menu li::marker{
  content:"" !important;
  display:none !important;
}

/* SF-NAV-2: kill underlines on all nav links */
html body .nav-link,
html body .nav-link--award,
html body .nav-cta,
html body .dropdown-toggle,
html body .dropdown-menu a,
html body a.nav-link,
html body a.nav-cta,
html body a.nav-link--award{
  text-decoration:none !important;
}

/* SF-NAV-3: fix font-size — compact desktop nav */
@media(min-width:901px){
  html body .nav-link,
  html body .dropdown-toggle{
    font-size:.875rem !important;
    padding:.5rem .85rem !important;
  }
  html body .nav-link--award{
    font-size:.875rem !important;
    padding:.5rem .85rem !important;
  }
  html body .nav-cta{
    font-size:.85rem !important;
    padding:.45rem 1.1rem !important;
  }
  html body .nav-item.has-dropdown{
    position:relative !important;
  }
  html body .dropdown-menu{
    list-style:none !important;
  }
}

/* SF-NAV-4: kontakt CTA — clean pill, no underline */
html body .nav-cta{
  text-decoration:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body a.nav-cta:visited{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

/* SF-6: CROSS_FILE_CASCADE — vm-manager-card: dark premium glass morphism
   SF-6f (PATCH-E): dark glass .92 + ::before glow killed */
html body .vm-footer .vm-manager-card{
  background:radial-gradient(ellipse at 50% 0,rgba(139,92,246,.15) 0,transparent 55%),rgba(8,11,20,.92) !important;
  backdrop-filter:blur(16px) saturate(1.2) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.2) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(148,163,184,.1) !important;
  overflow:visible;
}
/* SF-6f-glow: kill ::before external conic glow */
html body .vm-footer .vm-manager-card::before{
  filter:none !important;
  opacity:0 !important;
}

/* SF-7: GRADIENT_TEXT_KILL — vm-manager-card__title: 4-atomic gradient
   Musi zawierać wszystkie 4 atomic properties */
html body .vm-footer .vm-manager-card .vm-manager-card__title{
  background:linear-gradient(135deg,#3b82f6,#8b5cf6) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  font-size:clamp(1.25rem,3vw,1.5rem);
}

/* SF-8: SEMANTIC_COLOR_KILL — vm-manager-card__role: gold #fbbf24
   PATCH-B: GRADIENT_TEXT_KILL fix — L349 -webkit-text-fill-color:transparent
   overrides color:#fbbf24 w WebKit. Muszą być ustawione wszystkie 4 właściwości atomowe. */
html body .vm-footer .vm-manager-card .vm-manager-card__role{
  color:#fbbf24 !important;
  -webkit-text-fill-color:#fbbf24 !important;
  background:none !important;
  -webkit-background-clip:unset !important;
  background-clip:unset !important;
  font-size:0.875rem;
}

/* SF-9: CROSS_FILE_CASCADE — ORCID/Wikidata/LinkedIn full glass morphism
   L2 o-autorze flat colors (green ORCID, indigo Wikidata, blue LinkedIn) kill L1 premium glass.
   Fix: full glass stack per button + a:visited override + hover glow */

/* SF-9a: ORCID — dark blue glass */
html body .vm-manager-card__orcid{
  background:radial-gradient(ellipse at 30% 0%,rgba(30,64,175,.25) 0%,transparent 50%),rgba(15,15,25,.85) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border:1px solid rgba(30,64,175,.5) !important;
  border-radius:2rem !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 0 20px rgba(30,64,175,.15),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* SF-9b: Wikidata — purple glass */
html body .vm-manager-card__wikidata{
  background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border:1px solid rgba(139,92,246,.4) !important;
  border-radius:2rem !important;
  color:rgba(249,250,251,.9) !important;
  -webkit-text-fill-color:rgba(249,250,251,.9) !important;
  box-shadow:0 0 20px rgba(139,92,246,.15),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* SF-9c: LinkedIn — green glass */
html body .vm-manager-card__linkedin{
  background:radial-gradient(ellipse at 30% 0%,rgba(16,185,129,.15) 0%,transparent 50%),rgba(15,15,25,.85) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border:1px solid rgba(16,185,129,.4) !important;
  border-radius:2rem !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 0 20px rgba(16,185,129,.15),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* SF-9d: a:visited kill na wszystkich 3 przyciskach */
html body a.vm-manager-card__orcid:visited,
html body a.vm-manager-card__wikidata:visited,
html body a.vm-manager-card__linkedin:visited{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* SF-9e: hover glow + shared transitions */
html body .vm-manager-card__orcid:hover{
  box-shadow:0 0 25px rgba(30,64,175,.3),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body .vm-manager-card__wikidata:hover{
  box-shadow:0 0 25px rgba(139,92,246,.3),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body .vm-manager-card__linkedin:hover{
  box-shadow:0 0 25px rgba(16,185,129,.3),0 4px 15px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body .vm-manager-card__linkedin,
html body .vm-manager-card__orcid,
html body .vm-manager-card__wikidata{
  transition:opacity .2s ease-out,transform .15s ease-out,box-shadow .15s ease-out !important;
}

/* SF-10: SCOPE_LEAK — vm-links-grid: force grid-column reset
   L2 .vm-link-card:last-child { grid-column:3 } psuje layout 2-card */
html body .vm-links-grid .vm-link-card:last-child,
html body .vm-links-grid .vm-link-card:nth-last-child(2){
  grid-column:auto !important;
}

/* SF-11: CROSS_FILE_CASCADE — vm-link-card text colors
   a:visited + a { color:#93c5fd } nadpisują kolory kart */
html body .vm-link-card .vm-link-title{
  color:var(--vm-text-primary) !important;
  -webkit-text-fill-color:var(--vm-text-primary) !important;
}
html body .vm-link-card .vm-link-desc{
  color:rgba(148,163,184,.8) !important;
}
html body a.vm-link-card:visited .vm-link-title{
  color:var(--vm-text-primary) !important;
  -webkit-text-fill-color:var(--vm-text-primary) !important;
}
html body a.vm-link-card:visited .vm-link-desc{
  color:rgba(148,163,184,.8) !important;
}

/* SF-15: CROSS_FILE_CASCADE — vm-hero: L2 .vm-section glass kills L1 .vm-hero transparent
   L1 intent: .vm-hero = transparent wrapper, .vm-hero-inner = glass box.
   L2 .vm-section reapplies glass on outer wrapper → double glass, wrong aesthetic.
   Fix: restore L1 transparent hero + ensure inner glass is untouched */
html body .vm-section.vm-hero{
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:clamp(3rem,6vw,5rem) clamp(2rem,5vw,3rem) !important;
}
html body .vm-hero .vm-hero-inner{
  background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.92) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border:1px solid rgba(139,92,246,.25) !important;
  border-radius:1.5rem !important;
  box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05) !important;
  padding:2.5rem 2rem;
  max-width:1320px;
  margin:0 auto;
}

/* SF-15b: h1 secondary — white text, not gradient */
html body .vm-hero h1 .vm-h1-secondary{
  display:block !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  -webkit-text-fill-color:#fff !important;
  color:#fff !important;
  margin-top:.25em;
  font-size:clamp(1rem,2.5vw,1.35rem);
  font-weight:500;
  letter-spacing:-.01em;
}

/* SF-15c: hero-premium-box — glass box for intro text (matches sala-weselna wzorzec) */
html body .vm-hero-premium-box{
  background:radial-gradient(ellipse at 30% 0,rgba(16,185,129,.1) 0,transparent 50%),
             radial-gradient(ellipse at 70% 100%,rgba(139,92,246,.08) 0,transparent 50%),
             rgba(15,15,25,.92) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  border:2px solid transparent !important;
  border-radius:1.5rem !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  margin:1.5rem auto;
  max-width:900px;
  overflow:hidden;
  padding:2rem 2.5rem;
  position:relative;
}

/* SF-15d: kicker inline — Partner Honorowy badge */
html body .vm-kicker-inline{
  display:block;
  font-size:1rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--vm-text-primary) !important;
  -webkit-text-fill-color:var(--vm-text-primary) !important;
  font-weight:600;
  margin-bottom:1rem;
}

/* SF-15e: hero update badge */
html body .vm-hero-update-badge{
  background:radial-gradient(ellipse at 30% 0,rgba(16,185,129,.12) 0,transparent 50%),rgba(15,15,25,.9) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  border:2px solid transparent !important;
  border-radius:1rem !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  display:inline-block;
  margin:1.25rem auto;
  overflow:hidden;
  padding:.75rem 1.5rem;
  position:relative;
}

/* SF-15f: hero highlight classes */
html body .vm-hl-gold{color:#fbbf24;-webkit-text-fill-color:#fbbf24;font-weight:600}
html body .vm-hl-blue{color:#3b82f6;-webkit-text-fill-color:#3b82f6;font-weight:600}
html body .vm-hl-purple{color:#a78bfa;-webkit-text-fill-color:#a78bfa;font-weight:600}

/* SF-16: SPECIFICITY_TIE — .sr-only position killed by .vm-table
   .vm-table { position:relative } (0,1,0) appears AFTER .sr-only { position:absolute } (0,1,0)
   → position:relative wins → sr-only table stays in flow → visible 1px artefact
   Fix: force position:absolute on any .sr-only element */
html body .sr-only{
  position:absolute !important;
}

/* SF-14: CROSS_FILE_CASCADE — vm-gradient-text headings pushed left
   .vm-gradient-text { display:inline-block } shrinks h2/h3 to content-width.
   Parent text-align:center centers text INSIDE, but element itself is left-aligned.
   Fix: width:100% keeps inline-block gradient effect but fills parent → centered */
html body h2.vm-gradient-text,
html body h3.vm-gradient-text{
  width:100% !important;
  text-align:center !important;
}

/* SF-17: CROSS_FILE_CASCADE — vm-author__card: border fade from top only
   L1 .vm-author__card has full conic-gradient border via ::before + mask-composite.
   User wants: gradient line ONLY at top, fading on sides, no side/bottom border.
   Fix v2: kill solid border + replace ::before conic trick with thin top-line gradient */
html body .vm-author__card{
  border:none !important;
}
html body .vm-author__card::before{
  /* kill conic-gradient border trick — replace with top-only line */
  inset:auto !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:1.5px !important;
  padding:0 !important;
  border-radius:20px 20px 0 0 !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(96,165,250,.7) 15%,
    rgba(139,92,246,.85) 50%,
    rgba(96,165,250,.7) 85%,
    transparent 100%) !important;
  -webkit-mask:none !important;
  mask:none !important;
  -webkit-mask-composite:initial !important;
  mask-composite:initial !important;
}

/* SF-22: MISSING_INDICATOR — przywrócenie SVG chevron (cofnięcie SF-18)
   SF-18 ukrył SVG zakładając ::after { content:"+" } jako fallback.
   ::after NIE MA właściwości content → brak jakiegokolwiek wskaźnika rozwijania.
   Fix: przywróć SVG; ::after zostaje jako niewidoczny (brak content = brak renderowania). */
html body .vm-faq-item summary svg{
  display:block !important;
  flex-shrink:0 !important;
  width:1.25rem !important;
  height:1.25rem !important;
  stroke:#8b5cf6 !important;
  stroke-width:2.5 !important;
  fill:none !important;
}
html body .vm-faq-item[open] summary svg{
  transform:rotate(180deg) !important;
}

/* MOBILE GUARD: ≤640px stacked layout */
@media(max-width:640px){
  html body .vm-answer-capsule{
    max-width:100%;margin:1.5rem 1rem;padding:1.25rem 1rem;border-radius:.75rem !important;
  }
  html body .vm-links-grid{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  html body .vm-footer .vm-manager-card{
    margin:0 auto;max-width:100%;
  }
  html body .vm-section.vm-hero{
    padding:2rem 1.25rem !important;
  }
  html body .vm-hero .vm-hero-inner{
    padding:1.25rem .5rem;border-radius:1rem !important;width:100%;
  }
  html body .vm-hero-premium-box{
    margin:1rem;padding:1.5rem 1.25rem;
  }
}

/* SECTION 5b: AUTHOR SECTION STYLES (previously inline) */
.vm-author{margin:clamp(2rem,5vw,3.5rem) auto;max-width:860px;padding:0 1.5rem}
.vm-author__card{position:relative;background:radial-gradient(ellipse at 30% 0%,rgba(139,92,246,.15) 0%,transparent 50%),rgba(15,15,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(139,92,246,.25);border-radius:20px;padding:clamp(1.5rem,4vw,2.5rem);display:flex;gap:clamp(1rem,3vw,2rem);align-items:flex-start;box-shadow:0 0 30px rgba(139,92,246,.2),0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}
.vm-author__card::before{content:'';position:absolute;inset:0;border-radius:20px;padding:1.5px;background:conic-gradient(from 0deg,rgba(96,165,250,.9),rgba(139,92,246,.85),rgba(96,165,250,.9));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.vm-author__img{width:clamp(64px,12vw,88px);height:clamp(64px,12vw,88px);border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(139,92,246,.4)}
.vm-author__body{flex:1;min-width:0}
.vm-author__label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(148,163,184,.8);margin:0 0 .35rem}
.vm-author__name{font-size:clamp(1.1rem,2.5vw,1.3rem);font-weight:700;background:linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .25rem;line-height:1.2}
.vm-author__title{font-size:.875rem;color:rgba(148,163,184,.9);margin:0 0 .75rem}
.vm-author__bio{font-size:clamp(.875rem,1.8vw,1rem);color:rgba(249,250,251,.78);line-height:1.6;margin:0 0 .85rem}
.vm-author__link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:#60a5fa;text-decoration:none;font-weight:500;transition:color .2s}
.vm-author__link:hover{color:#a78bfa}
.vm-author__link::after{content:'→';transition:transform .2s}
.vm-author__link:hover::after{transform:translateX(3px)}
@media(max-width:520px){.vm-author__card{flex-direction:column;align-items:center;text-align:center}.vm-author__img{width:72px;height:72px}}
