/* 0.2.7 — structure de la première home, finitions et charte conservées.
 * Scoped to the homepage. Article photography always keeps its complete frame.
 */
.cde-home-magazine { --cde-wide:1280px; }
.cde-mag-lead { background:var(--cde-deep); border-bottom:1px solid var(--cde-line); }
.cde-mag-lead-inner { position:relative; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:38px; min-height:460px; padding-block:42px; }
.cde-mag-lead-copy { min-width:0; position:relative; z-index:1; }
.cde-mag-lead-label { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.cde-mag-lead-label > span:first-child { color:var(--cde-muted); font-size:11px; letter-spacing:1.6px; text-transform:uppercase; }
.cde-mag-lead-copy h1 { margin-top:20px; font-size:clamp(31px,3.1vw,44px); line-height:1.14; font-weight:700; letter-spacing:-1px; text-wrap:balance; }
.cde-mag-lead-copy h1 a:hover { color:var(--cde-sky); }
.cde-mag-lead-copy > p { margin-top:20px; color:var(--cde-muted); font-size:15px; line-height:1.75; max-width:500px; }
.cde-mag-read { margin-top:25px; padding:11px 20px; font-size:13px; font-weight:600; }
.cde-mag-read svg { width:19px; height:19px; stroke-width:1.35; }
.cde-mag-lead-copy > .cde-meta { display:block; margin-top:14px; color:var(--cde-muted); font-size:11px; }
.cde-mag-lead-visual { display:block; width:100%; min-width:0; aspect-ratio:16/9; }
.cde-mag-lead-visual .cde-image,.cde-mag-lead-visual .cde-placeholder { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:cover; object-position:var(--cde-image-position); }
.cde-mag-lead-visual .cde-placeholder { display:flex; }
.cde-mag-empty { padding-block:28px; }

/* Illustrated navigation, distinct from the article lists below it. */
.cde-mag-rubrics { padding-block:24px 40px; }
.cde-mag-rubric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.cde-mag-rubric { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-width:0; min-height:202px; overflow:hidden; border:1px solid var(--cde-line); border-radius:8px; background:var(--cde-deep); }
.cde-mag-rubric > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.cde-mag-rubric::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,var(--cde-deep) 0%,rgb(3 12 19 / .88) 24%,rgb(3 12 19 / .25) 66%,transparent); }
.cde-mag-rubric-copy { position:relative; z-index:1; padding:92px 15px 19px; }
.cde-mag-rubric h3 { line-height:1; }
.cde-mag-rubric .cde-badge { font-size:9px; letter-spacing:.4px; padding:6px 7px; gap:5px; }
.cde-mag-rubric .cde-badge svg { width:13px; height:13px; stroke-width:1.4; }
.cde-mag-rubric p { margin-top:11px; padding-right:12px; color:var(--cde-text); font-size:12px; line-height:1.5; }
.cde-mag-rubric-arrow { position:absolute; z-index:2; bottom:15px; right:10px; color:var(--cde-muted); }
.cde-mag-rubric-arrow svg { width:15px; height:15px; stroke-width:1.3; }
a.cde-mag-rubric:hover { border-color:var(--cde-sky); }
a.cde-mag-rubric:hover .cde-mag-rubric-arrow { color:var(--cde-sky); }

/* Recent stories + a longer read + the magazine's identity. */
.cde-mag-editorial { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr); gap:26px; align-items:start; padding-bottom:45px; }
.cde-mag-editorial--compact { grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:38px; }
.cde-mag-editorial > * { min-width:0; }
.cde-mag-heading { display:flex; align-items:center; gap:16px; margin-bottom:20px; font-size:23px; font-weight:650; line-height:1.25; letter-spacing:-.5px; }
.cde-mag-heading::after { content:""; height:1px; flex:1; min-width:12px; background:var(--cde-line); }
.cde-mag-list .cde-card--list { padding-block:15px; }
.cde-mag-list .cde-card-link { grid-template-columns:112px minmax(0,1fr); gap:16px; }
.cde-mag-list .cde-card-visual { --cde-image-fit:cover; width:100%; min-width:0; min-height:0; align-self:center; aspect-ratio:16/9; border:1px solid var(--cde-line); border-radius:5px; }
.cde-mag-list h3 { font-size:15px; line-height:1.45; font-weight:600; margin-top:8px; }
.cde-mag-list .cde-meta { font-size:10px; color:var(--cde-muted); line-height:1.6; }
.cde-mag-list .cde-badge { font-size:9px; padding:5px 7px; }
.cde-mag-feature .cde-card-visual { height:auto; aspect-ratio:16/9; }
.cde-mag-feature .cde-card-text { padding:18px 20px 22px; margin:0; }
.cde-mag-feature h3 { margin-top:13px; font-size:23px; line-height:1.27; font-weight:650; }
.cde-mag-feature .cde-meta { display:block; font-size:11px; }
.cde-home-magazine .cde-sidebar { gap:16px; }
.cde-home-magazine .cde-about-panel { border-color:var(--cde-line); padding:26px 23px; background:var(--cde-panel); }
.cde-home-magazine .cde-about-panel h2 { font-size:24px; line-height:1.2; font-weight:650; }
.cde-home-magazine .cde-about-panel p { font-size:13px; color:var(--cde-muted); line-height:1.75; }
.cde-home-magazine .cde-about-panel .cde-text-link { color:var(--cde-sky); font-size:12px; }
.cde-home-magazine .cde-about-panel .cde-text-link svg { width:17px; height:17px; stroke-width:1.35; }
.cde-home-magazine .cde-quote-panel { min-height:142px; border-color:var(--cde-line); background:linear-gradient(0deg,rgb(3 12 19 / .9),rgb(3 12 19 / .3)),url('../images/observer.webp') center/cover; }
.cde-home-magazine .cde-quote-panel p { color:var(--cde-text); font-size:18px; }
.cde-home-magazine .cde-quote-mark { color:var(--cde-sky); opacity:.5; }
.cde-mag-editorial--compact .cde-quote-panel { display:none; }
.cde-mag-editorial--compact .cde-mag-list .cde-card-link { grid-template-columns:minmax(130px,30%) minmax(0,1fr); gap:22px; }
.cde-mag-editorial--compact .cde-mag-list h3 { font-size:20px; }
.cde-mag-more { padding-block:4px 50px; }
.cde-mag-more-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.cde-mag-more .cde-card h3 { font-size:18px; line-height:1.35; font-weight:600; }
.cde-mag-more .cde-card .cde-meta { display:block; font-size:11px; }

@media(max-width:1100px) {
  .cde-mag-lead-inner { min-height:420px; gap:28px; }
  .cde-mag-rubric-grid { gap:11px; }
  .cde-mag-rubric { min-height:190px; }
  .cde-mag-rubric-copy { padding-inline:11px; }
  .cde-mag-rubric p { font-size:11px; }
  .cde-mag-rubric .cde-badge { font-size:8px; }
  .cde-mag-editorial { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
  .cde-mag-editorial > .cde-sidebar { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  .cde-mag-editorial--compact > .cde-sidebar { grid-column:auto; display:block; }
  .cde-mag-more-grid { gap:16px; }
}
@media(max-width:800px) {
  .cde-mag-lead-inner { gap:22px; min-height:380px; padding-block:32px; }
  .cde-mag-lead-copy h1 { font-size:31px; }
  .cde-mag-lead-copy > p { font-size:14px; }
  .cde-mag-rubric-grid { grid-template-columns:repeat(5,170px); overflow-x:auto; padding-bottom:10px; scroll-snap-type:x proximity; }
  .cde-mag-rubric { scroll-snap-align:start; }
  .cde-mag-rubric p { font-size:12px; }
  .cde-mag-rubric .cde-badge { font-size:9px; }
  .cde-mag-editorial { gap:22px; }
  .cde-mag-editorial--compact { grid-template-columns:1fr; }
  .cde-mag-editorial--compact > .cde-sidebar { max-width:100%; }
  .cde-mag-list .cde-card-link { grid-template-columns:88px minmax(0,1fr); gap:13px; }
  .cde-mag-heading { font-size:21px; }
  .cde-mag-more-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .cde-mag-lead-inner { display:flex; flex-direction:column; gap:0; padding-block:0; }
  .cde-mag-lead-visual { order:-1; }
  .cde-mag-lead-copy { width:100%; padding-block:23px 29px; }
  .cde-mag-lead-copy h1 { font-size:30px; line-height:1.2; margin-top:15px; letter-spacing:-.7px; }
  .cde-mag-lead-copy > p { font-size:14px; line-height:1.65; margin-top:16px; }
  .cde-mag-read { margin-top:18px; }
  .cde-mag-lead-copy > .cde-meta { margin-top:12px; }
  .cde-mag-rubrics { padding-block:22px 28px; }
  .cde-mag-rubric-grid { grid-template-columns:repeat(5,148px); }
  .cde-mag-rubric { min-height:180px; }
  .cde-mag-rubric-copy { padding-top:80px; }
  .cde-mag-editorial { display:flex; flex-direction:column; gap:30px; padding-bottom:35px; }
  .cde-mag-editorial > * { width:100%; }
  .cde-mag-editorial > .cde-sidebar { display:flex; }
  .cde-home-magazine .cde-quote-panel { display:none; }
  .cde-mag-heading { font-size:22px; margin-bottom:18px; }
  .cde-mag-list .cde-card-link,.cde-mag-editorial--compact .cde-mag-list .cde-card-link { grid-template-columns:100px minmax(0,1fr); gap:15px; }
  .cde-mag-list h3,.cde-mag-editorial--compact .cde-mag-list h3 { font-size:16px; line-height:1.4; }
  .cde-mag-list .cde-meta { font-size:10px; }
  .cde-mag-feature h3 { font-size:23px; }
  .cde-mag-more-grid { grid-template-columns:1fr; }
  .cde-mag-more .cde-card-link { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; }
  .cde-mag-more .cde-card-text { padding:15px; }
  .cde-mag-more .cde-card h3 { font-size:16px; }
  .cde-mag-more .cde-card .cde-meta { font-size:10px; }
}
@media(max-width:360px) {
  .cde-mag-lead-copy h1 { font-size:27px; }
  .cde-mag-list .cde-card-link,.cde-mag-editorial--compact .cde-mag-list .cde-card-link { grid-template-columns:84px minmax(0,1fr); gap:12px; }
  .cde-mag-more .cde-card-link { display:block; }
}

/* 0.2.10: shared outer alignment and balanced story lists. */
:root { --cde-wide:1280px; --cde-article-wide:1280px; }
.cde-shell,.cde-reading-grid { width:min(1280px,calc(100% - 64px)); }
@media(min-width:1101px) {
  .cde-reading-grid { grid-template-columns:minmax(0,820px) minmax(0,1fr); }
  .cde-mag-editorial { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr); }
  /* Share the title and content rows. The sidebar starts with the feature card,
   * not its heading; content defines the height, including wrapped headings.
   * Below this breakpoint the existing sections return to natural flow. */
  .cde-mag-editorial:not(.cde-mag-editorial--compact) { grid-template-rows:auto auto; row-gap:24px; }
  .cde-mag-editorial:not(.cde-mag-editorial--compact) > :is(.cde-mag-latest,.cde-mag-feature) { display:grid; grid-row:1 / span 2; grid-template-rows:subgrid; align-self:stretch; }
  .cde-mag-editorial:not(.cde-mag-editorial--compact) > .cde-mag-latest { grid-column:1; }
  .cde-mag-editorial:not(.cde-mag-editorial--compact) > .cde-mag-feature { grid-column:2; }
  .cde-mag-editorial:not(.cde-mag-editorial--compact) > section > .cde-mag-heading { margin-bottom:0; }
  .cde-mag-editorial:not(.cde-mag-editorial--compact) > .cde-sidebar { grid-column:3; grid-row:2; align-self:stretch; }
  .cde-mag-editorial:not(.cde-mag-editorial--compact) > .cde-sidebar > .cde-quote-panel { flex:1; }
  .cde-mag-editorial--compact { grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); }
  .cde-mag-list .cde-card-link { grid-template-columns:140px minmax(0,1fr); gap:18px; }
  .cde-mag-list h3 { font-size:17px; line-height:1.45; }
  .cde-mag-list .cde-card--list { padding-block:20px; }
}
@media(min-width:801px) {
  .cde-mag-more-grid:has(> :last-child:nth-child(3)) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cde-mag-more-grid:has(> :last-child:nth-child(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cde-mag-more-grid:has(> :only-child) { grid-template-columns:minmax(0,620px); }
  .cde-mag-more-grid:has(> :last-child:nth-child(-n+2)) .cde-card-link { display:grid; grid-template-columns:45% minmax(0,1fr); align-items:center; }
  .cde-mag-more-grid:has(> :last-child:nth-child(-n+2)) .cde-card-visual { height:auto; aspect-ratio:16/9; }
}
@media(max-width:1100px) {
  .cde-shell,.cde-reading-grid { width:calc(100% - 40px); }
  .cde-reading-grid { grid-template-columns:minmax(0,820px); }
}
@media(max-width:700px) {
  .cde-shell,.cde-reading-grid { width:calc(100% - 32px); }
}

/* 0.2.11 — essai de finition éditoriale sans cadres décoratifs. */
.cde-card--grid,.cde-card--feature,
.cde-mag-rubric,.cde-mag-list .cde-card-visual,
.cde-side-related-image,.cde-side-card,.cde-side-category,.cde-mobile-toc,
.cde-home-magazine .cde-about-panel,.cde-home-magazine .cde-quote-panel {
  border:0; box-shadow:none;
}
.cde-card--grid,.cde-card--feature,.cde-side-card,.cde-side-category,.cde-mobile-toc {
  background:var(--cde-panel);
}
.cde-card-visual,.cde-article-cover img { border:0; }
.cde-mag-heading::after,.cde-heading-line { display:none; }
.cde-mag-lead,.cde-header { border-bottom:0; }
.cde-footer { border-top:0; }
.cde-footer-bottom,.cde-toc-card li,.cde-side-related + .cde-side-related,
.cde-card--list,.cde-article-tags { border-color:rgb(173 190 208 / .12); }
.cde-article-tags a { border-color:transparent; }
.cde-sources { border:0; border-left:2px solid var(--cde-sky); }
.cde-reading-area--light .cde-sources { border-left-color:var(--cde-ink); }
.cde-mag-rubrics { padding-bottom:48px; }
.cde-mag-editorial { padding-bottom:56px; }
.cde-mag-heading { margin-bottom:24px; }
.cde-card a:hover h3,.cde-side-related a:hover h3,.cde-mag-rubric:hover h3,
.cde-side-category:hover strong { color:var(--cde-sky); }
.cde-site :is(a,button,summary,input):focus-visible {
  outline:2px solid var(--cde-sky); outline-offset:4px;
}
.cde-card:focus-within,.cde-mag-rubric:focus-visible { outline:2px solid var(--cde-sky); outline-offset:4px; }
@media(max-width:600px) {
 .cde-mag-rubrics { padding-bottom:32px; }
 .cde-mag-editorial { padding-bottom:40px; }
}

/* 0.2.12 — restrained motion, high-definition category artwork and social links. */
.cde-social-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; padding-block:6px 28px; }
.cde-social-links > span { color:var(--cde-muted); font-size:13px; }
.cde-social-links a { display:inline-flex; gap:9px; align-items:center; min-height:44px; color:var(--cde-text); font-size:14px; }
.cde-social-links svg { width:19px; height:19px; flex-shrink:0; }
.cde-mag-rubric > img { object-position:center 38%; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .cde-card--grid,.cde-card--feature { transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease; }
 .cde-card--grid:hover,.cde-card--feature:hover { transform:translateY(-3px); background:#0d2537; box-shadow:0 10px 24px rgb(0 0 0 / .16); }
 .cde-card-visual { overflow:hidden; }
 .cde-card a:hover .cde-image,.cde-side-related a:hover .cde-image { transform:scale(1.025); }
 .cde-card .cde-image,.cde-side-related .cde-image { transition:transform .3s ease; }
 .cde-card--list .cde-card-link { transition:background-color .22s ease; }
 .cde-card--list .cde-card-link:hover { background:rgb(112 206 255 / .035); }
}
@media(prefers-reduced-motion:reduce) {
 .cde-card:hover,.cde-card a:hover .cde-image,.cde-side-related a:hover .cde-image { transform:none; }
}

/* 0.2.13 — subtle depth on visual surfaces, without section frames. */
.cde-card--grid,.cde-card--feature,.cde-mag-rubric {
 box-shadow:0 0 0 1px rgb(137 168 192 / .17),0 5px 16px rgb(0 0 0 / .15);
}
.cde-mag-list .cde-card-visual,.cde-side-related-image,
.cde-article-cover-media,.cde-mag-lead-visual {
 border-radius:8px;
 box-shadow:0 0 0 1px rgb(137 168 192 / .19),0 4px 14px rgb(0 0 0 / .12);
}
.cde-mag-lead-visual { overflow:hidden; }
@media(hover:hover) and (pointer:fine) {
 .cde-card--grid:hover,.cde-card--feature:hover,.cde-mag-rubric:hover {
  box-shadow:0 0 0 1px rgb(137 190 218 / .32),0 9px 23px rgb(0 0 0 / .22);
 }
 .cde-mag-list a:hover .cde-card-visual,.cde-side-related a:hover .cde-side-related-image,
 .cde-mag-lead-visual:hover {
  box-shadow:0 0 0 1px rgb(137 190 218 / .32),0 5px 16px rgb(0 0 0 / .17);
 }
}
@media(prefers-reduced-motion:no-preference) {
 .cde-mag-rubric,.cde-mag-list .cde-card-visual,.cde-side-related-image,.cde-mag-lead-visual {
  transition:box-shadow .22s ease;
 }
}
