/*
 * ghoreifi.ir — theme stylesheet.
 * Section 1 maps the design-system token names onto the theme.json presets (one source of values) and defines the
 * dark palette. Section 2 is components/bundle.css from the design system, copied unchanged. Section 3 adapts core
 * WordPress block markup to those components.
 */

/* 1. Tokens. WordPress declares the presets on body (6.5) or :root (6.6+); the aliases sit on body so they resolve in both. */
body {
	--paper: var(--wp--preset--color--paper);
	--paper-sunken: var(--wp--preset--color--paper-sunken);
	--ink: var(--wp--preset--color--ink);
	--ink-2: var(--wp--preset--color--ink-2);
	--ink-3: var(--wp--preset--color--ink-3);
	--rule: var(--wp--preset--color--rule);
	--rule-strong: var(--wp--preset--color--rule-strong);
	--lajvard: var(--wp--preset--color--lajvard);
	--lajvard-tint: var(--wp--preset--color--lajvard-tint);
	--on-lajvard: var(--wp--preset--color--on-lajvard);
	--focus: var(--wp--preset--color--lajvard);
	--font-display: var(--wp--preset--font-family--display);
	--font-text: var(--wp--preset--font-family--text);
	--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px;
	--space-8: 32px; --space-12: 48px; --space-16: 64px; --space-24: 96px;
	--radius-0: 0px; --radius-1: 2px; --radius-round: 999px;
	--measure-text: 32rem; --measure-margin: 15rem; --page-max: 76rem; --rule-width: 1px;
}
/* The site follows the visitor's system setting. Dark values come from the design system's dark theme. */
@media (prefers-color-scheme: dark) {
	:root:root, body.g-root {
		--wp--preset--color--paper: #0e1016;
		--wp--preset--color--paper-sunken: #161922;
		--wp--preset--color--ink: #e8e9ee;
		--wp--preset--color--ink-2: #b6bac7;
		--wp--preset--color--ink-3: #9095a5;
		--wp--preset--color--rule: #2b2f3c;
		--wp--preset--color--rule-strong: #5c6378;
		--wp--preset--color--lajvard: #a3b3ff;
		--wp--preset--color--lajvard-tint: #1b2241;
		--wp--preset--color--on-lajvard: #0e1016;
		color-scheme: dark;
	}
}

/* 2. Design system components (components/bundle.css) */
/* ghoreifi.ir — اجزای پایه. همه‌ی رنگ‌ها، فونت‌ها و فاصله‌ها از tokens.css می‌آیند. */
.g-root{direction:rtl;font-family:var(--font-text);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.g-root *,.g-root *::before,.g-root *::after{box-sizing:border-box}
.g-root :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.g-root a{color:var(--lajvard);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.35em;text-decoration-color:color-mix(in srgb,var(--lajvard) 45%,transparent)}
.g-root a:hover{text-decoration-color:var(--lajvard)}
.g-latin{direction:ltr;unicode-bidi:isolate}
.g-meta{font:400 13px/22px var(--font-text);color:var(--ink-3)}
.g-label{font:600 13px/20px var(--font-text);color:var(--ink-2)}

/* سربرگ */
.g-header{display:flex;align-items:center;gap:var(--space-8);padding-block:var(--space-4);border-bottom:var(--rule-width) solid var(--rule);flex-wrap:wrap}
.g-wordmark{font:700 26px/1 var(--font-display);color:var(--ink);text-decoration:none!important;letter-spacing:0}
.g-nav{display:flex;gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none}
.g-nav a{font:500 15px/24px var(--font-text);color:var(--ink-2);text-decoration:none;padding-block:var(--space-1);border-bottom:2px solid transparent}
.g-nav a:hover{color:var(--ink)}
.g-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--lajvard)}
.g-header .g-btn{margin-inline-start:auto}

/* دکمه */
.g-btn{display:inline-flex;align-items:center;gap:var(--space-2);font:500 15px/24px var(--font-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-1);border:1px solid transparent;cursor:pointer;text-decoration:none!important;transition:background-color .15s ease,color .15s ease}
.g-btn--primary{background:var(--lajvard);color:var(--on-lajvard)}
.g-btn--primary:hover{background:var(--ink);color:var(--paper)}
.g-btn--secondary{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.g-btn--secondary:hover{border-color:var(--ink)}
.g-btn--text{background:transparent;color:var(--lajvard);padding-inline:0}
.g-btn[disabled]{opacity:.45;cursor:not-allowed}

/* متن مقاله */
.g-prose{max-width:var(--measure-text);font:400 18px/35px var(--font-text);color:var(--ink);text-align:right;hyphens:none}
.g-prose>*+*{margin-top:var(--space-6)}
.g-prose p{margin:0}
.g-prose h2{font:600 30px/44px var(--font-display);margin:var(--space-12) 0 0;text-wrap:balance}
.g-prose h3{font:600 23px/36px var(--font-display);margin:var(--space-8) 0 0}
.g-prose blockquote{margin-inline:0;padding-inline-start:var(--space-6);border-inline-start:2px solid var(--ink);font:400 23px/40px var(--font-display);color:var(--ink)}
.g-prose blockquote footer{font:400 13px/22px var(--font-text);color:var(--ink-3);margin-top:var(--space-2)}
.g-prose mark{background:var(--lajvard-tint);color:inherit;padding:0 .15em}
.g-prose sup a,.g-ref{font:600 12px/1 var(--font-text);text-decoration:none;color:var(--lajvard);vertical-align:super;padding-inline:1px}
.g-article-head{max-width:var(--measure-text);display:grid;gap:var(--space-4)}
.g-article-head h1{font:700 42px/56px var(--font-display);margin:0;text-wrap:balance}
.g-article-head .g-lead{font:400 20px/38px var(--font-text);color:var(--ink-2);margin:0}
.g-article-head .g-meta{display:flex;gap:var(--space-2);flex-wrap:wrap}

/* متن و حاشیه */
.g-folio{display:grid;grid-template-columns:minmax(0,var(--measure-text)) var(--measure-margin);column-gap:var(--space-8);align-items:start}
.g-folio>.g-prose{min-width:0}
.g-margin{display:grid;gap:var(--space-6);padding-top:var(--space-1)}
.g-note{font:400 15px/27px var(--font-text);color:var(--ink-2);padding-inline-start:var(--space-4);border-inline-start:1px solid var(--rule-strong);margin:0}
.g-note b{font-weight:600;color:var(--ink)}
.g-note .g-ref{vertical-align:baseline;font-size:13px;margin-inline-end:var(--space-1)}
@media (max-width:1100px){.g-folio{grid-template-columns:minmax(0,1fr)}.g-margin{margin-top:var(--space-6)}}

/* منابع */
.g-sources{max-width:var(--measure-text);border-top:1px solid var(--rule);padding-top:var(--space-6)}
.g-sources h2{font:600 23px/36px var(--font-display);margin:0 0 var(--space-4)}
.g-sources ol{margin:0;padding:0;list-style:none;counter-reset:src;display:grid;gap:var(--space-3)}
.g-sources li{counter-increment:src;display:grid;grid-template-columns:2em minmax(0,1fr);font:400 15px/27px var(--font-text);color:var(--ink-2)}
.g-sources li::before{content:counter(src,persian);font-weight:600;color:var(--lajvard)}
.g-sources cite{font-style:italic;color:var(--ink)}
.g-cite{text-align:left;unicode-bidi:isolate;font-family:var(--font-text)}

/* مدخل مفهوم */
.g-concept{max-width:var(--measure-text);display:grid;gap:var(--space-6)}
.g-concept-head{display:grid;gap:var(--space-1);border-bottom:1px solid var(--rule);padding-bottom:var(--space-6)}
.g-concept-head h1{font:700 42px/56px var(--font-display);margin:0}
.g-concept-head .g-en{font:400 22px/30px var(--font-display);color:var(--ink-3);direction:ltr;text-align:right}
.g-concept-def{font:400 20px/38px var(--font-text);margin:0}
.g-fields{display:grid;grid-template-columns:9rem minmax(0,1fr);margin:0;border-top:1px solid var(--rule)}
.g-fields dt,.g-fields dd{margin:0;padding-block:var(--space-4);border-bottom:1px solid var(--rule)}
.g-fields dt{font:600 13px/27px var(--font-text);color:var(--ink-2)}
.g-fields dd{font:400 16px/30px var(--font-text)}
@media (max-width:560px){.g-fields{grid-template-columns:minmax(0,1fr)}.g-fields dt{border-bottom:0;padding-bottom:0}}

/* نبض اقتصاد */
.g-pulse{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0;background:var(--paper-sunken)}
.g-indicator{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:var(--space-2);padding:var(--space-8) var(--space-6);border-inline-start:1px solid var(--rule)}
.g-indicator:first-child{border-inline-start:0}
.g-indicator .g-label{display:flex;justify-content:space-between;gap:var(--space-2)}
.g-figure{font:600 52px/60px var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:var(--space-2)}
.g-figure small{font:500 15px/24px var(--font-text);color:var(--ink-2)}
.g-delta{font:500 15px/24px var(--font-text);color:var(--ink-2)}
.g-indicator .g-note{border-inline-start-color:var(--lajvard)}
.g-status{display:inline-flex;align-items:center;gap:var(--space-2)}
.g-status::before{content:"";inline-size:7px;block-size:7px;border-radius:var(--radius-round);background:var(--ink-3)}
.g-status--fresh::before{background:var(--lajvard)}
.g-indicator--stale .g-figure{color:var(--ink-3)}
.g-stale-msg{font:600 15px/24px var(--font-text);color:var(--ink);border:1px dashed var(--rule-strong);padding:var(--space-3) var(--space-4)}
.g-sample{font:600 12px/18px var(--font-text);color:var(--ink-2);border:1px solid var(--rule-strong);padding:0 var(--space-2)}

/* خبرنامه */
.g-invite{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-8);align-items:end;padding-block:var(--space-8);border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.g-invite h2{font:700 30px/44px var(--font-display);margin:0}
.g-invite p{font:400 16px/30px var(--font-text);color:var(--ink-2);margin:var(--space-2) 0 0}
.g-invite form{display:grid;gap:var(--space-2)}
.g-invite .g-row{display:flex;gap:var(--space-2)}
.g-field{flex:1;min-width:0;font:400 16px/24px var(--font-text);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius-1);padding:var(--space-2) var(--space-3);direction:ltr;text-align:left}
.g-field::placeholder{color:var(--ink-3)}
@media (max-width:640px){.g-invite{grid-template-columns:minmax(0,1fr)}.g-invite .g-row{flex-direction:column}}

@media (prefers-reduced-motion:reduce){.g-root *{transition:none!important;animation:none!important}}


/* ===== قالب‌های صفحه (تأییدشده در طرح صفحه‌ها، ۱۶ مهر ۱۴۰۵) ===== */
/* نوشته، پانویس، جای تصویر، جمله‌ی برجسته */
/* page shell */

.shell{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--space-8)}
.site .g-header{padding-block:var(--space-6)}
.menu-btn{display:none}

/* article head: the title spans the full folio width, the lead keeps the reading measure */
.post-head{display:grid;gap:var(--space-6);padding-top:var(--space-24);max-width:calc(var(--measure-text) + var(--measure-margin) + var(--space-8))}
.post-kicker{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.post-kicker a{font:600 13px/22px var(--font-text);text-decoration:none}
.post-title{font:700 60px/72px var(--font-display);margin:0;text-wrap:balance;max-width:16em}
.post-lead{font:400 20px/38px var(--font-text);color:var(--ink-2);margin:0;max-width:var(--measure-text)}
.byline{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--rule);max-width:calc(var(--measure-text) + var(--measure-margin) + var(--space-8))}
.byline b{font:600 15px/24px var(--font-text);color:var(--ink)}

/* featured image slot: left empty with a named label until a real image exists */
.figure-slot{margin:var(--space-12) 0 0;max-width:calc(var(--measure-text) + var(--measure-margin) + var(--space-8))}
.figure-slot .slot{aspect-ratio:16/9;max-width:100%;background:var(--paper-sunken);border:1px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;padding:var(--space-6);text-align:center}
.figure-slot figcaption{margin-top:var(--space-2)}

/* body: one folio row per passage, so each margin note sits beside the paragraph it annotates */
/* block flow, not grid: WordPress already spaces each child with margins, and a grid gap would double them */
.post-body{display:block;margin-top:var(--space-16)}
.g-folio .g-prose h2{margin-top:var(--space-6)}
.pull{font:600 30px/46px var(--font-display);color:var(--lajvard);margin:var(--space-6) 0;max-width:var(--measure-text);text-wrap:balance}
.placeholder{color:var(--ink-3);border:1px dashed var(--rule-strong);padding:var(--space-4) var(--space-6);font:400 16px/30px var(--font-text)}

/* concepts used in this post */
.post-concepts{max-width:var(--measure-text);margin-top:var(--space-16)}
.post-concepts h2,.post-related h2{font:600 23px/36px var(--font-display);margin:0 0 var(--space-4)}
.concept-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.concept-list li{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--rule)}
.concept-list a{font:600 18px/30px var(--font-display)}
.concept-list span{font:400 15px/28px var(--font-text);color:var(--ink-2)}

.post-end{display:grid;gap:var(--space-16);margin-top:var(--space-16);max-width:calc(var(--measure-text) + var(--measure-margin) + var(--space-8))}
.post-related ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}
.post-related li{display:grid;gap:var(--space-1)}

/* footer */
.site-footer{margin-top:var(--space-24);border-top:2px solid var(--ink);padding-block:var(--space-8) var(--space-12)}
.footer-grid{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);justify-content:space-between;align-items:flex-start}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}
.footer-links a{font:500 15px/24px var(--font-text);color:var(--ink-2);text-decoration:none}
.footer-links a:hover{color:var(--ink)}

@media (max-width:720px){
  .shell{padding-inline:var(--space-4)}
  .site .g-nav{display:none}
  .menu-btn{display:inline-flex}
  .post-head{padding-top:var(--space-12)}
  .post-title{font-size:38px;line-height:50px}
  .post-lead{font-size:18px;line-height:34px}
  .concept-list li{grid-template-columns:minmax(0,1fr);gap:0}
  .pull{font-size:24px;line-height:38px}
}

/* آموزش: فهرست دوره‌ها، صفحه‌ی دوره، خواننده‌ی قسمت */

.page-head{display:grid;gap:var(--space-4);padding-top:var(--space-24);max-width:44rem}
.page-head h1{font:700 60px/72px var(--font-display);margin:0}
.page-head p{font:400 20px/38px var(--font-text);color:var(--ink-2);margin:0}

/* course index: the current course is a full-width row; later courses are a quiet list under it */
.course-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-12);margin-top:var(--space-16);padding-block:var(--space-12);border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);text-decoration:none!important;color:inherit!important}
.course-feature:hover .course-name{color:var(--lajvard)}
.course-name{font:700 52px/64px var(--font-display);margin:0;color:var(--ink);transition:color .15s ease}
.course-promise{font:400 18px/35px var(--font-text);color:var(--ink-2);margin:var(--space-4) 0 0}
.course-facts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-top:var(--space-6)}
.course-facts span{font:400 13px/22px var(--font-text);color:var(--ink-3)}
.course-facts b{font:600 15px/22px var(--font-display);color:var(--ink);margin-inline-end:var(--space-1)}
.course-latest{display:grid;gap:var(--space-3);align-content:start;background:var(--paper-sunken);padding:var(--space-8)}
.course-latest ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.course-latest li{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-3);align-items:baseline}
.ep-no{font:600 26px/1 var(--font-display);color:var(--lajvard);font-variant-numeric:tabular-nums}
.ep-title{font:500 16px/28px var(--font-text);color:var(--ink)}
.course-cta{font:500 15px/24px var(--font-text);color:var(--lajvard);margin-top:var(--space-2)}

.more-courses{margin-top:var(--space-16);display:grid;gap:var(--space-4)}
.more-courses h2{font:600 23px/36px var(--font-display);margin:0}
.more-courses ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.more-courses li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2) var(--space-6);padding-block:var(--space-4);border-bottom:1px solid var(--rule)}

/* course page */
.course-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-12);padding-top:var(--space-24);align-items:end}
.course-hero h1{font:700 72px/84px var(--font-display);margin:0}
.course-hero .lead{font:400 20px/38px var(--font-text);color:var(--ink-2);margin:var(--space-4) 0 0}
.course-who{display:grid;gap:var(--space-4);border-top:1px solid var(--rule);padding-top:var(--space-6)}
.course-who dl{margin:0;display:grid;grid-template-columns:7rem minmax(0,1fr);row-gap:var(--space-3)}
.course-who dt{font:600 13px/26px var(--font-text);color:var(--ink-2)}
.course-who dd{margin:0;font:400 16px/26px var(--font-text)}

.section-title{font:600 30px/44px var(--font-display);margin:0}
.episodes{margin-top:var(--space-16);display:grid;gap:var(--space-6)}
.episode-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.episode-row{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--rule);text-decoration:none!important;color:inherit!important;align-items:start}
.episode-row:hover .row-title{color:var(--lajvard)}
.row-no{font:600 44px/1 var(--font-display);color:var(--ink-3);font-variant-numeric:tabular-nums}
.row-title{font:600 23px/36px var(--font-display);color:var(--ink);transition:color .15s ease}
.row-ideas{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-6);margin-top:var(--space-2)}
.row-ideas span{font:400 15px/26px var(--font-text);color:var(--ink-2)}
.row-ideas i{font-style:normal;font-weight:600;color:var(--ink-3);margin-inline-end:var(--space-1)}
.row-go{font:500 15px/36px var(--font-text);color:var(--lajvard);white-space:nowrap}

.outline{margin-top:var(--space-16);display:grid;gap:var(--space-6)}
.outline ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-12);border-top:1px solid var(--rule)}
.outline li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--space-3);padding-block:var(--space-4);border-bottom:1px solid var(--rule);font:400 16px/28px var(--font-text)}
.outline li span:first-child{font:600 20px/28px var(--font-display);color:var(--ink-3)}
.outline .note{font:400 15px/27px var(--font-text);color:var(--ink-2);margin:0;max-width:var(--measure-text)}

/* episode reader: content column + a self-scrolling list of episodes */
.reader{display:flex;flex-wrap:wrap;gap:var(--space-12);padding-top:var(--space-12);align-items:flex-start}
.reader-main{flex:999 1 560px;min-width:0;display:grid;gap:var(--space-8)}
.reader-nav{flex:1 1 18rem;min-width:0;display:grid;gap:var(--space-3);border-top:2px solid var(--ink);padding-top:var(--space-4)}
.reader-nav h2{font:600 20px/30px var(--font-display);margin:0}
.ep-scroller{list-style:none;margin:0;padding:0;max-height:34rem;overflow-y:auto;overscroll-behavior:contain;display:grid;scroll-snap-type:y proximity}
.ep-item{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-3);align-items:baseline;width:100%;text-align:right;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:var(--space-3) var(--space-2);cursor:pointer;font:inherit;color:var(--ink);scroll-snap-align:start;min-height:44px}
.ep-item:hover{background:var(--paper-sunken)}
.ep-item[aria-current="true"]{background:var(--lajvard-tint)}
.ep-item[aria-current="true"] .ep-no{color:var(--lajvard)}
.ep-item .ep-no{font-size:22px;color:var(--ink-3)}
.ep-item .ep-title{font-size:15px;line-height:26px}
.ep-upcoming{font:400 14px/24px var(--font-text);color:var(--ink-3);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-3)}
.reader-nav .g-meta a{text-decoration:none}

.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.crumbs a{text-decoration:none}
.ep-head{display:grid;gap:var(--space-3)}
.ep-head .num{font:600 20px/28px var(--font-display);color:var(--lajvard)}
.ep-head h1{font:700 46px/62px var(--font-display);margin:0;text-wrap:balance}
.ep-ideas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ep-ideas div{padding:var(--space-4) 0;display:grid;gap:var(--space-1)}
.ep-ideas div+div{border-inline-start:1px solid var(--rule);padding-inline-start:var(--space-6)}
.ep-ideas p{margin:0;font:400 16px/28px var(--font-text)}
.video-slot{aspect-ratio:16/9;max-width:100%;background:var(--paper-sunken);border:1px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-6)}
.ep-text{max-width:var(--measure-text)}
.ep-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);border-top:2px solid var(--ink);padding-top:var(--space-6)}
.pager-btn{display:grid;gap:var(--space-1);text-align:right;background:transparent;border:1px solid var(--rule-strong);border-radius:var(--radius-1);padding:var(--space-4);cursor:pointer;font:inherit;color:var(--ink);min-height:44px}
.pager-btn:hover{border-color:var(--ink)}
.pager-btn--next{text-align:left}
.pager-btn b{font:600 18px/28px var(--font-display)}
.pager-off{border:1px dashed var(--rule);padding:var(--space-4);color:var(--ink-3);font:400 14px/24px var(--font-text)}

@media (max-width:900px){
  .course-feature,.course-hero{grid-template-columns:minmax(0,1fr)}
  .outline ol{grid-template-columns:minmax(0,1fr)}
  /* on narrow screens the episode list becomes a horizontal strip above the content */
  .reader{flex-direction:column;gap:var(--space-6)}
  .reader-nav{order:-1;flex:none;width:100%}
  .ep-scroller{max-height:none;overflow-y:visible;overflow-x:auto;display:flex;gap:var(--space-2);scroll-snap-type:x mandatory;padding-bottom:var(--space-2)}
  .ep-item{flex:0 0 15rem;border:1px solid var(--rule);scroll-snap-align:start}
  .ep-upcoming{flex:0 0 12rem;border:1px dashed var(--rule)}
}
@media (max-width:720px){
  .page-head{padding-top:var(--space-12)}
  .page-head h1,.course-hero h1{font-size:42px;line-height:56px}
  .course-name{font-size:38px;line-height:50px}
  .ep-head h1{font-size:32px;line-height:46px}
  .episode-row{grid-template-columns:3rem minmax(0,1fr)}
  .row-go{display:none}
  .row-no{font-size:32px}
  .ep-ideas{grid-template-columns:minmax(0,1fr)}
  .ep-ideas div+div{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--rule)}
  .ep-pager{grid-template-columns:minmax(0,1fr)}
  .course-latest{padding:var(--space-6)}
}
@media (prefers-reduced-motion:reduce){.course-name,.row-title{transition:none}}

/* مفاهیم: کتابخانه و صفحه‌ی مفهوم */

/* index */
.lib-tools{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);align-items:center;justify-content:space-between;margin-top:var(--space-12);padding-block:var(--space-4);border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.seg{display:inline-flex;border:1px solid var(--rule-strong);border-radius:var(--radius-1)}
.seg button{font:500 15px/24px var(--font-text);background:transparent;color:var(--ink-2);border:0;padding:var(--space-2) var(--space-4);min-height:44px;cursor:pointer}
.seg button+button{border-inline-start:1px solid var(--rule-strong)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.letters{display:flex;flex-wrap:wrap;gap:var(--space-1)}
.letters a{font:600 18px/1 var(--font-display);min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink)}
.letters a:hover{background:var(--lajvard-tint)}
.letters span{font:600 18px/1 var(--font-display);min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--rule-strong)}
.lib-search{flex:1 1 16rem;max-width:22rem;font:400 16px/24px var(--font-text);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:var(--radius-1);padding:var(--space-2) var(--space-3);min-height:44px}
.lib-search::placeholder{color:var(--ink-3)}

.lib-group{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-8);border-bottom:1px solid var(--rule)}
.lib-letter{font:700 56px/1 var(--font-display);color:var(--lajvard)}
.lib-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-12)}
.lib-item{display:grid;gap:var(--space-1);text-decoration:none!important;color:inherit!important}
.lib-item:hover .lib-name{color:var(--lajvard)}
.lib-name{font:600 24px/36px var(--font-display);color:var(--ink);transition:color .15s ease}
.lib-def{font:400 15px/27px var(--font-text);color:var(--ink-2)}
.lib-kind{font:600 12px/18px var(--font-text);color:var(--ink-3)}
.lib-empty{padding-block:var(--space-12);font:400 16px/30px var(--font-text);color:var(--ink-2)}

/* single concept: entry column with the margin column beside it */
.concept-page{display:grid;gap:var(--space-12);padding-top:var(--space-16)}
.estimates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--paper-sunken);max-width:var(--measure-text)}
.estimate{display:grid;gap:var(--space-2);padding:var(--space-6)}
.estimate+.estimate{border-inline-start:1px solid var(--rule)}
.estimate .g-figure{font-size:44px;line-height:52px}
.estimate p{margin:0;font:400 15px/27px var(--font-text);color:var(--ink-2)}
.estimates-cap{max-width:var(--measure-text);margin:var(--space-2) 0 0}
.related{max-width:var(--measure-text)}
.related h2{font:600 23px/36px var(--font-display);margin:0 0 var(--space-4)}
.related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.related a{display:inline-flex;align-items:center;min-height:44px;padding-inline:var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-1);font:600 18px/1 var(--font-display);text-decoration:none}
.related a:hover{border-color:var(--lajvard)}

@media (max-width:720px){
  .lib-group{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
  .lib-letter{font-size:40px}
  .lib-list{grid-template-columns:minmax(0,1fr)}
  .estimates{grid-template-columns:minmax(0,1fr)}
  .estimate+.estimate{border-inline-start:0;border-top:1px solid var(--rule)}
}
@media (prefers-reduced-motion:reduce){.lib-name{transition:none}}

/* صفحه‌ی اصلی */

.home-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-12);padding-top:var(--space-24);align-items:end}
.home-hero h1{font:700 84px/96px var(--font-display);margin:0;text-wrap:balance;max-width:11em}
.home-hero .lead{font:400 20px/38px var(--font-text);color:var(--ink-2);margin:var(--space-6) 0 0;max-width:34rem}
.portrait{aspect-ratio:4/5;max-width:100%;background:var(--paper-sunken);border:1px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-6)}
.creds{display:grid;grid-template-columns:repeat(var(--creds,4),minmax(0,1fr));margin-top:var(--space-12);border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.creds div{padding:var(--space-4) var(--space-4) var(--space-4) 0;display:grid;gap:var(--space-1)}
.creds div+div{border-inline-start:1px solid var(--rule);padding-inline-start:var(--space-4)}
.creds b{font:600 18px/28px var(--font-display);color:var(--ink)}
.creds span{font:400 14px/24px var(--font-text);color:var(--ink-2)}

.home-section{margin-top:var(--space-24);display:grid;gap:var(--space-6)}
.home-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-6)}
.home-section-head h2{font:700 42px/56px var(--font-display);margin:0}
.home-section-head a{font:500 15px/24px var(--font-text);text-decoration:none}

/* writing: one lead piece and a plain list, never a row of equal cards */
.writing{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-12);border-top:2px solid var(--ink);padding-top:var(--space-8)}
.lead-piece{display:grid;gap:var(--space-3);text-decoration:none!important;color:inherit!important;align-content:start}
.lead-piece:hover .lead-title{color:var(--lajvard)}
.lead-title{font:700 40px/54px var(--font-display);color:var(--ink);margin:0;text-wrap:balance;transition:color .15s ease}
.lead-piece p{font:400 18px/34px var(--font-text);color:var(--ink-2);margin:0}
.piece-list{list-style:none;margin:0;padding:0;display:grid;align-content:start}
.piece-list li{padding-block:var(--space-4);border-bottom:1px solid var(--rule);display:grid;gap:var(--space-1)}
.piece-list li:first-child{padding-top:0}
.piece-list a{font:600 22px/34px var(--font-display);text-decoration:none;color:var(--ink)}
.piece-list a:hover{color:var(--lajvard)}

/* pulse snapshot */
.pulse-head p{font:400 16px/30px var(--font-text);color:var(--ink-2);margin:0;max-width:var(--measure-text)}

/* concepts entry */
.concept-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-12);border-top:2px solid var(--ink);padding-top:var(--space-8);align-items:start}
.concept-entry p{font:400 18px/34px var(--font-text);color:var(--ink-2);margin:0}
.concept-entry form{display:flex;gap:var(--space-2);margin-top:var(--space-6)}
.concept-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.concept-chips a{display:inline-flex;align-items:center;min-height:44px;padding-inline:var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-1);font:600 20px/1 var(--font-display);text-decoration:none;color:var(--ink)}
.concept-chips a:hover{border-color:var(--lajvard);color:var(--lajvard)}

/* books */
.books{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-12);border-top:2px solid var(--ink);padding-top:var(--space-8)}
.covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.cover{display:grid;gap:var(--space-3);text-decoration:none!important;color:inherit!important;align-content:start}
.cover-slot{aspect-ratio:2/3;max-width:100%;background:var(--paper-sunken);border:1px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-3)}
.cover b{font:600 19px/28px var(--font-display);color:var(--ink)}
.cover:hover b{color:var(--lajvard)}
.translations h3{font:600 20px/30px var(--font-display);margin:0 0 var(--space-3)}
.translations ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.translations li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--rule)}
.translations li span:first-child{font:500 16px/26px var(--font-text);color:var(--ink)}

@media (max-width:900px){
  .home-hero,.writing,.concept-entry,.books{grid-template-columns:minmax(0,1fr)}
  .portrait{max-width:20rem}
  .creds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .creds div:nth-child(3){border-inline-start:0;padding-inline-start:0}
  .creds div:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:720px){
  .home-hero{padding-top:var(--space-12)}
  .home-hero h1{font-size:46px;line-height:60px}
  .home-section{margin-top:var(--space-16)}
  .home-section-head h2{font-size:32px;line-height:46px}
  .lead-title{font-size:30px;line-height:44px}
  .covers{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
  .cover b{font-size:15px;line-height:22px}
  .concept-entry form{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.lead-title{transition:none}}

/* real portrait: 4:5 crop of the supplied photo, square corners, no frame or shadow */
.portrait-img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--paper-sunken)}
@media (max-width:900px){.portrait-img{max-width:20rem}}

/* نبض اقتصاد، کتاب‌ها، کتاب، منابع، درباره */

/* pulse */
.pulse-week{display:grid;grid-template-columns:minmax(0,var(--measure-text)) minmax(0,1fr);gap:var(--space-12);margin-top:var(--space-16);border-top:2px solid var(--ink);padding-top:var(--space-8)}
.pulse-week h2,.method h2,.pulse-history h2{font:600 30px/44px var(--font-display);margin:0 0 var(--space-4)}
.chart-slot{aspect-ratio:21/9;max-width:100%;background:var(--paper-sunken);border:1px dashed var(--rule-strong);display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-6)}
.range{display:inline-flex;border:1px solid var(--rule-strong);border-radius:var(--radius-1);margin-bottom:var(--space-4)}
.range button{font:500 14px/22px var(--font-text);background:transparent;color:var(--ink-2);border:0;padding:var(--space-2) var(--space-4);min-height:44px;cursor:pointer}
.range button+button{border-inline-start:1px solid var(--rule-strong)}
.range button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.pulse-history,.method{margin-top:var(--space-16)}
.method{max-width:var(--measure-text)}

/* books index */
.shelf{margin-top:var(--space-16);display:grid;gap:var(--space-6)}
.shelf h2{font:600 30px/44px var(--font-display);margin:0}
.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--space-8) var(--space-6);border-top:2px solid var(--ink);padding-top:var(--space-8)}
.shelf-grid .cover span{font:400 13px/20px var(--font-text);color:var(--ink-3)}

/* single book */
.book{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:var(--space-16);padding-top:var(--space-16);align-items:start}
.book .cover-slot{aspect-ratio:2/3}
.book-head{display:grid;gap:var(--space-3)}
.book-head h1{font:700 52px/66px var(--font-display);margin:0;text-wrap:balance}
.book-facts{display:grid;grid-template-columns:8rem minmax(0,1fr);margin:var(--space-6) 0 0;border-top:1px solid var(--rule);max-width:var(--measure-text)}
.book-facts dt,.book-facts dd{margin:0;padding-block:var(--space-3);border-bottom:1px solid var(--rule)}
.book-facts dt{font:600 13px/26px var(--font-text);color:var(--ink-2)}
.book-facts dd{font:400 16px/26px var(--font-text)}
.book-body{display:grid;gap:var(--space-12);margin-top:var(--space-12)}
.excerpt{max-width:var(--measure-text);padding:var(--space-8);background:var(--paper-sunken)}
.excerpt p{font:400 21px/40px var(--font-display);margin:0}
.buy{display:flex;flex-wrap:wrap;gap:var(--space-2)}

/* resources */
.res-group{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:var(--space-8);padding-block:var(--space-8);border-bottom:1px solid var(--rule)}
.res-group:first-of-type{border-top:2px solid var(--ink);margin-top:var(--space-12)}
.res-group h2{font:600 26px/38px var(--font-display);margin:0}
.res-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-6)}
.res-list li{display:grid;gap:var(--space-1);max-width:var(--measure-text)}
.res-list a{font:600 21px/32px var(--font-display);text-decoration:none}
.res-list p{margin:0;font:400 16px/30px var(--font-text);color:var(--ink-2)}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure-text));gap:var(--space-16);padding-top:var(--space-16);align-items:start}
.about .portrait{position:relative}
.about h1{font:700 60px/72px var(--font-display);margin:0 0 var(--space-6)}
.timeline{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--rule)}
.timeline li span:first-child{font:600 13px/28px var(--font-text);color:var(--ink-2)}
.timeline li span:last-child{font:400 16px/28px var(--font-text)}
.work-with{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--ink);margin-top:var(--space-16)}
.work-with div{padding:var(--space-6) var(--space-6) var(--space-6) 0;display:grid;gap:var(--space-2);align-content:start}
.work-with div+div{border-inline-start:1px solid var(--rule);padding-inline-start:var(--space-6)}
.work-with h3{font:600 23px/36px var(--font-display);margin:0}
.work-with p{margin:0;font:400 16px/30px var(--font-text);color:var(--ink-2)}
.contact{margin-top:var(--space-12);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);align-items:center}
.contact code{font:500 16px/24px var(--font-text);direction:ltr;unicode-bidi:isolate;background:var(--paper-sunken);padding:var(--space-2) var(--space-3)}

@media (max-width:900px){
  .pulse-week,.book,.about{grid-template-columns:minmax(0,1fr)}
  .book .cover-slot{max-width:14rem}
  .about .portrait{max-width:20rem}
  .work-with{grid-template-columns:minmax(0,1fr)}
  .work-with div+div{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--rule)}
}
@media (max-width:720px){
  .res-group{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
  .timeline li{grid-template-columns:minmax(0,1fr);gap:0}
  .book-head h1,.about h1{font-size:38px;line-height:50px}
}

/* 3. WordPress adaptations */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks { background: var(--paper); }
.shell, .wp-site-blocks > main, .wp-site-blocks > header, .wp-site-blocks > footer { box-sizing: border-box; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
a { text-decoration-thickness: 1px; text-underline-offset: .35em; }

/* header */
.g-header { justify-content: flex-start; }
.g-header .wp-block-site-title { margin: 0; font: 700 26px/1 var(--font-display); }
.g-header .wp-block-site-title a, .site-footer .wp-block-site-title a { color: var(--ink); text-decoration: none; }
.g-header .wp-block-navigation { font: 500 15px/24px var(--font-text); gap: var(--space-6); }
.g-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--ink-2); text-decoration: none; padding-block: var(--space-1); border-bottom: 2px solid transparent; }
.g-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--ink); }
.g-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.g-header .wp-block-navigation [aria-current="page"] { color: var(--ink); border-bottom-color: var(--lajvard); }
.g-header .wp-block-buttons { margin-inline-start: auto; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--paper); color: var(--ink); }

/* buttons: the core button block wears the design-system button */
.wp-element-button, .wp-block-button__link { border-radius: var(--radius-1); padding: var(--space-2) var(--space-4); font: 500 15px/24px var(--font-text); transition: background-color .15s ease, color .15s ease; }
.wp-block-button__link:hover { background: var(--ink); color: var(--paper); }
.wp-block-button.is-style-secondary .wp-block-button__link { background: transparent; color: var(--ink); border: 1px solid var(--rule-strong); }
.wp-block-button.is-style-secondary .wp-block-button__link:hover { border-color: var(--ink); background: transparent; color: var(--ink); }

/* reading column: the post content is one folio wide; ordinary blocks keep the reading measure */
.g-prose.post-body { max-width: calc(var(--measure-text) + var(--measure-margin) + var(--space-8)); }
.post-body > :not(.is-style-folio):not(.alignwide):not(.alignfull) { max-width: var(--measure-text); }
.post-body > * { margin-block: 0; }
.post-body > * + * { margin-top: var(--space-6); }
.post-body > h2 { margin-top: var(--space-12); }
.is-style-folio { display: grid; grid-template-columns: minmax(0, var(--measure-text)) var(--measure-margin); column-gap: var(--space-8); align-items: start; }
.is-style-folio > * { margin: 0 !important; min-width: 0; }
.is-style-folio > :first-child > * + * { margin-top: var(--space-6); }
.is-style-margin { display: grid; gap: var(--space-6); padding-top: var(--space-1); }
.is-style-note, .is-style-margin > p { font: 400 15px/27px var(--font-text); color: var(--ink-2); padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--rule-strong); margin: 0; }
.is-style-pull { font: 600 30px/46px var(--font-display) !important; color: var(--lajvard); text-wrap: balance; }
.g-prose mark, .post-body mark { background: var(--lajvard-tint); color: inherit; padding: 0 .15em; }
.post-figure img { display: block; width: 100%; height: auto; }
.post-figure figcaption { font: 400 13px/22px var(--font-text); color: var(--ink-3); margin-top: var(--space-2); }
@media (max-width: 1100px) { .is-style-folio { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-6); } }

/* sources: list items carry inline markup, so the counter is positioned rather than a grid cell */
.g-sources ol li, .g-sources ul li { display: block; position: relative; padding-inline-start: 2em; }
.g-sources ol li::before { position: absolute; inset-inline-start: 0; top: 0; }
.g-sources li [dir="ltr"], .g-sources li:lang(en) { text-align: left; }

/* lists of posts (writing index, archives, search) */
.post-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); max-width: 48rem; }
.post-list > li { padding-block: var(--space-6); border-bottom: 1px solid var(--rule); }
.post-list .wp-block-post-title { font: 600 26px/40px var(--font-display); margin: 0; }
.post-list .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.post-list .wp-block-post-title a:hover { color: var(--lajvard); }
.post-list .wp-block-post-excerpt { font: 400 16px/30px var(--font-text); color: var(--ink-2); margin-top: var(--space-2); }
.post-list .wp-block-post-excerpt__more-link { display: none; }
.post-list .meta-row { display: flex; gap: var(--space-2); flex-wrap: wrap; font: 400 13px/22px var(--font-text); color: var(--ink-3); }
.post-list .meta-row a { color: var(--ink-3); }
.wp-block-query-pagination { margin-top: var(--space-8); font: 500 15px/24px var(--font-text); }

/* book cover and portrait images */
.cover-img { display: block; width: 100%; height: auto; }
.cover-frame { aspect-ratio: 2 / 3; overflow: hidden; background: var(--paper-sunken); }
.cover-frame img { width: 100%; height: 100%; object-fit: cover; }
.book--nocover { grid-template-columns: minmax(0, 1fr); }
.book-reviews .review { margin: 0 0 var(--space-6); padding-inline-start: var(--space-6); border-inline-start: 2px solid var(--ink); max-width: var(--measure-text); }
.book-reviews .review p { font: 400 21px/38px var(--font-display); margin: 0 0 var(--space-2); }
.home-h2 { font: 700 42px/56px var(--font-display); margin: 0 0 var(--space-4); }
.concept-chips a.all { font-family: var(--font-text); font-size: 15px; font-weight: 500; color: var(--lajvard); }
.ep-item { text-decoration: none; }
.ep-item[aria-current="page"] { background: var(--lajvard-tint); }
.ep-item[aria-current="page"] .ep-no { color: var(--lajvard); }
.course-latest li .ep-no { font-size: 26px; }

/* footer */
.site-footer .footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.site-footer .footer-links a { color: var(--ink-2); text-decoration: none; font: 500 15px/24px var(--font-text); }
.site-footer .footer-links a:hover { color: var(--ink); }

@media (max-width: 720px) {
	:root { --wp--style--root--padding-left: 16px; --wp--style--root--padding-right: 16px; }
	.g-header .wp-block-buttons { display: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* home hero and credentials as core blocks */
.home-hero .lead { font: 400 20px/38px var(--font-text); color: var(--ink-2); margin: var(--space-6) 0 0; max-width: 34rem; }
.home-hero .portrait-img, .home-hero .portrait-img img { margin: 0; width: 100%; height: auto; display: block; }
.creds p { margin: 0; }
.creds p span { font: 400 14px/24px var(--font-text); color: var(--ink-2); }
.creds p b { font: 600 18px/28px var(--font-display); color: var(--ink); }
.about-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.about .wp-block-post-title { font: 700 60px/72px var(--font-display); margin: 0 0 var(--space-6); }
.page-head .wp-block-post-title, .page-head .wp-block-query-title { font: 700 60px/72px var(--font-display); margin: 0; }
@media (max-width: 720px) { .page-head .wp-block-post-title, .page-head .wp-block-query-title, .about .wp-block-post-title { font-size: 42px; line-height: 56px; } }

/* link-like components keep their own colour and no underline (the base link rule is .g-root a) */
.g-root :is(.ep-item, .episode-row, .lib-item, .cover, .lead-piece, .course-feature, .concept-chips a, .related a, .footer-links a, .social-links a, .post-kicker a, .crumbs a, .letters a, .piece-list a, .g-header .wp-block-navigation a, .wp-block-site-title a, .wp-block-post-title a, .pager-btn, .pager-off) { text-decoration: none; }
.g-root a.g-btn--primary, .g-root a.g-btn--primary:hover { color: var(--on-lajvard); text-decoration: none; }
.g-root a.g-btn--primary:hover { background: var(--ink); color: var(--paper); }
.g-root a.g-btn--secondary { color: var(--ink); text-decoration: none; }
.g-root .ep-item, .g-root .pager-btn { color: var(--ink); }
.home-section .course-feature { margin-top: 0; }

/* paragraph rhythm inside prose (the component rule sets p margins to 0) */
.g-prose > * + p, .g-prose > p + *, .g-prose > * + .wp-block-list, .g-prose > * + .wp-block-group { margin-top: var(--space-6); }

/* about */
.about .work-with { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-12); }
.about .work-with > div { padding: var(--space-4) 0; }
.about .work-with > div + div { border-inline-start: 0; padding-inline-start: 0; border-top: 1px solid var(--rule); }
.about .timeline { margin-top: var(--space-8); }
.about .portrait-img, .about .portrait-img img { margin: 0; width: 100%; height: auto; display: block; }

/* episode list: links inside list items (the design-system preview used buttons) */
.ep-scroller > li { list-style: none; }
.ep-scroller .ep-item { box-sizing: border-box; height: 100%; }
@media (max-width: 900px) {
	.ep-scroller > li { flex: 0 0 15rem; scroll-snap-align: start; }
	.ep-scroller > li.ep-upcoming { flex: 0 0 12rem; }
	.ep-scroller .ep-item { flex: none; width: 100%; }
}
.sep{color:var(--rule-strong)}

/* social profiles: plain text links, in the footer and under the About text */
.social-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); }
.social-links a { color: var(--ink-2); font: 500 15px/24px var(--font-text); }
.social-links a:hover { color: var(--ink); }
.site-footer .social-links { flex-direction: column; }
.home-hero .profile-intro { min-width: 0; }
