/* core.css — theme-agnostic component baseline.
   Consumes ONLY --ds-* custom properties; never hardcodes brand colours.
   A theme layer (themes/<name>/tokens.css) sets all --ds-* values before
   this sheet is applied, producing the final visual output. */

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--ds-bg);
  color:var(--ds-ink);
  font-family:var(--ds-f-body);
  line-height:1.55;
}

.wrap{
  max-width:var(--ds-maxw,780px);
  margin:0 auto;
  padding:0 20px;
}

/* Category archives use a wide card grid, not the prose column width. */
.category-archive{
  --ds-maxw:1160px;
  padding:2.5rem 1.25rem 4rem;
}

a{color:var(--ds-link)}
a:hover{color:var(--ds-accent)}

/* ── Typography ─────────────────────────────────────────────────── */

.c-h1{
  font-family:var(--ds-f-display);
  font-size:var(--ds-h1);
  line-height:1.1;
  margin:.4em 0;
}
.c-h1 .em{color:var(--ds-accent)}

.c-h2{
  font-family:var(--ds-f-display);
  font-size:var(--ds-h2);
  line-height:1.2;
  margin:.5em 0;
}

/* ── Breadcrumb ─────────────────────────────────────────────────── */

.c-crumb{
  font-family:var(--ds-f-label);
  font-size:var(--ds-small,13px);
  color:var(--ds-muted);
  padding:16px 0;
}

/* ── Prose body text ────────────────────────────────────────────── */

.c-prose{font-family:var(--ds-f-body)}
.c-prose h2{font-family:var(--ds-f-display);font-size:var(--ds-h2)}
.c-prose h3{font-family:var(--ds-f-display);font-size:var(--ds-h3,1.15rem)}
.c-prose p{margin:.75em 0}
.c-prose img{max-width:100%;height:auto}
.c-prose iframe{max-width:100%;width:100%;aspect-ratio:16/9;height:auto;border:0}
.c-prose figure{margin:1.2rem 0}
.c-article__hero{display:block;width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:8px;margin:1rem 0 1.6rem}

/* ── Button ─────────────────────────────────────────────────────── */

.c-btn{
  font-family:var(--ds-f-label);
  display:inline-block;
  padding:12px 20px;
  background:var(--ds-accent);
  color:var(--ds-btn-ink,#fff);
  border-radius:var(--ds-radius);
  text-decoration:none;
  font-weight:600;
}
.c-btn:hover{opacity:.88;color:var(--ds-btn-ink,#fff)}

/* ── CTA strip ──────────────────────────────────────────────────── */

.c-cta{
  margin:32px 0;
  background:var(--ds-ink);
  color:var(--ds-bg);
  border-radius:var(--ds-radius);
  padding:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

/* ── Card grid ──────────────────────────────────────────────────── */

.c-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}
@media(max-width:900px){.c-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.c-grid{grid-template-columns:1fr}}

.c-card{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  min-width:0;               /* let grid track shrink below image min-content → no horizontal scroll */
}
.c-card__thumb{ display:block; }
.c-card__thumb img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;             /* constrain card thumbnails: fill card width, uniform tile, no overflow */
}

/* ── Related articles row ───────────────────────────────────────── */

.c-related{ /* layout rules live in the article-body polish section below */
  margin:32px 0;
}

/* ── Comparison table ───────────────────────────────────────────── */

.c-cmp{width:100%;border-collapse:collapse}
.c-cmp th,.c-cmp td{
  border:1px solid var(--ds-line);
  padding:8px 12px;
}
.c-cmp th{background:var(--ds-surface)}

/* ── Hero section ───────────────────────────────────────────────── */

.c-hero{padding:48px 0}

/* ── Proof / callout box ────────────────────────────────────────── */

.c-proof{
  background:var(--ds-surface);
  border:1px solid var(--ds-line);
  padding:20px;
  border-radius:var(--ds-radius);
}

/* ── FAQ ────────────────────────────────────────────────────────── */

.c-faq summary{
  cursor:pointer;
  font-family:var(--ds-f-display);
}
.c-faq details{
  border-bottom:1px solid var(--ds-line);
  padding:.6em 0;
}

/* ── Tense-guide table (category guide pages) ───────────────────── */

.c-tenses{overflow-x:auto;margin:1.2rem 0}
.c-tenses table{border-collapse:collapse;width:100%;font-size:.95rem;line-height:1.4}
.c-tenses th,.c-tenses td{border:1px solid var(--ds-line);padding:.5rem .7rem;text-align:left;vertical-align:top}
.c-tenses th{font-family:var(--ds-f-label);font-size:var(--ds-small,13px);text-transform:uppercase;letter-spacing:.04em}
.c-tenses .c-tenses__group td{font-family:var(--ds-f-label);font-size:var(--ds-small,13px);text-transform:uppercase;letter-spacing:.04em;background:var(--ds-ink);color:var(--ds-bg)}

/* ── Content-hub: tools grid + search ───────────────────────────── */
.c-lhub__head{margin:0 0 1.5rem}
.c-lhub__lead{max-width:60ch}
.c-lhub__search{display:flex;gap:.5rem;margin:1rem 0 0}
.c-lhub__search input{flex:1;max-width:32rem;padding:.6rem .9rem;border:1px solid var(--ds-line);background:var(--ds-bg);color:var(--ds-ink);font-family:var(--ds-f-body)}
.c-lhub__search button{padding:.6rem 1rem;border:1px solid var(--ds-ink);background:var(--ds-ink);color:var(--ds-bg);font-family:var(--ds-f-label);cursor:pointer}
.c-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:.6rem 0 2rem}
.c-tool{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid var(--ds-line);text-decoration:none;color:inherit;position:relative}
.c-tool:hover{border-color:var(--ds-accent)}
.c-tool__title{font-family:var(--ds-f-display);font-weight:700;font-size:1.1rem}
.c-tool__desc{font-size:.9rem;color:var(--ds-muted,inherit)}
.c-tool--soon{opacity:.7;cursor:default}
.c-tool__badge{position:absolute;top:.7rem;right:.7rem;font-family:var(--ds-f-label);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--ds-accent);color:var(--ds-btn-ink,#fff);padding:.15rem .5rem}
/* header search: magnifier toggle → absolute expanding panel */
.c-header__search-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:none;color:var(--ds-ink);cursor:pointer}
.c-header__search-toggle:hover{color:var(--ds-accent)}
.c-header__search-panel{position:absolute;top:100%;right:20px;margin-top:-1px;background:var(--ds-bg);border:1px solid var(--ds-line);padding:.6rem;box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:200}
.c-header__search-panel[hidden]{display:none}
.c-header__search-form{display:flex;gap:.4rem}
.c-header__search-form input{width:min(22rem,72vw);padding:.5rem .7rem;border:1px solid var(--ds-line);background:var(--ds-bg);color:var(--ds-ink);font-family:var(--ds-f-body)}
.c-header__search-form button{display:inline-flex;align-items:center;justify-content:center;padding:0 .8rem;border:1px solid var(--ds-ink);background:var(--ds-ink);color:var(--ds-bg);cursor:pointer}
.c-header__search-form button:hover{background:var(--ds-accent);border-color:var(--ds-accent)}

/* ── Chips ──────────────────────────────────────────────────────── */

.c-chips{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.c-chips ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}

.c-chip{
  border:1px solid var(--ds-line);
  border-radius:999px;
  padding:.4rem 1rem;
  color:var(--ds-ink);
  text-decoration:none;
  font-family:var(--ds-f-label);
  font-size:var(--ds-small,13px);
}
.c-chip.hub{background:var(--ds-ink);color:var(--ds-bg)}
.c-chip:hover{border-color:var(--ds-accent);color:var(--ds-accent)}
.c-chip.hub:hover{opacity:.85;color:var(--ds-bg)}

/* ── Chrome: header ─────────────────────────────────────────────── */

.c-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--ds-bg);
  border-bottom: 1px solid var(--ds-line);
}
.c-header .wrap {
  max-width: 1140px;   /* chrome szerszy niż kolumna prozy (780) — 5 linków + switcher + CTA */
  display: flex;
  align-items: center;
  gap: var(--ds-space-2, 1rem);
  padding-block: var(--ds-space-1, .5rem);
}
.c-header__logo {
  display: inline-flex;
  align-items: center;
  color: var(--ds-ink);
  margin-right: auto;
}
.c-header__logo svg { height: 28px; width: auto; display: block; }
.c-header__nav {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.c-header__link {
  color: var(--ds-ink);
  text-decoration: none;
  font-family: var(--ds-f-label, inherit);
  font-size: .95em;
}
.c-header__link:hover { color: var(--ds-accent); }
.c-header__link[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--ds-accent); }
.c-header__cta {
  background: var(--ds-accent);
  color: var(--ds-btn-ink, #fff);
  text-decoration: none;
  font-family: var(--ds-f-label, inherit);
  font-size: .9em;
  padding: .45em 1em;
  border-radius: var(--ds-radius, 0);
  white-space: nowrap;
}
.c-header__cta:hover { background: var(--ds-accent-press, var(--ds-accent)); }

/* segmented language switcher (header + footer) */
.c-lang {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius, 0);
  overflow: hidden;
}
.c-lang li + li { border-left: 1px solid var(--ds-line); }
.c-lang__item {
  display: block;
  padding: .3em .65em;
  font-family: var(--ds-f-label, inherit);
  font-size: .8em;
  line-height: 1.4;
  text-decoration: none;
  color: var(--ds-muted);
}
a.c-lang__item:hover { color: var(--ds-accent); }
.c-lang__item--current { color: var(--ds-bg); background: var(--ds-ink); }

/* hamburger */
.c-header__toggle {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.c-header__toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ds-ink);
  transition: transform .18s ease, opacity .18s ease;
}
.c-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.c-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.c-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  .c-header__toggle { display: flex; }
  .c-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--ds-bg);
    border-bottom: 1px solid var(--ds-line);
    padding: .25rem 0 1rem;
  }
  .c-header__nav--open { display: flex; animation: c-nav-drop .16s ease-out; }
  .c-header__link { padding: .8em 20px; font-size: 1em; }   /* pole dotykowe ≥44px */
  .c-header__link[aria-current="page"] { box-shadow: inset 3px 0 0 var(--ds-accent); }
  .c-header__nav .c-lang { margin: .75rem 20px 0; align-self: flex-start; }
  .c-header__nav .c-lang__item { padding: .8em 1em; font-size: 1em; }   /* pole dotykowe ≥44px */
  .c-header__cta { font-size: .85em; padding: .4em .8em; }
}
@keyframes c-nav-drop {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .c-header__nav--open { animation: none; }
  .c-header__toggle span { transition: none; }
}

/* ── Chrome: footer ─────────────────────────────────────────────── */

.c-footer {
  border-top: 1px solid var(--ds-line);
  margin-top: var(--ds-space-4, 2rem);
  padding-block: var(--ds-space-3, 1.5rem);
  font-size: .9em;
}
.c-footer .wrap { max-width: 1140px; }
.c-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--ds-space-3, 1.5rem);
}
.c-footer__hd {
  font-family: var(--ds-f-label, inherit);
  font-size: .8em;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-ink);
  margin: 0 0 .5em;
}
.c-footer__col ul { list-style: none; margin: 0; padding: 0; }
.c-footer__col a {
  color: var(--ds-muted);
  text-decoration: none;
  display: inline-block;
  padding: .2em 0;
}
.c-footer__col a:hover { color: var(--ds-accent); }
.c-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: var(--ds-space-3, 1.5rem);
  padding-top: var(--ds-space-2, 1rem);
  border-top: 1px solid var(--ds-line);
  color: var(--ds-muted);
}
.c-footer__copy { margin: 0; }
@media (max-width: 720px) {
  .c-footer__nav { grid-template-columns: 1fr; }
  .c-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* homepage components (type:home) */
.c-hero__sub{font-family:var(--ds-f-body);font-size:1.15rem;line-height:1.5;margin:.6rem 0 1.3rem;max-width:52ch}
.c-modes{margin:44px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.c-modes h2{grid-column:1/-1;font-family:var(--ds-f-display);font-size:var(--ds-h2);margin:0}
@media(max-width:760px){.c-modes{grid-template-columns:1fr}}
.c-mode{border:1px solid var(--ds-line);padding:1.1rem 1.25rem;border-radius:var(--ds-radius)}
.c-mode h3{font-family:var(--ds-f-display);margin:0 0 .4rem}
.c-founder{margin:48px 0;padding:24px 28px;background:var(--ds-surface);border-left:4px solid var(--ds-accent)}
.c-languages{margin:44px 0;text-align:center}
.c-languages h2{font-family:var(--ds-f-display);font-size:var(--ds-h1);line-height:1.05;margin:0 0 .5rem}
.c-proof__stat{font-family:var(--ds-f-display);font-size:var(--ds-h2);line-height:1.2}

/* course landing components (type:landing) */
.c-audience{margin:44px 0}
.c-audience ul{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.5rem}
.c-audience li{border-left:4px solid var(--ds-accent);padding:.3rem 0 .3rem .9rem}
.c-curriculum{margin:44px 0}

/* help center (c-help): desktop sticky sidebar, mobile smart-bar */
.c-help{display:grid;grid-template-columns:320px minmax(0,1fr);gap:2.5rem;align-items:start;
  max-width:1200px;margin:0 auto;padding:0 20px}
.c-help__sidebar{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--ds-line);padding:1rem;background:var(--ds-surface)}
.c-help__current{display:none}
.c-help__menu ul{list-style:none;margin:0;padding:0}
.c-help__group{margin:0 0 .9rem}
.c-help__group > .c-help__link{font-family:var(--ds-f-label);font-weight:700;font-size:var(--ds-small);letter-spacing:.08em;text-transform:uppercase}
.c-help__sub{margin:.35rem 0 0 .2rem;display:grid;gap:.25rem}
.c-help__link{text-decoration:none;color:inherit;display:block;padding:.15rem .4rem;border-left:3px solid transparent}
.c-help__link:hover{color:var(--ds-accent)}
.c-help__link.is-active{border-left-color:var(--ds-accent);color:var(--ds-accent)}
@media(max-width:900px){
  .c-help{grid-template-columns:1fr;gap:1rem}
  .c-help__sidebar{position:static;max-height:none;padding:0;border:none;background:none}
  .c-help__current{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.6rem;
    font:inherit;text-align:left;cursor:pointer;padding:.6rem .9rem;
    border:2px solid var(--ds-ink);background:var(--ds-surface)}
  .c-help__current .c-help__chevron{transition:transform .2s}
  .c-help__current[aria-expanded="true"] .c-help__chevron{transform:rotate(180deg)}
  .c-help__menu{display:none;border:2px solid var(--ds-ink);border-top:none;background:var(--ds-bg);padding:.8rem;max-height:60vh;overflow:auto}
  .c-help__menu.is-open{display:block}
  .c-help__sidebar.is-fixed{position:fixed;top:0;left:0;right:0;z-index:40;padding:0 .6rem;transform:translateY(-110%);transition:transform .25s}
  .c-help__sidebar.is-fixed.is-pinned{transform:translateY(0)}
}

/* hub pages (c-hubpage): card grid inside prose; breakout wider on large screens */
.c-hubpage{margin:1rem 0}
@media(min-width:1025px){
  .c-hubpage{width:min(1140px, calc(100vw - 48px));position:relative;left:50%;transform:translateX(-50%)}
}
.c-hubpage .c-grid{margin:1rem 0 2rem}
.c-card__meta{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .9rem 0;font-family:var(--ds-f-label);font-size:var(--ds-small,13px);line-height:1.5}
.c-card__meta time{color:var(--ds-muted,inherit);letter-spacing:.03em}
.c-card__cats a{color:var(--ds-accent);text-decoration:none}
.c-card__cats a:hover{text-decoration:underline;text-underline-offset:2px}
.c-card__title{font-family:var(--ds-f-display);font-size:1.25rem;font-weight:700;line-height:1.25;text-decoration:none;color:inherit;display:block;padding:.5rem .9rem 0}
.c-card__title:hover{color:var(--ds-accent)}
.c-card__excerpt{font-size:.95rem;line-height:1.5;margin:.4rem 0 .9rem;padding:0 .9rem;color:var(--ds-muted,inherit)}
.c-hub-links{list-style:none;margin:.6rem 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .9rem}
.c-hub-links a{border:1px solid var(--ds-line);padding:.25rem .7rem;text-decoration:none;color:inherit;display:inline-block}
.c-hub-links a:hover{border-color:var(--ds-accent);color:var(--ds-accent)}

/* c-lhub: language-hub layout recreated from the WP design (lh-* rules in theme.css):
   top = featured 2fr + list 1fr + side 1fr; courses row; articles grid 4/2/1 */
.c-lhub{margin:1rem 0;padding:0 20px}
@media(min-width:1025px){.c-lhub{width:min(1140px, calc(100vw - 48px));position:relative;left:50%;transform:translateX(-50%)}}
.c-lhub section{padding:24px 0}
.c-lhub h2{font-family:var(--ds-f-display);font-size:var(--ds-h2);margin:0 0 .3rem}
.c-lhub__secdesc{margin:.2rem 0 1.2rem}
.c-lhub__label{font-family:var(--ds-f-label);font-weight:700;font-size:var(--ds-small);letter-spacing:.08em;text-transform:uppercase;margin:1rem 0 .6rem}
.c-lhub__top{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
@media(min-width:1025px){
  .c-lhub__top{grid-template-columns:2fr 1fr 1fr}
  .c-lhub__mainwrap{padding-right:20px;border-right:1px solid var(--ds-line)}
  .c-lhub__list{padding-right:20px;border-right:1px solid var(--ds-line)}
}
.c-lhub__card{display:block;margin-bottom:18px}
.c-lhub__imglink img{width:100%;height:auto;border-radius:10px;display:block}
.c-lhub__cat{display:inline-block;font-family:var(--ds-f-label);font-size:13px;margin:10px 8px 2px 0;text-decoration:none;color:var(--ds-accent)}
.c-lhub__titlelink{text-decoration:none;color:inherit}
.c-lhub__titlelink:hover .c-lhub__title{color:var(--ds-accent)}
.c-lhub__title{font-family:var(--ds-f-display);font-size:20px;line-height:1.2;margin:.2rem 0}
.c-lhub__card--main .c-lhub__title{font-size:32px;line-height:1.15}
.c-lhub__desc{margin:.3rem 0 0;font-size:16px;line-height:1.45}
.c-lhub__list .c-lhub__card:not(:first-child) .c-lhub__imglink{display:none} /* WP: only first list item shows its image */
.c-lhub__list .c-lhub__card{padding-bottom:14px;border-bottom:1px solid var(--ds-line)}
.c-lhub__materials{margin-top:20px;padding:4px 16px 20px;background:var(--ds-surface);border:1px solid var(--ds-line);border-radius:14px}
.c-lhub__material{display:flex;align-items:center;gap:12px;margin-top:14px;text-decoration:none;color:inherit}
.c-lhub__material img{width:45px;height:45px;object-fit:cover;border-radius:8px;flex:none}
.c-lhub__material:hover span{color:var(--ds-accent)}
.c-lhub__courses-row{display:flex;flex-wrap:wrap;gap:20px}
.c-lhub__course{display:block;max-width:275px;text-decoration:none;color:inherit}
.c-lhub__course img{width:100%;height:auto;border-radius:10px;display:block}
.c-lhub__course-label{display:inline-block;padding:6px 10px;background:var(--ds-accent);color:#fff;font-family:var(--ds-f-display);font-size:20px;line-height:1.1;margin-top:-8px;position:relative}
.c-lhub__articles .c-lhub__grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:1.2rem}
@media(min-width:710px){.c-lhub__articles .c-lhub__grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.c-lhub__articles .c-lhub__grid{grid-template-columns:repeat(4,1fr)}}
.c-lhub__grid .c-lhub__card{border-left:1px solid var(--ds-line);padding:0 14px;margin:0}
.c-lhub__grid .c-lhub__card:first-child{border-left:none;padding-left:0}
.c-lhub__grid .c-lhub__imglink img{aspect-ratio:14/8;object-fit:cover}
.c-lhub__cta{display:flex;align-items:center;justify-content:center;border:1px dashed var(--ds-line);padding:20px}

/* pricing plans (type:pricing) */
.c-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:44px 0;align-items:stretch}
@media(max-width:1000px){.c-plans{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.c-plans{grid-template-columns:1fr}}
.c-plan{position:relative;border:2px solid var(--ds-ink);background:var(--ds-surface);padding:1.6rem 1.2rem 1.4rem;display:flex;flex-direction:column;gap:.35rem;text-align:center}
.c-plan--featured{border-width:3px;border-color:var(--ds-accent);transform:scale(1.03)}
.c-plan__badge{position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ds-accent);color:#fff;font-family:var(--ds-f-label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .7rem}
.c-plan__period{font-family:var(--ds-f-label);text-transform:uppercase;letter-spacing:.08em;font-size:var(--ds-small);margin:0}
.c-plan__price{font-family:var(--ds-f-display);font-size:2.1rem;line-height:1;margin:.2rem 0}
.c-plan__permonth,.c-plan__note{font-size:var(--ds-small);margin:0;opacity:.8}
.c-plan .c-btn{margin-top:auto}
.c-includes{margin:44px 0}
.c-includes ul{list-style:none;margin:.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}
.c-includes li{border-left:4px solid var(--ds-accent);padding:.3rem 0 .3rem .9rem}
.c-cta--closing{text-align:center;margin:56px 0}
.c-cta__closing{font-family:var(--ds-f-display);font-size:var(--ds-h2);line-height:1.25;margin:0 0 1rem}

/* c-page: wide container for conversion pages (home/money/landing/pricing).
   .wrap stays article-width; these pages need room. Prose inside capped for readability. */
body{overflow-x:clip}
.c-page{max-width:1200px;margin:0 auto;padding:0 24px}
.c-page .c-prose{max-width:72ch}

/* ── article-body polish (2026-07-03) ─────────────────────────────── */

/* in-content WP CTA banners (.banner-at, ~442 articles): their layout lived in
   theme.css (no longer loaded) and per-block inline <style> sets colors by #id —
   hence !important. Restyle to a clean dieselpunk CTA band, kill striped bg. */
.c-prose .banner-at{background:#16130f!important;background-image:none!important;
  border:3px solid var(--ds-ink);border-left:8px solid var(--ds-accent);border-radius:0!important;
  padding:26px 28px;margin:2.2rem 0;color:#ece6d6;overflow:hidden}
.c-prose .banner-at *{background-image:none!important}
.c-prose .banner-at .img-wrap,.c-prose .banner-at img{display:none}
.c-prose .banner-at__wrap{display:block}
.c-prose .banner-at__subtitle{font-family:var(--ds-f-label);font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ds-accent)!important;margin:0 0 .45rem;border:none!important}
.c-prose .banner-at__title{font-family:var(--ds-f-display);font-size:1.55rem;line-height:1.15;
  margin:0 0 .5rem;color:#fff!important}
.c-prose .banner-at__content{margin:0 0 1.1rem;color:#ece6d6!important}
.c-prose .banner-at .btn-at{display:inline-block;font-family:var(--ds-f-label);text-transform:uppercase;
  letter-spacing:.06em;font-size:14px;padding:.7rem 1.3rem;background:var(--ds-accent)!important;
  color:#fff!important;border:none!important;box-shadow:none!important;text-decoration:none;border-radius:0!important}
.c-prose .banner-at .btn-at:hover{filter:brightness(1.1)}

/* table of contents (.htoc, ~196 articles): framed dieselpunk box, mono label,
   dead toggle icon hidden (its JS never shipped), tight two-column list on desktop */
.c-prose .htoc{border:1px solid var(--ds-line);border-top:3px solid var(--ds-ink);background:var(--ds-surface);
  padding:1.1rem 1.4rem 1.3rem;margin:2.2rem 0}
.c-prose .htoc__toggle{display:none}
.c-prose .htoc__title,.c-prose .ht_toc_title{font-family:var(--ds-f-label);font-weight:700;
  font-size:var(--ds-small);letter-spacing:.1em;text-transform:uppercase;color:var(--ds-accent)}
.c-prose .htoc ul{list-style:none;margin:.7rem 0 0;padding:0;font-size:.95rem;line-height:1.35}
.c-prose .htoc li{break-inside:avoid;margin:0 0 .45rem}
.c-prose .htoc ul ul{margin:.35rem 0 0 1rem;font-size:.9rem}
.c-prose .htoc a{text-decoration:none;color:inherit;border-bottom:1px solid var(--ds-line)}
.c-prose .htoc a:hover{color:var(--ds-accent);border-bottom-color:var(--ds-accent)}
@media(min-width:900px){.c-prose .htoc > ul{column-count:2;column-gap:2.4rem}}

/* related articles: mini-card grid (replaces the broken h2+ul column grid) */
.c-related{display:block;margin:44px 0}
.c-related__list{list-style:none;margin:1rem 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}
.c-related__list a{display:block;height:100%;border:2px solid var(--ds-ink);background:var(--ds-surface);
  padding:.85rem .95rem;text-decoration:none;color:inherit;font-family:var(--ds-f-display);
  font-size:.98rem;line-height:1.3}
.c-related__list a:hover{border-color:var(--ds-accent);color:var(--ds-accent)}

/* comparison table (.c-cmp): from "Excel" to a versus component — Taalhammer column
   carries the accent; feature labels go mono; mobile scrolls inside its section */
.c-cmp{border:3px solid var(--ds-ink);background:var(--ds-surface)}
.c-cmp th{font-family:var(--ds-f-display);font-size:1.05rem;padding:12px 14px;
  border:none;border-bottom:3px solid var(--ds-ink);text-align:left}
.c-cmp th:nth-child(2){background:var(--ds-accent);color:#fff}
.c-cmp td{padding:11px 14px;border:none;border-top:1px solid var(--ds-line);vertical-align:top}
.c-cmp td:first-child{font-family:var(--ds-f-label);font-size:12.5px;letter-spacing:.05em;
  text-transform:uppercase;opacity:.75;width:26%}
.c-cmp td:nth-child(2){font-weight:700;border-left:3px solid var(--ds-accent);
  background:color-mix(in srgb,var(--ds-accent) 7%, transparent)}
.c-cmp-section{overflow-x:auto}

/* ── homepage v2: band system + course tiles + gazeta hero ─────────── */
.c-band{padding:56px 0;border-top:1px solid var(--ds-line)}
.c-band--alt{background:var(--ds-surface)}
.c-band--alt{box-shadow:0 0 0 100vmax var(--ds-surface);clip-path:inset(0 -100vmax)} /* full-bleed bg within c-page */
.c-band__kicker{font-family:var(--ds-f-label);font-weight:700;font-size:var(--ds-small);letter-spacing:.1em;text-transform:uppercase;color:var(--ds-accent);margin:0 0 .4rem}
.c-band__title{font-family:var(--ds-f-display);font-size:var(--ds-h2);line-height:1.1;margin:0 0 .5rem}
.c-band__teaser{max-width:66ch;margin:0 0 1.4rem}
.c-band__more{font-family:var(--ds-f-label);font-size:14px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--ds-accent);border-bottom:2px solid var(--ds-accent)}
.c-band__more:hover{filter:brightness(1.15)}
.c-squares3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin:1.6rem 0}
@media(max-width:820px){.c-squares3{grid-template-columns:1fr}}
.c-square{border:1px solid var(--ds-line);background:var(--ds-surface);padding:1.5rem 1.4rem;aspect-ratio:auto}
.c-square h3{font-family:var(--ds-f-display);font-size:1.25rem;line-height:1.15;margin:0 0 .5rem}
.c-square p{margin:0;font-size:.98rem;line-height:1.5}
.c-square__no{font-family:var(--ds-f-label);font-size:12px;letter-spacing:.1em;color:var(--ds-accent);display:block;margin-bottom:.6rem}
.c-split{display:grid;grid-template-columns:2fr 1fr;gap:2.5rem;align-items:start}
.c-split--rev{grid-template-columns:1fr 2fr}
@media(max-width:820px){.c-split,.c-split--rev{grid-template-columns:1fr}}
.c-split__aside{border:1px solid var(--ds-line);background:var(--ds-surface);padding:1.2rem 1.3rem}
.c-split__aside ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.c-split__aside li{border-left:4px solid var(--ds-accent);padding:.15rem 0 .15rem .8rem}
.c-split__aside li b{font-family:var(--ds-f-display)}
/* on home, proof is a plain band on the page bg — the c-proof callout box
   (white, bordered) would sit flush under the full-bleed white --alt band */
.c-band.c-proof{background:transparent;border:0;border-top:1px solid var(--ds-line);border-radius:0;padding:56px 0}
.c-course-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin:1.4rem 0}
@media(max-width:1000px){.c-course-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.c-course-tiles{grid-template-columns:1fr}}
.c-course-tile{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-decoration:none;color:inherit;
  border:1px solid var(--ds-line);background:var(--ds-surface);padding:1.2rem 1rem 1rem;
  transition:transform .12s}
.c-course-tile:hover{transform:translate(-2px,-2px);border-color:var(--ds-accent)}
.c-course-tile img{max-width:78%;height:auto}
.c-course-tile span{font-family:var(--ds-f-display);font-size:1.05rem;text-align:center}
.c-course-tile--novisual{justify-content:center;min-height:180px}
.c-course-tile--novisual span{font-size:1.35rem}
/* gazeta hero: no image, monumental type between heavy rules */
.c-hero--gazeta{padding:56px clamp(24px,4vw,56px) 48px;border-top:6px solid var(--ds-ink);border-bottom:6px solid var(--ds-ink);position:relative}
.c-hero--gazeta::after{content:"";position:absolute;left:0;right:0;bottom:8px;border-bottom:2px solid var(--ds-ink)}
.c-hero--gazeta .c-h1{font-size:clamp(52px,8vw,104px);line-height:.95;margin:.4rem 0 .8rem;text-transform:uppercase}
.c-hero--gazeta .c-hero__deck{font-size:1.25rem;line-height:1.5;max-width:56ch;margin:0 0 1.4rem}
.c-hero--gazeta .c-hero__actions{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
/* ── Contact page ─────────────────────────────────────────────────────── */
.c-contact{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;margin:44px 0}
@media(max-width:800px){.c-contact{grid-template-columns:1fr}.c-contact__form{order:-1}}
.c-contact__details{display:flex;flex-direction:column;gap:1.2rem}
.c-contact__item{display:flex;gap:.9rem;align-items:flex-start}
.c-contact__item .c-label{margin:0 0 .15rem}
.c-contact__icon{color:var(--ds-accent);flex:0 0 auto;margin-top:.2rem}
.c-contact__socials{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.c-contact__socials a{text-decoration:none;border-bottom:1px solid var(--ds-ink)}
.c-contact__form{border:2px solid var(--ds-ink);background:var(--ds-surface);padding:1.6rem 1.4rem}
.c-form{display:flex;flex-direction:column;gap:.35rem}
.c-form label{font-weight:600;margin-top:.6rem}
.c-form input,.c-form textarea{border:2px solid var(--ds-ink);background:transparent;padding:.55rem .7rem;font:inherit;color:inherit}
.c-form input:focus,.c-form textarea:focus{outline:2px solid var(--ds-accent);outline-offset:1px}
.c-form .c-btn{margin-top:1rem;align-self:flex-start}
.c-form__hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.c-form__status{min-height:1.4em;margin:.6rem 0 0}
.c-form__status.is-error{color:var(--ds-danger,#b3261e)}
.c-form.is-sent input,.c-form.is-sent textarea,.c-form.is-sent .c-btn,.c-form.is-sent label{display:none}
/* ── Placement quiz ─────────────────────────────────────────────────────── */
.c-quiz__modes { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.5rem; }
.c-quiz__progress { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.c-quiz__bar { flex: 1; height: 6px; background: var(--ds-line, #ddd); position: relative; }
.c-quiz__bar::before { content: ""; position: absolute; inset: 0 auto 0 0;
  width: var(--quiz-progress, 0%); background: var(--ds-accent, #d6611f); transition: width .2s; }
.c-quiz__count { font-variant-numeric: tabular-nums; white-space: nowrap; }
.c-quiz__q { margin: 0 0 1.25rem; font-size: 1.25rem; }
.c-opt { display: block; width: 100%; text-align: left; padding: .75rem 1rem;
  border: 1px solid var(--ds-line, #ccc); background: transparent; margin: .5rem 0; cursor: pointer; }
.c-opt[aria-pressed="true"] { border-color: var(--ds-accent, #d6611f);
  box-shadow: inset 0 0 0 1px var(--ds-accent, #d6611f); }
.c-quiz__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.c-quiz__collection { font-weight: 700; margin: 1rem 0; }
.c-quiz__lead { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--ds-line, #ccc); }
.c-quiz__lead input[type="email"] { padding: .6rem .8rem; margin-right: .5rem; }
.c-quiz__status.is-error { color: #c0392b; }
.c-quiz [hidden] { display: none; }

/* ── press-photo layer (2026-07-11): struktura neutralna, treatment w motywie ── */
.c-photo-band{position:relative;width:100vw;left:50%;transform:translateX(-50%);min-height:clamp(240px,36vw,540px);overflow:hidden;margin:0}
.c-photo-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-photo-caption{position:absolute;right:14px;bottom:10px;z-index:2;margin:0}
.c-split--photo{grid-template-columns:1fr 1fr;align-items:stretch}
.c-split__figure{position:relative;min-height:260px;overflow:hidden;margin:0}
.c-split__figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-founder--photo{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:center}
.c-founder__figure{position:relative;min-height:160px;overflow:hidden;margin:0}
.c-founder__figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:820px){
  .c-split--photo{grid-template-columns:1fr}
  .c-split__figure{min-height:200px}
  .c-founder--photo{grid-template-columns:1fr}
}
.c-split__bullets{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.7rem}
.c-split__bullets li{border-left:4px solid var(--ds-accent);padding:.15rem 0 .15rem .8rem}

/* ── training-map ledger + dwa starty (2026-07-12): struktura neutralna ── */
.c-ledger{border-top:1px solid var(--ds-line);margin:1.6rem 0 0}
.c-ledger__row{display:grid;grid-template-columns:44px 1fr;gap:0 18px;padding:.85rem 0;border-bottom:1px solid var(--ds-line)}
.c-ledger__no{font-family:var(--ds-f-label);font-size:11px;padding-top:.35rem}
.c-ledger__name{font-family:var(--ds-f-display);font-weight:700;font-size:18px}
.c-ledger__desc{display:block;margin-top:2px;font-size:.95rem;line-height:1.5}
.c-ledger__foot{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.c-ledger__foot+.c-ledger__foot{margin-top:6px}
.c-ledger__flabel{font-family:var(--ds-f-label);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.c-ledger__fitem{font-family:var(--ds-f-label);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ds-muted)}
.c-ledger__foot .c-band__more{margin-left:auto}
.c-soon{display:inline-block;font-family:var(--ds-f-label);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;margin-left:8px;vertical-align:2px;background:var(--ds-ink);color:var(--ds-bg)}
.c-starts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:1.6rem 0 1.2rem}
.c-starts__item{border-left:4px solid var(--ds-line);padding:.2rem 0 .2rem 1rem}
.c-starts__item h3{font-family:var(--ds-f-display);font-size:1.1rem;margin:0 0 .3rem}
.c-starts__item p{margin:0;font-size:.95rem;line-height:1.5}
@media(max-width:820px){
  .c-starts{grid-template-columns:1fr}
  .c-ledger__foot .c-band__more{margin-left:0}
}

/* ── method: figury SVG + podpis RYS. (2026-07-13) ── */
.c-figure{margin:1.6rem 0}
.c-figure svg{display:block;width:100%;height:auto}
.c-figure__cap{font-family:var(--ds-f-label);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-muted);margin-top:6px}
.fig-step rect{fill:var(--ds-surface);stroke:var(--ds-ink);stroke-width:1.5}
.fig-step text{font-family:var(--ds-f-display);font-size:17px;fill:var(--ds-ink);text-anchor:middle;dominant-baseline:central}
.fig-step--hot rect{stroke:var(--ds-accent);stroke-width:2.5}
.fig-step--hot text{fill:var(--ds-accent)}
.fig-arrow{stroke:var(--ds-ink);stroke-width:2;fill:none}
.fig-axis{stroke:var(--ds-line);stroke-width:1.5;fill:none}
.fig-decay{stroke:var(--ds-ink);stroke-width:2.5;fill:none}
.fig-jump{stroke:var(--ds-accent);stroke-width:2;stroke-dasharray:4 3;fill:none}
.fig-dot{fill:var(--ds-accent)}
.fig-label{font-family:var(--ds-f-label);font-size:11px;letter-spacing:.1em;fill:var(--ds-muted);text-transform:uppercase}
.fig-cell{fill:var(--ds-surface);stroke:var(--ds-line)}
.fig-cell--hot{stroke:var(--ds-accent);stroke-width:2}
.fig-cell-t{font-family:var(--ds-f-label);font-size:13px;fill:var(--ds-ink);text-anchor:middle;dominant-baseline:central}
/* ── method: oś przemiany bohatera ── */
.c-arc{position:relative;margin:1.8rem 0 0;padding-left:26px;border-left:3px solid var(--ds-ink)}
.c-arc__frame{font-style:italic;margin:0 0 1.4rem}
.c-arc__step{position:relative;padding:0 0 1.6rem}
.c-arc__step::before{content:"";position:absolute;left:-33px;top:6px;width:11px;height:11px;background:var(--ds-bg);border:3px solid var(--ds-ink);border-radius:50%}
.c-arc__step:last-child{padding-bottom:.2rem}
.c-arc__step:last-child::before{background:var(--ds-accent);border-color:var(--ds-accent)}
.c-arc__no{font-family:var(--ds-f-label);font-size:11px;color:var(--ds-accent)}
.c-arc__name{font-family:var(--ds-f-display);font-weight:700;font-size:19px;margin:.1rem 0 .2rem}
.c-arc__desc{margin:0;font-size:.98rem;line-height:1.55}
/* podtytuł bloku w sekcji (science) */
.c-band__subtitle{font-family:var(--ds-f-display);font-weight:700;font-size:22px;margin:1.6rem 0 .5rem}
