/* ============================================================
   FLUENCE MAGAZINE — SWISS VISUAL SYSTEM V2.2.0
   Presentation layer only. No data / routing / admin logic here.
   ============================================================ */

body.swiss-v220 {
  --swiss-paper: #f2f2ed;
  --swiss-paper-2: #e7e7df;
  --swiss-ink: #11110f;
  --swiss-muted: #5f5f58;
  --swiss-line: #bdbdb3;
  --swiss-accent: #b84d2f;
  --swiss-accent-soft: #d9a08e;
  --swiss-dark: #11110f;
  --swiss-dark-2: #1b1b18;
  --swiss-gutter: clamp(1rem, 3vw, 3.25rem);
  --swiss-max: 1440px;
  --swiss-header: 72px;

  /* map the historic tokens to the new visual system */
  --blanc-casse: var(--swiss-paper);
  --fond-pale: var(--swiss-paper-2);
  --ivoire: #f6f4ed;
  --sable: #d7d7cf;
  --pierre: #c8c8bf;
  --brun: #7d3322;
  --brun-profond: #271713;
  --charbon: var(--swiss-ink);
  --bronze: var(--swiss-accent);
  --bronze-doux: #d9927d;
  --gris-chaud: var(--swiss-muted);
  --fond-sombre: var(--swiss-dark);
  --font-titre: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  --font-corps: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  --font-arabic: 'Noto Sans Arabic', 'Arial', sans-serif;
  --radius: 0;
  --ombre: none;
  --ombre-forte: none;
  --transition: .28s cubic-bezier(.2,.7,.25,1);

  background: var(--swiss-paper);
  color: var(--swiss-ink);
  font-family: var(--font-corps);
  line-height: 1.52;
  letter-spacing: -.01em;
}

[data-theme="dark"] body.swiss-v220 {
  --swiss-paper: #121210;
  --swiss-paper-2: #1a1a17;
  --swiss-ink: #efefe8;
  --swiss-muted: #a8a89f;
  --swiss-line: #44443d;
  --swiss-accent: #e56a48;
  --swiss-accent-soft: #8d4a37;
  --swiss-dark: #090908;
  --swiss-dark-2: #141412;
  --blanc-casse: var(--swiss-paper);
  --fond-pale: var(--swiss-paper-2);
  --ivoire: #f1efe7;
  --sable: #2b2b27;
  --pierre: #33332e;
  --brun: #ef8a6c;
  --brun-profond: #ffd2c5;
  --charbon: var(--swiss-ink);
  --bronze: var(--swiss-accent);
  --bronze-doux: #f39a80;
  --gris-chaud: var(--swiss-muted);
  --fond-sombre: var(--swiss-dark);
}

html[dir="rtl"] body.swiss-v220 {
  font-family: var(--font-arabic);
  letter-spacing: 0;
}

/* ---------- Global Swiss rhythm ---------- */
body.swiss-v220 h1,
body.swiss-v220 h2,
body.swiss-v220 h3,
body.swiss-v220 h4 {
  font-family: var(--font-titre);
  font-style: normal;
  font-weight: 650;
  letter-spacing: -.045em;
  line-height: .98;
}

html[dir="rtl"] body.swiss-v220 h1,
html[dir="rtl"] body.swiss-v220 h2,
html[dir="rtl"] body.swiss-v220 h3,
html[dir="rtl"] body.swiss-v220 h4 {
  font-family: var(--font-arabic);
  letter-spacing: 0;
  line-height: 1.12;
}

body.swiss-v220 h1 { font-size: clamp(3.2rem, 8vw, 8.4rem); }
body.swiss-v220 h2 { font-size: clamp(2.2rem, 5vw, 5rem); }
body.swiss-v220 h3 { font-size: clamp(1.25rem, 2.4vw, 2rem); }
body.swiss-v220 p { text-wrap: pretty; }
body.swiss-v220 ::selection { background: var(--swiss-accent); color: #fff; }

body.swiss-v220 .section {
  padding: clamp(4.5rem, 8vw, 9rem) var(--swiss-gutter);
  border-top: 1px solid var(--swiss-line);
}
body.swiss-v220 .section-inner,
body.swiss-v220 .footer-inner,
body.swiss-v220 .header-inner {
  width: min(100%, var(--swiss-max));
  max-width: var(--swiss-max);
  margin-inline: auto;
}
body.swiss-v220 .section-header,
body.swiss-v220 .section-header-row {
  padding-top: .75rem;
  margin-bottom: clamp(2.5rem, 5vw, 5rem);
  border-top: 2px solid currentColor;
}
body.swiss-v220 .section-header-row {
  align-items: flex-start;
}
body.swiss-v220 .section-tag,
body.swiss-v220 .hero-tag,
body.swiss-v220 .card-format,
body.swiss-v220 .card-date,
body.swiss-v220 .card-read,
body.swiss-v220 .bande-source,
body.swiss-v220 .courant-link {
  font-family: var(--font-corps);
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .17em;
  text-transform: uppercase;
}
body.swiss-v220 .section-tag,
body.swiss-v220 .hero-tag,
body.swiss-v220 .card-format {
  color: var(--swiss-accent);
}
html[dir="rtl"] body.swiss-v220 .section-tag,
html[dir="rtl"] body.swiss-v220 .hero-tag,
html[dir="rtl"] body.swiss-v220 .card-format,
html[dir="rtl"] body.swiss-v220 .card-date,
html[dir="rtl"] body.swiss-v220 .card-read,
html[dir="rtl"] body.swiss-v220 .bande-source,
html[dir="rtl"] body.swiss-v220 .courant-link {
  font-family: var(--font-arabic);
  letter-spacing: 0;
  text-transform: none;
}
body.swiss-v220 .section-title {
  max-width: 18ch;
  margin: 0;
}
body.swiss-v220 .section-intro {
  max-width: 62ch;
  color: var(--swiss-muted);
  font-size: clamp(.92rem, 1.2vw, 1.08rem);
  line-height: 1.6;
}

/* ---------- Header / compact navigation ---------- */
body.swiss-v220 .site-header {
  background: color-mix(in srgb, var(--swiss-paper) 94%, transparent);
  border-bottom: 1px solid var(--swiss-ink);
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.swiss-v220 .site-header .header-inner {
  height: var(--swiss-header) !important;
  padding: 0 var(--swiss-gutter) !important;
  gap: 1rem;
}
body.swiss-v220 .site-header .logo {
  flex-direction: row;
  align-items: baseline;
  gap: .75rem;
}
body.swiss-v220 .site-header .logo-name {
  font-family: var(--font-corps);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
  color: var(--swiss-ink);
}
body.swiss-v220 .site-header .logo-sub {
  padding-inline-start: .75rem;
  border-inline-start: 1px solid var(--swiss-line);
  font-size: .56rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: .15em;
  color: var(--swiss-muted);
}
body.swiss-v220 .site-header .menu-toggle {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border: 1px solid var(--swiss-ink) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.swiss-v220 .site-header .menu-toggle span {
  width: 20px;
  height: 1px;
  background: var(--swiss-ink);
}
body.swiss-v220 .site-header .menu-toggle:hover {
  background: var(--swiss-ink) !important;
}
body.swiss-v220 .site-header .menu-toggle:hover span { background: var(--swiss-paper); }
body.swiss-v220 .site-header .nav-panel {
  top: var(--swiss-header) !important;
  width: min(520px, 100vw) !important;
  height: calc(100dvh - var(--swiss-header)) !important;
  padding: 0 !important;
  gap: 0 !important;
  background: var(--swiss-paper) !important;
  border-inline-start: 1px solid var(--swiss-ink) !important;
}
body.swiss-v220 .site-header .nav-links {
  counter-reset: swissnav;
}
body.swiss-v220 .site-header .nav-links li {
  counter-increment: swissnav;
  border-color: var(--swiss-line) !important;
}
body.swiss-v220 .site-header .nav-links a {
  min-height: 68px !important;
  padding: .75rem 1.25rem !important;
  font-family: var(--font-corps) !important;
  font-size: clamp(1rem, 2vw, 1.3rem) !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
  line-height: 1.1 !important;
}
body.swiss-v220 .site-header .nav-links a::before {
  content: counter(swissnav, decimal-leading-zero);
  min-width: 2.2rem;
  margin-inline-end: .8rem;
  color: var(--swiss-accent);
  font-size: .61rem;
  font-weight: 750;
  letter-spacing: .08em;
}
body.swiss-v220 .site-header .nav-links a:hover,
body.swiss-v220 .site-header .nav-links a.current {
  padding-inline-start: 1.25rem !important;
  background: var(--swiss-ink);
  color: var(--swiss-paper) !important;
}
body.swiss-v220 .site-header .header-actions {
  padding: 1rem 1.25rem 1.25rem !important;
  border-color: var(--swiss-ink) !important;
}
body.swiss-v220 .nav-studio-link,
body.swiss-v220 .lang-btn,
body.swiss-v220 .theme-toggle {
  border-radius: 0 !important;
}
body.swiss-v220 .nav-studio-link {
  min-height: 44px;
  border: 1px solid var(--swiss-ink) !important;
  color: var(--swiss-ink) !important;
  font-family: var(--font-corps) !important;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.swiss-v220 .nav-studio-link:hover {
  background: var(--swiss-accent) !important;
  border-color: var(--swiss-accent) !important;
  color: #fff !important;
}
body.swiss-v220 .lang-btn,
body.swiss-v220 .theme-toggle {
  border: 1px solid var(--swiss-ink);
  color: var(--swiss-ink);
}
body.swiss-v220 .nav-overlay {
  top: var(--swiss-header) !important;
  background: rgba(0,0,0,.38);
  backdrop-filter: none;
}

/* ---------- Hero system ---------- */
body.swiss-v220 .hero {
  min-height: min(940px, 100svh);
  padding: calc(var(--swiss-header) + 4rem) var(--swiss-gutter) clamp(3rem, 6vw, 6rem);
  border-bottom: 1px solid currentColor;
}
body.swiss-v220 .hero-inner {
  width: min(100%, var(--swiss-max));
  margin-inline: auto;
}
body.swiss-v220 .hero h1 {
  max-width: 11ch;
  margin: .75rem 0 1.6rem;
  font-size: clamp(4rem, 9.4vw, 9.6rem);
  font-weight: 700;
  letter-spacing: -.065em;
  line-height: .88;
  text-wrap: balance;
}
body.swiss-v220 .hero-intro {
  max-width: 56ch;
  margin: 0 0 2.5rem;
  font-size: clamp(.95rem, 1.3vw, 1.12rem);
  line-height: 1.55;
  opacity: .88;
}
body.swiss-v220 .hero-cta { gap: 0; }
body.swiss-v220 .scroll-indicator { opacity: .68; }

/* ---------- Buttons ---------- */
body.swiss-v220 .btn {
  min-height: 46px;
  padding: .8rem 1.15rem;
  border-radius: 0;
  border-width: 1px;
  font-size: .65rem;
  font-weight: 750;
  letter-spacing: .14em;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
body.swiss-v220 .btn-primary {
  background: var(--swiss-ink);
  border-color: var(--swiss-ink);
  color: var(--swiss-paper);
}
body.swiss-v220 .btn-primary:hover {
  background: var(--swiss-accent);
  border-color: var(--swiss-accent);
  color: #fff;
}
body.swiss-v220 .btn-outline,
body.swiss-v220 .btn-outline-dark {
  background: transparent;
  border-color: currentColor;
}
body.swiss-v220 .btn-outline:hover,
body.swiss-v220 .btn-outline-dark:hover {
  background: currentColor;
}
body.swiss-v220 .btn-outline:hover { color: var(--swiss-dark); }
body.swiss-v220 .btn-outline-dark:hover { color: var(--swiss-paper); }

/* ---------- Home / content blocks ---------- */
body.swiss-v220 .manifesto-grid {
  grid-template-columns: minmax(130px, 2fr) minmax(0, 8fr) minmax(0, 2fr);
  gap: var(--swiss-gutter);
  align-items: start;
}
body.swiss-v220 .manifesto-grid > div { grid-column: 2 / 4; }
body.swiss-v220 .display-statement {
  max-width: 18ch;
  margin-bottom: 2rem;
  font-family: var(--font-titre);
  font-size: clamp(2rem, 4.5vw, 4.8rem);
  font-weight: 650;
  letter-spacing: -.05em;
  line-height: 1;
}

body.swiss-v220 .courants-grid {
  grid-template-columns: repeat(12, minmax(0,1fr));
  gap: 1px;
  background: var(--swiss-line);
  border: 1px solid var(--swiss-line);
}
body.swiss-v220 .courant-card {
  grid-column: span 4;
  min-height: clamp(360px, 44vw, 620px);
  padding: 1.25rem;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}
body.swiss-v220 .courant-card:hover { transform: none; }
body.swiss-v220 .courant-card::before {
  background: linear-gradient(to top, rgba(5,5,4,.88) 0%, rgba(5,5,4,.24) 58%, rgba(5,5,4,.08) 100%);
}
body.swiss-v220 .courant-card-content {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: .6rem 1rem;
  align-items: start;
}
body.swiss-v220 .courant-num {
  grid-row: 1 / span 3;
  margin: 0;
  font-family: var(--font-corps);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .1em;
  opacity: 1;
  color: var(--bronze-doux);
}
body.swiss-v220 .courant-card h3 {
  margin: 0 0 .4rem;
  font-family: var(--font-corps);
  font-size: clamp(1.65rem, 3vw, 3.1rem);
  font-weight: 650;
  letter-spacing: -.05em;
  line-height: .95;
}
body.swiss-v220 .courant-card p {
  max-width: 36ch;
  margin: 0 0 1rem;
  font-size: .86rem;
  line-height: 1.5;
  opacity: .8;
}

/* ---------- Articles cards ---------- */
body.swiss-v220 .articles-grid {
  gap: 0;
  border-top: 1px solid var(--swiss-line);
  border-inline-start: 1px solid var(--swiss-line);
}
body.swiss-v220 .article-card {
  border-radius: 0;
  border-inline-end: 1px solid var(--swiss-line);
  border-bottom: 1px solid var(--swiss-line);
  box-shadow: none;
  background: transparent;
}
body.swiss-v220 .article-card.visible { transition: opacity .45s ease, transform .45s ease; }
body.swiss-v220 .article-card:hover { transform: none; box-shadow: none; }
body.swiss-v220 .card-image {
  aspect-ratio: 4/3;
  border-bottom: 1px solid var(--swiss-line);
}
body.swiss-v220 .card-image img {
  transition: transform .6s cubic-bezier(.2,.7,.25,1), filter .3s ease;
}
body.swiss-v220 .article-card:hover .card-image img { transform: scale(1.018); }
body.swiss-v220 .card-courant {
  top: .75rem;
  left: .75rem;
  padding: .28rem .45rem;
  border-radius: 0;
  background: var(--swiss-paper);
  color: var(--swiss-ink);
  backdrop-filter: none;
  font-size: .56rem;
  letter-spacing: .11em;
}
html[dir="rtl"] body.swiss-v220 .card-courant { left: auto; right: .75rem; }
body.swiss-v220 .card-body { padding: 1rem; }
body.swiss-v220 .card-title {
  font-family: var(--font-corps);
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
body.swiss-v220 .card-excerpt {
  color: var(--swiss-muted);
  line-height: 1.55;
}
body.swiss-v220 .card-footer { border-color: var(--swiss-line); }
body.swiss-v220 .card-read { color: var(--swiss-ink); }
body.swiss-v220 .article-card:hover .card-read { color: var(--swiss-accent); }

/* ---------- Featured ---------- */
body.swiss-v220 .home-featured {
  border: 1px solid var(--swiss-line);
  background: transparent;
  gap: 0;
}
body.swiss-v220 .home-featured-image { border-inline-end: 1px solid var(--swiss-line); }
body.swiss-v220 .home-featured-copy { padding: clamp(1.5rem, 4vw, 4rem); }
body.swiss-v220 .article-subtitle {
  font-family: var(--font-corps);
  font-style: normal;
  font-weight: 600;
  letter-spacing: -.03em;
}

/* ---------- Quote band ---------- */
body.swiss-v220 .bande-manifeste {
  padding: clamp(4rem, 8vw, 8rem) var(--swiss-gutter);
  background: var(--swiss-ink);
  color: var(--swiss-paper);
  text-align: left;
  border-top: 0;
}
html[dir="rtl"] body.swiss-v220 .bande-manifeste { text-align: right; }
body.swiss-v220 .bande-manifeste::before { display: none; }
body.swiss-v220 .bande-inner {
  max-width: var(--swiss-max);
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--swiss-gutter);
}
body.swiss-v220 .bande-quote {
  grid-column: 3 / 11;
  margin: 0;
  font-family: var(--font-corps);
  font-size: clamp(2rem, 5vw, 5.7rem);
  font-style: normal;
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .98;
}
body.swiss-v220 .bande-source {
  grid-column: 3 / 11;
  color: var(--swiss-accent-soft);
}

/* ---------- Footer ---------- */
body.swiss-v220 .site-footer {
  padding: 0 var(--swiss-gutter) 2rem;
  background: var(--swiss-paper);
  color: var(--swiss-ink);
  border-top: 1px solid var(--swiss-ink);
}
body.swiss-v220 .footer-top {
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--swiss-gutter);
  padding: 2rem 0 4rem;
  border-color: var(--swiss-line);
}
body.swiss-v220 .footer-brand { grid-column: span 5; }
body.swiss-v220 .footer-col { grid-column: span 2; }
body.swiss-v220 .footer-col:last-child { grid-column: span 3; }
body.swiss-v220 .footer-brand .logo-name {
  color: var(--swiss-ink);
  font-family: var(--font-corps);
  font-size: clamp(1.8rem,4vw,4rem);
  font-weight: 750;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
body.swiss-v220 .footer-brand .logo-sub { color: var(--swiss-accent); }
body.swiss-v220 .footer-brand p { max-width: 38ch; color: var(--swiss-muted); opacity: 1; }
body.swiss-v220 .footer-col h4 {
  margin-bottom: 1rem;
  color: var(--swiss-accent);
  font-size: .6rem;
  letter-spacing: .15em;
}
body.swiss-v220 .footer-col a { opacity: 1; font-size: .82rem; }
body.swiss-v220 .footer-col a:hover { color: var(--swiss-accent); }
body.swiss-v220 .footer-bottom {
  padding-top: 1rem;
  border-top: 1px solid var(--swiss-line);
  opacity: 1;
  color: var(--swiss-muted);
  font-size: .66rem;
  letter-spacing: .04em;
}

/* ---------- General Swiss cleanup ---------- */
body.swiss-v220 .filter-btn,
body.swiss-v220 .format-btn,
body.swiss-v220 .contact-link-item {
  border-radius: 0;
  box-shadow: none;
}
body.swiss-v220 .filter-btn,
body.swiss-v220 .format-btn {
  border-color: var(--swiss-line);
}
body.swiss-v220 .filter-btn:hover,
body.swiss-v220 .filter-btn.active,
body.swiss-v220 .format-btn:hover,
body.swiss-v220 .format-btn.active {
  background: var(--swiss-ink);
  border-color: var(--swiss-ink);
  color: var(--swiss-paper);
}
body.swiss-v220 .contact-link-item { border-color: var(--swiss-line); }
body.swiss-v220 .contact-link-item:hover { border-color: var(--swiss-ink); background: transparent; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  body.swiss-v220 .manifesto-grid { grid-template-columns: 1fr; }
  body.swiss-v220 .manifesto-grid > div { grid-column: auto; }
  body.swiss-v220 .courants-grid { grid-template-columns: 1fr; }
  body.swiss-v220 .courant-card { grid-column: auto; min-height: 58svh; }
  body.swiss-v220 .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.swiss-v220 .footer-brand,
  body.swiss-v220 .footer-col,
  body.swiss-v220 .footer-col:last-child { grid-column: auto; }
  body.swiss-v220 .footer-brand { grid-column: 1 / -1; }
  body.swiss-v220 .bande-quote,
  body.swiss-v220 .bande-source { grid-column: 2 / 12; }
}

@media (max-width: 768px) {
  body.swiss-v220 { --swiss-header: 64px; --swiss-gutter: 1rem; }
  body.swiss-v220 .site-header .header-inner { height: var(--swiss-header) !important; }
  body.swiss-v220 .site-header .nav-panel {
    top: var(--swiss-header) !important;
    height: calc(100dvh - var(--swiss-header)) !important;
    width: 100vw !important;
    border-inline-start: 0 !important;
  }
  body.swiss-v220 .nav-overlay { top: var(--swiss-header) !important; }
  body.swiss-v220 .site-header .logo-sub { display: none; }
  body.swiss-v220 .hero {
    min-height: 88svh;
    padding-top: calc(var(--swiss-header) + 3rem);
  }
  body.swiss-v220 .hero h1 {
    font-size: clamp(3.15rem, 15vw, 6.2rem);
    max-width: 10ch;
  }
  body.swiss-v220 .section { padding-block: 4.5rem; }
  body.swiss-v220 .articles-grid,
  body.swiss-v220 .articles-grid.cols-2 { grid-template-columns: 1fr; }
  body.swiss-v220 .card-image { aspect-ratio: 16/10; }
  body.swiss-v220 .home-featured { grid-template-columns: 1fr; }
  body.swiss-v220 .home-featured-image { border-inline-end: 0; border-bottom: 1px solid var(--swiss-line); }
  body.swiss-v220 .bande-inner { grid-template-columns: 1fr; }
  body.swiss-v220 .bande-quote,
  body.swiss-v220 .bande-source { grid-column: auto; }
  body.swiss-v220 .bande-quote { font-size: clamp(2rem, 10vw, 3.7rem); }
  body.swiss-v220 .footer-top { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; }
  body.swiss-v220 .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  body.swiss-v220 .site-header .menu-toggle {
    width: 42px !important; height: 42px !important; min-width: 42px !important;
  }
  body.swiss-v220 .hero h1 { letter-spacing: -.055em; }
  body.swiss-v220 .courant-card { min-height: 70svh; }
  body.swiss-v220 .courant-card-content { grid-template-columns: 38px 1fr; }
  body.swiss-v220 .footer-top { grid-template-columns: 1fr; }
  body.swiss-v220 .footer-brand { grid-column: auto; }
  body.swiss-v220 .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  body.swiss-v220 *,
  body.swiss-v220 *::before,
  body.swiss-v220 *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ============================================================
   FLUENCE MAGAZINE — HOME SWISS COMPOSITION V2.2.1
   Homepage presentation only. Content/data remain untouched.
   ============================================================ */

/* ---------- Hero: 12-column editorial field ---------- */
body.swiss-v220 .swiss-home-hero {
  position: relative;
  min-height: max(760px, 100svh);
  padding: 0;
  overflow: hidden;
  color: #f4f1e9;
  background: #11110f;
  border-bottom: 0;
}
body.swiss-v220 .swiss-home-hero-media {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(12,12,10,.88) 0%, rgba(12,12,10,.58) 38%, rgba(12,12,10,.24) 68%, rgba(12,12,10,.34) 100%),
    var(--home-hero-image, none);
  background-size: cover;
  background-position: center;
  transform: scale(1.002);
}
body.swiss-v220 .swiss-home-hero.no-background-image .swiss-home-hero-media {
  background-image:
    linear-gradient(135deg, rgba(184,77,47,.22), transparent 46%),
    linear-gradient(90deg, #11110f, #282822);
}
body.swiss-v220 .swiss-home-hero::after {
  content: '';
  position: absolute;
  inset: var(--swiss-header) 0 0;
  pointer-events: none;
  opacity: .17;
  background-image: repeating-linear-gradient(
    90deg,
    transparent 0,
    transparent calc((100% - (2 * var(--swiss-gutter))) / 12 - 1px),
    rgba(255,255,255,.34) calc((100% - (2 * var(--swiss-gutter))) / 12 - 1px),
    rgba(255,255,255,.34) calc((100% - (2 * var(--swiss-gutter))) / 12)
  );
  background-position: var(--swiss-gutter) 0;
  background-size: calc(100% - (2 * var(--swiss-gutter))) 100%;
}
body.swiss-v220 .swiss-home-hero-grid {
  position: relative;
  z-index: 2;
  min-height: max(760px, 100svh);
  display: grid;
  grid-template-columns: repeat(12, minmax(0,1fr));
  grid-template-rows: auto 1fr auto;
  gap: 1rem var(--swiss-gutter);
  align-content: stretch;
  padding: calc(var(--swiss-header) + clamp(2.2rem,5vw,5rem)) var(--swiss-gutter) clamp(3rem,6vw,5.5rem);
}
body.swiss-v220 .swiss-home-kicker {
  grid-column: 1 / span 3;
  align-self: start;
  margin: .35rem 0 0;
  color: #f4f1e9;
}
body.swiss-v220 .swiss-home-hero h1 {
  grid-column: 3 / 11;
  align-self: center;
  max-width: none;
  margin: 0;
  font-size: clamp(4.2rem, 9.7vw, 10.6rem);
  line-height: .82;
  letter-spacing: -.075em;
  color: #f4f1e9;
  text-wrap: balance;
}
html[dir="rtl"] body.swiss-v220 .swiss-home-hero h1 {
  line-height: 1.02;
  letter-spacing: 0;
}
body.swiss-v220 .swiss-home-intro-block {
  grid-column: 8 / 13;
  align-self: end;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(244,241,233,.72);
}
body.swiss-v220 .swiss-home-intro-block .hero-intro {
  max-width: 48ch;
  margin-bottom: 1.4rem;
  color: rgba(244,241,233,.86);
  font-size: clamp(.9rem,1.1vw,1.02rem);
}
body.swiss-v220 .swiss-home-intro-block .btn-primary {
  background: #f4f1e9;
  border-color: #f4f1e9;
  color: #11110f;
}
body.swiss-v220 .swiss-home-intro-block .btn-primary:hover {
  background: var(--swiss-accent);
  border-color: var(--swiss-accent);
  color: #fff;
}
body.swiss-v220 .swiss-home-intro-block .btn-outline {
  border-color: rgba(244,241,233,.72);
  color: #f4f1e9;
}
body.swiss-v220 .swiss-home-intro-block .btn-outline:hover {
  background: #f4f1e9;
  color: #11110f;
}
body.swiss-v220 .swiss-home-hero-marker {
  grid-column: 1 / span 1;
  grid-row: 3;
  align-self: end;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .16em;
  color: var(--swiss-accent-soft);
}
body.swiss-v220 .swiss-home-hero .scroll-indicator {
  right: var(--swiss-gutter);
  bottom: clamp(2rem,4vw,3.5rem);
  z-index: 3;
}
html[dir="rtl"] body.swiss-v220 .swiss-home-hero .scroll-indicator {
  right: auto;
  left: var(--swiss-gutter);
}

/* ---------- Manifesto: statement + explanatory column ---------- */
body.swiss-v220 .swiss-home-manifesto .manifesto-grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--swiss-gutter);
  align-items: start;
}
body.swiss-v220 .swiss-home-manifesto .section-tag {
  grid-column: 1 / span 2;
  padding-top: .5rem;
}
body.swiss-v220 .swiss-manifesto-statement {
  grid-column: 3 / 10;
}
body.swiss-v220 .swiss-manifesto-copy {
  grid-column: 10 / 13;
  align-self: end;
  padding-top: 1rem;
  border-top: 1px solid var(--swiss-line);
}
body.swiss-v220 .swiss-home-manifesto .display-statement {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(2.6rem,5.5vw,6.3rem);
  line-height: .92;
  letter-spacing: -.065em;
}
body.swiss-v220 .swiss-home-manifesto .section-intro {
  margin: 0;
  font-size: .9rem;
}

/* ---------- Shared homepage section header ---------- */
body.swiss-v220 .swiss-home-section-head {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--swiss-gutter);
  align-items: start;
}
body.swiss-v220 .swiss-home-section-head > .section-tag,
body.swiss-v220 .swiss-home-section-head > div {
  grid-column: 1 / span 3;
}
body.swiss-v220 .swiss-home-section-head > .section-title,
body.swiss-v220 .swiss-home-section-head > div .section-title {
  max-width: none;
}
body.swiss-v220 .swiss-home-section-head > .section-title {
  grid-column: 4 / 11;
}
body.swiss-v220 .section-header-row.swiss-home-section-head > div {
  grid-column: 1 / 10;
}
body.swiss-v220 .section-header-row.swiss-home-section-head > .btn {
  grid-column: 11 / 13;
  justify-self: stretch;
}

/* ---------- Currents as Swiss editorial index ---------- */
body.swiss-v220 .swiss-courants-index {
  display: block;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-courant-row {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--swiss-gutter);
  align-items: stretch;
  min-height: 230px;
  padding: 0;
  background: transparent !important;
  color: var(--swiss-ink);
  border-bottom: 1px solid var(--swiss-line);
  overflow: hidden;
}
body.swiss-v220 .swiss-courant-row::before { display: none; }
body.swiss-v220 .swiss-courant-row .courant-num {
  grid-column: 1 / span 1;
  grid-row: auto;
  padding: 1.35rem 0;
  color: var(--swiss-accent);
}
body.swiss-v220 .swiss-courant-row .courant-card-content {
  grid-column: 2 / 9;
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 1rem var(--swiss-gutter);
  align-content: center;
  padding: 1.35rem 0;
}
body.swiss-v220 .swiss-courant-row .courant-card-content h3 {
  grid-column: 1 / 5;
  align-self: center;
  margin: 0;
  color: var(--swiss-ink);
  font-size: clamp(2rem,4vw,4.7rem);
  line-height: .9;
}
body.swiss-v220 .swiss-courant-row .courant-card-content p {
  grid-column: 5 / 8;
  align-self: center;
  max-width: 34ch;
  margin: 0;
  color: var(--swiss-muted);
  font-size: .82rem;
}
body.swiss-v220 .swiss-courant-row .courant-link {
  grid-column: 5 / 8;
  align-self: end;
  color: var(--swiss-ink);
}
body.swiss-v220 .swiss-courant-visual {
  grid-column: 9 / 13;
  min-height: 230px;
  overflow: hidden;
  border-inline-start: 1px solid var(--swiss-line);
  background: var(--swiss-paper-2);
}
body.swiss-v220 .swiss-courant-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.86) contrast(1.02);
  transition: transform .7s cubic-bezier(.2,.7,.25,1), filter .35s ease;
}
body.swiss-v220 .swiss-courant-row:hover {
  background: var(--swiss-ink) !important;
  color: var(--swiss-paper);
}
body.swiss-v220 .swiss-courant-row:hover .courant-num,
body.swiss-v220 .swiss-courant-row:hover .courant-card-content h3,
body.swiss-v220 .swiss-courant-row:hover .courant-link {
  color: var(--swiss-paper);
}
body.swiss-v220 .swiss-courant-row:hover .courant-card-content p { color: color-mix(in srgb,var(--swiss-paper) 70%,transparent); }
body.swiss-v220 .swiss-courant-row:hover .swiss-courant-visual img {
  transform: scale(1.025);
  filter: saturate(1) contrast(1.04);
}

/* ---------- Featured: editorial spread ---------- */
body.swiss-v220 .swiss-home-featured .home-featured {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  border: 0;
  border-top: 1px solid var(--swiss-ink);
  border-bottom: 1px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-home-featured .home-featured-image {
  grid-column: 1 / 8;
  min-height: clamp(420px,52vw,720px);
  border-inline-end: 1px solid var(--swiss-line);
}
body.swiss-v220 .swiss-home-featured .home-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.swiss-v220 .swiss-home-featured .home-featured-copy {
  grid-column: 8 / 13;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.5rem,3vw,3.3rem);
}
body.swiss-v220 .swiss-home-featured .article-subtitle {
  max-width: 17ch;
  margin: auto 0 1.5rem;
  font-size: clamp(1.5rem,3vw,3.2rem);
  line-height: 1.03;
}
body.swiss-v220 .swiss-home-featured .home-featured-copy > p:not(.article-subtitle) {
  max-width: 46ch;
  color: var(--swiss-muted);
  font-size: .9rem;
}
body.swiss-v220 .swiss-home-featured .card-footer {
  margin-top: 2.2rem;
}

/* ---------- Latest: varied editorial rhythm ---------- */
body.swiss-v220 .swiss-home-articles {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 0;
  border-inline-start: 0;
  border-top: 1px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-home-articles .article-card {
  grid-column: span 4;
  border-inline-start: 1px solid var(--swiss-line);
}
body.swiss-v220 .swiss-home-articles .article-card:nth-child(1),
body.swiss-v220 .swiss-home-articles .article-card:nth-child(5) { grid-column: span 5; }
body.swiss-v220 .swiss-home-articles .article-card:nth-child(2),
body.swiss-v220 .swiss-home-articles .article-card:nth-child(6) { grid-column: span 3; }
body.swiss-v220 .swiss-home-articles .article-card:nth-child(3),
body.swiss-v220 .swiss-home-articles .article-card:nth-child(4) { grid-column: span 4; }
body.swiss-v220 .swiss-home-articles .card-image { aspect-ratio: 5/4; }
body.swiss-v220 .swiss-home-articles .article-card:nth-child(2) .card-image,
body.swiss-v220 .swiss-home-articles .article-card:nth-child(6) .card-image { aspect-ratio: 3/4; }
body.swiss-v220 .swiss-home-articles .article-card:nth-child(1) .card-image,
body.swiss-v220 .swiss-home-articles .article-card:nth-child(5) .card-image { aspect-ratio: 16/10; }

/* ---------- Closing quote ---------- */
body.swiss-v220 .swiss-home-closing {
  position: relative;
  padding-block: clamp(5rem,10vw,10rem);
}
body.swiss-v220 .swiss-home-closing .bande-inner {
  position: relative;
}
body.swiss-v220 .swiss-home-closing .bande-inner::before {
  content: '—';
  grid-column: 1 / span 1;
  color: var(--swiss-accent);
  font-size: clamp(2rem,4vw,4rem);
  line-height: 1;
}
body.swiss-v220 .swiss-home-closing .bande-quote {
  grid-column: 3 / 12;
  max-width: 16ch;
}
body.swiss-v220 .swiss-home-closing .bande-source {
  grid-column: 9 / 12;
  justify-self: start;
}

/* ---------- Homepage responsive ---------- */
@media (max-width: 1100px) {
  body.swiss-v220 .swiss-home-hero h1 { grid-column: 2 / 12; }
  body.swiss-v220 .swiss-home-intro-block { grid-column: 7 / 13; }
  body.swiss-v220 .swiss-manifesto-statement { grid-column: 3 / 9; }
  body.swiss-v220 .swiss-manifesto-copy { grid-column: 9 / 13; }
  body.swiss-v220 .swiss-courant-row .courant-card-content { grid-column: 2 / 8; }
  body.swiss-v220 .swiss-courant-visual { grid-column: 8 / 13; }
  body.swiss-v220 .swiss-courant-row .courant-card-content h3 { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-courant-row .courant-card-content p,
  body.swiss-v220 .swiss-courant-row .courant-link { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  body.swiss-v220 .swiss-home-hero::after { opacity: .11; }
  body.swiss-v220 .swiss-home-hero-grid {
    grid-template-columns: repeat(6,minmax(0,1fr));
    grid-template-rows: auto 1fr auto;
    gap: 1rem;
  }
  body.swiss-v220 .swiss-home-kicker { grid-column: 1 / span 3; }
  body.swiss-v220 .swiss-home-hero h1 {
    grid-column: 1 / -1;
    align-self: center;
    font-size: clamp(3.7rem,16vw,7.5rem);
    max-width: 9ch;
  }
  body.swiss-v220 .swiss-home-intro-block { grid-column: 2 / -1; }
  body.swiss-v220 .swiss-home-hero-marker { grid-column: 1; }

  body.swiss-v220 .swiss-home-manifesto .manifesto-grid {
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 2rem 1rem;
  }
  body.swiss-v220 .swiss-home-manifesto .section-tag { grid-column: 1 / span 2; }
  body.swiss-v220 .swiss-manifesto-statement { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-manifesto-copy { grid-column: 3 / -1; }

  body.swiss-v220 .swiss-home-section-head { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; }
  body.swiss-v220 .swiss-home-section-head > .section-tag { grid-column: 1 / span 2; }
  body.swiss-v220 .swiss-home-section-head > .section-title { grid-column: 2 / -1; }
  body.swiss-v220 .section-header-row.swiss-home-section-head > div { grid-column: 1 / 5; }
  body.swiss-v220 .section-header-row.swiss-home-section-head > .btn { grid-column: 5 / 7; }

  body.swiss-v220 .swiss-courant-row {
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 0 1rem;
    min-height: 0;
  }
  body.swiss-v220 .swiss-courant-row .courant-num { grid-column: 1; padding: 1rem 0; }
  body.swiss-v220 .swiss-courant-row .courant-card-content {
    grid-column: 2 / 7;
    padding: 1rem 0 1.5rem;
  }
  body.swiss-v220 .swiss-courant-visual {
    grid-column: 1 / -1;
    min-height: 320px;
    border-inline-start: 0;
    border-top: 1px solid var(--swiss-line);
  }

  body.swiss-v220 .swiss-home-featured .home-featured {
    grid-template-columns: repeat(6,minmax(0,1fr));
  }
  body.swiss-v220 .swiss-home-featured .home-featured-image {
    grid-column: 1 / -1;
    min-height: 52vw;
    border-inline-end: 0;
    border-bottom: 1px solid var(--swiss-line);
  }
  body.swiss-v220 .swiss-home-featured .home-featured-copy { grid-column: 2 / 7; }

  body.swiss-v220 .swiss-home-articles { grid-template-columns: repeat(6,minmax(0,1fr)); }
  body.swiss-v220 .swiss-home-articles .article-card,
  body.swiss-v220 .swiss-home-articles .article-card:nth-child(n) { grid-column: span 3; }
  body.swiss-v220 .swiss-home-articles .article-card:nth-child(n) .card-image { aspect-ratio: 4/3; }

  body.swiss-v220 .swiss-home-closing .bande-inner::before { grid-column: 1; }
  body.swiss-v220 .swiss-home-closing .bande-quote { grid-column: 2 / -1; }
  body.swiss-v220 .swiss-home-closing .bande-source { grid-column: 4 / -1; }
}

@media (max-width: 560px) {
  body.swiss-v220 .swiss-home-hero {
    min-height: 92svh;
  }
  body.swiss-v220 .swiss-home-hero-media {
    background-image:
      linear-gradient(to bottom, rgba(12,12,10,.32) 0%, rgba(12,12,10,.52) 40%, rgba(12,12,10,.86) 100%),
      var(--home-hero-image, none);
  }
  body.swiss-v220 .swiss-home-hero-grid {
    min-height: 92svh;
    padding-top: calc(var(--swiss-header) + 2rem);
    padding-bottom: 2rem;
  }
  body.swiss-v220 .swiss-home-kicker { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-home-hero h1 {
    font-size: clamp(3.35rem,17vw,5.8rem);
    line-height: .86;
  }
  body.swiss-v220 .swiss-home-intro-block { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-home-intro-block .hero-cta { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  body.swiss-v220 .swiss-home-intro-block .btn { justify-content: center; }
  body.swiss-v220 .swiss-home-hero .scroll-indicator { display: none; }

  body.swiss-v220 .swiss-home-manifesto .section-tag,
  body.swiss-v220 .swiss-manifesto-copy { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-home-manifesto .display-statement {
    font-size: clamp(2.5rem,13vw,4.4rem);
  }

  body.swiss-v220 .swiss-home-section-head > .section-tag,
  body.swiss-v220 .swiss-home-section-head > .section-title,
  body.swiss-v220 .section-header-row.swiss-home-section-head > div,
  body.swiss-v220 .section-header-row.swiss-home-section-head > .btn { grid-column: 1 / -1; }
  body.swiss-v220 .section-header-row.swiss-home-section-head > .btn { justify-self: start; width: auto; }

  body.swiss-v220 .swiss-courant-row .courant-card-content h3 { font-size: clamp(2rem,11vw,3.6rem); }
  body.swiss-v220 .swiss-courant-visual { min-height: 240px; }

  body.swiss-v220 .swiss-home-featured .home-featured-copy { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-home-featured .home-featured-image { min-height: 64vw; }
  body.swiss-v220 .swiss-home-featured .article-subtitle { font-size: clamp(1.5rem,8vw,2.6rem); }

  body.swiss-v220 .swiss-home-articles { grid-template-columns: 1fr; }
  body.swiss-v220 .swiss-home-articles .article-card,
  body.swiss-v220 .swiss-home-articles .article-card:nth-child(n) { grid-column: 1; }
  body.swiss-v220 .swiss-home-articles .article-card:nth-child(n) .card-image { aspect-ratio: 16/10; }

  body.swiss-v220 .swiss-home-closing .bande-inner::before { display: none; }
  body.swiss-v220 .swiss-home-closing .bande-quote,
  body.swiss-v220 .swiss-home-closing .bande-source { grid-column: 1 / -1; }
}

/* ==========================================================
   V2.2.1.1 — ACCUEIL / MANIFESTE : CORRECTION DE GRILLE
   Corrige le conflit avec .manifesto-grid > div de la couche
   Swiss de base et stabilise la composition aux breakpoints.
   ========================================================== */

/* Desktop large : 2 colonnes éditoriales réelles + index */
body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-statement {
  grid-column: 3 / 10;
  min-width: 0;
}
body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-copy {
  grid-column: 10 / 13;
  min-width: 0;
  align-self: end;
}
body.swiss-v220 .swiss-home-manifesto .display-statement {
  max-width: none;
  margin: 0;
  font-size: clamp(3rem, 4.65vw, 5.6rem);
  line-height: .94;
  letter-spacing: -.06em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
body.swiss-v220 .swiss-home-manifesto .section-intro {
  max-width: 34ch;
  font-size: clamp(.82rem, .9vw, .98rem);
  line-height: 1.55;
}

/* Desktop intermédiaire : conserver une phrase ample, jamais une colonne étroite */
@media (max-width: 1100px) {
  body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-statement {
    grid-column: 3 / 9;
  }
  body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-copy {
    grid-column: 9 / 13;
  }
  body.swiss-v220 .swiss-home-manifesto .display-statement {
    font-size: clamp(2.8rem, 5.7vw, 4.9rem);
  }
}

/* Tablette : statement pleine largeur, note décalée sur la grille */
@media (max-width: 820px) {
  body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-statement {
    grid-column: 1 / -1;
  }
  body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-copy {
    grid-column: 3 / -1;
  }
  body.swiss-v220 .swiss-home-manifesto .display-statement {
    max-width: 12ch;
    font-size: clamp(2.9rem, 9vw, 5rem);
    line-height: .93;
  }
  body.swiss-v220 .swiss-home-manifesto .section-intro {
    max-width: 42ch;
  }
}

/* Mobile : une seule colonne lisible, sans cassure artificielle des mots */
@media (max-width: 560px) {
  body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-statement,
  body.swiss-v220 .swiss-home-manifesto .manifesto-grid > .swiss-manifesto-copy {
    grid-column: 1 / -1;
  }
  body.swiss-v220 .swiss-home-manifesto .display-statement {
    max-width: none;
    font-size: clamp(2.65rem, 12.5vw, 4.15rem);
    line-height: .92;
    letter-spacing: -.055em;
  }
  body.swiss-v220 .swiss-home-manifesto .section-intro {
    max-width: 32rem;
    font-size: .92rem;
    line-height: 1.6;
  }
}

/* ============================================================
   FLUENCE MAGAZINE — STREAMS SWISS COMPOSITION V2.2.2
   Three currents, one grid system. Presentation only.
   ============================================================ */

/* Stream-specific accents keep a shared Swiss grammar without flattening identity. */
body.swiss-v220.stream-formes-page { --stream-accent:#b84d2f; --swiss-accent:var(--stream-accent); }
body.swiss-v220.stream-atelier-page { --stream-accent:#4f69d9; --swiss-accent:var(--stream-accent); }
body.swiss-v220.stream-interstices-page { --stream-accent:#64715c; --swiss-accent:var(--stream-accent); }
[data-theme="dark"] body.swiss-v220.stream-formes-page { --stream-accent:#e87452; }
[data-theme="dark"] body.swiss-v220.stream-atelier-page { --stream-accent:#7d91ef; }
[data-theme="dark"] body.swiss-v220.stream-interstices-page { --stream-accent:#93a389; }

/* ---------- Current hero: disciplined 12-column field ---------- */
body.swiss-v220.stream-page .hero-courant {
  position:relative;
  display:block;
  min-height:min(820px,88svh);
  padding:var(--swiss-header) var(--swiss-gutter) 0;
  overflow:hidden;
  isolation:isolate;
  color:#f5f2ea;
  border-bottom:1px solid rgba(255,255,255,.28);
  background-color:#11110f;
}
body.swiss-v220.stream-page .hero-courant::before {
  content:'';
  position:absolute;
  inset:var(--swiss-header) 0 0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(8,8,7,.62) 0%,rgba(8,8,7,.24) 52%,rgba(8,8,7,.12) 100%);
}
body.swiss-v220.stream-page .hero-courant .hero-texture {
  inset:var(--swiss-header) var(--swiss-gutter) 0;
  z-index:2;
  opacity:.18;
  background-image:repeating-linear-gradient(
    90deg,
    rgba(255,255,255,.28) 0,
    rgba(255,255,255,.28) 1px,
    transparent 1px,
    transparent calc(100% / 12)
  );
  background-size:100% 100%;
}
body.swiss-v220.stream-page .hero-courant .hero-inner {
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto 1fr auto;
  column-gap:var(--swiss-gutter);
  width:min(100%,var(--swiss-max));
  max-width:var(--swiss-max);
  min-height:calc(min(820px,88svh) - var(--swiss-header));
  margin-inline:auto;
  padding:clamp(2rem,4vw,4rem) 0 clamp(2.25rem,4vw,4.25rem);
  align-content:stretch;
}
body.swiss-v220.stream-page .hero-courant .hero-tag {
  grid-column:1 / 3;
  grid-row:1;
  align-self:start;
  margin:0;
  padding-top:.75rem;
  border-top:2px solid var(--stream-accent);
  color:#f5f2ea;
}
body.swiss-v220.stream-page .hero-courant h1 {
  grid-column:3 / 10;
  grid-row:2;
  align-self:end;
  max-width:none;
  margin:0;
  font-size:clamp(4.2rem,8.2vw,8.8rem);
  font-weight:700;
  letter-spacing:-.065em;
  line-height:.87;
  color:#f5f2ea;
  text-wrap:balance;
}
body.swiss-v220.stream-page .hero-courant .hero-intro {
  grid-column:9 / 13;
  grid-row:3;
  max-width:46ch;
  margin:clamp(1.5rem,3vw,3rem) 0 0;
  padding-top:.8rem;
  border-top:1px solid rgba(255,255,255,.52);
  color:rgba(245,242,234,.86);
  font-size:clamp(.88rem,1.08vw,1.02rem);
  line-height:1.55;
}

/* Formes: stable / architectural. */
body.swiss-v220.stream-formes-page .hero-courant::before {
  background:linear-gradient(90deg,rgba(12,9,7,.68) 0%,rgba(12,9,7,.35) 45%,rgba(12,9,7,.08) 100%);
}
body.swiss-v220.stream-formes-page .hero-courant h1 { grid-column:2 / 9; }
body.swiss-v220.stream-formes-page .hero-courant .hero-intro { grid-column:9 / 13; }

/* Atelier: analytical / indexed. */
body.swiss-v220.stream-atelier-page .hero-courant::before {
  background:linear-gradient(90deg,rgba(7,8,14,.84) 0%,rgba(7,8,14,.55) 50%,rgba(7,8,14,.18) 100%);
}
body.swiss-v220.stream-atelier-page .hero-courant h1 { grid-column:3 / 11; font-size:clamp(4rem,7.7vw,8.25rem); }
body.swiss-v220.stream-atelier-page .hero-courant .hero-intro { grid-column:8 / 12; }

/* Interstices: more air, same grid. Floating fragments remain behind copy. */
body.swiss-v220.stream-interstices-page .hero-courant::before {
  background:linear-gradient(90deg,rgba(10,10,8,.64) 0%,rgba(10,10,8,.22) 56%,rgba(10,10,8,.08) 100%);
}
body.swiss-v220.stream-interstices-page .hero-courant h1 { grid-column:3 / 10; font-weight:620; }
body.swiss-v220.stream-interstices-page .hero-courant .hero-intro { grid-column:8 / 13; }
body.swiss-v220.stream-interstices-page .floating-fragments { z-index:3; }
body.swiss-v220.stream-interstices-page .floating-fragments .floating-fragment {
  font-family:var(--font-corps);
  font-style:normal;
  font-size:clamp(.72rem,1vw,.92rem);
  font-weight:520;
  letter-spacing:.015em;
  color:rgba(245,242,234,.58);
}

/* ---------- Section heads on stream pages ---------- */
body.swiss-v220.stream-page .section-header {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--swiss-gutter);
  align-items:start;
  padding-top:.8rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.stream-page .section-header .section-tag { grid-column:1 / 3; }
body.swiss-v220.stream-page .section-header .section-title { grid-column:3 / 10; max-width:none; }
body.swiss-v220.stream-page .section-header .section-intro { grid-column:9 / 13; margin:0; }
body.swiss-v220.stream-page .dark-section .section-header { border-top-color:rgba(245,242,234,.72); }

/* ---------- Formats: index strip rather than pills cloud ---------- */
body.swiss-v220.stream-page .current-formats {
  padding-top:clamp(2.2rem,4vw,4rem) !important;
  padding-bottom:clamp(2.2rem,4vw,4rem) !important;
}
body.swiss-v220.stream-page .current-formats .section-inner {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--swiss-gutter);
  align-items:start;
  padding-top:.8rem;
  border-top:2px solid currentColor;
}
body.swiss-v220.stream-page .current-formats .section-tag {
  grid-column:1 / 3;
  margin-top:.35rem;
}
body.swiss-v220.stream-page .current-formats .filters {
  grid-column:3 / 13;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0 !important;
  border-top:1px solid currentColor;
  border-inline-start:1px solid currentColor;
}
body.swiss-v220.stream-page .current-formats .filter-btn {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:48px;
  padding:.65rem .75rem;
  border:0;
  border-inline-end:1px solid currentColor;
  border-bottom:1px solid currentColor;
  background:transparent;
  color:inherit;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:start;
}
body.swiss-v220.stream-page .current-formats .filter-btn:hover,
body.swiss-v220.stream-page .current-formats .filter-btn.active {
  background:var(--stream-accent);
  color:#fff;
}

/* ---------- Publications: same grammar, different compositions ---------- */
body.swiss-v220.stream-page .current-publications .articles-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--swiss-line);
  border-inline-start:1px solid var(--swiss-line);
}
body.swiss-v220.stream-page .current-publications .article-card {
  grid-column:span 4;
  min-width:0;
}
body.swiss-v220.stream-page .current-publications .card-body {
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  min-height:260px;
}
body.swiss-v220.stream-page .current-publications .card-image { aspect-ratio:4/3; }
body.swiss-v220.stream-page .current-publications .card-title { font-size:clamp(1.1rem,1.65vw,1.5rem); }

body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(3n+1) { grid-column:span 7; }
body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(3n+2) { grid-column:span 5; }
body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(3n+3) { grid-column:span 4; }
body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(3n+1) .card-image { aspect-ratio:16/9; }

body.swiss-v220.stream-atelier-page .current-publications .article-card { grid-column:span 4; }
body.swiss-v220.stream-atelier-page .current-publications .card-image { aspect-ratio:1/1; }
body.swiss-v220.stream-atelier-page .current-publications .article-card,
body.swiss-v220.stream-atelier-page .current-publications .card-body { background:#12131a; }

body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(4n+1) { grid-column:span 5; }
body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(4n+2) { grid-column:span 7; }
body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(4n+3) { grid-column:span 4; }
body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(4n+4) { grid-column:span 8; }
body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(4n+2) .card-image,
body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(4n+4) .card-image { aspect-ratio:16/9; }

/* ---------- Atelier: labs as a research index ---------- */
body.swiss-v220.stream-atelier-page .atelier-labs-section {
  background:#111218;
  color:#f1f1eb;
  border-top:0;
}
body.swiss-v220.stream-atelier-page .atelier-labs-section .section-header { border-top-color:#f1f1eb; }
body.swiss-v220.stream-atelier-page .atelier-labs-section .section-title { color:#f1f1eb; }
body.swiss-v220.stream-atelier-page .labs-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0;
  margin:0;
  background:transparent;
  border-top:1px solid rgba(241,241,235,.42);
  border-inline-start:1px solid rgba(241,241,235,.42);
}
body.swiss-v220.stream-atelier-page .lab-item {
  grid-column:span 4;
  display:grid;
  grid-template-rows:auto auto 1fr;
  min-height:360px;
  padding:1.25rem;
  background:transparent;
  border-inline-end:1px solid rgba(241,241,235,.42);
  border-bottom:1px solid rgba(241,241,235,.42);
}
body.swiss-v220.stream-atelier-page .lab-num {
  margin:0 0 clamp(4rem,7vw,7rem);
  font-family:var(--font-corps);
  font-size:.7rem;
  font-weight:750;
  letter-spacing:.12em;
  color:var(--stream-accent);
  opacity:1;
}
body.swiss-v220.stream-atelier-page .lab-item h4 {
  margin:0 0 1rem;
  color:#f1f1eb;
  font-family:var(--font-corps);
  font-size:clamp(1.4rem,2.2vw,2.2rem);
  font-weight:620;
  letter-spacing:-.045em;
  line-height:1;
}
body.swiss-v220.stream-atelier-page .lab-item p {
  align-self:end;
  max-width:34ch;
  margin:0;
  color:rgba(241,241,235,.62);
  font-size:.84rem;
  line-height:1.55;
  opacity:1;
}

/* ---------- Atelier projects: compact status matrix ---------- */
body.swiss-v220.stream-atelier-page .atelier-projects-section {
  background:#111218;
  color:#f1f1eb;
}
body.swiss-v220.stream-atelier-page .atelier-projects-section .section-header { border-top-color:#f1f1eb; }
body.swiss-v220.stream-atelier-page .atelier-projects-section .section-title { color:#f1f1eb; }
body.swiss-v220.stream-atelier-page .atelier-projects-section .section-intro { color:rgba(241,241,235,.62); }
body.swiss-v220.stream-atelier-page .projets-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(241,241,235,.38);
  border-inline-start:1px solid rgba(241,241,235,.38);
}
body.swiss-v220.stream-atelier-page .project-item {
  grid-column:span 4;
  min-height:220px;
  padding:1.15rem;
  border:0;
  border-inline-end:1px solid rgba(241,241,235,.38);
  border-bottom:1px solid rgba(241,241,235,.38);
}
body.swiss-v220.stream-atelier-page .project-item > span {
  color:var(--stream-accent);
  font-weight:750;
}
body.swiss-v220.stream-atelier-page .project-item h3 {
  margin:clamp(2.5rem,5vw,5rem) 0 .75rem;
  color:#f1f1eb;
  font-size:clamp(1.25rem,2vw,2rem);
}
body.swiss-v220.stream-atelier-page .project-item p { color:rgba(241,241,235,.5); }

/* ---------- Interstices mosaic: gallery frame, dynamic mosaic engine retained ---------- */
body.swiss-v220.stream-interstices-page .section:has(.mosaique) {
  background:#11110f !important;
  color:#f1eee7;
  border-top:0;
}
body.swiss-v220.stream-interstices-page .section:has(.mosaique) .section-header { border-top-color:#f1eee7; }
body.swiss-v220.stream-interstices-page .section:has(.mosaique) .section-title { color:#f1eee7; }
body.swiss-v220.stream-interstices-page .mosaique {
  border:1px solid rgba(241,238,231,.28);
  background:#0b0b0a;
  padding:8px;
  gap:8px;
}
body.swiss-v220.stream-interstices-page .mosaique-item { box-shadow:none; }
body.swiss-v220.stream-interstices-page .mosaique-label {
  border:1px solid rgba(255,255,255,.28);
  background:rgba(10,10,9,.56);
  color:#fff;
  font-family:var(--font-corps);
  font-size:.62rem;
  font-weight:720;
  letter-spacing:.14em;
}

/* ---------- Closing statements ---------- */
body.swiss-v220.stream-interstices-page .interstices-closing {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  padding:clamp(5rem,9vw,9rem) var(--swiss-gutter);
  background:var(--swiss-paper);
  color:var(--swiss-ink);
  border-top:1px solid var(--swiss-ink);
  text-align:start;
}
body.swiss-v220.stream-interstices-page .interstices-closing p {
  grid-column:3 / 11;
  margin:0;
  font-family:var(--font-corps);
  font-style:normal;
  font-size:clamp(2rem,4.8vw,5rem);
  font-weight:620;
  letter-spacing:-.05em;
  line-height:.98;
}
body.swiss-v220.stream-interstices-page .interstices-closing span {
  grid-column:3 / 11;
  color:var(--stream-accent);
  font-size:.66rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-closing span { letter-spacing:0; text-transform:none; }

/* ---------- Tablet ---------- */
@media (max-width:1024px) {
  body.swiss-v220.stream-page .hero-courant { min-height:760px; }
  body.swiss-v220.stream-page .hero-courant .hero-inner { min-height:calc(760px - var(--swiss-header)); }
  body.swiss-v220.stream-page .hero-courant h1,
  body.swiss-v220.stream-formes-page .hero-courant h1,
  body.swiss-v220.stream-atelier-page .hero-courant h1,
  body.swiss-v220.stream-interstices-page .hero-courant h1 { grid-column:2 / 11; }
  body.swiss-v220.stream-page .hero-courant .hero-intro,
  body.swiss-v220.stream-formes-page .hero-courant .hero-intro,
  body.swiss-v220.stream-atelier-page .hero-courant .hero-intro,
  body.swiss-v220.stream-interstices-page .hero-courant .hero-intro { grid-column:7 / 13; }
  body.swiss-v220.stream-page .section-header .section-title { grid-column:3 / 12; }
  body.swiss-v220.stream-page .section-header .section-intro { grid-column:3 / 11; margin-top:1.5rem; }
  body.swiss-v220.stream-page .current-formats .filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.swiss-v220.stream-page .current-publications .article-card,
  body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(n),
  body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(n) { grid-column:span 6; }
  body.swiss-v220.stream-atelier-page .lab-item,
  body.swiss-v220.stream-atelier-page .project-item { grid-column:span 6; }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
  body.swiss-v220.stream-page .hero-courant {
    min-height:78svh;
    padding-inline:var(--swiss-gutter);
  }
  body.swiss-v220.stream-page .hero-courant .hero-texture {
    inset:var(--swiss-header) var(--swiss-gutter) 0;
    background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0,rgba(255,255,255,.25) 1px,transparent 1px,transparent 25%);
  }
  body.swiss-v220.stream-page .hero-courant .hero-inner {
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:auto 1fr auto;
    column-gap:1rem;
    min-height:calc(78svh - var(--swiss-header));
    padding:2rem 0 2rem;
  }
  body.swiss-v220.stream-page .hero-courant .hero-tag { grid-column:1 / 3; }
  body.swiss-v220.stream-page .hero-courant h1,
  body.swiss-v220.stream-formes-page .hero-courant h1,
  body.swiss-v220.stream-atelier-page .hero-courant h1,
  body.swiss-v220.stream-interstices-page .hero-courant h1 {
    grid-column:1 / -1;
    grid-row:2;
    font-size:clamp(3.3rem,15vw,6rem);
    line-height:.9;
  }
  body.swiss-v220.stream-page .hero-courant .hero-intro,
  body.swiss-v220.stream-formes-page .hero-courant .hero-intro,
  body.swiss-v220.stream-atelier-page .hero-courant .hero-intro,
  body.swiss-v220.stream-interstices-page .hero-courant .hero-intro {
    grid-column:2 / -1;
    grid-row:3;
    max-width:none;
    font-size:.88rem;
  }
  body.swiss-v220.stream-page .section-header {
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:1rem;
  }
  body.swiss-v220.stream-page .section-header .section-tag { grid-column:1 / 2; }
  body.swiss-v220.stream-page .section-header .section-title { grid-column:2 / -1; font-size:clamp(2rem,10vw,3.6rem); }
  body.swiss-v220.stream-page .section-header .section-intro { grid-column:2 / -1; }
  body.swiss-v220.stream-page .current-formats .section-inner {
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:1rem;
  }
  body.swiss-v220.stream-page .current-formats .section-tag { grid-column:1 / -1; margin-bottom:1rem; }
  body.swiss-v220.stream-page .current-formats .filters { grid-column:1 / -1; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.swiss-v220.stream-page .current-publications .articles-grid { grid-template-columns:1fr; }
  body.swiss-v220.stream-page .current-publications .article-card,
  body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(n),
  body.swiss-v220.stream-atelier-page .current-publications .article-card:nth-child(n),
  body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(n) { grid-column:auto; }
  body.swiss-v220.stream-page .current-publications .card-body { min-height:0; }
  body.swiss-v220.stream-page .current-publications .card-image,
  body.swiss-v220.stream-formes-page .current-publications .article-card:nth-child(n) .card-image,
  body.swiss-v220.stream-interstices-page .current-publications .article-card:nth-child(n) .card-image { aspect-ratio:16/10; }
  body.swiss-v220.stream-atelier-page .labs-grid,
  body.swiss-v220.stream-atelier-page .projets-grid { grid-template-columns:1fr; }
  body.swiss-v220.stream-atelier-page .lab-item,
  body.swiss-v220.stream-atelier-page .project-item { grid-column:auto; min-height:0; }
  body.swiss-v220.stream-atelier-page .lab-item { padding:1rem; }
  body.swiss-v220.stream-atelier-page .lab-num { margin-bottom:3rem; }
  body.swiss-v220.stream-interstices-page .interstices-closing { grid-template-columns:1fr; gap:1.5rem; }
  body.swiss-v220.stream-interstices-page .interstices-closing p,
  body.swiss-v220.stream-interstices-page .interstices-closing span { grid-column:auto; }
}

@media (max-width:480px) {
  body.swiss-v220.stream-page .current-formats .filters { grid-template-columns:1fr; }
  body.swiss-v220.stream-page .hero-courant .hero-intro { grid-column:1 / -1; }
}

/* ============================================================
   FLUENCE MAGAZINE — V2.2.3 ARTICLE PAGES / SWISS EDITORIAL
   Public presentation only. Article content and block data remain unchanged.
   ============================================================ */

body.swiss-v220.article-page-body {
  --article-accent: var(--swiss-accent);
  --article-readable: 720px;
  --article-grid-max: var(--swiss-max);
  background: var(--swiss-paper);
  color: var(--swiss-ink);
}
body.swiss-v220.article-page-body.stream-formes { --article-accent:#b84d2f; }
body.swiss-v220.article-page-body.stream-atelier { --article-accent:#4f7395; }
body.swiss-v220.article-page-body.stream-interstices { --article-accent:#71806f; }

/* ---------- Article hero ---------- */
body.swiss-v220.article-page-body .hero-article {
  min-height: clamp(620px, 78svh, 900px);
  padding: calc(var(--swiss-header) + clamp(2.5rem,5vw,5rem)) var(--swiss-gutter) clamp(3rem,5vw,5rem);
  display:flex;
  align-items:stretch;
  background:var(--swiss-dark);
  color:#f2f2ed;
  border-bottom:1px solid rgba(255,255,255,.18);
  overflow:hidden;
}
body.swiss-v220.article-page-body .hero-article::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),rgba(255,255,255,.05) calc(100% - 1px)) 0 0 / calc((100% - (11 * var(--swiss-gutter))) / 12 + var(--swiss-gutter)) 100%,
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 36%);
  opacity:.8;
  pointer-events:none;
}
body.swiss-v220.article-page-body .hero-article .hero-inner {
  position:relative;
  z-index:1;
  width:min(100%,var(--article-grid-max));
  max-width:var(--article-grid-max);
  min-height:100%;
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:auto 1fr auto;
  column-gap:var(--swiss-gutter);
  align-items:start;
}
body.swiss-v220.article-page-body .hero-article .article-meta:first-child {
  grid-column:1 / -1;
  grid-row:1;
  display:grid;
  grid-template-columns:2fr auto 2fr 1fr;
  align-items:center;
  gap:1rem;
  width:100%;
  margin:0;
  padding:.75rem 0;
  border-top:2px solid #f2f2ed;
  border-bottom:1px solid rgba(242,242,237,.32);
}
body.swiss-v220.article-page-body .hero-article .article-meta span {
  font-family:var(--font-corps);
  font-size:.64rem;
  font-weight:750;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.swiss-v220.article-page-body .hero-article .meta-courant { color:var(--article-accent); }
body.swiss-v220.article-page-body .hero-article .meta-sep { color:rgba(242,242,237,.35); }
body.swiss-v220.article-page-body .hero-article .meta-format { color:rgba(242,242,237,.75); }
body.swiss-v220.article-page-body .hero-article .meta-date {
  justify-self:end;
  margin:0;
  color:rgba(242,242,237,.58);
}
body.swiss-v220.article-page-body .hero-article h1 {
  grid-column:2 / 12;
  grid-row:2;
  align-self:center;
  max-width:15ch;
  margin:clamp(3rem,6vw,6rem) 0;
  color:#f2f2ed;
  font-family:var(--font-corps);
  font-size:clamp(4rem,8.4vw,8.7rem);
  font-weight:650;
  line-height:.88;
  letter-spacing:-.065em;
  text-wrap:balance;
}
body.swiss-v220.article-page-body .hero-article .article-subtitle {
  grid-column:7 / 12;
  grid-row:3;
  max-width:48ch;
  margin:0 0 1.6rem;
  color:rgba(242,242,237,.76)!important;
  font-family:var(--font-corps);
  font-size:clamp(1rem,1.45vw,1.28rem);
  font-style:normal;
  font-weight:450;
  line-height:1.55;
  letter-spacing:-.02em;
}
body.swiss-v220.article-page-body .hero-article .article-meta-bottom {
  grid-column:2 / 6;
  grid-row:3;
  align-self:end;
  display:flex;
  gap:1.5rem;
  margin:0;
  padding-top:.8rem;
  border-top:1px solid rgba(242,242,237,.35);
  color:rgba(242,242,237,.78);
}
body.swiss-v220.article-page-body .hero-article .article-meta-bottom span { color:inherit; }
html[dir="rtl"] body.swiss-v220.article-page-body .hero-article .article-meta span { letter-spacing:0; text-transform:none; }

/* ---------- Hero image ---------- */
body.swiss-v220.article-page-body .article-image {
  width:min(calc(100% - (2 * var(--swiss-gutter))),var(--swiss-max));
  aspect-ratio:16/8.6;
  margin:var(--swiss-gutter) auto 0;
  border:1px solid var(--swiss-line);
  background:var(--swiss-paper-2);
}
body.swiss-v220.article-page-body .article-image img {
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  display:block;
}

/* ---------- Main reading grid ---------- */
body.swiss-v220.article-page-body .article-layout {
  width:min(calc(100% - (2 * var(--swiss-gutter))),var(--article-grid-max));
  max-width:var(--article-grid-max);
  margin-inline:auto;
  padding:0;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--swiss-gutter);
  justify-content:initial;
  align-items:start;
}
body.swiss-v220.article-page-body .article-aside {
  grid-column:1 / 3;
  position:sticky;
  top:calc(var(--swiss-header) + 2rem);
  z-index:2;
  align-self:start;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  margin:clamp(5rem,8vw,8rem) 0 0;
  padding:.75rem 0 0;
  border-top:2px solid var(--swiss-ink);
  background:transparent;
  color:var(--swiss-muted);
  font-size:.62rem;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.swiss-v220.article-page-body .article-aside a {
  display:block;
  padding-top:.7rem;
  border-top:1px solid var(--swiss-line);
  color:var(--article-accent);
  text-decoration:none;
}
body.swiss-v220.article-page-body .article-body.article-blocks {
  grid-column:4 / 11;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:clamp(5rem,8vw,8rem) 0 clamp(6rem,10vw,10rem);
  color:var(--swiss-ink);
  font-size:clamp(1.02rem,1.25vw,1.15rem);
  line-height:1.76;
}
body.swiss-v220.article-page-body .article-body > p,
body.swiss-v220.article-page-body .article-blocks > .content-block:not(.content-block--image):not(.content-block--gallery):not(.content-block--steps) {
  width:min(100%,var(--article-readable));
  margin-inline:0 auto;
}
body.swiss-v220.article-page-body .article-body p {
  color:var(--swiss-ink);
  font-size:inherit;
  line-height:1.76;
  margin-bottom:1.75rem;
}
body.swiss-v220.article-page-body .article-body a {
  color:inherit;
  text-decoration-color:var(--article-accent);
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
}

/* ---------- Paragraph and heading blocks ---------- */
body.swiss-v220.article-page-body .content-block { margin-block:0 2.4rem; }
body.swiss-v220.article-page-body .content-block--paragraph.style-lead {
  margin-bottom:clamp(3rem,6vw,5rem);
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(1.35rem,2.2vw,2rem);
  font-weight:520;
  line-height:1.35;
  letter-spacing:-.035em;
}
body.swiss-v220.article-page-body .content-block--paragraph.style-small {
  max-width:56ch;
  color:var(--swiss-muted);
  font-size:.82em;
  line-height:1.65;
}
body.swiss-v220.article-page-body .content-block--heading {
  margin-top:clamp(5rem,9vw,9rem);
  padding-top:.75rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.article-page-body .content-block--heading h2,
body.swiss-v220.article-page-body .content-block--heading h3 {
  max-width:18ch;
  margin:0;
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-weight:650;
  letter-spacing:-.05em;
}
body.swiss-v220.article-page-body .content-block--heading h2 { font-size:clamp(2.5rem,5vw,5rem); line-height:.96; }
body.swiss-v220.article-page-body .content-block--heading h3 { font-size:clamp(1.7rem,3vw,3rem); line-height:1; }

/* ---------- Section opening ---------- */
body.swiss-v220.article-page-body .content-block--section {
  width:100%!important;
  margin:clamp(6rem,10vw,10rem) 0 clamp(4rem,7vw,7rem)!important;
  padding:1rem 0 0;
  display:grid;
  grid-template-columns:2fr 5fr;
  column-gap:var(--swiss-gutter);
  border-top:2px solid var(--swiss-ink);
  border-bottom:0;
}
body.swiss-v220.article-page-body .content-block--section .block-eyebrow {
  grid-column:1;
  grid-row:1 / span 2;
  margin:0;
  color:var(--article-accent);
  font-family:var(--font-corps);
  font-size:.62rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.swiss-v220.article-page-body .content-block--section h2 {
  grid-column:2;
  margin:0;
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(2.4rem,5vw,4.8rem);
  font-weight:650;
  line-height:.96;
  letter-spacing:-.055em;
}
body.swiss-v220.article-page-body .content-block--section > p:last-child {
  grid-column:2;
  margin:1.5rem 0 0!important;
  color:var(--swiss-muted);
  font-family:var(--font-corps);
  font-size:clamp(1rem,1.35vw,1.18rem);
  line-height:1.58;
}
html[dir="rtl"] body.swiss-v220.article-page-body .content-block--section .block-eyebrow { letter-spacing:0; text-transform:none; }

/* ---------- Quotes ---------- */
body.swiss-v220.article-page-body .content-block--quote {
  width:100%!important;
  margin:clamp(5rem,9vw,9rem) 0!important;
  padding:1rem 0 1.5rem;
  border-top:2px solid var(--article-accent);
  border-bottom:1px solid var(--swiss-line);
}
body.swiss-v220.article-page-body .content-block--quote blockquote {
  max-width:17ch;
  margin:0;
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(2rem,4.5vw,4.4rem);
  font-weight:620;
  font-style:normal;
  line-height:1.02;
  letter-spacing:-.05em;
}
body.swiss-v220.article-page-body .content-block--quote figcaption {
  margin-top:2rem;
  color:var(--swiss-muted);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.swiss-v220.article-page-body .content-block--quote.style-boxed {
  padding:1.25rem;
  border:1px solid var(--swiss-ink);
  border-top:4px solid var(--article-accent);
}

/* ---------- Lists ---------- */
body.swiss-v220.article-page-body .content-block--list ul,
body.swiss-v220.article-page-body .content-block--list ol {
  margin:0;
  padding:0;
  list-style-position:inside;
  border-top:1px solid var(--swiss-ink);
}
body.swiss-v220.article-page-body .content-block--list li {
  padding:.9rem 0;
  border-bottom:1px solid var(--swiss-line);
}

/* ---------- Images and galleries ---------- */
body.swiss-v220.article-page-body .content-block--image {
  margin-block:clamp(4rem,7vw,7rem);
}
body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-inline {
  width:min(100%,var(--article-readable));
  margin-inline:0 auto;
}
body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-portrait {
  width:min(68%,520px);
  margin-inline:0 auto;
}
body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-wide,
body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-full,
body.swiss-v220.article-page-body .article-blocks > .content-block--gallery,
body.swiss-v220.article-page-body .article-blocks > .content-block--steps {
  position:relative;
  inset:auto;
  width:100%;
  max-width:none;
  margin-inline:0;
  transform:none;
}
html[dir="rtl"] body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-wide,
html[dir="rtl"] body.swiss-v220.article-page-body .article-blocks > .content-block--gallery,
html[dir="rtl"] body.swiss-v220.article-page-body .article-blocks > .content-block--steps { transform:none; }
body.swiss-v220.article-page-body .content-block--image img,
body.swiss-v220.article-page-body .content-block--gallery img {
  width:100%;
  height:auto;
  border:0;
  object-fit:cover;
  display:block;
}
body.swiss-v220.article-page-body .content-block--image figcaption,
body.swiss-v220.article-page-body .content-block--gallery figcaption {
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  margin-top:0;
  padding:.6rem 0 .2rem;
  border-top:1px solid var(--swiss-ink);
  color:var(--swiss-muted);
  font-size:.62rem;
  font-weight:650;
  line-height:1.45;
  letter-spacing:.08em;
}
body.swiss-v220.article-page-body .content-block--gallery {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1px;
  margin-block:clamp(5rem,8vw,8rem);
  padding:1px;
  background:var(--swiss-line);
}
body.swiss-v220.article-page-body .content-block--gallery figure {
  grid-column:span 6;
  margin:0;
  background:var(--swiss-paper);
}
body.swiss-v220.article-page-body .content-block--gallery.gallery-count-3 figure:first-child { grid-column:span 8; }
body.swiss-v220.article-page-body .content-block--gallery.gallery-count-3 figure:nth-child(2) { grid-column:span 4; }
body.swiss-v220.article-page-body .content-block--gallery.gallery-count-3 figure:nth-child(3) { grid-column:span 12; }
body.swiss-v220.article-page-body .content-block--gallery.gallery-count-4 figure { grid-column:span 6; }
body.swiss-v220.article-page-body .content-block--gallery img { aspect-ratio:4/3; }
body.swiss-v220.article-page-body .content-block--gallery figure:first-child img { aspect-ratio:16/10; }
body.swiss-v220.article-page-body .content-block--gallery figcaption { padding:.55rem .65rem .65rem; border-top:1px solid var(--swiss-line); }

/* ---------- Callouts ---------- */
body.swiss-v220.article-page-body .content-block--callout {
  margin-block:clamp(4rem,7vw,7rem);
  padding:1.1rem 1.25rem 1.4rem;
  border:1px solid var(--swiss-ink);
  border-inline-start:1px solid var(--swiss-ink);
  border-top:4px solid var(--article-accent);
  background:transparent;
}
body.swiss-v220.article-page-body .content-block--callout h3 {
  max-width:18ch;
  margin:0 0 clamp(2rem,4vw,4rem);
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(1.6rem,3vw,2.8rem);
  font-weight:650;
  line-height:1;
}
body.swiss-v220.article-page-body .content-block--callout.style-technical {
  border:1px solid var(--swiss-ink);
  border-top:4px solid var(--article-accent);
  background:var(--swiss-paper-2);
  font-size:.9em;
}
body.swiss-v220.article-page-body .content-block--callout.style-fragment {
  padding:clamp(3rem,7vw,6rem) 0;
  border:0;
  border-top:1px solid var(--swiss-line);
  border-bottom:1px solid var(--swiss-line);
  background:transparent;
  font-family:var(--font-corps);
  font-size:clamp(1.5rem,3vw,2.7rem);
  font-weight:520;
  line-height:1.25;
  letter-spacing:-.035em;
}

/* ---------- Soft / dark tones ---------- */
body.swiss-v220.article-page-body .content-block.tone-soft {
  padding:clamp(1.5rem,3vw,2.5rem);
  background:var(--swiss-paper-2);
  border-top:4px solid var(--article-accent);
}
body.swiss-v220.article-page-body .content-block.tone-accent { color:var(--article-accent); }
body.swiss-v220.article-page-body .content-block.tone-dark {
  padding:clamp(1.75rem,4vw,3.25rem);
  background:#11110f;
  color:#f2f2ed;
  border-top:4px solid var(--article-accent);
}

/* ---------- Protocol / steps ---------- */
body.swiss-v220.article-page-body .content-block--steps {
  margin-block:clamp(5rem,8vw,8rem);
  padding:1.25rem;
  border:1px solid var(--swiss-ink);
  border-top:4px solid var(--article-accent);
  background:transparent;
}
body.swiss-v220.article-page-body .content-block--steps > h2 {
  max-width:16ch;
  margin:0 0 clamp(3rem,6vw,6rem);
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(2.2rem,4.5vw,4.3rem);
  font-weight:650;
  line-height:.96;
  letter-spacing:-.05em;
}
body.swiss-v220.article-page-body .content-block--steps > ol {
  margin:0;
  border-top:1px solid var(--swiss-ink);
}
body.swiss-v220.article-page-body .content-block--steps li {
  grid-template-columns:70px minmax(0,1fr);
  gap:1.25rem;
  padding:1.2rem 0;
  border-bottom:1px solid var(--swiss-line);
}
body.swiss-v220.article-page-body .content-block--steps li > span { color:var(--article-accent); font-weight:750; }
body.swiss-v220.article-page-body .content-block--steps strong {
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(1.05rem,1.6vw,1.35rem);
  font-weight:650;
}
body.swiss-v220.article-page-body .content-block--steps li p { color:var(--swiss-muted); }

/* ---------- Editorial links and dividers ---------- */
body.swiss-v220.article-page-body .content-block--link {
  margin-block:clamp(4rem,7vw,7rem);
  padding:.8rem 0;
  border-top:2px solid var(--swiss-ink);
  border-bottom:1px solid var(--swiss-line);
}
body.swiss-v220.article-page-body .content-block--link a {
  gap:1rem;
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(1.35rem,2.5vw,2.25rem);
  font-weight:620;
  letter-spacing:-.035em;
  text-decoration:none;
}
body.swiss-v220.article-page-body .content-block--divider { margin-block:clamp(4rem,7vw,7rem); }
body.swiss-v220.article-page-body .content-block--divider span { height:2px; background:var(--swiss-ink); }

/* ---------- Author ---------- */
body.swiss-v220.article-page-body .author-block {
  width:min(calc(100% - (2 * var(--swiss-gutter))),var(--swiss-max));
  max-width:var(--swiss-max);
  margin-inline:auto;
  padding:1rem 0 clamp(5rem,8vw,8rem);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:start;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.article-page-body .author-block img,
body.swiss-v220.article-page-body .author-monogram {
  grid-column:1 / 3;
  width:100%;
  height:auto;
  aspect-ratio:1;
  border-radius:0;
  border:1px solid var(--swiss-line);
  object-fit:cover;
}
body.swiss-v220.article-page-body .author-monogram {
  display:grid;
  place-items:center;
  color:var(--article-accent);
  font-family:var(--font-corps);
  font-size:clamp(2.5rem,5vw,5rem);
  font-weight:650;
}
body.swiss-v220.article-page-body .author-block > div:last-child { grid-column:4 / 9; }
body.swiss-v220.article-page-body .author-block .section-tag { display:block; margin-bottom:clamp(2rem,4vw,4rem); }
body.swiss-v220.article-page-body .author-block h2 {
  margin:0 0 1rem;
  color:var(--swiss-ink);
  font-size:clamp(2rem,4vw,4rem);
}
body.swiss-v220.article-page-body .author-block p { max-width:54ch; margin:0; color:var(--swiss-muted); line-height:1.65; }

/* ---------- Related reading ---------- */
body.swiss-v220.article-page-body .a-lire-aussi {
  padding:clamp(4rem,7vw,7rem) var(--swiss-gutter);
  background:var(--swiss-paper-2);
  border-top:1px solid var(--swiss-ink);
}
body.swiss-v220.article-page-body .a-lire-aussi .section-header {
  margin-bottom:clamp(2rem,4vw,4rem);
  padding-top:.7rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.article-page-body .a-lire-aussi .articles-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--swiss-line);
  border-inline-start:1px solid var(--swiss-line);
}
body.swiss-v220.article-page-body .a-lire-aussi .article-card { grid-column:span 4; border:0; }
body.swiss-v220.article-page-body .a-lire-aussi .card-link {
  height:100%;
  border-inline-end:1px solid var(--swiss-line);
  border-bottom:1px solid var(--swiss-line);
}
body.swiss-v220.article-page-body .a-lire-aussi .card-image { aspect-ratio:16/10; }
body.swiss-v220.article-page-body .a-lire-aussi .card-body { min-height:250px; }
body.swiss-v220.article-page-body .a-lire-aussi .card-title { font-size:clamp(1.25rem,2vw,1.85rem); }

/* ---------- Current-specific block nuance ---------- */
body.swiss-v220.article-page-body.stream-atelier .content-block--steps,
body.swiss-v220.article-page-body.stream-atelier .content-block--callout.style-technical {
  background:#11151a;
  color:#eff3f5;
  border-color:#11151a;
  border-top-color:var(--article-accent);
}
body.swiss-v220.article-page-body.stream-atelier .content-block--steps > h2,
body.swiss-v220.article-page-body.stream-atelier .content-block--steps strong,
body.swiss-v220.article-page-body.stream-atelier .content-block--callout.style-technical h3,
body.swiss-v220.article-page-body.stream-atelier .content-block--callout.style-technical p { color:#eff3f5; }
body.swiss-v220.article-page-body.stream-interstices .content-block--quote { border-top-width:1px; }
body.swiss-v220.article-page-body.stream-interstices .content-block--quote blockquote { font-weight:480; }

/* ---------- Tablet ---------- */
@media (max-width:1024px) {
  body.swiss-v220.article-page-body .hero-article { min-height:680px; }
  body.swiss-v220.article-page-body .hero-article h1 { grid-column:1 / 12; font-size:clamp(3.8rem,10vw,7rem); }
  body.swiss-v220.article-page-body .hero-article .article-subtitle { grid-column:7 / -1; }
  body.swiss-v220.article-page-body .hero-article .article-meta-bottom { grid-column:1 / 6; }
  body.swiss-v220.article-page-body .article-layout {
    grid-template-columns:repeat(8,minmax(0,1fr));
  }
  body.swiss-v220.article-page-body .article-aside {
    grid-column:1 / 3;
    position:sticky;
  }
  body.swiss-v220.article-page-body .article-body.article-blocks { grid-column:3 / -1; }
  body.swiss-v220.article-page-body .author-block { grid-template-columns:repeat(8,minmax(0,1fr)); }
  body.swiss-v220.article-page-body .author-block img,
  body.swiss-v220.article-page-body .author-monogram { grid-column:1 / 3; }
  body.swiss-v220.article-page-body .author-block > div:last-child { grid-column:3 / 8; }
  body.swiss-v220.article-page-body .a-lire-aussi .article-card { grid-column:span 6; }
}

/* ---------- Mobile ---------- */
@media (max-width:768px) {
  body.swiss-v220.article-page-body .hero-article {
    min-height:auto;
    padding:calc(var(--swiss-header) + 2rem) var(--swiss-gutter) 2.5rem;
  }
  body.swiss-v220.article-page-body .hero-article::before { background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 45%); }
  body.swiss-v220.article-page-body .hero-article .hero-inner {
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:auto auto auto auto;
    column-gap:1rem;
  }
  body.swiss-v220.article-page-body .hero-article .article-meta:first-child {
    grid-column:1 / -1;
    grid-template-columns:1fr auto;
    gap:.55rem 1rem;
  }
  body.swiss-v220.article-page-body .hero-article .meta-courant,
  body.swiss-v220.article-page-body .hero-article .meta-format { grid-column:1; }
  body.swiss-v220.article-page-body .hero-article .meta-sep { display:none; }
  body.swiss-v220.article-page-body .hero-article .meta-date { grid-column:2; grid-row:1 / span 2; align-self:center; }
  body.swiss-v220.article-page-body .hero-article h1 {
    grid-column:1 / -1;
    grid-row:2;
    max-width:none;
    margin:clamp(3rem,12vw,5rem) 0 2rem;
    font-size:clamp(3.1rem,15vw,5.8rem);
    line-height:.9;
  }
  body.swiss-v220.article-page-body .hero-article .article-subtitle {
    grid-column:1 / -1;
    grid-row:3;
    max-width:36ch;
    margin:0 0 2.5rem;
    font-size:.98rem;
  }
  body.swiss-v220.article-page-body .hero-article .article-meta-bottom {
    grid-column:1 / -1;
    grid-row:4;
    margin:0;
  }
  body.swiss-v220.article-page-body .article-image {
    width:calc(100% - (2 * var(--swiss-gutter)));
    aspect-ratio:4/3;
  }
  body.swiss-v220.article-page-body .article-layout {
    width:calc(100% - (2 * var(--swiss-gutter)));
    display:block;
  }
  body.swiss-v220.article-page-body .article-aside {
    position:static;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    margin:3rem 0 0;
    padding-top:.65rem;
  }
  body.swiss-v220.article-page-body .article-aside a { padding-top:0; border-top:0; text-align:end; }
  body.swiss-v220.article-page-body .article-body.article-blocks {
    width:100%;
    padding:4rem 0 6rem;
  }
  body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-portrait { width:min(82%,440px); }
  body.swiss-v220.article-page-body .content-block--section {
    grid-template-columns:1fr;
    gap:1rem;
  }
  body.swiss-v220.article-page-body .content-block--section .block-eyebrow,
  body.swiss-v220.article-page-body .content-block--section h2,
  body.swiss-v220.article-page-body .content-block--section > p:last-child { grid-column:1; grid-row:auto; }
  body.swiss-v220.article-page-body .content-block--section h2 { margin-top:2.5rem; }
  body.swiss-v220.article-page-body .content-block--gallery,
  body.swiss-v220.article-page-body .content-block--gallery.gallery-count-3,
  body.swiss-v220.article-page-body .content-block--gallery.gallery-count-4 { grid-template-columns:1fr; }
  body.swiss-v220.article-page-body .content-block--gallery figure,
  body.swiss-v220.article-page-body .content-block--gallery.gallery-count-3 figure,
  body.swiss-v220.article-page-body .content-block--gallery.gallery-count-3 figure:first-child,
  body.swiss-v220.article-page-body .content-block--gallery.gallery-count-4 figure { grid-column:auto; }
  body.swiss-v220.article-page-body .content-block--gallery img,
  body.swiss-v220.article-page-body .content-block--gallery figure:first-child img { aspect-ratio:4/3; }
  body.swiss-v220.article-page-body .author-block {
    grid-template-columns:88px 1fr;
    gap:1rem;
  }
  body.swiss-v220.article-page-body .author-block img,
  body.swiss-v220.article-page-body .author-monogram { grid-column:1; width:88px; }
  body.swiss-v220.article-page-body .author-block > div:last-child { grid-column:2; }
  body.swiss-v220.article-page-body .author-block .section-tag { margin-bottom:1.5rem; }
  body.swiss-v220.article-page-body .author-block h2 { font-size:clamp(1.7rem,8vw,2.8rem); }
  body.swiss-v220.article-page-body .a-lire-aussi .articles-grid { grid-template-columns:1fr; }
  body.swiss-v220.article-page-body .a-lire-aussi .article-card { grid-column:auto; }
}

@media (max-width:480px) {
  body.swiss-v220.article-page-body .hero-article h1 { font-size:clamp(2.9rem,15.5vw,4.8rem); }
  body.swiss-v220.article-page-body .hero-article .article-meta:first-child { padding-top:.6rem; }
  body.swiss-v220.article-page-body .article-body.article-blocks { font-size:1rem; }
  body.swiss-v220.article-page-body .content-block--steps { padding:1rem; }
  body.swiss-v220.article-page-body .content-block--steps li { grid-template-columns:42px 1fr; gap:.8rem; }
  body.swiss-v220.article-page-body .author-block { grid-template-columns:72px 1fr; }
  body.swiss-v220.article-page-body .author-block img,
  body.swiss-v220.article-page-body .author-monogram { width:72px; }
}

/* ============================================================
   V2.2.4 — EXPLORER / À PROPOS / CONTACT
   ============================================================ */

/* ---------- Shared editorial page hero ---------- */
body.swiss-v220 .swiss-page-hero,
body.swiss-v220.swiss-explore-page .editorial-list-hero,
body.swiss-v220.swiss-contact-page .editorial-list-hero {
  padding:calc(var(--swiss-header) + clamp(4rem,8vw,8rem)) var(--swiss-gutter) clamp(4rem,8vw,8rem);
  background:var(--swiss-paper);
  border-bottom:1px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-page-hero .section-inner,
body.swiss-v220.swiss-explore-page .editorial-list-hero .section-inner,
body.swiss-v220.swiss-contact-page .editorial-list-hero .section-inner {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:start;
}
body.swiss-v220 .swiss-page-hero .section-tag,
body.swiss-v220.swiss-explore-page .editorial-list-hero .section-tag,
body.swiss-v220.swiss-contact-page .editorial-list-hero .section-tag {
  grid-column:1 / 3;
  padding-top:.7rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-page-hero h1,
body.swiss-v220.swiss-explore-page .editorial-list-hero h1,
body.swiss-v220.swiss-contact-page .editorial-list-hero h1 {
  grid-column:3 / 11;
  max-width:none;
  margin:0;
  font-size:clamp(4rem,8.7vw,9.2rem);
  line-height:.88;
  letter-spacing:-.067em;
  text-wrap:balance;
}
body.swiss-v220 .swiss-page-hero p,
body.swiss-v220.swiss-explore-page .editorial-list-hero p,
body.swiss-v220.swiss-contact-page .editorial-list-hero p {
  grid-column:8 / 13;
  max-width:50ch;
  margin:clamp(2rem,5vw,5rem) 0 0;
  padding-top:.75rem;
  border-top:1px solid var(--swiss-line);
  color:var(--swiss-muted);
  font-size:clamp(.95rem,1.2vw,1.08rem);
  line-height:1.65;
}

/* ---------- Explorer ---------- */
body.swiss-v220.swiss-explore-page .section:first-of-type { border-top:0; }
body.swiss-v220.swiss-explore-page .explore-controls {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:start;
  margin-bottom:clamp(4rem,7vw,7rem);
  padding-top:.85rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.swiss-explore-page .search-form {
  grid-column:1 / 5;
  display:grid;
  grid-template-columns:1fr auto;
  min-height:52px;
  border:0;
  border-bottom:1px solid var(--swiss-ink);
}
body.swiss-v220.swiss-explore-page .search-form input {
  min-width:0;
  padding:.8rem 0;
  border:0;
  background:transparent;
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:.92rem;
  outline:none;
}
body.swiss-v220.swiss-explore-page .search-form button {
  padding:.8rem 0 .8rem 1rem;
  border:0;
  background:transparent;
  color:var(--swiss-accent);
  font-family:var(--font-corps);
  font-size:.65rem;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
}
html[dir="rtl"] body.swiss-v220.swiss-explore-page .search-form button { padding:.8rem 1rem .8rem 0; letter-spacing:0; }
body.swiss-v220.swiss-explore-page .filters {
  grid-column:6 / 13;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--swiss-line);
  border-inline-start:1px solid var(--swiss-line);
}
body.swiss-v220.swiss-explore-page .filter-btn {
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:.75rem .85rem;
  border:0;
  border-inline-end:1px solid var(--swiss-line);
  border-bottom:1px solid var(--swiss-line);
  border-radius:0;
  background:transparent;
  color:var(--swiss-ink);
  font-size:.66rem;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.swiss-v220.swiss-explore-page .filter-btn:hover,
body.swiss-v220.swiss-explore-page .filter-btn.active {
  background:var(--swiss-ink);
  color:var(--swiss-paper);
}
html[dir="rtl"] body.swiss-v220.swiss-explore-page .filter-btn { letter-spacing:0; text-transform:none; }
body.swiss-v220.swiss-explore-page .articles-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--swiss-line);
  border-inline-start:1px solid var(--swiss-line);
}
body.swiss-v220.swiss-explore-page .article-card {
  grid-column:span 4;
  border:0;
}
body.swiss-v220.swiss-explore-page .article-card .card-link {
  height:100%;
  border-inline-end:1px solid var(--swiss-line);
  border-bottom:1px solid var(--swiss-line);
}
body.swiss-v220.swiss-explore-page .article-card:nth-child(5n+1) { grid-column:span 8; }
body.swiss-v220.swiss-explore-page .article-card:nth-child(5n+1) .card-image { aspect-ratio:16/8.5; }
body.swiss-v220.swiss-explore-page .empty-state {
  padding:clamp(4rem,8vw,8rem) 0;
  border:0;
  border-top:1px solid var(--swiss-line);
  border-bottom:1px solid var(--swiss-line);
  background:transparent;
  text-align:start;
}

/* ---------- About ---------- */
body.swiss-v220.swiss-about-page .about-hero-dev {
  min-height:min(900px,88svh);
  padding:calc(var(--swiss-header) + 4rem) var(--swiss-gutter) clamp(3rem,6vw,6rem);
  align-items:flex-end;
  border-bottom:1px solid var(--swiss-ink);
  background-position:center;
}
body.swiss-v220.swiss-about-page .about-hero-dev::before { content:none; }
body.swiss-v220.swiss-about-page .about-hero-dev .section-inner {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:end;
}
body.swiss-v220.swiss-about-page .about-hero-dev .section-tag {
  grid-column:1 / 3;
  align-self:start;
  padding-top:.65rem;
  border-top:2px solid rgba(255,255,255,.9);
  color:#fff;
}
body.swiss-v220.swiss-about-page .about-hero-dev h1 {
  grid-column:3 / 11;
  max-width:none;
  margin:0;
  font-size:clamp(4rem,9vw,9.5rem);
  line-height:.88;
  color:#fff;
  letter-spacing:-.067em;
}
body.swiss-v220.swiss-about-page .about-hero-dev p {
  grid-column:8 / 13;
  max-width:46ch;
  margin:clamp(2rem,5vw,5rem) 0 0;
  padding-top:.75rem;
  border-top:1px solid rgba(255,255,255,.35);
  color:rgba(255,255,255,.82);
  font-size:clamp(.95rem,1.2vw,1.08rem);
  line-height:1.65;
}
body.swiss-v220.swiss-about-page .about-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:start;
}
body.swiss-v220.swiss-about-page .about-grid > aside {
  grid-column:1 / 4;
  position:sticky;
  top:calc(var(--swiss-header) + 2rem);
  padding-top:.7rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.swiss-about-page .about-intro {
  margin:clamp(2.5rem,5vw,5rem) 0 0;
  color:var(--swiss-ink);
  font-family:var(--font-corps);
  font-size:clamp(1.25rem,2.2vw,2rem);
  font-weight:620;
  letter-spacing:-.035em;
  line-height:1.15;
}
body.swiss-v220.swiss-about-page .about-grid > .page-content {
  grid-column:5 / 11;
  max-width:none;
}
body.swiss-v220.swiss-about-page .page-content p {
  margin:0 0 2rem;
  color:var(--swiss-ink);
  font-size:clamp(1rem,1.35vw,1.15rem);
  line-height:1.78;
}
body.swiss-v220.swiss-about-page .section:has(.courants-grid) {
  background:var(--swiss-paper-2) !important;
}
body.swiss-v220.swiss-about-page .section:has(.courants-grid) .section-header {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:start;
}
body.swiss-v220.swiss-about-page .section:has(.courants-grid) .section-header .section-tag { grid-column:1 / 3; }
body.swiss-v220.swiss-about-page .section:has(.courants-grid) .section-title { grid-column:4 / 11; max-width:none; }
body.swiss-v220.swiss-about-page .courants-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0;
  background:transparent;
  border:0;
  border-top:1px solid var(--swiss-ink);
}
body.swiss-v220.swiss-about-page .courant-card {
  grid-column:span 4;
  min-height:280px;
  padding:1rem;
  background:transparent !important;
  color:var(--swiss-ink);
  border-inline-end:1px solid var(--swiss-line);
  border-bottom:1px solid var(--swiss-line);
}
body.swiss-v220.swiss-about-page .courant-card::before { display:none; }
body.swiss-v220.swiss-about-page .courant-card-content {
  height:100%;
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto 1fr auto;
  gap:1rem;
  align-items:start;
}
body.swiss-v220.swiss-about-page .courant-num { color:var(--swiss-accent); }
body.swiss-v220.swiss-about-page .courant-card h3 {
  align-self:end;
  margin:0;
  color:var(--swiss-ink);
  font-size:clamp(1.8rem,3.5vw,3.6rem);
}
body.swiss-v220.swiss-about-page .courant-card p {
  grid-column:2;
  margin:0;
  color:var(--swiss-muted);
  opacity:1;
}
body.swiss-v220.swiss-about-page .courant-card:hover { background:var(--swiss-ink) !important; color:var(--swiss-paper); }
body.swiss-v220.swiss-about-page .courant-card:hover h3,
body.swiss-v220.swiss-about-page .courant-card:hover p { color:var(--swiss-paper); }

/* ---------- Contact ---------- */
body.swiss-v220.swiss-contact-page .swiss-contact-index { padding-top:0; }
body.swiss-v220.swiss-contact-page .contact-index-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.swiss-contact-page .contact-channel {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  min-height:210px;
  padding:1rem 0 clamp(2.5rem,5vw,5rem);
  border-bottom:1px solid var(--swiss-line);
  transition:background var(--transition), color var(--transition), padding var(--transition);
}
body.swiss-v220.swiss-contact-page .contact-channel-num {
  grid-column:1 / 2;
  color:var(--swiss-accent);
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.1em;
}
body.swiss-v220.swiss-contact-page .contact-channel-body { grid-column:3 / 9; }
body.swiss-v220.swiss-contact-page .contact-channel-body h2 {
  max-width:16ch;
  margin:0 0 1.2rem;
  font-size:clamp(2rem,4.3vw,4.8rem);
  line-height:.94;
}
body.swiss-v220.swiss-contact-page .contact-channel-body p {
  max-width:64ch;
  margin:0;
  color:var(--swiss-muted);
  font-size:.95rem;
  line-height:1.65;
}
body.swiss-v220.swiss-contact-page .contact-channel-action {
  grid-column:10 / 13;
  align-self:end;
}
body.swiss-v220.swiss-contact-page .contact-channel-action a {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 0;
  border-top:1px solid var(--swiss-ink);
  border-bottom:1px solid var(--swiss-ink);
  color:var(--swiss-ink);
  font-size:.7rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}
body.swiss-v220.swiss-contact-page .contact-channel-action a:hover { color:var(--swiss-accent); border-color:var(--swiss-accent); }
html[dir="rtl"] body.swiss-v220.swiss-contact-page .contact-channel-action a { letter-spacing:0; text-transform:none; }
body.swiss-v220.swiss-contact-page .contact-channel-studio { margin-top:clamp(2rem,5vw,5rem); border-top:1px solid var(--swiss-ink); }
body.swiss-v220.swiss-contact-page .contact-channel-studio .contact-channel-num { color:var(--swiss-muted); }
body.swiss-v220.swiss-contact-page .contact-note-grid,
body.swiss-v220.swiss-contact-page .contact-social-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--swiss-gutter);
  align-items:start;
  padding-top:.75rem;
  border-top:2px solid var(--swiss-ink);
}
body.swiss-v220.swiss-contact-page .contact-note-grid .section-tag,
body.swiss-v220.swiss-contact-page .contact-social-grid .section-tag { grid-column:1 / 3; }
body.swiss-v220.swiss-contact-page .contact-note-grid h2,
body.swiss-v220.swiss-contact-page .contact-social-grid h2 {
  grid-column:4 / 10;
  max-width:16ch;
  margin:0;
  font-size:clamp(2.4rem,5vw,5.5rem);
}
body.swiss-v220.swiss-contact-page .contact-note-grid > p {
  grid-column:9 / 13;
  margin:clamp(5rem,9vw,9rem) 0 0;
  color:var(--swiss-muted);
  line-height:1.7;
}
body.swiss-v220.swiss-contact-page .swiss-contact-note { background:var(--swiss-paper-2); }
body.swiss-v220.swiss-contact-page .contact-social-links {
  grid-column:9 / 13;
  margin-top:clamp(4rem,7vw,7rem);
  border-top:1px solid var(--swiss-line);
}
body.swiss-v220.swiss-contact-page .contact-social-links a {
  display:flex;
  justify-content:space-between;
  padding:1rem 0;
  border-bottom:1px solid var(--swiss-line);
  color:var(--swiss-ink);
  font-weight:650;
  text-decoration:none;
}
body.swiss-v220.swiss-contact-page .contact-social-links a:hover { color:var(--swiss-accent); }
body.swiss-v220.swiss-contact-page .notice-soft {
  display:block;
  padding:.8rem 0;
  border-top:1px solid var(--swiss-line);
  background:transparent;
  color:var(--swiss-muted);
  font-size:.72rem !important;
}

/* ---------- V2.2.4 responsive ---------- */
@media (max-width:1024px) {
  body.swiss-v220 .swiss-page-hero h1,
  body.swiss-v220.swiss-explore-page .editorial-list-hero h1,
  body.swiss-v220.swiss-contact-page .editorial-list-hero h1 { grid-column:3 / 13; }
  body.swiss-v220 .swiss-page-hero p,
  body.swiss-v220.swiss-explore-page .editorial-list-hero p,
  body.swiss-v220.swiss-contact-page .editorial-list-hero p { grid-column:7 / 13; }
  body.swiss-v220.swiss-explore-page .search-form { grid-column:1 / 6; }
  body.swiss-v220.swiss-explore-page .filters { grid-column:6 / 13; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.swiss-v220.swiss-explore-page .article-card,
  body.swiss-v220.swiss-explore-page .article-card:nth-child(5n+1) { grid-column:span 6; }
  body.swiss-v220.swiss-explore-page .article-card:nth-child(5n+1) .card-image { aspect-ratio:16/10; }
  body.swiss-v220.swiss-about-page .about-hero-dev h1 { grid-column:3 / 13; }
  body.swiss-v220.swiss-about-page .about-hero-dev p { grid-column:7 / 13; }
  body.swiss-v220.swiss-about-page .about-grid > aside { grid-column:1 / 4; }
  body.swiss-v220.swiss-about-page .about-grid > .page-content { grid-column:4 / 12; }
  body.swiss-v220.swiss-contact-page .contact-channel-body { grid-column:3 / 10; }
  body.swiss-v220.swiss-contact-page .contact-channel-action { grid-column:10 / 13; }
  body.swiss-v220.swiss-contact-page .contact-note-grid h2,
  body.swiss-v220.swiss-contact-page .contact-social-grid h2 { grid-column:3 / 10; }
  body.swiss-v220.swiss-contact-page .contact-note-grid > p,
  body.swiss-v220.swiss-contact-page .contact-social-links { grid-column:8 / 13; }
}

@media (max-width:768px) {
  body.swiss-v220 .swiss-page-hero,
  body.swiss-v220.swiss-explore-page .editorial-list-hero,
  body.swiss-v220.swiss-contact-page .editorial-list-hero { padding-top:calc(var(--swiss-header) + 3rem); }
  body.swiss-v220 .swiss-page-hero .section-inner,
  body.swiss-v220.swiss-explore-page .editorial-list-hero .section-inner,
  body.swiss-v220.swiss-contact-page .editorial-list-hero .section-inner,
  body.swiss-v220.swiss-about-page .about-hero-dev .section-inner { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
  body.swiss-v220 .swiss-page-hero .section-tag,
  body.swiss-v220.swiss-explore-page .editorial-list-hero .section-tag,
  body.swiss-v220.swiss-contact-page .editorial-list-hero .section-tag,
  body.swiss-v220.swiss-about-page .about-hero-dev .section-tag { grid-column:1 / 2; }
  body.swiss-v220 .swiss-page-hero h1,
  body.swiss-v220.swiss-explore-page .editorial-list-hero h1,
  body.swiss-v220.swiss-contact-page .editorial-list-hero h1,
  body.swiss-v220.swiss-about-page .about-hero-dev h1 { grid-column:1 / -1; margin-top:2.5rem; font-size:clamp(3.2rem,15vw,5.8rem); }
  body.swiss-v220 .swiss-page-hero p,
  body.swiss-v220.swiss-explore-page .editorial-list-hero p,
  body.swiss-v220.swiss-contact-page .editorial-list-hero p,
  body.swiss-v220.swiss-about-page .about-hero-dev p { grid-column:2 / -1; margin-top:2rem; }
  body.swiss-v220.swiss-explore-page .explore-controls { grid-template-columns:1fr; gap:2rem; }
  body.swiss-v220.swiss-explore-page .search-form,
  body.swiss-v220.swiss-explore-page .filters { grid-column:auto; }
  body.swiss-v220.swiss-explore-page .filters { grid-template-columns:1fr 1fr; }
  body.swiss-v220.swiss-explore-page .articles-grid { grid-template-columns:1fr; }
  body.swiss-v220.swiss-explore-page .article-card,
  body.swiss-v220.swiss-explore-page .article-card:nth-child(5n+1) { grid-column:auto; }
  body.swiss-v220.swiss-about-page .about-hero-dev { min-height:72svh; }
  body.swiss-v220.swiss-about-page .about-grid { display:block; }
  body.swiss-v220.swiss-about-page .about-grid > aside { position:static; margin-bottom:4rem; }
  body.swiss-v220.swiss-about-page .section:has(.courants-grid) .section-header { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
  body.swiss-v220.swiss-about-page .section:has(.courants-grid) .section-header .section-tag { grid-column:1 / 2; }
  body.swiss-v220.swiss-about-page .section:has(.courants-grid) .section-title { grid-column:2 / -1; }
  body.swiss-v220.swiss-about-page .courants-grid { grid-template-columns:1fr; }
  body.swiss-v220.swiss-about-page .courant-card { grid-column:auto; min-height:220px; border-inline-end:0; }
  body.swiss-v220.swiss-contact-page .contact-channel {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
    min-height:0;
    padding:1rem 0 2.5rem;
  }
  body.swiss-v220.swiss-contact-page .contact-channel-num { grid-column:1; }
  body.swiss-v220.swiss-contact-page .contact-channel-body { grid-column:2 / -1; }
  body.swiss-v220.swiss-contact-page .contact-channel-action { grid-column:2 / -1; margin-top:1rem; }
  body.swiss-v220.swiss-contact-page .contact-note-grid,
  body.swiss-v220.swiss-contact-page .contact-social-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
  body.swiss-v220.swiss-contact-page .contact-note-grid .section-tag,
  body.swiss-v220.swiss-contact-page .contact-social-grid .section-tag { grid-column:1; }
  body.swiss-v220.swiss-contact-page .contact-note-grid h2,
  body.swiss-v220.swiss-contact-page .contact-social-grid h2 { grid-column:2 / -1; }
  body.swiss-v220.swiss-contact-page .contact-note-grid > p,
  body.swiss-v220.swiss-contact-page .contact-social-links { grid-column:2 / -1; margin-top:2rem; }
}

@media (max-width:480px) {
  body.swiss-v220.swiss-explore-page .filters { grid-template-columns:1fr; }
  body.swiss-v220.swiss-about-page .about-intro { font-size:1.25rem; }
  body.swiss-v220.swiss-contact-page .contact-channel-body h2 { font-size:clamp(1.8rem,10vw,3rem); }
}

/* ============================================================
   FLUENCE MAGAZINE — V2.2.5 RESPONSIVE / RTL STABILISATION
   Final non-destructive front-end hardening layer.
   ============================================================ */

/* Global containment: no component may create horizontal page scroll. */
html,
body.swiss-v220 {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body.swiss-v220 *,
body.swiss-v220 *::before,
body.swiss-v220 *::after {
  min-width: 0;
}

body.swiss-v220 img,
body.swiss-v220 video,
body.swiss-v220 iframe,
body.swiss-v220 svg {
  max-width: 100%;
}

body.swiss-v220 img,
body.swiss-v220 video {
  height: auto;
}

body.swiss-v220 input,
body.swiss-v220 textarea,
body.swiss-v220 select,
body.swiss-v220 button {
  max-width: 100%;
}

body.swiss-v220 p,
body.swiss-v220 li,
body.swiss-v220 blockquote,
body.swiss-v220 figcaption,
body.swiss-v220 .hero-intro,
body.swiss-v220 .article-body,
body.swiss-v220 .contact-channel-copy,
body.swiss-v220 .about-copy {
  overflow-wrap: break-word;
}

/* Header and compact navigation. */
body.swiss-v220 .site-header,
body.swiss-v220 .site-header .header-inner {
  max-width: 100vw;
}

body.swiss-v220 .site-header .nav-panel {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}

body.swiss-v220 .site-header .nav-links,
body.swiss-v220 .site-header .nav-links li,
body.swiss-v220 .site-header .nav-links a {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.swiss-v220 .site-header .nav-links a {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  column-gap: 1rem;
  justify-content: initial !important;
  align-items: center !important;
  padding: .85rem 1.25rem !important;
  overflow: hidden;
}

body.swiss-v220 .site-header .nav-links a::before {
  grid-column: 2;
  grid-row: 1;
  min-width: 2rem;
  margin: 0 !important;
  text-align: end;
}

body.swiss-v220 .site-header .nav-label {
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

html[dir="rtl"] body.swiss-v220 .site-header .nav-panel {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] body.swiss-v220 .site-header .nav-links a {
  grid-template-columns: auto minmax(0,1fr);
  padding-inline: 1.25rem !important;
  font-family: var(--font-arabic) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html[dir="rtl"] body.swiss-v220 .site-header .nav-links a::before {
  grid-column: 1;
  text-align: right;
}

html[dir="rtl"] body.swiss-v220 .site-header .nav-label {
  grid-column: 2;
  text-align: right;
  line-height: 1.55;
}

html[dir="rtl"] body.swiss-v220 .site-header .header-actions {
  direction: rtl;
}

html[dir="rtl"] body.swiss-v220 .nav-studio-link {
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  text-align: center;
}

/* Generic grid children must be allowed to shrink inside their track. */
body.swiss-v220 .section-inner,
body.swiss-v220 .hero-inner,
body.swiss-v220 .footer-inner,
body.swiss-v220 .article-layout,
body.swiss-v220 .article-body,
body.swiss-v220 .articles-grid,
body.swiss-v220 .courants-grid,
body.swiss-v220 .manifesto-grid,
body.swiss-v220 .home-featured,
body.swiss-v220 .mosaique,
body.swiss-v220 .contact-grid,
body.swiss-v220 .about-grid {
  min-width: 0;
  max-width: 100%;
}

/* Arabic: use Arabic metrics rather than Latin tracking rules. */
html[dir="rtl"] body.swiss-v220 h1,
html[dir="rtl"] body.swiss-v220 h2,
html[dir="rtl"] body.swiss-v220 h3,
html[dir="rtl"] body.swiss-v220 h4,
html[dir="rtl"] body.swiss-v220 .section-title,
html[dir="rtl"] body.swiss-v220 .card-title,
html[dir="rtl"] body.swiss-v220 .article-title {
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: normal;
  word-break: normal;
}

html[dir="rtl"] body.swiss-v220 .section-tag,
html[dir="rtl"] body.swiss-v220 .hero-tag,
html[dir="rtl"] body.swiss-v220 .card-format,
html[dir="rtl"] body.swiss-v220 .card-date,
html[dir="rtl"] body.swiss-v220 .card-read {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Forms and search controls: reliable touch/mobile width. */
body.swiss-v220 form,
body.swiss-v220 .search-form,
body.swiss-v220 .contact-form {
  max-width: 100%;
}

body.swiss-v220 input:not([type="checkbox"]):not([type="radio"]),
body.swiss-v220 textarea,
body.swiss-v220 select {
  width: 100%;
  min-width: 0;
}

/* Tablet stabilisation. */
@media (max-width: 1024px) {
  body.swiss-v220 {
    --swiss-gutter: clamp(1.25rem, 3vw, 2rem);
  }

  body.swiss-v220 .hero h1,
  body.swiss-v220 .swiss-home-hero h1,
  body.swiss-v220.stream-page .hero-courant h1,
  body.swiss-v220.article-page-body .hero-article h1 {
    max-width: 100%;
  }

  body.swiss-v220 .site-header .nav-panel {
    width: min(480px, 100vw) !important;
  }
}

/* Mobile: one stable viewport, no 100vw scrollbar artefacts. */
@media (max-width: 768px) {
  html,
  body.swiss-v220 {
    overflow-x: hidden;
  }

  body.swiss-v220 {
    --swiss-header: 64px;
    --swiss-gutter: 1rem;
  }

  body.swiss-v220 .site-header .header-inner {
    width: 100%;
    padding-inline: 1rem !important;
  }

  body.swiss-v220 .site-header .logo {
    max-width: calc(100% - 58px);
    overflow: hidden;
  }

  body.swiss-v220 .site-header .logo-name {
    white-space: nowrap;
  }

  body.swiss-v220 .site-header .nav-panel,
  html[dir="rtl"] body.swiss-v220 .site-header .nav-panel {
    inset-inline: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    border-inline: 0 !important;
  }

  body.swiss-v220 .site-header .nav-links {
    width: 100% !important;
    padding: .45rem 0 0 !important;
  }

  body.swiss-v220 .site-header .nav-links a,
  html[dir="rtl"] body.swiss-v220 .site-header .nav-links a {
    min-height: 58px !important;
    padding: .75rem 1rem !important;
    column-gap: .8rem;
    font-size: clamp(1rem, 5vw, 1.18rem) !important;
  }

  body.swiss-v220 .site-header .nav-links a::before {
    min-width: 1.7rem;
    font-size: .58rem;
  }

  body.swiss-v220 .site-header .header-actions,
  html[dir="rtl"] body.swiss-v220 .site-header .header-actions {
    grid-template-columns: minmax(0,1fr) 44px 44px !important;
    gap: .6rem !important;
    width: 100%;
    padding: 1rem !important;
  }

  body.swiss-v220 .nav-studio-link {
    width: 100%;
    min-width: 0;
    padding-inline: .65rem;
    font-size: .68rem;
  }

  body.swiss-v220 .hero,
  body.swiss-v220 .hero-courant,
  body.swiss-v220 .hero-article,
  body.swiss-v220 .swiss-home-hero {
    min-width: 0;
    max-width: 100%;
  }

  body.swiss-v220 .hero h1,
  body.swiss-v220 .swiss-home-hero h1,
  body.swiss-v220.stream-page .hero-courant h1,
  body.swiss-v220.article-page-body .hero-article h1 {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  html[dir="rtl"] body.swiss-v220 .hero h1,
  html[dir="rtl"] body.swiss-v220 .swiss-home-hero h1,
  html[dir="rtl"] body.swiss-v220.stream-page .hero-courant h1,
  html[dir="rtl"] body.swiss-v220.article-page-body .hero-article h1 {
    font-size: clamp(3rem, 13vw, 5.5rem) !important;
    line-height: 1.06 !important;
  }

  body.swiss-v220 .section,
  body.swiss-v220 .article-body {
    max-width: 100%;
  }

  body.swiss-v220 .content-block--image,
  body.swiss-v220 .content-block--gallery,
  body.swiss-v220 .content-block--steps,
  body.swiss-v220 .content-block--box,
  body.swiss-v220 .content-block--quote {
    max-width: 100% !important;
    margin-inline: 0 !important;
    transform: none !important;
  }

  body.swiss-v220 .content-block--image.block-width-wide,
  body.swiss-v220 .content-block--image.block-width-full,
  body.swiss-v220.article-page-body .article-blocks > .content-block--image.block-width-wide,
  body.swiss-v220.article-page-body .article-blocks > .content-block--gallery,
  body.swiss-v220.article-page-body .article-blocks > .content-block--steps {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    transform: none !important;
  }

  body.swiss-v220 .content-block--gallery {
    grid-template-columns: 1fr !important;
  }

  body.swiss-v220 .content-block--gallery figure,
  body.swiss-v220 .content-block--gallery figure:first-child {
    grid-column: auto !important;
  }

  body.swiss-v220 .mosaique {
    max-width: 100%;
    overflow: hidden;
  }

  body.swiss-v220 .filters,
  body.swiss-v220 .explore-controls {
    max-width: 100%;
  }

  body.swiss-v220 .filter-btn,
  body.swiss-v220 .btn,
  body.swiss-v220 a.btn {
    min-height: 44px;
  }
}

/* Narrow phones: simplify grids and preserve readable measures. */
@media (max-width: 560px) {
  body.swiss-v220 {
    --swiss-gutter: .9rem;
  }

  body.swiss-v220 .site-header .nav-links a,
  html[dir="rtl"] body.swiss-v220 .site-header .nav-links a {
    padding-inline: .9rem !important;
  }

  body.swiss-v220 .site-header .header-actions,
  html[dir="rtl"] body.swiss-v220 .site-header .header-actions {
    padding: .9rem !important;
  }

  body.swiss-v220 .footer-top,
  body.swiss-v220 .contact-social-grid,
  body.swiss-v220 .contact-grid,
  body.swiss-v220 .about-grid {
    grid-template-columns: 1fr !important;
  }

  body.swiss-v220 .footer-brand,
  body.swiss-v220 .footer-col,
  body.swiss-v220 .contact-social-grid > *,
  body.swiss-v220 .contact-grid > *,
  body.swiss-v220 .about-grid > * {
    grid-column: 1 / -1 !important;
  }

  body.swiss-v220 .article-body p,
  body.swiss-v220 .article-body li {
    font-size: clamp(1rem, 4.4vw, 1.08rem);
  }
}

/* Very narrow devices: navigation and hero typography must never clip. */
@media (max-width: 390px) {
  body.swiss-v220 .site-header .logo-name {
    font-size: .9rem !important;
  }

  body.swiss-v220 .site-header .nav-links a,
  html[dir="rtl"] body.swiss-v220 .site-header .nav-links a {
    font-size: 1rem !important;
  }

  body.swiss-v220 .site-header .header-actions,
  html[dir="rtl"] body.swiss-v220 .site-header .header-actions {
    grid-template-columns: minmax(0,1fr) 42px 42px !important;
    gap: .45rem !important;
  }

  body.swiss-v220 .nav-studio-link {
    font-size: .62rem;
  }
}

/* Preserve calm motion on touch and accessibility settings. */
@media (hover: none) {
  body.swiss-v220 .article-card:hover,
  body.swiss-v220 .courant-card:hover,
  body.swiss-v220 .mosaique-item:hover img {
    transform: none !important;
  }
}

/* === V2.2.9 — Multiple editorial choices on home === */
body.swiss-v220 .swiss-featured-section-head {
  align-items: end;
  padding-bottom: .75rem;
}
body.swiss-v220 .swiss-featured-section-head > div { grid-column: 1 / 10; }
body.swiss-v220 .swiss-featured-count {
  grid-column: 12 / 13;
  justify-self: end;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  color: var(--swiss-muted);
}
body.swiss-v220 .swiss-featured-list {
  border-top: 1px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-home-featured .swiss-featured-item {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  min-height: clamp(480px,52vw,740px);
  border-top: 0;
  border-bottom: 1px solid var(--swiss-ink);
}
body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) .home-featured-image {
  grid-column: 6 / 13;
  grid-row: 1;
  border-inline-end: 0;
  border-inline-start: 1px solid var(--swiss-line);
}
body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) .home-featured-copy {
  grid-column: 1 / 6;
  grid-row: 1;
}
body.swiss-v220 .swiss-featured-index {
  position: absolute;
  z-index: 3;
  inset-block-start: 1rem;
  inset-inline-start: 1rem;
  min-width: 2.3rem;
  padding: .34rem .42rem .28rem;
  background: var(--swiss-paper);
  border: 1px solid var(--swiss-ink);
  color: var(--swiss-ink);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1;
}
body.swiss-v220 .swiss-featured-title {
  margin: 1.2rem 0 1.1rem;
  max-width: 16ch;
  font-size: clamp(2rem,3.7vw,4.6rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .95;
}
body.swiss-v220 .swiss-featured-title a {
  color: inherit;
  text-decoration: none;
}
body.swiss-v220 .swiss-featured-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
body.swiss-v220 .swiss-home-featured .swiss-featured-item .article-subtitle {
  margin: 0 0 1.4rem;
  max-width: 24ch;
  font-size: clamp(1.05rem,1.55vw,1.55rem);
  line-height: 1.2;
  color: var(--swiss-ink);
}
body.swiss-v220 .swiss-home-featured .swiss-featured-item .home-featured-copy > p:not(.article-subtitle) {
  margin-top: auto;
}

@media (max-width: 900px) {
  body.swiss-v220 .swiss-featured-section-head > div { grid-column: 1 / 6; }
  body.swiss-v220 .swiss-featured-count { grid-column: 6 / 7; }
  body.swiss-v220 .swiss-home-featured .swiss-featured-item,
  body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) {
    grid-template-columns: repeat(6,minmax(0,1fr));
    min-height: 0;
  }
  body.swiss-v220 .swiss-home-featured .swiss-featured-item .home-featured-image,
  body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) .home-featured-image {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 52vw;
    border-inline: 0;
    border-bottom: 1px solid var(--swiss-line);
  }
  body.swiss-v220 .swiss-home-featured .swiss-featured-item .home-featured-copy,
  body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) .home-featured-copy {
    grid-column: 2 / 7;
    grid-row: auto;
  }
}

@media (max-width: 600px) {
  body.swiss-v220 .swiss-featured-section-head > div { grid-column: 1 / 5; }
  body.swiss-v220 .swiss-featured-count { grid-column: 5 / 7; }
  body.swiss-v220 .swiss-home-featured .swiss-featured-item .home-featured-copy,
  body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) .home-featured-copy { grid-column: 1 / -1; }
  body.swiss-v220 .swiss-home-featured .swiss-featured-item .home-featured-image,
  body.swiss-v220 .swiss-home-featured .swiss-featured-item:nth-child(even) .home-featured-image { min-height: 66vw; }
  body.swiss-v220 .swiss-featured-title { font-size: clamp(2rem,10vw,3.2rem); }
}


/* === V2.2.10 — Accueil : publications récentes ===
   Conserve la grille validée ; seules les images remplissent entièrement leur cadre. */
body.swiss-v220 .swiss-home-latest .swiss-home-articles .card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* === V2.2.11 — Explorer : images des cartes ===
   Conserve la composition validée ; les visuels remplissent leur cadre sans déformation. */
body.swiss-v220.swiss-explore-page .article-card .card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* ============================================================
   V2.2.13 — INTERSTICES / SWISS PHOTOGRAPHIC GRID
   Replaces the former dark masonry/Mondrian mosaic with a
   controlled 12-column editorial composition. Admin data unchanged.
   ============================================================ */
body.swiss-v220.stream-interstices-page .interstices-swiss-gallery {
  background: var(--swiss-paper) !important;
  color: var(--swiss-ink);
  border-top: 1px solid var(--swiss-line);
}

body.swiss-v220.stream-interstices-page .interstices-swiss-gallery .section-header {
  border-top: 2px solid currentColor;
}

body.swiss-v220.stream-interstices-page .interstices-swiss-gallery .section-title,
body.swiss-v220.stream-interstices-page .interstices-swiss-gallery .section-tag {
  color: inherit;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: clamp(2.2rem, 4.5vw, 4.8rem) clamp(.75rem, 1.35vw, 1.4rem);
  align-items: start;
  width: 100%;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item,
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:nth-child(n),
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item[class*="mosaic-slot-"] {
  position: relative;
  display: block;
  grid-row: auto !important;
  margin: 0;
  min-width: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item::before,
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item::after {
  content: none !important;
}

/* Module widths: the photograph format decides the Swiss grid module. */
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-landscape { grid-column: span 6 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-portrait  { grid-column: span 3 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-square    { grid-column: span 4 !important; }

/* The opening fragment is allowed more editorial weight without forcing a crop. */
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:first-child.is-landscape { grid-column: span 8 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:first-child.is-portrait  { grid-column: span 4 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:first-child.is-square    { grid-column: span 5 !important; }

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-media {
  width: 100%;
  overflow: hidden;
  background: var(--swiss-paper-2);
  border-top: 1px solid var(--swiss-ink);
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .is-landscape .mosaique-media { aspect-ratio: 16 / 10; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid .is-portrait .mosaique-media  { aspect-ratio: 4 / 5; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid .is-square .mosaique-media    { aspect-ratio: 1 / 1; }

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
  transform: none;
  transition: transform .65s cubic-bezier(.2,.7,.25,1), filter .4s ease;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:hover .mosaique-media img {
  transform: scale(1.018);
  filter: contrast(1.015);
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-caption {
  position: static;
  display: grid;
  grid-template-columns: 2.35rem minmax(0,1fr);
  gap: .7rem;
  align-items: start;
  padding: .72rem 0 0;
  border-top: 0;
  background: transparent;
  color: var(--swiss-ink);
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-index {
  font-size: .65rem;
  font-weight: 760;
  line-height: 1.25;
  letter-spacing: .08em;
  color: var(--swiss-muted);
  font-variant-numeric: tabular-nums;
  direction: ltr;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-label {
  display: block;
  max-width: 24ch;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: var(--font-corps);
  font-size: clamp(.72rem, .85vw, .88rem);
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--swiss-ink);
  text-shadow: none;
}

/* A little controlled breathing room: asymmetry through the grid, not masonry. */
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:nth-child(3),
body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:nth-child(6) {
  margin-top: clamp(1rem, 2.5vw, 2.6rem);
}

html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-caption {
  grid-template-columns: minmax(0,1fr) 2.35rem;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-index { grid-column: 2; text-align: end; }
html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-label { grid-column: 1; grid-row: 1; letter-spacing: 0; }

@media (max-width: 900px) {
  body.swiss-v220.stream-interstices-page .swiss-photo-grid {
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 2.8rem .85rem;
  }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-landscape { grid-column: span 6 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-portrait,
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-square { grid-column: span 3 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:first-child { grid-column: span 6 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:nth-child(3),
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:nth-child(6) { margin-top: 0; }
}

@media (max-width: 560px) {
  body.swiss-v220.stream-interstices-page .swiss-photo-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 2.25rem .7rem;
  }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-landscape,
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item:first-child { grid-column: 1 / -1 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-portrait,
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-item.is-square { grid-column: span 1 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-caption {
    grid-template-columns: 1.7rem minmax(0,1fr);
    gap: .45rem;
    padding-top: .55rem;
  }
  html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-caption {
    grid-template-columns: minmax(0,1fr) 1.7rem;
  }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid .mosaique-label { font-size: .7rem; }
}

/* ============================================================
   V2.2.14 — INTERSTICES / FIXED SWISS EDITORIAL COMPOSITION
   A deterministic composition: no masonry, no ratio-driven spans,
   no overlap. Six admin-managed images remain unchanged.
   ============================================================ */
body.swiss-v220.stream-interstices-page .interstices-swiss-gallery {
  position: relative;
  overflow: clip;
  isolation: isolate;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid.swiss-photo-grid-fixed {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(9, clamp(58px, 6vw, 88px)) !important;
  grid-auto-flow: initial !important;
  grid-auto-rows: initial !important;
  gap: clamp(.6rem, .9vw, .9rem) !important;
  align-items: stretch !important;
  width: 100%;
  min-height: 0;
  margin: clamp(2rem, 4vw, 4rem) 0 0;
  overflow: hidden !important;
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item,
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item:nth-child(n),
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item[class*="mosaic-slot-"],
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item.is-landscape,
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item.is-portrait,
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item.is-square {
  position: relative !important;
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent;
  box-shadow: none !important;
  transform: none !important;
}

/* One composition, intentionally asymmetric but locked to the 12-column grid. */
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-1 { grid-column: 1 / 9 !important;  grid-row: 1 / 6 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-2 { grid-column: 9 / 13 !important; grid-row: 1 / 4 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-3 { grid-column: 9 / 13 !important; grid-row: 4 / 6 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-4 { grid-column: 1 / 5 !important;  grid-row: 6 / 10 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-5 { grid-column: 5 / 9 !important;  grid-row: 6 / 9 !important; }
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-6 { grid-column: 9 / 13 !important; grid-row: 6 / 10 !important; }

body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-media,
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .is-landscape .mosaique-media,
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .is-portrait .mosaique-media,
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .is-square .mosaique-media {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  aspect-ratio: auto !important;
  overflow: hidden;
  border-top: 1px solid var(--swiss-ink);
  background: var(--swiss-paper-2);
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  object-position: center center;
  transform: none;
  filter: none;
  transition: transform .7s cubic-bezier(.2,.7,.25,1), filter .4s ease;
}
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-item:hover .mosaique-media img {
  transform: scale(1.012);
  filter: contrast(1.01);
}

body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-caption {
  position: static !important;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 2rem minmax(0,1fr);
  gap: .55rem;
  align-items: baseline;
  min-height: 2.5rem;
  padding: .55rem 0 .15rem;
  border-top: 0;
  border-bottom: 1px solid var(--swiss-line);
  background: transparent !important;
  color: var(--swiss-ink) !important;
}
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-index {
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  color: var(--swiss-muted);
  direction: ltr;
}
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-label {
  display: block;
  max-width: none;
  padding: 0;
  font-size: clamp(.68rem, .72vw, .8rem);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: .015em;
  text-transform: none;
  color: var(--swiss-ink) !important;
  background: transparent !important;
}

/* The small upper-right fragment behaves like an editorial strip. */
body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-3 .mosaique-caption {
  grid-template-columns: 1.6rem minmax(0,1fr);
  min-height: 2.2rem;
  padding-top: .4rem;
}

html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-caption {
  grid-template-columns: minmax(0,1fr) 2rem;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-index {
  grid-column: 2;
  text-align: end;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-label {
  grid-column: 1;
  grid-row: 1;
  letter-spacing: 0;
  text-align: right;
}

/* Tablet: one strong opening image, then paired modules. */
@media (max-width: 900px) {
  body.swiss-v220.stream-interstices-page .swiss-photo-grid.swiss-photo-grid-fixed {
    grid-template-columns: repeat(6, minmax(0,1fr)) !important;
    grid-template-rows: repeat(12, clamp(48px, 8vw, 72px)) !important;
    gap: .75rem !important;
  }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-1 { grid-column: 1 / 7 !important; grid-row: 1 / 5 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-2 { grid-column: 1 / 4 !important; grid-row: 5 / 8 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-3 { grid-column: 4 / 7 !important; grid-row: 5 / 8 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-4 { grid-column: 1 / 7 !important; grid-row: 8 / 11 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-5 { grid-column: 1 / 4 !important; grid-row: 11 / 13 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-6 { grid-column: 4 / 7 !important; grid-row: 11 / 13 !important; }
}

/* Mobile: editorial rhythm, never masonry. */
@media (max-width: 560px) {
  body.swiss-v220.stream-interstices-page .swiss-photo-grid.swiss-photo-grid-fixed {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    grid-template-rows: repeat(12, clamp(54px, 18vw, 76px)) !important;
    gap: .65rem !important;
    margin-top: 1.75rem;
  }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-1 { grid-column: 1 / 3 !important; grid-row: 1 / 4 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-2 { grid-column: 1 / 2 !important; grid-row: 4 / 7 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-3 { grid-column: 2 / 3 !important; grid-row: 4 / 7 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-4 { grid-column: 1 / 3 !important; grid-row: 7 / 10 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-5 { grid-column: 1 / 2 !important; grid-row: 10 / 13 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .swiss-fragment-6 { grid-column: 2 / 3 !important; grid-row: 10 / 13 !important; }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-caption {
    grid-template-columns: 1.35rem minmax(0,1fr);
    gap: .35rem;
    min-height: 2.2rem;
    padding-top: .45rem;
  }
  html[dir="rtl"] body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-caption {
    grid-template-columns: minmax(0,1fr) 1.35rem;
  }
  body.swiss-v220.stream-interstices-page .swiss-photo-grid-fixed .mosaique-label {
    font-size: .65rem;
  }
}

/* ============================================================
   V2.2.15 — INTERSTICES / EDITORIAL FRAGMENTS BOARD
   Natural image ratios, no cropping, no masonry, no JS sizing.
   The empty space is intentional and belongs to the composition.
   ============================================================ */
body.swiss-v220.stream-interstices-page .visual-fragments-board {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(.85rem, 1.35vw, 1.5rem);
  row-gap: clamp(3.5rem, 7vw, 8rem);
  width: 100%;
  margin-top: clamp(2.25rem, 4.8vw, 5rem);
  align-items: start;
}

body.swiss-v220.stream-interstices-page .visual-fragment {
  margin: 0;
  min-width: 0;
  align-self: start;
  color: var(--swiss-ink);
  background: transparent;
}

/* Three editorial rows. Positions are fixed; image height remains natural. */
body.swiss-v220.stream-interstices-page .visual-fragment-1 { grid-column: 1 / 8; }
body.swiss-v220.stream-interstices-page .visual-fragment-2 { grid-column: 9 / 13; margin-top: clamp(3rem, 7vw, 7rem); }
body.swiss-v220.stream-interstices-page .visual-fragment-3 { grid-column: 2 / 6; }
body.swiss-v220.stream-interstices-page .visual-fragment-4 { grid-column: 7 / 13; margin-top: clamp(2rem, 5vw, 5rem); }
body.swiss-v220.stream-interstices-page .visual-fragment-5 { grid-column: 1 / 6; margin-top: clamp(1rem, 3vw, 3rem); }
body.swiss-v220.stream-interstices-page .visual-fragment-6 { grid-column: 8 / 13; }

body.swiss-v220.stream-interstices-page .visual-fragment-media {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
}

body.swiss-v220.stream-interstices-page .visual-fragment-media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  filter: none;
  transform: none;
  transition: opacity .35s ease;
}

body.swiss-v220.stream-interstices-page .visual-fragment:hover .visual-fragment-media img {
  opacity: .965;
}

body.swiss-v220.stream-interstices-page .visual-fragment-caption {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .65rem;
  align-items: baseline;
  margin-top: .72rem;
  padding-top: .62rem;
  border-top: 1px solid var(--swiss-line);
  font-family: var(--font-corps);
}

body.swiss-v220.stream-interstices-page .visual-fragment-index {
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .11em;
  color: var(--swiss-muted);
  direction: ltr;
}

body.swiss-v220.stream-interstices-page .visual-fragment-label {
  font-size: clamp(.72rem, .78vw, .86rem);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: .018em;
  color: var(--swiss-ink);
}

html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-caption {
  grid-template-columns: minmax(0,1fr) 2rem;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-index {
  grid-column: 2;
  text-align: end;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-label {
  grid-column: 1;
  grid-row: 1;
  text-align: right;
  letter-spacing: 0;
}

/* Tablet: keep the editorial alternation without forcing image heights. */
@media (max-width: 900px) {
  body.swiss-v220.stream-interstices-page .visual-fragments-board {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    row-gap: clamp(2.8rem, 7vw, 4.5rem);
  }
  body.swiss-v220.stream-interstices-page .visual-fragment-1 { grid-column: 1 / 7; }
  body.swiss-v220.stream-interstices-page .visual-fragment-2 { grid-column: 1 / 4; margin-top: 0; }
  body.swiss-v220.stream-interstices-page .visual-fragment-3 { grid-column: 4 / 7; margin-top: clamp(2rem, 6vw, 4rem); }
  body.swiss-v220.stream-interstices-page .visual-fragment-4 { grid-column: 1 / 7; margin-top: 0; }
  body.swiss-v220.stream-interstices-page .visual-fragment-5 { grid-column: 1 / 4; margin-top: clamp(1rem, 4vw, 2rem); }
  body.swiss-v220.stream-interstices-page .visual-fragment-6 { grid-column: 4 / 7; margin-top: 0; }
}

/* Mobile: simple reading sequence. Natural ratios stay untouched. */
@media (max-width: 560px) {
  body.swiss-v220.stream-interstices-page .visual-fragments-board {
    display: block;
    margin-top: 1.8rem;
  }
  body.swiss-v220.stream-interstices-page .visual-fragment,
  body.swiss-v220.stream-interstices-page .visual-fragment:nth-child(n) {
    width: 100%;
    margin: 0 0 2.6rem !important;
  }
  body.swiss-v220.stream-interstices-page .visual-fragment:last-child {
    margin-bottom: 0 !important;
  }
  body.swiss-v220.stream-interstices-page .visual-fragment-caption {
    grid-template-columns: 1.6rem minmax(0,1fr);
    gap: .45rem;
    margin-top: .55rem;
    padding-top: .5rem;
  }
  html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-caption {
    grid-template-columns: minmax(0,1fr) 1.6rem;
  }
  body.swiss-v220.stream-interstices-page .visual-fragment-label {
    font-size: .7rem;
  }
}
/* Compatibility reset: keep the historic .mosaique hook without its old layout. */
body.swiss-v220.stream-interstices-page .mosaique.visual-fragments-board {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  grid-auto-flow: row !important;
  column-gap: clamp(.85rem, 1.35vw, 1.5rem) !important;
  row-gap: clamp(3.5rem, 7vw, 8rem) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  min-height: 0 !important;
}
@media (max-width: 900px) {
  body.swiss-v220.stream-interstices-page .mosaique.visual-fragments-board {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    row-gap: clamp(2.8rem, 7vw, 4.5rem) !important;
  }
}
@media (max-width: 560px) {
  body.swiss-v220.stream-interstices-page .mosaique.visual-fragments-board {
    display: block !important;
  }
}
/* Keep very tall source images editorially contained without cropping them. */
body.swiss-v220.stream-interstices-page .visual-fragment-media {
  display: flex;
  align-items: flex-start;
}
body.swiss-v220.stream-interstices-page .visual-fragment-media img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(74vh, 760px);
}
body.swiss-v220.stream-interstices-page .visual-fragment-2 .visual-fragment-media,
body.swiss-v220.stream-interstices-page .visual-fragment-6 .visual-fragment-media {
  justify-content: flex-end;
}
body.swiss-v220.stream-interstices-page .visual-fragment-4 .visual-fragment-media {
  justify-content: center;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-2 .visual-fragment-media,
html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-6 .visual-fragment-media {
  justify-content: flex-start;
}
@media (max-width: 560px) {
  body.swiss-v220.stream-interstices-page .visual-fragment-media {
    justify-content: flex-start !important;
  }
  html[dir="rtl"] body.swiss-v220.stream-interstices-page .visual-fragment-media {
    justify-content: flex-end !important;
  }
  body.swiss-v220.stream-interstices-page .visual-fragment-media img {
    max-height: 78vh;
  }
}

/* ============================================================
   V2.2.16 — INTERSTICES / HORIZONTAL EDITORIAL GALLERY
   One controlled horizontal sequence. No masonry, no cropping logic.
   ============================================================ */
body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery-section {
  overflow: hidden;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2rem;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  padding-bottom: .15rem;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-counter {
  min-width: 4.25rem;
  margin-inline-end: .35rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--swiss-muted);
  direction: ltr;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow {
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--swiss-line);
  border-radius: 0;
  background: transparent;
  color: var(--swiss-ink);
  font: inherit;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, opacity .2s ease;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:hover,
body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:focus-visible {
  background: var(--swiss-ink);
  color: var(--swiss-paper);
  outline: none;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:disabled {
  opacity: .28;
  cursor: default;
}

body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery {
  --gallery-height: clamp(300px, 31vw, 500px);
  width: 100%;
  margin-top: clamp(2rem, 4vw, 4rem);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: pan-x pan-y;
  outline: none;
}

body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery::-webkit-scrollbar {
  display: none;
}

body.swiss-v220.stream-interstices-page .interstices-horizontal-track {
  display: flex;
  align-items: flex-start;
  gap: clamp(.8rem, 1.35vw, 1.35rem);
  width: max-content;
  min-width: 100%;
  padding-inline-end: clamp(1rem, 3vw, 3rem);
}

body.swiss-v220.stream-interstices-page .interstices-gallery-card {
  --gallery-ratio: 1.35;
  flex: 0 0 auto;
  width: min(72vw, 640px);
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  color: var(--swiss-ink);
}

body.swiss-v220.stream-interstices-page .interstices-gallery-media {
  width: 100%;
  height: var(--gallery-height);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: none;
  transform: none;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-caption {
  display: grid;
  grid-template-columns: 2rem minmax(0,1fr);
  gap: .6rem;
  align-items: baseline;
  margin-top: .65rem;
  padding-top: .58rem;
  border-top: 1px solid var(--swiss-line);
}

body.swiss-v220.stream-interstices-page .interstices-gallery-index {
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .11em;
  color: var(--swiss-muted);
  direction: ltr;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-label {
  font-size: clamp(.7rem, .76vw, .84rem);
  font-weight: 650;
  line-height: 1.25;
  color: var(--swiss-ink);
}

html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-header {
  direction: rtl;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery {
  direction: rtl;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-caption {
  grid-template-columns: minmax(0,1fr) 2rem;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-index {
  grid-column: 2;
  text-align: end;
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-label {
  grid-column: 1;
  grid-row: 1;
  text-align: right;
}

@media (max-width: 900px) {
  body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery {
    --gallery-height: clamp(280px, 48vw, 420px);
  }
  body.swiss-v220.stream-interstices-page .interstices-gallery-card {
    width: min(78vw, 600px);
  }
}

@media (max-width: 560px) {
  body.swiss-v220.stream-interstices-page .interstices-gallery-header {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  body.swiss-v220.stream-interstices-page .interstices-gallery-controls {
    justify-content: space-between;
    width: 100%;
  }
  body.swiss-v220.stream-interstices-page .interstices-gallery-counter {
    margin-inline-end: auto;
  }
  html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-counter {
    margin-inline-end: 0;
    margin-inline-start: auto;
  }
  body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery {
    --gallery-height: clamp(230px, 69vw, 320px);
    margin-top: 1.55rem;
    overflow-inline: auto;
  }
  body.swiss-v220.stream-interstices-page .interstices-horizontal-track {
    gap: .8rem;
    padding-inline-end: 1rem;
  }
  body.swiss-v220.stream-interstices-page .interstices-gallery-card {
    width: 84vw;
  }
  body.swiss-v220.stream-interstices-page .interstices-gallery-arrow {
    width: 2.65rem;
    height: 2.65rem;
  }
  body.swiss-v220.stream-interstices-page .interstices-gallery-caption {
    grid-template-columns: 1.6rem minmax(0,1fr);
    gap: .4rem;
  }
  html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-caption {
    grid-template-columns: minmax(0,1fr) 1.6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.swiss-v220.stream-interstices-page .interstices-horizontal-gallery {
    scroll-behavior: auto;
  }
}
body.swiss-v220.stream-interstices-page .interstices-gallery-legacy-hook {
  display: none !important;
}

/* ============================================================
   V2.2.17 — INTERSTICES GALLERY FINISHING
   Visible arrow glyphs in both themes + admin labels on images.
   ============================================================ */
body.swiss-v220.stream-interstices-page .interstices-gallery-arrow {
  position: relative;
  color: #11110f !important;
  border-color: #11110f !important;
  background: transparent !important;
  font-size: 0 !important; /* arrow is drawn in CSS: no font/glyph dependency */
  opacity: 1;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow::before {
  content: '';
  width: .58rem;
  height: .58rem;
  display: block;
  border-top: 1.6px solid currentColor;
  border-left: 1.6px solid currentColor;
  transform: rotate(-45deg);
  transform-origin: center;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow[data-gallery-next]::before {
  transform: rotate(135deg);
}

html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow[data-gallery-prev]::before {
  transform: rotate(135deg);
}
html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow[data-gallery-next]::before {
  transform: rotate(-45deg);
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:hover,
body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:focus-visible {
  background: #11110f !important;
  color: #f2f2ed !important;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:disabled {
  opacity: .34 !important;
  color: #11110f !important;
  border-color: #11110f !important;
  background: transparent !important;
}

[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow {
  color: #efefe8 !important;
  border-color: #efefe8 !important;
}
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:hover,
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:focus-visible {
  background: #efefe8 !important;
  color: #121210 !important;
}
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:disabled {
  color: #efefe8 !important;
  border-color: #efefe8 !important;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-media {
  position: relative;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-image-label {
  position: absolute;
  inset-inline-start: .8rem;
  bottom: .8rem;
  z-index: 3;
  max-width: calc(100% - 1.6rem);
  padding: .34rem .5rem .3rem;
  background: rgba(17,17,15,.82);
  border: 1px solid rgba(255,255,255,.18);
  color: #f6f4ed;
  font-size: clamp(.62rem,.68vw,.76rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: normal;
  pointer-events: none;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

html[dir="rtl"] body.swiss-v220.stream-interstices-page .interstices-gallery-image-label {
  text-align: right;
  letter-spacing: 0;
}

/* Keep the Swiss index line below, while the editorial label lives on the photograph. */
body.swiss-v220.stream-interstices-page .interstices-gallery-caption {
  grid-template-columns: 2rem 1fr;
}
body.swiss-v220.stream-interstices-page .interstices-gallery-caption .interstices-gallery-label {
  visibility: hidden;
}

@media (max-width:560px) {
  body.swiss-v220.stream-interstices-page .interstices-gallery-image-label {
    inset-inline-start: .6rem;
    bottom: .6rem;
    max-width: calc(100% - 1.2rem);
    padding: .3rem .42rem .26rem;
    font-size: .62rem;
  }
}

/* ============================================================
   V2.2.18 — INTERSTICES GALLERY ARROW CONTRAST FIX
   The gallery remains dark in both global themes, so navigation
   controls must contrast with the gallery itself, not the page theme.
   ============================================================ */
body.swiss-v220.stream-interstices-page .interstices-gallery-arrow,
[data-theme="light"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow,
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow {
  color: #f2f0e9 !important;
  border-color: rgba(242,240,233,.72) !important;
  background: rgba(242,240,233,.025) !important;
  opacity: 1 !important;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow::before,
[data-theme="light"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow::before,
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow::before {
  border-top-color: currentColor !important;
  border-left-color: currentColor !important;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:hover,
body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:focus-visible,
[data-theme="light"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:hover,
[data-theme="light"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:focus-visible,
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:hover,
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:focus-visible {
  color: #11110f !important;
  border-color: #f2f0e9 !important;
  background: #f2f0e9 !important;
}

body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:disabled,
[data-theme="light"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:disabled,
[data-theme="dark"] body.swiss-v220.stream-interstices-page .interstices-gallery-arrow:disabled {
  color: #f2f0e9 !important;
  border-color: rgba(242,240,233,.42) !important;
  background: transparent !important;
  opacity: .42 !important;
}

/* === V2.2.19 EXPLORER — SWISS SEARCH LINE === */
body.swiss-v220.swiss-explore-page .explore-search-block {
  grid-column: 1 / 6;
  align-self: start;
  min-width: 0;
}

body.swiss-v220.swiss-explore-page .explore-search-kicker {
  display: flex;
  align-items: baseline;
  gap: .65rem;
  margin: 0 0 1.05rem;
  color: var(--swiss-muted);
  font-family: var(--font-corps);
  font-size: .61rem;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.swiss-v220.swiss-explore-page .explore-search-kicker span:first-child {
  color: var(--swiss-accent);
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  grid-column: auto;
  min-height: 54px;
  align-items: stretch;
  border: 0;
  border-top: 1px solid var(--swiss-line);
  border-bottom: 1px solid var(--swiss-ink);
  transition: border-color .2s ease;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form:focus-within {
  border-bottom-color: var(--swiss-accent);
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form input {
  width: 100%;
  min-width: 0;
  padding: 1.05rem 1rem 1rem 0;
  border: 0;
  background: transparent;
  color: var(--swiss-ink);
  font-family: var(--font-corps);
  font-size: clamp(.94rem,1.1vw,1.04rem);
  line-height: 1.25;
  outline: 0;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form input::placeholder {
  color: var(--swiss-muted);
  opacity: .72;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .7rem;
  padding: 0 0 0 1rem;
  border: 0;
  background: transparent;
  color: var(--swiss-accent);
  font-family: var(--font-corps);
  font-size: .62rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form button:hover,
body.swiss-v220.swiss-explore-page .explore-search-block .search-form button:focus-visible {
  color: var(--swiss-ink);
}

body.swiss-v220.swiss-explore-page .search-submit-arrow {
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  transition: transform .2s ease;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form button:hover .search-submit-arrow,
body.swiss-v220.swiss-explore-page .explore-search-block .search-form button:focus-visible .search-submit-arrow {
  transform: translateX(3px);
}

html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-kicker {
  letter-spacing: 0;
}

html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-block .search-form input {
  padding: 1.05rem 0 1rem 1rem;
  text-align: right;
}

html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-block .search-form button {
  padding: 0 1rem 0 0;
  letter-spacing: 0;
}

html[dir="rtl"] body.swiss-v220.swiss-explore-page .search-submit-arrow {
  transform: scaleX(-1);
}

html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-block .search-form button:hover .search-submit-arrow,
html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-block .search-form button:focus-visible .search-submit-arrow {
  transform: scaleX(-1) translateX(3px);
}

@media (max-width:1024px) {
  body.swiss-v220.swiss-explore-page .explore-search-block { grid-column:1 / 6; }
}

@media (max-width:768px) {
  body.swiss-v220.swiss-explore-page .explore-search-block { grid-column:auto; }
  body.swiss-v220.swiss-explore-page .explore-search-kicker { margin-bottom:.85rem; }
}

@media (max-width:560px) {
  body.swiss-v220.swiss-explore-page .explore-search-block .search-form {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.swiss-v220.swiss-explore-page .explore-search-block .search-form input {
    min-height: 50px;
    padding: .9rem 0;
  }

  body.swiss-v220.swiss-explore-page .explore-search-block .search-form button {
    justify-content: space-between;
    min-height: 44px;
    padding: .75rem 0;
    border-top: 1px solid var(--swiss-line);
  }

  html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-block .search-form input,
  html[dir="rtl"] body.swiss-v220.swiss-explore-page .explore-search-block .search-form button {
    padding-inline: 0;
  }
}

/* === V2.2.20 EXPLORER SEARCH — ACCESSIBLE SINGLE-LINE FIX === */
body.swiss-v220.swiss-explore-page .explore-search-block .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form {
  grid-template-columns: minmax(0,1fr) max-content;
  align-items: center;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form input {
  align-self: stretch;
}

body.swiss-v220.swiss-explore-page .explore-search-block .search-form button {
  align-self: stretch;
  justify-content: center;
}
