/* PSO.EU brand overlay — dark green journal */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap");

:root {
  --pso-accent: #1f4d2e;
  --pso-accent-dark: #143620;
  --pso-font-display: "Cormorant Garamond", "Georgia", "Times New Roman", serif;
  --pso-font-arabic: "Noto Sans Arabic", "Segoe UI", "Tahoma", sans-serif;
  --pso-prose-measure: min(70ch, 100%);
  --pso-prose-indent: 1.5rem;
  --pso-text-muted: #4a5648;
  --pso-text-scale: 1;
  --pso-body-size: 16px;
  --pso-float-w: clamp(180px, 26vw, 260px);
  /* Gutter strip — most of the image sits right of the text measure */
  --pso-float-bleed: calc(var(--pso-float-w) * 0.9);
  /* Air between wrapping text and image (left) */
  --pso-float-gap: 3.5em;
  /* Pull figure up so it bridges sections (not glued to one paragraph) */
  --pso-float-nudge-up: 4em;
  /* Extra air above the image vs. text (red-circle zone) */
  --pso-float-gap-top: 2em;
  --pso-float-shape-gap: 1.25em;
  /* Right hero — shrinks on mid desktops so prose/images keep room */
  --pso-hero-w: 480px;
}

html[data-pso-fs="sm"] { --pso-text-scale: 0.92; }
html[data-pso-fs="md"] { --pso-text-scale: 1; }
html[data-pso-fs="lg"] { --pso-text-scale: 1.12; }
html[data-pso-fs="xl"] { --pso-text-scale: 1.24; }

/* Mobile header: font-size controls where the logo usually sits */
.pso-font-size {
  display: none;
}
.pso-font-size__btn {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  min-width: 40px;
  height: 40px;
  border: 1px solid #c5cec6;
  border-radius: 8px;
  background: #f4f6f4;
  color: #1a2218;
  font-family: var(--pso-font-display);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.pso-font-size__btn + .pso-font-size__btn {
  margin-left: 8px;
}
.pso-font-size__btn:hover,
.pso-font-size__btn:focus {
  background: #e8eee8;
  border-color: #1f4d2e;
  outline: none;
}
.pso-font-size__btn:focus-visible {
  box-shadow: 0 0 0 2px rgba(31, 77, 46, 0.35);
}
.pso-font-size__btn[disabled] {
  opacity: 0.4;
  cursor: default;
}

/* Header: journal tagline only (not the domain), display serif like H2/intro */
.qrt-brand-text {
  display: block;
  color: #141a12;
  text-decoration: none;
  font-size: inherit;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.12;
  white-space: normal;
}
.qrt-brand-tag {
  display: flex;
  flex-direction: column;
  gap: 0.05em;
  margin-top: 0;
  font-family: var(--pso-font-display);
  font-size: clamp(0.95rem, 1.15vw, 1.28rem);
  color: #141a12;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.12;
  white-space: normal;
  min-width: 0;
  max-width: 100%;
}
.qrt-brand-tag__l1,
.qrt-brand-tag__l2 {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.qrt-brand-tag__l2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Top-bar logo slot — never shove into nav */
.qrt-app .qrt-top-bar .qrt-logo {
  width: auto;
  max-width: min(260px, 22vw);
  margin-left: 14px;
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
}
.qrt-app .qrt-top-bar .qrt-menu {
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 12px;
  margin-right: 12px;
}
.qrt-app .qrt-top-bar .qrt-menu nav {
  max-width: 100%;
  overflow: hidden;
}
.qrt-app .qrt-top-bar .qrt-symbol .pso-drop {
  width: 28px;
  height: 28px;
  object-fit: contain;
  object-position: center;
}

/* Preloader: centered journal title over progress bar */
.qrt-app .qrt-preloader .qrt-preloader-content {
  width: min(90vw, 380px);
  text-align: center;
}
.qrt-app .qrt-preloader .qrt-preloader-content .qrt-logo {
  width: 100%;
  max-width: none;
  margin: 0 auto 14px;
  text-align: center;
}
.qrt-app .qrt-preloader .pso-preloader-title {
  display: block;
  width: 100%;
  margin: 0;
  text-align: center;
  white-space: normal;
  font-family: var(--pso-font-display);
  font-size: clamp(1.15rem, 2.6vw, 1.5rem);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: #1a2218;
}

/*
  Accent surfaces were yellow (#ffd54f) with dark text.
  Now dark green (#1f4d2e) → text must be white everywhere on that fill.
*/
.qrt-btn.qrt-btn-color,
.qrt-btn.qrt-btn-color:hover,
.qrt-btn.qrt-btn-color:focus,
.qrt-btn.qrt-btn-color span,
.qrt-submit,
.qrt-submit:hover,
.qrt-app .qrt-left-bar .qrt-change-language .qrt-leng.qrt-active,
.qrt-app .qrt-top-bar .qrt-menu nav ul li ul,
.qrt-app .qrt-top-bar .qrt-menu nav ul li ul a,
.qrt-blog-pagination li a.qrt-active,
.qrt-blog-pagination li a.qrt-active:hover,
.qrt-contact-form .qrt-input.qrt-active + label,
.qrt-contact-form .qrt-input:focus + label,
blockquote {
  color: #fff !important;
}

/* Nav / buttons / left bar — Quarty default is 10px; bump for readability */
.qrt-app .qrt-top-bar .qrt-menu nav ul li a {
  font-size: 12px;
}
.qrt-btn,
.qrt-btn.qrt-btn-md,
.qrt-btn.qrt-btn-sm {
  font-size: 12px;
}
.qrt-app .qrt-left-bar .qrt-current-page-title {
  font-size: 11px;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /* Keep clear of top-bar + 6 language chips */
  bottom: max(250px, calc(100vh - 340px));
  z-index: 0;
}
.qrt-app .qrt-left-bar {
  overflow: hidden;
  z-index: 9;
}
.qrt-app .qrt-left-bar .qrt-change-language {
  z-index: 2;
  bottom: 24px;
}
.qrt-app .qrt-left-bar .qrt-change-language .qrt-leng {
  font-size: 10px;
  width: 26px;
  height: 26px;
  margin-bottom: 6px;
  letter-spacing: 1px;
}

.pso-stub-note { opacity: .75; font-style: italic; }
.pso-disclaimer {
  background: #e4eee6;
  border-left: 3px solid #1f4d2e;
  padding: 14px 16px;
  margin: 0 0 24px;
}

/*
  Magazine reading (Hochglanz):
  1 Serif display titles
  2 Reading measure (~70ch) — white space left of text, tight to hero
  3 Lead intro after H1
  4 H1/H2 hierarchy
  5 Airy paragraph rhythm
  6 Drop cap after divider
*/
.qrt-app .qrt-half-content-frame .qrt-left p,
.qrt-app .qrt-half-content-frame .qrt-left .qrt-text,
.qrt-app .qrt-half-content-frame .qrt-left ul,
.qrt-app .qrt-half-content-frame .qrt-left ol,
.qrt-app .qrt-half-content-frame .qrt-left .pso-disclaimer,
.qrt-app .qrt-half-content-frame .qrt-left .pso-sitemap-list {
  max-width: var(--pso-prose-measure);
  line-height: 1.78;
}
.qrt-app .qrt-half-content-frame .qrt-left p {
  margin: 0 0 1.45em;
  font-size: calc(var(--pso-body-size) * var(--pso-text-scale));
  color: #2a3228;
  letter-spacing: 0.01em;
}
.qrt-app .qrt-half-content-frame .qrt-left p:last-child {
  margin-bottom: 0;
}
.qrt-app .qrt-half-content-frame .qrt-left h2 ~ p,
.qrt-app .qrt-half-content-frame .qrt-left h2 ~ ul,
.qrt-app .qrt-half-content-frame .qrt-left h2 ~ ol,
.qrt-app .qrt-half-content-frame .qrt-left h2 ~ .qrt-text,
.qrt-app .qrt-half-content-frame .qrt-left h2 ~ .pso-disclaimer {
  margin-left: var(--pso-prose-indent);
  max-width: min(70ch, calc(100% - var(--pso-prose-indent)));
}
/* Clip sideways bleed so floats/bands never paint under the fixed hero */
.qrt-app .qrt-content .qrt-half-content-frame {
  overflow: visible;
}
.qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
  padding-right: 28px;
  overflow-x: hidden !important; /* fallback */
  overflow-x: clip !important;
  overflow-y: visible !important;
  box-sizing: border-box;
}
.qrt-app .qrt-content .qrt-half-content-frame .qrt-right {
  width: var(--pso-hero-w);
  z-index: 4;
  flex: 0 0 var(--pso-hero-w);
}

/* Flow = text measure + gutter strip; text stays on measure, images use the strip */
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow {
  max-width: min(100%, calc(var(--pso-prose-measure) + var(--pso-float-bleed)));
  overflow: visible;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow > .qrt-mb-40 {
  max-width: none;
}
/* Keep body copy on the reading measure — do not fill the gutter strip */
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow p,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow .qrt-text,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow ul,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow ol,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow .pso-disclaimer,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow .pso-sitemap-list {
  max-width: var(--pso-prose-measure);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow h2 ~ p,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow h2 ~ ul,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow h2 ~ ol,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow h2 ~ .qrt-text,
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow h2 ~ .pso-disclaimer {
  max-width: min(70ch, calc(100% - var(--pso-prose-indent)));
}
@media (min-width: 1200px) {
  .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    width: calc(100% - var(--pso-hero-w));
    padding-left: 48px;
    padding-right: 28px;
  }
}
/* Mid desktop: fixed 480px hero eats too much of ~1200–1500 CSS px */
@media (min-width: 1200px) and (max-width: 1499px) {
  :root {
    --pso-hero-w: clamp(300px, 32vw, 400px);
    --pso-float-w: clamp(150px, 20vw, 220px);
    --pso-float-bleed: calc(var(--pso-float-w) * 0.7);
  }
  .qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title {
    font-size: clamp(2.1rem, 3.6vw, 3.4rem);
  }
  .qrt-app .qrt-top-bar .qrt-logo {
    max-width: min(200px, 18vw);
  }
  .qrt-brand-tag {
    font-size: clamp(0.88rem, 1vw, 1.1rem);
  }
}
@media (min-width: 1500px) {
  :root {
    --pso-hero-w: 480px;
  }
}
@media (min-width: 1400px) {
  :root {
    --pso-prose-indent: 1.75rem;
  }
  .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    padding-left: 72px;
    padding-right: 24px;
  }
}
@media (min-width: 1800px) {
  .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    padding-left: 96px;
    padding-right: 20px;
  }
}
@media (max-width: 768px) {
  :root {
    --pso-prose-indent: 0;
    --pso-body-size: 18px;
  }
  .qrt-app .qrt-half-content-frame .qrt-left p {
    font-size: calc(var(--pso-body-size) * var(--pso-text-scale));
    line-height: 1.75;
  }
  .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    padding-right: inherit;
  }
  /* Logo slot empty on mobile — use center for A− / A+ */
  .qrt-app .qrt-top-bar .qrt-logo {
    display: none !important;
  }
  .pso-font-size {
    display: inline-flex;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
  }
}

/* 1 + 4 · Serif H1 / magazine hierarchy */
.qrt-app .qrt-half-content-frame .qrt-left h1,
.qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title {
  font-family: var(--pso-font-display);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #141a12;
  text-shadow: none;
}
.qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.04em;
  margin: 0 0 1.15rem;
  max-width: 100%;
  font-size: clamp(2.55rem, 4.6vw, 4.5rem);
  line-height: 1.02;
  text-wrap: balance;
}
.qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title .pso-display-title__line {
  display: block;
  max-width: 100%;
}
.qrt-app .qrt-half-content-frame .qrt-left h1:not(.pso-display-title) {
  margin: 0 0 1.15rem;
  max-width: 100%;
  font-size: clamp(2.4rem, 4.2vw, 4.1rem);
  line-height: 1.05;
  text-wrap: balance;
}
@media (min-width: 769px) {
  /* Long FR/DE phrases must wrap — nowrap pushed H1 into the hero */
  .qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title .pso-display-title__line--phrase {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title,
  .qrt-app .qrt-half-content-frame .qrt-left h1:not(.pso-display-title) {
    font-size: calc(clamp(2.25rem, 9.5vw, 3.35rem) * var(--pso-text-scale));
  }
  .qrt-app .qrt-half-content-frame .qrt-left h1 + .qrt-text,
  .qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title + .qrt-text {
    font-size: calc(1.2rem * var(--pso-text-scale));
    line-height: 1.55;
  }
  .qrt-app .qrt-half-content-frame .qrt-left h2 {
    font-size: calc(clamp(1.7rem, 5.5vw, 2.15rem) * var(--pso-text-scale));
  }
}

/* 3 · Lead intro (first .qrt-text after H1) */
.qrt-app .qrt-half-content-frame .qrt-left h1 + .qrt-text,
.qrt-app .qrt-half-content-frame .qrt-left h1.pso-display-title + .qrt-text {
  max-width: min(58ch, 100%);
  margin: 0 0 1.75rem;
  font-size: clamp(1.15rem, 1.55vw, 1.38rem);
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--pso-text-muted);
}

/* Divider breathing room */
.qrt-app .qrt-half-content-frame .qrt-left .qrt-divider {
  margin-top: 0.5rem;
  margin-bottom: 2.25rem;
  opacity: 0.55;
}

/* 4 · H2: smaller than H1, clear air above; wide enough for “Section: Short Title” */
.qrt-app .qrt-half-content-frame .qrt-left h2 {
  font-family: var(--pso-font-display);
  font-weight: 600;
  font-size: clamp(1.55rem, 2.2vw, 2.05rem);
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: #171d15;
  clear: both;
  max-width: min(44ch, 100%);
  margin: 2.85rem 0 1.05rem;
  text-wrap: balance;
  text-shadow: none;
}
/* Last section title next to Up next — wrap beside the card, do not clear below it */
.qrt-app .qrt-half-content-frame .qrt-left h2.pso-h2--beside-up-next {
  clear: none;
}
.qrt-app .qrt-half-content-frame .qrt-left .qrt-divider + h2,
.qrt-app .qrt-half-content-frame .qrt-left h1 + h2 {
  margin-top: 1.5rem;
}

/* Home section hubs: icon + plain title, browse CTA after intro */
.qrt-app .qrt-half-content-frame .qrt-left h2.pso-section-hub__title {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  max-width: min(48ch, 100%);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15em;
  color: var(--pso-accent);
  font-size: 0.72em;
  line-height: 1;
  transform: translateY(-0.06em);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__text {
  flex: 1 1 auto;
  min-width: 0;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__cta {
  clear: both;
  margin: 0.35rem 0 0.5rem;
  margin-left: var(--pso-prose-indent);
  max-width: min(70ch, calc(100% - var(--pso-prose-indent)));
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__btn {
  background-color: transparent;
  border: 2px solid var(--pso-accent);
  color: var(--pso-accent);
  box-shadow: none;
  text-decoration: none;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__btn span {
  color: var(--pso-accent);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__btn:hover,
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__btn:focus {
  background-color: var(--pso-accent);
  border-color: var(--pso-accent);
  color: #fff;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__btn:hover span,
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__btn:focus span {
  color: #fff;
}
@media (max-width: 991px) {
  .qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub__cta {
    margin-left: 0;
    max-width: 100%;
  }
}

/* 6 · Drop cap on first body paragraph after divider */
.qrt-app .qrt-half-content-frame .qrt-left .qrt-divider + p::first-letter {
  font-family: var(--pso-font-display);
  float: left;
  font-size: 3.55em;
  line-height: 0.82;
  font-weight: 600;
  padding: 0.06em 0.1em 0 0;
  margin: 0.04em 0.02em 0 0;
  color: #141a12;
}

/*
  Hero overlay (right column = 480px fixed, ~400px after padding).
  Brand + claim on two lines; fluid size so long journal brand never clips.
*/
.qrt-half-banner .qrt-overlay {
  box-sizing: border-box;
}
.qrt-half-banner .qrt-overlay .qrt-banner-title {
  max-width: 100%;
  min-width: 0;
}
.qrt-half-banner .pso-banner-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2em;
  margin: 0 0 10px;
  max-width: 100%;
  font-size: clamp(1.25rem, 3.2vw, 1.85rem);
  line-height: 1.15;
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.qrt-half-banner.qrt-left-align .pso-banner-title {
  align-items: flex-start;
  text-align: left;
}
.qrt-half-banner .pso-banner-title__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.08em;
  letter-spacing: 0.02em;
  max-width: 100%;
}
.qrt-half-banner .pso-banner-title__brand:empty {
  display: none;
}
.qrt-half-banner .pso-banner-title__brand-line {
  display: block;
  max-width: 100%;
}
.qrt-half-banner .pso-banner-title__claim {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12em;
  font-size: 0.72em;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.25;
  max-width: 100%;
  opacity: 0.95;
  text-wrap: balance;
}
/* Home: claim is the large editorial title (brand empty) */
.qrt-half-banner .pso-banner-title__brand:empty + .pso-banner-title__claim {
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.15;
  gap: 0.08em;
}
.qrt-half-banner .pso-banner-title__claim:empty {
  display: none;
}
.qrt-half-banner .pso-banner-title__claim-line {
  display: block;
  max-width: 100%;
}
@media (max-width: 1200px) {
  .qrt-half-banner .pso-banner-title {
    align-items: center;
    text-align: center;
    font-size: calc(clamp(1.45rem, 5vw, 2.15rem) * var(--pso-text-scale));
  }
  .qrt-half-banner .pso-banner-title__claim {
    align-items: center;
    text-align: center;
  }
  .qrt-half-banner .qrt-overlay .qrt-banner-title .qrt-text {
    font-size: calc(15px * var(--pso-text-scale));
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .qrt-half-banner .pso-banner-title {
    font-size: calc(clamp(1.55rem, 6vw, 2.25rem) * var(--pso-text-scale));
  }
  .qrt-half-banner .qrt-overlay .qrt-banner-title .qrt-text {
    font-size: calc(16px * var(--pso-text-scale));
  }
}

/* Inline gallery rhythm: 1 band (full) → 2 float right → 3 float left */
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig__link {
  display: block;
  overflow: hidden;
  border-radius: 2px;
  background: #e8ebe8;
  box-shadow: 0 10px 28px rgba(20, 28, 18, 0.12);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig__link picture,
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig__link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--dummy .pso-inline-fig__link {
  opacity: 0.88;
  filter: saturate(0.85);
}

/* Fig 1: full-width band after lead */
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--band {
  float: none;
  clear: both;
  display: block;
  width: 100%;
  max-width: none;
  margin: 1.85em 0 2.35em;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--band .pso-inline-fig__link {
  aspect-ratio: 16 / 10;
}

/* Fig 2: float right into gutter — below H2, beside prose only */
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--right {
  float: right;
  clear: right;
  width: var(--pso-float-w);
  max-width: 48%;
  margin: 0.35em 0 1.85em var(--pso-float-gap);
  shape-outside: margin-box;
  shape-margin: var(--pso-float-shape-gap);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--right .pso-inline-fig__link {
  aspect-ratio: 1 / 1;
}

/* Fig 3: float left — portrait 3:4 under H2, prose beside */
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--left {
  float: left;
  clear: left;
  width: calc(var(--pso-float-w) * 0.92);
  max-width: 42%;
  margin: 0.35em var(--pso-float-gap) 1.85em 0;
  shape-outside: margin-box;
  shape-margin: var(--pso-float-shape-gap);
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--left .pso-inline-fig__link {
  aspect-ratio: 3 / 4;
}

@media (max-width: 992px) {
  .qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow {
    max-width: 100%;
  }
  .qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--right,
  .qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--left {
    max-width: 42%;
  }
}
@media (max-width: 768px) {
  .qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--band {
    margin: 1.35em 0 1.75em;
  }
  .qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--band .pso-inline-fig__link {
    aspect-ratio: 4 / 3;
  }
  .qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--right,
  .qrt-app .qrt-half-content-frame .qrt-left .pso-inline-fig--left {
    float: none;
    clear: both;
    width: min(var(--pso-float-w), 78%);
    max-width: 280px;
    margin: 1.25em auto 1.5em;
    shape-outside: none;
    shape-margin: 0;
  }
}

/* Legacy bottom grid (unused after inline figures; keep harmless) */
.pso-gallery {
  display: none;
}

/* Site footer (end of left column — Quarty Half has no built-in footer) */
.pso-site-footer {
  margin: 48px 0 24px;
  padding-top: 20px;
  border-top: 1px solid #d5ddd6;
}
.pso-site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 10px;
}
.pso-site-footer__nav a {
  color: #1f4d2e;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}
.pso-site-footer__nav a:hover,
.pso-site-footer__nav a:focus {
  text-decoration: underline;
}
.pso-site-footer__meta {
  margin: 0;
  font-size: 12px;
  color: #5a6656;
  line-height: 1.45;
}
.pso-site-footer__meta p {
  margin: 0;
}
.pso-site-footer__shop {
  margin-top: 0.35em;
}
.pso-site-footer__meta a {
  color: #1f4d2e;
}

/* Shop CTA — left aligns with indented prose; right aligns with Up-next float */
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow > .row {
  clear: both;
  max-width: none;
  width: calc(100% - var(--pso-prose-indent));
  margin-top: 28px;
  margin-bottom: 0;
  margin-left: var(--pso-prose-indent);
  margin-right: 0;
  box-sizing: border-box;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow > .row > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}
.qrt-app .qrt-half-content-frame .qrt-left .pso-article-flow .qrt-call-to-action {
  width: 100%;
  box-sizing: border-box;
}

/* Mid-essay “Up next” — Variant B: float right like fig 2, 4:3 card.
   JS sets margin-top so the card bottom aligns with the last wrapping paragraph;
   earlier prose wraps around the float when the card sits higher. */
.qrt-app .qrt-half-content-frame .qrt-left .pso-up-next {
  float: right;
  clear: right;
  width: var(--pso-float-w);
  max-width: 48%;
  margin: 0.35em 0 1.85em var(--pso-float-gap);
  shape-outside: margin-box;
  shape-margin: var(--pso-float-shape-gap);
  box-sizing: border-box;
}
.pso-up-next__card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #eef2ef;
  border: 1px solid #d5ddd6;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.pso-up-next__card:hover,
.pso-up-next__card:focus {
  border-color: #1f4d2e;
  background: #e6ece7;
  text-decoration: none;
}
.pso-up-next__media {
  display: block;
  width: 100%;
}
.pso-up-next__media picture,
.pso-up-next__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.pso-up-next__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 12px 14px;
}
.pso-up-next__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #1f4d2e;
}
.pso-up-next__hook {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: #243228;
}
.pso-up-next__cta {
  font-size: 13px;
  font-weight: 700;
  color: #1f4d2e;
  margin-top: 2px;
}
.pso-up-next__cta::after {
  content: " \2192";
}
@media (max-width: 992px) {
  .qrt-app .qrt-half-content-frame .qrt-left .pso-up-next {
    max-width: 42%;
  }
}
@media (max-width: 768px) {
  .qrt-app .qrt-half-content-frame .qrt-left .pso-up-next {
    float: none;
    clear: both;
    width: min(var(--pso-float-w), 78%);
    max-width: 280px;
    margin: 1.25em auto 1.5em;
    shape-outside: none;
    shape-margin: 0;
  }
}

/* Section hub: Start here + topic chips + article index */
.qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub {
  max-width: var(--pso-prose-measure);
  margin: 28px 0 40px;
  margin-left: var(--pso-prose-indent);
  box-sizing: border-box;
}
.pso-section-hub__heading {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1f4d2e;
  clear: both;
  max-width: none;
}
.pso-section-hub__start {
  margin-bottom: 28px;
}
.pso-section-hub__doors {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 720px) {
  .pso-section-hub__doors {
    grid-template-columns: repeat(3, 1fr);
  }
}
.pso-section-hub__door {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 14px 16px;
  background: #eef2ef;
  border: 1px solid #d5ddd6;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.pso-section-hub__door:hover,
.pso-section-hub__door:focus {
  border-color: #1f4d2e;
  background: #e6ece7;
  text-decoration: none;
}
/* Browse-Toggle: Schalter statt Link — nur gestrichelter Rahmen (kein zweiter Schatten-Rand) */
.pso-section-hub__door--toggle {
  background: #fff;
  border: 1px dashed #a8b8ab;
  box-shadow: inset 0 1px 2px rgba(31, 77, 46, 0.05);
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.2s ease;
}
.pso-section-hub__door--toggle:hover,
.pso-section-hub__door--toggle:focus {
  background: #fafcfb;
  border-color: #1f4d2e;
  box-shadow: inset 0 1px 2px rgba(31, 77, 46, 0.07);
}
.pso-section-hub__door--toggle[aria-expanded="true"] {
  border-style: dashed;
  border-color: #1f4d2e;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(31, 77, 46, 0.05);
}
.pso-section-hub__door--toggle .pso-section-hub__door-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}
/* Listen-Icon vor dem Titel */
.pso-section-hub__door--toggle .pso-section-hub__door-title::before {
  content: "";
  display: inline-block;
  width: 0.82em;
  height: 0.72em;
  flex-shrink: 0;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 50% / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 100% / 68% 2px no-repeat;
  opacity: 0.88;
}
/* Disclosure-Chevron: nach unten (zu) / nach oben (offen) */
.pso-section-hub__door--toggle .pso-section-hub__door-title::after {
  content: "";
  display: inline-block;
  width: 0.42em;
  height: 0.42em;
  margin-top: -0.12em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease, margin-top 0.2s ease;
  flex-shrink: 0;
}
.pso-section-hub__door--toggle[aria-expanded="true"] .pso-section-hub__door-title::after {
  margin-top: 0.18em;
  transform: rotate(-135deg);
}
.pso-section-hub__door-title {
  font-weight: 700;
  font-size: 15px;
  color: #1f4d2e;
  line-height: 1.3;
}
.pso-section-hub__door-text {
  font-size: 13px;
  line-height: 1.45;
  color: #3d4a40;
}
.pso-section-hub__browse {
  padding-top: 20px;
  margin-top: 4px;
  border-top: 1px solid #d5ddd6;
  transition: border-color 0.2s ease, margin-top 0.2s ease, padding-top 0.2s ease;
}
/* Offen: weicher Anschluss an den Browse-Bereich (kein harter Falz) */
.pso-section-hub.is-browse-open .pso-section-hub__browse {
  margin-top: 12px;
  padding: 18px 16px 8px;
  border: 1px dashed #a8b8ab;
  border-radius: 8px;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(31, 77, 46, 0.04);
}
.pso-section-hub__browse.is-collapsed,
.pso-section-hub__browse[hidden] {
  display: none;
}
.pso-section-hub__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.pso-section-hub__chip {
  appearance: none;
  border: 1px solid #b8c4ba;
  background: #fff;
  color: #1f4d2e;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.pso-section-hub__chip:hover,
.pso-section-hub__chip:focus {
  border-color: #1f4d2e;
}
.pso-section-hub__chip.is-active {
  background: #1f4d2e;
  border-color: #1f4d2e;
  color: #fff;
}
.pso-section-hub__all {
  margin: 0 0 12px;
  font-size: 13px;
  color: #5a675e;
}
.pso-section-hub__all a {
  color: #1f4d2e;
  font-weight: 600;
  text-decoration: none;
}
.pso-section-hub__all a:hover,
.pso-section-hub__all a:focus {
  text-decoration: underline;
}
.pso-section-hub__index {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d5ddd6;
}
.pso-section-hub__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 12px;
  padding: 10px 0;
  border-bottom: 1px solid #e4ebe5;
}
.pso-section-hub__item.is-hidden {
  display: none;
}
.pso-section-hub__item a {
  color: #1f4d2e;
  font-weight: 600;
  text-decoration: none;
  font-size: 15px;
}
.pso-section-hub__item a:hover,
.pso-section-hub__item a:focus {
  text-decoration: underline;
}
.pso-section-hub__meta {
  font-size: 12px;
  color: #6a776e;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pso-section-hub__empty {
  display: none;
  margin: 10px 0 0;
  font-size: 13px;
  color: #6a776e;
}
.pso-section-hub__empty.is-visible {
  display: block;
}

/* Hero overlay internal links (right column) */
.pso-hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0 0 18px;
  max-width: 100%;
}
.pso-hero-links a {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  padding-bottom: 1px;
  line-height: 1.3;
}
.pso-hero-links a:hover,
.pso-hero-links a:focus {
  border-bottom-color: #fff;
}
@media (max-width: 1200px) {
  .pso-hero-links {
    justify-content: center;
  }
}

/* Scroll-down hint: clickable (Quarty default is decorative only) */
html[lang="de"] .qrt-scroll-hint span:before {
  content: 'Nach unten';
}
.qrt-half-banner .qrt-scroll-hint {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  z-index: 2;
}
.qrt-half-banner .qrt-scroll-hint:focus {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
.qrt-half-banner .qrt-scroll-hint:focus:not(:focus-visible) {
  outline: none;
}
.qrt-half-banner .qrt-scroll-hint:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

/* In-content section links + HTML sitemap */
.qrt-app .qrt-half-content-frame .qrt-left h2 a {
  color: inherit;
  text-decoration: none;
}
.qrt-app .qrt-half-content-frame .qrt-left h2 a:hover,
.qrt-app .qrt-half-content-frame .qrt-left h2 a:focus {
  color: #1f4d2e;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.18em;
}
/* Body links: dotted underline (magazine, not web-default) */
.qrt-app .qrt-half-content-frame .qrt-left p a,
.qrt-app .qrt-half-content-frame .qrt-left li a,
.qrt-app .qrt-half-content-frame .qrt-left .qrt-text a {
  color: #1f4d2e;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.28em;
  text-decoration-color: rgba(31, 77, 46, 0.55);
}
.qrt-app .qrt-half-content-frame .qrt-left p a:hover,
.qrt-app .qrt-half-content-frame .qrt-left li a:hover,
.qrt-app .qrt-half-content-frame .qrt-left .qrt-text a:hover,
.qrt-app .qrt-half-content-frame .qrt-left p a:focus,
.qrt-app .qrt-half-content-frame .qrt-left li a:focus,
.qrt-app .qrt-half-content-frame .qrt-left .qrt-text a:focus {
  text-decoration-style: dotted;
  text-decoration-color: #1f4d2e;
  text-decoration-thickness: 1.5px;
}
.pso-sitemap-list {
  margin: 0;
  padding-left: 1.1rem;
  line-height: 1.7;
}
.pso-sitemap-group h2 {
  font-size: 22px;
  margin-bottom: 10px;
}

/* Info slider: brand row without left label — full width */
.qrt-app .qrt-top-bar .qrt-info .qrt-table li.pso-info-brand {
  display: block;
  margin-bottom: 16px;
}
.qrt-app .qrt-top-bar .qrt-info .qrt-table li.pso-info-brand span {
  display: block;
  width: 100%;
  color: #1a2218;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
  transform: none;
}

/* --- RTL / Arabic --- */
body[dir="rtl"],
html[dir="rtl"] body {
  font-family: var(--pso-font-arabic);
  direction: rtl;
  text-align: right;
}
body[dir="rtl"] .qrt-brand-tag,
body[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h1,
body[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h2,
body[dir="rtl"] .pso-up-next__eyebrow,
body[dir="rtl"] .pso-section-hub__door-title {
  font-family: var(--pso-font-arabic);
}

[dir="rtl"] .qrt-app .qrt-left-bar {
  left: auto;
  right: 0;
  text-align: right;
}
[dir="rtl"] .qrt-app .qrt-top-bar {
  text-align: right;
}
[dir="rtl"] .qrt-app .qrt-top-bar .qrt-logo {
  margin-left: 0;
  margin-right: 14px;
}
[dir="rtl"] .qrt-app .qrt-left-bar .qrt-change-language,
[dir="rtl"] .lang-switch {
  direction: rtl;
  text-align: right;
}
[dir="rtl"] .pso-font-size__btn + .pso-font-size__btn {
  margin-left: 0;
  margin-right: 8px;
}

/*
  Half-layout geometry stays LTR (text column left, fixed hero right).
  Body dir=rtl alone reverses flex → text sits under the hero on the right.
*/
[dir="rtl"] .qrt-app .qrt-content .qrt-half-content-frame {
  direction: ltr;
}
[dir="rtl"] .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
  direction: rtl;
  text-align: right;
  /* Keep air toward the hero (physical right) — do not zero padding-right */
  padding-left: 12px;
  padding-right: 28px;
  box-sizing: border-box;
}
@media (min-width: 1200px) {
  [dir="rtl"] .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    width: calc(100% - var(--pso-hero-w));
    padding-left: 48px;
    padding-right: 28px;
  }
}
@media (min-width: 1400px) {
  [dir="rtl"] .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    padding-left: 72px;
    padding-right: 24px;
  }
}
@media (min-width: 1800px) {
  [dir="rtl"] .qrt-app .qrt-content .qrt-half-content-frame .qrt-left {
    padding-left: 96px;
    padding-right: 20px;
  }
}
@media (max-width: 1200px) {
  [dir="rtl"] .qrt-app .qrt-content .qrt-half-content-frame .qrt-right {
    right: auto;
    left: 0;
    margin-left: 0;
    width: 100%;
  }
}
[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h2 ~ p,
[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h2 ~ ul,
[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h2 ~ ol,
[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h2 ~ .qrt-text,
[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left h2 ~ .pso-disclaimer {
  margin-left: 0;
  margin-right: var(--pso-prose-indent);
}
[dir="rtl"] .pso-disclaimer {
  border-left: 0;
  border-right: 3px solid #1f4d2e;
}
[dir="rtl"] .pso-sitemap-list {
  padding-left: 0;
  padding-right: 1.1rem;
}

[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left .pso-up-next {
  margin-left: 0;
  margin-right: var(--pso-prose-indent);
  text-align: right;
}
[dir="rtl"] .pso-up-next__card {
  text-align: right;
}
[dir="rtl"] .pso-up-next__cta::after {
  content: " ←";
}

[dir="rtl"] .qrt-app .qrt-half-content-frame .qrt-left .pso-section-hub {
  margin-left: 0;
  margin-right: var(--pso-prose-indent);
  text-align: right;
}
[dir="rtl"] .pso-section-hub__door {
  text-align: right;
}
[dir="rtl"] .pso-section-hub__door--toggle .pso-section-hub__door-title::before {
  margin-right: 0;
  margin-left: 0.4em;
}
[dir="rtl"] .pso-section-hub__chips {
  justify-content: flex-end;
}

/* Custom Quarty mouse follower off — reads like an edit/overwrite caret */
.qrt-app .qrt-cursor {
  display: none !important;
}

/* No blinking text caret on click outside real form fields */
.qrt-app,
.qrt-app .scrollbar-content,
.qrt-app .scrollbar-track {
  caret-color: transparent;
}
.qrt-app input,
.qrt-app textarea,
.qrt-app [contenteditable="true"] {
  caret-color: auto;
}
