/* The magazine uses the shared reading palette in both themes. */
.skip-link { position: fixed; z-index: 9999; left: 1rem; top: 1rem; transform: translateY(-200%); display: inline-flex; align-items: center; min-height: 44px; padding: .7rem 1rem; background: var(--surface); color: var(--text); border: 2px solid var(--rose); border-radius: 8px; }
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--rose); outline-offset: 3px; }
.magazine-home main,
.magazine-interior { min-width: 0; }
.magazine-home h1,
.magazine-home h2,
.magazine-home h3,
.magazine-interior h1,
.magazine-interior h2,
.magazine-interior h3 {
  color: var(--text);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.magazine-home p,
.magazine-interior p { overflow-wrap: anywhere; }
.magazine-home .btn,
.magazine-interior .btn {
  min-height: 44px;
  justify-content: center;
  white-space: normal;
  text-align: center;
  line-height: 1.45;
}
.magazine-home [hidden],
.magazine-interior [hidden] { display: none !important; }
.magazine-home :is(a, button, input, select, textarea, summary):focus-visible,
.magazine-interior :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--rose);
  outline-offset: 4px;
}
.magazine-home :is(.magazine-section, .magazine-feature, .magazine-contact, .magazine-masthead)[id],
.magazine-interior [id],
.magazine-home .anchor-target { scroll-margin-top: calc(var(--header-h, 70px) + 1.25rem); }
.magazine-home .magazine-section { position: relative; padding-block: 3.5rem; }
.magazine-home .anchor-target {
  position: absolute;
  inset-block-start: 0;
  inline-size: 1px;
  block-size: 1px;
  pointer-events: none;
}

/* Masthead and search remain compact enough to lead straight into the issue. */
.magazine-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .8fr);
  align-items: end;
  gap: 2.5rem;
  padding-block: calc(var(--header-h, 70px) + 2.7rem) 2rem;
  border-bottom: 1px solid var(--border);
}
.magazine-masthead > div,
.magazine-search { min-width: 0; }
.magazine-masthead h1 {
  max-width: 20ch;
  margin: .75rem 0 1rem;
  font-size: clamp(2.05rem, 4.2vw, 3.1rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}
.magazine-masthead > div > p:last-child {
  max-width: 52ch;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.7;
}
.magazine-search { padding-left: 1.5rem; border-left: 1px solid var(--border); }
.magazine-search label { display: block; color: var(--muted); font-size: .9rem; line-height: 1.55; margin-bottom: .7rem; }
.magazine-search > div { display: flex; gap: .6rem; align-items: stretch; }
.magazine-search input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: .7rem .85rem;
  font: inherit;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--muted);
  border-radius: 8px;
}
.magazine-search input::placeholder { color: var(--muted); opacity: 1; }
.magazine-search button { flex: 0 0 auto; padding-inline: 1rem; }

/* One large opening story, with two smaller illustrated readings alongside. */
.magazine-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 2rem;
  padding-block: 2.4rem 1rem;
}
.magazine-card { display: flex; flex-direction: column; min-width: 0; }
.magazine-card-image {
  display: block;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--surface);
}
.magazine-picture {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.magazine-picture--cover { object-fit: contain; padding: .65rem; }
.magazine-card-copy { display: flex; flex-direction: column; min-width: 0; flex: 1; padding-top: 1.05rem; }
.magazine-card-copy .eyebrow { margin-bottom: .6rem; }
.magazine-card-copy h2 { margin: 0 0 .8rem; font-size: 1.25rem; line-height: 1.35; letter-spacing: -.015em; }
.magazine-card--lead .magazine-card-copy h2 { font-size: clamp(1.55rem, 2.7vw, 2rem); line-height: 1.25; }
.magazine-card-copy h2 a { color: var(--text); text-decoration: none; }
.magazine-card-copy h2 a:hover { text-decoration: underline; text-decoration-color: var(--rose); text-underline-offset: 4px; }
.magazine-card-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.7; }
.magazine-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-top: auto;
  padding-top: 1rem;
  font-size: .85rem;
  line-height: 1.6;
}
.magazine-card-meta time { color: var(--muted); }
.magazine-card-meta a { color: var(--rose); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.magazine-feature-side { display: grid; align-content: start; gap: 1.5rem; min-width: 0; }
.magazine-feature-side .magazine-card { display: grid; grid-template-columns: minmax(100px, 32%) minmax(0, 1fr); gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.magazine-feature-side .magazine-card-image { aspect-ratio: 4 / 3; align-self: start; }
.magazine-feature-side .magazine-card-copy { padding: 0; }
.magazine-feature-side .magazine-card-copy h2 { font-size: 1.12rem; line-height: 1.4; }
.magazine-feature-side .magazine-card-copy > p:not(.eyebrow) { font-size: .9rem; }
.magazine-feature-side .magazine-card-meta { font-size: .8rem; }
.card-cover--scene { object-fit: contain !important; }
.card-cover--book { object-fit: contain !important; }

/* Numbered signatures: open columns separated by fine rules, rather than boxes. */
.magazine-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.7rem; }
.magazine-heading > div { min-width: 0; }
.magazine-heading h2,
.magazine-october h2,
.magazine-author h2,
.magazine-follow h2 { font-size: clamp(1.65rem, 2.8vw, 2.15rem); line-height: 1.25; margin: .4rem 0 0; }
.magazine-heading > a { color: var(--rose); font-size: .95rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.magazine-series { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.magazine-series-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: start; gap: .7rem; min-width: 0; padding: 1.4rem; color: var(--text); }
.magazine-series-link + .magazine-series-link { border-left: 1px solid var(--border); }
.magazine-series-number { grid-column: 1; grid-row: 1; color: var(--rose); font-size: 2rem; line-height: 1.15; font-weight: 500; }
.magazine-series-arrow { grid-column: 2; grid-row: 1; align-self: center; color: var(--rose); font-size: 1.4rem; }
.magazine-series-link h3 { grid-column: 1 / -1; margin: .3rem 0 0; font-size: 1.18rem; line-height: 1.4; }
.magazine-series-link p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.65; }
.magazine-series-link:hover h3 { text-decoration: underline; text-decoration-color: var(--rose); text-underline-offset: 4px; }

/* The October dossier couples a landscape image with a readable numbered list. */
.magazine-october { background: var(--surface); border-block: 1px solid var(--border); }
.magazine-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: start; gap: 3rem; }
.magazine-split > div { min-width: 0; }
.magazine-october-art { position: sticky; top: calc(var(--header-h, 70px) + 1.5rem); }
.magazine-october-art > a { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg); }
.magazine-image-credit { color: var(--muted); font-size: .78rem; line-height: 1.6; margin-top: .65rem; }
.magazine-split > div > p:not(.eyebrow):not(.magazine-image-credit) { color: var(--muted); margin-top: 1rem; line-height: 1.75; }
.magazine-reading-list { list-style: none; padding: 0; margin: 1.6rem 0; border-top: 1px solid var(--border); }
.magazine-reading-list li { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); align-items: baseline; gap: .7rem; padding-block: .7rem; border-bottom: 1px solid var(--border); }
.magazine-reading-list li > span { color: var(--rose); font-size: .85rem; }
.magazine-reading-list li > a:only-child { grid-column: 1 / -1; min-width: 0; }
.magazine-reading-list a { color: var(--text); font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; padding-block: .25rem; }
.magazine-reading-list a:hover { text-decoration: underline; text-decoration-color: var(--rose); text-underline-offset: 3px; }
.magazine-news .une-card { box-shadow: none; }
.magazine-news .une-media { background-size: contain; background-position: center; background-repeat: no-repeat; }

/* A small actual book cover and a lined writing notebook share the same spread. */
.magazine-book { display: grid; grid-template-columns: 170px minmax(0, 1.2fr) minmax(230px, .85fr); align-items: start; gap: 2rem; }
.magazine-book > * { min-width: 0; }
.magazine-book-cover { display: block; width: 170px; max-width: 100%; }
.magazine-book-cover img { display: block; width: 100%; height: auto; max-height: 300px; object-fit: contain; }
.magazine-book h3 { font-size: 1.6rem; line-height: 1.3; margin: .5rem 0 1rem; }
.magazine-book > div > p:not(.eyebrow) { color: var(--muted); line-height: 1.75; margin-bottom: 1.1rem; }
.magazine-book .editorial-actions { gap: .7rem; }
.magazine-book-reading { display: block; margin-top: 1.2rem; color: var(--rose); font-weight: 600; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
.magazine-book-other { margin-top: 1.2rem; font-size: .9rem; }
.magazine-book-other a { color: var(--rose); text-decoration: underline; text-underline-offset: 3px; }
.magazine-notebook {
  padding: 1.3rem 1.4rem 1.5rem;
  color: var(--text);
  background-color: var(--bg);
  background-image: repeating-linear-gradient(to bottom, transparent, transparent 1.8rem, var(--border) 1.8rem, var(--border) calc(1.8rem + 1px));
  border-left: 3px solid var(--rose);
}
.magazine-notebook h3 { font-size: 1.3rem; line-height: 1.45; margin: .5rem 0 .8rem; }
.magazine-notebook > p:not(.eyebrow) { line-height: 1.8; margin-bottom: .5rem; }
.magazine-notebook > a { display: flex; align-items: center; min-height: 44px; padding-block: .4rem; color: var(--rose); font-size: .92rem; font-weight: 600; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }

.magazine-author { background: var(--surface); border-block: 1px solid var(--border); }
.magazine-author-inner { display: grid; grid-template-columns: 120px minmax(0, 1.4fr) minmax(220px, .85fr); align-items: start; gap: 2rem; }
.magazine-author-inner > * { min-width: 0; }
.magazine-author-inner > img { display: block; width: 120px; height: 120px; object-fit: cover; border-radius: 50%; }
.magazine-author-inner > div > p:not(.eyebrow) { color: var(--muted); line-height: 1.75; margin-block: 1rem 1.3rem; }
.magazine-author-inner > aside { padding-left: 1.5rem; border-left: 1px solid var(--border); }
.magazine-author-inner aside h3 { font-size: 1.2rem; line-height: 1.4; margin-bottom: .8rem; }
.magazine-author-inner aside p { color: var(--muted); font-size: .95rem; line-height: 1.7; }
.magazine-author-inner aside a { display: inline-flex; align-items: center; min-height: 44px; margin-top: .6rem; color: var(--rose); font-weight: 600; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
.magazine-follow { max-width: 800px; text-align: center; }
.magazine-follow h2 { max-width: 25ch; margin-inline: auto; }
.magazine-follow > p:not(.eyebrow) { color: var(--muted); max-width: 64ch; margin: 1.1rem auto; line-height: 1.75; }
.magazine-follow-note { font-size: .9rem; }
.magazine-follow-note a { color: var(--rose); text-decoration: underline; text-underline-offset: 3px; }
.magazine-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 2rem 3rem; border-top: 1px solid var(--border); }
.magazine-contact h2 { flex-basis: 100%; font-size: 1.45rem; line-height: 1.4; }
.magazine-contact > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--rose); line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }

/* Companion pages retain the same rhythm and readable article hierarchy. */
.magazine-interior { max-width: 1100px; }
.magazine-interior .editorial-heading { max-width: 820px; }
.magazine-interior .ouvrages { padding-block: 1rem 2rem; background: none; }
.magazine-interior .ouvrages > .container { width: 100%; }
.author-introduction { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: start; gap: 2rem; margin-block: 2rem 3rem; }
.author-introduction > img { width: 120px; height: 120px; object-fit: cover; border-radius: 50%; }
.author-introduction > div { min-width: 0; }
.author-introduction h2, .author-references > h2 { font-size: 1.6rem; line-height: 1.35; margin-bottom: 1rem; }
.author-introduction p { color: var(--muted); line-height: 1.8; margin-bottom: 1rem; }
.author-introduction a { color: var(--rose); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.author-references { margin-block: 3rem; }
.author-reference-list { list-style: none; padding: 0; margin-top: 1.5rem; border-top: 1px solid var(--border); }
.author-reference-list li { padding-block: 1.2rem; border-bottom: 1px solid var(--border); }
.author-reference-list h3 { font-size: 1.15rem; line-height: 1.55; margin-block: .4rem; }
.author-reference-list h3 a { color: var(--text); text-decoration: underline; text-decoration-color: var(--rose); text-underline-offset: 4px; }
.author-reference-list li > p:not(.eyebrow) { color: var(--muted); font-size: .9rem; line-height: 1.7; }
.magazine-carnet-intro { max-width: 760px; margin-bottom: 2rem; }
.magazine-carnet-intro p { color: var(--muted); line-height: 1.8; margin-bottom: 1rem; }
.magazine-carnet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 2rem; margin-bottom: 2.5rem; }

.newsletter-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .85fr); align-items: start; gap: 1.5rem; }
.newsletter-layout > *, .newsletter-layout .follow-card { min-width: 0; }
.newsletter-layout > aside { display: grid; gap: 1.5rem; }
.newsletter-layout .follow-card { margin: 0; }
.newsletter-layout .follow-card > p { overflow-wrap: anywhere; }
.newsletter-layout .follow-card h2 { line-height: 1.4; }
.newsletter-layout label { display: grid; gap: .5rem; min-width: 0; margin-top: 1rem; line-height: 1.65; }
.newsletter-layout input:not([type="checkbox"]), .newsletter-layout textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: .75rem .85rem;
  font: inherit;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--muted);
  border-radius: 8px;
}
.newsletter-layout textarea { resize: vertical; line-height: 1.65; }
.newsletter-layout .newsletter-consent { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; padding-block: .4rem; font-weight: 400; cursor: pointer; }
.newsletter-consent input[type="checkbox"] {
  appearance: auto;
  flex: 0 0 1.1rem;
  width: 1.1rem;
  min-width: 1.1rem;
  max-width: 1.1rem;
  height: 1.1rem;
  min-height: 1.1rem;
  margin: .25rem 0 0;
  padding: 0;
  accent-color: var(--rose);
}
.newsletter-consent span { min-width: 0; line-height: 1.65; }
.newsletter-layout form > .btn { margin-top: .8rem; }
.newsletter-status { min-height: 1.5em; margin-top: .8rem; color: var(--text); line-height: 1.65; }
.newsletter-ready { min-width: 0; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.newsletter-ready p { color: var(--muted); line-height: 1.7; }
.newsletter-ready .btn { margin: .8rem .5rem 0 0; max-width: 100%; }
.newsletter-layout a:not(.btn) { color: var(--rose); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.newsletter-direct { margin-block: 1rem; line-height: 1.7; }
.newsletter-layout [hidden] { display: none !important; }

@media(max-width:1050px) {
  .magazine-masthead { grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); gap: 1.8rem; }
  .magazine-search > div { flex-wrap: wrap; }
  .magazine-search button { flex: 1 1 150px; }
  .magazine-feature { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.5rem; }
  .magazine-feature-side .magazine-card { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .magazine-feature-side .magazine-card-image { aspect-ratio: 16 / 9; }
  .magazine-feature-side .magazine-card-copy > p:not(.eyebrow) { font-size: .9rem; }
  .magazine-book { grid-template-columns: 170px minmax(0, 1fr); }
  .magazine-notebook { grid-column: 1 / -1; }
  .magazine-author-inner { grid-template-columns: 120px minmax(0, 1fr); }
  .magazine-author-inner > aside { grid-column: 2; }
  .magazine-series-link { padding-inline: 1rem; }
}
@media(max-width:760px) {
  .magazine-masthead { grid-template-columns: minmax(0, 1fr); align-items: start; padding-top: calc(var(--header-h, 70px) + 1.8rem); gap: 1.5rem; }
  .magazine-masthead h1 { max-width: 23ch; }
  .magazine-search { padding: 1.2rem 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .magazine-search > div { flex-wrap: nowrap; }
  .magazine-search button { flex: 0 0 auto; }
  .magazine-feature { grid-template-columns: minmax(0, 1fr); }
  .magazine-feature-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .magazine-feature-side .magazine-card { grid-template-columns: minmax(0, 1fr); }
  .magazine-series { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .magazine-series-link { padding: 1.3rem; }
  .magazine-series-link:nth-child(3) { border-left: 0; }
  .magazine-series-link:nth-child(n+3) { border-top: 1px solid var(--border); }
  .magazine-split { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .magazine-october-art { position: static; }
  .newsletter-layout { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width:540px) {
  .magazine-home .magazine-section { padding-block: 2.5rem; }
  .magazine-masthead { padding-bottom: 1.6rem; }
  .magazine-masthead .eyebrow { font-size: .68rem; line-height: 1.7; letter-spacing: .12em; }
  .magazine-masthead h1 { font-size: clamp(1.9rem, 8.2vw, 2.55rem); }
  .magazine-search > div { flex-wrap: wrap; }
  .magazine-search button { width: 100%; }
  .magazine-feature { padding-top: 1.5rem; }
  .magazine-feature-side, .magazine-carnet-grid { grid-template-columns: minmax(0, 1fr); }
  .magazine-feature-side .magazine-card { gap: .9rem; }
  .magazine-feature-side .magazine-card-copy h2 { font-size: 1.25rem; }
  .magazine-heading { align-items: start; }
  .magazine-series { grid-template-columns: minmax(0, 1fr); }
  .magazine-series-link { grid-template-columns: 2.6rem minmax(0, 1fr) auto; gap: .5rem .8rem; padding: 1.3rem 0; }
  .magazine-series-link + .magazine-series-link { border-left: 0; border-top: 1px solid var(--border); }
  .magazine-series-number { grid-column: 1; grid-row: 1 / 3; font-size: 1.6rem; }
  .magazine-series-link h3 { grid-column: 2; grid-row: 1; margin: 0; }
  .magazine-series-link p { grid-column: 2; grid-row: 2; }
  .magazine-series-arrow { grid-column: 3; grid-row: 1; }
  .magazine-book, .magazine-author-inner, .author-introduction { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
  .magazine-book-cover { justify-self: center; }
  .magazine-notebook, .magazine-author-inner > aside { grid-column: auto; }
  .magazine-author-inner > aside { padding: 1.3rem 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .magazine-book .editorial-actions .btn { flex: 1 1 180px; }
  .magazine-contact { padding-bottom: 2rem; }
  .magazine-carnet-grid { gap: 2rem; }
  .newsletter-layout .follow-card { padding: 1.1rem; }
  .newsletter-layout .btn { width: 100%; margin-right: 0; }
}
