/* Clair d’Espace — local assets only. */
:root {
  --cde-bg:#05121d; --cde-deep:#030c13; --cde-panel:#0a1d2d; --cde-line:#25445c;
  --cde-text:#f4f8fc; --cde-muted:#adbed0; --cde-sky:#70ceff; --cde-ink:#052136;
  --cde-wide:1360px; --cde-radius:12px;
}
html { scroll-behavior:smooth; scroll-padding-top:20px; }
body.cde-site { margin:0; padding:0; color:var(--cde-text); background:var(--cde-bg); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
.cde-site *, .cde-site *::before, .cde-site *::after { box-sizing:border-box; }
.cde-site .wp-site-blocks { padding:0; }
.cde-site .wp-site-blocks > * { margin-block-start:0; }
.cde-site :where(h1,h2,h3,h4,p,figure) { margin:0; }
.cde-site :where(h1,h2,h3,h4) { font-family:inherit; font-weight:750; line-height:1.16; color:inherit; overflow-wrap:anywhere; }
.cde-site a { color:inherit; text-decoration:none; }
.cde-site a:hover { text-decoration:none; }
.cde-site button, .cde-site input, .cde-site select { font:inherit; }
.cde-site img { display:block; max-width:100%; }
.cde-site svg { display:inline-block; vertical-align:middle; flex-shrink:0; }
.cde-site :where(a,button,summary,input,select):focus-visible { outline:3px solid var(--cde-sky); outline-offset:5px; }
.cde-site .screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important; }
.cde-shell { width:min(var(--cde-wide),calc(100% - 72px)); margin-inline:auto; }
.cde-skip { position:fixed; top:8px; left:8px; z-index:999999; transform:translateY(-180%); background:var(--cde-sky); color:var(--cde-ink)!important; padding:12px 22px; font-weight:700; border-radius:4px; }
.cde-skip:focus { transform:none; }
.cde-header { position:relative; z-index:20; background:linear-gradient(100deg,#05131e,#091c2d 70%,#05131e); border-bottom:1px solid #18344b; }
.cde-header-inner { min-height:112px; padding-block:6px; display:flex; align-items:center; justify-content:space-between; gap:26px; }
.cde-brand { position:relative; display:inline-flex; align-items:center; flex-shrink:0; width:260px; max-width:100%; line-height:0; }
/* Original proportions of the approved logo, shared by header and footer. */
.cde-brand-image { display:block; width:100%; height:auto; aspect-ratio:1248 / 468; object-fit:contain; }
.cde-brand--small { width:230px; }
.cde-nav { display:flex; align-items:center; justify-content:center; gap:22px; font-size:13px; font-weight:600; }
.cde-nav a { display:block; padding-block:18px; white-space:nowrap; }
.cde-nav a:hover, .cde-nav a[aria-current] { color:var(--cde-sky); }
.cde-header-actions { display:flex; align-items:center; gap:16px; }
.cde-button { display:inline-flex; justify-content:center; align-items:center; gap:13px; min-height:46px; padding:11px 22px; background:var(--cde-sky); border:1px solid transparent; border-radius:999px; color:var(--cde-ink)!important; font-weight:750; font-size:14px; line-height:1.3; cursor:pointer; transition:background .18s,transform .18s; }
.cde-button:hover { background:#a1e0ff; transform:translateY(-1px); }
.cde-button svg { width:20px; height:20px; }
.cde-button--outline { background:#0b2337; border-color:#356080; color:#d4edff!important; min-height:40px; padding:9px 15px; font-size:12px; }
.cde-button--outline:hover { background:#173950; }
.cde-search > summary { cursor:pointer; list-style:none; padding:6px; line-height:1; }
.cde-search > summary::-webkit-details-marker { display:none; }
.cde-search[open] > summary { color:var(--cde-sky); }
.cde-search-panel { position:absolute; top:calc(100% + 8px); right:36px; width:min(560px,calc(100% - 40px)); padding:22px; background:#0c2438; border:1px solid var(--cde-line); border-radius:12px; box-shadow:0 18px 45px #0006; }
.cde-search-form { display:flex; gap:10px; width:100%; }
.cde-search-form input { width:100%; min-width:0; background:#fff; color:#122735; border:1px solid #8297a9; padding:11px 14px; border-radius:6px; }
.cde-search-form .cde-button { border-radius:6px; }
.cde-menu-toggle { display:none; border:1px solid var(--cde-line); border-radius:6px; background:transparent; color:var(--cde-text); padding:8px 10px; align-items:center; gap:7px; font-size:12px; cursor:pointer; }
.cde-preview-banner { padding:12px 24px; text-align:center; color:#142c40; background:#d8f1ff; font-size:13px; position:relative; z-index:10; }
.cde-preview-banner a { text-decoration:underline!important; margin-left:12px; font-weight:700; }
.cde-main { outline:none; }
.cde-hero { position:relative; isolation:isolate; overflow:hidden; min-height:540px; background:var(--cde-deep); }
.cde-hero-image, .cde-hero > .cde-placeholder { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 50%; z-index:-3; }
.cde-hero .cde-hero-art { left:0; width:100%; object-position:67% 50%; }
.cde-hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(3,12,19,.98) 0%,rgba(3,12,19,.82) 32%,rgba(3,12,19,.16) 69%,rgba(3,12,19,.3) 100%),linear-gradient(0deg,var(--cde-bg),transparent 20%); }
.cde-hero-layout { position:relative; min-height:540px; display:flex; align-items:center; justify-content:space-between; gap:80px; padding-block:68px 75px; }
.cde-hero-copy { width:620px; max-width:62%; }
.cde-hero-copy h1 { margin-top:22px; font-size:clamp(37px,4.2vw,63px); letter-spacing:-2px; font-weight:760; line-height:1.04; }
.cde-hero-copy h1 span { color:#a6dfff; }
.cde-hero-copy > p { margin-top:23px; max-width:535px; font-size:16px; line-height:1.65; color:#e1e9f2; }
.cde-hero-copy .cde-button { margin-top:26px; }
.cde-hero-copy .cde-meta { display:block; margin-top:16px; }
.cde-hero-note { align-self:center; text-align:center; font-family:Georgia,serif; font-size:22px; font-style:italic; color:#e4ecf4; transform:rotate(-6deg); text-shadow:0 2px 15px #000; }
.cde-hero-note span { display:block; line-height:1.6; }
.cde-hero-note i { display:block; width:45px; border-top:1px solid var(--cde-sky); margin:16px auto 0; }
.cde-badge { display:inline-flex; align-items:center; gap:6px; width:max-content; max-width:100%; padding:5px 9px; border:1px solid #9bdefe; border-radius:6px; background:var(--cde-sky); color:var(--cde-ink); font-size:10px; line-height:1.25; font-weight:850; letter-spacing:.4px; text-transform:uppercase; }
.cde-badge svg { width:15px; height:15px; }
.cde-categories { padding-block:24px 40px; }
.cde-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:15px; }
.cde-category-tile { display:block; position:relative; min-height:240px; overflow:hidden; background:#081d2e; border:1px solid #35536c; border-radius:var(--cde-radius); transition:border-color .2s,transform .2s; }
.cde-category-tile > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.cde-category-tile::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#04101afa,#04101abb 36%,#04101a00 80%); }
.cde-category-copy { position:relative; z-index:1; padding:140px 17px 18px; }
.cde-category-copy p { margin-top:12px; padding-right:12px; color:#f1f5f9; font-size:14px; line-height:1.4; }
.cde-tile-arrow { position:absolute; bottom:20px; right:10px; z-index:1; }
.cde-tile-arrow svg { width:17px; }
a.cde-category-tile:hover { transform:translateY(-3px); border-color:var(--cde-sky); }
.cde-section-heading { display:flex; align-items:center; gap:20px; margin-bottom:22px; }
.cde-section-heading h2 { font-size:25px; letter-spacing:-.7px; }
.cde-heading-line { height:1px; flex:1; background:var(--cde-line); }
.cde-editorial { display:grid; grid-template-columns:minmax(0,1.42fr) minmax(0,1fr) minmax(0,.85fr); gap:28px; padding-block:5px 52px; }
.cde-editorial--two { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); }
.cde-card { min-width:0; }
.cde-card-link { display:block; height:100%; }
.cde-card-visual { overflow:hidden; background:#0c263b; position:relative; }
.cde-card-visual .cde-image, .cde-card-visual .cde-placeholder { width:100%; height:100%; aspect-ratio:1.6; object-fit:cover; transition:transform .3s; }
.cde-card a:hover .cde-image { transform:scale(1.035); }
.cde-card a:hover h3 { color:#b8e8ff; }
.cde-card h3 { font-size:18px; line-height:1.32; letter-spacing:-.25px; margin-top:11px; transition:color .15s; }
.cde-card-text p { margin-top:13px; font-size:13px; color:var(--cde-muted); line-height:1.6; }
.cde-meta { display:block; font-size:11px; color:var(--cde-muted); line-height:1.5; }
.cde-card .cde-meta { margin-top:14px; }
.cde-card--list { border-top:1px solid var(--cde-line); padding-block:15px; }
.cde-card--list .cde-card-link { display:grid; grid-template-columns:135px minmax(0,1fr); align-items:center; gap:17px; }
.cde-card--list .cde-card-visual { border:1px solid #29465b; border-radius:8px; align-self:stretch; min-height:108px; }
.cde-card--list .cde-card-visual .cde-image, .cde-card--list .cde-card-visual .cde-placeholder { position:absolute; inset:0; }
.cde-card--list h3 { font-size:15px; margin-top:8px; letter-spacing:0; }
.cde-card--list .cde-meta { margin-top:10px; }
.cde-card--feature, .cde-card--grid { border:1px solid var(--cde-line); border-radius:var(--cde-radius); overflow:hidden; background:linear-gradient(180deg,#081725,#04101a); }
.cde-card--feature .cde-card-visual { height:225px; }
.cde-card--feature .cde-card-text { padding:0 21px 25px; margin-top:-14px; position:relative; }
.cde-card--feature h3 { font-size:25px; letter-spacing:-.6px; }
.cde-card--grid .cde-card-text { padding:18px; }
.cde-card--grid .cde-card-visual { aspect-ratio:1.65; }
.cde-sidebar { display:flex; flex-direction:column; gap:16px; }
.cde-editorial > .cde-sidebar { padding-top:2px; }
.cde-about-panel { border:1px solid #35536c; background:radial-gradient(ellipse at 95% 0%,#163f63,transparent 70%),#081b2b; padding:28px 23px; border-radius:var(--cde-radius); }
.cde-eyebrow { color:#9cdcff; font-size:11px; letter-spacing:1.4px; font-weight:750; text-transform:uppercase; }
.cde-about-panel h2 { font-size:25px; line-height:1.2; letter-spacing:-.6px; margin-top:18px; }
.cde-about-panel p { font-size:14px; color:#c1d0df; margin-top:18px; line-height:1.7; }
.cde-text-link { display:inline-flex; align-items:center; gap:8px; color:var(--cde-sky)!important; font-size:13px; font-weight:650; margin-top:22px; }
.cde-text-link svg { width:18px; }
.cde-text-link:hover { text-decoration:underline!important; }
.cde-quote-panel { position:relative; overflow:hidden; min-height:164px; display:flex; align-items:center; justify-content:center; border:1px solid #29475f; border-radius:var(--cde-radius); padding:28px 16px; background:linear-gradient(0deg,#04101ae8,#04101a75),url('../images/observer.webp') center/cover; }
.cde-quote-panel p { color:#e3edf6; font-family:Georgia,serif; font-style:italic; font-size:19px; line-height:1.8; text-align:center; position:relative; z-index:1; }
.cde-quote-mark { position:absolute; bottom:5px; right:17px; font-size:42px; color:#79c8fb66; }
.cde-more { padding-block:10px 55px; }
.cde-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.cde-card-grid--three, .cde-card-grid--archive { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cde-welcome-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:90px; padding-block:22px 65px; }
.cde-welcome-message { padding-top:22px; max-width:620px; }
.cde-welcome-message h2 { font-size:40px; letter-spacing:-1.3px; margin-top:20px; }
.cde-welcome-message p { margin-top:23px; max-width:530px; color:#c3d1e0; line-height:1.9; }
.cde-subtle { color:#adc1d4!important; font-size:13px; }
.cde-values { border-top:1px solid #1b354a; border-bottom:1px solid #1b354a; background:linear-gradient(110deg,#081827,#0d263c,#081827); }
.cde-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:32px; gap:36px; }
.cde-values-grid > div { display:flex; align-items:center; gap:20px; }
.cde-values-grid > div + div { padding-left:35px; border-left:1px solid #2a4358; }
.cde-values-grid svg { width:34px; height:34px; color:var(--cde-sky); }
.cde-values strong { display:block; font-size:15px; font-weight:650; color:#c9eaff; }
.cde-values small { display:block; font-size:12px; margin-top:4px; color:var(--cde-muted); }
.cde-footer { background:#030e18; }
.cde-footer-main { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:35px 27px; }
.cde-footer nav { display:flex; align-items:center; justify-content:flex-end; gap:18px; flex-wrap:wrap; font-size:11px; color:#c2d1df; }
.cde-footer nav a { display:inline-flex; align-items:center; gap:6px; }
.cde-footer nav svg { height:15px; width:15px; }
.cde-footer a:hover { color:var(--cde-sky); }
.cde-footer-bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-block:17px 27px; border-top:1px solid #182c3e; font-size:11px; color:#a4bbce; }
.cde-credits { max-width:430px; }
.cde-credits summary { cursor:pointer; }
.cde-credits p { margin-top:12px; line-height:1.7; }
.cde-archive { padding-block:65px 70px; min-height:55vh; }
.cde-archive-heading { margin-bottom:40px; max-width:900px; }
.cde-archive h1, .cde-page h1 { font-size:clamp(32px,4vw,54px); letter-spacing:-1.6px; margin-top:16px; }
.cde-archive-description { max-width:740px; margin-top:23px; font-size:17px; color:#b8cadb; }
.cde-empty { padding:40px; border:1px solid var(--cde-line); border-radius:12px; max-width:850px; background:#081b2b; }
.cde-empty h2 { font-size:25px; }
.cde-empty p { color:var(--cde-muted); margin-top:15px; }
.cde-empty form { margin-top:25px; }
.cde-pagination { margin-top:40px; }
.cde-pagination .nav-links { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cde-pagination .page-numbers { border:1px solid var(--cde-line); padding:8px 16px; border-radius:6px; }
.cde-pagination .current { color:var(--cde-ink); background:var(--cde-sky); }
.cde-placeholder { display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse at 65% 25%,#20527b,#081b2e 65%); min-height:100px; }
.cde-placeholder svg { height:40px; width:40px; color:#86cbf588; }
.cde-article-header { padding-block:35px 35px; max-width:1120px; }
.cde-breadcrumbs { color:var(--cde-muted); font-size:12px; margin-bottom:35px; }
.cde-breadcrumbs a { color:var(--cde-sky); }
.cde-article-header h1 { max-width:1050px; font-size:clamp(36px,4.2vw,62px); line-height:1.09; letter-spacing:-1.7px; margin-top:22px; }
.cde-deck { font-size:20px; line-height:1.7; color:#c5d5e5; margin-top:26px; max-width:870px; }
.cde-byline { display:flex; align-items:center; gap:8px 24px; flex-wrap:wrap; margin-top:24px; font-size:12px; color:#b7ccdf; }
.cde-byline a { text-decoration:underline; text-underline-offset:3px; }
.cde-article-cover { max-width:1120px; margin-bottom:25px; }
.cde-article-cover img { width:100%; aspect-ratio:1.95; object-fit:cover; border:1px solid var(--cde-line); border-radius:12px; }
.cde-article-cover figcaption { color:var(--cde-muted); font-size:12px; margin-top:13px; line-height:1.6; }
.cde-reading-area { padding:35px 28px 60px; }
.cde-article-body { width:min(100%,760px); margin-inline:auto; color:#dce7f2; font-size:18px; line-height:1.85; overflow-wrap:anywhere; }
.cde-article-body :where(p,ul,ol,figure,blockquote,table,pre,.wp-block-group) { margin-top:0; margin-bottom:1.45em; }
.cde-article-body :where(h2,h3,h4) { color:#f3f7fc; line-height:1.25; margin-block:1.7em .8em; letter-spacing:-.5px; }
.cde-article-body h2 { font-size:31px; }
.cde-article-body h3 { font-size:25px; }
.cde-article-body h4 { font-size:21px; }
.cde-article-body a { color:var(--cde-sky); text-decoration:underline; text-underline-offset:4px; }
.cde-article-body ul, .cde-article-body ol { padding-left:1.4em; }
.cde-article-body li { padding-left:.3em; margin-block:.4em; }
.cde-article-body blockquote { border:0; border-left:3px solid var(--cde-sky); padding:4px 0 4px 25px; margin-inline:0; color:#bce3ff; font-size:23px; font-style:italic; }
.cde-article-body blockquote p { margin:0; }
.cde-article-body figcaption { font-size:12px; color:var(--cde-muted); text-align:left; }
.cde-article-body table { display:block; overflow-x:auto; width:100%; border-collapse:collapse; }
.cde-article-body th, .cde-article-body td { border:1px solid var(--cde-line); padding:12px; text-align:left; }
.cde-article-body pre { overflow:auto; padding:20px; border:1px solid var(--cde-line); border-radius:8px; font-size:14px; }
.cde-article-body img { height:auto; border-radius:8px; }
.cde-article-body iframe { max-width:100%; }
.cde-callout { padding:24px; border:1px solid #3b667f; border-radius:10px; background:#0c2638; margin-block:30px; }
.cde-callout p { margin:10px 0 0; }
.cde-article-end { border-top:1px solid #2b455a; padding-top:26px; margin-top:45px; }
.cde-article-end p { font-size:17px; margin-block:12px 16px; }
.cde-article-end a { font-size:13px; margin-right:20px; }
.cde-reading-area--light { background:#f4f6f8; }
.cde-reading-area--light .cde-article-body { color:#253647; }
.cde-reading-area--light :where(h2,h3,h4) { color:#101f2d; }
.cde-reading-area--light a { color:#075c91; }
.cde-reading-area--light .cde-callout { color:#153349; background:#e2f1fa; border-color:#94bdd8; }
.cde-reading-area--light blockquote { color:#174b6f; border-color:#146c9e; }
.cde-reading-area--light .cde-eyebrow { color:#246082; }
.cde-reading-area--light figcaption { color:#516277; }
.cde-page { padding-block:65px 80px; min-height:55vh; }
.cde-page > header { width:min(100%,760px); margin-inline:auto; margin-bottom:35px; }
.cde-not-found { padding-block:80px 95px; min-height:60vh; }
.cde-not-found h1 { font-size:clamp(38px,5vw,65px); letter-spacing:-1.5px; margin-top:24px; }
.cde-not-found p { color:var(--cde-muted); max-width:630px; margin-block:25px; }
.cde-not-found form { max-width:620px; }
@media(min-width:1600px) { .cde-hero-layout, .cde-hero { min-height:600px; } }
@media(max-width:1190px) {
  .cde-shell { width:calc(100% - 48px); }
  .cde-header-inner { gap:15px; }
  .cde-brand { width:245px; }
  .cde-nav { gap:14px; font-size:12px; }
  .cde-hero-note { font-size:18px; }
  .cde-category-copy { padding-inline:12px; }
  .cde-category-copy p { font-size:12px; }
  .cde-category-tile { min-height:223px; }
  .cde-editorial { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:28px; }
  .cde-editorial > .cde-sidebar { grid-column:1/-1; flex-direction:row; }
  .cde-editorial > .cde-sidebar > div { flex:1; }
  .cde-section-heading h2 { font-size:23px; }
  .cde-footer-main { align-items:flex-start; }
  .cde-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .cde-header-inner { flex-wrap:wrap; padding-block:4px; min-height:96px; }
  .cde-header-actions { margin-left:0; }
  .cde-nav { order:5; width:100%; justify-content:flex-start; flex-wrap:wrap; gap:0 24px; }
  .cde-nav a { padding-block:10px; }
  .js .cde-menu-toggle { display:inline-flex; margin-left:auto; }
  .js .cde-nav:not(.is-open) { display:none; }
  .cde-search-panel { right:24px; }
  .cde-hero-copy { max-width:75%; }
  .cde-hero-note { display:none; }
  .cde-hero-layout,.cde-hero { min-height:500px; }
  .cde-hero-layout { padding-block:55px; }
  .cde-hero-copy h1 { font-size:48px; }
  .cde-category-grid { grid-template-columns:repeat(5,minmax(155px,1fr)); overflow-x:auto; padding-bottom:10px; scroll-snap-type:x proximity; }
  .cde-category-tile { scroll-snap-align:start; }
  .cde-categories { padding-bottom:28px; }
  .cde-category-copy { padding-top:126px; }
  .cde-card-grid, .cde-card-grid--archive { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cde-welcome-grid { gap:32px; grid-template-columns:1.2fr 1fr; }
  .cde-welcome-message h2 { font-size:32px; }
  .cde-values-grid { gap:18px; }
  .cde-values-grid > div + div { padding-left:18px; }
  .cde-values-grid > div { gap:10px; }
  .cde-values-grid svg { width:26px; }
  .cde-values small { font-size:10px; }
  .cde-footer-main { flex-direction:column; gap:25px; }
  .cde-footer nav { justify-content:flex-start; }
}
@media(max-width:620px) {
  .cde-shell { width:calc(100% - 36px); }
  .cde-header-inner { gap:12px; padding-block:4px; min-height:88px; }
  .cde-brand { width:clamp(194px,56vw,218px); }
  .cde-menu-toggle { padding:7px; }
  .cde-menu-toggle span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .cde-menu-toggle svg { width:21px; height:21px; }
  .cde-search summary { padding:5px 0; }
  .cde-search summary svg { width:21px; height:21px; }
  .cde-search-panel { right:18px; width:calc(100% - 36px); padding:15px; }
  .cde-search-form { flex-wrap:wrap; }
  .cde-search-form .cde-button { width:100%; }
  .cde-nav { gap:0 22px; }
  .cde-hero-layout,.cde-hero { min-height:490px; }
  .cde-hero-layout { padding-block:45px 50px; }
  .cde-hero-copy { width:100%; max-width:100%; }
  .cde-hero-copy h1 { font-size:40px; letter-spacing:-1.3px; line-height:1.08; max-width:430px; }
  .cde-hero-copy > p { font-size:14px; margin-top:20px; max-width:380px; }
  .cde-hero .cde-hero-art { width:100%; opacity:.78; object-position:76% 50%; }
  .cde-hero-shade { background:linear-gradient(90deg,#030c13e8,#030c1380),linear-gradient(0deg,var(--cde-bg),transparent 35%); }
  .cde-hero-copy .cde-button { margin-top:23px; }
  .cde-hero-copy .cde-meta { font-size:10px; }
  .cde-badge { font-size:9px; padding:5px 7px; letter-spacing:.2px; }
  .cde-badge svg { width:13px; height:13px; }
  .cde-categories { padding-block:20px 25px; }
  .cde-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; overflow:visible; }
  .cde-category-tile { min-height:210px; }
  .cde-category-copy { padding:125px 12px 17px; }
  .cde-category-copy p { margin-top:10px; font-size:12px; }
  .cde-category-tile:last-child:nth-child(odd) { grid-column:1/-1; min-height:170px; }
  .cde-category-tile:last-child:nth-child(odd) img { object-position:50% 35%; }
  .cde-category-tile:last-child:nth-child(odd) .cde-category-copy { padding-top:80px; }
  .cde-editorial, .cde-editorial--two { grid-template-columns:1fr; gap:30px; padding-bottom:30px; }
  .cde-editorial > .cde-sidebar { grid-column:auto; flex-direction:column; }
  .cde-section-heading { margin-bottom:17px; }
  .cde-section-heading h2 { font-size:25px; }
  .cde-card--list .cde-card-link { grid-template-columns:107px minmax(0,1fr); gap:13px; }
  .cde-card--list h3 { font-size:15px; }
  .cde-card--list .cde-card-visual { min-height:117px; }
  .cde-card .cde-meta { font-size:10px; }
  .cde-card--feature .cde-card-visual { height:235px; }
  .cde-card--feature h3 { font-size:26px; }
  .cde-about-panel { padding:26px; }
  .cde-about-panel h2 { font-size:28px; }
  .cde-quote-panel { min-height:160px; }
  .cde-card-grid, .cde-card-grid--archive,.cde-card-grid--three { grid-template-columns:1fr; gap:20px; }
  .cde-card--grid .cde-card-text { padding:18px 20px 22px; }
  .cde-card--grid h3 { font-size:22px; }
  .cde-welcome-grid { grid-template-columns:1fr; gap:34px; padding-block:15px 40px; }
  .cde-welcome-message { padding-top:0; }
  .cde-welcome-message h2 { font-size:32px; }
  .cde-welcome-message p { font-size:15px; }
  .cde-values-grid { grid-template-columns:1fr; gap:22px; padding-block:30px; }
  .cde-values-grid > div + div { padding-left:0; border-left:0; }
  .cde-values-grid > div { gap:18px; }
  .cde-values-grid svg { width:32px; }
  .cde-values small { font-size:12px; }
  .cde-footer-main { padding-block:30px 24px; }
  .cde-footer nav { gap:13px 19px; }
  .cde-footer-bottom { flex-wrap:wrap; gap:12px 20px; }
  .cde-credits { max-width:100%; }
  .cde-preview-banner { padding:12px 15px; font-size:11px; }
  .cde-archive,.cde-page { padding-block:36px 50px; }
  .cde-archive h1,.cde-page h1 { font-size:36px; letter-spacing:-1px; }
  .cde-empty { padding:25px; }
  .cde-article-header { padding-block:22px 26px; }
  .cde-breadcrumbs { margin-bottom:25px; font-size:11px; }
  .cde-article-header h1 { font-size:37px; letter-spacing:-1px; margin-top:17px; }
  .cde-deck { font-size:17px; margin-top:20px; }
  .cde-byline { gap:8px 16px; font-size:11px; }
  .cde-article-cover { width:calc(100% - 36px); margin-bottom:5px; }
  .cde-article-cover img { aspect-ratio:1.4; }
  .cde-article-cover figcaption { font-size:10px; }
  .cde-reading-area { padding:30px 22px 45px; }
  .cde-article-body { font-size:17px; line-height:1.8; }
  .cde-article-body h2 { font-size:26px; }
  .cde-article-body h3 { font-size:23px; }
  .cde-article-body blockquote { font-size:20px; padding-left:20px; }
  .cde-callout { padding:20px; }
  .cde-not-found { padding-block:50px 60px; }
  .cde-more { padding-block:5px 38px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .cde-site *, .cde-site *::before, .cde-site *::after { transition:none!important; animation:none!important; } }

/* 0.1.3 — header, editorial lead, readable baseline and tiny favicon companion. */
.cde-header { background:radial-gradient(circle at 55% -40%,#113d66 0,#091d31 34%,#05131e 72%); }
.cde-header-inner { min-height:126px; gap:18px; }
.cde-brand-wrap { position:relative; display:block; width:325px; max-width:100%; flex:0 0 auto; }
.cde-brand-wrap .cde-brand { display:block; width:100%; line-height:0; }
.cde-brand-wrap .cde-brand-image { display:block; width:100%; height:auto; aspect-ratio:1248/468; object-fit:contain; }
.cde-brand-tagline { position:absolute; left:17.5%; right:1%; bottom:7%; color:#c9def0; font-size:13px; font-weight:520; letter-spacing:.01em; line-height:1.2; white-space:nowrap; pointer-events:none; }
.cde-brand-wrap--small { width:255px; }
.cde-brand-wrap--small .cde-brand-tagline { font-size:10.5px; bottom:6%; }
.cde-nav { gap:5px; font-size:15px; font-weight:720; }
.cde-nav a.cde-nav-link { display:inline-flex; align-items:center; gap:7px; min-height:46px; padding:10px 13px; border:1px solid transparent; border-radius:999px; color:#edf6ff; line-height:1; transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s; }
.cde-nav a.cde-nav-link svg { width:18px; height:18px; stroke-width:1.7; opacity:.9; }
.cde-nav a.cde-nav-link:hover { background:#102d45; border-color:#2a5575; color:#fff; transform:translateY(-1px); }
.cde-nav a.cde-nav-link[aria-current="page"] { background:linear-gradient(135deg,#0b78f4,#16b6ff); border-color:#55ccff; color:#fff; box-shadow:0 0 0 1px #0b6bc755,0 6px 22px #087ed83d; }
.cde-search > summary { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #284f6e; border-radius:50%; background:#0b2235; transition:background .18s,border-color .18s,transform .18s; }
.cde-search > summary:hover { background:#12334d; border-color:#56b8ee; transform:translateY(-1px); }
.cde-search > summary svg { width:24px; height:24px; }

.cde-home-lead-wrap { background:#04111c; padding:14px 0 0; }
.cde-home-lead { display:grid; grid-template-columns:minmax(0,2fr) minmax(320px,1fr); gap:14px; }
.cde-home-lead--single { grid-template-columns:1fr; }
.cde-lead-main,.cde-lead-secondary { position:relative; overflow:hidden; border:1px solid #244966; border-radius:13px; background:#071929; }
.cde-lead-main { min-height:548px; }
.cde-lead-main-image,.cde-lead-main > .cde-placeholder { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 50%; }
.cde-lead-main .cde-hero-art { object-position:67% 50%; }
.cde-lead-main-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,11,18,.96) 0%,rgba(2,11,18,.79) 40%,rgba(2,11,18,.14) 78%),linear-gradient(0deg,rgba(3,12,19,.7),transparent 45%); }
.cde-lead-main-copy { position:relative; z-index:2; width:min(650px,70%); min-height:548px; padding:54px 46px 46px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; }
.cde-lead-main-copy h1 { margin-top:18px; font-size:clamp(38px,3.65vw,58px); line-height:1.05; letter-spacing:-1.8px; }
.cde-lead-main-copy > p { margin-top:20px; max-width:590px; color:#edf3f9; font-size:17px; line-height:1.55; }
.cde-lead-main-copy .cde-button--lead { margin-top:25px; padding-inline:28px; min-height:54px; background:linear-gradient(135deg,#0e8df5,#18c6ff); color:#fff!important; font-size:16px; box-shadow:0 10px 26px #0078d73d; }
.cde-lead-main-copy .cde-meta { margin-top:14px; color:#c8d7e5; }
.cde-lead-main--welcome .cde-lead-main-copy { width:min(720px,76%); }
.cde-lead-side { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:14px; }
.cde-lead-secondary { min-height:267px; }
.cde-lead-secondary-link { display:block; position:relative; height:100%; min-height:267px; }
.cde-lead-secondary-image,.cde-lead-secondary > .cde-placeholder,.cde-lead-secondary-link > .cde-image,.cde-lead-secondary-link > .cde-placeholder { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cde-lead-secondary-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,10,17,.96) 0%,rgba(2,10,17,.73) 48%,rgba(2,10,17,.1) 86%); }
.cde-lead-secondary-copy { position:absolute; z-index:2; left:24px; right:58px; bottom:21px; }
.cde-lead-secondary-copy h2 { margin-top:11px; font-size:22px; line-height:1.14; letter-spacing:-.4px; }
.cde-lead-secondary-copy p { margin-top:9px; color:#d9e4ee; font-size:13px; line-height:1.42; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cde-lead-secondary-arrow { position:absolute; z-index:3; right:17px; bottom:19px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #31536e; border-radius:50%; background:#0a2236dd; transition:background .18s,transform .18s; }
.cde-lead-secondary-link:hover .cde-lead-secondary-arrow { background:#0f75b7; transform:translateX(2px); }
.cde-lead-secondary-arrow svg { width:20px; height:20px; }

.cde-home-latest-wrap { margin-top:16px; padding:34px 0 48px; background:#f4f7fa; color:#07192a; border-top:1px solid #dce6ee; border-bottom:1px solid #dce6ee; }
.cde-home-latest-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:19px; }
.cde-home-latest-heading > div { display:flex; flex-direction:column; gap:10px; }
.cde-home-latest-mark { width:40px; height:3px; border-radius:999px; background:#148cf6; }
.cde-home-latest-heading h2 { color:#07192a; font-size:28px; letter-spacing:-.7px; }
.cde-home-latest-link { display:inline-flex; align-items:center; gap:8px; color:#0871cf!important; font-size:13px; font-weight:750; }
.cde-home-latest-link svg { width:18px; height:18px; }
.cde-home-latest-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.cde-home-latest-card a { display:block; color:#0b2034; }
.cde-home-latest-visual { position:relative; overflow:hidden; border-radius:10px; background:#102941; aspect-ratio:1.7; }
.cde-home-latest-visual .cde-image,.cde-home-latest-visual .cde-placeholder { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.cde-home-latest-card a:hover .cde-image { transform:scale(1.035); }
.cde-home-latest-visual .cde-badge { position:absolute; left:10px; bottom:10px; box-shadow:0 3px 12px #00192f40; }
.cde-home-latest-card h3 { margin-top:12px; color:#0b1e30; font-size:18px; line-height:1.28; letter-spacing:-.25px; }
.cde-home-latest-card a:hover h3 { color:#0568b2; }
.cde-home-latest-card .cde-meta { margin-top:10px; color:#52677a; font-size:11px; }
.cde-home .cde-categories { padding-top:42px; }
.cde-home-more { padding-top:8px; }


@media(max-width:1190px) {
  .cde-brand-wrap { width:285px; }
  .cde-brand-tagline { font-size:11.5px; }
  .cde-nav { font-size:13px; gap:2px; }
  .cde-nav a.cde-nav-link { min-height:42px; padding:9px 10px; gap:5px; }
  .cde-nav a.cde-nav-link svg { width:16px; height:16px; }
  .cde-home-lead { grid-template-columns:minmax(0,1.72fr) minmax(300px,1fr); }
  .cde-lead-main-copy { width:min(600px,72%); padding-inline:38px; }
  .cde-lead-secondary-copy h2 { font-size:19px; }
  .cde-home-latest-grid { gap:16px; }
  .cde-home-latest-card h3 { font-size:16px; }
}
@media(max-width:900px) {
  .cde-brand-wrap { width:278px; }
  .cde-header-inner { min-height:108px; }
  .cde-nav { order:5; width:100%; justify-content:flex-start; flex-wrap:wrap; gap:8px; padding-bottom:10px; }
  .cde-nav a.cde-nav-link { min-height:40px; padding:8px 11px; }
  .cde-home-lead { grid-template-columns:1fr; }
  .cde-lead-main { min-height:500px; }
  .cde-lead-main-copy { min-height:500px; max-width:100%; width:min(650px,78%); }
  .cde-lead-side { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
  .cde-lead-secondary,.cde-lead-secondary-link { min-height:250px; }
  .cde-home-latest-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; }
}
@media(max-width:620px) {
  .cde-header-inner { min-height:92px; }
  .cde-brand-wrap { width:clamp(205px,60vw,235px); }
  .cde-brand-tagline { left:17.5%; bottom:5.5%; font-size:9.5px; letter-spacing:0; }
  .cde-nav { gap:7px; }
  .cde-nav a.cde-nav-link { font-size:13px; padding:8px 10px; }
  .cde-nav a.cde-nav-link svg { width:15px; height:15px; }
  .cde-home-lead-wrap { padding-top:10px; }
  .cde-home-lead { width:calc(100% - 24px); gap:10px; }
  .cde-lead-main { min-height:510px; }
  .cde-lead-main-copy { width:100%; min-height:510px; padding:38px 24px 32px; justify-content:flex-end; }
  .cde-lead-main-copy h1 { font-size:38px; letter-spacing:-1.2px; }
  .cde-lead-main-copy > p { font-size:14px; line-height:1.5; }
  .cde-lead-main-copy .cde-button--lead { min-height:49px; font-size:14px; padding-inline:22px; }
  .cde-lead-main-shade { background:linear-gradient(0deg,rgba(2,11,18,.97) 0%,rgba(2,11,18,.73) 56%,rgba(2,11,18,.18) 100%); }
  .cde-lead-main-image { object-position:68% 50%; }
  .cde-lead-side { grid-template-columns:1fr; }
  .cde-lead-secondary,.cde-lead-secondary-link { min-height:228px; }
  .cde-lead-secondary-copy { left:18px; right:52px; bottom:17px; }
  .cde-lead-secondary-copy h2 { font-size:20px; }
  .cde-lead-secondary-copy p { font-size:12px; }
  .cde-lead-secondary-arrow { right:13px; bottom:15px; width:38px; height:38px; }
  .cde-home-latest-wrap { margin-top:10px; padding:28px 0 36px; }
  .cde-home-latest-heading { align-items:flex-start; margin-bottom:18px; }
  .cde-home-latest-heading h2 { font-size:25px; }
  .cde-home-latest-link { font-size:12px; }
  .cde-home-latest-grid { grid-template-columns:1fr; gap:24px; }
  .cde-home-latest-card h3 { font-size:20px; }
  .cde-home .cde-categories { padding-top:30px; }
}

@media print {
  body.cde-site, .cde-reading-area { background:#fff!important; color:#111!important; }
  .cde-header,.cde-footer,.cde-sidebar,.cde-preview-banner,.cde-more,.cde-article-end,.cde-search-form { display:none!important; }
  .cde-shell,.cde-article-body { width:100%!important; max-width:100%!important; }
  .cde-article-body, .cde-article-body :where(h2,h3,h4), .cde-article-header,.cde-deck,.cde-meta { color:#111!important; }
  .cde-article-body a { color:#111!important; text-decoration:underline; }
  .cde-article-header h1 { font-size:30px; }
  .cde-article-cover img { max-height:260px; width:auto; }
}


/* 0.1.4 — alignement stable + proportions de la maquette validée. */
html { scrollbar-gutter:stable; }
@supports not (scrollbar-gutter:stable) {
  html { overflow-y:scroll; }
}

/* La maquette validée utilise presque toute la largeur sur grand écran. */
:root { --cde-wide:1480px; }
.cde-shell { width:min(var(--cde-wide),calc(100% - 64px)); }

/* Header plus proche de la maquette : moins haut, logo un peu plus présent. */
.cde-header-inner { min-height:110px; padding-block:5px; gap:18px; }
.cde-brand-wrap { width:350px; }
.cde-brand-tagline { left:17.5%; right:0; bottom:4%; font-size:14px; line-height:1.15; color:#d6e8f7; }
.cde-nav { font-size:16px; gap:7px; }
.cde-nav a.cde-nav-link { min-height:48px; padding:11px 15px; gap:8px; }
.cde-nav a.cde-nav-link svg { width:19px; height:19px; }
.cde-search > summary { width:48px; height:48px; }

/* Une éditoriale : proportions et respiration identiques au visuel retenu. */
.cde-home-lead-wrap { padding-top:12px; }
.cde-home-lead { grid-template-columns:minmax(0,2.08fr) minmax(360px,1fr); gap:14px; }
.cde-lead-main { min-height:530px; }
.cde-lead-main-copy { min-height:530px; width:min(680px,70%); padding:50px 34px 38px; }
.cde-lead-main-copy h1 { font-size:clamp(39px,3.45vw,56px); line-height:1.04; }
.cde-lead-main-copy > p { max-width:620px; font-size:17px; }
.cde-lead-side { gap:12px; }
.cde-lead-secondary,.cde-lead-secondary-link { min-height:259px; }
.cde-lead-secondary-copy { left:22px; right:58px; bottom:19px; }
.cde-lead-secondary-copy h2 { font-size:21px; }

/* Le bloc clair doit commencer immédiatement après la Une, comme sur la maquette. */
.cde-home-latest-wrap { margin-top:0; padding:30px 0 44px; background:#f7f9fb; }
.cde-home-latest-heading { margin-bottom:16px; }
.cde-home-latest-grid { gap:24px; }
.cde-home-latest-visual { border-radius:8px; aspect-ratio:1.75; }

@media(max-width:1300px) {
  :root { --cde-wide:1220px; }
  .cde-shell { width:min(var(--cde-wide),calc(100% - 48px)); }
  .cde-brand-wrap { width:300px; }
  .cde-brand-tagline { font-size:11.8px; }
  .cde-nav { font-size:13px; gap:2px; }
  .cde-nav a.cde-nav-link { min-height:42px; padding:9px 10px; gap:5px; }
  .cde-nav a.cde-nav-link svg { width:16px; height:16px; }
  .cde-home-lead { grid-template-columns:minmax(0,1.76fr) minmax(300px,1fr); }
}
@media(max-width:900px) {
  .cde-shell { width:calc(100% - 36px); }
  .cde-header-inner { min-height:104px; }
  .cde-brand-wrap { width:278px; }
  .cde-brand-tagline { font-size:10.8px; }
  .cde-home-lead { grid-template-columns:1fr; }
  .cde-lead-main,.cde-lead-main-copy { min-height:500px; }
}
@media(max-width:620px) {
  .cde-shell { width:calc(100% - 24px); }
  .cde-header-inner { min-height:92px; }
  .cde-brand-wrap { width:clamp(215px,64vw,245px); }
  .cde-brand-tagline { font-size:9.7px; bottom:3%; }
  .cde-home-lead { width:100%; }
  .cde-lead-main,.cde-lead-main-copy { min-height:510px; }
}

/* 0.1.5 — keep the light latest-news band visible even before the first publication. */
.cde-home-latest-wrap--empty { min-height:190px; }
.cde-home-latest-empty { display:flex; align-items:center; min-height:76px; border:1px dashed #c9d8e4; border-radius:10px; background:#fff; padding:22px 24px; }
.cde-home-latest-empty p { margin:0; color:#53697c; font-size:15px; line-height:1.55; }
@media(max-width:640px) {
  .cde-home-latest-wrap--empty { min-height:165px; }
  .cde-home-latest-empty { min-height:64px; padding:18px; }
}
