/* Template éditorial statique : composition des rôles, typographies et actions de la V4. */
.article-page {
  --surface-article-wash: color-mix(in oklch, var(--tone-brand-soft) 65%, var(--surface-raised));
  --surface-article-blush: color-mix(in oklch, var(--surface-intro-transition) 24%, var(--surface-raised));
  --text-article-heading: color-mix(in oklch, var(--text) 82%, var(--tone-brand-fg));
}
.article-intro { padding:134px 0 0; background:radial-gradient(ellipse at 0 0,var(--surface-article-wash),transparent 70%),radial-gradient(ellipse at 100% 0,var(--surface-article-blush),transparent 65%); }
.article-breadcrumb { display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-muted);margin-bottom:38px; }
.article-breadcrumb a { text-decoration:none; }.article-breadcrumb a:hover { text-decoration:underline; }
.article-heading { display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:end;margin-bottom:44px; }
.article-heading .eyebrow { color:var(--tone-brand-fg);margin-bottom:20px; }
.article-page .article-heading h1 { font-family:var(--font-hero-editorial);font-size:clamp(3.5rem,5.4vw,5rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;color:var(--text-article-heading);text-wrap:initial; }
.article-heading-aside { padding-bottom:5px; }.article-deck { font-size:1rem;line-height:1.85;color:var(--text-muted);max-width:43ch; }
.article-byline { display:flex;gap:12px;align-items:center;margin-top:28px;font-size:.75rem; }.article-byline img { flex:none; }
.article-byline>div>span { font-weight:600; }.article-byline p { color:var(--text-muted);font-size:.6875rem;margin-top:3px; }
.article-cover-scene { position:relative;min-height:450px;border-radius:22px;overflow:hidden;isolation:isolate;background:var(--surface-sunken);display:flex;align-items:center;justify-content:space-between;padding:48px;gap:30px; }
.article-cover-image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2; }
.article-cover-note { align-self:end;background:var(--surface-raised);border:1px solid var(--line-subtle);padding:22px 26px;border-radius:12px;box-shadow:var(--elevation-sm); }
.article-cover-note .eyebrow { display:block;margin-bottom:8px;font-size:.625rem; }
.article-cover-note>p { font-family:var(--font-hero-editorial);font-size:2.3rem;line-height:1.07;letter-spacing:-.025em; }
.article-schedule { background:var(--surface-raised);border:1px solid var(--line);border-radius:16px;padding:24px;width:370px;flex:none;box-shadow:var(--elevation-lg); }
.article-schedule-heading { display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:600;font-size:.875rem;margin-bottom:8px; }
.article-schedule-heading>span:last-child { color:var(--tone-brand-fg); }
.article-schedule ul { list-style:none;margin:0;padding:0; }.article-schedule li { display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line-subtle); }
.article-day { font-size:.625rem;color:var(--text-muted);display:grid;gap:4px;min-width:42px; }
.article-day strong { font-size:.8125rem;color:var(--text);font-weight:600; }
.article-schedule li>div { display:grid;gap:4px; }.article-schedule li>div>strong { font-size:.8125rem;font-weight:600; }.article-schedule li>div>span { font-size:.6875rem;color:var(--text-muted); }
.article-capacity { margin-left:auto;white-space:nowrap;background:var(--tone-brand-soft);color:var(--tone-brand-fg);padding:5px 8px;border-radius:6px;font-size:.625rem; }
.article-schedule-foot { margin-top:18px;color:var(--text-muted);font-size:.625rem; }
.article-cover>figcaption { margin-top:12px;font-size:.6875rem;color:var(--text-muted); }
.article-layout { max-width:1080px;display:grid;grid-template-columns:220px minmax(0,680px);gap:80px;align-items:start;padding-top:64px;padding-bottom:64px; }
.article-aside { position:sticky;top:120px;min-width:0; }.article-toc .eyebrow { font-size:.625rem;margin-bottom:14px; }
.article-toc ol { list-style:none;margin:0;padding:0; }.article-toc li+li { margin-top:3px; }
.article-toc li a { display:flex;align-items:baseline;gap:10px;padding:10px 10px 10px 0;font-size:.75rem;color:var(--text-muted);text-decoration:none;line-height:1.5;border-right:2px solid transparent; }
.article-toc li a>span { font-size:.625rem;min-width:18px; }.article-toc li a:hover,.article-toc li a[aria-current="location"] { color:var(--tone-brand-fg); }
.article-toc li a[aria-current="location"] { border-color:var(--tone-brand-fg);font-weight:600; }
.article-toc-check { display:block;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;text-decoration:none;color:var(--tone-brand-fg);line-height:1.7; }
.article-toc-check>span { white-space:nowrap; }.article-print.text-link { margin-top:18px;font-size:.6875rem;color:var(--text-muted); }
.article-body { min-width:0;font-size:1rem;line-height:1.9;color:var(--text-muted); }
.article-body p+p { margin-top:20px; }.article-body .article-opening { color:var(--text);font-size:1.2rem;line-height:1.75; }
.article-body strong { color:var(--text);font-weight:600; }.article-body a { color:var(--tone-brand-fg); }
.article-section { padding-top:56px;scroll-margin-top:12px; }.article-section .article-step { color:var(--tone-brand-fg);font-size:.6875rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;margin-bottom:14px; }
.article-page .article-body h2 { color:var(--text);font-size:2rem;line-height:1.15;letter-spacing:-.025em;text-wrap:initial;margin-bottom:24px; }
.article-note { background:var(--surface-article-wash);border-left:2px solid var(--tone-brand-border);padding:24px 28px;margin:28px 0 0;border-radius:0 12px 12px 0; }
.article-note .eyebrow { margin-bottom:12px;color:var(--tone-brand-fg);font-size:.625rem; }.article-note>p:not(.eyebrow) { font-size:.875rem;line-height:1.85;margin:0; }
.article-body blockquote { border-block:1px solid var(--line);margin:32px 0;padding:26px 0;color:var(--text-article-heading);font-family:var(--font-hero-editorial);font-size:2.25rem;line-height:1.15;letter-spacing:-.02em; }
.article-reading-list { padding-left:22px;margin:22px 0; }.article-reading-list li { padding-left:8px;margin-top:16px; }.article-reading-list li::marker { color:var(--tone-brand-fg);font-size:.8125rem;font-weight:600; }
.article-checklist { margin-top:48px;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--surface-page);scroll-margin-top:12px; }
.article-checklist>.eyebrow { color:var(--tone-brand-fg);font-size:.625rem; }.article-page .article-checklist h2 { margin-bottom:14px; }.article-checklist>p:not(.eyebrow) { font-size:.875rem;margin-bottom:22px; }
.article-checklist fieldset { margin:0;padding:0;border:0;min-width:0; }.article-checklist label { display:flex;align-items:start;gap:12px;font-size:.875rem;line-height:1.7;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;color:var(--text); }
.article-checklist input { width:19px;height:19px;flex:none;margin:3px 0 0;accent-color:var(--primary);cursor:pointer; }.article-checklist input:focus-visible { outline:3px solid var(--tone-brand-fg);outline-offset:4px; }
.article-checklist input:checked+span { color:var(--text-muted); }.article-checklist-status { display:flex;gap:16px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:.6875rem;color:var(--tone-brand-fg); }
.article-reset { border:0;background:none;color:var(--tone-brand-fg);font-size:inherit;padding:10px 0;text-decoration:underline;text-underline-offset:4px; }.article-reset:disabled { background:none;color:var(--text-muted);text-decoration:none; }
.article-author { display:flex;align-items:start;gap:18px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line);font-size:.875rem; }.article-author img { flex:none; }.article-author p { font-size:.8125rem;line-height:1.8;margin-top:7px; }
.article-further { margin-top:32px;font-size:.8125rem; }.article-further>span { display:block;font-size:.6875rem;margin-bottom:6px; }.article-further a { display:inline-block; }
.article-next { display:flex;align-items:center;justify-content:space-between;gap:40px;padding:44px 48px;margin-bottom:72px;border-radius:20px;border:1px solid var(--line-subtle);background:radial-gradient(ellipse at 100% 100%,var(--surface-article-blush),transparent 80%),var(--surface-article-wash); }
.article-next .eyebrow { font-size:.625rem;color:var(--tone-brand-fg); }.article-page .article-next h2 { font-family:var(--font-hero-editorial);font-size:3.3rem;line-height:1.02;font-weight:400;letter-spacing:-.025em;color:var(--text-article-heading); }
.article-next p:not(.eyebrow) { font-size:.875rem;color:var(--text-muted);max-width:39ch;margin-top:20px; }.article-next-actions { display:grid;justify-items:start;gap:12px;flex:none; }.article-next .text-link { font-size:.8125rem; }
@media(max-width:1100px) { .article-heading { gap:36px;grid-template-columns:1.35fr 1fr; }.article-layout { gap:40px;grid-template-columns:190px minmax(0,1fr); }.article-cover-scene { padding:32px; }.article-cover-note { padding:18px 20px; } }
@media(max-width:760px) {
  .article-intro { padding-top:124px; }.article-breadcrumb { margin-bottom:28px; }.article-heading { grid-template-columns:1fr;gap:24px;margin-bottom:28px; }.article-page .article-heading h1 { font-size:clamp(3rem,8.6vw,4.4rem); }.article-deck { max-width:48ch;font-size:.9375rem;line-height:1.75; }.article-byline { margin-top:22px; }
  .article-cover-scene { display:block;min-height:0;padding:160px 20px 20px; }.article-cover-note { display:none; }.article-schedule { width:100%;max-width:400px;margin-left:auto;padding:20px; }.article-cover-image { object-position:38% center; }.article-schedule li { padding-block:16px; }.article-cover>figcaption { font-size:.625rem; }
  .article-layout { grid-template-columns:1fr;gap:36px;padding-top:36px;padding-bottom:40px; }.article-aside { position:static; }.article-toc { padding:22px;border:1px solid var(--line);border-radius:12px; }.article-toc li a { padding-block:8px;font-size:.8125rem; }.article-toc ol { display:grid;grid-template-columns:1fr 1fr;gap:2px 22px; }.article-toc-check { margin-top:12px;padding-top:14px; }.article-print { display:none!important; }
  .article-body { font-size:.9375rem;line-height:1.85; }.article-body .article-opening { font-size:1.0625rem; }.article-section { padding-top:40px; }.article-page .article-body h2 { font-size:1.75rem; }.article-body blockquote { font-size:2rem; }.article-note { padding:22px; }.article-checklist { padding:24px; }.article-author { gap:12px; }.article-next { padding:32px;gap:24px;flex-direction:column;align-items:start;margin-bottom:48px; }.article-page .article-next h2 { font-size:2.9rem; }
}
@media(max-width:480px) { .article-toc ol { display:block; }.article-schedule { padding:16px; }.article-schedule li { gap:10px; }.article-schedule-heading { font-size:.8125rem; }.article-schedule li>div>strong { font-size:.75rem; }.article-capacity { padding:4px 6px;font-size:.5625rem; }.article-cover-scene { padding:130px 12px 12px;border-radius:16px; }.article-checklist { padding:22px 20px; }.article-next { padding:28px 24px; }.article-heading .eyebrow { font-size:.6875rem; } }
@media print {
  .topbar,.site-footer,.skip-link,.article-aside,.article-next,.article-checklist-status,.article-breadcrumb { display:none!important; }
  .article-intro { padding-top:0;background:none; }.shell { width:100%;max-width:none; }.article-heading { display:block; }.article-page .article-heading h1 { font-size:36pt; }.article-heading-aside { margin-top:18px; }.article-deck { max-width:none; }.article-cover { display:none; }.article-layout { display:block;padding:0; }.article-body { font-size:11pt; }.article-section { padding-top:24px; }.article-page .article-body h2 { font-size:20pt;break-after:avoid; }.article-note,.article-checklist,.article-author { break-inside:avoid; }.article-body blockquote { font-size:22pt; }.article-body a { color:var(--text); }
}
