/**
 * Trading for a Living — main stylesheet.
 *
 * Values follow the PSD (1586px canvas, 1354px page frame, 1279px content).
 */

/* Fonts
   ========================================================================== */

@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Lora";
	src: url("../fonts/lora-regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Lora";
	src: url("../fonts/lora-italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "Lora";
	src: url("../fonts/lora-bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Lora";
	src: url("../fonts/lora-bolditalic.woff2") format("woff2");
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "Playfair Display";
	src: url("../fonts/playfairdisplay-bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Tokens
   ========================================================================== */

:root {
	--tfal-bg: #f6f3ed;
	--tfal-paper: #fbf9f4;
	--tfal-line: #d8d5ce;
	--tfal-ink: #222222;
	--tfal-muted: #666662;
	--tfal-soft: #94948b;
	--tfal-faint: #c4c4c3;

	--tfal-font-display: "Playfair Display", Georgia, serif;
	--tfal-font-text: "Lora", Georgia, serif;
	--tfal-font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	--tfal-tracking: 0.15em;
	--tfal-frame: 1354px;
	--tfal-gutter: 37px;
	--tfal-letter-col: 108px;
}

/* Base
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.site-nav {
		transition: none !important;
	}

	.site-newsletter__result {
		animation: none;
	}

	.site-search__input,
	.site-search::after {
		animation: none !important;
	}
}

@keyframes tfal-search-field {
	from {
		opacity: 0;
		clip-path: inset(0 0 0 100%);
		transform: translateX(40px);
	}

	to {
		opacity: 1;
		clip-path: inset(0);
		transform: none;
	}
}

@keyframes tfal-search-line {
	from {
		clip-path: inset(0 0 0 100%);
	}

	to {
		clip-path: inset(0);
	}
}

body {
	margin: 0;
	background: var(--tfal-bg);
	color: var(--tfal-ink);
	font-family: var(--tfal-font-text);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

:focus-visible {
	outline: 2px solid var(--tfal-ink);
	outline-offset: 3px;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-family: var(--tfal-font-display);
	font-weight: 700;
	line-height: 1.1;
}

p {
	margin: 0;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	top: -100px;
	left: 16px;
	z-index: 10;
	padding: 8px 16px;
	background: var(--tfal-ink);
	color: var(--tfal-paper);
	font: 700 12px/1.5 var(--tfal-font-ui);
}

.skip-link:focus {
	top: 16px;
}

/* Shared UI type: small uppercase tracked labels. */
.kicker,
.site-brand__tagline,
.site-nav,
.az-bar,
.site-footer__menu,
.site-footer__meta,
.button {
	font-family: var(--tfal-font-ui);
	font-size: 12px;
	letter-spacing: var(--tfal-tracking);
	text-transform: uppercase;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 32px;
	border: 0;
	border-radius: 0;
	background: var(--tfal-muted);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.button:hover {
	background: var(--tfal-ink);
}

/* Page frame
   ========================================================================== */

.site-frame {
	max-width: var(--tfal-frame);
	margin: 10px auto 0;
	padding: 0 var(--tfal-gutter) 56px;
	border: 1px solid var(--tfal-line);
	background: var(--tfal-paper);
}

/* Header
   ========================================================================== */

.site-header {
	padding-top: 18px;
}

/* Phones (and the homepage masthead): the strip above the logo, the menu
   button and the brand lead. */
.site-topbar,
.site-topbar__menu,
.site-brand__lead {
	display: none;
}

.site-topbar__date span + span::before {
	content: "·";
	margin: 0 10px;
}

.site-brand {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 11px;
}

.site-brand__name {
	font-family: var(--tfal-font-display);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

.site-brand__name:hover {
	text-decoration: none;
}

.site-brand__tagline {
	font-size: 10px;
}

.site-brand__tagline::before {
	content: "·";
	margin-right: 11px;
}

.site-nav {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-top: 21px;
	border-bottom: 1px solid var(--tfal-line);
	color: var(--tfal-muted);
	font-weight: 700;
}

.site-nav__list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav__list li + li::before {
	content: "·";
	margin: 0 20px;
	color: var(--tfal-soft);
}

.site-nav__list a,
.site-search__submit {
	display: inline-block;
	padding-bottom: 17px;
	line-height: 1;
}

.site-nav__list a:hover,
.site-search__submit:hover {
	color: var(--tfal-ink);
	text-decoration: none;
}

.site-nav__list .current-menu-item > a,
.site-nav__list .current-menu-ancestor > a,
.site-nav__list .current_page_item > a {
	margin-bottom: -1px;
	border-bottom: 2px solid var(--tfal-ink);
	padding-bottom: 16px;
	color: var(--tfal-ink);
}

/* Phones only: closes the slide-in menu. */
.site-nav__close {
	display: none;
}

/* Search in the menu row: field + "Szukaj ›" submit. */
.site-search {
	display: flex;
	align-items: baseline;
	gap: 24px;
	flex-shrink: 0;
}

.site-search__input {
	flex: 1;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--tfal-ink);
	font: italic 16px/24px var(--tfal-font-text);
	-webkit-appearance: none;
}

.site-search__input::placeholder {
	color: var(--tfal-soft);
	opacity: 1;
}

.site-search__input:focus {
	outline: none;
}

.site-search__input::-webkit-search-cancel-button {
	display: none;
}

.site-search__submit {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	margin-right: 1px;
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: 1;
	text-transform: inherit;
	cursor: pointer;
}

/* Search form
   ========================================================================== */

.search-form {
	display: flex;
	gap: 37px;
	align-items: flex-end;
	max-width: 640px;
}

.site-main > .search-form {
	margin-top: 39px;
}

.search-form__input {
	flex: 1;
}

.search-form__input,
.site-newsletter__input {
	min-width: 0;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--tfal-line);
	border-radius: 0;
	background: transparent;
	color: var(--tfal-ink);
	font: italic 700 16px/1.5 var(--tfal-font-text);
	-webkit-appearance: none;
}

.search-form__input::placeholder,
.site-newsletter__input::placeholder {
	color: var(--tfal-muted);
}

.search-form__input:focus,
.site-newsletter__input:focus {
	border-bottom-color: var(--tfal-ink);
	outline: none;
}

/* Page header
   ========================================================================== */

.page-header {
	padding-top: 75px;
}

.page-header .kicker {
	line-height: 1.5;
}

.page-header__title {
	margin-top: 29px;
	font-size: 40px;
}

.page-header__subtitle {
	margin-top: 8px;
	color: var(--tfal-soft);
	font-size: 24px;
	font-style: italic;
	line-height: 1.4;
}

/* Encyklopedia: A–Z bar
   ========================================================================== */

.az-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	min-height: 51px;
	margin-top: 39px;
	padding: 12px 0;
	border-top: 1px solid var(--tfal-line);
	border-bottom: 1px solid var(--tfal-line);
}

.az-bar__letters {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--tfal-muted);
	font-weight: 700;
	line-height: 1;
}

.az-bar__letters li + li::before {
	content: "·";
	margin: 0 7px;
	color: var(--tfal-faint);
	font-weight: 400;
}

.az-bar__letters a:hover {
	color: var(--tfal-ink);
}

.az-bar__letters [aria-disabled] {
	color: var(--tfal-faint);
}

.az-bar__meta {
	color: var(--tfal-soft);
	font-size: 10px;
	line-height: 1;
}

.az-bar__meta span + span::before {
	content: "·";
	margin: 0 12px;
}

/* Encyklopedia: letter groups
   ========================================================================== */

.az-group {
	display: grid;
	grid-template-columns: var(--tfal-letter-col) minmax(0, 1fr);
	padding: 40px 0;
	border-bottom: 1px solid var(--tfal-line);
	scroll-margin-top: 24px;
}

.az-group:first-child {
	padding-top: 24px;
}

.az-group__letter {
	font-size: 60px;
	line-height: 1;
}

.az-group__entries {
	display: grid;
	grid-template-columns: minmax(0, 531fr) minmax(0, 640fr);
	gap: 38px 0;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.az-entry {
	max-width: 27rem;
	padding-right: 24px;
}

.az-entry__title {
	font-size: 22px;
	line-height: 24px;
}

.az-entry__description {
	margin-top: 12px;
	color: var(--tfal-soft);
	font-style: italic;
	line-height: 24px;
}

/* Artykuły: category tabs bar
   ========================================================================== */

.filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0 24px;
	margin-top: 39px;
	border-top: 1px solid var(--tfal-line);
	border-bottom: 1px solid var(--tfal-line);
	font-family: var(--tfal-font-ui);
	letter-spacing: var(--tfal-tracking);
	text-transform: uppercase;
}

.filter-bar__tabs {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--tfal-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.filter-bar__tabs li + li::before {
	content: "·";
	margin: 0 20px;
	color: var(--tfal-soft);
}

.filter-bar__tabs a {
	display: inline-block;
	padding: 19px 0;
}

.filter-bar__tabs a:hover {
	color: var(--tfal-ink);
	text-decoration: none;
}

.filter-bar__tabs .is-active a {
	margin-bottom: -1px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--tfal-ink);
	color: var(--tfal-ink);
}

.filter-bar__meta {
	color: var(--tfal-soft);
	font-size: 10px;
	line-height: 1;
}

/* Artykuły: rows
   ========================================================================== */

/* The label column fits the longest category name (at least 108px as in the
   design), shared by all rows through subgrid so titles stay aligned. */
.article-list {
	display: grid;
	grid-template-columns: minmax(84px, max-content) minmax(0, 1fr);
	column-gap: 24px;
}

.article-row {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	padding: 40px 0 46px;
	border-bottom: 1px solid var(--tfal-line);
}

.article-row__category {
	padding-top: 12px;
	font-family: var(--tfal-font-ui);
	font-size: 12px;
	letter-spacing: var(--tfal-tracking);
	line-height: 18px;
	text-transform: uppercase;
	white-space: nowrap;
}

.article-row__title {
	max-width: 54rem;
	font-size: 30px;
	line-height: 1.2;
}

.article-row__description {
	max-width: 54rem;
	margin-top: 14px;
	color: var(--tfal-soft);
	font-style: italic;
	line-height: 24px;
}

.article-meta {
	margin-top: 12px;
	color: var(--tfal-soft);
	font-family: var(--tfal-font-ui);
	font-size: 10px;
	letter-spacing: var(--tfal-tracking);
	line-height: 18px;
	text-transform: uppercase;
}

.article-meta span {
	white-space: nowrap;
}

.article-meta span + span::before {
	content: "·";
	margin: 0 10px;
}

/* Nagrania: numbered rows
   ========================================================================== */

/* The number spans the title and description; the duration sits under it on
   the meta line. Columns are shared through subgrid so titles stay aligned. */
.webinar-list {
	display: grid;
	grid-template-columns: minmax(66px, max-content) minmax(0, 1fr);
	column-gap: 42px;
	margin-top: 39px;
	border-top: 1px solid var(--tfal-line);
}

.webinar-row {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	grid-template-areas:
		"number title"
		"number description"
		"duration meta";
	grid-template-rows: auto 1fr auto;
	padding: 36px 0 48px;
	border-bottom: 1px solid var(--tfal-line);
}

.webinar-row__number {
	grid-area: number;
	justify-self: center;
	font-family: var(--tfal-font-display);
	font-size: 60px;
	font-weight: 700;
	line-height: 0.8;
}

.webinar-row__title {
	grid-area: title;
	max-width: 54rem;
	font-size: 30px;
	line-height: 1.2;
}

.webinar-row__description {
	grid-area: description;
	max-width: 54rem;
	margin-top: 14px;
	color: var(--tfal-soft);
	font-style: italic;
	line-height: 24px;
}

.webinar-row__duration {
	grid-area: duration;
	justify-self: center;
	margin-top: 12px;
	font-family: var(--tfal-font-ui);
	font-size: 10px;
	letter-spacing: var(--tfal-tracking);
	line-height: 18px;
	text-transform: uppercase;
	white-space: nowrap;
}

.webinar-row .article-meta {
	grid-area: meta;
}

/* The Memo: issue archive
   ========================================================================== */

.memo-list {
	margin-top: 39px;
	border-top: 1px solid var(--tfal-line);
}

.memo-row {
	display: grid;
	grid-template-areas:
		"number body"
		"date body";
	grid-template-columns: var(--tfal-letter-col) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	padding: 46px 0 48px;
	border-bottom: 1px solid var(--tfal-line);
}

.memo-row__number {
	grid-area: number;
	font-family: var(--tfal-font-display);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.memo-row__date {
	grid-area: date;
	margin-top: 17px;
	color: var(--tfal-soft);
	font-family: var(--tfal-font-ui);
	font-size: 10px;
	letter-spacing: var(--tfal-tracking);
	line-height: 18px;
}

.memo-row__body {
	grid-area: body;
}

.memo-row__title {
	font-size: 30px;
	line-height: 1.2;
}

.memo-row__subtitle {
	max-width: 60rem;
	margin-top: 14px;
	color: var(--tfal-soft);
	font-style: italic;
	line-height: 24px;
}

.memo-row__teaser {
	max-width: 60rem;
	margin-top: 10px;
	font-size: 18px;
	line-height: 30px;
}

.memo-row__more {
	margin-top: 34px;
	font-size: 20px;
	line-height: 1.4;
}

/* Listings (archives, search)
   ========================================================================== */

.entry-list {
	margin-top: 39px;
	border-top: 1px solid var(--tfal-line);
}

.entry-row {
	padding: 32px 0 32px var(--tfal-letter-col);
	border-bottom: 1px solid var(--tfal-line);
}

.entry-row__meta {
	color: var(--tfal-soft);
	font-size: 10px;
}

.entry-row__meta span + time::before {
	content: "·";
	margin: 0 12px;
}

.entry-row__title {
	max-width: 44rem;
	margin-top: 10px;
	font-size: 22px;
	line-height: 1.25;
}

.entry-row__description {
	max-width: 44rem;
	margin-top: 10px;
	color: var(--tfal-soft);
	font-style: italic;
}

.pagination {
	margin-top: 40px;
	font: 700 12px/1 var(--tfal-font-ui);
	letter-spacing: var(--tfal-tracking);
	text-transform: uppercase;
	color: var(--tfal-muted);
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 20px;
}

.pagination .page-numbers {
	color: var(--tfal-soft);
}

.pagination .prev,
.pagination .next {
	color: var(--tfal-muted);
}

.pagination a:hover {
	color: var(--tfal-ink);
	text-decoration: none;
}

.pagination .current {
	color: var(--tfal-ink);
}

.pagination .dots {
	color: var(--tfal-soft);
}

.empty-state {
	margin-top: 39px;
	color: var(--tfal-soft);
	font-style: italic;
	font-size: 18px;
}

/* Single entry content
   ========================================================================== */

.entry-meta {
	margin-top: 24px;
	color: var(--tfal-soft);
	font-size: 10px;
}

.entry-video {
	max-width: 800px;
	margin-top: 39px;
}

.entry-video iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.entry-content {
	max-width: 44rem;
	margin-top: 39px;
	padding-top: 39px;
	border-top: 1px solid var(--tfal-line);
	font-size: 18px;
	line-height: 30px;
}

.entry-content > * + * {
	margin-top: 1.25em;
}

.entry-content h2 {
	margin-top: 1.8em;
	font-size: 28px;
	line-height: 1.25;
}

.entry-content h3,
.entry-content h4 {
	margin-top: 1.6em;
	font-size: 22px;
	line-height: 1.3;
}

.entry-content a {
	text-decoration: underline;
	text-decoration-color: var(--tfal-line);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.entry-content a:hover {
	text-decoration-color: currentcolor;
}

.entry-content blockquote {
	margin-left: 0;
	padding-left: 24px;
	border-left: 2px solid var(--tfal-ink);
	font-style: italic;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.25em;
}

.entry-content figure {
	margin-left: 0;
	margin-right: 0;
}

.entry-content figcaption,
.entry-content .wp-element-caption {
	margin-top: 8px;
	color: var(--tfal-soft);
	font-size: 14px;
	font-style: italic;
	line-height: 1.5;
}

.entry-content hr,
.entry-content .wp-block-separator {
	height: 0;
	margin: 2em 0;
	border: 0;
	border-top: 1px solid var(--tfal-line);
	opacity: 1;
}

/* Back-to-back separators (e.g. around an embed that renders nothing) show as one. */
.entry-content :is(hr, .wp-block-separator) + :is(hr, .wp-block-separator) {
	display: none;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
}

.entry-content th,
.entry-content td {
	padding: 8px 12px 8px 0;
	border-bottom: 1px solid var(--tfal-line);
	text-align: left;
}

/* Inline text link with chevron ("Wszystkie pojęcia ›"). */
.text-link {
	display: inline-flex;
	gap: 14px;
	align-items: center;
	color: var(--tfal-muted);
	font-style: italic;
	font-weight: 700;
	white-space: nowrap;
}

.text-link:hover {
	color: var(--tfal-ink);
	text-decoration: none;
}

.text-link > span {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.text-link > svg {
	flex-shrink: 0;
}

/* Encyklopedia: single entry
   ========================================================================== */

.dictionary-entry__header {
	max-width: 854px;
	padding-top: 75px;
}

.dictionary-entry__title {
	margin-top: 38px;
	font-size: 60px;
	line-height: 70px;
	overflow-wrap: break-word;
}

.dictionary-entry__lead {
	margin-top: 70px;
	color: var(--tfal-soft);
	font-size: 24px;
	font-style: italic;
	line-height: 40px;
}

/* Article body per design: Lora Italic 18/30, Lora Italic headings. */
.entry-content--prose {
	max-width: 854px;
	margin-top: 43px;
	padding-top: 0;
	border-top: 0;
	font-style: italic;
}

.entry-content--prose > * + * {
	margin-top: 30px;
}

.entry-content--prose h1,
.entry-content--prose h2,
.entry-content--prose h3,
.entry-content--prose h4,
.entry-content--prose h5,
.entry-content--prose h6 {
	font-family: var(--tfal-font-text);
	font-style: italic;
	font-weight: 400;
}

.entry-content--prose h1 {
	margin-top: 50px;
	font-size: 46px;
	line-height: 1.3;
}

.entry-content--prose h2 {
	margin-top: 50px;
	font-size: 36px;
	line-height: 50px;
}

.entry-content--prose h3 {
	margin-top: 40px;
	font-size: 24px;
	line-height: 50px;
}

.entry-content--prose h4,
.entry-content--prose h5,
.entry-content--prose h6 {
	margin-top: 30px;
	font-size: 20px;
	line-height: 30px;
}

/* Headings directly after one another stack tightly, as in the design. */
.entry-content--prose :is(h1, h2, h3, h4) + :is(h1, h2, h3, h4) {
	margin-top: 0;
}

/* Text right after a heading sits close to it. */
.entry-content--prose :is(h2, h3, h4, h5, h6) + :not(h1, h2, h3, h4, h5, h6) {
	margin-top: 10px;
}

.entry-content--prose strong,
.entry-content--prose b {
	font-weight: 700;
}

.entry-content--prose a {
	color: var(--tfal-muted);
	text-decoration-color: currentcolor;
}

.entry-content--prose a:hover {
	color: var(--tfal-ink);
}

/* Encyklopedia: next entries
   ========================================================================== */

.related-entries {
	margin-top: 94px;
	padding-top: 45px;
	border-top: 1px solid var(--tfal-line);
}

.related-entries__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px 32px;
}

.related-entries__title {
	font-size: 40px;
	line-height: 1.1;
}

.related-entries__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 54px 0 0;
	padding: 0;
	list-style: none;
}

.related-entries__list .az-entry {
	max-width: none;
	padding-right: 53px;
}

.related-entries__list .az-entry + .az-entry {
	padding-left: 53px;
	border-left: 1px solid var(--tfal-line);
}

/* Prose images and captions (charts are images in content). */
.entry-content--prose img {
	display: block;
}

.entry-content--prose figure,
.entry-content--prose .wp-block-image {
	margin-top: 50px;
	margin-bottom: 50px;
}

.entry-content--prose figcaption,
.entry-content--prose .wp-element-caption,
.entry-content--prose .wp-caption-text {
	margin-top: 16px;
	font-size: 12px;
	line-height: 1.6;
}

.entry-content--prose .wp-caption {
	max-width: 100%;
}

/* Artykuły: single article
   ========================================================================== */

.article__header {
	padding-top: 75px;
}

.article__topline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 32px;
}

.article__breadcrumb {
	line-height: 1.5;
}

.article__breadcrumb a {
	color: var(--tfal-muted);
	font-weight: 700;
}

.article__breadcrumb a + a::before {
	content: "·";
	display: inline-block;
	margin: 0 20px;
	color: var(--tfal-ink);
}

.article__topline .article-meta {
	margin-top: 0;
}

.article__title {
	max-width: 854px;
	margin-top: 38px;
	font-size: 60px;
	line-height: 70px;
	overflow-wrap: break-word;
}

.article__layout {
	display: grid;
	grid-template-columns: minmax(0, 856px) minmax(0, 1fr);
	grid-template-areas:
		"lead aside"
		"body aside";
	grid-template-rows: auto 1fr;
	column-gap: 51px;
	margin-top: 82px;
}

.article__lead {
	grid-area: lead;
	color: var(--tfal-soft);
	font-size: 24px;
	font-style: italic;
	line-height: 40px;
}

.article__body {
	grid-area: body;
	max-width: none;
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.article__lead + .article__body {
	margin-top: 75px;
}

/* Stays in view while the article scrolls past. */
.article__aside {
	position: sticky;
	top: 40px;
	grid-area: aside;
	align-self: start;
	padding-left: 56px;
	border-left: 1px solid var(--tfal-line);
}

.article__aside .post-column__category {
	margin-top: 20px;
}

.post-column__more {
	margin-top: 43px;
	text-align: right;
}

/* Category column: name, rule, titles with dates (aside and catalog picks). */
.post-column__category {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--tfal-line);
	color: var(--tfal-soft);
	font-size: 24px;
	font-style: italic;
	line-height: 1.4;
}

.post-column__list {
	display: grid;
	gap: 40px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.post-column__title {
	font-size: 22px;
	line-height: 30px;
}

.post-column__list .article-meta {
	margin-top: 10px;
}

/* Artykuły: "Z katalogu · wybór autora"
   ========================================================================== */

.catalog-picks {
	margin-top: 94px;
	padding-top: 22px;
	border-top: 1px solid var(--tfal-line);
}

.catalog-picks__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px 32px;
}

.catalog-picks__title {
	font-family: var(--tfal-font-ui);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
}

.catalog-picks__title span + span::before {
	content: "·";
	margin: 0 12px;
}

.catalog-picks__columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 34px;
}

.catalog-picks__columns .post-column {
	padding-right: 56px;
}

.catalog-picks__columns .post-column + .post-column {
	padding-left: 56px;
	border-left: 1px solid var(--tfal-line);
}

/* Zacznij tutaj (homepage) — a narrower, centered column
   ========================================================================== */

:root {
	--tfal-accent: #834430;
}

.home-page {
	max-width: 1066px;
	margin: 0 auto;
}

.home-page__header {
	padding: 75px 0 46px;
	border-bottom: 1px solid var(--tfal-line);
}

.home-page__title {
	margin-top: 26px;
	font-size: 60px;
	line-height: 1.1;
}

.home-page__subtitle {
	margin-top: 8px;
	color: var(--tfal-soft);
	font-size: 24px;
	font-style: italic;
	line-height: 1.4;
}

.home-page__header .article-meta {
	margin-top: 14px;
}

/* Intro letter with a hanging drop cap. */
.home-page__letter {
	padding: 40px 0 43px 77px;
	border-bottom: 1px solid var(--tfal-line);
	font-size: 24px;
	line-height: 40px;
}

.home-page__letter > * + * {
	margin-top: 40px;
}

.home-page__letter > p:first-child::first-letter {
	float: left;
	margin: 8px 15px 0 -77px;
	font-size: 112px;
	line-height: 0.75;
}

.home-page__letter a {
	text-decoration: underline;
	text-decoration-color: var(--tfal-line);
	text-underline-offset: 0.2em;
}

.home-page__section {
	padding-top: 40px;
}

.home-page__section--videos {
	padding-top: 100px;
}

.home-page__section-title {
	font-size: 40px;
	line-height: 1.1;
}

/* Numbered reading path; rules span half the column as in the design. */
.reading-path,
.video-list {
	margin: 56px 0 0;
	padding: 0;
	list-style: none;
}

.reading-path {
	counter-reset: tfal-path;
}

.reading-path__item,
.video-list__item {
	position: relative;
}

.reading-path__item::after,
.video-list__item::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: min(534px, 100%);
	border-bottom: 1px solid var(--tfal-line);
}

.reading-path__item {
	counter-increment: tfal-path;
	padding: 0 0 48px var(--tfal-letter-col);
}

.reading-path__item + .reading-path__item {
	padding-top: 46px;
}

.reading-path__item::before {
	content: counter(tfal-path);
	position: absolute;
	left: 1px;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--tfal-accent);
	color: #fff;
	font-family: var(--tfal-font-ui);
	font-size: 12px;
	letter-spacing: var(--tfal-tracking);
	text-indent: var(--tfal-tracking);
	line-height: 1;
}

.reading-path__title,
.video-list__title {
	font-size: 30px;
	line-height: 1.2;
}

.reading-path__description,
.video-list__description {
	margin-top: 12px;
	color: var(--tfal-soft);
	font-style: italic;
	line-height: 24px;
}

.reading-path .article-meta {
	margin-top: 10px;
}

.video-list__item {
	padding-bottom: 45px;
}

.video-list__item + .video-list__item {
	padding-top: 32px;
}

.video-list .article-meta {
	margin-top: 0;
}

.video-list__title {
	margin-top: 10px;
}

/* Signature and sign-off. */
.home-page__signoff {
	padding-top: 96px;
	color: var(--tfal-soft);
	font-style: italic;
}

.home-page__signature {
	display: block;
	width: 455px;
	max-width: 100%;
	height: auto;
}

.home-page__signoff-line {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 32px;
	margin-top: 49px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--tfal-line);
}

.home-page__ps {
	margin-top: 24px;
}

.home-page__ps a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.home-page__ps a:hover {
	color: var(--tfal-ink);
}

/* Homepage (front-page.php) — per tradingforaliving_index.psd: the letter and
   two newest articles beside a sidebar, catalog picks, then three columns.
   ========================================================================== */

:root {
	--tfal-accent-soft: #a77a6b;
}

.front .kicker {
	font-weight: 400;
	line-height: 1.5;
}

.front .kicker span + span::before {
	content: "·";
	margin: 0 10px;
}

.front-memo__title a:hover {
	text-decoration: none;
}

/* Letter and articles | sidebar, split by a rule. The main column stretches
   to the sidebar's height so the article divider runs to the bottom. */
.front-lead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 480px;
	column-gap: 52px;
	padding-top: 76px;
}

.front-lead__main {
	display: flex;
	flex-direction: column;
}

.front-lead__aside {
	padding-left: 55px;
	border-left: 1px solid var(--tfal-line);
}

.front-memo {
	padding-bottom: 26px;
	border-bottom: 1px solid var(--tfal-line);
}

.front-memo__title {
	margin-top: 26px;
	font-size: 40px;
	line-height: 1.1;
}

.front-memo__subtitle {
	margin-top: 10px;
	color: var(--tfal-soft);
	font-size: 24px;
	font-style: italic;
	line-height: 1.4;
}

.front-memo .article-meta {
	margin-top: 28px;
}

.front-memo__teaser {
	margin-top: 26px;
	font-size: 18px;
	line-height: 30px;
}

.front-memo__chart {
	margin: 26px 0 0;
	padding-top: 56px;
	border-top: 1px solid var(--tfal-line);
}

.front-memo__chart svg {
	display: block;
	width: 100%;
	height: auto;
}

.front-memo__chart figcaption {
	margin-top: 14px;
	color: var(--tfal-soft);
	font-size: 12px;
	font-style: italic;
	line-height: 1.5;
}

.front-memo__more {
	margin-top: 18px;
	font-size: 20px;
	line-height: 1.4;
}

.front-recent {
	display: grid;
	flex: 1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.front-recent__item {
	padding: 48px 56px 0 0;
}

.front-recent__item + .front-recent__item {
	padding: 48px 0 0 56px;
	border-left: 1px solid var(--tfal-line);
}

.front-recent__title {
	margin-top: 18px;
	font-size: 22px;
	line-height: 24px;
}

.front-recent__description {
	margin-top: 24px;
	color: var(--tfal-soft);
	font-style: italic;
	line-height: 24px;
}

.front-recent .article-meta {
	margin-top: 20px;
}

.front__more {
	margin-top: 22px;
	font-size: 16px;
	line-height: 1.4;
}

.front-path {
	padding-bottom: 48px;
	border-bottom: 1px solid var(--tfal-line);
}

.front-path__intro,
.front-author__bio {
	margin-top: 26px;
	font-size: 18px;
	line-height: 30px;
}

.front-path__list {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: tfal-front-path;
	font-size: 18px;
	line-height: 30px;
}

.front-path__list li {
	counter-increment: tfal-front-path;
	position: relative;
	padding: 5px 0 5px 46px;
}

.front-path__list li::before {
	content: counter(tfal-front-path);
	position: absolute;
	top: 5px;
	left: 0;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--tfal-accent);
	color: #fff;
	font-family: var(--tfal-font-ui);
	font-size: 10px;
	letter-spacing: var(--tfal-tracking);
	text-indent: var(--tfal-tracking);
	line-height: 1;
}

.front-path__list a:hover {
	text-decoration-color: var(--tfal-line);
}

.front-author {
	padding-top: 60px;
}

.front-author__head {
	display: flex;
	align-items: center;
	gap: 16px;
}

.front-author__avatar {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	background: var(--tfal-accent-soft);
	color: #fff;
	font-family: var(--tfal-font-display);
	font-size: 20px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
}

.front-author__name {
	font-size: 22px;
	line-height: 24px;
}

.front-author__role {
	margin-top: 6px;
}

.front-author .front__more {
	margin-top: 24px;
}

/* Sign-up box stacked in the sidebar. */
.front .site-newsletter {
	display: block;
	margin-top: 80px;
	padding: 36px 30px 22px;
}

.front .site-newsletter__text {
	margin-top: 24px;
}

.front .site-newsletter__form {
	margin-top: 10px;
}

.front .site-newsletter__fields {
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}

.front .site-newsletter__input {
	width: 100%;
}

.front .site-newsletter__submit {
	min-width: 0;
}

.front .site-newsletter__note {
	display: block;
}

.front .site-newsletter__result {
	margin-top: 24px;
}

.front .site-newsletter__result-title {
	font-size: 26px;
	line-height: 34px;
}

.front-picks {
	margin-top: 58px;
}

/* Three equal 317px text columns with 55px gutters; the spare width stays
   right of the last one, as in the design. */
.front-picks .catalog-picks__columns,
.front-columns {
	grid-template-columns: minmax(0, 372fr) minmax(0, 428fr) minmax(0, 478fr);
}

.front-picks .catalog-picks__columns {
	margin-top: 26px;
}

.front-picks .catalog-picks__columns .post-column {
	padding-right: 55px;
	padding-bottom: 23px;
}

.front-picks .catalog-picks__columns .post-column:last-child,
.front-columns > .front-section:last-child {
	padding-right: 104px;
}

/* Recordings | encyclopedia | letter archive, divided like the catalog picks. */
.front-columns {
	display: grid;
	margin-top: 48px;
	padding-top: 74px;
	border-top: 1px solid var(--tfal-line);
}

.front-columns > .front-section {
	padding: 13px 55px 28px 0;
}

.front-columns > .front-section + .front-section {
	padding-left: 56px;
	border-left: 1px solid var(--tfal-line);
}

.front-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--tfal-line);
}

.front-section__head .text-link {
	font-size: 16px;
}

.front-list {
	display: grid;
	gap: 38px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.front-list .article-meta {
	margin-top: 0;
}

.front-list__title {
	margin-top: 8px;
	font-size: 22px;
	line-height: 30px;
}

.front-section__intro {
	margin-top: 20px;
	color: var(--tfal-soft);
	font-size: 16px;
	font-style: italic;
	line-height: 24px;
}

.front-section__note {
	margin-top: 22px;
	color: var(--tfal-soft);
	font-size: 12px;
	font-style: italic;
	line-height: 1.5;
}

/* Terms run inline; the dot after each one stays at the line end when wrapping. */
.front-terms {
	display: flex;
	flex-wrap: wrap;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	color: var(--tfal-muted);
	font-family: var(--tfal-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: var(--tfal-tracking);
	line-height: 20px;
	text-transform: uppercase;
}

.front-terms li:not(:last-child)::after {
	content: "·";
	margin: 0 10px;
}

.front-terms a:hover {
	color: var(--tfal-ink);
	text-decoration: none;
}

/* Homepage masthead (tradingforaliving_index.psd); phones restyle it below.
   The nav shows no current-page highlight, as in the design. Other pages keep
   the compact header from the base rules (tradingforaliving_artykuly_wpis.psd). */
@media (min-width: 761px) {
	.site-header--masthead {
		padding-top: 0;
	}

	.site-header--masthead .site-topbar {
		display: flex;
		justify-content: space-between;
		gap: 24px;
		padding: 16px 0 17px;
		border-bottom: 1px solid var(--tfal-line);
		font-family: var(--tfal-font-ui);
		font-size: 10px;
		letter-spacing: var(--tfal-tracking);
		line-height: 15px;
		text-transform: uppercase;
	}

	.site-header--masthead .site-brand {
		flex-direction: column;
		align-items: center;
		gap: 0;
		padding: 37px 0 34px;
		text-align: center;
	}

	.site-header--masthead .site-brand__tagline {
		order: -1;
		font-size: 12px;
		line-height: 18px;
	}

	.site-header--masthead .site-brand__tagline::before {
		content: none;
	}

	.site-header--masthead .site-brand__name {
		margin-top: 4px;
		font-size: 60px;
		line-height: 1.1;
	}

	.site-header--masthead .site-brand__lead {
		display: block;
		margin-top: 29px;
		color: var(--tfal-soft);
		font-size: 16px;
		font-style: italic;
		line-height: 24px;
	}

	.site-header--masthead .site-nav {
		position: relative;
		align-items: center;
		justify-content: center;
		margin-top: 0;
		border-top: 1px solid var(--tfal-line);
	}

	.site-header--masthead .site-nav__list a,
	.site-header--masthead .site-search__submit,
	.site-header--masthead .site-nav__list .current-menu-item > a,
	.site-header--masthead .site-nav__list .current-menu-ancestor > a,
	.site-header--masthead .site-nav__list .current_page_item > a {
		margin: 0;
		padding: 40px 0 39px;
		border-bottom: 0;
	}

	.site-header--masthead .site-nav__list .current-menu-item > a,
	.site-header--masthead .site-nav__list .current-menu-ancestor > a,
	.site-header--masthead .site-nav__list .current_page_item > a {
		color: inherit;
	}

	/* "Szukaj" sits at the right of the centred menu; opened (or without JS)
	   the menu moves left and the field joins it on one underline. */
	.site-header--masthead .site-search {
		position: relative;
		flex: 0 1 423px;
		min-width: 240px;
		margin-right: 1px;
	}

	.site-header--masthead .site-search::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 28px;
		left: 0;
		border-bottom: 1px solid var(--tfal-line);
	}

	.site-header--masthead .site-search:focus-within::after {
		border-bottom-color: var(--tfal-ink);
	}

	/* Opening: the field and its underline slide out leftwards from "Szukaj". */
	.is-search-open .site-search__input {
		animation: tfal-search-field 0.4s ease-out;
	}

	.is-search-open .site-search::after {
		animation: tfal-search-line 0.4s ease-out;
	}

	.site-header--masthead .site-search__submit {
		margin-right: 0;
	}

	.site-header--masthead .site-nav {
		justify-content: space-between;
		gap: 40px;
	}

	.site-header--masthead.has-search-toggle:not(.is-search-open) .site-nav {
		justify-content: center;
	}

	.site-header--masthead.has-search-toggle:not(.is-search-open) .site-search {
		position: absolute;
		top: 0;
		right: 1px;
		min-width: 0;
		margin-right: 0;
	}

	.site-header--masthead.has-search-toggle:not(.is-search-open) .site-search__input,
	.site-header--masthead.has-search-toggle:not(.is-search-open) .site-search::after {
		display: none;
	}

	.site-header--compact .site-nav__list li + li::before {
		margin: 0 18px 0 19px;
	}

	/* Compact header: only "Szukaj ›" at the right of the menu until opened. */
	.site-header--compact .site-search {
		flex: 0 1 300px;
		min-width: 200px;
	}

	.site-header--compact.has-search-toggle:not(.is-search-open) .site-search {
		flex: none;
		min-width: 0;
	}

	.site-header--compact.has-search-toggle:not(.is-search-open) .site-search__input {
		display: none;
	}
}

/* The Memo — newsletter box (frame bottom). */
.site-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px 37px;
	align-items: end;
	margin-top: 48px;
	padding: 36px 46px 32px 33px;
	border: 1px solid var(--tfal-line);
	background: var(--tfal-bg);
}

.site-newsletter__kicker {
	font-weight: 400;
	line-height: 1.5;
}

.site-newsletter__kicker span + span::before {
	content: "·";
	margin: 0 10px;
}

.site-newsletter__text {
	max-width: 470px;
	margin-top: 21px;
	font-size: 18px;
	line-height: 30px;
}

.site-newsletter__fields {
	display: flex;
	gap: 37px;
	align-items: flex-end;
}

.site-newsletter__input {
	width: 346px;
}

.site-newsletter__submit {
	min-width: 210px;
}

.site-newsletter__consent {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-top: 14px;
	color: var(--tfal-soft);
	font-size: 14px;
	font-style: italic;
	line-height: 20px;
}

.site-newsletter__consent input {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	margin: 0;
	accent-color: var(--tfal-muted);
}

.site-newsletter__consent a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.site-newsletter__consent a:hover {
	color: var(--tfal-ink);
}

/* Sending in the background (main.js). */
.site-newsletter__form.is-sending .site-newsletter__submit {
	background: var(--tfal-soft);
	cursor: progress;
}

.site-newsletter__form.is-sending .site-newsletter__input {
	color: var(--tfal-muted);
}

.site-newsletter__input[aria-invalid="true"] {
	border-bottom-color: var(--tfal-accent);
}

.site-newsletter__error {
	display: flex;
	gap: 10px;
	align-items: baseline;
	margin-top: 12px;
	color: var(--tfal-accent);
	font-size: 14px;
	font-style: italic;
	line-height: 20px;
}

.site-newsletter__error::before {
	content: "!";
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-family: var(--tfal-font-ui);
	font-size: 10px;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	transform: translateY(2px);
}

.site-newsletter__error[hidden],
.site-newsletter__result[hidden] {
	display: none;
}

/* Thank-you block that takes the form's place. */
.site-newsletter__result {
	max-width: 520px;
	animation: tfal-result-in 0.4s ease both;
}

.site-newsletter__result-label {
	display: flex;
	gap: 10px;
	align-items: center;
	color: var(--tfal-muted);
	font-family: var(--tfal-font-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: var(--tfal-tracking);
	line-height: 1;
	text-transform: uppercase;
}

.site-newsletter__result-label::before {
	content: "";
	width: 10px;
	height: 5px;
	border-bottom: 1.5px solid currentColor;
	border-left: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(-45deg);
}

.site-newsletter__result-title {
	margin-top: 16px;
	font-family: var(--tfal-font-display);
	font-size: 30px;
	line-height: 38px;
}

.site-newsletter__result-title:focus {
	outline: none;
}

.site-newsletter__result-text {
	margin-top: 10px;
	color: var(--tfal-muted);
	font-size: 16px;
	font-style: italic;
	line-height: 26px;
}

.site-newsletter__result-text strong {
	color: var(--tfal-ink);
	font-weight: 700;
	overflow-wrap: anywhere;
}

@keyframes tfal-result-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
}

/* Shown in the homepage sidebar and on phones. */
.site-newsletter__note {
	display: none;
	margin-top: 14px;
	color: var(--tfal-soft);
	font-family: var(--tfal-font-ui);
	font-size: 10px;
	letter-spacing: var(--tfal-tracking);
	line-height: 1.5;
	text-align: center;
	text-transform: uppercase;
}

/* Footer
   ========================================================================== */

.site-footer {
	padding: 30px 16px 31px;
	text-align: center;
}

.site-footer__dots {
	display: block;
	color: var(--tfal-soft);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.3em;
}

.site-footer__menu {
	margin-top: 40px;
	color: var(--tfal-muted);
	font-weight: 700;
}

.site-footer__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 0;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 20px;
}

.site-footer__list li + li::before {
	content: "·";
	margin: 0 20px;
	color: var(--tfal-soft);
}

.site-footer__meta {
	margin-top: 52px;
	line-height: 24px;
}

.site-footer__meta span + span::before {
	content: "·";
	margin: 0 10px;
}

.site-footer__meta br + span::before {
	content: none;
}

.site-footer__meta b {
	color: var(--tfal-muted);
}

.site-footer__disclaimer {
	margin-top: 22px;
	color: var(--tfal-soft);
	font-style: italic;
}

/* Responsive
   ========================================================================== */

@media (max-width: 1000px) {
	.az-group__entries {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	/* Homepage: sidebar and the three columns go under one another. */
	.front-lead {
		display: block;
	}

	.front-lead__aside {
		padding: 64px 0 0;
		border-left: 0;
	}

	.front-columns {
		display: block;
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	.front-columns > .front-section,
	.front-columns > .front-section + .front-section,
	.front-columns > .front-section:last-child {
		margin-top: 70px;
		padding: 0;
		border-left: 0;
	}

	.front-picks {
		padding-bottom: 20px;
		border-bottom: 1px solid var(--tfal-line);
	}
}

/* Phones follow the 360px PSD (tradingforaliving_index_newsletter_360). */
@media (max-width: 760px) {
	:root {
		--tfal-gutter: 8px;
		--tfal-letter-col: 0px;
	}

	.kicker,
	.site-footer__menu,
	.site-footer__meta,
	.button {
		font-size: 10px;
	}

	.site-frame {
		margin: 8px 7px 0;
		padding-bottom: 44px;
	}

	/* Header: strip with the menu button, centred brand, menu folded away. */
	.site-header {
		display: flex;
		flex-direction: column;
		padding-top: 0;
	}

	.site-topbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 9px 0;
		border-bottom: 1px solid var(--tfal-line);
		font-family: var(--tfal-font-ui);
		font-size: 9px;
		letter-spacing: var(--tfal-tracking);
		line-height: 14px;
		text-transform: uppercase;
	}

	.site-topbar__date {
		display: none;
	}

	.site-topbar__eyebrow {
		font-size: 8px;
		letter-spacing: calc(var(--tfal-tracking) / 2);
	}

	.site-topbar__menu {
		display: none;
		gap: 12px;
		align-items: center;
		margin: -9px 0;
		padding: 9px 0 9px 12px;
		border: 0;
		background: none;
		color: var(--tfal-muted);
		font: inherit;
		font-weight: 700;
		letter-spacing: inherit;
		text-transform: inherit;
		cursor: pointer;
	}

	.has-menu-toggle .site-topbar__menu {
		display: inline-flex;
	}

	/* The homepage eyebrow is long: keep it from squeezing the button. */
	.has-menu-toggle .site-topbar__menu {
		flex-shrink: 0;
	}

	.site-topbar__menu svg {
		flex-shrink: 0;
		width: 20px;
		height: 11px;
	}

	.site-topbar__menu:hover,
	.is-menu-open .site-topbar__menu {
		color: var(--tfal-ink);
	}

	.site-brand {
		flex-direction: column;
		align-items: center;
		order: 2;
		padding: 28px 0 24px;
		border-bottom: 1px solid var(--tfal-line);
		text-align: center;
	}

	.site-brand__tagline {
		order: -1;
		line-height: 15px;
	}

	.site-brand__tagline::before {
		content: none;
	}

	.site-brand__name {
		margin-top: 9px;
		font-size: 30px;
		line-height: 36px;
	}

	.site-brand__lead {
		display: block;
		max-width: 235px;
		margin-top: 10px;
		color: var(--tfal-soft);
		font-size: 12px;
		font-style: italic;
		line-height: 16px;
	}

	/* Compact header (artykuly_wpis_mobile_360 PSD): the brand name takes the
	   left of the strip, beside the menu button. */
	.site-header--compact {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.site-header--compact .site-brand {
		grid-row: 1;
		grid-column: 1;
		align-items: flex-start;
		padding: 3px 0 3px 4px;
		text-align: left;
	}

	.site-header--compact .site-brand__name {
		margin: 0;
		font-size: 17.5px;
		line-height: 26px;
	}

	.site-header--compact .site-brand__tagline {
		display: none;
	}

	.site-header--compact .site-topbar {
		grid-row: 1;
		grid-column: 2;
	}

	.site-header--compact .site-nav {
		grid-column: 1 / -1;
	}

	/* Menu: a panel sliding in from the right (artykuly_*_mobile_360 PSDs,
	   "menu over"); without JS the same list sits open under the strip. */
	.site-nav {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		margin-top: 0;
		padding: 22px 0 40px;
		border-bottom: 1px solid var(--tfal-line);
	}

	.has-menu-toggle .site-nav {
		position: fixed;
		z-index: 100;
		top: 0;
		right: 0;
		bottom: 0;
		/* 265px on a 360px phone, keeping that share of wider screens. */
		width: max(265px, 73.6%);
		max-width: calc(100% - 40px);
		padding: 14px 13px 40px 42px;
		overflow-y: auto;
		border: 0;
		background: var(--tfal-bg);
		box-shadow: 0 0 35px 8px rgba(149, 149, 149, 0.45);
		visibility: hidden;
		transform: translateX(calc(100% + 60px));
		transition: transform 0.25s ease, visibility 0s 0.25s;
	}

	.has-menu-toggle.is-menu-open .site-nav {
		visibility: visible;
		transform: none;
		transition: transform 0.25s ease;
	}

	.is-menu-locked {
		overflow: hidden;
	}

	.has-menu-toggle .site-nav__close {
		display: inline-flex;
		gap: 8px;
		align-items: center;
		align-self: flex-end;
		margin: 0 1px 22px 0;
		padding: 0;
		border: 0;
		background: none;
		color: var(--tfal-muted);
		font: inherit;
		font-size: 9px;
		font-weight: 700;
		letter-spacing: inherit;
		line-height: 14px;
		text-transform: inherit;
		cursor: pointer;
	}

	.has-menu-toggle .site-nav__close svg {
		width: 10px;
		height: 10px;
	}

	.site-nav__close:hover {
		color: var(--tfal-ink);
	}

	.site-nav__list {
		flex-direction: column;
	}

	/* The menu fills the space between the close button and the search,
	   centring its items vertically; they share the search's left edge. */
	.has-menu-toggle .site-nav__menu {
		display: flex;
		flex: 1 0 auto;
		flex-direction: column;
		justify-content: center;
		text-align: left;
	}

	.site-nav__list li + li::before {
		content: none;
	}

	.site-nav__list a,
	.site-nav__list .current-menu-item > a,
	.site-nav__list .current-menu-ancestor > a,
	.site-nav__list .current_page_item > a {
		display: block;
		margin: 0;
		padding: 0;
		border-bottom: 0;
		color: inherit;
		line-height: 40px;
	}

	.site-search {
		flex-wrap: wrap;
		gap: 0;
		margin-top: 32px;
	}

	/* Search sits at the foot of the open panel. */
	.has-menu-toggle .site-search {
		margin-top: 0;
		padding-top: 40px;
	}

	.site-search__input {
		flex-basis: 100%;
		padding-bottom: 3px;
		border-bottom: 1px solid var(--tfal-line);
		font-size: 14px;
	}

	.site-search__input:focus {
		border-bottom-color: var(--tfal-ink);
	}

	.site-search__submit {
		gap: 12px;
		margin: 0 0 0 auto;
		padding: 10px 0;
		line-height: 12px;
	}

	.page-header {
		padding-top: 48px;
	}

	.page-header__title {
		margin-top: 20px;
		font-size: 32px;
	}

	.page-header__subtitle {
		font-size: 19px;
	}

	/* Same pattern as the Artykuły tabs: the letters become one sticky,
	   sideways-scrolling row; the count scrolls away below it. */
	.az-bar {
		display: contents;
	}

	.az-bar__letters {
		position: sticky;
		z-index: 10;
		top: 0;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		flex-wrap: nowrap;
		gap: 0 16px;
		margin: 39px 0 0;
		padding: 0;
		border-top: 1px solid var(--tfal-line);
		border-bottom: 1px solid var(--tfal-line);
		background: var(--tfal-paper);
		white-space: nowrap;
		scrollbar-width: none;
	}

	.az-bar__letters a,
	.az-bar__letters [aria-disabled] {
		display: block;
		padding: 15px 0;
	}

	/* Flex drops the template's whitespace so the line fits a 360px phone. */
	.az-bar__meta {
		display: flex;
		flex-wrap: wrap;
		padding: 15px 0 14px;
		border-bottom: 1px solid var(--tfal-line);
		line-height: 14px;
	}

	.az-bar__meta span + span::before {
		margin: 0 8px;
	}

	.az-bar__letters li + li::before {
		content: none;
	}

	.az-group {
		grid-template-columns: minmax(0, 1fr);
		padding: 32px 0;
		/* Letter jumps land below the sticky letters row. */
		scroll-margin-top: 44px;
	}

	.az-group__letter {
		font-size: 48px;
	}

	.az-group__entries {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.az-entry {
		padding-right: 0;
	}

	/* Only the tabs stick while scrolling: the bar steps aside (contents) so
	   the tabs' sticky range is the whole page body, not the bar itself. The
	   bar's lines and spacing move onto the tabs and the count below. */
	.filter-bar {
		display: contents;
	}

	.filter-bar__tabs {
		position: sticky;
		z-index: 10;
		top: 0;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		flex-wrap: nowrap;
		margin: 39px 0 0;
		padding: 0;
		border-top: 1px solid var(--tfal-line);
		border-bottom: 1px solid var(--tfal-line);
		background: var(--tfal-paper);
		white-space: nowrap;
		scrollbar-width: none;
	}

	.filter-bar__tabs li + li::before {
		margin: 0 12px;
	}

	/* Underline inside the scroll box (desktop overlaps the bar's border by
	   1px, which here would make the row scroll vertically). */
	.filter-bar__tabs .is-active a {
		margin-bottom: 0;
		padding-bottom: 17px;
	}

	.filter-bar__meta {
		padding: 14px 0;
		border-bottom: 1px solid var(--tfal-line);
	}

	.article-list {
		display: block;
	}

	.article-row {
		grid-template-columns: minmax(0, 1fr);
		padding: 28px 0 32px;
	}

	.article-row__category {
		padding: 0 0 8px;
		font-size: 10px;
	}

	.article-row__title {
		font-size: 24px;
	}

	.article-row__description {
		margin-top: 10px;
	}

	.webinar-list {
		grid-template-columns: minmax(52px, max-content) minmax(0, 1fr);
		column-gap: 16px;
	}

	.webinar-row {
		padding: 28px 0 32px;
	}

	.webinar-row__number {
		font-size: 40px;
	}

	.webinar-row__title {
		font-size: 24px;
	}

	.webinar-row__description {
		margin-top: 10px;
	}

	.memo-row {
		grid-template-areas:
			"number date"
			"body body";
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto;
		align-items: baseline;
		column-gap: 16px;
		padding: 40px 0 44px;
	}

	.memo-row__number {
		font-size: 22px;
	}

	.memo-row__date {
		margin-top: 0;
	}

	.memo-row__body {
		margin-top: 8px;
	}

	.memo-row__title {
		font-size: 24px;
	}

	.memo-row__teaser {
		font-size: 17px;
		line-height: 28px;
	}

	.memo-row__more {
		margin-top: 20px;
		font-size: 18px;
	}

	.article-meta {
		font-size: 9px;
		line-height: 14px;
	}

	.article-meta span + span::before {
		margin: 0 6px;
	}

	.dictionary-entry__header {
		padding-top: 48px;
	}

	.dictionary-entry__title {
		margin-top: 20px;
		font-size: 38px;
		line-height: 1.15;
	}

	.dictionary-entry__lead {
		margin-top: 32px;
		font-size: 20px;
		line-height: 32px;
	}

	.entry-content--prose {
		margin-top: 32px;
		font-size: 17px;
		line-height: 28px;
	}

	.entry-content--prose h1 {
		font-size: 34px;
	}

	.entry-content--prose h2 {
		font-size: 28px;
		line-height: 1.3;
	}

	.entry-content--prose h3 {
		font-size: 21px;
		line-height: 1.4;
	}

	.related-entries {
		margin-top: 56px;
		padding-top: 32px;
	}

	.related-entries__title {
		font-size: 30px;
	}

	.related-entries__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		margin-top: 32px;
	}

	.related-entries__list .az-entry,
	.related-entries__list .az-entry + .az-entry {
		padding: 0;
		border-left: 0;
	}

	.article__header {
		padding-top: 40px;
	}

	.article__title {
		margin-top: 24px;
		font-size: 38px;
		line-height: 1.15;
	}

	.article__layout {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"lead"
			"body"
			"aside";
		margin-top: 32px;
	}

	.article__lead {
		font-size: 20px;
		line-height: 32px;
	}

	.article__lead + .article__body {
		margin-top: 32px;
	}

	.article__aside {
		position: static;
		margin-top: 56px;
		padding: 32px 0 0;
		border-top: 1px solid var(--tfal-line);
		border-left: 0;
	}

	/* "Wszystkie artykuły" moves under the columns, aligned right. */
	.catalog-picks {
		display: flex;
		flex-direction: column;
		margin-top: 56px;
	}

	.catalog-picks__head {
		display: contents;
	}

	.catalog-picks__head .text-link {
		order: 1;
		align-self: flex-end;
		margin-top: 44px;
		font-size: 14px;
	}

	.catalog-picks__columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 72px;
	}

	.catalog-picks__columns .post-column,
	.catalog-picks__columns .post-column + .post-column {
		padding: 0;
		border-left: 0;
	}

	.post-column__category {
		padding-bottom: 18px;
	}

	.post-column__list {
		gap: 36px;
		margin-top: 28px;
	}

	.post-column__title {
		font-size: 20px;
		line-height: 28px;
	}

	.text-link {
		gap: 9px;
	}

	.home-page__header {
		padding: 40px 0 32px;
	}

	.home-page__title {
		margin-top: 20px;
		font-size: 40px;
	}

	.home-page__subtitle {
		font-size: 19px;
	}

	.home-page__letter {
		padding: 32px 0;
		font-size: 19px;
		line-height: 32px;
	}

	.home-page__letter > * + * {
		margin-top: 24px;
	}

	.home-page__letter > p:first-child::first-letter {
		margin: 4px 12px 0 0;
		font-size: 92px;
	}

	.home-page__section-title {
		font-size: 30px;
	}

	.home-page__section--videos {
		padding-top: 64px;
	}

	.reading-path,
	.video-list {
		margin-top: 32px;
	}

	.reading-path__item {
		padding: 0 0 32px 60px;
	}

	.reading-path__item + .reading-path__item {
		padding-top: 32px;
	}

	.reading-path__item::before {
		width: 40px;
		height: 40px;
	}

	.reading-path__title,
	.video-list__title {
		font-size: 22px;
	}

	.home-page__signoff {
		padding-top: 56px;
	}

	.home-page__signature {
		width: 280px;
	}

	.home-page__signoff-line {
		margin-top: 32px;
	}

	.search-form,
	.site-newsletter__fields {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.site-newsletter {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		margin-top: 46px;
		padding: 30px 20px 22px;
	}

	.site-newsletter__text {
		margin-top: 22px;
		font-size: 14px;
		line-height: 24px;
	}

	.site-newsletter__form {
		margin-top: 18px;
	}

	.site-newsletter__fields {
		gap: 10px;
	}

	.site-newsletter__input {
		width: 100%;
		padding: 4px 0 8px;
		font-size: 14px;
	}

	.site-newsletter__submit {
		min-width: 0;
		min-height: 45px;
	}

	.site-newsletter__consent {
		font-size: 12px;
		line-height: 16px;
	}

	.front .kicker span + span::before,
	.catalog-picks__title span + span::before,
	.site-newsletter__kicker span + span::before {
		margin: 0 8px;
	}

	.site-newsletter__note {
		display: block;
		font-size: 9px;
		line-height: 14px;
	}

	.site-newsletter__error {
		font-size: 12px;
		line-height: 16px;
	}

	.site-newsletter__result {
		margin-top: 22px;
	}

	.site-newsletter__result-label {
		font-size: 10px;
	}

	.site-newsletter__result-title {
		margin-top: 12px;
		font-size: 24px;
		line-height: 30px;
	}

	.site-newsletter__result-text {
		font-size: 14px;
		line-height: 22px;
	}

	/* Footer: the two main links on their own lines, the rest in one row. */
	.site-footer {
		padding: 44px 16px 50px;
	}

	.site-footer__menu {
		margin-top: 36px;
	}

	.site-footer__list {
		gap: 0;
		line-height: 40px;
	}

	.site-footer__list li:nth-child(-n+2) {
		flex-basis: 100%;
	}

	.site-footer__list li:nth-child(-n+3)::before {
		content: none;
	}

	.site-footer__list li + li::before {
		margin: 0 14px;
	}

	.site-footer__meta {
		margin-top: 40px;
	}

	.site-footer__meta span + span::before {
		margin: 0 8px;
	}

	/* "Od 2016 · Właścicielem…" starts the second line. */
	.site-footer__meta span:nth-of-type(3)::before {
		content: "\A";
		margin: 0;
		white-space: pre;
	}

	.site-footer__disclaimer {
		max-width: 230px;
		margin: 24px auto 0;
		font-size: 12px;
		line-height: 16px;
	}

	/* Homepage: one column; the newest articles are not in the phone design. */
	.front-lead {
		padding-top: 0;
	}

	.front-lead__aside {
		padding-top: 0;
	}

	.front-recent {
		display: none;
	}

	.front-memo {
		padding: 38px 0 34px;
	}

	.front-memo__title {
		margin-top: 22px;
		font-size: 25px;
		line-height: 30px;
	}

	.front-memo__subtitle {
		margin-top: 10px;
		font-size: 16px;
		line-height: 20px;
	}

	.front-memo .article-meta {
		margin-top: 22px;
	}

	.front-memo__teaser {
		margin-top: 24px;
		font-size: 14px;
		line-height: 24px;
	}

	.front-memo__chart {
		margin-top: 32px;
		padding-top: 0;
		border-top: 0;
	}

	.front-memo__chart figcaption {
		font-size: 10px;
		line-height: 14px;
	}

	.front-memo__more {
		margin-top: 24px;
		font-size: 18px;
	}

	.front__more,
	.front-section__head .text-link {
		font-size: 14px;
	}

	.front__more {
		margin-top: 22px;
	}

	.front-path {
		padding: 38px 0 34px;
	}

	.front-path__intro,
	.front-author__bio {
		margin-top: 24px;
		font-size: 14px;
		line-height: 24px;
	}

	.front-path__list {
		margin-top: 10px;
		font-size: 14px;
		line-height: 24px;
	}

	.front-path__list li {
		padding: 4px 0 4px 37px;
	}

	.front-path__list li::before {
		top: 3px;
		width: 25px;
		height: 25px;
		font-size: 9px;
	}

	.front-author {
		padding-top: 46px;
	}

	.front-author__head {
		gap: 11px;
	}

	.front-author__avatar {
		width: 52px;
		height: 52px;
		font-size: 16px;
	}

	.front-author__name {
		font-size: 18px;
		line-height: 24px;
	}

	.front-author__role {
		margin-top: 0;
	}

	.front .site-newsletter {
		margin-top: 46px;
		padding: 30px 20px 22px;
	}

	.front .site-newsletter__text {
		margin-top: 22px;
	}

	.front .site-newsletter__form {
		margin-top: 18px;
	}

	.front .site-newsletter__fields {
		gap: 10px;
	}

	.front-picks {
		margin-top: 50px;
		padding-top: 0;
		border-top: 0;
	}

	.front-picks .catalog-picks__columns {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 34px;
	}

	.front-picks .catalog-picks__columns .post-column,
	.front-picks .catalog-picks__columns .post-column:last-child {
		padding-right: 0;
		padding-bottom: 0;
	}

	.front-section {
		margin-top: 70px;
	}

	.front-section__head {
		align-items: center;
		padding-bottom: 14px;
	}

	.front-list {
		gap: 34px;
		margin-top: 30px;
	}

	.front-list__title {
		margin-top: 6px;
		font-size: 20px;
		line-height: 28px;
	}

	.front-section__intro {
		margin-top: 24px;
		font-size: 16px;
		line-height: 24px;
	}

	.front-section__note {
		margin-top: 14px;
		font-size: 12px;
		line-height: 16px;
	}

	.front-terms {
		margin-top: 22px;
		line-height: 28px;
	}

	.front-terms li:not(:last-child)::after {
		margin: 0 10px;
	}
}
