/* Shop ([lg_shop]) and magazine ([lg_magazine]), brand v3.1. Builds on portal.css + home.css (cover, books, reading, shelf, FAQ). Mobile-first. */
@layer lg.portal {
	/* ---------- Cover for inner pages: shorter than the home cover ---------- */
	.lg-cover--page .lg-cover__top { min-height: 0; padding-block: var(--lg-s-8) var(--lg-s-6); }
	.lg-cover--page .lg-cover__de { font-size: clamp(2.6rem, 8.4vw, 7.2rem); max-width: 14ch; }
	.lg-cover--page .lg-cover__en--up { margin-bottom: var(--lg-s-5); font-size: clamp(2rem, 6vw, 4.8rem); max-width: 20ch; }
	.lg-magazine__intro { max-width: 52ch; margin-bottom: var(--lg-s-6); }

	/* ---------- Shop: book cards with a buy row ---------- */
	.lg-shop__book { display: flex; flex-direction: column; }
	.lg-shop__book .lg-book__link { flex: 1; align-content: start; }
	.lg-shop__summary { font: 500 var(--lg-fs-2)/1.45 var(--lg-font-text); max-width: 40ch; }
	.lg-shop__buy { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lg-s-3); padding: 0 var(--lg-s-4) var(--lg-s-4); }
	.lg-shop__buy .lg-book__price { margin-top: 0; }
	.lg-shop__add [data-when] { display: none; }
	.lg-shop__add:not([data-state]) [data-when="rest"], .lg-shop__add[data-state="busy"] [data-when="busy"], .lg-shop__add[data-state="done"] [data-when="done"] { display: inline; }
	.lg-shop__add[data-state="busy"] { pointer-events: none; opacity: .8; }
	.lg-shop__add[data-state="done"] { background: #000; color: #fff; border-color: #000; }
	.lg-shop__inside { display: inline-flex; align-items: center; min-height: var(--lg-target); color: var(--lg-text); font: 700 var(--lg-fs-2)/1 var(--lg-font-text); text-underline-offset: .2em; }
	.lg-shop__cartlink { gap: .5em; }
	.lg-shop__n { display: inline-grid; place-items: center; min-width: 1.6em; height: 1.6em; padding: 0 .3em; background: var(--lg-text); color: var(--lg-ground); font: 800 var(--lg-fs-1)/1 var(--lg-font-display); }
	.lg-shop__n[hidden] { display: none; }
	.lg-shop__n.is-bump { animation: lg-shop-bump calc(var(--lg-d-4) * var(--lg-motion)) var(--lg-ease-stamp); }
	@keyframes lg-shop-bump { 40% { transform: scale(1.35); } to { transform: none; } }
	.lg-shop__note:empty { display: none; }
	.lg-shop__note { margin-top: var(--lg-s-5); padding: var(--lg-s-4) var(--lg-s-5); background: #000; color: #fff; font-weight: 600; max-width: 60ch; }
	.lg-shop__note a { color: #fff; }

	/* ---------- Kolophon: the facts of every book, set like a book's last page ---------- */
	.lg-kolophon { padding-block: var(--lg-sheet); }
	.lg-kolophon__grid { display: grid; gap: var(--lg-s-7); }
	@media (min-width: 960px) { .lg-kolophon__grid { grid-template-columns: 1fr 1.4fr; align-items: start; } }
	.lg-kolophon h2 { max-width: 12ch; margin-block: var(--lg-s-4); }
	.lg-kolophon__list { margin: 0; border-top: 2px solid var(--lg-rule); }
	.lg-kolophon__list > div { display: grid; gap: 4px var(--lg-s-5); padding: var(--lg-s-4) 0; border-bottom: 2px solid var(--lg-rule); }
	@media (min-width: 600px) { .lg-kolophon__list > div { grid-template-columns: 8em 1fr; } }
	.lg-kolophon__list dt { display: flex; align-items: center; gap: .5em; font: 800 var(--lg-fs-2)/1.3 var(--lg-font-display); letter-spacing: .04em; text-transform: uppercase; color: var(--lg-text); }
	.lg-kolophon__list dt::before { content: ""; flex: none; width: 1.2em; height: .5em; background: var(--lg-ink-s); }
	.lg-kolophon__list dd { margin: 0; font-size: var(--lg-fs-4); line-height: 1.4; max-width: 46ch; }

	/* ---------- Two-column call bands (teams, books) ---------- */
	.lg-shop__teams, .lg-magazine__books { padding-block: var(--lg-sheet); }
	.lg-shop__teams-grid { display: grid; gap: var(--lg-s-6); }
	@media (min-width: 960px) { .lg-shop__teams-grid { grid-template-columns: 1.2fr 1fr; align-items: end; } }
	.lg-shop__teams h2, .lg-magazine__books h2 { max-width: 16ch; }
	.lg-shop__teams .lg-body, .lg-magazine__books .lg-body { margin-bottom: var(--lg-s-5); max-width: 46ch; }
	.lg-shop__teams .lg-btn--ghost, .lg-magazine__books .lg-btn--ghost { color: var(--lg-text); border-color: var(--lg-text); }

}

/* ===================== Magazine v2: "Die Ausgabe", a printed language magazine ===================== */
@layer lg.portal {
	.lg-mag2 { --mag-rule: 2px solid #000; }
	.lg-mag2 .lg-heft__tab { display: inline-block; flex: none; width: 1.5em; height: .62em; margin-right: .5em; background: #000; box-shadow: 0 0 0 1px #000; vertical-align: .05em; }
	.lg-mag2 [data-ground="red"]  { --lg-ground: var(--lg-red); --lg-de: #000; --lg-text: #000; --lg-quiet: #000; --lg-slab: #FFF; --lg-on-slab: #000; --lg-rule: #000; }
	.lg-mag2 [data-ground="mint"] { --lg-ground: var(--lg-mint); --lg-de: #000; --lg-text: #000; --lg-quiet: #000; --lg-slab: #FFF; --lg-on-slab: #000; --lg-rule: #000; }
	.lg-mag2 h1, .lg-mag2 h2 { hyphens: manual; }
	.lg-kiosk__grid > *, .lg-inhalt__grid > *, .lg-seite__grid > *, .lg-raetsel__grid > *, .lg-wortschatz__head > * { min-width: 0; }

	/* ---------- Kiosk: the cover lies on the counter ---------- */
	.lg-kiosk { padding-block: var(--lg-s-7) var(--lg-sheet); }
	.lg-kiosk__grid { display: grid; gap: var(--lg-s-7); align-items: center; }
	@media (min-width: 1000px) { .lg-kiosk__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--lg-s-8); } }
	.lg-kiosk__stage { perspective: 1400px; }
	.lg-heft { position: relative; display: grid; max-width: 560px; margin-inline: auto; background: #fff; color: #000; border: 3px solid #000; box-shadow: 10px 10px 0 #000; transform-origin: left center; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform calc(var(--lg-d-4) * var(--lg-motion)) var(--lg-ease-out); }
	.lg-heft.is-turning { transform: rotateY(-88deg); transition-duration: calc(650ms * var(--lg-motion)); transition-timing-function: cubic-bezier(.6, 0, .4, 1); }
	.lg-heft__mast { padding: var(--lg-s-4) var(--lg-s-4) var(--lg-s-3); background: var(--lg-ground); color: var(--lg-text); }
	.lg-heft__title { margin: 0; font: 900 clamp(2.4rem, 8vw, 3.6rem)/.82 var(--lg-font-display); letter-spacing: -0.055em; color: var(--lg-de); text-transform: uppercase; overflow-wrap: anywhere; }
	.lg-heft__strip { display: flex; flex-wrap: wrap; gap: .3em 1em; align-items: center; margin: var(--lg-s-3) 0 0; padding-top: var(--lg-s-2); border-top: 2px solid var(--lg-rule); font: 700 var(--lg-fs-1)/1.2 var(--lg-font-text); letter-spacing: .05em; text-transform: uppercase; }
	.lg-heft__strip b { margin-left: auto; padding: .35em .6em; background: #000; color: #fff; font: 900 var(--lg-fs-3)/1 var(--lg-font-display); letter-spacing: 0; }
	.lg-heft__img { aspect-ratio: 16 / 10; overflow: hidden; border-block: 3px solid #000; background: #000; }
	.lg-heft__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.lg-heft__lines { display: grid; gap: var(--lg-s-3); padding: var(--lg-s-4); }
	.lg-heft__kicker { margin: 0; font: 800 var(--lg-fs-1)/1 var(--lg-font-display); letter-spacing: .06em; text-transform: uppercase; }
	.lg-heft__lead { color: #000; text-decoration: none; font: 900 clamp(1.7rem, 5vw, 2.5rem)/.95 var(--lg-font-display); letter-spacing: -0.045em; text-wrap: balance; hyphens: auto; overflow-wrap: break-word; }
	.lg-heft__more { list-style: none; margin: 0; padding: 0; display: grid; border-top: 2px solid #000; }
	.lg-heft__more a { display: flex; align-items: baseline; gap: .2em; padding: .55em 0; border-bottom: 1px solid #000; color: #000; text-decoration: none; font: 800 var(--lg-fs-3)/1.15 var(--lg-font-display); letter-spacing: -0.015em; }
	.lg-heft__more a span:not(.lg-heft__tab) { flex: 1; min-width: 0; overflow-wrap: break-word; hyphens: auto; }
	.lg-heft__more i { flex: none; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); font-style: normal; }
	.lg-heft__plus { margin: 0; font: 700 var(--lg-fs-1)/1.3 var(--lg-font-text); }
	.lg-heft__foot { display: flex; justify-content: space-between; align-items: end; gap: var(--lg-s-3); padding: 0 var(--lg-s-4) var(--lg-s-4); }
	.lg-heft__inks { display: flex; }
	.lg-heft__inks i { width: 14px; height: 14px; }
	.lg-heft__code { display: grid; justify-items: end; gap: 2px; margin-right: 44px; }
	.lg-heft__bar { width: 92px; height: 34px; fill: #000; }
	.lg-heft__code small { font: 600 10px/1 var(--lg-font-text); letter-spacing: .1em; }
	@media (hover: hover) { .lg-heft__lead:hover, .lg-heft__more a:hover span:not(.lg-heft__tab) { text-decoration: underline; text-decoration-thickness: .08em; } }
	/* The dog-ear: the bottom corner folds up and shows the next page; press it to open the issue */
	.lg-heft__corner { position: absolute; right: -3px; bottom: -3px; width: 56px; height: 56px; display: grid; place-items: end; background: #000; clip-path: polygon(100% 0, 100% 100%, 0 100%); color: #fff; text-decoration: none; transition: width calc(var(--lg-d-2) * var(--lg-motion)) var(--lg-ease-out), height calc(var(--lg-d-2) * var(--lg-motion)) var(--lg-ease-out); }
	.lg-heft__corner span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.lg-heft__corner:focus-visible, .lg-heft__corner:active { width: 84px; height: 84px; }
	@media (hover: hover) { .lg-heft__corner:hover { width: 84px; height: 84px; } }
	.lg-kiosk__text h1 { display: grid; gap: var(--lg-s-3); margin: var(--lg-s-4) 0; font-size: clamp(2.6rem, 6vw, 5rem); line-height: .9; letter-spacing: -0.05em; }
	.lg-kiosk__en { font: 600 var(--lg-fs-4)/1.25 var(--lg-font-text); letter-spacing: 0; }
	.lg-kiosk__text .lg-body { max-width: 46ch; }
	.lg-kiosk__count { margin: var(--lg-s-5) 0; font: 600 var(--lg-fs-3)/1.3 var(--lg-font-text); }
	.lg-kiosk__count b { font: 900 var(--lg-fs-6)/1 var(--lg-font-display); letter-spacing: -0.03em; }

	/* ---------- Inhalt: big page numbers, rubric tabs, one rule per line ---------- */
	.lg-inhalt { padding-block: var(--lg-sheet); border-top: 3px solid #000; }
	.lg-inhalt__grid { display: grid; gap: var(--lg-s-6); }
	@media (min-width: 1000px) { .lg-inhalt__grid { grid-template-columns: 320px 1fr; gap: var(--lg-s-8); } .lg-inhalt__side { position: sticky; top: calc(var(--lg-subnav-top, 64px) + 24px); align-self: start; } }
	.lg-inhalt h2 { font-size: clamp(4rem, 11vw, 7rem); line-height: .8; letter-spacing: -0.07em; margin: 0; }
	.lg-inhalt__nr { margin: var(--lg-s-3) 0 var(--lg-s-5); font: 800 var(--lg-fs-3)/1.2 var(--lg-font-display); }
	.lg-inhalt__label { font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; margin-bottom: var(--lg-s-2); }
	.lg-inhalt__rubrics { display: flex; flex-wrap: wrap; gap: 6px; }
	.lg-inhalt__rubrics button { display: inline-flex; align-items: center; min-height: 40px; padding: 0 .8em; border: 2px solid #000; background: #fff; color: #000; font: 700 var(--lg-fs-2)/1 var(--lg-font-display); cursor: pointer; }
	.lg-inhalt__rubrics small { margin-left: .4em; font-weight: 600; }
	@media (max-width: 999px) { .lg-inhalt__rubrics { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; margin-inline: calc(var(--lg-gutter) * -1); padding-inline: var(--lg-gutter); } .lg-inhalt__rubrics button { flex: none; white-space: nowrap; } }
	.lg-inhalt__rubrics button[aria-pressed="true"] { background: #000; color: #fff; }
	@media (hover: hover) { .lg-inhalt__rubrics button:hover { box-shadow: inset 0 -4px 0 #000; } }
	.lg-inhalt__list { list-style: none; margin: 0; padding: 0; border-top: 3px solid #000; counter-reset: none; }
	.lg-inhalt__list li { border-bottom: 1px solid #000; transition: opacity calc(var(--lg-d-2) * var(--lg-motion)); }
	.lg-inhalt__list a { display: grid; grid-template-columns: clamp(3rem, 7vw, 5rem) 1fr; gap: var(--lg-s-4); padding: var(--lg-s-4) 0; color: #000; text-decoration: none; }
	.lg-inhalt__page { font: 900 clamp(2rem, 5vw, 3.4rem)/.85 var(--lg-font-display); letter-spacing: -0.05em; text-align: right; font-variant-numeric: tabular-nums; }
	.lg-inhalt__body { display: grid; gap: 6px; min-width: 0; }
	.lg-inhalt__rubric { font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-inhalt__title { font: 900 var(--lg-fs-5)/1 var(--lg-font-display); letter-spacing: -0.035em; text-wrap: balance; hyphens: auto; overflow-wrap: break-word; }
	.lg-inhalt__meta { font: 500 var(--lg-fs-2)/1.3 var(--lg-font-text); color: var(--lg-grey); }
	@media (hover: hover) { .lg-inhalt__list a:hover .lg-inhalt__title { text-decoration: underline; text-decoration-thickness: .07em; } }
	.lg-inhalt__list a:active { background: #f2f2f2; }
	[data-rubrik-on] .lg-inhalt__list li:not(.is-hit) { opacity: .28; }

	/* ---------- Article pages: running head with folio, main column + margin ---------- */
	.lg-seite { padding-block: var(--lg-s-7) var(--lg-s-8); border-top: 3px solid #000; transition: opacity calc(var(--lg-d-3) * var(--lg-motion)); }
	[data-rubrik-on] .lg-seite:not(.is-hit) { opacity: .35; }
	.lg-seite__run { display: flex; align-items: center; gap: var(--lg-s-4); padding-bottom: var(--lg-s-3); margin-bottom: var(--lg-s-6); border-bottom: 1px solid currentColor; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-seite__folio { font: 900 var(--lg-fs-5)/1 var(--lg-font-display); letter-spacing: -0.03em; }
	.lg-seite__rub { display: inline-flex; align-items: center; }
	.lg-seite__mag { margin-left: auto; text-align: right; }
	.lg-seite[data-side="l"] .lg-seite__run { flex-direction: row-reverse; }
	.lg-seite[data-side="l"] .lg-seite__mag { margin-left: 0; margin-right: auto; text-align: left; }
	.lg-seite__grid { display: grid; gap: var(--lg-s-6); }
	@media (min-width: 1000px) { .lg-seite__grid { grid-template-columns: minmax(0, 1fr) 300px; gap: var(--lg-s-8); } .lg-seite[data-side="l"] .lg-rand { order: -1; } }
	.lg-seite__label { display: inline-block; margin: 0 0 var(--lg-s-3); padding: .3em .6em; background: #000; color: #fff; font: 800 var(--lg-fs-1)/1 var(--lg-font-display); letter-spacing: .06em; text-transform: uppercase; }
	.lg-seite__title { font-size: clamp(2.1rem, 5.4vw, 4.2rem); line-height: .92; letter-spacing: -0.05em; max-width: 18ch; text-wrap: balance; hyphens: auto; overflow-wrap: break-word; margin: 0; }
	.lg-seite--cover .lg-seite__title { font-size: clamp(2.4rem, 7vw, 5.6rem); }
	.lg-seite__meta { margin: var(--lg-s-3) 0 var(--lg-s-5); font: 600 var(--lg-fs-2)/1 var(--lg-font-text); color: var(--lg-grey); }
	.lg-seite__img { margin: 0 0 var(--lg-s-5); aspect-ratio: 16 / 9; overflow: hidden; border: 3px solid #000; background: var(--lg-ground); }
	.lg-seite__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
	@media (min-width: 1000px) { .lg-seite__img { float: right; width: 46%; aspect-ratio: 4 / 3; margin: .4em 0 var(--lg-s-4) var(--lg-s-5); } .lg-seite[data-side="l"] .lg-seite__img { float: left; margin: .4em var(--lg-s-5) var(--lg-s-4) 0; } }
	.lg-seite__lede { font: 500 var(--lg-fs-4)/1.5 var(--lg-font-text); max-width: 60ch; }
	.lg-seite__lede::first-letter { float: left; margin: .02em .12em 0 0; padding: 0 .08em; font: 900 3.4em/.82 var(--lg-font-display); background: #000; color: #fff; }
	.lg-seite__probe { clear: both; margin-top: var(--lg-s-5); padding-top: var(--lg-s-4); border-top: 3px solid #000; display: grid; gap: var(--lg-s-4); max-width: 68ch; }
	.lg-seite__probe-h { margin: 0; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-satz { display: grid; gap: 4px; }
	.lg-satz__de { margin: 0; font: 800 var(--lg-fs-4)/1.3 var(--lg-font-display); letter-spacing: -0.01em; }
	.lg-satz__en { margin: 0; font: 500 var(--lg-fs-3)/1.4 var(--lg-font-text); }
	.lg-js .lg-satz__en { cursor: pointer; }
	.lg-js .lg-satz:not(.is-open) .lg-satz__en { color: transparent; user-select: none; }
	.lg-js .lg-satz:not(.is-open) .lg-satz__en { background: #000; }
	.lg-satz__en:focus-visible { outline: 3px solid var(--lg-focus, #000); outline-offset: 2px; }
	.lg-fn { font-size: .55em; line-height: 0; vertical-align: super; }
	.lg-fn a { display: inline-grid; place-items: center; min-width: 1.9em; min-height: 1.9em; margin-left: 1px; background: #000; color: #fff; font: 800 1em/1 var(--lg-font-text); text-decoration: none; }
	.lg-seite__more { clear: both; display: flex; align-items: center; gap: var(--lg-s-4); margin-top: var(--lg-s-6); }
	.lg-seite__pp { font: 700 var(--lg-fs-2)/1 var(--lg-font-text); }

	/* The margin: numbered words, like the glossary column of a language magazine */
	.lg-rand { align-self: start; padding: var(--lg-s-4); border: 2px solid #000; background: #fff; }
	@media (min-width: 1000px) { .lg-rand { position: sticky; top: calc(var(--lg-subnav-top, 64px) + 24px); padding: 0 0 0 var(--lg-s-5); border: 0; border-left: 3px solid #000; } .lg-seite[data-side="l"] .lg-rand { padding: 0 var(--lg-s-5) 0 0; border-left: 0; border-right: 3px solid #000; } }
	.lg-rand__h { margin: 0 0 var(--lg-s-3); font: 900 var(--lg-fs-4)/1 var(--lg-font-display); letter-spacing: -0.02em; }
	.lg-rand__list { list-style: none; margin: 0; padding: 0; display: grid; }
	.lg-rand__list li:target .lg-wort { background: #000; color: #fff; }
	.lg-rand__hint { margin: var(--lg-s-3) 0 0; font-size: var(--lg-fs-1); color: var(--lg-grey); }
	.lg-wort { display: grid; grid-template-columns: auto 1fr; column-gap: .6em; align-items: baseline; width: 100%; min-height: 44px; padding: 8px 4px; border: 0; border-bottom: 1px solid #000; background: none; color: #000; text-align: left; cursor: pointer; transition: background-color calc(var(--lg-d-2) * var(--lg-motion)); }
	.lg-wort__n { grid-row: span 2; font: 900 var(--lg-fs-3)/1 var(--lg-font-display); }
	.lg-wort__de { font: 800 var(--lg-fs-3)/1.15 var(--lg-font-display); overflow-wrap: anywhere; }
	.lg-wort__de i { font-style: normal; padding: 0 .25em; }
	.lg-wort__de i[data-a="der"] { background: var(--lg-cobalt); color: #fff; }
	.lg-wort__de i[data-a="die"] { background: var(--lg-magenta); color: #000; }
	.lg-wort__de i[data-a="das"] { background: var(--lg-lime); color: #000; }
	.lg-wort__en { grid-column: 2; font: 500 var(--lg-fs-2)/1.3 var(--lg-font-text); }
	.lg-wort[aria-pressed="true"] { box-shadow: inset 6px 0 0 #000; padding-left: 14px; }
	.lg-wort[aria-pressed="true"] .lg-wort__de::after { content: " ✓"; }
	@media (hover: hover) { .lg-wort:hover { background: #f2f2f2; } }
	.lg-wort:active { background: #e6e6e6; }

	/* ---------- Wortschatz: a dictionary in columns ---------- */
	.lg-wortschatz { padding-block: var(--lg-sheet); border-top: 3px solid #000; }
	.lg-wortschatz h2 { font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .92; letter-spacing: -0.05em; max-width: 12ch; }
	.lg-wortschatz__head { display: grid; gap: var(--lg-s-4); justify-items: start; margin-bottom: var(--lg-s-7); }
	@media (min-width: 1000px) { .lg-wortschatz__head { grid-template-columns: 1.2fr 1fr auto; align-items: end; } }
	.lg-wortschatz__cols { columns: 1; column-gap: var(--lg-s-7); column-rule: 1px solid #000; }
	@media (min-width: 700px) { .lg-wortschatz__cols { columns: 2; } }
	@media (min-width: 1100px) { .lg-wortschatz__cols { columns: 3; } }
	.lg-wortschatz__letter { break-inside: avoid-column; margin-bottom: var(--lg-s-5); }
	.lg-wortschatz__l { margin: 0 0 4px; font: 900 var(--lg-fs-7)/.9 var(--lg-font-display); letter-spacing: -0.05em; }
	.lg-wortschatz__letter ul { list-style: none; margin: 0; padding: 0; border-top: 3px solid #000; }
	.lg-wort--row { grid-template-columns: 1fr auto; }
	.lg-wort--row .lg-wort__en { grid-column: 1; }
	.lg-wort__p { grid-row: 1 / span 2; grid-column: 2; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); }
	.lg-wort__p::before { content: "S. "; }

	/* ---------- Rätsel: black page, white grid ---------- */
	.lg-raetsel { padding-block: var(--lg-s-7) var(--lg-sheet); }
	.lg-raetsel__grid { display: grid; gap: var(--lg-s-7); }
	@media (min-width: 1000px) { .lg-raetsel__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); } }
	.lg-raetsel h2 { font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: .9; letter-spacing: -0.05em; margin: 0 0 var(--lg-s-4); hyphens: auto; }
	.lg-raetsel__grid > * { min-width: 0; }
	.lg-raetsel__board { margin-top: var(--lg-s-5); overflow-x: auto; max-width: 100%; }
	.lg-xw { display: grid; grid-template-columns: repeat(var(--cols), var(--cell)); grid-auto-rows: var(--cell); --cell: clamp(32px, calc((100vw - 40px) / var(--cols)), 44px); width: max-content; margin-inline: auto; }
	/* Cells never shrink below 32 px (WCAG 2.5.8 asks for 24); a wide grid scrolls inside its own box instead */
	[data-lg-board] { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
	.lg-xw__c { position: relative; background: transparent; }
	.lg-xw__c.is-on { background: #fff; outline: 1px solid #000; }
	.lg-xw__c input { width: 100%; height: 100%; border: 0; padding: 0; background: transparent; color: #000; text-align: center; text-transform: uppercase; font: 900 calc(var(--cell) * .5)/1 var(--lg-font-display); caret-color: transparent; }
	.lg-xw__c input:focus { outline: none; background: var(--lg-ink-s); color: var(--lg-ink-s-on); }
	.lg-xw__c.is-word { background: #e9e9e9; }
	.lg-xw__c.is-wrong input { background: var(--lg-red); color: #000; }
	.lg-xw__c.is-right input { background: var(--lg-lime); }
	.lg-xw__n { position: absolute; top: 1px; left: 2px; font: 700 10px/1 var(--lg-font-text); color: #000; pointer-events: none; }
	.lg-raetsel__acts { margin-top: var(--lg-s-4); }
	.lg-raetsel__acts .lg-btn--ghost { color: #fff; border-color: #fff; }
	.lg-raetsel__status { min-height: 1.5em; font-weight: 700; }
	.lg-raetsel__ch { font: 900 var(--lg-fs-5)/1 var(--lg-font-display); margin: 0 0 var(--lg-s-3); }
	.lg-raetsel__plain, .lg-raetsel__dir ol { margin: 0; padding-left: 1.6em; display: grid; gap: 6px; font-size: var(--lg-fs-3); line-height: 1.35; }
	.lg-raetsel__dir + .lg-raetsel__dir { margin-top: var(--lg-s-5); }
	.lg-raetsel__dir li.is-active { background: #fff; color: #000; }
	.lg-raetsel__dir li { cursor: pointer; padding: 2px 4px; }
	/* The answers, printed upside down as at the bottom of a puzzle page */
	.lg-loesung { margin-top: var(--lg-s-7); padding-top: var(--lg-s-4); border-top: 1px solid #fff; display: grid; gap: var(--lg-s-3); justify-items: start; }
	.lg-loesung__turn { min-height: 44px; padding: 0 1em; border: 2px solid #fff; background: none; color: #fff; font: 700 var(--lg-fs-2)/1 var(--lg-font-display); cursor: pointer; }
	.lg-loesung__text { margin: 0; font-size: var(--lg-fs-2); line-height: 1.6; transform: rotate(180deg); transition: transform calc(var(--lg-d-4) * var(--lg-motion)) var(--lg-ease-out); max-width: 80ch; }
	.lg-loesung.is-up .lg-loesung__text { transform: none; }

	/* ---------- Gutschein: a dashed coupon with scissors ---------- */
	.lg-coupon-wrap { padding-block: var(--lg-sheet); }
	.lg-coupon { position: relative; max-width: 760px; margin-inline: auto; padding: 14px; border: 3px dashed #000; }
	.lg-coupon__cut { position: absolute; top: -17px; left: 24px; display: inline-flex; align-items: center; gap: .5em; min-height: 32px; padding: 0 .6em; border: 0; background: #fff; color: #000; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .04em; text-transform: uppercase; cursor: pointer; z-index: 2; }
	.lg-coupon__cut svg { transition: transform calc(var(--lg-d-2) * var(--lg-motion)); }
	@media (hover: hover) { .lg-coupon__cut:hover svg { transform: rotate(-20deg); } }
	.lg-coupon__card { padding: var(--lg-s-6) var(--lg-s-5); transition: transform calc(500ms * var(--lg-motion)) var(--lg-ease-out); }
	.lg-coupon__kicker { margin: 0 0 var(--lg-s-3); font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .08em; text-transform: uppercase; }
	.lg-coupon__card h2 { font-size: clamp(2rem, 5vw, 3.4rem); line-height: .95; letter-spacing: -0.045em; max-width: 16ch; margin: 0 0 var(--lg-s-4); }
	.lg-coupon__card .lg-body { max-width: 48ch; margin-bottom: var(--lg-s-5); }
	.lg-coupon.is-cut { border-color: transparent; }
	.lg-coupon.is-cut .lg-coupon__card { transform: translate(10px, 14px) rotate(-1.5deg); box-shadow: 10px 10px 0 #000; }
	.lg-coupon.is-cutting .lg-coupon__cut { animation: lg-snip calc(900ms * var(--lg-motion)) var(--lg-ease) both; }
	@keyframes lg-snip { 0% { left: 24px; } 100% { left: calc(100% - 180px); } }
	@media (prefers-reduced-motion: reduce) { .lg-coupon.is-cutting .lg-coupon__cut { animation: none; } }

	/* ---------- Ältere Ausgaben: small covers in a row ---------- */
	.lg-archiv { padding-block: var(--lg-sheet); border-top: 3px solid #000; }
	.lg-archiv h2 { margin-bottom: var(--lg-s-6); }
	.lg-archiv .lg-wrap { min-width: 0; overflow: hidden; }
	.lg-archiv__row { list-style: none; margin: 0; padding: 0 0 var(--lg-s-4); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 240px); gap: var(--lg-s-5); width: 100%; max-width: 100%; overflow-x: auto; scroll-snap-type: x proximity; }
	.lg-archiv__row li { scroll-snap-align: start; }
	.lg-mini { display: grid; border: 3px solid #000; color: #000; text-decoration: none; background: #fff; transition: transform calc(var(--lg-d-3) * var(--lg-motion)) var(--lg-ease-out), box-shadow calc(var(--lg-d-3) * var(--lg-motion)) var(--lg-ease-out); }
	.lg-mini__mast { display: grid; gap: 4px; padding: 10px; background: var(--lg-ground); color: var(--lg-text); }
	.lg-mini__mast b { font: 900 1.25rem/.85 var(--lg-font-display); letter-spacing: -0.05em; text-transform: uppercase; color: var(--lg-de); }
	.lg-mini__mast small { font: 700 11px/1 var(--lg-font-text); letter-spacing: .06em; }
	.lg-mini__img { aspect-ratio: 4 / 3; overflow: hidden; border-block: 3px solid #000; background: #000; }
	.lg-mini__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.lg-mini__lead { padding: 10px 10px 4px; font: 900 var(--lg-fs-3)/1 var(--lg-font-display); letter-spacing: -0.02em; hyphens: auto; overflow-wrap: break-word; }
	.lg-mini__meta { padding: 0 10px 10px; font: 600 var(--lg-fs-1)/1.3 var(--lg-font-text); }
	.lg-mini[aria-current="page"] { box-shadow: 8px 8px 0 #000; }
	@media (hover: hover) { .lg-mini:hover { transform: translateY(-6px); box-shadow: 8px 8px 0 #000; } }
	.lg-mini:active { transform: translateY(-2px); }

	/* ---------- Impressum box ---------- */

	html[data-lg-motion="off"] .lg-heft { transform: none !important; }
}

/* ===================== Articles: three magazine layouts (reportage, lektion, kolumne) ===================== */
@layer lg.portal {
	.lg-artikel { padding-bottom: var(--lg-sheet); }
	.lg-artikel__crumbs { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; padding-block: var(--lg-s-4); font: 700 var(--lg-fs-1)/1.3 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-artikel__crumbs a { color: #000; }
	.lg-artikel h1 { hyphens: manual; overflow-wrap: break-word; text-wrap: balance; }
	.lg-artikel h2 { hyphens: manual; overflow-wrap: break-word; }
	.lg-artikel h2 small, .lg-artikel__sub small { display: block; margin-top: .3em; font: 500 var(--lg-fs-3)/1.3 var(--lg-font-text); letter-spacing: 0; }
	.lg-artikel__dek { max-width: 58ch; margin: var(--lg-s-6) 0 var(--lg-s-5); font: 600 var(--lg-fs-5)/1.35 var(--lg-font-text); }
	.lg-artikel__sub { margin: var(--lg-s-6) 0 var(--lg-s-3); font: 900 var(--lg-fs-4)/1.1 var(--lg-font-display); letter-spacing: -0.02em; }
	.lg-artikel .lg-satz { margin-bottom: var(--lg-s-4); max-width: 66ch; }
	.lg-artikel .lg-satz__de { font: 700 var(--lg-fs-4)/1.4 var(--lg-font-text); }
	.lg-artikel .lg-satz__en { color: #333; }
	.lg-artikel__list { list-style: none; margin: 0 0 var(--lg-s-4); padding: 0; }
	.lg-artikel__list li { padding-left: 1.2em; position: relative; }
	.lg-artikel__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: .6em; height: .6em; background: var(--art-ink); box-shadow: 0 0 0 1px #000; }
	.lg-artikel__note { max-width: 66ch; }
	/* The English toggle: shown, or under bars like a workbook */
	.lg-artikel__tools { display: flex; align-items: center; gap: var(--lg-s-3); margin: 0 0 var(--lg-s-6); font: 700 var(--lg-fs-2)/1 var(--lg-font-text); }
	.lg-js .lg-artikel .lg-satz:not(.is-open) .lg-satz__en { color: #333; background: none; }
	.lg-js .lg-artikel .lg-sprachtipp .lg-satz:not(.is-open) .lg-satz__en { color: #ccc; }
	.lg-js .lg-artikel--kolumne .lg-sprachtipp .lg-satz:not(.is-open) .lg-satz__en { color: #333; }
	.lg-js .lg-artikel[data-en-mode="bars"] .lg-satz:not(.is-open) .lg-satz__en { color: transparent; background: #000; user-select: none; }
	.lg-js .lg-artikel[data-en-mode="bars"] .lg-sprachtipp .lg-satz:not(.is-open) .lg-satz__en { color: transparent; background: #fff; }
	.lg-js .lg-artikel--kolumne[data-en-mode="bars"] .lg-sprachtipp .lg-satz:not(.is-open) .lg-satz__en { background: #000; }

	/* Sprachtipp / Grammatik box: a letter tag like the exercise pages of language magazines */
	.lg-sprachtipp { display: grid; grid-template-columns: auto 1fr; gap: var(--lg-s-4); margin: var(--lg-s-7) 0; padding: var(--lg-s-5); background: #000; color: #fff; }
	.lg-sprachtipp__tag { margin: 0; display: grid; place-items: center; width: 2.4em; height: 2.4em; background: var(--art-ink); color: #000; font: 900 var(--lg-fs-5)/1 var(--lg-font-display); }
	.lg-sprachtipp h2 { font-size: var(--lg-fs-6); letter-spacing: -0.03em; margin: 0 0 var(--lg-s-4); }
	.lg-sprachtipp h2 small { color: #ccc; }
	.lg-sprachtipp .lg-satz__en, .lg-sprachtipp h3 small { color: #ccc; }
	.lg-sprachtipp .lg-artikel__sub { color: #fff; }
	.lg-sprachtipp .lg-artikel__list li::before { box-shadow: 0 0 0 1px #fff; }

	/* ---------- Reportage ---------- */
	.lg-rep__cover { display: grid; border-block: 3px solid #000; }
	@media (min-width: 1000px) { .lg-rep__cover { grid-template-columns: 1.1fr 1fr; min-height: 62vh; } }
	.lg-rep__field { display: grid; align-content: end; gap: var(--lg-s-4); padding: var(--lg-s-7) var(--lg-gutter) var(--lg-s-6); color: #000; }
	.lg-rep__field[data-ground="cobalt"] { color: #fff; }
	.lg-rep__kicker, .lg-rep__meta { margin: 0; font: 700 var(--lg-fs-1)/1.3 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-rep__field h1 { margin: 0; font-size: clamp(2.4rem, 6.6vw, 5.4rem); line-height: .92; letter-spacing: -0.05em; color: #000; }
	.lg-rep__img { margin: 0; min-height: 280px; background: #000; overflow: hidden; }
	@media (min-width: 1000px) { .lg-rep__img { border-left: 3px solid #000; } }
	@media (max-width: 999px) { .lg-rep__img { border-top: 3px solid #000; aspect-ratio: 16 / 10; } }
	.lg-rep__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.lg-rep__sec { padding-top: var(--lg-s-6); }
	.lg-rep__sec .lg-seite__run[data-side="l"] { flex-direction: row-reverse; }
	.lg-rep__h { display: grid; gap: var(--lg-s-2); margin: 0 0 var(--lg-s-5); font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; letter-spacing: -0.04em; }
	.lg-rep__no { font: 900 var(--lg-fs-6)/1 var(--lg-font-display); color: #000; -webkit-text-stroke: 0; }
	.lg-rep__no::after { content: ""; display: block; width: 2.6em; height: .25em; margin-top: .2em; background: var(--art-ink); }

	/* ---------- Lektion ---------- */
	.lg-lek__head { display: grid; gap: var(--lg-s-5); padding-block: var(--lg-s-5) var(--lg-s-7); }
	@media (min-width: 1000px) { .lg-lek__head { grid-template-columns: auto 1fr 300px; align-items: start; gap: var(--lg-s-7); } }
	.lg-lek__no { display: grid; justify-items: center; align-content: center; width: 9.5rem; aspect-ratio: 1; margin: 0; border: 3px solid #000; color: #000; font: 800 var(--lg-fs-2)/1 var(--lg-font-text); letter-spacing: .08em; text-transform: uppercase; }
	.lg-lek__no b { font: 900 4.6rem/.9 var(--lg-font-display); letter-spacing: -0.05em; }
	.lg-lek__kicker { display: flex; align-items: center; margin: 0 0 var(--lg-s-3); font: 700 var(--lg-fs-1)/1.3 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-lek__head h1 { margin: 0 0 var(--lg-s-5); font-size: clamp(2.2rem, 5vw, 4rem); line-height: .95; letter-spacing: -0.045em; }
	.lg-lek__goals { border: 2px solid #000; padding: var(--lg-s-4); max-width: 60ch; }
	.lg-lek__goals > p { margin: 0 0 var(--lg-s-2); font: 900 var(--lg-fs-3)/1 var(--lg-font-display); }
	.lg-lek__goals ol { margin: 0; padding-left: 1.4em; display: grid; gap: 4px; }
	.lg-lek__goals a { color: #000; font-weight: 600; }
	.lg-lek__img { margin: 0; aspect-ratio: 1; overflow: hidden; border: 3px solid #000; }
	.lg-lek__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
	@media (max-width: 999px) { .lg-lek__img { display: none; } }
	.lg-lek__teil { padding-top: var(--lg-s-5); margin-bottom: var(--lg-s-6); }
	.lg-lek__teil h2 { font-size: clamp(1.7rem, 3.6vw, 2.6rem); line-height: 1; letter-spacing: -0.035em; margin: 0 0 var(--lg-s-5); max-width: 24ch; }
	.lg-lek__teilno { display: inline-block; margin-right: .3em; padding: .1em .35em; background: #000; color: #fff; font-size: .55em; vertical-align: .3em; letter-spacing: 0; }
	.lg-wtable { margin: var(--lg-s-3) 0 var(--lg-s-6); max-width: 720px; border: 2px solid #000; }
	.lg-wtable__h { margin: 0; padding: .5em .8em; background: var(--art-ink); color: #000; border-bottom: 2px solid #000; font: 900 var(--lg-fs-3)/1 var(--lg-font-display); }
	.lg-wtable ul { list-style: none; margin: 0; padding: 0 .8em; }
	.lg-wtable li:last-child .lg-wort { border-bottom: 0; }
	.lg-wort small { font-size: .9em; color: var(--lg-grey); }
	.lg-test { margin-top: var(--lg-s-7); padding: var(--lg-s-5); border: 3px dashed #000; }
	.lg-test h2 { font-size: var(--lg-fs-6); margin: 0 0 var(--lg-s-4); }
	.lg-test__list { margin: 0; padding-left: 1.6em; display: grid; gap: var(--lg-s-3); }
	.lg-test__list li { display: flex; flex-wrap: wrap; align-items: center; gap: .3em .8em; }
	.lg-test__w { font: 800 var(--lg-fs-4)/1.1 var(--lg-font-display); }
	.lg-test__en { color: var(--lg-grey); flex: 1 1 10em; }
	.lg-test__opts { display: inline-flex; gap: 4px; }
	.lg-test__opts button { min-width: 3.2em; min-height: 40px; border: 2px solid #000; background: #fff; color: #000; font: 800 var(--lg-fs-2)/1 var(--lg-font-display); cursor: pointer; }
	.lg-test__opts button[aria-pressed="true"].is-right { background: var(--lg-lime); }
	.lg-test__opts button[aria-pressed="true"].is-wrong { background: var(--lg-red); }
	.lg-test__score { font-weight: 700; min-height: 1.4em; }
	.lg-test__key { margin-top: var(--lg-s-3); font-size: var(--lg-fs-1); color: var(--lg-grey); }

	/* ---------- Kolumne ---------- */
	.lg-kol__head { display: grid; gap: var(--lg-s-3); max-width: 920px; padding-block: var(--lg-s-6) var(--lg-s-6); }
	.lg-kol__kicker, .lg-kol__meta { margin: 0; font: 700 var(--lg-fs-1)/1.3 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-kol__head h1 { margin: 0; font-size: clamp(2.4rem, 6vw, 5rem); line-height: .92; letter-spacing: -0.05em; }
	.lg-kol__img { margin: var(--lg-s-4) 0 0; width: min(100%, 420px); aspect-ratio: 4 / 3; overflow: hidden; border: 3px solid #000; }
	.lg-kol__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.lg-kol__col { max-width: 72ch; margin-inline: auto; padding-inline: var(--lg-gutter); }
	.lg-kol__sec { padding-top: var(--lg-s-5); border-top: 1px solid #000; margin-bottom: var(--lg-s-6); }
	.lg-kol__sec h2 { font-size: var(--lg-fs-6); line-height: 1.02; letter-spacing: -0.035em; margin: 0 0 var(--lg-s-4); }
	.lg-kol__sec:first-of-type .lg-satz:first-of-type .lg-satz__de::first-letter { float: left; margin: .05em .1em 0 0; padding: 0 .08em; font: 900 3.6em/.8 var(--lg-font-display); background: var(--art-ink); color: #000; }
	.lg-kol__fns { margin: var(--lg-s-4) 0 0; padding: var(--lg-s-3) 0 0 0; list-style: none; border-top: 1px dashed #000; display: grid; counter-reset: fn; }
	.lg-kol__fns li { counter-increment: fn; display: grid; grid-template-columns: 1.6em 1fr; }
	.lg-kol__fns li::before { content: counter(fn); font: 800 var(--lg-fs-2)/2.6 var(--lg-font-display); }
	.lg-kol__fns li:target .lg-wort { background: #000; color: #fff; }
	.lg-kol__pull { margin: var(--lg-s-7) calc(var(--lg-s-5) * -1); padding: var(--lg-s-5) var(--lg-s-5); border-top: 8px solid var(--pq); border-bottom: 3px solid #000; }
	.lg-kol__pull p { margin: 0; font: 900 clamp(1.6rem, 3.6vw, 2.4rem)/1.1 var(--lg-font-display); letter-spacing: -0.03em; }
	.lg-kol__pull .lg-kol__pull-en { margin-top: var(--lg-s-3); font: 500 var(--lg-fs-3)/1.4 var(--lg-font-text); letter-spacing: 0; }
	.lg-artikel--kolumne .lg-sprachtipp { background: #fff; color: #000; border: 3px solid #000; }
	.lg-artikel--kolumne .lg-sprachtipp .lg-satz__en, .lg-artikel--kolumne .lg-sprachtipp h2 small, .lg-artikel--kolumne .lg-sprachtipp h3 small { color: #333; }
	.lg-artikel--kolumne .lg-sprachtipp .lg-artikel__sub { color: #000; }

	/* ---------- Turn the page ---------- */
	.lg-umblaettern { display: grid; gap: 4px; margin-top: var(--lg-s-7); }
	@media (min-width: 900px) { .lg-umblaettern { grid-template-columns: 1fr auto 1fr; } }
	.lg-umblaettern a { display: grid; gap: 6px; align-content: center; min-height: 96px; padding: var(--lg-s-4); border: 3px solid #000; color: #000; text-decoration: none; transition: transform calc(var(--lg-d-2) * var(--lg-motion)) var(--lg-ease-out); }
	.lg-umblaettern span { font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-umblaettern b { font: 900 var(--lg-fs-4)/1.05 var(--lg-font-display); letter-spacing: -0.02em; hyphens: auto; }
	.lg-umblaettern__next { text-align: right; }
	.lg-umblaettern__toc { background: #000; color: #fff !important; text-align: center; }
	@media (hover: hover) { .lg-umblaettern__prev:hover { transform: translateX(-4px); } .lg-umblaettern__next:hover { transform: translateX(4px); } }
	.lg-artikel__book { padding-block: var(--lg-s-7) 0; }
	.lg-artikel__bookcard { display: grid; gap: var(--lg-s-5); align-items: center; }
	@media (min-width: 700px) { .lg-artikel__bookcard { grid-template-columns: 180px 1fr; } }
	.lg-artikel__bookcover img { width: 100%; height: auto; display: block; border: 3px solid #000; background: #fff; }
}
@layer lg.portal {
	.lg-artprev { padding-bottom: var(--lg-sheet); }
	.lg-artprev__head { padding-block: var(--lg-s-7) var(--lg-s-6); }
	.lg-artprev__head h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: .92; letter-spacing: -0.05em; max-width: 16ch; margin: var(--lg-s-4) 0; }
	.lg-artprev__issue { margin-top: var(--lg-s-6); }
	.lg-artprev__row { display: grid; grid-template-columns: clamp(3rem, 7vw, 5rem) 1fr; gap: var(--lg-s-4); padding: var(--lg-s-4) 0; }
	.lg-artprev__links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--lg-s-2); }
}

/* ===================== Book pages: one template per profession (ink, partner ink, motif) ===================== */
@layer lg.portal {
	.lg-buch { padding-bottom: var(--lg-sheet); }
	.lg-buch__hero { display: grid; border-block: 3px solid #000; }
	@media (min-width: 1000px) { .lg-buch__hero { grid-template-columns: 1fr 1fr; min-height: 560px; } }
	.lg-buch__field { position: relative; display: grid; align-content: space-between; gap: var(--lg-s-5); padding: var(--lg-s-6) var(--lg-gutter); background: var(--b-ink); color: var(--b-on); overflow: hidden; }
	.lg-buch__prof { margin: 0; max-width: 18ch; font: 900 clamp(1.7rem, 4vw, 3rem)/.98 var(--lg-font-display); letter-spacing: -0.04em; color: #000; }
	.lg-buch--mk .lg-buch__prof, .lg-buch--mk .lg-buch__field { color: #fff; }
	.lg-buch__gallery { position: relative; display: grid; grid-template-rows: 1fr auto; background: var(--b-partner); }
	@media (min-width: 1000px) { .lg-buch__gallery { border-left: 3px solid #000; } }
	@media (max-width: 999px) { .lg-buch__gallery { border-top: 3px solid #000; } }
	.lg-buch__frames { list-style: none; margin: 0; padding: var(--lg-s-5) var(--lg-gutter); display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: var(--lg-s-4); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.lg-buch__frames::-webkit-scrollbar { display: none; }
	@media (min-width: 1000px) { .lg-buch__frames { grid-auto-columns: 78%; } }
	.lg-buch__frame { scroll-snap-align: center; display: grid; align-content: center; max-height: 55vh; min-height: 300px; background: #fff; border: 3px solid #000; overflow: hidden; }
	.lg-buch__frame--cover { background: #fff; padding: var(--lg-s-4); }
	.lg-buch__frame--cover img { width: 100%; height: 100%; max-height: calc(55vh - 40px); object-fit: contain; display: block; }
	.lg-buch__frame--page, .lg-buch__frame--words { align-content: start; gap: .6em; padding: var(--lg-s-4); font-size: var(--lg-fs-2); line-height: 1.4; overflow: hidden; }
	.lg-buch__frame p { margin: 0; }
	.lg-buch__frame-h { font: 900 var(--lg-fs-3)/1.1 var(--lg-font-display) !important; margin-bottom: .4em !important; padding-bottom: .4em; border-bottom: 2px solid #000; }
	.lg-buch__galnav { display: flex; justify-content: center; align-items: center; gap: var(--lg-s-4); padding: 0 0 var(--lg-s-4); font: 700 var(--lg-fs-2)/1 var(--lg-font-text); color: #000; }
	.lg-buch--en .lg-buch__galnav, .lg-buch--ux .lg-buch__galnav, .lg-buch--hr .lg-buch__galnav { color: #fff; }
	.lg-buch__galnav button { min-width: 44px; min-height: 44px; border: 2px solid #000; background: #fff; color: #000; font: 800 var(--lg-fs-3)/1 var(--lg-font-display); cursor: pointer; }

	.lg-buch__buy { padding-block: var(--lg-s-6); display: grid; gap: var(--lg-s-3); }
	@media (min-width: 1000px) { .lg-buch__buy { grid-template-columns: 1.2fr 1fr; column-gap: var(--lg-s-8); align-items: start; } .lg-buch__pricebox { grid-column: 2; grid-row: 1 / span 4; position: sticky; top: calc(var(--lg-subnav-top, 64px) + 24px); } }
	.lg-buch__series { display: flex; align-items: center; margin: 0; font: 800 var(--lg-fs-1)/1.2 var(--lg-font-display); letter-spacing: .04em; text-transform: uppercase; }
	.lg-buch h1 { margin: 0; font-size: clamp(2.2rem, 5.6vw, 4.4rem); line-height: .92; letter-spacing: -0.05em; text-wrap: balance; hyphens: manual; overflow-wrap: break-word; }
	.lg-buch__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
	.lg-buch__chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 .7em; border: 2px solid #000; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); }
	.lg-buch__chip:first-child { background: var(--b-ink); color: var(--b-on); }
	.lg-buch__lede { margin: 0; max-width: 56ch; font-size: var(--lg-fs-4); line-height: 1.45; }
	.lg-buch__pricebox { display: grid; gap: var(--lg-s-3); padding: var(--lg-s-5); border: 3px solid #000; box-shadow: 8px 8px 0 var(--b-ink); background: #fff; }
	.lg-buch__price { margin: 0; display: grid; gap: 4px; }
	.lg-buch__price b { font: 900 clamp(2.4rem, 6vw, 3.4rem)/1 var(--lg-font-display); letter-spacing: -0.03em; }
	.lg-buch__price span, .lg-buch__facts { font: 600 var(--lg-fs-2)/1.35 var(--lg-font-text); margin: 0; }
	.lg-buch__ctas { display: flex; flex-wrap: wrap; gap: var(--lg-s-3); }
	.lg-buch__ctas .lg-shop__add { flex: 1 1 14em; justify-content: center; }
	.lg-buch__stores { margin: 0; font-size: var(--lg-fs-2); }
	.lg-buch__stores a { color: #000; font-weight: 700; }
	.lg-buch__sticky { position: fixed; z-index: 30; right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); left: auto; max-width: min(560px, calc(100vw - 24px)); display: flex; align-items: center; gap: var(--lg-s-3); padding: 8px 8px 8px 14px; background: #fff; border: 3px solid #000; box-shadow: 6px 6px 0 var(--b-ink); }
	.lg-buch__sticky[hidden] { display: none; }
	.lg-buch__sticky-t { font: 800 var(--lg-fs-2)/1.1 var(--lg-font-display); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
	@media (max-width: 599px) { .lg-buch__sticky { left: 12px; right: 12px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 64px); } }

	.lg-buch__probe { padding-block: var(--lg-sheet); }
	.lg-buch__probe-grid { display: grid; gap: var(--lg-s-6); }
	@media (min-width: 1000px) { .lg-buch__probe-grid { grid-template-columns: 1fr 1.5fr; } }
	.lg-buch__probe h2 { font-size: clamp(2.4rem, 6vw, 4.4rem); letter-spacing: -0.05em; margin: 0 0 var(--lg-s-4); }
	.lg-buch__probe-text { padding: var(--lg-s-5); background: #fff; color: #000; box-shadow: 10px 10px 0 var(--b-ink); }
	.lg-buch__probe-text .lg-satz { margin-bottom: var(--lg-s-4); }
	.lg-buch__probe-text .lg-satz__de { font: 800 var(--lg-fs-4)/1.3 var(--lg-font-display); }
	.lg-buch__about, .lg-buch__method, .lg-buch__words, .lg-buch__trust { padding-block: var(--lg-s-7) 0; }
	.lg-buch__about h2, .lg-buch__method h2, .lg-buch__words h2, .lg-buch__related h2, .lg-buch__posts h2 { font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -0.04em; margin: 0 0 var(--lg-s-5); }
	.lg-buch__desc { max-width: 68ch; }
	.lg-buch__desc h3 { margin: var(--lg-s-5) 0 var(--lg-s-2); font-size: var(--lg-fs-4); }
	.lg-buch__desc p { font-size: var(--lg-fs-3); line-height: 1.55; }
	.lg-buch__desc p[lang="de"] { padding-left: var(--lg-s-4); border-left: 6px solid var(--b-ink); }
	.lg-buch__method ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: st; }
	@media (min-width: 900px) { .lg-buch__method ol { grid-template-columns: repeat(3, 1fr); } }
	.lg-buch__method li { counter-increment: st; padding: var(--lg-s-5); border: 3px solid #000; font-size: var(--lg-fs-3); line-height: 1.45; }
	.lg-buch__method li::before { content: counter(st); display: block; font: 900 var(--lg-fs-7)/.9 var(--lg-font-display); color: #000; margin-bottom: var(--lg-s-3); }
	.lg-buch__method li b { display: block; font: 900 var(--lg-fs-4)/1.1 var(--lg-font-display); margin-bottom: 6px; }
	.lg-buch__wordgrid { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 var(--lg-s-6); }
	@media (min-width: 700px) { .lg-buch__wordgrid { grid-template-columns: repeat(2, 1fr); } }
	@media (min-width: 1100px) { .lg-buch__wordgrid { grid-template-columns: repeat(3, 1fr); } }
	.lg-buch__posts { padding-block: var(--lg-s-7) 0; }
	.lg-buch__posts h2 small { display: block; font: 500 var(--lg-fs-3)/1.3 var(--lg-font-text); letter-spacing: 0; }
	.lg-buch__faq { padding-block: var(--lg-s-7); }
	.lg-buch__related { padding-block: var(--lg-s-6) 0; }
	.lg-buch__trust { display: grid; gap: 6px; font-size: var(--lg-fs-2); }
	.lg-buch__trust p { margin: 0; }
	.lg-buch__legal { display: flex; flex-wrap: wrap; gap: var(--lg-s-4); }
	.lg-buch__legal a { color: #000; font-weight: 700; }

	/* ---------- Motifs: drawn with flat fields and Fixel only ---------- */
	.lg-motif { position: relative; min-height: 220px; font: 800 var(--lg-fs-2)/1 var(--lg-font-display); }
	.lg-motif--components { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: var(--lg-s-4); align-content: end; padding-bottom: 28px; }
	.lg-motif--components b { position: relative; display: grid; place-items: center; min-width: 7.2em; min-height: 48px; background: #000; color: #fff; }
	.lg-motif--components b:nth-of-type(2) { background: #fff; color: #000; box-shadow: inset 0 0 0 3px #000; }
	.lg-motif--components b:nth-of-type(3) { background: var(--b-partner); color: #fff; transform: translateY(3px); }
	.lg-motif--components b::after { content: attr(data-s); position: absolute; top: calc(100% + 8px); left: 0; font: 700 11px/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; color: #000; }
	.lg-motif__grid { position: absolute; inset: 0 0 auto; height: 96px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M16 0H0V16' fill='none' stroke='%23000' stroke-opacity='.25'/%3E%3C/svg%3E"); }
	.lg-motif__space { position: absolute; left: 7.4em; bottom: 0; font: 700 11px/1 var(--lg-font-text); font-style: normal; }
	.lg-motif--funnel { display: grid; gap: 6px; align-content: end; }
	.lg-motif--funnel b { width: var(--w); min-height: 44px; display: flex; align-items: center; padding: 0 .8em; background: #fff; color: #000; }
	.lg-motif--funnel b:last-child { background: #000; color: #fff; }
	.lg-motif--roadmap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; align-items: start; }
	.lg-motif--roadmap div { display: grid; gap: 6px; padding: 8px; background: #fff; }
	.lg-motif--roadmap p { margin: 0 0 4px; font-size: var(--lg-fs-1); }
	.lg-motif--roadmap b { height: 36px; background: var(--b-partner); }
	.lg-motif--roadmap div:first-child b { background: #000; }
	.lg-motif--gantt { display: grid; gap: 10px; align-content: end; }
	.lg-motif--gantt b { margin-left: var(--x); width: var(--w); height: 26px; background: #000; }
	.lg-motif--gantt b:nth-child(2n) { background: #fff; }
	.lg-motif--gantt i { justify-self: end; padding: .4em .7em; background: #000; color: #fff; font-style: normal; }
	.lg-motif--terminal { padding: var(--lg-s-4); background: #000; color: #fff; display: grid; gap: 8px; align-content: center; }
	.lg-motif--terminal p { margin: 0; font: 700 var(--lg-fs-3)/1.2 var(--lg-font-text); }
	.lg-motif--terminal i { display: inline-block; width: 2em; color: var(--b-ink); font-style: normal; }
	.lg-motif--org { display: grid; justify-items: center; gap: 24px; align-content: center; }
	.lg-motif--org > b, .lg-motif--org div b { display: grid; place-items: center; min-width: 6em; min-height: 44px; background: #fff; color: #000; }
	.lg-motif--org div { display: flex; gap: 8px; }
	.lg-motif--org .is-you { background: var(--b-partner); }
	.lg-motif--check { display: grid; gap: 6px; align-content: end; max-width: 22em; padding: var(--lg-s-4); background: #fff; color: #000; }
	.lg-motif--check p { margin: 0; display: flex; align-items: center; gap: .6em; font: 800 var(--lg-fs-3)/1.2 var(--lg-font-display); }
	.lg-motif--check p::before { content: ""; width: 1.1em; height: 1.1em; box-shadow: inset 0 0 0 3px #000; }
	.lg-motif--check p.is-on::before { background: #000; }
}
@layer lg.portal {
	/* Phones: the price and the buy button belong on the first screen (Baymard); the profession becomes a slim ink band */
	@media (max-width: 999px) {
		.lg-buch__field { padding: 12px var(--lg-gutter); }
		.lg-buch__field .lg-motif { display: none; }
		.lg-buch__prof { font-size: 1.05rem; max-width: none; }
		.lg-buch__frames { grid-auto-columns: 70%; padding-block: 12px; }
		.lg-buch__frame { min-height: 0; max-height: 34vh; }
		.lg-buch__frame--cover img { max-height: calc(34vh - 24px); }
		.lg-buch__galnav { padding-bottom: 8px; }
		.lg-buch__galnav button { min-height: 36px; min-width: 40px; }
		.lg-buch__buy { padding-top: var(--lg-s-4); }
		.lg-buch h1 { font-size: 2rem; }
		.lg-buch__lede { display: none; }
	}
}
@layer lg.portal {
	@media (max-width: 999px) {
		.lg-buch > .lg-artikel__crumbs { display: none; }
		.lg-buch__frame { max-height: 25vh; }
		.lg-buch__frame--cover img { max-height: calc(25vh - 20px); }
		.lg-buch__chips .lg-buch__chip:not(:first-child) { display: none; }
		.lg-buch__series { font-size: 11px; }
		.lg-buch__buy { gap: 8px; }
		.lg-buch__pricebox { padding: var(--lg-s-4); gap: 8px; box-shadow: 6px 6px 0 var(--b-ink); }
		.lg-buch__price b { font-size: 2rem; }
		.lg-buch__price { grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
		.lg-buch__price span { font-size: 12px; }
	}
}
@layer lg.portal {
	.lg-bookprev__grid { list-style: none; margin: 0 auto; display: grid; gap: var(--lg-s-5); }
	@media (min-width: 900px) { .lg-bookprev__grid { grid-template-columns: repeat(2, 1fr); } }
	.lg-bookprev__item { border: 3px solid #000; display: grid; }
	.lg-bookprev__item .lg-buch__field { min-height: 320px; }
	.lg-bookprev__item .lg-motif { display: block; }
	.lg-bookprev__item .lg-motif--components, .lg-bookprev__item .lg-motif--funnel, .lg-bookprev__item .lg-motif--roadmap, .lg-bookprev__item .lg-motif--gantt, .lg-bookprev__item .lg-motif--terminal, .lg-bookprev__item .lg-motif--org, .lg-bookprev__item .lg-motif--check { display: grid; }
	.lg-bookprev__meta { display: grid; gap: var(--lg-s-3); padding: var(--lg-s-4); border-top: 3px solid #000; background: var(--b-partner); }
	.lg-bookprev__meta .lg-buch__series { padding: .4em .6em; background: #fff; justify-self: start; }
	.lg-bookprev__meta .lg-quiet { background: #fff; padding: .4em .6em; justify-self: start; margin: 0; color: #000; }
	@media (max-width: 999px) { .lg-bookprev__item .lg-buch__field { padding: var(--lg-s-5) var(--lg-gutter); } .lg-bookprev__item .lg-buch__prof { font-size: 1.5rem; } }
}

/* ===================== Pinnwand: shoppable posts (feed, book-page rail, quick-buy sheet) ===================== */
@layer lg.portal {
	.lg-feed { padding-bottom: var(--lg-sheet); }
	.lg-feed__head { padding-block: var(--lg-s-7) var(--lg-s-5); }
	.lg-feed__head h1 { display: grid; gap: var(--lg-s-3); margin: var(--lg-s-4) 0 0; font-size: clamp(2.6rem, 7vw, 5.4rem); line-height: .9; letter-spacing: -0.05em; }
	.lg-feed__filters .lg-subnav__role { text-decoration: none; }
	.lg-feed__filters .lg-subnav__role[aria-current="true"] { background: var(--sw); color: var(--sw-on); }
	.lg-feed__filters .lg-subnav__role[aria-current="true"][style*="--sw:#fff"] { background: #000; color: #fff; }
	.lg-feed__sep { width: 2px; height: 28px; background: #000; margin-inline: 6px; }
	.lg-feed__list { padding-top: var(--lg-s-6); }
	.lg-feed__grid { list-style: none; margin: 0; padding: 0; columns: 1; column-gap: var(--lg-s-5); }
	@media (min-width: 700px) { .lg-feed__grid { columns: 2; } }
	@media (min-width: 1100px) { .lg-feed__grid { columns: 3; } }
	.lg-feed__grid > li { break-inside: avoid; margin-bottom: var(--lg-s-5); }
	.lg-feed__grid > li[hidden] { display: none; }
	.lg-feed__note { margin-top: var(--lg-s-6); font-size: var(--lg-fs-2); color: var(--lg-grey); max-width: 60ch; }

	.lg-pin { display: grid; border: 3px solid #000; background: #fff; }
	.lg-pin__top { display: flex; align-items: center; gap: .6em; padding: 10px 14px; border-bottom: 3px solid #000; background: var(--pin-ink); font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-pin__fmt { padding: .3em .5em; background: #000; color: #fff; }
	.lg-pin__ad { padding: .3em .5em; background: #fff; color: #000; border: 2px solid #000; }
	.lg-pin__by { margin-left: auto; text-transform: none; letter-spacing: 0; padding: .3em .5em; background: #fff; color: #000; }
	.lg-pin__body { padding: var(--lg-s-5) 14px; display: grid; gap: var(--lg-s-3); }
	.lg-pin .lg-satz__de { font: 800 var(--lg-fs-4)/1.3 var(--lg-font-display); margin: 0; }
	.lg-pin__satz .lg-satz__de { font-size: var(--lg-fs-5); line-height: 1.15; letter-spacing: -0.02em; }
	.lg-pin__word { margin: 0; font: 900 clamp(1.8rem, 4vw, 2.4rem)/1 var(--lg-font-display); letter-spacing: -0.03em; overflow-wrap: anywhere; }
	.lg-pin__word i, .lg-pin__q > span { font-style: normal; padding: 0 .2em; }
	.lg-pin__word i[data-a="der"] { background: var(--lg-cobalt); color: #fff; }
	.lg-pin__word i[data-a="die"] { background: var(--lg-magenta); }
	.lg-pin__word i[data-a="das"] { background: var(--lg-lime); }
	.lg-pin__wen { margin: 0; font-size: var(--lg-fs-3); }
	.lg-pin__keep, .lg-pin__act, .lg-pin__opts button, .lg-pin__slidenav button { min-height: 40px; padding: 0 .8em; border: 2px solid #000; background: #fff; color: #000; font: 700 var(--lg-fs-2)/1 var(--lg-font-display); cursor: pointer; justify-self: start; }
	.lg-pin__keep[aria-pressed="true"], .lg-pin__act[aria-pressed="true"] { background: #000; color: #fff; }
	.lg-pin__act [data-when] { display: none; }
	.lg-pin__act:not([aria-pressed="true"]) [data-when="off"], .lg-pin__act[aria-pressed="true"] [data-when="on"] { display: inline; }
	.lg-pin__h { margin: 0; font: 900 var(--lg-fs-4)/1.1 var(--lg-font-display); }
	.lg-pin__slides { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.lg-pin__slides::-webkit-scrollbar { display: none; }
	.lg-pin__slides li { scroll-snap-align: start; padding: var(--lg-s-3); border: 2px solid #000; }
	.lg-pin__slidenav { display: flex; align-items: center; gap: var(--lg-s-3); font: 700 var(--lg-fs-2)/1 var(--lg-font-text); }
	.lg-pin__q { margin: 0; font: 900 clamp(1.8rem, 4vw, 2.4rem)/1 var(--lg-font-display); }
	.lg-pin__q > span:not(.lg-pin__slot) { border-bottom: 4px solid #000; }
	.lg-pin__opts { display: flex; gap: 6px; }
	.lg-pin__opts button.is-right { background: var(--lg-lime); }
	.lg-pin__opts button.is-wrong { background: var(--lg-red); }
	.lg-pin__res { margin: 0; min-height: 1.3em; font-weight: 700; }
	.lg-pin__foot { display: grid; gap: 8px; padding: 10px 14px 14px; border-top: 2px solid #000; }
	.lg-pin__chip { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 6px 10px 6px 6px; border: 2px solid #000; background: #fff; color: #000; text-align: left; cursor: pointer; font: 600 var(--lg-fs-2)/1.2 var(--lg-font-text); }
	.lg-pin__chip b { font-family: var(--lg-font-display); }
	.lg-pin__chipimg { width: 40px; height: 40px; object-fit: cover; flex: none; }
	@media (hover: hover) { .lg-pin__chip:hover { background: var(--pin-ink); } }
	.lg-pin__chip:active { transform: translateY(1px); }
	.lg-pin__acts { display: flex; gap: 6px; }

	.lg-rail { list-style: none; margin: 0; padding: 0 0 var(--lg-s-3); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 82%); gap: var(--lg-s-4); overflow-x: auto; scroll-snap-type: x proximity; }
	@media (min-width: 900px) { .lg-rail { grid-auto-columns: minmax(280px, 31%); } }
	.lg-rail > li { scroll-snap-align: start; }
	.lg-rail__all { margin-top: var(--lg-s-3); }

	.lg-quick { width: min(520px, calc(100vw - 24px)); padding: 0; border: 3px solid #000; box-shadow: 10px 10px 0 #000; }
	.lg-quick::backdrop { background: rgba(0, 0, 0, .5); }
	.lg-quick__x { position: absolute; top: 6px; right: 6px; margin: 0; }
	.lg-quick__x button { width: 44px; height: 44px; border: 0; background: #fff; font: 900 1.6rem/1 var(--lg-font-display); cursor: pointer; }
	.lg-quick__in { display: grid; grid-template-columns: 96px 1fr; gap: var(--lg-s-4); padding: var(--lg-s-5) var(--lg-s-5) var(--lg-s-3); }
	.lg-quick__img { width: 96px; height: 128px; object-fit: cover; border: 2px solid #000; }
	.lg-quick__k { margin: 0; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; }
	.lg-quick h2 { font-size: var(--lg-fs-5); line-height: 1; margin: 6px 0; }
	.lg-quick__p { margin: 0; font-size: var(--lg-fs-2); }
	.lg-quick__acts, .lg-quick__go { display: flex; flex-wrap: wrap; gap: var(--lg-s-3); padding: 0 var(--lg-s-5) var(--lg-s-4); margin: 0; }
	.lg-quick__note { padding: 0 var(--lg-s-5); margin: 0; font-weight: 700; min-height: 1.2em; }
	@media (max-width: 599px) { .lg-quick { margin: auto 0 0; width: 100vw; max-width: 100vw; box-shadow: none; border-width: 3px 0 0; } }
}

/* 0.9.2: no sideways scroll on phones. Scroll rails are the containing block of their hidden labels
   (otherwise those labels sit 2000 px to the right of the page); grid children may shrink. */
.lg-rail, .lg-pin__slides, .lg-pin { position: relative; }
.lg-buch > *, .lg-buch section, .lg-rail, .lg-rep__cover > *, .lg-rep__img, .lg-kol > *, .lg-artikel [class*="__head"] > * { min-width: 0; max-width: 100%; }
.lg-rep__img img { max-width: 100%; }
@media (max-width: 699px) { .lg-kol__pull { margin-inline: 0; } }
.lg-rep__field > *, .lg-lek__head > *, .lg-kol__head > * { min-width: 0; }
.lg-artikel h1, .lg-buch h1 { overflow-wrap: break-word; hyphens: auto; }

/* 0.10.0 ---------------------------------------------------------------------------------------------------- */
/* Book page: the buy bar keeps clear of the Ausweis dock (dock: centre on phones/tablets, right on desktop) */
@media (min-width: 600px) and (max-width: 899px) { .lg-buch__sticky { right: 12px; left: 12px; margin-inline: auto; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 70px); } }
@media (min-width: 900px) { .lg-buch__sticky { right: auto; left: var(--lg-gutter, 24px); } }

/* Post cards: never wider than their column; long German words break with hyphens; smaller type in rails */
.lg-rail { align-items: start; }
.lg-rail > li, .lg-feed__grid > li { min-width: 0; }
.lg-pin { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.lg-pin__body, .lg-pin__foot, .lg-pin .lg-satz { min-width: 0; }
.lg-pin .lg-satz__de, .lg-pin__word, .lg-pin__q, .lg-pin__h { overflow-wrap: break-word; hyphens: auto; }
.lg-rail .lg-pin__satz .lg-satz__de { font-size: var(--lg-fs-4); line-height: 1.2; }
.lg-rail .lg-pin__word, .lg-rail .lg-pin__q { font-size: clamp(1.5rem, 2.4vw, 2rem); }
/* Pinnwand cards in Fixel Display (0.12.4): a step smaller, so long German words fit the card before they hyphenate */
.lg-pin__satz .lg-satz__de { font-size: clamp(1.35rem, 1.15rem + 1vw, 1.85rem); }
.lg-pin__word, .lg-pin__q { font-size: clamp(1.6rem, 3.4vw, 2.1rem); }
.lg-rail .lg-pin__satz .lg-satz__de { font-size: clamp(1.1rem, 1.02rem + .35vw, 1.25rem); }
.lg-rail .lg-pin__word, .lg-rail .lg-pin__q { font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.lg-pin__by { max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lg-pin__acts { flex-wrap: wrap; }
.lg-pin__actsub { font: 500 var(--lg-fs-1)/1 var(--lg-font-text); }

/* The English under a bar says what it is: tap to read it */
.lg-js .lg-pin .lg-satz:not(.is-open) .lg-satz__en, .lg-js .lg-buch .lg-satz:not(.is-open) .lg-satz__en { position: relative; min-height: 2.2em; }
.lg-js .lg-pin .lg-satz:not(.is-open) .lg-satz__en::after, .lg-js .lg-buch .lg-satz:not(.is-open) .lg-satz__en::after { content: "English · tap to read"; position: absolute; left: .6em; top: 50%; translate: 0 -50%; color: #fff; font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .04em; text-transform: uppercase; pointer-events: none; }

/* Feed: German first, English next to it; saved filter; space above "load more" */
.lg-feed__en { font: 500 var(--lg-fs-1)/1 var(--lg-font-text); opacity: .75; }
.lg-feed__filters .lg-subnav__role[aria-current="true"] .lg-feed__en, .lg-feed__saved[aria-pressed="true"] .lg-feed__en { opacity: .9; }
.lg-feed__saved { font: 700 var(--lg-fs-2)/1 var(--lg-font-display); }
.lg-feed__saved b { display: inline-grid; place-items: center; min-width: 1.5em; height: 1.5em; padding: 0 .3em; background: #000; color: #fff; font-size: var(--lg-fs-1); }
.lg-feed__saved[aria-pressed="true"] { background: #000; color: #fff; }
.lg-feed__saved[aria-pressed="true"] b { background: #fff; color: #000; }
.lg-feed__more { margin-top: var(--lg-s-6); padding-top: var(--lg-s-2); }
.lg-feed__more .lg-btn { padding-inline: 1.4em; }
.lg-feed__empty { margin: var(--lg-s-5) 0; font-size: var(--lg-fs-3); }

/* Share + download sheet */
.lg-kit { width: min(920px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 3px solid #000; box-shadow: 10px 10px 0 #000; overflow: auto; }
.lg-kit::backdrop { background: rgba(0, 0, 0, .55); }
.lg-kit__in { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: var(--lg-s-5); padding: var(--lg-s-5); }
.lg-kit__stage { align-self: start; background: #eee; border: 2px solid #000; }
.lg-kit__stage canvas { display: block; width: 100%; height: auto; }
.lg-kit h2 { font-size: var(--lg-fs-5); line-height: 1; margin: 6px 0 var(--lg-s-4); }
.lg-kit__row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--lg-s-3); }
.lg-kit__h3 { display: block; margin: var(--lg-s-4) 0 var(--lg-s-2); font: 800 var(--lg-fs-2)/1.2 var(--lg-font-display); }
.lg-kit__fine { margin: 0 0 var(--lg-s-3); font-size: var(--lg-fs-1); color: #444; max-width: 52ch; }
.lg-kit__pro { margin-top: var(--lg-s-4); padding-top: var(--lg-s-3); border-top: 3px solid #000; }
.lg-kit__cap { width: 100%; padding: 10px; border: 2px solid #000; font: 500 var(--lg-fs-2)/1.4 var(--lg-font-text); resize: vertical; margin-bottom: 8px; }
.lg-kit [data-state="busy"] { opacity: .6; pointer-events: none; }
@media (max-width: 699px) {
	.lg-kit { margin: auto 0 0; width: 100vw; max-width: 100vw; box-shadow: none; border-width: 3px 0 0; }
	.lg-kit__in { grid-template-columns: 1fr; }
	.lg-kit__stage { max-width: 200px; }
}
.lg-pin__q .lg-pin__slot { display: inline-grid; place-items: center; min-width: 2.2em; padding: 0 .15em; margin-right: .1em; border: 3px solid #000; border-bottom-width: 3px; background: #fff; font-size: .8em; line-height: 1.15; vertical-align: .08em; }
.lg-pin__pl { margin: 0; font: 700 var(--lg-fs-2)/1.3 var(--lg-font-display); }
.lg-pin__pl > span:first-child { font: 700 var(--lg-fs-1)/1 var(--lg-font-text); letter-spacing: .06em; text-transform: uppercase; margin-right: .4em; }

/* Legal pages (0.11.0): mandatory parts open, the rest folds; German binding, English lines quieter */
.lg-legal__menu .lg-subnav__role { text-decoration: none; }
.lg-legal__menu .lg-subnav__role[aria-current="page"] { background: #000; color: #fff; }
.lg-legal__doc { max-width: 78ch; padding-block: var(--lg-s-6) var(--lg-sheet); }
.lg-legal__head { margin-bottom: var(--lg-s-6); }
.lg-legal__head h1 { font-size: clamp(2.6rem, 7vw, 4.6rem); line-height: .95; letter-spacing: -0.045em; margin: var(--lg-s-3) 0; overflow-wrap: break-word; hyphens: auto; }
.lg-legal__sub { margin: 0 0 var(--lg-s-3); font-size: var(--lg-fs-3); }
.lg-legal__draft { display: inline-block; margin: 0 0 var(--lg-s-3); padding: .55em .8em; background: #000; color: #fff; font: 600 var(--lg-fs-2)/1.3 var(--lg-font-text); }
.lg-legal__meta { margin: 0; font-size: var(--lg-fs-2); color: #444; }
.lg-legal__note { padding: var(--lg-s-3) var(--lg-s-4); border-left: 6px solid #000; background: #f2f2f2; }
.lg-legal__open, .lg-legal__fold { border-top: 3px solid #000; }
.lg-legal__open { padding: var(--lg-s-4) 0 var(--lg-s-3); }
.lg-legal h2 { max-width: none; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 var(--lg-s-3); }
.lg-legal h3 { font-size: var(--lg-fs-3); margin: var(--lg-s-4) 0 var(--lg-s-2); }
.lg-legal__body p, .lg-legal__body li { font-size: var(--lg-fs-3); line-height: 1.55; }
.lg-legal__body a { color: inherit; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.lg-legal__en { color: #444; font-size: var(--lg-fs-2) !important; border-left: 3px solid var(--lg-ink-s, #000); padding-left: .7em; }
.lg-legal__fold > summary { list-style: none; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--lg-s-3); padding: var(--lg-s-4) 0; cursor: pointer; }
.lg-legal__fold > summary::-webkit-details-marker { display: none; }
.lg-legal__fold > summary h2 { margin: 0; }
.lg-legal__fold > summary::after { content: "+"; display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid #000; font: 900 1.6rem/1 var(--lg-font-display); }
.lg-legal__fold[open] > summary::after { content: "−"; background: #000; color: #fff; }
.lg-legal__fold > summary:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
.lg-legal__fold .lg-legal__body { padding-bottom: var(--lg-s-4); }
.lg-legal__tools { display: flex; justify-content: flex-end; margin: var(--lg-s-5) 0 var(--lg-s-2); }
.lg-legal__tools [data-when] { display: none; }
.lg-legal__tools [aria-pressed="false"] [data-when="off"], .lg-legal__tools [aria-pressed="true"] [data-when="on"] { display: inline; }
.lg-legal__table { overflow-x: auto; margin: var(--lg-s-3) 0; }
.lg-legal__table table { border-collapse: collapse; width: 100%; font-size: var(--lg-fs-2); }
.lg-legal__table th, .lg-legal__table td { border: 2px solid #000; padding: .5em .6em; text-align: left; vertical-align: top; }
.lg-legal__table th { background: #000; color: #fff; }
.lg-legal code { font-size: .9em; overflow-wrap: anywhere; }
@media print { .lg-legal__menu, .lg-legal__tools { display: none; } .lg-legal__fold > summary::after { display: none; } }
