*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;line-height:1.8;color:#222;background:#f4f1eb}
.panel-94d3bb{max-width:1100px;margin:0 auto;padding:0 24px}
.container-d20acf{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:48px 0;text-align:center;margin-bottom:48px}
.container-d20acf h1{font-size:36px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.container-d20acf p{font-size:16px;opacity:.8;font-style:italic}
.container-d20acf .nav-db8609{color:#fff;text-decoration:none;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.content-02a427{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.block-d158fc{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:28px;transition:box-shadow .2s}
.block-d158fc:hover{box-shadow:0 4px 20px rgba(0,0,0,.14)}
.block-d158fc h2{font-size:22px;margin-bottom:10px;line-height:1.3}
.block-d158fc h2 a{color:#2c3e50;text-decoration:none}
.block-d158fc .region-5b4978{font-size:12px;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.block-d158fc p{font-size:15px;color:#555;margin-bottom:14px}
.footer-dd30ad{color:#e74c3c;text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.outer-7451f0{max-width:780px;margin:0 auto;padding:0 24px 60px}
.outer-7451f0 h1{font-size:36px;margin-bottom:10px;line-height:1.2}
.outer-7451f0 .region-5b4978{font-size:13px;color:#888;display:block;margin-bottom:28px;text-transform:uppercase;letter-spacing:1px}
.outer-7451f0 h2{font-size:24px;margin:36px 0 14px}
.outer-7451f0 h3{font-size:19px;margin:28px 0 10px}
.outer-7451f0 p{margin-bottom:18px;font-size:17px}
.outer-7451f0 ul,.outer-7451f0 ol{margin:0 0 18px 28px}
.outer-7451f0 a{color:#e74c3c}
.outer-7451f0 img{max-width:100%;height:auto;border-radius:4px;margin:20px 0}
.module-e27f4c{border-top:2px solid #ddd;padding:28px 0;margin-top:48px;text-align:center;font-size:13px;color:#888}
.module-e27f4c a{color:#888}
.region-abb133{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:14px 0;margin-bottom:28px;font-size:14px;color:#888;font-style:italic;text-align:center}
.layout-2c7b23{background:#f9f3e3;padding:16px 20px;margin-top:28px;font-size:13px;color:#7a6230;border-radius:4px}
.footer-2936c3{font-size:11px;color:#888;margin:-22px 0 28px;text-transform:uppercase;letter-spacing:1.5px}
.block-bdf230{margin:0 0 28px}
.nav-b3a221{width:100%;height:auto;border-radius:4px}
.module-ba012d{border-top:2px solid #ddd;margin-top:40px;padding-top:24px}
.module-ba012d h4{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;color:#888}
.mag-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mag-related-item a{color:#2c3e50;text-decoration:none;font-size:15px}
.mag-related-item a:hover{color:#e74c3c}
.shell-212a07{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px 28px;margin-top:28px}
.shell-212a07 p{font-size:15px;padding:4px 0;margin:0}
.shell-212a07 .region-5b4978{margin:0 8px 0 0;display:inline}
.shell-212a07 a{color:#2c3e50;text-decoration:none}
.shell-212a07 a:hover{color:#e74c3c}
/* === Theme === */
:root{--primary:#2A2E5C;--accent:#C9A05A;--bg:#F0F2F5;--fg:#0F0F1A;--border:#C0C2CC;--r:2px;--fb:'Figtree';--fh:'Bree Serif'}
/* === Custom === */
@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&family=Figtree:wght@400;500;600;700&display=swap');

/* v.ade13d — layout revision */
:root { --moment: #5C6B4A; }

:root body { font-family: var(--fb), system-ui, -apple-system, sans-serif; color: var(--fg); background: var(--bg); line-height: 1.70; font-size: 16.5px; }
::selection { background: var(--accent); color: var(--fg); }
:root hr { border: 0; border-top: 1px solid var(--border); margin: 30px 0; }

/* ============================================================
   MASTHEAD — Foto-Hintergrund + Verlaufsschleier, editoriale Linksbündigkeit
   ============================================================ */
:root body > nav {
  background-image: linear-gradient(180deg, rgba(28,31,60,.80) 0%, rgba(42,46,92,.90) 60%, rgba(42,46,92,.95) 100%), url("/theme-assets/header-bg.jpg");
  background-size: cover;
  background-position: center 40%;
  border-bottom: 3px solid var(--accent);
  padding: 62px 0 42px;
  margin-bottom: 52px;
  text-align: left;
}
:root body > nav > div { max-width: 880px; margin: 0 auto; padding: 0 24px; position: relative; }
:root body > nav > div > h1,
:root body > nav > div > a {
  color: var(--bg); font-family: var(--fh), Cambria, serif; font-weight: 400;
  font-size: clamp(32px, 6vw, 46px); letter-spacing: .01em; line-height: 1.1;
  text-transform: none; text-decoration: none; display: inline-block;
}
:root body > nav > div > p {
  color: rgba(240,242,245,.86); font-family: var(--fb), system-ui, sans-serif;
  font-size: 14.5px; font-style: normal; max-width: 620px; margin-top: 7px;
}

/* Signatur-Monogramm: aufsteigende Flugbahn — die Miles-Trajektorie */
:root body > nav > div::before {
  content: ""; position: absolute; top: 4px; right: 24px; width: 50px; height: 50px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='30' fill='none' stroke='%23C9A05A' stroke-width='2'/%3E%3Cpath d='M15 45 L44 19' stroke='%23C9A05A' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='44' cy='19' r='4.5' fill='%23C9A05A'/%3E%3Cpath d='M15 45 l7 -1.5 -3.5 -6 z' fill='%23C9A05A'/%3E%3C/svg%3E");
  background-size: contain; background-repeat: no-repeat; opacity: .92;
}

/* Manifest-Zeile unter dem Wortbild — die Signatur-Stimme */
:root body > nav > div::after {
  content: "Meilen wie ein Portfolio führen — jede Buchung eine Kalkulation, kein Bauchgefühl.";
  display: block; font-family: var(--fh), Cambria, serif; font-style: italic;
  font-size: 14px; color: rgba(201,160,90,.95); letter-spacing: .01em;
  margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(201,160,90,.32); max-width: 560px;
}

:root main { max-width: 880px; margin: 0 auto; padding: 0 24px 80px; }

/* ============================================================
   ARTIKEL-SEITE — Typografie
   ============================================================ */
:root main > h1 { font-family: var(--fh), Cambria, serif; font-size: 38px; font-weight: 400; color: var(--primary); line-height: 1.16; margin: 6px 0 6px; letter-spacing: -0.01em; }
:root main > time { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; color: var(--accent); margin-bottom: 30px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }

:root main > article > p { margin-bottom: 22px; font-size: 18px; max-width: 66ch; line-height: 1.78; }
:root main > article > h2 { font-family: var(--fh), Cambria, serif; font-size: 28px; font-weight: 400; color: var(--primary); margin: 2.5em 0 0.6em; padding-bottom: 8px; border-bottom: 1px solid var(--accent); letter-spacing: -0.005em; }
:root main > article > h3 { font-family: var(--fh), Cambria, serif; font-size: 21px; font-weight: 400; color: var(--primary); margin: 1.75em 0 0.4em; font-style: normal; max-width: 66ch; }
:root main > article ul, :root main > article ol { margin: 0 0 18px 28px; max-width: 66ch; }
:root main > article li { margin-bottom: 7px; font-size: 17px; line-height: 1.7; }
:root main > article li strong { color: var(--primary); font-weight: 700; }
:root main > article blockquote { position: relative; border-left: 3px solid var(--accent); padding: 12px 0 12px 32px; margin: 30px 0; font-style: italic; color: var(--primary); background: rgba(201,160,90,.07); border-radius: 0 8px 8px 0; max-width: 66ch; }
:root main > article blockquote::before { content: "\201C"; position: absolute; left: 8px; top: 4px; font-family: var(--fh), Cambria, serif; font-size: 34px; line-height: 1; color: var(--accent); opacity: .55; }
:root main > article > p strong { color: var(--primary); font-weight: 700; background-color: rgba(42,46,92,.10); padding: 2px 4px; border-radius: 3px; }

/* Dinkus zwischen den Abschnitten */
:root main > article > h2::before {
  content: "✦ ✦ ✦"; display: block; text-align: center; color: var(--accent);
  font-size: 12px; letter-spacing: .55em; font-weight: 400; margin: 0 0 .7em; opacity: .75;
}

/* Fließtext-Links */
:root main > article > p a, :root main > article > p a:visited { color: var(--primary); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1.5px; font-weight: 600; }
:root main > article > p a:hover { color: var(--accent); text-decoration-color: var(--primary); }
/* Externe (Referenz-)Links: dezenter Pfeil */
:root main > article > p a[href^="http"]:not([href$=".html"])::after { content: " ↗"; font-size: .82em; color: var(--accent); }

/* Interne Vergleichs-Links: erkennbarer Chip für die Entscheidungsphase — beat body-link rule per RULE J */
:root main > article > p a[href$=".html"],
:root main > article > p a[href$=".html"]:visited,
:root main > article > li a[href$=".html"],
:root main > article > ul a[href$=".html"],
:root main > article > ol a[href$=".html"] {
  display: inline; background: rgba(201,160,90,.16); color: var(--primary);
  text-decoration: none; padding: 1px 7px; border-radius: 5px; font-weight: 700;
  box-shadow: inset 0 -1.5px 0 rgba(201,160,90,.55);
}
:root main > article > p a[href$=".html"]:hover,
:root main > article > li a[href$=".html"]:hover,
:root main > article > ul a[href$=".html"]:hover,
:root main > article > ol a[href$=".html"]:hover { background: var(--primary); color: var(--bg); box-shadow: none; }

/* Affiliate-CTAs (falls vorhanden) — klarer Handlungsaufruf */
:root main > article > p a[href^="/go/"],
:root main > article > p a[href^="/ref/"],
:root main > article > p a[href^="/try/"],
:root main > article > p a[href^="/check/"],
:root main > article > p a[href^="/partner/"],
:root main > article > p a[href^="/top/"] {
  display: inline-block; background: var(--accent); color: var(--primary);
  border: 1.5px solid var(--accent); padding: 6px 16px; border-radius: 6px;
  text-decoration: none; font-family: var(--fb), system-ui, sans-serif; font-weight: 700;
  font-size: 14px; letter-spacing: .01em; line-height: 1.4; box-shadow: none;
}
:root main > article > p a[href^="/go/"]::after,
:root main > article > p a[href^="/ref/"]::after,
:root main > article > p a[href^="/try/"]::after,
:root main > article > p a[href^="/check/"]::after,
:root main > article > p a[href^="/partner/"]::after,
:root main > article > p a[href^="/top/"]::after { content: " →"; font-weight: 700; }
:root main > article > p a[href^="/go/"]:hover,
:root main > article > p a[href^="/ref/"]:hover,
:root main > article > p a[href^="/try/"]:hover,
:root main > article > p a[href^="/check/"]:hover,
:root main > article > p a[href^="/partner/"]:hover,
:root main > article > p a[href^="/top/"]:hover { background: var(--primary); color: var(--bg); border-color: var(--primary); }

/* Artikel-Bilder — Foto-Fallback, damit fehlende Assets als Themen-Band lesen statt als Broken-Icon */
:root main > article > figure.block-bdf230 {
  margin: 0 0 32px; border-radius: 8px; overflow: hidden; max-height: 320px;
  background-image: linear-gradient(rgba(20,24,44,.12), rgba(20,24,44,.12)), url("/theme-assets/feature-photo.jpg");
  background-size: cover; background-position: center;
}
:root main > article > figure.block-bdf230 > img { display: block; width: 100%; height: 320px; object-fit: cover; object-position: center; color: transparent; font-size: 0; border-radius: 0; margin: 0; }
:root main > article figure.inline-wrap {
  margin: 28px 0; border-radius: 8px; overflow: hidden;
  background-image: linear-gradient(rgba(20,24,44,.10), rgba(20,24,44,.10)), url("/theme-assets/feature-photo.jpg");
  background-size: cover; background-position: center;
}
:root main > article figure.inline-wrap > img.inline-img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: cover; color: transparent; font-size: 0; margin: 0; border-radius: 0; }
:root main > article > figure > figcaption { font-family: var(--fb), system-ui, sans-serif; font-size: 12.5px; color: var(--fg); opacity: .68; text-align: center; margin-top: 10px; font-style: italic; }

/* Daten-Tabellen */
:root main > article > table, :root main > article table { width: 100%; max-width: 66ch; border-collapse: collapse; margin: 36px 0; font-family: var(--fb), system-ui, sans-serif; font-size: 14.5px; background: #faf5ec; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
:root main > article table thead { background: var(--primary); }
:root main > article table th { color: var(--bg); padding: 12px 16px; text-align: left; font-family: var(--fh), Cambria, serif; font-weight: 400; font-size: 13.5px; letter-spacing: .02em; }
:root main > article table td { padding: 11px 16px; border-bottom: 1px solid var(--border); vertical-align: top; font-variant-numeric: tabular-nums; }
:root main > article table tbody tr:last-child td { border-bottom: 0; }
:root main > article table tbody tr:hover td { background: rgba(42,46,92,.03); }

:root main > article > aside { background: rgba(42,46,92,.05); border-left: 4px solid var(--primary); border-radius: 0 8px 8px 0; padding: 16px 24px; margin: 32px 0; font-size: 14.5px; line-height: 1.7; color: var(--fg); font-family: var(--fb), system-ui, sans-serif; max-width: 66ch; }

/* Verwandte-Artikel (Aside am Artikelende) */
:root main > article + aside {
  background: #faf5ec; border: 1px solid rgba(42,46,92,.1); border-radius: 8px;
  padding: 26px 30px; margin-top: 56px; box-shadow: 0 1px 4px rgba(20,20,40,.05);
}
:root main > article + aside h4 { font-family: var(--fb), system-ui, sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: .2em; color: var(--primary); border-bottom: 1px solid rgba(42,46,92,.18); padding-bottom: 10px; margin-bottom: 18px; font-weight: 700; }
:root main > article + aside .mag-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 32px; }
:root main > article + aside .mag-related-item a { display: block; padding: 9px 0; border-bottom: 1px dotted rgba(42,46,92,.15); color: var(--primary); text-decoration: none; font-size: 15px; line-height: 1.45; font-weight: 500; }
:root main > article + aside .mag-related-item a:hover { color: var(--accent); }

/* ============================================================
   HOMEPAGE — 6-Spalten-Raster · Hero → Redaktions-Auswahl → Notizbuch → Chronik
   ============================================================ */
:root main:has(> div > div > h2) > div:first-of-type {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 30px; align-items: stretch;
}

/* Chronik-Karten (Standard, Karten 5+): zwei nebeneinander, ruhig */
:root main > div > div:has(> h2) {
  grid-column: span 3; order: 5; margin: 0; display: flex; flex-direction: column;
  background: #faf5ec; border: 1px solid rgba(42,46,92,.12); border-left: 3px solid var(--accent);
  border-radius: 8px; box-shadow: 0 1px 4px rgba(20,20,40,.05); padding: 26px 32px;
  transition: box-shadow .15s ease, transform .12s ease;
}
:root main > div > div:has(> h2):hover { box-shadow: 0 4px 16px rgba(20,20,40,.10); transform: translateY(-2px); }
:root main > div > div:has(> h2) > p:first-child { font-family: var(--fb), system-ui, sans-serif; font-size: 11px; color: var(--accent); letter-spacing: .16em; text-transform: uppercase; margin-bottom: 10px; font-weight: 700; }
:root main > div > div:has(> h2) > h2 { font-family: var(--fh), Cambria, serif; font-size: 20px; font-weight: 400; margin: 0 0 12px; line-height: 1.28; padding: 0; border: 0; letter-spacing: -0.005em; }
:root main > div > div:has(> h2) > h2 a { color: var(--primary); text-decoration: none; }
:root main > div > div:has(> h2) > h2 a:hover { color: var(--accent); }
:root main > div > div:has(> h2) > p:nth-of-type(2) { font-family: var(--fb), system-ui, sans-serif; font-size: 15px; line-height: 1.6; color: var(--fg); opacity: .84; margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
:root main > div > div:has(> h2) > a:last-child { margin-top: auto; align-self: flex-start; font-family: var(--fb), system-ui, sans-serif; font-size: 12px; color: var(--primary); background: transparent; padding: 0 0 2px; text-decoration: none; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; border-bottom: 1.5px solid var(--accent); }
:root main > div > div:has(> h2) > a:last-child:hover { color: var(--accent); }

/* Band-Label: REDAKTIONS-AUSWAHL (zweiter Moment) */
:root main:has(> div > div > h2) > div:first-of-type::before {
  content: "Redaktions-Auswahl — zuerst lesen"; grid-column: 1 / -1; order: 2;
  font-family: var(--fb), system-ui, sans-serif; text-transform: uppercase; letter-spacing: .2em;
  font-size: 14px; font-weight: 700; color: var(--primary); padding: 6px 0 12px;
  border-bottom: 1px solid rgba(42,46,92,.2); margin: 18px 0 2px;
}

/* Strip 1 — DAS NOTIZBUCH (Foto-Band zwischen Auswahl und Chronik) */
:root main:has(> div > div > h2) > div:first-of-type::after {
  content: "DAS NOTIZBUCH"; grid-column: 1 / -1; order: 4; min-height: 200px;
  display: flex; align-items: center; justify-content: center;
  background-image: linear-gradient(rgba(20,24,28,.55), rgba(20,24,28,.25)), url("/theme-assets/feature-photo.jpg");
  background-size: cover; background-position: center 30%; border-radius: 8px;
  color: #faf5ec; font-family: var(--fb), system-ui, sans-serif; font-size: 14px;
  letter-spacing: .32em; text-transform: uppercase; text-shadow: 0 1px 4px rgba(0,0,0,.5); margin: 40px 0 20px;
}

/* HERO — die neueste Analyse als laute Stimme, volle Breite */
:root main > div > div:has(> h2):first-child {
  grid-column: 1 / -1; order: 1; position: relative;
  background: #f8f2e6; border: 1px solid rgba(201,160,90,.35); border-left: 5px solid var(--moment);
  border-radius: 10px; box-shadow: 0 3px 18px rgba(15,15,26,.08); padding: 44px 48px 40px; overflow: hidden;
}
:root main > div > div:has(> h2):first-child::after {
  content: "N° 01"; position: absolute; top: 36px; right: 44px;
  font-family: var(--fh), Cambria, serif; font-size: 20px; letter-spacing: .12em; color: var(--accent);
}
:root main > div > div:has(> h2):first-child > p:first-child { font-size: 11px; margin-bottom: 14px; letter-spacing: .04em; text-transform: none; color: var(--fg); }
:root main > div > div:has(> h2):first-child > p:first-child::before {
  content: "Neueste Analyse"; display: inline-block; background: var(--primary); color: var(--bg);
  font-size: 9.5px; letter-spacing: .16em; font-weight: 700; padding: 4px 11px; margin-right: 12px;
  border-radius: 4px; vertical-align: 1px; text-transform: uppercase; font-family: var(--fb), system-ui, sans-serif;
}
:root main > div > div:has(> h2):first-child > p:first-child::after { content: " · Von Daniel Krause"; color: var(--fg); opacity: .55; letter-spacing: .04em; }
:root main > div > div:has(> h2):first-child > h2 { font-family: var(--fh), Cambria, serif; font-size: clamp(30px, 4.4vw, 42px); line-height: 1.1; margin: 6px 0 16px; max-width: 22ch; letter-spacing: -0.015em; -webkit-line-clamp: unset; display: block; overflow: visible; }
:root main > div > div:has(> h2):first-child > h2 a { color: var(--primary); text-decoration: none; }
:root main > div > div:has(> h2):first-child > p:nth-of-type(2) { font-family: var(--fb), system-ui, sans-serif; font-size: 20px; line-height: 1.55; max-width: 64ch; color: var(--fg); opacity: .92; margin-bottom: 24px; display: block; -webkit-line-clamp: unset; overflow: visible; }
:root main > div > div:has(> h2):first-child > p:nth-of-type(2)::first-letter {
  font-family: var(--fh), Cambria, serif; float: left; font-size: 56px; line-height: .78;
  padding: 6px 12px 0 0; color: var(--moment); font-weight: 700;
}
:root main > div > div:has(> h2):first-child > a:last-child {
  display: inline-block; margin-top: 4px; border: 1.5px solid var(--primary); color: var(--primary);
  background: transparent; padding: 10px 24px; border-radius: 6px; font-family: var(--fb), system-ui, sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; border-bottom-width: 1.5px;
}
:root main > div > div:has(> h2):first-child > a:last-child:hover { background: var(--primary); color: var(--bg); border-color: var(--primary); }

/* REDAKTIONS-AUSWAHL — Karten 2–4, drei nebeneinander, kuratiert */
:root main > div > div:has(> h2):nth-child(2),
:root main > div > div:has(> h2):nth-child(3),
:root main > div > div:has(> h2):nth-child(4) {
  grid-column: span 2; order: 3; border-left: 1px solid rgba(42,46,92,.12); border-top: 3px solid var(--accent); border-radius: 8px;
}
:root main > div > div:has(> h2):nth-child(2) > p:first-child::before { content: "I · "; color: var(--primary); font-weight: 700; }
:root main > div > div:has(> h2):nth-child(3) > p:first-child::before { content: "II · "; color: var(--primary); font-weight: 700; }
:root main > div > div:has(> h2):nth-child(4) > p:first-child::before { content: "III · "; color: var(--primary); font-weight: 700; }

/* ============================================================
   HOMEPAGE-CHRONIK-INDEX (Tail) — volle Breite, Magazin-Index + Strip 2
   ============================================================ */
:root main:has(> div > div > h2) > div:last-of-type {
  columns: 3; column-gap: 44px; background: transparent; border: 0; box-shadow: none;
  padding: 0; margin: 8px 0 0; max-width: none;
}
:root main:has(> div > div > h2) > div:last-of-type::before {
  content: "WEITERLESEN"; column-span: all; display: flex; align-items: center; justify-content: center;
  min-height: 210px;
  background-image: linear-gradient(rgba(20,24,28,.55), rgba(20,24,28,.25)), url("/theme-assets/feature-photo.jpg");
  background-size: cover; background-position: center 70%; border-radius: 8px;
  color: #faf5ec; font-family: var(--fb), system-ui, sans-serif; font-size: 14px; letter-spacing: .32em;
  text-transform: uppercase; text-shadow: 0 1px 4px rgba(0,0,0,.5); margin: 60px 0 30px;
}
:root main:has(> div > div > h2) > div:last-of-type > p {
  break-inside: avoid; margin: 0; padding: 9px 0; border-bottom: 1px dotted rgba(42,46,92,.2);
  font-family: var(--fh), Cambria, serif; font-size: 15px; line-height: 1.4;
}
:root main:has(> div > div > h2) > div:last-of-type > p > span { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: 10.5px; letter-spacing: .1em; color: var(--accent); text-transform: uppercase; margin-bottom: 3px; font-variant-numeric: tabular-nums; }
:root main:has(> div > div > h2) > div:last-of-type > p > a { color: var(--primary); text-decoration: none; font-weight: 500; }
:root main:has(> div > div > h2) > div:last-of-type > p > a:hover { color: var(--accent); }

/* ============================================================
   FOOTER
   ============================================================ */
:root footer { background: transparent; border-top: 1px solid var(--border); padding: 26px 0 40px; margin-top: 64px; text-align: center; font-family: var(--fb), system-ui, sans-serif; font-size: 12.5px; color: var(--fg); opacity: .60; letter-spacing: .03em; }
:root footer a { color: var(--fg); text-decoration: none; border-bottom: 1px dotted var(--border); }
:root footer a:hover { color: var(--primary); border-bottom-color: var(--primary); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 760px) {
  :root body > nav { padding: 46px 0 32px; }
  :root body > nav > div::before { width: 40px; height: 40px; right: 20px; }
  :root body > nav > div::after { font-size: 13px; }

  :root main:has(> div > div > h2) > div:first-of-type { grid-template-columns: 1fr; gap: 24px; }
  :root main > div > div:has(> h2),
  :root main > div > div:has(> h2):first-child,
  :root main > div > div:has(> h2):nth-child(2),
  :root main > div > div:has(> h2):nth-child(3),
  :root main > div > div:has(> h2):nth-child(4) { grid-column: 1 / -1; }
  :root main > div > div:has(> h2):first-child { padding: 30px 26px; }
  :root main > div > div:has(> h2):first-child > h2 { font-size: 30px; max-width: none; }
  :root main > div > div:has(> h2):first-child::after { display: none; }
  :root main:has(> div > div > h2) > div:first-of-type::after { min-height: 150px; }

  :root main:has(> div > div > h2) > div:last-of-type { columns: 1; }
  :root main:has(> div > div > h2) > div:last-of-type::before { min-height: 150px; }

  :root main > article > p, :root main > article > h3 { font-size: 17px; }
  :root main > article + aside .mag-related-grid { grid-template-columns: 1fr; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  :root main:has(> div > div > h2) > div:last-of-type { columns: 2; }
}
