/* ==========================================================================
   Logos Streaming — design system (v0.5.0)
   Black base, red as an accent (never a frame), editorial serif for titles,
   system UI font (no font downloads), native scroll-snap rails.
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--lgs-bg: #08080b;
	--lgs-bg-2: #0d0d11;
	--lgs-surface: #141419;
	--lgs-surface-2: #1c1c23;
	--lgs-line: rgba(255, 255, 255, .08);
	--lgs-line-2: rgba(255, 255, 255, .16);
	--lgs-text: #f4f0e8;
	--lgs-text-2: #cdc6ba;
	--lgs-muted: #928b80;
	--lgs-red: #c3141d;
	--lgs-red-hi: #e1262f;
	--lgs-red-deep: #5e060b;

	--lgs-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--lgs-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;

	--lgs-fs-xs: .75rem;
	--lgs-fs-sm: .875rem;
	--lgs-fs-md: 1rem;
	--lgs-fs-lg: 1.125rem;
	--lgs-fs-xl: clamp(1.15rem, 1rem + .6vw, 1.45rem);
	--lgs-fs-2xl: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
	--lgs-fs-hero: clamp(2.6rem, 1.4rem + 5.2vw, 5.6rem);

	--lgs-space-1: 4px;
	--lgs-space-2: 8px;
	--lgs-space-3: 12px;
	--lgs-space-4: 16px;
	--lgs-space-5: 24px;
	--lgs-space-6: 32px;
	--lgs-space-7: 48px;
	--lgs-space-8: 64px;

	--lgs-radius-sm: 6px;
	--lgs-radius: 10px;
	--lgs-radius-lg: 16px;
	--lgs-shadow: 0 18px 40px rgba(0, 0, 0, .55);
	--lgs-ease: cubic-bezier(.2, .7, .2, 1);
	--lgs-gutter: clamp(16px, 4vw, 56px);
	--lgs-max: 1680px;
	--lgs-header-bar: 64px;
	--lgs-safe-top: env(safe-area-inset-top, 0px);
	--lgs-header-h: calc(var(--lgs-header-bar) + var(--lgs-safe-top)); /* 1.0.4: bar + safe area */
	--lgs-tabbar-h: 0px;
	--lgs-focus: 0 0 0 2px var(--lgs-bg), 0 0 0 4px var(--lgs-text);
}
@media (min-width: 900px) { :root { --lgs-header-bar: 84px; } } /* 1.0.4: 72 → 84 px */
@media (max-width: 899.98px) { :root { --lgs-tabbar-h: calc(60px + env(safe-area-inset-bottom)); } }

/* 2. Base (scoped so Streamit/Elementor pages keep their own content styles) */
html:has(body.lgs-theme), body.lgs-theme { overflow-x: clip; } /* rails scroll inside themselves; the page never scrolls sideways */
body.lgs-theme {
	background: var(--lgs-bg);
	color: var(--lgs-text);
	font-family: var(--lgs-font);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	padding-bottom: var(--lgs-tabbar-h);
}
.lgs-header, .lgs-header *, .lgs-footer, .lgs-footer *, .lgs-tabbar, .lgs-tabbar *, .lgs-main, .lgs-main * { box-sizing: border-box; }
.lgs-main { display: block; min-height: 60vh; font-family: var(--lgs-font); color: var(--lgs-text); }
:where(.lgs-main) :where(h1, h2, h3, p) { margin: 0; letter-spacing: normal; text-transform: none; }
:where(.lgs-main, .lgs-header) :where(ul, ol) { list-style: none; margin: 0; padding: 0; }
:where(.lgs-main, .lgs-header, .lgs-footer, .lgs-tabbar) :where(a) { color: inherit; text-decoration: none; }
:where(.lgs-main) :where(img) { display: block; max-width: 100%; }
.lgs-container { width: 100%; max-width: var(--lgs-max); margin-inline: auto; padding-inline: var(--lgs-gutter); }
.lgs-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lgs-skip { position: fixed; left: 12px; top: -60px; z-index: 1000; padding: 10px 16px; border-radius: var(--lgs-radius-sm); background: var(--lgs-text); color: var(--lgs-bg) !important; font-weight: 600; transition: top .2s; }
.lgs-skip:focus { top: 12px; }
.lgs-theme :focus-visible { outline: none; box-shadow: var(--lgs-focus); border-radius: var(--lgs-radius-sm); }
.lgs-icon { width: 22px; height: 22px; flex: none; }

/* 3. Buttons ---------------------------------------------------------------- */
.lgs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 44px; padding: 0 20px; border: 0; border-radius: var(--lgs-radius-sm);
	font: 600 var(--lgs-fs-md)/1 var(--lgs-font); letter-spacing: .01em; white-space: nowrap; cursor: pointer;
	transition: background-color .2s var(--lgs-ease), transform .2s var(--lgs-ease), color .2s;
}
.lgs-btn .lgs-icon { width: 20px; height: 20px; }
.lgs-btn--sm { min-height: 36px; padding: 0 14px; font-size: var(--lgs-fs-sm); }
.lgs-btn--lg { min-height: 52px; padding: 0 26px; font-size: var(--lgs-fs-lg); }
.lgs-btn--primary { background: var(--lgs-red); color: #fff !important; }
.lgs-btn--primary:hover { background: var(--lgs-red-hi); }
.lgs-btn--light { background: var(--lgs-text); color: #0b0b0e !important; }
.lgs-btn--light:hover { background: #fff; }
.lgs-btn--glass { background: rgba(255, 255, 255, .14); color: var(--lgs-text) !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.lgs-btn--glass:hover { background: rgba(255, 255, 255, .22); }
.lgs-btn:active { transform: scale(.98); }
.lgs-icon-btn {
	display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
	background: transparent; color: var(--lgs-text); cursor: pointer; transition: background-color .2s;
}
.lgs-icon-btn:hover, .lgs-icon-btn[aria-expanded="true"] { background: rgba(255, 255, 255, .1); }
.lgs-icon-btn--round { width: 36px; height: 36px; border: 1px solid var(--lgs-line-2); }
.lgs-icon-btn--round:disabled { opacity: .3; cursor: default; }
.lgs-link-quiet { color: var(--lgs-text-2) !important; font-weight: 600; font-size: var(--lgs-fs-sm); padding: 8px 6px; }
.lgs-link-quiet:hover { color: var(--lgs-text) !important; }

/* 4. Header ------------------------------------------------------------------ */
.lgs-header {
	position: sticky; top: 0; z-index: 200; color: var(--lgs-text); font-family: var(--lgs-font);
	padding-top: var(--lgs-safe-top);
	background: rgba(8, 8, 11, .94); backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px);
	border-bottom: 1px solid var(--lgs-line);
	transition: background-color .3s var(--lgs-ease), border-color .3s;
}
.admin-bar .lgs-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lgs-header { top: 46px; } }
/* 1.0.4: at ≤600 px WordPress makes the admin bar absolute (it scrolls away) while the header is fixed 46 px
   down — a band of content showed above the header. The bar stays fixed on the theme's pages. */
@media screen and (max-width: 600px) { html body.lgs-theme #wpadminbar { position: fixed; } }
.lgs-owned .lgs-header { position: fixed; left: 0; right: 0; background: linear-gradient(to bottom, rgba(8, 8, 11, .82), rgba(8, 8, 11, 0)); border-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
/* 1.0.8: at the top, nothing under the header. The gradient was sized to the padding box and repeated into the
   transparent 1px bottom border, painting its darkest stop as a black line over the hero. */
.lgs-owned .lgs-header { background-origin: border-box; background-repeat: no-repeat; }
.lgs-owned .lgs-header:not(.is-solid):not(.is-open) { border-bottom-color: transparent !important; box-shadow: none !important; }
.lgs-owned .lgs-header.is-solid, .lgs-owned .lgs-header.is-open { background: rgba(8, 8, 11, .94); border-color: var(--lgs-line); backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); }
.lgs-header__bar { display: flex; align-items: center; gap: var(--lgs-space-5); height: var(--lgs-header-bar); }
.lgs-brand { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.lgs-brand { gap: 12px; }
.lgs-brand__mark { width: 54px; height: 54px; object-fit: contain; filter: drop-shadow(0 2px 10px rgba(195, 20, 29, .4)); } /* 1.0.4: 42 → 54 px */
.lgs-brand__word { display: inline-flex; flex-direction: column; line-height: 1; margin: 0; }
.lgs-brand__logos { font: 700 1.7rem/1 var(--lgs-serif); letter-spacing: .01em; color: var(--lgs-text); }
.lgs-brand__editorial { font: 600 .66rem/1 var(--lgs-font); letter-spacing: .32em; text-transform: uppercase; color: var(--lgs-muted); margin-top: 5px; }
.lgs-nav { flex: 1; min-width: 0; }
/* Item spacing: ~22–28 px between labels on desktop (10 px padding each side + gap), tighter on smaller screens.
   The same rules style the theme's default list and a menu assigned in Aparência → Menus (wp_nav_menu). */
.lgs-nav__list { display: flex; align-items: center; gap: clamp(2px, .55vw, 8px); }
.lgs-nav__link, .lgs-nav__list > .menu-item > a {
	display: inline-flex; align-items: center; gap: 4px; padding: 8px clamp(8px, .7vw, 10px); border: 0; background: none; cursor: pointer;
	color: var(--lgs-text-2) !important; font: 500 var(--lgs-fs-sm)/1 var(--lgs-font); letter-spacing: .01em; border-radius: var(--lgs-radius-sm);
	position: relative; transition: color .2s;
}
.lgs-nav__link:hover, .lgs-nav__link[aria-expanded="true"], .lgs-nav__list > .menu-item > a:hover { color: var(--lgs-text) !important; }
.lgs-nav__link[aria-current="page"], .lgs-nav__list > .current-menu-item > a { color: var(--lgs-text) !important; font-weight: 600; }
.lgs-nav__link[aria-current="page"]::after, .lgs-nav__list > .current-menu-item > a::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 0; height: 2px; border-radius: 2px; background: var(--lgs-red); }
.lgs-nav__caret { width: 16px; height: 16px; transition: transform .2s; }
.lgs-nav__link[aria-expanded="true"] .lgs-nav__caret { transform: rotate(180deg); }
.lgs-header__actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.lgs-avatar {
	display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
	background: linear-gradient(135deg, var(--lgs-red), var(--lgs-red-deep)); color: #fff !important; font: 700 .9rem/1 var(--lgs-font);
}

/* Panels (subjects, search) */
.lgs-panel { border-top: 1px solid var(--lgs-line); background: rgba(13, 13, 17, .98); box-shadow: var(--lgs-shadow); }
.lgs-panel[hidden] { display: none; }
.lgs-panel__title { margin: 0 0 12px; padding-top: 20px; font: 600 var(--lgs-fs-xs)/1 var(--lgs-font); letter-spacing: .18em; text-transform: uppercase; color: var(--lgs-muted); }
.lgs-subjects-panel__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 4px 16px; padding-bottom: 20px; }
.lgs-subjects-panel__list a { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border-radius: var(--lgs-radius); transition: background-color .2s; }
.lgs-subjects-panel__list a:hover { background: rgba(255, 255, 255, .06); }
.lgs-subjects-panel__list strong { display: block; font: 600 var(--lgs-fs-md)/1.25 var(--lgs-font); color: var(--lgs-text); }
.lgs-subjects-panel__list small { display: block; margin-top: 3px; font-size: var(--lgs-fs-sm); color: var(--lgs-muted); }
.lgs-dot { flex: none; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: hsl(var(--lgs-hue) 60% 52%); box-shadow: 0 0 0 4px hsl(var(--lgs-hue) 60% 52% / .18); }
.lgs-search { display: flex; align-items: center; gap: 12px; padding-block: 16px; position: relative; }
.lgs-search__icon { position: absolute; left: calc(var(--lgs-gutter) + 14px); color: var(--lgs-muted); pointer-events: none; }
.lgs-search__input {
	flex: 1; min-width: 0; height: 52px; padding: 0 16px 0 46px; border: 1px solid var(--lgs-line-2); border-radius: var(--lgs-radius-sm);
	background: var(--lgs-bg); color: var(--lgs-text); font: 400 var(--lgs-fs-lg)/1 var(--lgs-font);
}
.lgs-search__input::placeholder { color: var(--lgs-muted); }
.lgs-search__input:focus { outline: none; border-color: var(--lgs-text-2); }

/* 5. Hero -------------------------------------------------------------------- */
.lgs-hero {
	position: relative; isolation: isolate; display: flex; align-items: flex-end;
	min-height: clamp(560px, 82vh, 860px); padding-top: var(--lgs-header-h); overflow: hidden;
}
.lgs-hero__media { position: absolute; inset: 0; z-index: -2; }
.lgs-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.lgs-hero__art {
	position: absolute; inset: 0;
	background:
		radial-gradient(60% 70% at 78% 32%, hsl(356 72% 30% / .95), transparent 70%), /* 1.0.4: brand red behind the burning bush (was the subject color) */
		radial-gradient(40% 50% at 92% 88%, hsl(348 70% 20% / .9), transparent 70%),
		radial-gradient(70% 60% at 10% 100%, rgba(195, 20, 29, .22), transparent 70%),
		linear-gradient(115deg, #09090c 30%, hsl(356 40% 10%) 100%);
}
.lgs-hero__mark {
	position: absolute; right: clamp(-120px, -4vw, -20px); top: 50%; width: min(62vh, 52vw); aspect-ratio: 1; transform: translateY(-46%);
	background: var(--lgs-mark) center / contain no-repeat; opacity: .22; mix-blend-mode: screen;
	filter: drop-shadow(0 0 60px rgba(195, 20, 29, .35));
}
.lgs-hero__scrim {
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(to top, var(--lgs-bg) 0%, rgba(8, 8, 11, .72) 28%, rgba(8, 8, 11, 0) 62%),
		linear-gradient(to right, rgba(8, 8, 11, .9) 0%, rgba(8, 8, 11, .55) 38%, rgba(8, 8, 11, 0) 68%);
}
.lgs-hero__content { padding-bottom: clamp(40px, 9vh, 96px); max-width: var(--lgs-max); }
.lgs-hero__content > * { max-width: 720px; }
.lgs-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px !important; font: 600 var(--lgs-fs-xs)/1 var(--lgs-font); letter-spacing: .2em; text-transform: uppercase; color: var(--lgs-text-2); }
.lgs-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; background: var(--lgs-red); color: #fff; letter-spacing: .14em; }
.lgs-hero__title { font: 700 var(--lgs-fs-hero)/.98 var(--lgs-serif); letter-spacing: -.01em; text-wrap: balance; text-shadow: 0 4px 30px rgba(0, 0, 0, .4); }
.lgs-hero__subtitle { display: block; margin-top: .35em; font: 400 italic .4em/1.2 var(--lgs-serif); color: var(--lgs-text-2); letter-spacing: 0; }
.lgs-hero__meta { margin-top: 18px !important; font: 500 var(--lgs-fs-sm)/1.4 var(--lgs-font); color: var(--lgs-text-2); }
.lgs-hero__excerpt { margin-top: 12px !important; font: 400 var(--lgs-fs-lg)/1.55 var(--lgs-font); color: var(--lgs-text-2); max-width: 600px !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lgs-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* 6. Sections and rails -------------------------------------------------------- */
.lgs-section { position: relative; margin-block: clamp(26px, 4vw, 44px); }
.lgs-hero + .lgs-section { margin-top: clamp(-36px, -3vw, -12px); z-index: 1; }
.lgs-section__head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 14px; }
.lgs-section__title { font: 600 var(--lgs-fs-xl)/1.2 var(--lgs-font); letter-spacing: -.005em; }
.lgs-section__more { display: inline-flex; align-items: center; gap: 2px; color: var(--lgs-muted) !important; font: 600 var(--lgs-fs-sm)/1 var(--lgs-font); transition: color .2s; }
.lgs-section__more .lgs-icon { width: 16px; height: 16px; transition: transform .2s; }
.lgs-section__more:hover { color: var(--lgs-text) !important; }
.lgs-section__more:hover .lgs-icon { transform: translateX(3px); }
.lgs-rail__controls { display: flex; gap: 8px; margin-left: auto; }
.lgs-rail__controls[hidden] { display: none; }
@media (hover: none) { .lgs-rail__controls { display: none; } }

/* Rails are full width; their first card starts where .lgs-container content starts (same max width and gutter).
   Measured on the rail itself (100% = its width without the scrollbar), so titles and first cards line up at every width. */
.lgs-rail { --lgs-col: clamp(142px, 13.2vw, 212px); --lgs-edge: max(var(--lgs-gutter), calc((100% - var(--lgs-max)) / 2 + var(--lgs-gutter))); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: var(--lgs-edge); scrollbar-width: none; }
.lgs-rail::-webkit-scrollbar { display: none; }
.lgs-rail__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: var(--lgs-col); gap: clamp(10px, 1vw, 16px);
	width: max-content; padding-inline: max(var(--lgs-gutter), calc((100% - var(--lgs-max)) / 2 + var(--lgs-gutter)));
	padding-block: 6px 14px;
}
.lgs-rail__item { scroll-snap-align: start; min-width: 0; }
.lgs-rail--landscape { --lgs-col: clamp(250px, 24vw, 380px); }
.lgs-rail--book { --lgs-col: clamp(124px, 10.5vw, 172px); }
.lgs-rail--square { --lgs-col: clamp(150px, 13vw, 210px); }
.lgs-rail--people { --lgs-col: clamp(110px, 9vw, 140px); }
.lgs-rail--subjects { --lgs-col: clamp(230px, 21vw, 330px); }

/* 7. Cards --------------------------------------------------------------------- */
.lgs-card { min-width: 0; }
.lgs-card__link { display: block; border-radius: var(--lgs-radius); }
.lgs-card__media {
	position: relative; overflow: hidden; aspect-ratio: 2 / 3; border-radius: var(--lgs-radius); background: var(--lgs-surface);
	box-shadow: 0 0 0 1px var(--lgs-line) inset;
	transition: transform .3s var(--lgs-ease), box-shadow .3s var(--lgs-ease);
}
.lgs-card--landscape .lgs-card__media { aspect-ratio: 16 / 9; }
.lgs-card--square .lgs-card__media { aspect-ratio: 1; }
.lgs-card--people .lgs-card__media { aspect-ratio: 1; border-radius: 50%; }
.lgs-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) {
	.lgs-card__link:hover .lgs-card__media { transform: translateY(-3px) scale(1.03); box-shadow: 0 0 0 1px var(--lgs-line-2) inset, var(--lgs-shadow); }
}
.lgs-card__body { padding: 10px 2px 0; }
.lgs-card__title { font: 600 .9375rem/1.3 var(--lgs-font); color: var(--lgs-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lgs-card__meta { margin-top: 4px !important; font: 500 .8rem/1.35 var(--lgs-font); color: #a8a195; letter-spacing: .01em; }
.lgs-card.is-art .lgs-card__body { padding-top: 8px; }
.lgs-card--people { text-align: center; }
.lgs-card--people .lgs-card__title { -webkit-line-clamp: 2; }
.lgs-card__badge, .lgs-card__lock {
	position: absolute; top: 8px; display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px; border-radius: 999px;
	background: rgba(8, 8, 11, .72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: var(--lgs-text); font: 600 .7rem/1 var(--lgs-font); letter-spacing: .04em;
}
.lgs-card__badge { left: 8px; }
.lgs-card__lock { right: 8px; padding: 0 6px; }
.lgs-card__lock .lgs-icon { width: 14px; height: 14px; }

/* Generated artwork (no image file): subject color + format icon + title + brand watermark. */
.lgs-art {
	position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 14px; overflow: hidden;
	background:
		radial-gradient(120% 80% at 88% 4%, hsl(var(--lgs-hue) 58% 34% / .95), transparent 60%),
		radial-gradient(90% 70% at 0% 100%, hsl(calc(var(--lgs-hue) + 24) 60% 18% / .9), transparent 70%),
		linear-gradient(165deg, hsl(var(--lgs-hue) 38% 14%), #0b0b0f 78%);
	color: var(--lgs-text);
}
.lgs-art::after {
	content: ""; position: absolute; right: -18%; bottom: -12%; width: 78%; aspect-ratio: 1;
	background: var(--lgs-mark) center / contain no-repeat; opacity: .13; mix-blend-mode: luminosity; pointer-events: none;
}
.lgs-art__top { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; font: 600 .68rem/1.2 var(--lgs-font); letter-spacing: .14em; text-transform: uppercase; color: var(--lgs-text-2); }
.lgs-art__top .lgs-icon { width: 16px; height: 16px; color: hsl(var(--lgs-hue) 70% 72%); }
.lgs-art__title { position: relative; z-index: 1; font: 700 clamp(1rem, .85rem + .6vw, 1.3rem)/1.12 var(--lgs-serif); letter-spacing: -.005em; text-wrap: balance; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.lgs-card--landscape .lgs-art__title { font-size: clamp(1.1rem, .9rem + .7vw, 1.45rem); -webkit-line-clamp: 3; max-width: 85%; }
.lgs-card--book .lgs-art, .lgs-card--square .lgs-art { padding: 12px; }
.lgs-art--person { display: grid; place-items: center; }
.lgs-art__initials { position: relative; z-index: 1; font: 700 2.4rem/1 var(--lgs-serif); color: var(--lgs-text); }

/* Subjects */
.lgs-subject {
	position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px;
	aspect-ratio: 16 / 9; padding: 16px; overflow: hidden; border-radius: var(--lgs-radius);
	background:
		radial-gradient(90% 90% at 100% 0%, hsl(var(--lgs-hue) 62% 36% / .95), transparent 62%),
		linear-gradient(150deg, hsl(var(--lgs-hue) 40% 16%), #0b0b0f 80%);
	box-shadow: 0 0 0 1px var(--lgs-line) inset; transition: transform .3s var(--lgs-ease), box-shadow .3s;
}
.lgs-subject::after { content: ""; position: absolute; right: -10%; top: -20%; width: 62%; aspect-ratio: 1; z-index: -1; background: var(--lgs-mark) center / contain no-repeat; opacity: .14; mix-blend-mode: luminosity; }
.lgs-subject img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.lgs-subject__name { font: 700 clamp(1.15rem, 1rem + .6vw, 1.45rem)/1.1 var(--lgs-serif); color: var(--lgs-text); }
.lgs-subject__tagline { font: 500 var(--lgs-fs-xs)/1.35 var(--lgs-font); color: var(--lgs-text-2); }
@media (hover: hover) { .lgs-subject:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--lgs-line-2) inset, var(--lgs-shadow); } }

/* Plugin rails (Logos Streamit Tools: continue / recommendations) in the theme's language */
.lgs-section--plugin .logos-discovery { margin: 0; padding: 0; background: none; font-family: var(--lgs-font); }
.lgs-section--plugin .logos-discovery__header h2 { font: 600 var(--lgs-fs-xl)/1.2 var(--lgs-font); color: var(--lgs-text); }
.lgs-section--plugin .logos-discovery__poster { border-radius: var(--lgs-radius); overflow: hidden; }
.lgs-section--plugin .logos-discovery__title { font: 600 var(--lgs-fs-sm)/1.3 var(--lgs-font); color: var(--lgs-text); }
.lgs-section--plugin .logos-discovery__progress > span { background: var(--lgs-red); }

/* 8. Footer and mobile tab bar ---------------------------------------------------- */
.lgs-footer { margin-top: clamp(40px, 6vw, 80px); border-top: 1px solid var(--lgs-line); background: var(--lgs-bg-2); color: var(--lgs-text-2); font: 400 var(--lgs-fs-sm)/1.5 var(--lgs-font); }
.lgs-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-block: 48px 32px; }
.lgs-footer__tagline { margin-top: 14px; max-width: 34ch; color: var(--lgs-muted); }
.lgs-footer__head { margin: 0 0 12px; font: 600 var(--lgs-fs-xs)/1 var(--lgs-font); letter-spacing: .18em; text-transform: uppercase; color: var(--lgs-muted); }
.lgs-footer__col { display: flex; flex-direction: column; gap: 10px; }
.lgs-footer__col a { color: var(--lgs-text-2) !important; }
.lgs-footer__col a:hover { color: var(--lgs-text) !important; }
.lgs-footer__legal { padding-block: 18px 28px; border-top: 1px solid var(--lgs-line); color: var(--lgs-muted); font-size: var(--lgs-fs-xs); }
.lgs-footer__legal p { margin: 0; }

.lgs-tabbar { display: none; }
@media (min-width: 900px) { .lgs-only-mobile { display: none !important; } }
@media (max-width: 899.98px) {
	.lgs-nav, .lgs-only-desktop { display: none !important; }
	.lgs-header__bar { gap: 12px; }
	.lgs-footer__grid { grid-template-columns: 1fr 1fr; padding-top: 36px; }
	.lgs-footer__brand { grid-column: 1 / -1; }
	/* backdrop-filter would make the header the containing block of the fixed panels (bottom sheet). */
	.lgs-header, .lgs-owned .lgs-header.is-solid, .lgs-owned .lgs-header.is-open { backdrop-filter: none; -webkit-backdrop-filter: none; }
	.lgs-header.is-open, .lgs-owned .lgs-header.is-solid { background: rgba(8, 8, 11, .98); }
	.lgs-tabbar {
		position: fixed; inset: auto 0 0 0; z-index: 210; display: grid; grid-template-columns: repeat(5, 1fr);
		height: var(--lgs-tabbar-h); padding-bottom: env(safe-area-inset-bottom);
		background: rgba(10, 10, 13, .96); border-top: 1px solid var(--lgs-line); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
	}
	.lgs-tabbar a, .lgs-tabbar button {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 0; border: 0; background: none; cursor: pointer;
		color: var(--lgs-muted) !important; font: 600 .66rem/1 var(--lgs-font); letter-spacing: .02em;
	}
	.lgs-tabbar .lgs-icon { width: 22px; height: 22px; }
	.lgs-tabbar [aria-current="page"], .lgs-tabbar [aria-expanded="true"] { color: var(--lgs-text) !important; }
	.lgs-tabbar [aria-current="page"] .lgs-icon { color: var(--lgs-red-hi); }
	.lgs-panel { position: fixed; left: 0; right: 0; bottom: var(--lgs-tabbar-h); max-height: 70vh; overflow-y: auto; border-radius: var(--lgs-radius-lg) var(--lgs-radius-lg) 0 0; }
	.lgs-search-panel { top: var(--lgs-header-h); bottom: auto; border-radius: 0; }

	.lgs-hero { min-height: min(86vh, 720px); }
	.lgs-hero__mark { width: 92vw; right: -30vw; top: 34%; opacity: .2; }
	.lgs-hero__scrim { background: linear-gradient(to top, var(--lgs-bg) 4%, rgba(8, 8, 11, .82) 42%, rgba(8, 8, 11, .1) 78%); }
	.lgs-hero__excerpt { font-size: var(--lgs-fs-md); -webkit-line-clamp: 3; }
	.lgs-hero__actions .lgs-btn { flex: 1 1 auto; }
}

/* 9. Motion preferences -------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.lgs-theme *, .lgs-theme *::before, .lgs-theme *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Logos Streamit Tools rails (recommendations, continue): theme look without changing the plugin */
.lgs-section--plugin .logos-discovery__header { display: flex; align-items: baseline; gap: 16px; margin-bottom: 14px; }
.lgs-section--plugin .logos-discovery__rail { scrollbar-width: none; gap: clamp(10px, 1vw, 16px); padding-bottom: 6px; }
.lgs-section--plugin .logos-discovery__rail::-webkit-scrollbar { display: none; }
.lgs-section--plugin .logos-discovery__arrow { width: 36px; height: 36px; border: 1px solid var(--lgs-line-2); border-radius: 50%; background: transparent; color: var(--lgs-text); font-size: 1.2rem; line-height: 1; }
.lgs-section--plugin .logos-discovery__arrow:hover { background: rgba(255, 255, 255, .1); }
.lgs-section--plugin .logos-discovery__placeholder {
	display: grid; place-items: center; width: 100%; height: 100%; color: transparent;
	background: var(--lgs-mark) center / 55% no-repeat, linear-gradient(165deg, #1b1b22, #0b0b0f 80%);
}
.lgs-section--plugin .logos-discovery__card { box-shadow: none; background: none; }

/* 10. Content pages (module D) ------------------------------------------------------ */
.lgs-page { padding-top: calc(var(--lgs-header-h) + clamp(12px, 2.4vw, 28px)); }
.lgs-page--hero { padding-top: 0; }
.lgs-block { margin-block: clamp(24px, 4vw, 44px); }
.lgs-eyebrow__link { display: inline-flex; align-items: center; gap: 4px; color: var(--lgs-text-2) !important; }
.lgs-eyebrow__link:hover { color: var(--lgs-text) !important; }
.lgs-eyebrow__link .lgs-icon { width: 16px; height: 16px; }
.lgs-eyebrow--plain { gap: 8px; letter-spacing: .14em; color: var(--lgs-muted); }
.lgs-eyebrow--plain .lgs-icon { width: 16px; height: 16px; }
.lgs-hero--detail { min-height: clamp(520px, 72vh, 760px); }
.lgs-note { display: inline-flex; align-items: center; gap: 6px; font: 500 var(--lgs-fs-sm)/1.3 var(--lgs-font); color: var(--lgs-muted); }
.lgs-note .lgs-icon { width: 16px; height: 16px; }
.lgs-empty { padding: 16px 0; color: var(--lgs-muted); }

/* Progress */
.lgs-meter { display: block; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .18); overflow: hidden; }
.lgs-meter > span { display: block; height: 100%; border-radius: inherit; background: var(--lgs-red); }
.lgs-meter--thumb { position: absolute; left: 8px; right: 8px; bottom: 8px; }
.lgs-progress-summary { display: flex; align-items: center; gap: 12px; margin-top: 18px; font: 500 var(--lgs-fs-sm)/1.3 var(--lgs-font); color: var(--lgs-text-2); }
.lgs-progress-summary .lgs-meter { width: 160px; flex: none; }

/* Two columns: main + aside */
.lgs-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: clamp(24px, 4vw, 56px); align-items: start; margin-top: clamp(28px, 4vw, 44px); }
.lgs-panel-card { padding: 20px; border: 1px solid var(--lgs-line); border-radius: var(--lgs-radius-lg); background: var(--lgs-surface); }
.lgs-panel-card + .lgs-panel-card { margin-top: 16px; }
.lgs-panel-card__title { margin-bottom: 14px !important; font: 600 var(--lgs-fs-xs)/1.2 var(--lgs-font); letter-spacing: .16em; text-transform: uppercase; color: var(--lgs-muted); }
.lgs-panel-card--flush { padding: 0; overflow: hidden; }
.lgs-prose { font: 400 var(--lgs-fs-md)/1.65 var(--lgs-font); color: var(--lgs-text-2); }
.lgs-prose p + p { margin-top: .9em; }
.lgs-prose a { color: var(--lgs-text); text-decoration: underline; text-underline-offset: 3px; }
.lgs-prose strong { color: var(--lgs-text); }
[data-lgs-clamp].is-clamped { max-height: 10.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
.lgs-more { margin-top: 8px; padding: 6px 0; border: 0; background: none; color: var(--lgs-text); font: 600 var(--lgs-fs-sm)/1 var(--lgs-font); cursor: pointer; }

/* Lessons */
.lgs-lessons__module { margin: 22px 0 8px !important; font: 600 var(--lgs-fs-sm)/1.3 var(--lgs-font); letter-spacing: .08em; text-transform: uppercase; color: var(--lgs-text-2); }
.lgs-lessons__module:first-child { margin-top: 0 !important; }
.lgs-lessons__list { display: flex; flex-direction: column; gap: 2px; }
.lgs-lesson__link { display: grid; grid-template-columns: 2.2em clamp(132px, 13vw, 176px) minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 10px 12px; border-radius: var(--lgs-radius); transition: background .2s; }
.lgs-lesson__link:hover { background: rgba(255, 255, 255, .05); }
.lgs-lesson.is-current .lgs-lesson__link { background: rgba(255, 255, 255, .08); box-shadow: inset 3px 0 0 var(--lgs-red); }
.lgs-lesson__num { font: 600 1.2rem/1 var(--lgs-serif); color: var(--lgs-muted); text-align: center; }
.lgs-lesson__thumb { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--lgs-radius-sm); background: var(--lgs-surface-2); box-shadow: 0 0 0 1px var(--lgs-line) inset; }
.lgs-lesson__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lgs-lesson__art { position: absolute; inset: 0; display: grid; place-items: center; background: radial-gradient(100% 90% at 85% 0%, hsl(var(--lgs-hue) 55% 30% / .9), transparent 65%), linear-gradient(160deg, hsl(var(--lgs-hue) 35% 13%), #0b0b0f 80%); color: hsl(var(--lgs-hue) 70% 76%); }
.lgs-lesson__art .lgs-icon { width: 26px; height: 26px; opacity: .9; }
.lgs-lesson__title { display: block; font: 600 var(--lgs-fs-md)/1.35 var(--lgs-font); color: var(--lgs-text); }
.lgs-lesson__meta { display: block; margin-top: 4px; font: 500 var(--lgs-fs-sm)/1.3 var(--lgs-font); color: var(--lgs-muted); }
.lgs-lesson.is-current .lgs-lesson__meta { color: var(--lgs-red-hi); }
.lgs-lesson__state { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--lgs-line-2); border-radius: 50%; color: var(--lgs-text-2); transition: background .2s, color .2s; }
.lgs-lesson__state .lgs-icon { width: 18px; height: 18px; }
.lgs-lesson__link:hover .lgs-lesson__state { background: var(--lgs-text); color: var(--lgs-bg); }
.lgs-lesson.is-locked .lgs-lesson__link:hover .lgs-lesson__state { background: rgba(255, 255, 255, .1); color: var(--lgs-text); }
.lgs-lessons--compact .lgs-lesson__link { grid-template-columns: 2em minmax(0, 1fr) auto; gap: 12px; padding: 10px; }
.lgs-lessons--compact .lgs-lesson__num { font-size: 1rem; }
.lgs-lessons--compact .lgs-lesson__title { font-size: var(--lgs-fs-sm); }
.lgs-lessons--compact .lgs-lesson__meta { font-size: var(--lgs-fs-xs); }
.lgs-lessons--compact .lgs-meter { margin-top: 6px; }
.lgs-lessons--compact .lgs-lesson__state { width: 32px; height: 32px; }
.lgs-lessons--compact .lgs-lesson__state .lgs-icon { width: 14px; height: 14px; }

/* Player stage and restriction panel */
.lgs-watch__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 400px); gap: clamp(24px, 3vw, 40px); align-items: start; }
.lgs-watch__grid:not(:has(.lgs-watch__aside)) { grid-template-columns: minmax(0, 1120px); justify-content: center; }
.lgs-watch__stage { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--lgs-radius-lg); background: #000; box-shadow: 0 0 0 1px var(--lgs-line) inset, var(--lgs-shadow); }
.lgs-player, .lgs-player:not(.lgs-player--presto) iframe, .lgs-player:not(.lgs-player--presto) video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lgs-player:not(.lgs-player--presto) video { background: #000; }
/* 1.1.0: Presto Player fills the 16:9 stage; its own controls, fullscreen and sizing inside. */
.lgs-player--presto { display: flex; align-items: center; justify-content: center; }
.lgs-player--presto > * { width: 100%; max-height: 100%; margin: 0 !important; }
.lgs-player__empty { display: grid; place-items: center; height: 100%; padding: 24px; text-align: center; color: var(--lgs-muted); }
.lgs-locked { position: absolute; inset: 0; isolation: isolate; display: grid; place-items: center; padding: 24px; text-align: center; }
.lgs-locked__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: blur(3px) brightness(.45); transform: scale(1.06); }
.lgs-locked::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 90% at 50% 50%, rgba(8, 8, 11, .45), rgba(8, 8, 11, .92)); }
.lgs-locked__icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 16px; border: 1px solid var(--lgs-line-2); border-radius: 50%; background: rgba(255, 255, 255, .08); }
.lgs-locked__icon .lgs-icon { width: 24px; height: 24px; }
.lgs-locked__title { font: 700 var(--lgs-fs-2xl)/1.15 var(--lgs-serif); text-wrap: balance; }
.lgs-locked__text { max-width: 46ch; margin: 10px auto 0 !important; color: var(--lgs-text-2); line-height: 1.55; }
.lgs-locked__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }
.lgs-watch__info { padding-top: 24px; }
.lgs-watch__kicker { display: block; margin-bottom: 10px; font: 600 var(--lgs-fs-xs)/1 var(--lgs-font); letter-spacing: .18em; text-transform: uppercase; color: var(--lgs-red-hi); }
.lgs-watch__title { font: 700 clamp(1.6rem, 1.2rem + 1.5vw, 2.5rem)/1.12 var(--lgs-serif); letter-spacing: -.005em; text-wrap: balance; }
.lgs-watch__title--lg { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.4rem); }
.lgs-watch__meta { margin-top: 10px !important; font: 500 var(--lgs-fs-sm)/1.4 var(--lgs-font); color: var(--lgs-text-2); }
.lgs-watch__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.lgs-watch__about { max-width: 72ch; margin-top: 24px; }
.lgs-watch__aside { position: sticky; top: calc(var(--lgs-header-h) + 16px); }
.lgs-watch__aside-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 18px 18px 10px; }
.lgs-watch__aside-head .lgs-panel-card__title { margin: 0 !important; }
.lgs-watch__aside-list { position: relative; max-height: min(64vh, 660px); overflow-y: auto; padding: 0 8px 12px; scrollbar-width: thin; scrollbar-color: var(--lgs-line-2) transparent; }
.lgs-watch .lgs-section { margin-top: clamp(32px, 5vw, 56px); }

/* People */
.lgs-people-list { display: flex; flex-direction: column; gap: 2px; }
.lgs-person-row { color: var(--lgs-text) !important; display: flex; align-items: center; gap: 12px; margin: 0 -8px; padding: 8px; border-radius: var(--lgs-radius); }
.lgs-person-row:hover { background: rgba(255, 255, 255, .05); }
.lgs-person-row__avatar { display: grid; place-items: center; flex: none; overflow: hidden; width: 44px; height: 44px; border-radius: 50%; background: var(--lgs-surface-2); box-shadow: 0 0 0 1px var(--lgs-line-2) inset; font: 700 1.1rem/1 var(--lgs-serif); }
.lgs-person-row__avatar img { width: 100%; height: 100%; object-fit: cover; }
.lgs-person-row strong { display: block; font: 600 var(--lgs-fs-md)/1.3 var(--lgs-font); }
.lgs-person-row small { display: block; margin-top: 2px; font: 500 var(--lgs-fs-sm)/1.3 var(--lgs-font); color: var(--lgs-muted); }
.lgs-person-row > .lgs-icon { width: 18px; height: 18px; margin-left: auto; color: var(--lgs-muted); }
.lgs-person__head { position: relative; isolation: isolate; padding-bottom: clamp(16px, 3vw, 32px); }
.lgs-person__head::before { content: ""; position: absolute; inset: calc(-1 * var(--lgs-header-h) - 28px) 0 0; z-index: -1; background: radial-gradient(60% 90% at 15% 0%, hsl(var(--lgs-hue) 55% 22% / .7), transparent 70%); }
.lgs-person__inner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(20px, 4vw, 48px); align-items: center; }
.lgs-person__photo { display: grid; place-items: center; overflow: hidden; width: clamp(120px, 15vw, 196px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 25%, hsl(var(--lgs-hue) 50% 32%), #121216 75%); box-shadow: 0 0 0 1px var(--lgs-line-2), var(--lgs-shadow); }
.lgs-person__photo img { width: 100%; height: 100%; object-fit: cover; }
.lgs-person__photo span { font: 700 clamp(3rem, 2rem + 3vw, 5rem)/1 var(--lgs-serif); }
.lgs-person__text .lgs-prose { max-width: 70ch; margin-top: 16px; }

/* Catalog pages */
.lgs-page-head { padding-bottom: clamp(4px, 1vw, 12px); }
.lgs-page-title { font: 700 clamp(2.1rem, 1.4rem + 2.6vw, 3.6rem)/1.04 var(--lgs-serif); letter-spacing: -.01em; text-wrap: balance; }
.lgs-page-lead { max-width: 62ch; margin-top: 12px !important; font: 400 var(--lgs-fs-lg)/1.55 var(--lgs-font); color: var(--lgs-text-2); }
.lgs-chips { display: flex; gap: 8px; margin: 24px calc(-1 * var(--lgs-gutter)) 0; padding: 0 var(--lgs-gutter) 4px; overflow-x: auto; scrollbar-width: none; }
.lgs-chips::-webkit-scrollbar { display: none; }
.lgs-chip-link { display: inline-flex; flex: none; align-items: center; gap: 8px; height: 38px; padding: 0 16px; border: 1px solid var(--lgs-line-2); border-radius: 999px; color: var(--lgs-text-2) !important; font: 600 var(--lgs-fs-sm)/1 var(--lgs-font); transition: background .2s, color .2s; }
.lgs-chip-link:hover { background: rgba(255, 255, 255, .07); color: var(--lgs-text) !important; }
.lgs-chip-link[aria-current] { border-color: var(--lgs-text); background: var(--lgs-text); color: var(--lgs-bg) !important; }
.lgs-chip-link .lgs-dot { width: 8px; height: 8px; margin: 0; box-shadow: none; }
.lgs-tabs { display: flex; gap: 22px; margin-top: 20px; border-bottom: 1px solid var(--lgs-line); }
.lgs-tabs a { margin-bottom: -1px; padding: 10px 0; border-bottom: 2px solid transparent; color: var(--lgs-muted) !important; font: 600 var(--lgs-fs-sm)/1 var(--lgs-font); }
.lgs-tabs a[aria-current] { border-color: var(--lgs-red); color: var(--lgs-text) !important; }
.lgs-grid { --lgs-col: clamp(146px, 13vw, 204px); display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--lgs-col), 1fr)); gap: clamp(18px, 1.8vw, 28px) clamp(10px, 1vw, 16px); }
.lgs-grid--landscape { --lgs-col: clamp(250px, 22vw, 340px); }
.lgs-grid--people { --lgs-col: clamp(112px, 9vw, 140px); }
.lgs-grid--subjects { --lgs-col: clamp(260px, 26vw, 400px); }
.lgs-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 36px; }
.lgs-pagination a { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid var(--lgs-line-2); border-radius: var(--lgs-radius-sm); font-weight: 600; }
.lgs-pagination a[aria-current] { border-color: var(--lgs-text); background: var(--lgs-text); color: var(--lgs-bg) !important; }

/* Feature (one or two titles): editorial instead of an empty grid */
.lgs-features { display: grid; gap: clamp(16px, 2vw, 24px); }
.lgs-feature { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); overflow: hidden; border: 1px solid var(--lgs-line); border-radius: var(--lgs-radius-lg); background: var(--lgs-surface); }
.lgs-feature__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--lgs-surface-2); }
.lgs-feature__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--lgs-ease); }
.lgs-feature:hover .lgs-feature__media img { transform: scale(1.03); }
.lgs-feature__media .lgs-art { padding: clamp(16px, 2.4vw, 28px); }
.lgs-feature__media .lgs-art__title { font-size: clamp(1.4rem, 1rem + 1.4vw, 2.2rem); max-width: 80%; }
.lgs-feature__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: clamp(20px, 3vw, 40px); }
.lgs-feature__meta { font: 600 var(--lgs-fs-xs)/1.4 var(--lgs-font); letter-spacing: .14em; text-transform: uppercase; color: var(--lgs-text-2); }
.lgs-feature__title a { color: var(--lgs-text) !important; }
.lgs-feature__title { font: 700 var(--lgs-fs-2xl)/1.1 var(--lgs-serif); text-wrap: balance; }
.lgs-feature__subtitle { font: italic 400 var(--lgs-fs-lg)/1.35 var(--lgs-serif); color: var(--lgs-text-2); }
.lgs-feature__excerpt { max-width: 56ch; color: var(--lgs-text-2); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.lgs-feature .lgs-btn { margin-top: 8px; }
@media (min-width: 1100px) {
	.lgs-features:has(> :nth-child(2)) { grid-template-columns: 1fr 1fr; }
	.lgs-features:has(> :nth-child(2)) .lgs-feature { grid-template-columns: 1fr; }
}

/* Subject band */
.lgs-band { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(380px, 54vh, 540px); padding-top: var(--lgs-header-h); overflow: hidden; }
.lgs-band__media { position: absolute; inset: 0; z-index: -2; }
.lgs-band__media img { width: 100%; height: 100%; object-fit: cover; }
.lgs-band__content { padding-bottom: clamp(28px, 5vh, 56px); }
.lgs-band__title { font: 700 clamp(2.6rem, 1.4rem + 4.4vw, 5rem)/1 var(--lgs-serif); letter-spacing: -.01em; text-wrap: balance; }
.lgs-band__tagline { margin-top: 10px !important; font: italic 400 var(--lgs-fs-xl)/1.3 var(--lgs-serif); color: var(--lgs-text-2); }
.lgs-band + .lgs-block, .lgs-band + .lgs-section { margin-top: clamp(20px, 3vw, 32px); }

/* Empty state */
.lgs-empty-state { position: relative; overflow: hidden; padding: clamp(40px, 6vw, 80px) 24px; border: 1px solid var(--lgs-line); border-radius: var(--lgs-radius-lg); background: radial-gradient(80% 120% at 50% 0%, rgba(195, 20, 29, .12), transparent 60%), var(--lgs-bg-2); text-align: center; }
.lgs-empty-state__mark { display: block; width: 64px; height: 64px; margin: 0 auto 18px; background: var(--lgs-mark) center / contain no-repeat; }
.lgs-empty-state__title { max-width: 26ch; margin-inline: auto !important; font: 700 var(--lgs-fs-2xl)/1.15 var(--lgs-serif); text-wrap: balance; }
.lgs-empty-state__text { max-width: 52ch; margin: 12px auto 0 !important; color: var(--lgs-text-2); line-height: 1.55; }
.lgs-empty-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }

@media (max-width: 899.98px) {
	.lgs-detail, .lgs-watch__grid { grid-template-columns: minmax(0, 1fr); }
	.lgs-watch__aside { position: static; }
	.lgs-watch__aside-list { max-height: none; }
	.lgs-watch__stage { margin-inline: calc(-1 * var(--lgs-gutter)); border-radius: 0; }
	.lgs-watch__stage:has(.lgs-locked) { aspect-ratio: auto; min-height: 360px; }
	.lgs-watch { padding-top: var(--lgs-header-h); }
	.lgs-lesson__link { grid-template-columns: 112px minmax(0, 1fr) auto; gap: 12px; padding: 8px 4px; }
	.lgs-lessons:not(.lgs-lessons--compact) .lgs-lesson__num { display: none; }
	.lgs-lesson__state { width: 34px; height: 34px; }
	.lgs-lesson__title { font-size: var(--lgs-fs-sm); }
	.lgs-lesson__meta { font-size: var(--lgs-fs-xs); }
	.lgs-feature { grid-template-columns: minmax(0, 1fr); }
	.lgs-person__inner { grid-template-columns: minmax(0, 1fr); }
	.lgs-person__photo { width: 112px; }
	.lgs-progress-summary .lgs-meter { width: 110px; }
	.lgs-hero--detail { min-height: min(84vh, 680px); }
}

/* Logos Search page: the plugin's markup in the theme's look */
.lgs-owned .logos-search-page { padding-top: calc(var(--lgs-header-h) + 16px); background: none; color: var(--lgs-text); font-family: var(--lgs-font); }
.lgs-owned .logos-search-native-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(clamp(146px, 13vw, 204px), 1fr)); gap: clamp(18px, 1.8vw, 28px) clamp(10px, 1vw, 16px); }
.lgs-owned .logos-search-native-card { min-width: 0; }
.lgs-owned .logos-search-native-card :where(h3, p) { margin: 0; }

/* 11. Watch, read, listen (module E) ---------------------------------------------- */
/* "Continue" card: one 16:9 frame for every format */
.lgs-rail--continue { --lgs-col: clamp(260px, 24vw, 360px); }
.lgs-grid--continue { --lgs-col: clamp(260px, 24vw, 340px); }
.lgs-grid--book { --lgs-col: clamp(132px, 11vw, 176px); }
.lgs-grid--square { --lgs-col: clamp(150px, 13vw, 200px); }
.lgs-cc { min-width: 0; }
.lgs-cc__link { display: block; border-radius: var(--lgs-radius); }
.lgs-cc__media { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--lgs-radius); background: var(--lgs-surface); box-shadow: 0 0 0 1px var(--lgs-line) inset; transition: transform .3s var(--lgs-ease), box-shadow .3s var(--lgs-ease); }
.lgs-cc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lgs-cc__bg { position: absolute; inset: -12%; width: 124%; height: 124%; object-fit: cover; filter: blur(18px) saturate(1.2) brightness(.55); }
.lgs-cc__cover { position: absolute; left: 7%; top: 12%; bottom: 16%; width: auto; height: 72%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 4px; box-shadow: 0 10px 24px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .08); }
.lgs-cc--listen .lgs-cc__cover { aspect-ratio: 1; border-radius: 6px; }
.lgs-cc__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8, 8, 11, .85), rgba(8, 8, 11, 0) 55%); pointer-events: none; }
.lgs-cc__kind { position: absolute; top: 8px; right: 8px; z-index: 1; display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border-radius: 999px; background: rgba(8, 8, 11, .72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font: 600 .7rem/1 var(--lgs-font); letter-spacing: .04em; color: var(--lgs-text); }
.lgs-cc__kind .lgs-icon { width: 13px; height: 13px; }
.lgs-cc__play { position: absolute; right: 12px; bottom: 16px; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--lgs-text); color: var(--lgs-bg); opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
.lgs-cc__play .lgs-icon { width: 18px; height: 18px; }
.lgs-cc__meter { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; height: 4px; border-radius: 0; background: rgba(255, 255, 255, .22); }
.lgs-cc .lgs-art__top > span { display: none; } /* the context is printed under the card */
.lgs-cc .lgs-art__title { max-width: 72%; font-size: clamp(.95rem, .8rem + .6vw, 1.3rem); -webkit-line-clamp: 2; }
.lgs-cc__body { display: block; padding: 10px 2px 0; }
.lgs-cc__title { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; font: 600 .9375rem/1.3 var(--lgs-font); color: var(--lgs-text); }
.lgs-cc__meta { display: block; margin-top: 3px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 500 .8rem/1.35 var(--lgs-font); color: #a8a195; }
@media (hover: hover) {
	.lgs-cc__link:hover .lgs-cc__media { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--lgs-line-2) inset, var(--lgs-shadow); }
	.lgs-cc__link:hover .lgs-cc__play { opacity: 1; transform: none; }
}

/* Book and audiobook pages */
.lgs-media-page { position: relative; isolation: isolate; overflow: hidden; }
.lgs-media-page__glow { position: absolute; inset: 0 0 auto; z-index: -1; height: min(760px, 90vh); overflow: hidden; pointer-events: none; }
.lgs-media-page__glow img { width: 100%; height: 100%; object-fit: cover; filter: blur(60px) saturate(1.3) brightness(.38); transform: scale(1.2); opacity: .9; }
.lgs-media-page__glow::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(8, 8, 11, .2), var(--lgs-bg) 92%); }
.lgs-media-hero { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: end; padding-block: clamp(12px, 3vw, 40px) clamp(24px, 4vw, 48px); }
.lgs-media-hero__cover { position: relative; overflow: hidden; width: clamp(180px, 20vw, 300px); border-radius: 8px; background: var(--lgs-surface); box-shadow: 0 30px 60px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .08); }
.lgs-media-hero__cover--book { aspect-ratio: 2 / 3; }
.lgs-media-hero__cover--audio { aspect-ratio: 1; width: clamp(200px, 22vw, 320px); border-radius: var(--lgs-radius-lg); }
.lgs-media-hero__cover img { width: 100%; height: 100%; object-fit: cover; }
.lgs-media-hero__title { margin-top: 6px !important; font: 700 clamp(2rem, 1.3rem + 2.6vw, 3.6rem)/1.05 var(--lgs-serif); letter-spacing: -.01em; text-wrap: balance; }
.lgs-media-hero__by { margin-top: 10px !important; font: italic 400 var(--lgs-fs-xl)/1.3 var(--lgs-serif); color: var(--lgs-text-2); }
.lgs-media-hero__facts { margin-top: 10px !important; font: 500 var(--lgs-fs-sm)/1.4 var(--lgs-font); color: var(--lgs-text-2); }
.lgs-media-hero__facts:empty { display: none; }
.lgs-media-hero__cta { margin-top: 22px; }
.lgs-media-hero__cta .lgs-hero__actions { margin-top: 16px; align-items: center; }
.lgs-media-hero__hint { max-width: 56ch; margin-top: 12px !important; color: var(--lgs-muted); font-size: var(--lgs-fs-sm); }
.lgs-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px !important; }
.lgs-tags a { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 1px solid var(--lgs-line-2); border-radius: 999px; color: var(--lgs-text-2) !important; font: 600 .78rem/1 var(--lgs-font); }
.lgs-tags a:hover { background: rgba(255, 255, 255, .07); color: var(--lgs-text) !important; }
.lgs-notice { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border: 1px solid rgba(225, 38, 47, .4); border-radius: var(--lgs-radius); background: rgba(195, 20, 29, .12); color: var(--lgs-text); font-weight: 600; }
.lgs-notice .lgs-icon { width: 18px; height: 18px; color: var(--lgs-red-hi); }
.lgs-details { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--lgs-line); }
.lgs-details dt { font: 600 var(--lgs-fs-xs)/1.2 var(--lgs-font); letter-spacing: .14em; text-transform: uppercase; color: var(--lgs-muted); }
.lgs-details dd { margin: 4px 0 0; color: var(--lgs-text); }
.lgs-media-body { display: grid; gap: clamp(28px, 4vw, 44px); max-width: 920px; margin-inline: auto; margin-block: clamp(8px, 2vw, 16px) clamp(24px, 4vw, 44px); }
.lgs-media-body__section .lgs-section__title, .lgs-listen .lgs-section__title { margin-bottom: 14px !important; }
.lgs-sample__text { padding: clamp(18px, 3vw, 32px); border-radius: var(--lgs-radius-lg); background: #f3eee4; color: #1d1a16; font: 400 1.075rem/1.75 var(--lgs-serif); }
.lgs-sample__text p + p { margin-top: .9em; }

/* Audiobook player (plugin) in the theme's colors: only its own CSS variables are set */
.lgs-listen__player { --logos-audio-accent: var(--lgs-red); --logos-audio-bg: var(--lgs-surface); --logos-audio-card: var(--lgs-surface-2); --logos-audio-muted: var(--lgs-muted); }
.lgs-listen__player .logos-audio-player { margin: 0; border: 1px solid var(--lgs-line); border-radius: var(--lgs-radius-lg); }

@media (max-width: 899.98px) {
	.lgs-media-hero { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.lgs-media-hero__cover { width: min(58vw, 230px); }
	.lgs-media-hero__cover--audio { width: min(66vw, 260px); }
	.lgs-media-hero .lgs-eyebrow, .lgs-tags, .lgs-media-hero__cta .lgs-hero__actions, .lgs-details, .lgs-media-hero .lgs-progress-summary { justify-content: center; }
	.lgs-media-hero__hint { margin-inline: auto !important; }
	.lgs-rail--continue { --lgs-col: 78vw; }
	.lgs-grid--continue { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; }
	.lgs-grid--continue .lgs-cc__kind { top: 6px; right: 6px; height: 20px; padding: 0 7px; font-size: .62rem; }
	.lgs-grid--continue .lgs-cc__play { display: none; }
	.lgs-grid--continue .lgs-cc__title { font-size: .875rem; }
	.lgs-grid--continue .lgs-cc__meta { font-size: .74rem; white-space: normal; }
}


/* 0.5.0 — small-screen fixes found by the responsive test (375 px) */
.lgs-media-body > *, .lgs-listen__player { min-width: 0; } /* grid items: the plugin's player must shrink, not overflow */
.lgs-listen__player .logos-audio-player { max-width: 100%; }
.lgs-owned .logos-search-form { max-width: 100%; }
.lgs-owned .logos-search-form input[type="search"] { min-width: 0; flex: 1 1 auto; }
.lgs-owned .logos-search-form button { flex: 0 0 auto; }
@media (max-width: 420px) {
	.lgs-owned .logos-search-form button { padding-inline: 14px; }
}

/* 1.0 — WordPress content without a parent theme (page.php, single.php, archive.php, search.php, 404.php) */
.lgs-content__body { padding-block: 0 var(--lgs-space-8); }
.lgs-content__body.lgs-prose, .lgs-article .lgs-prose { max-width: 76ch; }
.lgs-prose :is(h2, h3, h4) { margin: 1.6em 0 .5em; font-family: var(--lgs-serif); color: var(--lgs-text); line-height: 1.2; }
.lgs-prose :is(ul, ol) { margin: .8em 0; padding-left: 1.3em; }
.lgs-prose li + li { margin-top: .35em; }
.lgs-prose img { max-width: 100%; height: auto; border-radius: var(--lgs-radius); }
.lgs-content__heading { margin: 1.4em 0 .5em; font: 700 var(--lgs-fs-2xl)/1.15 var(--lgs-serif); color: var(--lgs-text); }
.lgs-content__figure { margin: 0 0 var(--lgs-space-6); }
.lgs-content__figure img { width: 100%; height: auto; border-radius: var(--lgs-radius-lg); }
.lgs-content__elementor { color: var(--lgs-text); }
.lgs-article { padding-bottom: var(--lgs-space-6); }
.lgs-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--lgs-space-5); }
.lgs-post-card a { display: block; color: inherit; text-decoration: none; }
.lgs-post-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--lgs-radius); background: var(--lgs-surface); }
.lgs-post-card__title { margin: 12px 0 4px; font: 700 var(--lgs-fs-xl)/1.2 var(--lgs-serif); color: var(--lgs-text); }
.lgs-post-card__meta { font-size: var(--lgs-fs-xs); color: var(--lgs-muted); }
.lgs-post-card__excerpt { margin-top: 6px; font-size: var(--lgs-fs-sm); line-height: 1.5; color: var(--lgs-text-2); }
.lgs-notfound__inner { padding-block: clamp(48px, 14vh, 140px); text-align: center; }
.lgs-notfound .lgs-page-lead { margin-inline: auto; }
.lgs-notfound .lgs-hero__actions { justify-content: center; }
.lgs-chips--wrap { flex-wrap: wrap; overflow: visible; }
.lgs-comments { padding-block: var(--lgs-space-6); max-width: 76ch; color: var(--lgs-text-2); }
.lgs-comments :is(input, textarea) { width: 100%; padding: 10px 12px; border: 1px solid var(--lgs-line-2); border-radius: var(--lgs-radius); background: var(--lgs-bg-2); color: var(--lgs-text); }
.lgs-comments .submit { width: auto; background: var(--lgs-red); color: #fff; border: 0; font-weight: 700; cursor: pointer; }
.lgs-notfound .lgs-eyebrow { justify-content: center; }
@media (max-width: 899.98px) {
	.lgs-brand { gap: 9px; }
	.lgs-brand__mark { width: 46px; height: 46px; } /* 1.0.4: 38 → 46 px */
	.lgs-brand__logos { font-size: 1.38rem; }
	.lgs-brand__editorial { font-size: .56rem; margin-top: 4px; }
}
.lgs-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }

/* 1.0.4: footer conversion band, app install, language selector with flags ---------------------------- */
.lgs-footer__cta { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 20px 48px; padding-block: 40px; border-bottom: 1px solid var(--lgs-line); }
.lgs-footer__cta-title { margin: 0; font: 700 clamp(1.35rem, 2.2vw, 1.9rem)/1.2 var(--lgs-serif); color: var(--lgs-text); text-wrap: balance; }
.lgs-footer__cta-text { margin: 8px 0 0; color: var(--lgs-text-2); }
.lgs-cta-form { display: flex; gap: 10px; }
.lgs-cta-form__input { flex: 1; min-width: 0; height: 48px; padding: 0 16px; border: 1px solid var(--lgs-line-2); border-radius: var(--lgs-radius-sm); background: var(--lgs-bg); color: var(--lgs-text); font: 400 var(--lgs-fs-md)/1 var(--lgs-font); }
.lgs-cta-form__input:focus { outline: none; border-color: var(--lgs-text-2); }
.lgs-cta-form .lgs-btn { height: 48px; white-space: nowrap; }
.lgs-footer__cta-note { grid-column: 2; margin: -8px 0 0; color: var(--lgs-muted); font-size: var(--lgs-fs-xs); }
.lgs-app { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; padding: 10px 14px 10px 10px; border: 1px solid var(--lgs-line-2); border-radius: var(--lgs-radius); color: var(--lgs-text) !important; transition: border-color .2s, background-color .2s; }
.lgs-app:hover { border-color: var(--lgs-text-2); background: rgba(255, 255, 255, .04); }
.lgs-app__icon { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--lgs-mark) center / 76% no-repeat, linear-gradient(160deg, #1d1d24, #0b0b0f); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.lgs-app__text { display: flex; flex-direction: column; line-height: 1.25; }
.lgs-app__text strong { font-size: var(--lgs-fs-sm); }
.lgs-app__text small { color: var(--lgs-muted); font-size: var(--lgs-fs-xs); }
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) { .lgs-app { display: none; } } /* already installed */
.lgs-flag { display: inline-block; flex: none; width: 21px; height: 14px; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(255, 255, 255, .14); vertical-align: middle; }
.lgs-languages { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.lgs-languages a { display: inline-flex; align-items: center; min-height: 28px; padding: 0 8px; border-radius: var(--lgs-radius-sm); color: var(--lgs-muted) !important; font: 600 var(--lgs-fs-xs)/1 var(--lgs-font); letter-spacing: .06em; }
.lgs-languages a:hover, .lgs-languages a[aria-current="true"] { color: var(--lgs-text) !important; }
.lgs-languages a[aria-current="true"] { background: rgba(255, 255, 255, .08); }
.lgs-panel__langs { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--lgs-line); }
.lgs-languages--menu a { min-height: 36px; padding: 0 12px; }
.lgs-lang__caret { width: 14px; height: 14px; transition: transform .2s; }
.lgs-lang[open] .lgs-lang__caret { transform: rotate(180deg); }
.lgs-lang { position: relative; }
.lgs-lang > summary { display: inline-flex; align-items: center; gap: 4px; height: 36px; padding: 0 10px; border-radius: var(--lgs-radius-sm); list-style: none; cursor: pointer; color: var(--lgs-text-2); font: 600 var(--lgs-fs-xs)/1 var(--lgs-font); letter-spacing: .06em; text-transform: uppercase; }
.lgs-lang > summary::-webkit-details-marker { display: none; }
.lgs-lang > summary:hover, .lgs-lang[open] > summary { background: rgba(255, 255, 255, .1); color: var(--lgs-text); }
.lgs-lang__menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 230; display: grid; min-width: 190px; padding: 6px; border: 1px solid var(--lgs-line); border-radius: var(--lgs-radius); background: rgba(13, 13, 17, .98); box-shadow: var(--lgs-shadow); }
.lgs-lang__menu a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--lgs-radius-sm); color: var(--lgs-text-2) !important; font-size: var(--lgs-fs-sm); }
.lgs-lang__menu a:hover { background: rgba(255, 255, 255, .06); color: var(--lgs-text) !important; }
.lgs-lang__menu a[aria-current="true"] { color: var(--lgs-text) !important; font-weight: 600; }
.lgs-notfound__original { margin-top: 18px !important; }
@media (max-width: 899.98px) {
	.lgs-footer__cta { grid-template-columns: 1fr; gap: 16px; padding-block: 32px; }
	.lgs-footer__cta-note { grid-column: 1; margin-top: -4px; }
	.lgs-cta-form { flex-direction: column; }
	.lgs-cta-form__input { flex: none; width: 100%; }
	.lgs-cta-form .lgs-btn { width: 100%; }
}
/* 1.0.5: "Conteúdo em português" on the other language domains */
.lgs-chip--lang { display: inline-flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, .12); color: var(--lgs-text); letter-spacing: .06em; }
.lgs-media-hero__info > .lgs-chip--lang, .lgs-watch__info > .lgs-chip--lang { margin-bottom: 12px; }
