/* =========================================================
   Marcin Kruszewski — OPB Consulting — clone stylesheet
   Design tokens taken from the live theme (opb-theme)
   ========================================================= */

:root{
  --background:#fdfcf8;
  --foreground:#001226;
  --card:#ffffff;
  --primary:#0e375c;
  --primary-foreground:#fefcf4;
  --primary-deep:#011b35;
  --secondary:#e4d8ab;
  --secondary-light:#efe5c0;
  --secondary-foreground:#011b35;
  --muted:#f4f2ea;
  --muted-foreground:#495766;
  --border:#d7dfe8;
  --shadow-elegant: 0 25px 60px -20px rgba(1,27,53,.25);
  --shadow-soft: 0 10px 30px -12px rgba(1,27,53,.15);
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
  --radius: .75rem;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; overflow-x: hidden; }
body{ overflow-x: hidden; overflow-x: clip; }
body{
  font-family: var(--font-body);
  color: var(--foreground);
  background: var(--background);
  line-height: 1.7;
}
h1,h2,h3,h4,.brand-name{ font-family: var(--font-display); color: var(--primary); }
a{ text-decoration: none; }
.section-padding{ padding: 6rem 0; }
.bg-muted{ background: var(--muted); }
.proces-section{ background: #fdf8ec; }

/* ---------- Typography helpers ---------- */
.eyebrow{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  text-transform: uppercase;
  letter-spacing: .25em;
  font-size: .75rem;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 1.1rem;
}
.eyebrow--light{ color: var(--secondary); }
.eyebrow--wide{ letter-spacing: .3em; }
.eyebrow-line{ width: 2.2rem; height: 1px; background: var(--secondary); display: inline-block; }
.eyebrow-line--navy{ background: var(--primary); }

.section-head{ max-width: 780px; }
.text-center.section-head, .section-head.text-center{ margin-left: auto; margin-right: auto; }
.section-title{
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 1rem;
}
.section-title--sm{ font-size: 1.75rem; }
.section-title--lg{ line-height: 1.05; }
.section-title--light{ color: var(--primary-foreground); }
.section-title em, .hero-title em{ font-style: normal; color: var(--secondary); }
.section-lead{ color: var(--muted-foreground); font-size: 1.125rem; line-height: 1.7; max-width: 680px; }

@media (min-width: 768px){
  .section-title{ font-size: 3rem; }
  .section-title--sm{ font-size: 2rem; }
}
@media (min-width: 992px){
  .section-title--lg{ font-size: 3.75rem; }
}

/* ---------- Buttons & links ---------- */
.btn, .article-body .btn{ border-radius: 999px; padding: .75rem 1.7rem; font-weight: 600; font-size: .95rem; }
.btn-gold{ background: var(--secondary); border: 1px solid var(--secondary); color: var(--secondary-foreground); }
.btn-gold:hover{ background: var(--secondary-light); border-color: var(--secondary-light); color: var(--secondary-foreground); }
.btn-navy{ background: var(--primary); border: 1px solid var(--primary); color: var(--primary-foreground); }
.btn-navy:hover{ background: var(--primary-deep); border-color: var(--primary-deep); color: #fff; }
.btn-outline-navy{ background: transparent; border: 1px solid var(--primary); color: var(--primary); }
.btn-outline-navy:hover{ background: var(--primary); color: #fff; }
.link-underline{ color: var(--primary-foreground); font-weight: 500; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(228,216,171,.6); }
.link-gold{ color: var(--primary); font-weight: 600; font-size: .92rem; }
.link-gold:hover{ color: var(--secondary-foreground); }

/* ---------- Header ---------- */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1030;
  background: var(--primary);
}
.site-header .navbar-brand .brand-name{ color: var(--primary-foreground); font-size: 1.15rem; font-weight: 600; }
#menu-primary-menu-desktop .menu-item a{
  color: rgba(254,252,244,.8);
  font-weight: 500;
  font-size: .93rem;
}
#menu-primary-menu-desktop .menu-item a:hover,
#menu-primary-menu-desktop .menu-item.current-menu-item a{ color: var(--secondary); }

/* Rozwijane podmenu (desktop) — otwiera się po najechaniu kursorem na
   element nadrzędny (.has-dropdown), tło białe, linki w kolorze wiodącym. */
#site-navigation .has-dropdown{ position:relative; }

#site-navigation .submenu.dropdown-menu{
  display:block;
  position:absolute;
  top: calc(100% + .75rem);
  left:0;
  min-width:400px;
  margin:0;
  padding:.6rem;
  list-style:none;
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow-elegant);
  border: 1px solid var(--border);
  opacity:0;
  visibility:hidden;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 1040;
}
#site-navigation .has-dropdown:hover > .submenu.dropdown-menu,
#site-navigation .has-dropdown:focus-within > .submenu.dropdown-menu{
  opacity:1;
  visibility:visible;
  transform: translateY(0);
}
#site-navigation .submenu .menu-item{ list-style:none; }
#site-navigation .submenu .menu-item a{
  display:block;
  padding:.55rem .75rem;
  border-radius: calc(var(--radius) - .3rem);
  color: var(--primary);
  font-weight:500;
  font-size:.92rem;
}
#site-navigation .submenu .menu-item a:hover,
#site-navigation .submenu .menu-item.current-menu-item a{
  background: var(--muted);
  color: var(--primary-deep);
}

.navbar-toggler{ border:0; background:none; width:30px; height:22px; position:relative; padding:0; }
.navbar-toggler span{ position:absolute; left:0; right:0; height:2px; background: var(--primary-foreground); }
.navbar-toggler span:nth-child(1){ top:0; }
.navbar-toggler span:nth-child(2){ top:10px; }
.navbar-toggler span:nth-child(3){ top:20px; }

#wpconvert-mobile-nav{ background: var(--primary); color: var(--primary-foreground); width: 300px; }
#wpconvert-mobile-nav .btn-close{ filter: invert(1) grayscale(1) brightness(2); }
.mobile-menu{ margin:0; padding:0; }
.mobile-menu .menu-item{ border-bottom: 1px solid rgba(254,252,244,.12); }
.mobile-menu .menu-item a{ display:block; padding: .9rem 0; color: var(--primary-foreground); font-weight: 500; }
.mobile-menu .menu-item.current-menu-item a{ color: var(--secondary); }

/* Podmenu w panelu mobilnym (offcanvas) — rozwijane po kliknięciu na
   pozycję nadrzędną (patrz assets/js/script.js), zwinięte domyślnie.
   Wskaźnik to ta sama ikona bi-chevron-down (czcionka bootstrap-icons,
   kod \f282), tylko wstawiona przez CSS ::after — bez dodatkowego
   elementu <i> w znaczniku menu. */
.mobile-menu .has-dropdown > a{ position:relative; padding-right:1.75rem; }
.mobile-menu .has-dropdown > a::after{
  content:"\f282";
  font-family: "bootstrap-icons" !important;
  font-style:normal; font-weight:normal !important; font-size:.85rem; line-height:1;
  position:absolute;
  right:.2rem;
  top:50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform .2s ease;
}
.mobile-menu .has-dropdown.submenu-open > a::after{
  transform: translateY(-50%) rotate(180deg);
}

.mobile-menu .submenu.dropdown-menu{
  position:static;
  display:none;
  opacity:1;
  visibility:visible;
  transform:none;
  background:transparent;
  border:0;
  box-shadow:none;
  margin:0 0 .4rem;
  padding:0 0 0 1rem;
  list-style:none;
}
.mobile-menu .has-dropdown.submenu-open > .submenu.dropdown-menu{ display:block; }
.mobile-menu .submenu .menu-item{ border-bottom:0; }
.mobile-menu .submenu .menu-item a{
  padding:.6rem 0;
  font-size:.9rem;
  font-weight:400;
  color: rgba(254,252,244,.7);
}
.mobile-menu .submenu .menu-item a:hover,
.mobile-menu .submenu .menu-item.current-menu-item a{ color: var(--secondary); }
.wpconvert-drawer-ctas{ margin-top: 1.5rem; }

/* ---------- Hero ---------- */
.hero-section{
  position: relative;
  min-height: 860px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: 3rem;
}
.hero-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position: top; }
.hero-overlay{
  position:absolute; inset:0;
  /* Two stacked navy layers, matching the source: flat 85% + left-to-right gradient 70%→40%→transparent */
  background-color: rgba(14,55,92,.85);
  background-image: linear-gradient(to right, rgba(14,55,92,.7) 0%, rgba(14,55,92,.4) 50%, rgba(14,55,92,0) 100%);
}
.hero-content{ position: relative; z-index: 2; color: var(--primary-foreground); }
@media (min-width: 991px){.hero-content{padding: 6rem 0 3rem;}}
@media (max-width: 990px){.hero-content{padding: 1.4rem 1.5rem 3rem;}}
.hero-title{
  font-size: clamp(2.4rem, 1.7rem + 3vw, 4.2rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--primary-foreground);
  max-width: 640px;
}
.hero-tagline{ font-family: var(--font-display); font-style: italic; font-size: 1.25rem; margin-top: 1.2rem; }
.hero-lead{ font-size: 1.1rem; color: rgba(254,252,244,.85); max-width: 560px; margin-top: 1rem; }

.hero-photo-card{
  position: relative;
  height: 560px;
  border-radius: 1.2rem;
  overflow: hidden;
  border: 1px solid rgba(228,216,171,.3);
  box-shadow: var(--shadow-elegant);
  margin: 0;
}
.hero-photo-card img{ width:100%; height:100%; object-fit:cover; }

.stats-row{
  --stats-border: rgba(228,216,171,.3);
  margin-top: 4rem;
  border-top: 1px solid var(--stats-border);
  border-bottom: 1px solid var(--stats-border);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.stat-item{
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--stats-border);
}
.stat-num{ font-family: var(--font-display); font-size: 3.75rem; font-weight: 700; color: var(--secondary); line-height: .9; letter-spacing: -.01em; }
.stat-label{ margin-top: .5rem; font-size: 1rem; color: rgba(254,252,244,.85); }
.stats-row--dark{ --stats-border: rgba(1,27,53,.15); }
.stats-row--dark .stat-num{ color: var(--primary); }
.stats-row--dark .stat-label{ color: var(--muted-foreground); }

@media (min-width: 768px){
  .stats-row{ border-left: 1px solid var(--stats-border); border-right: 1px solid var(--stats-border); padding-top: 2rem; padding-bottom: 2rem; }
  .stat-item{ border-bottom: 0; border-left: 1px solid var(--stats-border); }
  .stat-item:first-child{ border-left: 0; }
  .stat-num{ font-size: 4.5rem; }
}

/* ---------- Pasek statystyk (osobna sekcja pod "Zakres działania") ---------- */
.stats-strip{
  background: var(--background);
  border-top: 5px solid var(--primary);
  padding: 3.5rem 0;
}
.stats-strip__item{
  padding: .5rem 1.5rem;
  text-align: left;
}
.stats-strip__item .stat-num{
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 700;
  color: var(--primary);
  line-height: 1;
  letter-spacing: -.01em;
}
.stats-strip__item .stat-label{
  margin-top: .6rem;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted-foreground);
}
@media (min-width: 768px){
  .stats-strip__item{ border-left: 1px solid var(--border); }
  .stats-strip__item:first-child{ border-left: 0; }
  .stats-strip__item .stat-num{ font-size: 3.5rem; }
}

/* ---------- Zakres: comparison cards ---------- */
.stuck-card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 1.2rem;
  padding: 2.2rem;
  box-shadow: var(--shadow-soft);
}
.stuck-card h3{ font-size: 1.3rem; font-weight: 600; line-height: 1.35; }
.arrow-list{ list-style:none; margin: 1.4rem 0 0; padding:0; }
.arrow-list li{ display:flex; gap:.7rem; color: var(--muted-foreground); margin-bottom:.6rem; }
.arrow-list li span{ color: var(--secondary-foreground); font-weight:700; }

.lg-vertical-divider{ position: relative; }
.lub-badge{
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: 999px;
  padding: .5rem 1.1rem;
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--muted-foreground);
  z-index: 2;
}
.lg-vertical-divider::before{
  content:"";
  position:absolute;
  top:0; bottom:0; left:50%;
  width:1px;
  background: var(--border);
}
@media (max-width: 991.98px){ .lg-vertical-divider::before{ display:none; } .lg-vertical-divider{ padding: 1rem 0; } }

.radial-diagram{ max-width: 300px; margin-top: 2rem; }
.radial-diagram__img{ max-width: 100%; height: auto; }

.pillar-diagram{ margin-top: 2rem; }
.pillar-diagram__img{ max-width: 100%; height: auto; }
.pillar-quote{
  margin: 1.2rem auto 0; max-width: 300px;
  border: 1px dashed rgba(228,0,20,.35); background: rgba(228,0,20,.04);
  border-radius: .8rem; padding: .8rem 1rem; font-size: .8rem; font-style: italic; color: var(--muted-foreground);
}

.lead-quote{
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.05rem + .8vw, 1.7rem);
  color: var(--muted-foreground);
  max-width: 780px;
  margin: 4rem auto 0;
  text-align: center;
  line-height: 1.5;
}

.then-now{ margin-top: 3.5rem; border-radius: 1.2rem; overflow: hidden; border: 1px solid var(--border); }
.then-now > div{ padding: 2.2rem 2.4rem; }
.then-now__then{ background: var(--muted); }
.then-now__now{ background: var(--primary); color: var(--primary-foreground); }
.then-now__label{ display:block; text-transform: uppercase; letter-spacing:.25em; font-size:.7rem; font-weight:700; margin-bottom: .7rem; }
.then-now__then .then-now__label{ color: var(--foreground); opacity:.7; }
.then-now__now .then-now__label{ color: var(--secondary); }
.then-now p{ margin:0; }
.then-now__then p{ color: var(--foreground); opacity:.85; }
.then-now__now p{ color: rgba(254,252,244,.9); }

/* ---------- Process steps (plain timeline, no cards) ---------- */
.step-nav{ position: relative; display:flex; flex-direction:column; gap: 2rem; top:auto; }
.step-nav::before{
  content:"";
  position:absolute;
  right: 5px; top: .75rem; bottom: .75rem;
  width: 1px;
  background: var(--border);
  display: none;
}
.step-item{
  position: relative;
  display:flex; flex-direction:column; align-items:flex-start; text-align:left;
  width:100%; background:none; border:0; border-radius:0;
  padding: 0; cursor:pointer;
}
.step-item__label{
  font-size:.6875rem; letter-spacing:.25em; text-transform:uppercase; font-weight:600;
  color: var(--muted-foreground); opacity:.7; transition: color .2s ease, opacity .2s ease;
}
.step-item__title{
  font-family: var(--font-display); font-size:1.5rem; font-weight:600; line-height:1.3;
  margin-top:.5rem; color: var(--muted-foreground); opacity:.6; transition: color .2s ease, opacity .2s ease;
}
.step-item__sub{
  font-size:.875rem; margin-top:.375rem; color: var(--muted-foreground); opacity:.5; transition: opacity .2s ease;
}
.step-item:hover .step-item__label{ color: var(--primary); opacity:.7; }
.step-item:hover .step-item__title{ color: var(--foreground); opacity:.8; }

.step-item.active .step-item__label{ color: var(--primary); opacity:1; }
.step-item.active .step-item__title{ color: var(--foreground); opacity:1; }
.step-item.active .step-item__sub{ opacity:1; }

.step-item__dot{
  display:none;
  position:absolute; right:0; top:.75rem;
  width:12px; height:12px; border-radius:50%;
  border: 2px solid var(--border);
  background: var(--background);
  transition: background .2s ease, border-color .2s ease;
}
.step-item.active .step-item__dot{ background: var(--primary); border-color: var(--primary); }

@media (min-width: 992px){
  .step-nav::before{ display:block; }
  .step-item{ padding-right: 1.5rem; }
  .step-item__dot{ display:block; }
}

.step-panel{ min-height: 460px; }
.step-panel__content{ display:none; animation: fadeIn .3s ease; }
.step-panel__content.active{ display:block; }

.step-panel__head{ display:flex; align-items:center; gap: 1.25rem; }
.step-panel__badge{
  flex-shrink:0;
  width: 4rem; height: 4rem; border-radius: 50%;
  background: rgba(228,216,171,.25);
  border: 1px solid rgba(14,55,92,.4);
  box-shadow: 0 0 0 4px rgba(14,55,92,.05);
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 600; font-size: 1.125rem; color: var(--primary);
}
.step-panel__content h3{ font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem); font-weight:600; line-height:1.25; margin:0; }
.step-panel__content > p{ margin-top: 1.75rem; color: var(--muted-foreground); font-size: 1.05rem; max-width: 640px; }

.step-checklist{
  list-style:none; margin: 2.25rem 0 0; padding:0;
  display:grid; grid-template-columns: 1fr; gap: .75rem;
}
.step-checklist li{
  display:flex; align-items:flex-start; gap:.75rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 2px solid rgba(14,55,92,.7);
  border-radius: .75rem;
  padding: .875rem 1.25rem;
  font-size: .92rem;
  color: rgba(0,18,38,.85);
  box-shadow: 0 1px 3px rgba(1,27,53,.06);
  transition: border-left-color .2s ease;
}
.step-checklist li:hover{ border-left-color: var(--primary); }
.step-checklist li .dot{
  margin-top:.4rem; width:.5rem; height:.5rem; border-radius:50%;
  background: var(--primary); flex-shrink:0;
}

.step-highlight{
  display:inline-flex; align-items:center; gap:.5rem;
  margin-top: 2rem;
  background: var(--primary); border: 1px solid var(--primary); border-radius: 999px;
  padding: .6rem 1.25rem;
  font-size: .875rem; font-weight:600; color: var(--primary-foreground);
  box-shadow: var(--shadow-soft);
}
.step-highlight .dot{ width:.375rem; height:.375rem; border-radius:50%; background: var(--secondary); }

@media (min-width: 768px){
  .step-checklist{ grid-template-columns: 1fr 1fr; }
}
@keyframes fadeIn{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }

.check-list{ list-style:none; margin: 1.2rem 0 0; padding:0; }
.check-list li{ position:relative; padding-left: 1.7rem; margin-bottom:.65rem; color: var(--muted-foreground); }
.check-list li::before{ content:"\2713"; position:absolute; left:0; color: var(--secondary-foreground); font-weight:700; }

/* ---------- Jak to wygląda w praktyce (quote card + case study) ---------- */
.practice-section{ margin-top: 6rem; padding-top: 3.5rem; border-top: 1px solid rgba(0,18,38,.08); }
.eyebrow--muted{ color: var(--muted-foreground); }
.eyebrow-line--muted{ background: rgba(73,87,102,.4); }

.practice-grid{ margin-top: 2rem; display:grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: stretch; }
@media (min-width: 992px){ .practice-grid{ grid-template-columns: 1fr 1fr; gap: 2rem; } }

.practice-card{
  background: var(--card); border: 1px solid var(--border); border-radius: 1rem;
  padding: 1.75rem; display:flex; flex-direction:column;
  box-shadow: var(--shadow-soft);
}
@media (min-width: 768px){ .practice-card{ padding: 2.25rem; } }
.practice-card__stars{ color: var(--secondary); display:flex; gap:.2rem; font-size:.95rem; }
.practice-card blockquote{ margin: 1.25rem 0 0; color: rgba(0,18,38,.85); font-style: italic; line-height:1.7; }
.practice-card__badge{
  align-self:flex-start; margin-top: 1.5rem;
  display:inline-flex; align-items:center; gap:.5rem;
  background: rgba(228,216,171,.2); color: var(--primary);
  border-radius:999px; padding:.4rem .9rem; font-size:.8rem; font-weight:600;
}
.practice-card__badge-icon{ width:1.05em; height:1.05em; flex-shrink:0; }
.practice-card__author{
  margin-top:auto; padding-top: 1.5rem; margin-top: 1.5rem;
  border-top: 1px solid var(--border);
  display:flex; align-items:center; gap:.75rem;
}
.avatar-badge{ width:44px; height:44px; border-radius:50%; background: var(--primary); color: var(--primary-foreground); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:.85rem; flex-shrink:0; }
.practice-card__author strong{ display:block; font-size:.9rem; color: var(--foreground); }
.practice-card__author small{ color: var(--muted-foreground); font-size:.78rem; }

/* Case study carousel — dark navy card */
.case-carousel{
  background: var(--primary); color: var(--primary-foreground);
  border-radius: 1rem; padding: 1.75rem;
  box-shadow: var(--shadow-elegant);
  display:flex; flex-direction:column;
}
@media (min-width: 768px){ .case-carousel{ padding: 2.25rem; } }
.case-carousel__head{ display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; font-size:.9rem; }
.case-tag{
  display:inline-flex; align-items:center;
  background: var(--secondary); color: var(--secondary-foreground);
  border-radius:.4rem; padding:.25rem .65rem;
  font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.case-carousel__category{ color: rgba(254,252,244,.75); }
.case-counter{ display:block; margin-top: 1.6rem; font-size:.68rem; text-transform:uppercase; letter-spacing:.25em; font-weight:600; color: rgba(254,252,244,.5); }
.case-carousel__track{ margin-top: .5rem; }
.case-slide{ display:none; animation: fadeIn .3s ease; }
.case-slide.active{ display:block; }
.case-slide h4{ font-family: var(--font-display); font-size: 1.5rem; font-weight:600; line-height:1.35; margin: .5rem 0 0; color: var(--primary-foreground); }
.case-slide p{ margin-top:1rem; color: rgba(254,252,244,.75); font-size:.92rem; line-height:1.7; }
.case-slide__more{ display:inline-flex; align-items:center; gap:.4rem; color: var(--secondary); font-weight:600; font-size:.9rem; text-decoration: underline; text-underline-offset: .2em; transition: gap .2s ease; }
.case-slide__more:hover{ gap:.7rem; color: var(--secondary); }
.case-slide__tags{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top: 1.25rem; }
.case-slide__tags span{ border: 1px solid rgba(228,216,171,.5); color: var(--secondary); border-radius:999px; padding:.3rem .8rem; font-size:.78rem; font-weight:500; }

.case-carousel__controls{ margin-top: auto; padding-top: 1.75rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.case-nav-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  background:none; border: 1px solid rgba(254,252,244,.2); border-radius:.4rem;
  padding:.5rem .9rem; font-size:.78rem; font-weight:500; color: var(--primary-foreground);
  transition: border-color .2s ease, color .2s ease;
}
.case-nav-btn:hover{ border-color: var(--secondary); color: var(--secondary); }
.case-dots{ display:flex; align-items:center; gap:.4rem; }
.case-dots button{ height:6px; width:6px; border-radius:999px; border:0; background: rgba(254,252,244,.3); padding:0; transition: all .2s ease; }
.case-dots button:hover{ background: rgba(254,252,244,.6); }
.case-dots button.active{ width: 2rem; background: var(--secondary); }

/* ---------- CTA: floating card ---------- */
.cta-section{ background: var(--background); padding: 4rem 0; }

.cta-card{
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  background:
    linear-gradient(105deg, var(--primary-deep) 0%, var(--primary) 55%, var(--primary) 100%),
    radial-gradient(circle at 88% 50%, rgba(228,216,171,.22) 0%, transparent 40%);
  color: var(--primary-foreground);
  box-shadow: var(--shadow-elegant);
}
.cta-card h2{color: var(--primary-foreground);}
.cta-card__grid{
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem;
}

.cta-card__photo{ position: relative; display:flex; justify-content:center; }
.cta-card__glow{
  position:absolute; inset:-4px; border-radius:50%;
   filter: blur(10px);
}
@media (max-width: 767px){ 
  .cta-card__glow{
    background: transparent;
  }
}
@media (min-width: 768px){ 
  .cta-card__glow{
    background: rgba(228,216,171,.4);
  }
}

.cta-card__photo img{
  position:relative; width:96px; height:96px; border-radius:50%; object-fit:cover;
  box-shadow: 0 0 0 3px var(--secondary);
}

.cta-card__eyebrow{
  display:block; font-size:.72rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.17em; color: var(--secondary);
}
#cta-article .cta-card__text h2{
  margin: .5rem 0 0; color: var(--primary-foreground);
  font-size: 2rem; line-height:1.25; font-weight:500;
  margin-bottom: 20px;
  padding-bottom: 0;
}

.cta-card__pills{ margin-top: .9rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.45rem; }
.cta-card__pills span{
  border-radius:999px; border: 1px solid rgba(228,216,171,.4);
  background: rgba(1,27,53,.6);
  padding: .38rem .95rem; font-size:.8rem; font-weight:500; color: var(--primary-foreground);
}

.cta-card__phone{ display:flex; justify-content:center; margin-top: 35px;}
.btn-phone, .cta-card__phone .btn-phone {
  display:inline-flex; align-items:center; gap:.55rem;
  border-radius:999px; background: var(--secondary); color: var(--secondary-foreground);
  padding: .78rem 1.5rem; font-size:.95rem; font-weight:600;
  box-shadow: var(--shadow-soft); transition: filter .2s ease;
}
.btn-phone:hover{ filter: brightness(.95); color: var(--secondary-foreground); }
.cta-card__text h2{
  padding: 20px 0; 
  line-height: 2.2rem;
}
@media (min-width: 768px){
  .cta-card__grid{
    grid-template-columns: auto 1fr auto;
    gap: 2rem;
    text-align: left;
    padding: 2.25rem 2.5rem;
  }
  .cta-card__photo{ justify-content:flex-start; }
  .cta-card__photo img{ width:118px; height:118px; }
  .cta-card__text h2{ font-size: 1.75rem; }
  .cta-card__pills{ justify-content:flex-start; }
  .cta-card__phone{ justify-content:flex-end; }
}
@media (min-width: 992px){
  .cta-card__text h2{ font-size: 2rem; }
}
.cta-card__phone a{

}

/* Article layout: main column + full-width breakout (cta) + sticky sidebar, via CSS Grid */
.article-layout{ display:grid; grid-template-columns: 1fr; gap: 2.5rem; }
.article-layout > *{ min-width: 0; }
@media (min-width: 992px){
  .article-layout{ grid-template-columns: 2fr 1fr; column-gap: 3rem; row-gap: 2.5rem; align-items:start; }
  .article-layout__main{ grid-column: 1; }
  .article-layout__full{ grid-column: 1 / -1; }
  .article-layout__aside{ grid-column: 2; grid-row: 1 / -1; }
}

/* ---------- Doradca vs Interim COO: sticky intro + table ---------- */
.coo-grid{ display:grid; grid-template-columns: 1fr; gap: 3rem; align-items: start; }
@media (min-width: 992px){ .coo-grid{ grid-template-columns: 5fr 7fr; gap: 4rem; } }

.coo-intro{ }
@media (min-width: 992px){
  .coo-intro{ position: sticky; top: 2rem; align-self: start; }
}

.coo-quote{ position: relative; margin-top: 2rem; }
.coo-quote::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background: var(--primary); border-radius:999px;
}
.coo-quote blockquote{
  margin:0 0 0 1.1rem;
  background: var(--primary); color: var(--primary-foreground);
  border-radius: .9rem; padding: 1.75rem 2rem;
  font-family: var(--font-display); font-style: italic;
  font-size: 1.25rem; line-height:1.4;
  box-shadow: var(--shadow-elegant);
}
.coo-quote blockquote span{ color: var(--secondary); }

.coo-table-card{ border-radius: 1.2rem; background: var(--muted); box-shadow: var(--shadow-soft); overflow-x: auto; }
.coo-table{ width:100%; min-width: 520px; text-align:left; margin:0; }
.coo-table thead tr{ text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; border-bottom: 1px solid var(--border); }
.coo-table thead th{ padding: 1.1rem; font-weight:600; border:0; white-space:nowrap; background-color: transparent; }
.coo-table thead th:not(:first-child){ text-align:center; color: var(--muted-foreground); }
.coo-table thead th:first-child{ width:40%; }
.coo-table thead th.coo-table__featured{ background-color: var(--primary); color: var(--primary-foreground); border-top-left-radius: 1.2rem; border-top-right-radius: 1.2rem; }

.coo-table tbody td{ padding: 1.1rem; border:0; font-size:.9rem; background-color: transparent; }
.coo-table tbody tr.alt{ background: rgba(255,255,255,.5); }
.coo-table tbody td:first-child{ font-weight:500; color: var(--foreground); }
.coo-table tbody td:not(:first-child){ text-align:center; font-size:1.1rem; color: var(--primary); }
.coo-table tbody td .muted{ color: var(--muted-foreground); font-size:.9rem; font-weight:400; }
.coo-table tbody td.coo-table__featured{ background: rgba(14,55,92,.06); font-weight:600; }
.coo-table tbody td.coo-table__featured--last{ border-bottom-left-radius: 1.2rem; border-bottom-right-radius: 1.2rem; }

.role-card{ background: var(--card); border:1px solid var(--border); border-radius:1.2rem; padding: 2.2rem; height:auto; }
.role-card__tag{ text-transform:uppercase; letter-spacing:.2em; font-size:.68rem; font-weight:700; color: var(--muted-foreground); }
.role-card h3{ margin: .6rem 0 1rem; font-size:1.35rem; }
.role-card p{ color: var(--muted-foreground); margin:0; }
.role-card--primary{ background: var(--primary); border-color: var(--primary); }
.role-card--primary .role-card__tag{ color: var(--secondary); }
.role-card--primary h3{ color: var(--primary-foreground); }
.role-card--primary p{ color: rgba(254,252,244,.85); }

.role-card--v2 p{ margin-bottom:1rem; }
.role-card__head{ display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.role-card__head .role-icon{ margin-bottom:0; }
.role-card__head h3{ margin:.15rem 0 0; font-size:1.5rem; }
.role-card__subtitle{ font-weight:700; color: var(--primary) !important; font-size:1rem; }
.role-card__forwho{
  margin-top:1.5rem; background: var(--muted); border-radius:.9rem; padding:1.25rem 1.5rem;
  border-left:3px solid var(--secondary);
}
.role-card__forwho-label{ display:block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color: var(--muted-foreground); margin-bottom:.4rem; }
.role-card__forwho p{ margin:0; color: rgba(0,18,38,.8) !important; font-size:.95rem; }

/* ---------- Service cards (zakres działania) ---------- */
/* Zakres działania: hairline grid on dark navy */
.zakres-grid{
  display:grid; grid-template-columns: 1fr; gap:1px;
  background: rgba(254,252,244,.1);
  border: 1px solid rgba(254,252,244,.1);
  border-radius: 1.2rem;
  overflow: hidden;
}
@media (min-width: 768px){ .zakres-grid{ grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px){ .zakres-grid{ grid-template-columns: 1fr 1fr 1fr; } }

.zakres-item{
  background: var(--primary);
  padding: 2rem;
  transition: background-color .2s ease;
}
.zakres-item:hover{ background: #ffffff; }
.zakres-item__head{ display:flex; align-items:center; gap:.75rem; margin-bottom: 1.25rem; }
.zakres-item__icon{
  width:44px; height:44px; border-radius: .75rem;
  background: var(--secondary); color: var(--primary);
  display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; flex-shrink:0;
  transition: background-color .2s ease, color .2s ease;
}
.zakres-item:hover .zakres-item__icon{ background: var(--primary); color: var(--secondary); }
.zakres-item__num{ font-family: var(--font-display); color: var(--secondary); font-size:.9rem; transition: color .2s ease; }
.zakres-item:hover .zakres-item__num{ color: var(--primary); }
.zakres-item h3{ font-family: var(--font-display); font-size:1.4rem; font-weight:500; color: var(--primary-foreground); margin:0; transition: color .2s ease; }
.zakres-item:hover h3{ color: var(--primary); }
.zakres-item p{ margin-top:.75rem; color: rgba(254,252,244,.7); font-size:.9rem; line-height:1.6; transition: color .2s ease; }
.zakres-item:hover p{ color: rgba(1,27,53,.75); }
.zakres-item a{
  display:inline-flex; align-items:center; gap:.5rem; margin-top: 1.5rem;
  color: var(--secondary); font-size:.9rem; font-weight:500; transition: gap .2s ease, color .2s ease;
}
.zakres-item:hover a{ color: var(--primary); }
.zakres-item a:hover{ gap:.8rem; }

/* ---------- O mnie ---------- */
.about-section{ background: var(--muted); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

.about-photo-wrap{ position: relative; }
.about-photo{ width:100%; height: 600px; object-fit: cover; border-radius: 1rem; box-shadow: var(--shadow-elegant); display:block; }
.about-photo-badge{
  position:absolute; bottom: 1.5rem; right: 1.5rem; max-width: 240px;
  background: var(--secondary); color: var(--primary);
  border-radius: .9rem; padding: 1.25rem 1.5rem;
  font-family: var(--font-display); font-size: 1.4rem; font-weight:600; line-height:1.25;
  box-shadow: 0 20px 40px -12px rgba(0,0,0,.35);
}

.eyebrow-plain{
  display:block; font-size:.75rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.25em; color: rgba(14,55,92,.7);
  margin-top: 30px;
}
.about-lead{ margin-top: 1.5rem; font-size: 1.125rem; color: var(--muted-foreground); line-height:1.7; }
.about-text{ margin-top: 1rem; color: var(--muted-foreground); line-height:1.7; }

.icon-check-list{ list-style:none; margin: 2rem 0 0; padding:0; }
.icon-check-list li{ display:flex; align-items:flex-start; gap:.75rem; margin-bottom: 1rem; color: rgba(0,18,38,.8); }
.icon-check-list li i{ color: var(--primary); font-size:1.2rem; flex-shrink:0; margin-top:.1rem; }

.cert-section{ border-top: 1px solid var(--border); }
.cert-section__head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:1rem; }
.cert-section__lead{ color: var(--muted-foreground); max-width: 380px; margin:0; }
.cert-section__head--stack{ flex-direction:column; align-items:flex-start; }
.cert-section__head--stack .cert-section__lead{ max-width:640px; margin-top:1rem; }

.cert-row{
  display:flex; gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: .5rem;
  scrollbar-width: none;
}
.cert-row::-webkit-scrollbar{ display:none; }

.cert-card{
  flex: 0 0 85%;
  scroll-snap-align: start;
  display:block; text-align:left;
  background: var(--card); border: 1px solid var(--border); border-radius: 1rem;
  overflow: hidden; padding:0;
  transition: transform .2s ease, box-shadow .2s ease;
  cursor: pointer;
}
.cert-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-elegant); }
.cert-card__img{ display:block; aspect-ratio: 3 / 4; overflow:hidden; background: var(--muted); }
.cert-card__img img{ width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }
.cert-card:hover .cert-card__img img{ transform: scale(1.05); }
.cert-card__body{ display:block; padding: 1rem; }
.cert-card__year{ display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color: rgba(14,55,92,.6); font-weight:600; }
.cert-card__title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-family: var(--font-display); font-size:.9rem; font-weight:500; margin-top:.3rem; line-height:1.4; color: var(--foreground); }
.cert-card__inst{ display:block; margin-top:.5rem; font-size:.75rem; color: var(--muted-foreground); }

@media (min-width: 576px){ .cert-card{ flex-basis: calc(50% - .625rem); } }
@media (min-width: 768px){ .cert-card{ flex-basis: calc(33.333% - .84rem); } }
@media (min-width: 1200px){ .cert-card{ flex-basis: calc(20% - 1rem); } }

/* ---------- Certificate lightbox ---------- */
.cert-lightbox{
  position: fixed; inset:0; z-index: 1090;
  display:flex; align-items:center; justify-content:center;
  visibility:hidden; opacity:0;
  transition: opacity .25s ease, visibility 0s linear .25s;
}
.cert-lightbox.show{ visibility:visible; opacity:1; transition: opacity .25s ease; }
.cert-lightbox__backdrop{ position:absolute; inset:0; background: rgba(0,18,38,.88); }
.cert-lightbox__panel{
  position:relative; z-index:1;
  max-width: min(560px, 86vw);
  margin:0; background: var(--card); border-radius: 1.1rem; overflow:hidden;
  box-shadow: var(--shadow-elegant);
  display:flex; flex-direction:column;
}
.cert-lightbox__imgwrap{ position:relative; max-height: 70vh; overflow-y:auto; background: var(--muted); }
.cert-lightbox__imgwrap img{ display:block; width:100%; height:auto; }
.cert-lightbox__panel figcaption{ flex-shrink:0; padding: 1.25rem 1.5rem 1.5rem; }
.cert-lightbox__year{ display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; color: var(--primary); font-weight:700; }
.cert-lightbox__title{ display:block; font-family: var(--font-display); font-size:1.15rem; margin-top:.4rem; color: var(--foreground); }
.cert-lightbox__inst{ display:block; margin-top:.4rem; font-size:.85rem; color: var(--muted-foreground); }
.cert-lightbox__counter{
  position:absolute; top: .9rem; left: 1rem;
  background: rgba(0,18,38,.55); color: var(--primary-foreground);
  font-size:.72rem; font-weight:600; letter-spacing:.05em;
  padding:.3rem .7rem; border-radius:999px;
}
.cert-lightbox__close{
  position:absolute; top: 1.5rem; right: 1.5rem; z-index:2;
  width:44px; height:44px; border-radius:50%; border:0;
  background: rgba(254,252,244,.12); color: var(--primary-foreground); font-size:1.1rem;
  display:flex; align-items:center; justify-content:center;
  transition: background-color .2s ease;
}
.cert-lightbox__close:hover{ background: rgba(254,252,244,.25); }
.cert-lightbox__nav{
  position:relative; z-index:2; flex-shrink:0;
  width:52px; height:52px; border-radius:50%; border:1px solid rgba(254,252,244,.25);
  background: rgba(254,252,244,.08); color: var(--primary-foreground); font-size:1.3rem;
  display:flex; align-items:center; justify-content:center;
  margin: 0 1.25rem;
  transition: background-color .2s ease, border-color .2s ease;
}
.cert-lightbox__nav:hover{ background: var(--secondary); color: var(--secondary-foreground); border-color: var(--secondary); }
@media (max-width: 575.98px){
  .cert-lightbox__nav{ width:42px; height:42px; margin:0 .5rem; font-size:1.1rem; }
  .cert-lightbox__close{ top:.75rem; right:.75rem; width:38px; height:38px; }
}

/* ---------- Dark navy section (rezultaty) ---------- */
.section-navy{ background: var(--primary); }
.eyebrow--dim{ color: rgba(228,216,171,.8); }

.rezultaty-head{ display:flex; flex-direction:column; gap:1.5rem; }
@media (min-width: 768px){ .rezultaty-head{ flex-direction:row; align-items:flex-end; justify-content:space-between; } }

.rezultaty-nav{ display:flex; align-items:center; gap:.75rem; }
.rezultaty-nav__btn{
  width:44px; height:44px; border-radius: .75rem;
  border: 1px solid rgba(254,252,244,.2); background:transparent; color: var(--primary-foreground);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  transition: border-color .2s ease, color .2s ease;
}
.rezultaty-nav__btn:hover{ border-color: rgba(228,216,171,.6); color: var(--secondary); }
.rezultaty-dots{ display:flex; align-items:center; gap:.5rem; }
.rezultaty-dots button{ height:6px; width:10px; border-radius:999px; border:0; background: rgba(254,252,244,.25); padding:0; transition: all .2s ease; }
.rezultaty-dots button:hover{ background: rgba(254,252,244,.4); }
.rezultaty-dots button.active{ width:2rem; background: var(--secondary); }

.rezultaty-card{ margin-top: 2.5rem; }
.rezultaty-slide{ display:none; animation: fadeIn .3s ease; }
.rezultaty-slide.active{ display:block; }

.rezultaty-card__head{
  display:flex; flex-wrap:wrap; align-items:center; gap:.85rem;
  padding: 1.1rem 1.5rem;
  background: rgba(1,27,53,.4); border: 1px solid rgba(254,252,244,.1);
  border-top-left-radius: 1.2rem; border-top-right-radius: 1.2rem;
}
.rezultaty-card__num{ font-family: var(--font-display); font-size:.85rem; color: rgba(254,252,244,.4); }
.rezultaty-card__info{ flex:1; min-width:200px; color: rgba(254,252,244,.85); font-size:.92rem; font-weight: 600; }
.rezultaty-card__info strong{ color: var(--primary-foreground); font-weight:600; }
.rezultaty-card__duration{
  border: 1px solid rgba(228,216,171,.4); color: var(--secondary);
  border-radius:999px; padding:.3rem .9rem; font-size:.78rem; font-weight:600;
}

.rezultaty-card__grid{
  display:grid; grid-template-columns: 1fr; align-items:stretch;
  border: 1px solid rgba(254,252,244,.1); border-top:0;
  border-bottom-left-radius: 1.2rem; border-bottom-right-radius: 1.2rem;
  overflow:hidden;
}
@media (min-width: 768px){ .rezultaty-card__grid{ grid-template-columns: 1fr auto 1fr; } }

.rezultaty-panel{ padding: 1.75rem 2rem; }
@media (min-width: 768px){ .rezultaty-panel{ padding: 2rem 2.25rem; } }
.rezultaty-panel__label{ display:block; text-transform:uppercase; letter-spacing:.18em; font-size:.68rem; font-weight:600; margin-bottom:1rem; }
.rezultaty-panel ul{ list-style:none; margin:0; padding:0; }
.rezultaty-panel li{ display:flex; align-items:flex-start; gap:.65rem; margin-bottom:.75rem; font-size:.92rem; line-height:1.6; }
.rezultaty-panel li i{ margin-top:.2rem; flex-shrink:0; font-size:.9rem; }

.rezultaty-panel--before{ background: rgba(254,252,244,.95); border-left: 4px solid rgba(14,55,92,.15); }
.rezultaty-panel--before .rezultaty-panel__label{ color: rgba(14,55,92,.5); }
.rezultaty-panel--before li{ color: rgba(14,55,92,.7); }
.rezultaty-panel--before li i{ color: rgba(14,55,92,.4); }

.rezultaty-panel__arrow{
  display:none; align-items:center; justify-content:center; padding: 0 1rem;
  background: rgba(254,252,244,.95); border-left: 1px solid rgba(14,55,92,.1); border-right: 1px solid rgba(14,55,92,.1);
  color: rgba(14,55,92,.4); font-size:1.2rem;
}
@media (min-width: 768px){ .rezultaty-panel__arrow{ display:flex; } }

.rezultaty-panel--after{ background: var(--secondary-light); border-left: 4px solid var(--secondary-foreground); }
.rezultaty-panel--after .rezultaty-panel__label{ color: var(--primary); }
.rezultaty-panel--after li{ color: rgba(1,27,53,.85); }
.rezultaty-panel--after li i{ color: var(--primary); }

.rezultaty-badge{
  display:inline-block; margin-top: 1.5rem;
  background: var(--primary); color: var(--primary-foreground);
  border-radius:999px; padding:.5rem 1.1rem; font-size:.78rem; font-weight:600;
}

/* ---------- Contact ---------- */
.container-narrow{ width:100%; max-width: 72rem; margin: 0 auto; padding: 0 1.5rem; }
.kontakt-section{ background: rgba(228,216,171,.3); }

.kontakt-card{
  background: var(--card); border: 1px solid var(--border); border-radius: 1.5rem;
  padding: 2rem; box-shadow: var(--shadow-soft);
}
@media (min-width: 992px){ .kontakt-card{ padding: 3.5rem; } }
@media (min-width: 1200px){ .kontakt-card--wide{ padding: 4rem 4.5rem; } }

.kontakt-intro{ margin-top: 1.75rem; display:grid; grid-template-columns: 1fr; gap: 1.5rem; align-items:center; }

@media (min-width: 576px){ .kontakt-intro{ grid-template-columns: auto 1fr; text-align:left; } }
.kontakt-photo{
  width: 112px; height: 112px; border-radius:50%; object-fit:cover;
  border: 4px solid rgba(228,216,171,.4); box-shadow: var(--shadow-soft);
  margin: 0 auto;
}
@media (max-width: 576px){
  .kontakt-photo{
    width:150px; 
    height:150px; 
    margin: 0;
  }
  .kontakt-intro{
    gap: 0;
  }
}
@media (min-width: 576px){ .kontakt-photo{ margin: 0; width:128px; height:128px; } }

.icon-check-list--tight li{ align-items:center; margin-bottom:.6rem; }
.icon-check-list--tight li i{ font-size:1.05rem; margin-top:0; }

/* Selectors also target Contact Form 7's own classes (wpcf7-*), so a real
   CF7-generated form inherits this exact look with no extra CSS needed. */
.kontakt-form, .wpcf7-form{ display:flex; flex-direction:column; gap: 1rem; }
.kontakt-form label, .wpcf7-form label{
  display:block; margin-bottom:.4rem; font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em; color: var(--muted-foreground);
}
.kontakt-form input,
.kontakt-form select,
.kontakt-form textarea,
.wpcf7-form .wpcf7-text,
.wpcf7-form .wpcf7-email,
.wpcf7-form .wpcf7-tel,
.wpcf7-form .wpcf7-textarea,
.wpcf7-form .wpcf7-select{
  width:100%; border:1px solid var(--border); background: var(--background);
  border-radius:.6rem; padding:.75rem 1rem; font-size:.9rem; font-family:inherit; color: var(--foreground);
}
.kontakt-form input::placeholder,
.kontakt-form textarea::placeholder,
.wpcf7-form .wpcf7-text::placeholder,
.wpcf7-form .wpcf7-email::placeholder,
.wpcf7-form .wpcf7-tel::placeholder,
.wpcf7-form .wpcf7-textarea::placeholder{ color: rgba(0,18,38,.35); }
.kontakt-form input:focus,
.kontakt-form select:focus,
.kontakt-form textarea:focus,
.wpcf7-form .wpcf7-form-control:focus{ outline:0; border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(14,55,92,.12); }
.kontakt-form textarea, .wpcf7-form .wpcf7-textarea{ resize: vertical; }
.kontakt-form select,
.wpcf7-form .wpcf7-select{ appearance:none; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23495766' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e"); background-repeat:no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }

.kontakt-form__consent, .wpcf7-form .wpcf7-acceptance{ display:flex; align-items:flex-start; gap:.65rem; }
.kontakt-form__consent input, .wpcf7-form .wpcf7-checkbox{ width:auto; margin-top:.25rem; flex-shrink:0; }
.kontakt-form__consent label, .wpcf7-form .wpcf7-acceptance label{
  display:block; margin:0; text-transform:none; letter-spacing:normal;
  font-size:.88rem; font-weight:400; color: var(--muted-foreground); line-height:1.5;
}

.kontakt-submit, .wpcf7-form .wpcf7-submit{
  width:100%; border:0; border-radius:999px; background: var(--primary); color: var(--primary-foreground);
  padding: 1rem; font-size:.95rem; font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  transition: background-color .2s ease;
}
.kontakt-submit:hover, .wpcf7-form .wpcf7-submit:hover{ background: var(--primary-deep); }

.form-note{ margin: 1rem 0 0; font-size: .78rem; color: var(--muted-foreground); text-align:center; }

/* ---------- Wiedza header ---------- */
.wiedza-head{ width:100%; gap: 1rem; }
.wiedza-head .eyebrow{ margin-bottom: 1.75rem; }
.wiedza-all-link{
  display:inline-flex; align-items:center; gap:.5rem;
  color: var(--primary); font-weight:600; font-size:.95rem;
  transition: gap .2s ease;
}
.wiedza-all-link:hover{ gap:.8rem; color: var(--primary); }

/* ---------- Articles ---------- */
.article-card{ display:block; background: var(--card); border:1px solid var(--border); border-radius:1.2rem; overflow:hidden; height:100%; transition: transform .2s ease, box-shadow .2s ease; }
.article-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.article-card:hover h3{ color: var(--primary); }
.article-card img{ width:100%; height: 190px; object-fit: cover; }
.article-card__body{ padding: 1.4rem; }
.article-card__meta{
  display:flex; align-items:center; justify-content:space-between;
  text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; margin-bottom:0;
}
.article-card__cat{ display:inline-flex; align-items:center; gap:.35rem; color: var(--primary); font-weight:600; }
.article-card__cat i{ font-size:.85rem; }
.article-card__time{ color: var(--muted-foreground); font-weight:400; letter-spacing:.05em; }
.article-card h3{
  margin-top:1.1rem; margin-bottom: 1.4rem;
  font-family: var(--font-display); font-size: 1.2rem; font-weight:600; line-height:1.4;
  color: var(--foreground); transition: color .2s ease;
}
.article-card__link{ display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:600; color: var(--primary); }

/* ---------- FAQ ---------- */
.faq-section{ background: var(--card); }
.container-4xl{ width:100%; max-width: 56rem; margin:0 auto; padding: 0 1.5rem; }

.faq-accordion{
  max-width: none;
  display:flex; flex-direction:column; gap: .75rem;
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230e375c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m6 9 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
  --bs-accordion-btn-icon-width: 1.2rem;
}
.accordion-item,
.accordion-item:not(:first-of-type),
.accordion-item:first-of-type,
.accordion-item:last-of-type{
  background: var(--background); border: 1px solid var(--border) !important; border-radius: 1.2rem !important;
  overflow: hidden;
}
.accordion-button{
  font-family: var(--font-display); font-weight:600; font-size:1.15rem; color: var(--foreground);
  background:transparent; padding: 1.4rem 1.6rem; box-shadow:none !important;
}
.accordion-button:hover{ background: rgba(228,216,171,.1); }
.accordion-button:not(.collapsed){ color: var(--foreground); background: transparent; }
.accordion-body{ padding: 0 1.6rem 1.6rem; color: var(--muted-foreground); line-height:1.7; }

/* ---------- Footer ---------- */
.site-footer{ background: var(--primary); color: rgba(254,252,244,.7); padding: 4rem 0 0; border-top: 1px solid rgba(254,252,244,.1); }
.site-footer .brand-name{ color: var(--primary-foreground); }
.site-footer h6{ color: var(--primary-foreground); font-weight:600; letter-spacing:.02em; margin-bottom: 1rem; }
.footer-tagline{ margin-top:1.25rem; font-size:.9rem; color: rgba(254,252,244,.7); max-width: 24rem; line-height:1.7; }

.footer-col{ position:relative; font-size:.9rem; color: rgba(254,252,244,.7); }
@media (min-width: 992px){
  .footer-col--divider::before{
    content:""; position:absolute; left:-1.5rem; top:0; bottom:0; width:1px;
    background: rgba(254,252,244,.1);
  }
}

.footer-contact{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.75rem; }
.footer-contact li{ display:flex; align-items:center; gap:.75rem; }
.footer-contact i{ color: var(--secondary); font-size:.95rem; flex-shrink:0; margin-right: 10px; }
.footer-contact a{ color: rgba(254,252,244,.7); }
.footer-contact a:hover{ color: var(--secondary); }

.footer-nav-grid{ display:grid; gap: .75rem 1rem; }
.footer-nav-grid a{
  color: rgba(254,252,244,.7);
  border-bottom: 1px solid rgba(254,252,244,.1);
  padding-bottom: .5rem;
  transition: color .2s ease;
}
.footer-nav-grid a:hover{ color: var(--secondary); }

.copyright{
  margin: 3rem 0 0; padding: 1.5rem 0;
  border-top: 1px solid rgba(254,252,244,.1);
  font-size:.78rem; color: rgba(254,252,244,.6); text-align:center;
}

/* ---------- Back to top ---------- */
.back-to-top{
  position: fixed; right: 1.4rem; bottom: 1.4rem; width: 44px; height:44px; border-radius:50%;
  background: var(--secondary); color: var(--secondary-foreground); display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; opacity:0; visibility:hidden; transform: translateY(10px); transition: all .25s ease; z-index:1040;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background: var(--secondary-light); }

/* =========================================================
   O MNIE — page-specific components
   ========================================================= */

/* Hero */
.hero-about{ position:relative; overflow:hidden; background: var(--secondary-light); padding: 7rem 0 4rem; }
.hero-about__dots{
  position:absolute; inset:0; pointer-events:none;
  background-image: radial-gradient(rgba(14,55,92,.35) 1.5px, transparent 1.5px);
  background-size: 22px 22px;
  opacity:.35;
}
.hero-about__inner{ position:relative; z-index:1; }
.hero-about__eyebrow{ margin-bottom: .5rem; }
.hero-about__title{
  font-family: var(--font-display); font-weight:500; line-height:1.15;
  font-size: clamp(2rem, 1.5rem + 2vw, 3rem); color: var(--primary);
}
.hero-about__lead{ margin-top:1.5rem; font-size:1.1rem; color: rgba(0,18,38,.8); line-height:1.7; }
.hero-about__text{ margin-top:1rem; color: rgba(0,18,38,.65); line-height:1.7; }
.hero-about__photo-wrap{ border-radius:1.5rem; overflow:hidden; box-shadow: var(--shadow-elegant); }
.hero-about__photo{ width:100%; height:100%; min-height:340px; object-fit:cover; display:block; }

.hero-about__linkedin{
  display:inline-flex; align-items:center; gap:.5rem;
  color: var(--foreground); font-weight:600; font-size:.95rem;
  text-decoration:underline; text-underline-offset:3px;
}
.hero-about__linkedin i{ font-size:1.2rem; color: var(--primary); }
.hero-about__linkedin:hover{ color: var(--primary); }

.hero-about__stats{
  display:flex; flex-wrap:wrap; margin-top:2.5rem; padding: 1.5rem 0;
  border-top:1px solid rgba(0,18,38,.25); border-bottom:1px solid rgba(0,18,38,.25);
}

.hero-about__stats div{ padding: 0 1.75rem; border-left:1px solid rgba(0,18,38,.25); }
.hero-about__stats div:first-child{ padding-left:0; border-left:0; }
.hero-about__stats span{ display:block; font-family: var(--font-display); font-size:1.9rem; font-weight:700; color: var(--primary) !important; line-height:1; }
.hero-about__stats small{ display:block; margin-top:.4rem; color: rgba(0,18,38,.6); font-size:.85rem; }
@media (max-width: 425px){
  .hero-about__stats{
        flex-wrap: nowrap;
  }
}

/* Role cards: icon badge */
.role-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:1rem;
  background: var(--cream-alt, var(--muted)); color: var(--primary);
  font-size:1.35rem; margin-bottom:1rem;
}
.role-icon--light{ background: rgba(228,216,171,.2); color: var(--secondary); }
.icon-check-list--light li{ color: rgba(254,252,244,.85); }
.icon-check-list--light li i{ color: var(--secondary); }

/* Expertise table (dark section) */
.expertise-lead{ color: rgba(254, 252, 244, .75);
    font-size: 1.15rem;
    line-height: 1.75;
    margin-bottom: 1rem;
    max-width: 770px;
    font-family: var(--font-display); }
.expertise-head__icon{ font-size:.85rem; color: var(--secondary); }
@media (min-width: 992px){
  .expertise-head-col{ position: sticky; top: 6rem; align-self: start; }
}
.expertise-head__rule{ display:block; width:3.5rem; height:1px; background: rgba(228,216,171,.4); margin-top:1.5rem; }
.expertise-highlight{
  margin-top:1.75rem; padding-top:1.75rem;
  border-top:1px solid rgba(254,252,244,.15);
  color: var(--secondary); font-weight:600; font-size:1.05rem; line-height:1.75;
}
.expertise-table{ display:flex; flex-direction:column; gap:1.25rem; }
.expertise-row{
  background: rgba(254,252,244,.04);
  border:1px solid rgba(254,252,244,.14);
  border-radius:1.4rem;
  padding: 2rem;
  display:flex; flex-direction:column; gap:1.5rem;
}
@media (min-width: 768px){ .expertise-row{ flex-direction:row; align-items:center; padding: 2.5rem 2.2rem; gap:2.5rem; } }
.expertise-row__label{ flex:0 0 auto; font-family: var(--font-display); font-size:1.6rem; font-weight:700; color: var(--secondary); }
@media (min-width: 768px){ .expertise-row__label{ flex:0 0 29px; } }
.expertise-row__cols{ flex:1; display:grid; grid-template-columns: 1fr; gap: .5rem 2.5rem; width:100%; }
@media (min-width: 576px){ .expertise-row__cols{ grid-template-columns: 1fr 1fr; } }
.expertise-row__cols ul{ list-style:none; margin:0; padding:0; }
.expertise-row__cols li{ display:flex; align-items:flex-start; gap:.75rem; margin-bottom:1rem; font-size:.95rem; color: rgba(254,252,244,.85); }
.expertise-row__cols li:last-child{ margin-bottom:0; }
.expertise-row__cols li i{ color: rgba(254,252,244,.7); margin-top:.15rem; flex-shrink:0; font-size:1rem; }

/* Certificates static grid (o-mnie page) */
.cert-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:1.25rem; }
@media (min-width: 576px){ .cert-grid{ grid-template-columns: repeat(3,1fr); } }
@media (min-width: 992px){ .cert-grid{ grid-template-columns: repeat(5,1fr); } }

/* Featured testimonial (wide variant) */
.practice-card--wide{ max-width: 720px; text-align:center; }
.practice-card--wide .practice-card__stars{ justify-content:center; }
.practice-card--wide .practice-card__author{ justify-content:center; }

/* Featured testimonial with photo (wide variant with left photo column) */
.practice-card--featured{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:1.75rem; padding:2rem;
}
@media (min-width: 768px){
  .practice-card--featured{ flex-direction:row; align-items:flex-start; text-align:left; padding:3rem; gap:3rem; }
}
.practice-card__photo{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:1.25rem; }
.practice-card__photo img{
  width:150px; height:150px; border-radius:50%; object-fit:cover;
  box-shadow: 0 0 0 5px var(--card), 0 0 0 8px rgba(228,216,171,.6);
}
@media (min-width: 768px){ .practice-card__photo img{ width:190px; height:190px; } }
.practice-card--featured .practice-card__content{ flex:1; min-width:0; }
.practice-card__quote-icon{ display:block; width:2.5rem; height:auto; color: var(--secondary); margin-bottom:.75rem; }
.practice-card--featured blockquote{
  font-family: var(--font-display); font-weight:500; font-size:1.2rem; line-height:1.55;
  color: rgba(0,18,38,.9); margin-top:0;
}
@media (min-width: 768px){ .practice-card--featured blockquote{ font-size:1.3rem; } }
.practice-card--featured .practice-card__badge{ font-size:.9rem; padding:.55rem 1.1rem; }
.practice-card--featured .practice-card__author{ justify-content:center; }
@media (min-width: 768px){ .practice-card--featured .practice-card__author{ justify-content:flex-start; } }
.practice-card--featured .avatar-badge{ width:48px; height:48px; font-size:.9rem; }
.practice-card--featured .practice-card__author strong{ font-size:1rem; font-weight:700; }
.practice-card--featured .practice-card__author small{ font-size:.85rem; }

/* Client logos strip */
.logos-strip{ text-align:center; }
.logos-strip__label{ display:block; font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; color: var(--muted-foreground); font-weight:600; margin-bottom:1.5rem; }

.logo-marquee{
  overflow:hidden; margin-top:.5rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logo-marquee__track{ display:flex; gap:1.5rem; width:max-content; transition: transform .7s ease; will-change: transform; }
.logo-card{
  flex:0 0 auto; min-width:190px; height:96px;
  display:flex; flex-direction:row; align-items:center; justify-content:center; gap:.6rem;
  background: var(--card); border-radius:1rem; box-shadow: var(--shadow-soft);
}
.logo-card--stack{ flex-direction:column; gap:.1rem; }
.logo-mark{ width:auto; height:76px; flex-shrink:0; }
.logo-wordmark{ font-weight:800; font-size:1.3rem; letter-spacing:.01em; color:#16233a; }
.logo-wordmark--split em{ font-style:normal; font-weight:600; color:#3a3a3a; }
.logo-wordmark--split{ color:#c99a2e; }
.logo-wordmark--dark{ color:#161616; }
.logo-tagline{ font-family: var(--font-display); font-style:italic; color:#d1608a; font-size:.85rem; }

/* Mini testimonial cards (3x3 grid) */
.mini-testimonial{ background: var(--card); border:1px solid var(--border); border-radius:1.1rem; padding:1.75rem; height:100%; }
.mini-testimonial__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.1rem; }
.mini-testimonial__stars{ color: var(--secondary); display:flex; gap:.15rem; font-size:.82rem; }
.mini-testimonial .practice-card__quote-icon{ width:1.6rem; margin-bottom:.6rem; }
.mini-testimonial blockquote{
  font-family: var(--font-display); font-style:italic; font-weight:500;
  font-size:.98rem; color: rgba(0,18,38,.85); line-height:1.6; margin:0;
}
.mini-testimonial .practice-card__badge{ margin-top:1.25rem; }
.mini-testimonial__author{ margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--border); }
.mini-testimonial__author strong{ display:block; font-size:.88rem; color: var(--foreground); }
.mini-testimonial__author span{ font-size:.78rem; color: var(--muted-foreground); }
.mini-testimonial__divider{ margin: 1.1rem 0 0; border:0; border-top:1px solid var(--border); }
.mini-testimonial__thumb-btn{ display:block; margin-top:.9rem; padding:0; border:0; background:none; cursor: zoom-in; }
.mini-testimonial__thumb{ display:block; max-width:100%; height:auto; border-radius:.5rem; border:1px solid var(--border); }
.mini-testimonial__modal .modal-content{ position:relative; background: transparent; border:0; }
.mini-testimonial__modal .modal-content img{ width:100%; height:auto; border-radius:.5rem; }
.mini-testimonial__modal .btn-close{ position:absolute; top:-2.2rem; right:0; filter: invert(1) grayscale(1) brightness(2); opacity:1; }
.mini-testimonial .mini-testimonial__thumb{display: block;  max-width: 100%;}

/* =========================================================
   ARTYKUŁ (optymalizacja-procesow i podobne strony treściowe)
   ========================================================= */
.article-hero{ background: var(--muted); padding: 5rem 0 3rem; }
.article-hero__title{ font-family: var(--font-display); font-weight:500; font-size: clamp(2.1rem, 1.7rem + 1.6vw, 3rem); line-height:1.15; color: var(--foreground); margin-top:.75rem; }
.article-hero__meta{ margin-top:1.25rem; display:flex; align-items:center; gap:.5rem; color: var(--muted-foreground); font-size:.95rem; font-style:italic; }
.article-hero--center{ padding: 4.5rem 0 3.5rem; }
.article-hero--center .eyebrow-plain{ text-align:center; }
.article-hero__subtitle{ margin-top:1.25rem; max-width:640px; color: var(--muted-foreground); font-size:1.05rem; line-height:1.7; }

.article-body-section{ padding-top: 3.5rem; padding-bottom: 3.5rem; }
.article-body h2{
  font-family: var(--font-display); font-weight:600; font-size: clamp(1.6rem, 1.4rem + .8vw, 2rem);
  color: var(--primary); margin: 3rem 0 1.25rem; position: relative; padding-bottom: 20px;
}
.article-body > .row + h2,
.article-body h2:first-child{ margin-top:0; }
.article-body > h2:after {
    content: "";
    background: var(--secondary);
    border-radius: 9999px;
    width: 6rem;
    height: .375rem;
    position: absolute;
    bottom: 0;
    left: 0;
}
.article-body h3{ font-family: var(--font-display); font-weight:600; font-size:1.55rem; color: var(--primary); margin: 1.5rem 0 1.1rem; }
.article-body h4{ font-family: var(--font-display); font-weight:600; font-size:1.05rem; color: var(--foreground); margin: 0 0 .5rem; }
.article-body p{ color: rgba(0,18,38,.78); line-height:1.85; font-size:1.1rem; margin-bottom:1.1rem; }
.article-body p strong{ color: var(--foreground); font-weight:700; }
.article-body ul:not(.icon-check-list):not(.dot-list){ padding-left:1.3rem; color: var(--muted-foreground); line-height:1.9; font-size:1.1rem; }
.article-body ul:not(.icon-check-list):not(.dot-list) li{ padding-left:.3rem; margin-bottom:.4rem; }
.article-body ul li::marker{color: var(--secondary);}
.article-body a{
  border-bottom: 1px solid lab(86 -0.85 23.85);
  border-bottom: 1px solid #E3D7AA;
  color: #0d3356;
  padding-bottom: 1px;
}
.article-body .alignright {    
  float: right;
    width: 50%;
    margin-left: 40px;
  }
  .article-body .alignleft {    
    float: left;
    width: 50%;
    margin-right: 40px;
  }
@media (max-width:768px){
  .article-body .alignleft, .article-body .alignright{width: 100%;}
}
.dot-list{ list-style:none; margin:0; padding:0; }
.dot-list li{
  position:relative; padding-left:1.4rem; margin-bottom:1rem;
  font-size:1.1rem; line-height:1.75; color: rgba(0,18,38,.78);
}
.dot-list li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%;
  background: var(--secondary);
}
.article-body__img{ width:100%; border-radius:1.1rem; box-shadow: var(--shadow-soft); object-fit:cover; }

.callout-box{
  display:flex; gap:1rem; align-items:flex-start;
  background: var(--muted); border-left:4px solid var(--primary);
  border-radius: .8rem; padding:1.5rem 1.75rem;
}
.callout-box i{ color: var(--primary); font-size:1.3rem; flex-shrink:0; margin-top:.15rem; }
.callout-box p{ margin:0; color: rgba(0,18,38,.8); font-style:italic; line-height:1.75; }
.callout-box--highlight{ background: rgba(228,216,171,.25); border-left-color: var(--secondary-foreground); }

.goal-grid{ display:grid; grid-template-columns: 1fr; gap:1.25rem; }
@media (min-width:576px){ .goal-grid{ grid-template-columns: 1fr 1fr; } }
/* @media (min-width:992px){ .goal-grid{ grid-template-columns: 1fr 1fr 1fr; } } */
.goal-item{ background: var(--card); border:1px solid var(--border); border-radius:1rem; padding:1.5rem; }
.goal-item h3{ font-size:1.05rem; margin-top:0; }
.goal-item p{ font-size:.9rem; margin:0; }

.process-list{ display:flex; flex-direction:column; gap:1px; background: var(--border); border:1px solid var(--border); border-radius:1rem; overflow:hidden; }
.process-list__item{ background: var(--card); padding:1.25rem 1.5rem; }
.process-list__item h4{ margin-bottom:.35rem; }
.process-list__item p{ margin:0; font-size:.92rem; }

.method-grid{ display:grid; grid-template-columns: 1fr; gap:1rem; }
@media (min-width:576px){ .method-grid{ grid-template-columns: 1fr 1fr; } }
@media (min-width:992px){ .method-grid{ grid-template-columns: 1fr 1fr 1fr; } }
.method-item{ background: var(--muted); border-radius:.9rem; padding:1.25rem 1.4rem; }
.method-item h4{ font-size:.98rem; margin-bottom:.35rem; }
.method-item p{ margin:0; font-size:.87rem; }

.numbered-steps{ display:flex; flex-direction:column; gap:2rem; }
.numbered-steps__item h3{ margin-top:0; }
.numbered-steps__item > p{ margin-bottom:.75rem; }
.numbered-steps__item .dot-list{ margin-top:.5rem; }
.numbered-steps__item .dot-list li{ margin-bottom:.65rem; font-size:1rem; }

.numbered-bullet-list{ list-style:none; margin:1rem 0 0; padding:0; display:flex; flex-direction:column; gap:1.1rem; }
.numbered-bullet-list li{ display:flex; align-items:flex-start; gap:1rem; }
.numbered-bullet-list__num{
  flex-shrink:0; width:1.9rem; height:1.9rem; border-radius:50%;
  background: var(--primary); color: var(--primary-foreground);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-display); font-weight:700; font-size:.9rem;
  margin-top:.1rem;
}
.numbered-bullet-list li > span:last-child{ font-size:1.1rem; line-height:1.75; color: rgba(0,18,38,.78); }
.numbered-bullet-list li strong{ color: var(--foreground); }

.case-banner-section{ padding: 4rem 0; }
.case-banner{
  display:grid; grid-template-columns: 1fr; align-items:stretch;
  border-radius: 1.5rem; overflow:hidden; box-shadow: var(--shadow-elegant);
}
@media (min-width:992px){ .case-banner{ grid-template-columns: 1fr 1fr; height: auto; } }

.case-banner__photo{ min-height:260px; height:100%; }
.case-banner__photo img{ width:100%; height:100%; object-fit:cover; display:block; }

.case-banner__content{ background: var(--primary); padding: 2rem; display:flex; flex-direction:column; justify-content:center; }
@media (min-width:992px){ .case-banner__content{ padding: 2rem 2.75rem; } }

.case-banner__eyebrow{ font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.2em; color: var(--secondary); }
.case-banner .case-banner__title{
  font-family: var(--font-display); font-weight:600; line-height:1.2;
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.65rem); color: var(--background); margin-top:.6rem;
}
.case-banner .case-banner__lead{ margin-top:.6rem; color: rgba(254,252,244,.75); font-size:.9rem; line-height:1.55; }

.case-banner__stats{ display:grid; grid-template-columns: repeat(4, 1fr); gap:0; margin-top:1.1rem; }
.case-banner__stats--3{ grid-template-columns: repeat(3, 1fr); }
.case-banner__stats div{ padding: 0 0 0 .95rem; border-left:2px solid rgba(228,216,171,.4); min-width:0; }
.case-banner__stats span{ display:block; font-family: var(--font-display); font-size:1.2rem; font-weight:700; color: var(--secondary); line-height:1; white-space:nowrap; }
.case-banner__stats small{ display:block; margin-top:.3rem; color: rgba(254,252,244,.65); font-size:.68rem; line-height:1.3; }

.case-banner .case-banner__btn{
  display:inline-flex; align-items:center; gap:.6rem; align-self:flex-start;
  margin-top:1.25rem; background: var(--secondary); color: var(--primary);
  border-radius:999px; padding:.7rem 1.4rem; font-weight:600; font-size:.88rem;
  transition: background-color .2s ease;
}
.case-banner .case-banner__btn:hover{ background: var(--secondary-light); color: var(--primary); }

/* Stacked variant: photo on top, content below — used for repeating cards in a list/grid */
.case-banner--stack{ height:auto; }
@media (min-width:992px){ .case-banner--stack{ grid-template-columns:1fr; height:auto; } }
.case-banner--stack .case-banner__photo{ min-height:220px; height:260px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px){
  .section-padding{ padding: 4rem 0; }
  .hero-section{ min-height: auto; padding-bottom: 2rem; }
  .hero-about{ padding: 6rem 0 3rem; text-align:center; }
  .hero-about__photo-wrap{ margin-top: 2rem; }
  .hero-about__lead, .hero-about__text{ max-width: 560px; margin-left:auto; margin-right:auto; }
  .hero-about .d-flex{ justify-content:center; }
  .hero-about__stats{ justify-content:center; }
}

@media (max-width: 767.98px){
  .section-padding{ padding: 3.2rem 0; }
  .stuck-card, .step-panel, .role-card, .zakres-item{ padding: 1.6rem; }
  .kontakt-card{ padding: 1.5rem; }
  .then-now > div{ padding: 1.6rem; }
  .hero-title{ font-size: 2.2rem; line-height: 3rem; }
  .expertise-row__label{ flex-basis:auto; }
  .article-hero{ padding: 3.5rem 0 2rem; }
  .article-body-section{ padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .case-banner__stats{ grid-template-columns: repeat(2, 1fr); row-gap:1.25rem; }
  .case-banner__stats div{ padding-left:1rem; }
}

/* =========================================================
   SUKCESJA FIRMY (etapy, quiz gotowości, cytaty anonimowe)
   ========================================================= */
.stage-grid{ display:grid; grid-template-columns:1fr; gap:1.75rem; margin-top:2.5rem; align-items:start; }
@media (min-width:992px){
  .stage-grid, .stage-grid--cols3{ grid-template-columns: repeat(3, 1fr); }
  .stage-grid--cols2{ grid-template-columns: repeat(2, 1fr); }
}
.stage-card{ background: var(--card); border:1px solid var(--border); border-radius:1.25rem; padding:2rem; box-shadow: var(--shadow-soft); }
@media (min-width:768px){ .stage-card{ padding:2.5rem; } }
.stage-card__duration{ display:block; margin-bottom:.6rem; font-size:.78rem; color: var(--secondary); text-transform:uppercase; letter-spacing:.2em; }
.stage-card > h3{ margin:0 0 1.25rem; font-family: var(--font-display); font-weight:600; font-size:1.3rem; color: var(--foreground); }

/* Lista wewnątrz karty etapu pochodząca z bloku "OPB Etap" to natywny blok
   Gutenberga core/list (<ul class="wp-block-list">) — stylujemy ją tak,
   żeby wyglądała jak .dot-list, bez zmiany klasy generowanej przez WP. */
.stage-card .wp-block-list{ list-style:none; margin:0; padding:0; }
.stage-card .wp-block-list li{
  position:relative; padding-left:1.4rem; margin-bottom:1rem;
  font-size:1.1rem; line-height:1.75; color: rgba(0,18,38,.78);
}
.stage-card .wp-block-list li::before{
  content:""; position:absolute; left: -15px;    top: .65em;
  width:7px; height:7px; border-radius:50%;
  background: var(--secondary);
}
.stage-card__deliverable{ margin-top:1.5rem; padding:1.5rem; background: var(--muted); border-radius:.9rem; }
.stage-card__deliverable-label{ display:block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color: var(--muted-foreground); margin-bottom:.5rem; }
.stage-card__deliverable p{ margin:0; font-size:.9rem; color: var(--foreground); line-height:1.55; }
.stage-card__split{ display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.stage-card__split-label{ display:block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color: var(--primary); margin-bottom:.4rem; }
.stage-card__split p{ margin:0; font-size:.92rem; color: var(--muted-foreground); line-height:1.65; }

.mini-testimonial__role{
  margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--border);
  font-size:.85rem; font-style:italic; color: var(--muted-foreground);
}
.mini-testimonial__author{ margin-top:1.25rem; padding-top:1.1rem; border-top:1px solid var(--border); }
.mini-testimonial__author strong{ display:block; font-size:.95rem; font-weight:700; color: var(--foreground); margin-bottom:.2rem; }
.mini-testimonial__author span{ font-size:.85rem; color: var(--muted-foreground); }

.quiz-card{ background: var(--card); border:1px solid var(--border); border-radius:1.5rem; padding:1.75rem; box-shadow: var(--shadow-soft); }
@media (min-width:768px){ .quiz-card{ padding:2.5rem; } }
.quiz-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.35rem; counter-reset: quiz; }
.quiz-item label{ display:flex; align-items:flex-start; gap:.9rem; cursor:pointer; padding:.85rem 1rem; border-radius:.9rem; transition: background .15s ease; }
.quiz-item label:hover{ background: var(--muted); }
.quiz-item__input{ position:absolute; opacity:0; width:1px; height:1px; }
.quiz-item__box{
  flex-shrink:0; width:1.4rem; height:1.4rem; border-radius:.4rem; border:2px solid var(--border);
  display:flex; align-items:center; justify-content:center; margin-top:.15rem;
  color:#fff; background:#fff; transition: background .15s ease, border-color .15s ease;
}
.quiz-item__box i{ font-size:.85rem; opacity:0; transition: opacity .1s ease; }
.quiz-item__input:checked + .quiz-item__box{ background: var(--primary); border-color: var(--primary); }
.quiz-item__input:checked + .quiz-item__box i{ opacity:1; }
.quiz-item__input:focus-visible + .quiz-item__box{ outline:2px solid var(--primary); outline-offset:2px; }
.quiz-item__text{ font-size:.98rem; line-height:1.6; color: rgba(0,18,38,.85); }
.quiz-result{ margin-top:1.5rem; padding-top:1.75rem; border-top:1px solid var(--border); text-align:center; }
.quiz-result__output{ margin-top:1.5rem; }
.quiz-result__score{ font-family: var(--font-display); font-size:2.75rem; font-weight:700; color: var(--primary); }
.quiz-result__score span{ color: var(--muted-foreground); font-size:1.5rem; }
.quiz-result__output p{ margin-top:.75rem; color: var(--muted-foreground); max-width:520px; margin-left:auto; margin-right:auto; }

@media (max-width: 767.98px){
  .stage-card__head{ align-items:flex-start; }
}

.numbered-bullet-list--light .numbered-bullet-list__num{ background: var(--secondary); color: var(--secondary-foreground); }
.numbered-bullet-list--light li > span:last-child{ color: rgba(254,252,244,.85); }
.numbered-bullet-list--light li strong{ color: var(--secondary); }

.step-grid{ display:grid; grid-template-columns:1fr; gap:2.25rem 2rem; }
@media (min-width:576px){ .step-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:992px){ .step-grid{ grid-template-columns:1fr 1fr 1fr; } }
.step-grid__item{ padding-top:1.5rem; border-top:1px solid rgba(254,252,244,.15); }
.step-grid__item-num{ display:block; font-family: var(--font-display); font-weight:700; font-size:2.25rem; line-height:1; color: var(--secondary); margin-bottom:.85rem; }
.step-grid__item h3{ font-family: var(--font-display); font-weight:600; font-size:1.2rem; color: var(--primary-foreground); margin:0 0 .6rem; }
.step-grid__item p{ margin:0 0 1.25rem; color: rgba(254,252,244,.75); font-size:.95rem; line-height:1.65; }
.step-grid__item-badge{ display:inline-block; border:1px solid rgba(254,252,244,.3); border-radius:999px; padding:.4rem 1rem; font-size:.85rem; color: rgba(254,252,244,.9); }

/* =========================================================
   MECHANIKA PROBLEMU (expertise-row list, heading + text per number)
   ========================================================= */
.expertise-row__content h3{ font-family: var(--font-display); font-weight:600; font-size:1.3rem; color: var(--primary-foreground); margin:0 0 .6rem; }
.expertise-row__content p{ margin:0; color: rgba(254,252,244,.75); font-size:1rem; line-height:1.7; }

/* Dark navy summary box (inline highlight inside a light section) */
.navy-highlight-box{ background: var(--primary); color: var(--primary-foreground); border-radius: 1.1rem; padding: 1.75rem 2rem; }
.navy-highlight-box p{ color: rgba(254,252,244,.9); font-size: 1.05rem; line-height: 1.65; }

/* Muted (light) variant of the numbered badge, for secondary lists */
.numbered-bullet-list__num--muted{ background: var(--muted); color: var(--muted-foreground); }

/* Warning-triangle icon list (pain-point bullets) */
.icon-warn-list{ list-style:none; margin: 1.5rem 0 0; padding:0; }
.icon-warn-list li{ font-size: .9rem; display:flex; align-items:flex-start; gap:.75rem; margin-bottom: 1rem; color: rgba(0,18,38,.8); line-height:1.6; }
.icon-warn-list li i{ color: var(--secondary); font-size:1.05rem; flex-shrink:0; margin-top:-.1re; }
@media (min-width: 768px){
  .icon-warn-list--2col{ display:grid; grid-template-columns: 1fr 1fr; column-gap: 2.5rem; row-gap: 0; }
}

/* Exclusions box: bordered muted panel with a 2-col "X" list */
.exclusions-box{ background: var(--muted); border: 1px solid var(--border); border-radius: 1.25rem; padding: 2rem 2.25rem; }
.exclusions-box h3{ font-family: var(--font-display); font-weight:600; font-size:1.35rem; color: var(--foreground); margin:0 0 1.25rem; }
.exclusions-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap: 1rem 2rem; }
@media (min-width:768px){ .exclusions-list{ grid-template-columns: 1fr 1fr; } }
.exclusions-list li{ display:flex; align-items:flex-start; gap:.75rem; color: rgba(0,18,38,.75); line-height:1.6; }
.exclusions-list li i{ color: var(--muted-foreground); font-size:1.1rem; flex-shrink:0; margin-top:.15rem; }

/* Inline CTA box: muted rounded panel with text + button in a row */
.cta-inline-box{ background: var(--muted); border-radius: 1.25rem; padding: 1.75rem 2rem; }
.cta-inline-box p{ color: rgba(0,18,38,.75); font-size: 1rem; }

/* role-card--v2 tag: muted navy instead of the default grey tag color */
.role-card--v2 .role-card__tag{ color: rgba(14,55,92,.7); }

/* Light-theme round nav button (carousels on white/muted sections) */
.light-nav-btn{
  width:44px; height:44px; border-radius:50%;
  border: 1px solid var(--border); background: var(--card); color: var(--primary);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.light-nav-btn:hover{ background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); }

/* Testimonial row: horizontal sliding carousel (one card at a time) */
.testimonial-row{
  display:flex; gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: .5rem;
  scrollbar-width: none;
}
.testimonial-row::-webkit-scrollbar{ display:none; }
.testimonial-card-wrap{ flex: 0 0 calc(50% - .75rem); scroll-snap-align: start; min-width: 280px; }
@media (max-width: 767.98px){ .testimonial-card-wrap{ flex-basis: 88%; } }

/* =========================================================
   ARTYKUŁ — box autora + sidebar (blog post layout)
   ========================================================= */
.article-category-badge{
  display:inline-block; background: var(--secondary); color: var(--secondary-foreground);
  border-radius:999px; padding:.4rem 1rem; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em;
}

.pull-quote{
  background: var(--muted); padding:2rem 2.25rem;
  border-left: 4px solid var(--secondary);
  border-top-left-radius:0; border-bottom-left-radius:0;
  border-top-right-radius:1.1rem; border-bottom-right-radius:1.1rem;
}
.pull-quote__icon{
  display:block; font-family: var(--font-display); font-size:3.5rem; line-height:.6;
  color: var(--secondary); margin-bottom:.5rem;
}
@supports ((-webkit-text-stroke: 1px black) or (text-stroke: 1px black)){
  .pull-quote__icon{ color: transparent; -webkit-text-stroke: 1.6px var(--secondary); text-stroke: 1.6px var(--secondary); }
}
.pull-quote p{ margin:0; font-family: var(--font-display); font-style:italic; font-weight:500; font-size:1.3rem; line-height:1.6; color: var(--primary); }
article .article-hero__title{ color: var(--primary); }

.article-author{
  display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem;
  background: var(--muted); border-radius:1.2rem; padding:1.5rem 1.75rem; margin-top:3rem;
}
.article-author img{ width:88px; height:88px; border-radius:50%; object-fit:cover; flex-shrink:0; box-shadow: 0 0 0 3px var(--secondary); }
.article-author > div{ flex:1 1 0%; min-width:200px; }
.article-author h3{ margin:0 0 .35rem; font-family: var(--font-display); font-weight:600; font-size:1.15rem; color: var(--primary); }
.article-author p{ margin:0 0 .6rem; font-size:.9rem; color: var(--muted-foreground); line-height:1.6; }
.article-author a{ display:inline-flex; align-items:center; gap:.4rem; font-size:.88rem; font-weight:600; color: var(--primary); }
.article-author a:hover{ color: var(--primary-deep); }

.sidebar-card{ background: var(--card); border:1px solid var(--border); border-radius:1.2rem; padding:1.75rem; }
.sidebar-card h3{ font-family: var(--font-display); font-weight:600; font-size:1.1rem; margin:0 0 .75rem; color: var(--foreground); }
.sidebar-topics{ list-style:none; margin:0; padding:0; }
.sidebar-topics li{ border-bottom:1px solid var(--border); }
.sidebar-topics li:last-child{ border-bottom:0; }
.sidebar-topics a{ display:block; padding:.65rem 0; color: rgba(0,18,38,.75); font-size:.92rem; transition: color .2s ease; }
.sidebar-topics a:hover{ color: var(--primary); }

.sidebar-cta{ background: rgba(228,216,171,.3); border-radius:1.2rem; padding:1.75rem; margin-top:1.75rem; }
.sidebar-cta h3{ font-family: var(--font-display); font-weight:600; font-size:1.1rem; margin:0 0 .75rem; color: var(--foreground); }
.sidebar-cta p{ margin:0 0 1.25rem; font-size:.9rem; color: rgba(0,18,38,.75); line-height:1.6; }
.sidebar-cta--dark{ background: var(--primary); }
.sidebar-cta--dark h3{ color: var(--primary-foreground); }
.sidebar-cta--dark p{ color: rgba(254,252,244,.8); }

/* =========================================================
   BLOG (listing page)
   ========================================================= */
.blog-hero{ background: var(--secondary-light); padding: 5rem 0 4rem; }

.blog-pagination{ display:flex; align-items:center; justify-content:center; gap:.75rem; flex-wrap:wrap; margin-top:3rem; }
.blog-pagination__btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.65rem 1.25rem; border-radius:999px; border:1px solid var(--border);
  background: var(--card); color: var(--foreground); font-weight:600; font-size:.9rem;
  transition: border-color .2s ease, color .2s ease;
}
.blog-pagination__btn:hover{ border-color: var(--primary); color: var(--primary); }
.blog-pagination__btn--disabled{ opacity:.4; pointer-events:none; }
.blog-pagination__pages{ display:flex; gap:.5rem; }
.blog-pagination__page{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%; border:1px solid var(--border);
  background: var(--card); color: var(--foreground); font-weight:600; font-size:.9rem;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.blog-pagination__page:hover{ border-color: var(--primary); color: var(--primary); }
.blog-pagination__page.active{ background: var(--primary); border-color: var(--primary); color: var(--primary-foreground); }

/* =========================================================
   CASE STUDY
   ========================================================= */
.case-hero-stats{
  display:flex; flex-wrap:wrap; margin-top:2.5rem;
  padding-top:1.5rem; padding-bottom:1.5rem;
  border-top:1px solid rgba(254,252,244,.2); border-bottom:1px solid rgba(254,252,244,.2);
}
.case-hero-stats > div{ flex:1 1 0%; min-width:0; padding:0 1.25rem; border-left:1px solid rgba(254,252,244,.2); }
.case-hero-stats > div:first-child{ padding-left:0; border-left:0; }
.case-hero-stats .stat-num{ font-size:2.25rem; }
.case-hero-stats .stat-label{ font-size:.82rem; line-height:1.4; }

.project-table{ border-radius:1.2rem; overflow:hidden; box-shadow: var(--shadow-soft); }
.project-table__row{ display:flex; flex-wrap:wrap; gap:.4rem 2rem; padding:1.25rem 1.75rem; background: var(--card); }
.project-table__row:nth-child(odd){ background: var(--muted); }
.project-table__label{ flex:0 0 200px; font-weight:700; color: var(--primary); font-size:.95rem; }
.project-table__value{ flex:1 1 240px; min-width:0; color: var(--muted-foreground); font-size:.95rem; line-height:1.5; }
.project-card__note{ margin:1.5rem 0 0; font-size:.85rem; font-style:italic; color: var(--muted-foreground); }

/* Stage grid stacked (case-study "Co wdrożyliśmy" — one column at all sizes) */
.stage-grid--stack{ grid-template-columns:1fr !important; }
.stage-grid--stack .stage-card{ background: var(--muted); border-left: 4px solid var(--secondary); }
.stage-grid--stack .stage-card__duration{ color: var(--muted-foreground); letter-spacing:.15em; }

.change-pill{ display:inline-block; background: rgba(34,139,87,.12); color:#1f7a4d; border-radius:999px; padding:.3rem .85rem; font-size:.88rem; font-weight:700; }

/* Harmonogram table: solid navy header, left-aligned columns, inverted stripe order */
.coo-table-card--harmonogram{ background: var(--card); }
.coo-table-card--harmonogram .coo-table thead tr{ background: var(--primary); border-bottom:0; }
.coo-table-card--harmonogram .coo-table thead th{ color: var(--primary-foreground); text-transform:none; letter-spacing:normal; font-size:.92rem; font-weight:700; text-align:left; }
.coo-table-card--harmonogram .coo-table thead th:not(:first-child){ text-align:left; color: var(--primary-foreground); }
.coo-table-card--harmonogram .coo-table thead th:first-child{ width:22%; border-top-left-radius:1.2rem; }
.coo-table-card--harmonogram .coo-table thead th:last-child{ border-top-right-radius:1.2rem; }
.coo-table-card--harmonogram .coo-table tbody td:first-child{ font-weight:700; color: var(--primary); }
.coo-table-card--harmonogram .coo-table tbody td:not(:first-child){ text-align:left; font-size:.92rem; font-weight:400; color: var(--muted-foreground); }
.coo-table-card--harmonogram .coo-table tbody tr.alt{ background: var(--muted); }

/* Tabela z bloku Gutenberga (core/table) w treści artykułu (single.php,
   the_content()) — ten sam wygląd co .coo-table-card.coo-table-card--harmonogram
   powyżej, automatycznie, bez ręcznego dodawania klas w edytorze.
   Gutenberg zawsze owija <table> w <figure class="wp-block-table">.
   Selektor zdublowany pod .editor-styles-wrapper, bo podgląd w edytorze
   blokowym renderuje się w innym kontenerze niż front-end (bez .article-body),
   a assets/css/style.css jest też ładowany w edytorze (inc/blocks.php). */
.article-body .wp-block-table,
.editor-styles-wrapper .wp-block-table{
  border-radius: 1.2rem;
  background: var(--card);
  box-shadow: var(--shadow-soft);
  overflow-x: auto;
  margin: 1.75rem 0;
}
.article-body .wp-block-table table,
.editor-styles-wrapper .wp-block-table table{
  width:100%;
  min-width: 480px;
  text-align:left;
  margin:0;
  border-collapse: collapse;
}
.article-body .wp-block-table thead tr,
.editor-styles-wrapper .wp-block-table thead tr{ background: var(--primary); border-bottom:0; }
.article-body .wp-block-table thead th,
.editor-styles-wrapper .wp-block-table thead th{
  padding: 1.1rem;
  font-weight:700;
  font-size:.92rem;
  color: var(--primary-foreground);
  border:0;
  white-space:nowrap;
  text-align:left;
  background-color: transparent;
}
.article-body .wp-block-table thead th:first-child,
.editor-styles-wrapper .wp-block-table thead th:first-child{ border-top-left-radius:1.2rem; }
.article-body .wp-block-table thead th:last-child,
.editor-styles-wrapper .wp-block-table thead th:last-child{ border-top-right-radius:1.2rem; }
.article-body .wp-block-table tbody td,
.editor-styles-wrapper .wp-block-table tbody td{
  padding: 1.1rem;
  border:0;
  font-size:.92rem;
  font-weight:400;
  color: var(--muted-foreground);
  background-color: transparent;
}
.article-body .wp-block-table tbody td:first-child,
.editor-styles-wrapper .wp-block-table tbody td:first-child{ font-weight:700; color: var(--primary); }
.article-body .wp-block-table tbody tr:nth-child(even),
.editor-styles-wrapper .wp-block-table tbody tr:nth-child(even){ background: var(--muted); }

.pull-quote__cite{ display:block; margin-top:1rem; font-style:normal; font-size:.85rem; color: var(--muted-foreground); }

.numbered-insights{ display:flex; flex-direction:column; gap:1.75rem; }
.numbered-insight{ display:flex; gap:1.25rem; align-items:flex-start; }
.numbered-insight .numbered-bullet-list__num{
  width:2.75rem; height:2.75rem; font-size:1.15rem;
  background: var(--secondary); color: var(--secondary-foreground);
}
.numbered-insight h3{ font-family: var(--font-display); font-weight:600; font-size:1.15rem; margin:0 0 .5rem; color: var(--foreground); }
.numbered-insight p{ margin:0; color: var(--muted-foreground); font-size:.95rem; line-height:1.7; }

.checklist-box{ background: var(--muted); border-radius:1.2rem; padding:2rem 2.25rem; }
.checklist-box h2{ margin-top:0; }
.checklist-box .icon-warn-list{ margin-top:1.25rem; }
.checklist-box > p{ color: rgba(0,18,38,.78); }

/* Lista wewnątrz bloku "OPB CTA Case Study" pochodzi z natywnego bloku
   Gutenberga core/list (<ul class="wp-block-list">). Ikona ostrzeżenia
   (<i class="bi bi-exclamation-triangle">) jest wstawiana na sztywno do
   każdego <li> w PHP (opb_render_checklist_cta_block(), inc/blocks.php) —
   nie jest polem edytowalnym. Style poniżej tylko pozycjonują tę ikonę,
   dokładnie jak .icon-warn-list li i. */
.checklist-box .wp-block-list{ list-style:none; margin:1.25rem 0 0; padding:0; }
.checklist-box .wp-block-list li{
  display:flex; align-items:flex-start; gap:.75rem;
  margin-bottom:1rem; font-size:.9rem; line-height:1.6; color: rgba(0,18,38,.8);
}
.checklist-box .wp-block-list li i{ color: var(--secondary); font-size:1.05rem; flex-shrink:0; margin-top:-.1rem; }

.sidebar-stats{ list-style:none; margin:0; padding:0; }
.sidebar-stats li{ padding:1.1rem 0; border-bottom:1px solid var(--border); }
.sidebar-stats li:first-child{ padding-top:0; }
.sidebar-stats li:last-child{ padding-bottom:0; border-bottom:0; }
.sidebar-stats__num{ display:block; font-family: var(--font-display); font-weight:700; font-size:1.9rem; color: var(--primary); line-height:1; }
.sidebar-stats__label{ display:block; margin-top:.3rem; font-size:.85rem; color: var(--muted-foreground); }
.article-body .wp-block-opb-checklist-cta ul{
  margin-bottom: 30px;
  padding-top: 16px;
}

.article-body .wp-block-opb-checklist-cta ul li{
  font-size: .95rem;
  line-height: 1.8;
}
#menu-primary-menu .dropdown-toggle::after{
  border-top: none !important;
}
.wpcf7-form p{margin-bottom: 0 !important;}
.kontakt-form__consent label, .wpcf7-form .wpcf7-acceptance label {
      font-size: .68rem;
}
.wpcf7-submit{    margin-top: 15px;}
.realizacja{
  text-align: center;
  margin: 0;
  padding: 0;
  font-size: 10px;
  color: #3a5f80;
}
.realizacja a{
  color: #3a5f80;
}