:root{--accent:#14544A;--dark:#1C1A17;--light:#FAF7F2;--ink:#1C1A17;--muted:#6B6558;--display:"Spectral",Georgia,serif;--body:"Public Sans",ui-sans-serif,sans-serif;
--paper:#FAF7F2;--bg:#FAF7F2;--line:rgba(28,26,23,.14);--line-soft:rgba(28,26,23,.08);--shadow-sm:none;--shadow-md:none;--radius-lg:0;--radius-md:0;--radius-sm:0;--radius-pill:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.7;overflow-x:hidden;font-size:16px}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.12;margin-top:0;letter-spacing:0}
em{font-style:italic;color:var(--accent)}
.wrap{width:min(1240px,calc(100% - 40px));margin:auto}

/* ===== EYEBROW — plain uppercase label with a thin underline rule, never a
   pill or bordered tag. ===== */
.eyebrow{display:inline-block;font-family:var(--body);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--accent);padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:18px}
.eyebrow--light{color:rgba(250,247,242,.75)}
.sys-dot{display:none}

/* ===== HEADER ===== */
.site-header{min-height:78px;padding:0 max(22px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:28px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:12px;min-width:200px}
.brand>i{width:36px;height:36px;display:grid;place-items:center;overflow:hidden}
.brand>span{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-family:var(--display);font-size:1.15rem;letter-spacing:.01em;font-weight:600}
.main-menu{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:0;flex:1}
.main-menu a{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--body);font-size:.82rem;font-weight:500;letter-spacing:.01em;padding:10px 16px;border-bottom:2px solid transparent}
.main-menu a:hover{border-color:var(--accent);color:var(--accent)}
.menu-toggle{display:none;border:0;background:none;margin-left:auto}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:5px}
.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-head>div{max-width:760px}.section-head h1,.section-head h2{font-size:clamp(2rem,3.6vw,3rem);margin:14px 0 0;font-weight:500}.section-head>p{max-width:420px;color:var(--muted);font-size:.9rem}.section-head>a{font-size:.76rem;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px}

/* ===== LINKS / CTAs — underlined text links, never a filled pill ===== */
.ed-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);font-size:.86rem;font-weight:600;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:3px;transition:opacity .15s linear}
.ed-link:hover{opacity:.62}

/* ===== REVEAL — simple fade+rise only, no pulse/scale ===== */
.has-motion .reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease-out,transform .65s ease-out}.has-motion .reveal.visible{opacity:1;transform:none}
.has-motion .reveal-l{opacity:0;transform:translateX(-16px)}.has-motion .reveal-l.visible{opacity:1;transform:none}
.has-motion .reveal-r{opacity:0;transform:translateX(16px)}.has-motion .reveal-r.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.has-motion .reveal,.has-motion .reveal-l,.has-motion .reveal-r{transition:none}}

.back-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);color:var(--ink);opacity:0;pointer-events:none;transition:.2s;z-index:40}.back-top.show{opacity:1;pointer-events:auto}.back-top:hover{border-color:var(--accent);color:var(--accent)}

/* ===== FOOTER ===== */
.site-footer{padding:70px 0 24px;background:var(--ink);color:#E8E3D8}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1.4fr 1fr;gap:45px}
.brand--footer{min-width:0;color:#fff}
.footer-about p{max-width:390px;color:#A79F8E;font-size:.8rem}
.site-footer h4{font-family:var(--body);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#D7CFBE;font-weight:600;margin:0 0 16px}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{font-size:.8rem;margin:10px 0}.site-footer li a:hover{color:var(--accent)}
.footer-partners ul{columns:2}
.footer-bottom{display:flex;justify-content:space-between;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.7rem;color:#8B8474}
.footer-status{display:flex;align-items:center;gap:8px}

/* ===== MASTHEAD NAMEPLATE BAR ===== */
.ed-masthead{border-bottom:1px solid var(--line);background:var(--paper)}
.ed-masthead-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.ed-masthead-meta{font-family:var(--body);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex:1}
.ed-masthead-meta:last-child{text-align:right}
.ed-masthead-name{font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:.28em;text-transform:uppercase;text-align:center}

/* ===== HERO — asymmetric magazine spread ===== */
.ed-hero{padding:64px 0 0;background:var(--paper)}
.ed-hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:72px;align-items:start}
.ed-hero-title{font-family:var(--display);font-weight:500;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.08;margin:0 0 22px;max-width:680px}
.ed-hero-dek{max-width:520px;color:var(--muted);font-size:1.05rem;margin:0 0 30px}
.ed-hero-actions{display:flex;gap:34px;flex-wrap:wrap}
.ed-hero-sommaire{border-left:1px solid var(--line);padding-left:36px}
.ed-sommaire-label{display:block;font-family:var(--body);font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:18px}
.ed-sommaire-list{list-style:none;margin:0;padding:0}
.ed-sommaire-list li{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-top:1px solid var(--line)}
.ed-sommaire-list li:first-child{border-top:0}
.ed-sommaire-list b{font-family:var(--display);font-size:.82rem;color:var(--accent);font-weight:500}
.ed-sommaire-list span{font-size:.92rem}
.ed-hero-photo{margin:52px 0 0;max-width:900px}
.ed-hero-photo img{width:100%;aspect-ratio:16/8;object-fit:cover;border:1px solid var(--line)}

/* ===== ABOUT — image + text, drop-cap ===== */
.ed-about{padding:100px 0}
.ed-about-grid{display:grid;grid-template-columns:42% 58%;gap:66px;align-items:center}
.ed-about-photo{overflow:hidden}
.ed-about-photo img{width:100%;aspect-ratio:4/3.3;object-fit:cover;border:1px solid var(--line)}
.ed-about-copy h2{font-size:clamp(1.8rem,2.9vw,2.4rem);margin:0 0 20px;max-width:560px}
.ed-about-copy p{color:var(--muted);font-size:.98rem;max-width:600px}
.ed-dropcap:first-letter{font-family:var(--display);font-size:3.4rem;font-weight:500;color:var(--accent);float:left;line-height:.82;padding:6px 8px 0 0}
.ed-about-fields{display:flex;gap:0;margin-top:30px;flex-wrap:wrap}
.ed-about-fields>div{padding:0 30px 0 0;margin-right:30px;border-right:1px solid var(--line)}
.ed-about-fields>div:last-child{border-right:0}
.ed-about-fields dt{font-family:var(--body);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}
.ed-about-fields dd{font-family:var(--display);font-size:1.7rem;font-weight:500;color:var(--ink);margin:6px 0 0}

/* ===== COMPARATEUR (SIMULATEUR TABBED WIDGET) — editorial idiom: hairlines
   only, zero shadow/radius, sober ink/paper contrast instead of a dark
   panel. ===== */
.ed-tool{padding:90px 0;border-top:1px solid var(--line)}
.simulateur-source{font-size:.8rem;color:var(--muted);margin-top:8px;max-width:640px}
.simulateur-card{margin-top:32px;border-top:1px solid var(--ink)}
.simulateur-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line)}
.simulateur-tab{border:0;background:none;padding:16px 22px 16px 0;margin-right:26px;font-family:var(--body);font-weight:600;font-size:.86rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:.15s;display:flex;align-items:baseline;gap:8px}
.simulateur-tab small{font-family:var(--body);font-weight:400;font-size:.7rem;opacity:.7}
.simulateur-tab:hover{color:var(--ink)}
.simulateur-tab.is-active{color:var(--accent);border-color:var(--accent)}
.simulateur-panels{padding:36px 0 0}
.simulateur-panel{display:none}
.simulateur-panel.is-active{display:block}
.simulateur-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px}
.simulateur-panel-head h3{font-size:1.5rem;margin:0;color:var(--ink);font-weight:500}
.simulateur-panel-head span{font-family:var(--body);font-size:.76rem;color:var(--muted)}
/* variant 2 (used): big-number stat-cluster grid */
.cmp-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px}
.cmp-stat-cell{padding:18px 24px 20px 0;border-left:1px solid var(--line)}
.cmp-stat-cell:first-child{border-left:0;padding-left:0}
.cmp-stat-num-row{display:flex;align-items:baseline;gap:3px}
.cmp-stat-num{font-family:var(--display);font-size:2.6rem;font-weight:500;color:var(--accent);line-height:1}
.cmp-stat-suffix{font-family:var(--body);font-size:.72rem;color:var(--muted)}
.cmp-stat-label{margin:12px 0 0;font-size:.82rem;color:var(--muted);line-height:1.4}
/* variant 0 (unused this site, kept for completeness): ring gauges */
.gauge-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px}
.gauge{display:flex;flex-direction:column;align-items:flex-start;padding:0 24px 0 0;border-left:1px solid var(--line)}
.gauge:first-child{border-left:0;padding-left:0}
.gauge-ring{width:64px;height:64px}
.gauge-ring-track{fill:none;stroke:var(--line);stroke-width:2}
.gauge-ring-fill{fill:none;stroke:var(--accent);stroke-width:2;stroke-dashoffset:213.6;transform:rotate(-90deg);transform-origin:40px 40px;transition:stroke-dashoffset 1.1s ease-out}
.gauge-top{display:flex;align-items:baseline;gap:2px;margin-top:10px}
.gauge-top b{font-family:var(--display);font-size:1.5rem;font-weight:500;color:var(--ink)}
.gauge-top span{font-size:.72rem;color:var(--muted)}
.gauge-label{margin:8px 0 0;font-size:.78rem;color:var(--muted)}
/* variant 1 (unused this site): horizontal bars */
.cmp-bar-list{display:flex;flex-direction:column;gap:20px;margin-top:28px}
.cmp-bar-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.cmp-bar-label{font-family:var(--body);font-size:.8rem;color:var(--muted);font-weight:600}
.cmp-bar-num{font-family:var(--display);font-size:1.3rem;font-weight:500;color:var(--ink)}
.cmp-bar-track{height:2px;background:var(--line);position:relative}
.cmp-bar-fill{display:block;position:absolute;inset:0;height:100%;width:0;background:var(--accent);transition:width 1.1s linear}
/* variant 3 (unused this site): comparison matrix */
.cmp-matrix-card{border-top:1px solid var(--ink)}
.cmp-matrix-scroll{overflow-x:auto}
.cmp-matrix{width:100%;border-collapse:collapse;min-width:640px}
.cmp-matrix th,.cmp-matrix td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.cmp-matrix-corner{min-width:170px}
.cmp-matrix-th-name{display:block;font-family:var(--display);font-size:1rem;color:var(--ink)}
.cmp-matrix thead th small{display:block;margin-top:4px;font-family:var(--body);font-size:.62rem;font-weight:400;color:var(--muted);white-space:normal;max-width:170px}
.cmp-matrix tbody th{font-family:var(--body);font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}
.cmp-matrix-bar{display:flex;align-items:center;gap:10px;min-width:120px}
.cmp-matrix-bar-track{flex:1;height:2px;background:var(--line);overflow:hidden;display:block}
.cmp-matrix-bar-fill{display:block;height:100%;width:0;background:var(--accent);transition:width 1.1s linear}
.cmp-matrix-num{font-family:var(--body);font-size:.76rem;font-weight:600;color:var(--ink);min-width:26px;text-align:right}

/* ===== CATEGORY SECTIONS — shared heading ===== */
.ed-cat{padding:90px 0;border-top:1px solid var(--line)}
.ed-cat--tint{background:#F3EEE3}
.ed-cat-heading{display:flex;gap:20px;align-items:flex-start;max-width:760px;flex-wrap:wrap}
.ed-cat-icon{flex:none;width:40px;height:40px;color:var(--accent)}
.ed-cat-icon svg{width:100%;height:100%}
.ed-cat-heading h2{font-size:clamp(1.7rem,2.5vw,2.2rem);margin:10px 0 8px}
.ed-cat-heading p{color:var(--muted);font-size:.92rem;margin:0;max-width:520px}
.ed-cat-heading .ed-link{margin-left:auto;align-self:center}

/* variant 0 — masthead strip: full-width rule-bordered banner, dense
   multi-column list below with vertical hairline dividers, no thumbnails */
.ed-cat-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper)}
.ed-cat--tint .ed-cat-strip{background:#F3EEE3}
.ed-cat-strip-in{display:flex;align-items:center;gap:22px;padding:30px 0;flex-wrap:wrap}
.ed-cat-strip-in h2{margin:0;font-size:1.7rem;flex:none}
.ed-cat-strip-in .eyebrow{margin:0;border:0;padding:0}
.ed-cat-strip-in p{margin:0;color:var(--muted);font-size:.88rem;flex:1;min-width:220px}
.ed-cat-strip-in .ed-link{flex:none}
.ed-cat-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0}
.ed-cat-col-item{display:flex;gap:14px;padding:26px 24px 26px 0;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.ed-cat-col-item:nth-child(3n+1){border-left:0;padding-left:0}
.ed-cat-col-item:nth-child(-n+3){border-top:0}
.ed-cat-col-item i{font-family:var(--display);font-style:normal;color:var(--accent);font-size:.85rem;flex:none}
.ed-cat-col-item small{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ed-cat-col-item h3{font-size:1rem;margin:8px 0 0;font-weight:500;line-height:1.35}
.ed-cat-col-item:hover h3{text-decoration:underline;text-underline-offset:3px}

/* variant 1 — pull-quote led: large italic serif pull-quote, 2-col
   text-only list below */
.ed-pullquote{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.4;color:var(--ink);max-width:900px;margin:34px 0;padding:0}
.ed-cat-textlist{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:20px}
.ed-cat-textlist-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.ed-cat-textlist-date{font-size:.72rem;color:var(--muted);flex:none;padding-top:2px}
.ed-cat-textlist-title{font-size:.94rem;font-weight:500;text-align:right}
.ed-cat-textlist-row:hover .ed-cat-textlist-title{text-decoration:underline;text-underline-offset:3px}

/* variant 2 — contents page: print TOC with dotted leader line */
.ed-toc{margin-top:30px}
.ed-toc-row{display:flex;align-items:baseline;gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.ed-toc-num{font-family:var(--display);color:var(--accent);font-size:.85rem;flex:none;width:26px}
.ed-toc-title{font-size:.98rem;font-weight:500;white-space:nowrap}
.ed-toc-leader{flex:1;border-bottom:1px dotted var(--muted);margin:0 4px;transform:translateY(-4px)}
.ed-toc-date{font-size:.74rem;color:var(--muted);flex:none}
.ed-toc-row:hover .ed-toc-title{color:var(--accent)}

/* variant 3 — marginalia: wide lead column w/ drop-cap excerpt + slim
   right sidebar list, single vertical hairline divider */
.ed-marginalia{display:grid;grid-template-columns:1fr 280px;gap:60px;margin-top:30px;align-items:start}
.ed-marginalia-lead{display:block}
.ed-marginalia-photo{display:block;margin-bottom:20px;overflow:hidden}
.ed-marginalia-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.ed-marginalia-lead small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ed-marginalia-lead h3{font-size:1.6rem;margin:10px 0 14px;font-weight:500}
.ed-marginalia-lead p{color:var(--muted);font-size:.96rem;margin:0}
.ed-marginalia-lead:hover h3{text-decoration:underline;text-underline-offset:4px}
.ed-marginalia-side{border-left:1px solid var(--line);padding-left:28px}
.ed-marginalia-side-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px}
.ed-marginalia-side-row{display:block;font-size:.86rem;padding:12px 0;border-top:1px solid var(--line)}
.ed-marginalia-side-row:first-of-type{border-top:0}
.ed-marginalia-side-row:hover{color:var(--accent)}

/* ===== IMAGE / TEXT BLOCKS ===== */
.ed-it{padding:90px 0;border-top:1px solid var(--line)}
.ed-it-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ed-it--imgright .ed-it-grid{direction:rtl}.ed-it--imgright .ed-it-grid>*{direction:ltr}
.ed-it-copy h2{font-size:clamp(1.7rem,2.7vw,2.2rem);margin:14px 0 16px;max-width:480px}
.ed-it-copy p{color:var(--muted);font-size:.94rem;max-width:480px;margin:0 0 20px}
.ed-it-photo img{width:100%;object-fit:cover;aspect-ratio:5/4;border:1px solid var(--line)}

/* ===== TIMELINE — variant 1 (used): vertical zigzag spine, editorial idiom ===== */
.ed-timeline{padding:90px 0;border-top:1px solid var(--line)}
.tl-zigzag{position:relative;max-width:880px;margin:0 auto;padding:10px 0}
.tl-zigzag-spine{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line);transform:translateX(-50%)}
.tl-zigzag-item{position:relative;display:grid;grid-template-columns:1fr 56px 1fr;align-items:start;gap:0 24px;margin-bottom:36px}
.tl-zigzag-item:last-child{margin-bottom:0}
.tl-zigzag-dot{grid-column:2;justify-self:center;width:14px;height:14px;margin-top:6px;border:1px solid var(--accent);border-radius:50%;background:var(--paper);display:grid;place-items:center;z-index:1}
.tl-zigzag-dot span{display:none}
.tl-zigzag-card{grid-row:1;padding:0}
.tl-zigzag-year{display:block;font-family:var(--display);font-size:.86rem;color:var(--accent);margin-bottom:6px}
.tl-zigzag-card h3{font-size:1.05rem;margin:0 0 8px;color:var(--ink);font-weight:500}
.tl-zigzag-card p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.6}
.tl-zigzag-item--l .tl-zigzag-card{grid-column:1;text-align:right}
.tl-zigzag-item--r .tl-zigzag-card{grid-column:3}
/* variant 0 (unused): horizontal scroll cards */
[data-hscroll]{position:relative}
[data-hscroll]::before,[data-hscroll]::after{content:"";position:absolute;top:0;bottom:18px;width:56px;pointer-events:none;z-index:3;opacity:0;transition:opacity .25s linear}
[data-hscroll]::before{left:0;background:linear-gradient(90deg,var(--paper) 15%,transparent)}
[data-hscroll]::after{right:0;background:linear-gradient(270deg,var(--paper) 15%,transparent)}
[data-hscroll].is-scrolled::before{opacity:1}
[data-hscroll]:not(.is-end)::after{opacity:1}
.timeline-row{display:flex;gap:0;overflow-x:auto;padding:8px 0 18px;scroll-snap-type:x mandatory}
.timeline-card{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 250px;border-left:1px solid var(--line);padding:0 24px}
.timeline-card b{display:block;font-family:var(--display);font-size:1.5rem;color:var(--accent);margin-bottom:8px}
.timeline-card h3{font-size:.95rem;margin:0 0 8px;font-weight:500}
.timeline-card p{font-size:.8rem;color:var(--muted);margin:0}
/* variant 2 (unused): compact axis */
.tl-axis-viewport{position:relative}
.tl-axis-scroll{overflow-x:auto;scroll-snap-type:x mandatory}
.tl-axis{position:relative;display:flex;align-items:center;width:max-content;padding:130px 30px}
.tl-axis::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.tl-axis-item{position:relative;flex:0 0 170px;scroll-snap-align:center;scroll-snap-stop:always;display:flex;justify-content:center}
.tl-axis-stem{position:absolute;left:50%;width:1px;background:var(--line);transform:translateX(-50%)}
.tl-axis-item--up .tl-axis-stem{bottom:50%;height:44px}
.tl-axis-item--down .tl-axis-stem{top:50%;height:44px}
.tl-axis-dot{position:absolute;left:50%;top:50%;width:8px;height:8px;border:1px solid var(--accent);border-radius:50%;background:var(--paper);transform:translate(-50%,-50%);z-index:1}
.tl-axis-label{position:absolute;left:50%;width:170px;transform:translateX(-50%);text-align:center;padding:0 8px}
.tl-axis-item--up .tl-axis-label{bottom:calc(50% + 44px)}
.tl-axis-item--down .tl-axis-label{top:calc(50% + 44px)}
.tl-axis-label b{display:block;font-family:var(--display);font-size:1.2rem;color:var(--accent);margin-bottom:6px}
.tl-axis-label h3{font-size:.8rem;margin:0 0 6px;font-weight:500}
.tl-axis-label p{font-size:.68rem;color:var(--muted);margin:0}

/* ===== QUIZ ===== */
.ed-quiz{padding:90px 0;border-top:1px solid var(--line)}
.quiz-card{margin-top:32px;border-top:1px solid var(--ink);padding:36px 0 0;max-width:760px;margin-left:auto;margin-right:auto}
.quiz-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-family:var(--body);font-size:.72rem;color:var(--muted)}
.quiz-progress-track{flex:1;height:1px;background:var(--line);margin:0 16px}
.quiz-progress-fill{height:100%;width:0;background:var(--accent);transition:width .3s linear}
.quiz-question{font-size:1.3rem;margin:0 0 22px;font-weight:500;font-family:var(--display)}
.quiz-options{display:grid;gap:10px}
.quiz-option{text-align:left;padding:14px 18px;border:1px solid var(--line);background:var(--paper);font-family:var(--body);font-size:.9rem;font-weight:500;color:var(--ink);cursor:pointer;transition:.15s}
.quiz-option:hover{border-color:var(--accent)}
.quiz-option.is-correct{background:var(--accent);border-color:var(--accent);color:#fff}
.quiz-option.is-wrong{background:#8a3a2c;border-color:#8a3a2c;color:#fff}
.quiz-option[disabled]{cursor:default}
.quiz-result{display:none;text-align:center}
.quiz-result.is-active{display:block}
.quiz-result b{display:block;font-family:var(--display);font-size:2.4rem;color:var(--accent);margin-bottom:8px;font-weight:500}
.quiz-result p{color:var(--muted);font-size:.92rem;margin:0 0 20px}
.quiz-restart{border:1px solid var(--ink);background:none;color:var(--ink);padding:12px 24px;font-family:var(--body);font-weight:600;font-size:.8rem;cursor:pointer}
.quiz-restart:hover{border-color:var(--accent);color:var(--accent)}

/* ===== TESTIMONIALS — hairline strip, no cards/shadows ===== */
.ed-marquee{padding:90px 0 100px;border-top:1px solid var(--line);overflow:hidden}
.ed-marquee-track{display:flex;gap:0;width:max-content;animation:ed-marquee 50s linear infinite}
.ed-marquee-track:hover{animation-play-state:paused}
@keyframes ed-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ed-marquee-card{flex:0 0 380px;border-left:1px solid var(--line);padding:0 32px}
.ed-marquee-card p{font-family:var(--display);font-style:italic;font-size:1.02rem;line-height:1.6;margin:0 0 16px;color:var(--ink)}
.ed-marquee-card cite{font-style:normal;display:flex;flex-direction:column;gap:2px}
.ed-marquee-card cite b{font-size:.82rem;font-family:var(--body);font-weight:600}
.ed-marquee-card cite span{font-size:.7rem;color:var(--muted)}

/* ===== NEWSLETTER ===== */
.ed-cli{padding:70px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:0 auto 90px}
.ed-cli-in{display:flex;justify-content:space-between;align-items:center;gap:50px}
.ed-cli-in span{font-family:var(--body);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:600}
.ed-cli-in h2{font-size:2rem;margin:10px 0;font-weight:500}
.ed-cli-in p{font-size:.85rem;color:var(--muted);max-width:420px}
.ed-cli-form{display:flex;align-items:center;border-bottom:1px solid var(--ink);padding:4px 0;min-width:380px}
.ed-cli-form input{border:0;background:none;padding:12px 4px;flex:1;color:var(--ink);font-size:.9rem;font-family:var(--body)}
.ed-cli-form input::placeholder{color:var(--muted)}
.ed-cli-form button{border:0;background:none;color:var(--accent);font-weight:600;padding:12px 4px;font-family:var(--body);font-size:.82rem;cursor:pointer}
.ed-cli-form button:hover{opacity:.6}

/* ===== ARCHIVE + ARTICLE PAGES ===== */
.archive-hero,.article-head{padding:60px 0 66px;background:var(--paper);border-bottom:1px solid var(--line)}
.article-tag{display:inline-block;font-family:var(--body);font-size:.68rem;color:var(--muted);padding:0 0 8px;margin-bottom:16px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.archive-hero nav,.article-head nav{display:flex;gap:8px;font-size:.76rem;color:var(--muted);margin-bottom:26px}
.archive-hero .wrap{position:relative}
.archive-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:14px 0 20px;max-width:900px;font-weight:500}
.archive-hero p{max-width:700px;color:var(--muted)}
.archive-count{margin-top:26px;display:flex;align-items:center;gap:14px}
.archive-count b{font-family:var(--display);font-size:2rem;font-weight:500;color:var(--accent)}.archive-count span{font-size:.72rem;color:var(--muted)}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.archive-card{display:block;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:26px 26px 30px}
.archive-card:nth-child(3n+1){border-left:0}
.archive-card:nth-child(-n+3){border-top:0}
.archive-card--large{grid-column:span 2}
.story-art{min-height:180px;position:relative;display:block;overflow:hidden;margin-bottom:16px}
.story-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border:1px solid var(--line)}
.story-art i{display:none}
.archive-card .story-art{height:170px}.archive-card--large .story-art{height:260px}
.archive-card h3{font-size:1.2rem;margin:9px 0;font-weight:500}.archive-card--large h3{font-size:1.6rem}
.archive-card p{font-size:.82rem;color:var(--muted)}
.archive-card small{font-family:var(--body);font-size:.66rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.archive-card b{font-family:var(--body);font-size:.8rem;font-weight:600;color:var(--accent)}
.archive-cta{padding:60px 0;border-top:1px solid var(--line)}
.archive-cta>div{display:flex;justify-content:space-between;align-items:center;gap:40px}
.archive-cta span{font-family:var(--body);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--muted)}
.archive-cta h2{font-size:1.9rem;margin:10px 0;font-weight:500}
.archive-cta a{font-family:var(--body);font-size:.82rem;font-weight:600;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:3px}

.article-head-grid{display:grid;grid-template-columns:1fr 280px;gap:60px;align-items:end}
.article-head h1{font-size:clamp(2.1rem,4.6vw,3.4rem);margin:10px 0 20px;font-weight:500}
.article-head-grid>div>p{max-width:800px;font-size:1.02rem;color:var(--muted)}
.article-meta{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap}
.article-meta span{font-size:.76rem;color:var(--muted)}
.article-meta i{font-style:normal;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;margin-right:6px}
.article-head aside{padding:0;border-left:1px solid var(--line);padding-left:22px}
.article-head aside>span,.article-sidebar>span{font-family:var(--body);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}
.article-head aside ul{list-style:none;padding:0;margin:14px 0 0}
.article-head aside li{padding:9px 0;border-top:1px solid var(--line);font-size:.76rem;position:relative}
.article-layout{display:grid;grid-template-columns:220px minmax(0,720px);gap:64px;justify-content:center;align-items:start;padding-top:60px;padding-bottom:100px}
.article-sidebar{position:sticky;top:96px;padding:0 0 0 0;border-left:1px solid var(--line);padding-left:20px}
.article-sidebar a{display:grid;grid-template-columns:24px 1fr;gap:6px;padding:9px 0;border-top:1px solid var(--line);font-size:.72rem}
.article-sidebar a:first-of-type{border-top:0}
.article-sidebar i{font-family:var(--display);font-style:normal;color:var(--accent)}
.article-content{font-family:var(--body);font-size:1.05rem;line-height:1.85}
.article-content h2{font-family:var(--display);font-size:1.9rem;font-weight:500;margin:50px 0 18px;scroll-margin-top:110px}
.article-content h3{font-family:var(--display);font-size:1.3rem;margin-top:30px;font-weight:500}
.article-content h4{font-size:1.1rem;margin-top:24px;font-weight:600;font-family:var(--body)}
.article-content p{margin:0 0 22px}
.article-content li{margin:8px 0}
.article-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.article-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.86rem;font-family:var(--body);border-top:1px solid var(--ink)}
.article-content th,.article-content td{border-bottom:1px solid var(--line);padding:11px 13px;text-align:left}
.article-content th{font-family:var(--body);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.article-content blockquote{margin:30px 0;padding:0 0 0 22px;border-left:2px solid var(--ink);font-family:var(--display);font-style:italic;font-size:1.15rem;line-height:1.5}
.article-note{margin:44px 0;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.article-note span{font-family:var(--body);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.article-note p{font-family:var(--body);font-size:.86rem;margin:10px 0 0;color:var(--muted)}
.checklist{padding:0;margin-top:28px}
.checklist h3{margin-top:0;font-family:var(--body);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.checklist ul{list-style:none;padding:0}
.checklist li{font-family:var(--body);font-size:.82rem;border-top:1px solid var(--line);padding:11px 0;margin:0}
.related{border-top:1px solid var(--line)}
.simple-page header{padding:64px 0;border-bottom:1px solid var(--line)}
.simple-page h1{font-size:2.6rem;margin:12px 0;font-weight:500}
.simple-content{max-width:820px;padding-top:60px;padding-bottom:90px}
.simple-content h2{font-family:var(--display);font-size:1.9rem;margin-top:44px;font-weight:500}
.simple-content p{font-size:.96rem;color:var(--muted)}
.error-page{min-height:65vh;display:grid;place-items:center;text-align:center}
.error-page>div>span{font-family:var(--display);font-size:4.5rem;color:var(--accent);font-weight:500}
.error-page h1{font-size:2rem;font-weight:500}

/* ===== FAQ ACCORDION ===== */
.faq-block{margin:50px 0 34px;padding:30px 0 0;border-top:1px solid var(--ink)}
.faq-block>h2{margin-top:0!important}
.faq-list{display:flex;flex-direction:column;gap:0;margin-top:20px}
.faq-item{border-top:1px solid var(--line);padding:0;overflow:hidden}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-family:var(--display);font-weight:500;font-size:1.02rem;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-caret{flex:none;width:20px;height:20px;color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:400;font-size:1.2rem;transition:transform .2s linear}
.faq-item[open] .faq-caret{transform:rotate(45deg)}
.faq-answer{padding:0 0 20px;font-size:.94rem;line-height:1.7;color:var(--muted)}
.faq-answer p{margin:0}

/* ===== RESPONSIVE ===== */
@media(max-width:1050px){
.main-menu{display:none}.menu-toggle{display:block}.site-header.open{flex-wrap:wrap;padding-bottom:18px}.site-header.open .main-menu{display:grid;grid-template-columns:repeat(2,1fr);order:3;width:100%;padding:15px 0}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.ed-hero-grid{grid-template-columns:1fr;gap:40px}.ed-hero-sommaire{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:26px}
.ed-about-grid{grid-template-columns:1fr;gap:40px}
.cmp-stat-grid{grid-template-columns:repeat(2,1fr);gap:20px 0}
.gauge-row{grid-template-columns:repeat(2,1fr);gap:20px 0}
.ed-cat-columns{grid-template-columns:1fr 1fr}
.ed-cat-textlist{grid-template-columns:1fr}
.ed-marginalia{grid-template-columns:1fr;gap:30px}.ed-marginalia-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:20px}
.ed-it-grid{grid-template-columns:1fr}.ed-it--imgright .ed-it-grid{direction:ltr}
.article-layout{grid-template-columns:190px minmax(0,620px);gap:40px}
.article-head-grid{grid-template-columns:1fr}
.archive-grid{grid-template-columns:1fr 1fr}
.archive-card:nth-child(3n+1){border-left:1px solid var(--line)}
.archive-card:nth-child(odd){border-left:0}
.archive-card:nth-child(-n+2){border-top:0}
.quiz-card{padding-top:30px}
}
@media(max-width:700px){
.wrap{width:calc(100% - 28px)}
.site-header{min-height:60px;padding:0 14px}.brand{min-width:0}
.section{padding:60px 0}.section-head{display:block}.section-head h1,.section-head h2{font-size:2rem}.section-head>p{font-size:.8rem}
.ed-masthead-row{flex-direction:column;gap:6px;text-align:center}
.ed-masthead-meta,.ed-masthead-meta:last-child{text-align:center}
.ed-hero{padding:40px 0 0}
.ed-hero-photo img{aspect-ratio:4/3.4}
.ed-about{padding:50px 0}
.cmp-stat-grid{grid-template-columns:1fr 1fr}
.ed-tool{padding:50px 0}
.ed-cat{padding:50px 0}
.ed-cat-columns{grid-template-columns:1fr}
.ed-cat-col-item{border-left:0!important;padding-left:0!important}
.ed-it{padding:50px 0}
.ed-timeline{padding:50px 0}.tl-zigzag-item{grid-template-columns:1fr 40px 1fr;gap:0 12px}
.ed-quiz{padding:50px 0}.quiz-question{font-size:1.1rem}
.ed-marquee{padding:50px 0}.ed-marquee-card{flex-basis:280px}
.ed-cli{margin-bottom:60px}.ed-cli-in{display:block}.ed-cli-form{min-width:0;margin-top:20px}
.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-partners ul{columns:1}.footer-bottom{display:block}
.archive-hero h1{font-size:2rem}.archive-grid{grid-template-columns:1fr}.archive-card--large{grid-column:auto}.archive-card{border-left:0!important;border-top:1px solid var(--line)!important}.archive-card:first-child{border-top:0!important}
.archive-cta>div{display:block}.archive-cta h2{font-size:1.7rem}
.article-head h1{font-size:2rem}.article-head-grid>div>p{font-size:.94rem}
.article-layout{display:block;padding-top:36px;padding-bottom:60px}.article-sidebar{position:static;margin-bottom:28px;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}
.article-content{font-size:1rem}.article-content h2{font-size:1.6rem}
.simple-page h1{font-size:2.1rem}
}
