@font-face{
  font-family:'Inter';
  src:url('assets/fonts/inter-variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  font-optical-sizing:auto;
}
@font-face{
  font-family:'Inter';
  src:url('assets/fonts/inter-italic-variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:italic;
  font-display:swap;
  font-optical-sizing:auto;
}
@font-face{
  font-family:'Fraunces';
  src:url('assets/fonts/fraunces-variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  font-optical-sizing:auto;
}
@font-face{
  font-family:'Fraunces';
  src:url('assets/fonts/fraunces-italic-variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:italic;
  font-display:swap;
  font-optical-sizing:auto;
}

:root{
  --navy:#081C48;
  --navy-deep:#041430;
  --navy-mid:#103878;
  --ink:#12182A;
  --muted:#4A5160;
  --paper:#FFFFFF;
  --cream:#F7F1E8;
  --mist:#F3F4F7;
  --line:#E2E4EA;
  --gold:#B88844;
  --gold-text:#8A6220;
  --gold-soft:#F6EFE0;
  --gold-on-dark:#D4A85C;
  --red:#C80C18;
  --red-deep:#A50A14;
  --shadow:0 10px 36px rgba(8,28,72,.08);
  --radius:10px;
  --wrap:1240px;
  --font-sans:'Inter',system-ui,'Helvetica Neue',Arial,sans-serif;
  --font-serif:'Fraunces','Source Serif Pro',Georgia,serif;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:72px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font:18px/1.6 var(--font-sans);
  font-weight:400;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--navy-mid)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block;height:auto}
p{margin:0 0 1em}
h1,h2,h3,h4,.serif{
  font-family:var(--font-serif);
  font-weight:550;
  font-variation-settings:"SOFT" 0,"WONK" 0;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--navy);
}
h1{font-size:clamp(2.2rem,5vw,3.75rem);margin:0 0 16px}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem);margin:0 0 20px}
h3{font-size:1.35rem;margin:0 0 8px}
h4{font-size:1.15rem;margin:0 0 8px}

.skip-link{
  position:absolute;
  left:16px;top:-80px;
  z-index:200;
  background:var(--navy);
  color:#fff;
  padding:10px 16px;
  border-radius:4px;
  font-weight:700;
  font-size:.9rem;
}
.skip-link:focus{top:12px;color:#fff}

.wrap{max-width:var(--wrap);margin:auto;padding:0 28px}
.eyebrow{
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-text);
  font-weight:700;
}
.lead{font-size:1.12rem;line-height:1.65;max-width:680px;color:var(--muted)}
.small{font-size:.85rem}
.muted{color:var(--muted)}
.strong{font-weight:700}
.line{height:1px;background:var(--line);margin:24px 0}
.goldline{width:48px;height:3px;background:var(--gold);margin:16px 0 22px}
.caps{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

.pill{display:inline-flex;gap:7px;align-items:center;border-radius:99px;background:var(--mist);color:var(--navy);padding:6px 12px;font-size:.72rem;font-weight:700}
.pill.gold{background:var(--gold-soft);color:var(--gold-text)}
.pill.warn{background:#F8ECEC;color:var(--red-deep)}
.pill.outline{border:1px solid var(--line);background:#fff}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 20px;border-radius:6px;
  border:1px solid var(--navy);background:var(--navy);color:#fff;
  font-size:.9rem;font-weight:700;letter-spacing:.01em;
  transition:background .15s ease,transform .15s ease,color .15s ease,border-color .15s ease;
  white-space:nowrap;
}
.btn:hover{background:var(--navy-mid);border-color:var(--navy-mid);color:#fff}
.btn.alt{background:transparent;color:var(--navy);border-color:#C5C9D4}
.btn.alt:hover{background:var(--cream);color:var(--navy);border-color:var(--navy)}
.btn.goldbtn{background:var(--gold-text);border-color:var(--gold-text);color:#fff}
.btn.goldbtn:hover{background:#6F4E18;border-color:#6F4E18;color:#fff}

.link{color:var(--gold-text);text-underline-offset:3px;text-decoration:underline;font-size:.9rem;font-weight:650}
.link:hover{text-decoration:none;color:var(--navy)}

.section{padding:var(--space-8) 0}
.section.soft{background:var(--cream)}
.section.dark{background:var(--navy);color:white}
.section.dark h1,.section.dark h2,.section.dark h3{color:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}
.section-head h2{margin:0}

.grid{display:grid;gap:20px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.portals{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.cardpad{padding:24px}
.card-title{font-size:1.35rem;font-family:var(--font-serif);line-height:1.2;margin:3px 0 10px}
.meta{font-size:.78rem;color:var(--muted)}
.card-foot{border-top:1px solid var(--line);padding:14px 23px;display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.79rem}

/* Header */
.sitehead{background:#fff;position:relative;z-index:30;border-bottom:1px solid var(--line)}
.topbar{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto}
.logo img{width:48px;height:54px;object-fit:contain;flex-shrink:0}
.logo .logo-word{width:auto;height:28px;max-width:200px}
.utility{display:flex;align-items:center;gap:16px;font-size:.78rem}
.langset{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:6px;padding:2px}
.langset button{padding:6px 10px;background:transparent;border:0;color:var(--muted);border-radius:4px;font-weight:600;font-size:.75rem}
.langset button.active{background:var(--navy);color:#fff;font-weight:700}
.langset button:hover:not(.active){color:var(--navy)}
.navline{border-top:1px solid var(--line);background:#fff}
.nav-inner{display:flex;align-items:stretch;height:52px;gap:4px}
.nav-inner a{
  font-weight:600;font-size:.86rem;color:var(--navy);
  white-space:nowrap;display:flex;align-items:center;
  padding:0 12px;border-bottom:2px solid transparent;height:100%;
}
.nav-inner a:hover,.nav-inner a.active{border-bottom-color:var(--red);color:var(--navy);background:transparent}
.nav-inner a.active{font-weight:800}
.mobile-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:6px;width:44px;height:44px;padding:0;position:relative}
.menu-icon,.menu-icon:before,.menu-icon:after{
  display:block;width:18px;height:2px;background:var(--navy);border-radius:1px;position:absolute;left:12px;
}
.menu-icon{top:21px}
.menu-icon:before,.menu-icon:after{content:'';left:0}
.menu-icon:before{top:-6px}
.menu-icon:after{top:6px}
.mobile-toggle[aria-expanded="true"] .menu-icon{background:transparent}
.mobile-toggle[aria-expanded="true"] .menu-icon:before{top:0;transform:rotate(45deg)}
.mobile-toggle[aria-expanded="true"] .menu-icon:after{top:0;transform:rotate(-45deg)}
.header-independent{font-size:.75rem;color:var(--muted);letter-spacing:.02em}
.nav-backdrop{display:none}
.nav-lang{display:none}

/* Hero */
.hero{background:var(--cream);overflow:hidden}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:620px;max-width:1600px;margin:auto}
.hero-copy{padding:64px max(36px, calc((100vw - 1180px)/2)) 48px;display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{max-width:640px;color:var(--navy)}
.brand-kreyol{
  font-family:var(--font-serif);
  font-weight:550;
  font-variation-settings:"SOFT" 0,"WONK" 0;
  font-size:clamp(1.35rem,2.6vw,1.85rem);
  line-height:1.3;
  margin:0 0 6px;
}
.brand-kreyol .k-navy{color:var(--navy)}
.brand-kreyol .k-gold{color:var(--gold-text)}
.brand-kreyol .k-red{color:var(--red)}
.brand-kreyol span{white-space:nowrap;display:inline-block}
.brand-mission{margin:0 0 18px;font-size:1.02rem;color:var(--navy);font-weight:600}
.hero-copy .lead{max-width:560px}
.hero-photo{position:relative;min-height:620px;overflow:hidden;background:var(--navy-deep)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;position:relative;z-index:1}
.hero-photo:after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,28,72,.12),transparent 40%),linear-gradient(0deg,rgba(8,28,72,.45),transparent 42%);
}
.photo-credit{position:absolute;bottom:16px;right:16px;color:#fff;z-index:2;font-size:.66rem;text-shadow:0 1px 3px rgba(8,28,72,.8)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero-fallback{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  padding:55px 55px 80px;color:#fff;
  background:radial-gradient(circle at 80% 25%,rgba(212,168,92,.18),transparent 38%),linear-gradient(145deg,#041430,#081C48 55%,#103878);
  z-index:0;
}
.hero-fallback .fallback-kicker{color:var(--gold-on-dark);font-weight:800;letter-spacing:.2em;font-size:.76rem}
.hero-fallback strong{font:550 clamp(2.8rem,5vw,5.4rem)/.98 var(--font-serif);font-variation-settings:"SOFT" 0,"WONK" 0;letter-spacing:-.03em;margin:24px 0}
.hero-fallback .fallback-rule{display:block;height:2px;width:72px;background:var(--gold);margin-bottom:20px}
.hero-fallback em{font:italic 1.15rem var(--font-serif);color:#F6EFE0}

.countdown{border-top:1px solid #E3D9C8;margin-top:36px;padding-top:20px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.countdown-label{max-width:180px;font-family:var(--font-serif);font-size:1.15rem;line-height:1.25;color:var(--navy)}
.timeboxes{display:flex;gap:6px}
.tbox{min-width:64px;text-align:center;border:1px solid #E3D9C8;padding:8px 6px 6px;background:#fff;border-radius:6px}
.tbox b{font:550 1.55rem/1.2 var(--font-serif);color:var(--navy);display:block;font-variant-numeric:tabular-nums}
.tbox span{font-size:.58rem;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;font-weight:700}

.ticker{background:var(--navy);color:#fff;border:0}
.ticker-inner{padding:14px 28px;display:flex;align-items:center;gap:18px;font-size:.84rem}
.ticker strong{color:var(--gold-on-dark);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}
.ticker span{color:#E8EAF0}
.ticker a{text-decoration:underline;text-underline-offset:3px;margin-left:auto;white-space:nowrap;font-weight:700;color:#fff}
.ticker a:hover{color:var(--gold-on-dark)}

.feature{
  display:flex;gap:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;min-height:140px;align-items:flex-start;transition:border-color .15s,box-shadow .15s,transform .15s;
}
.feature:hover{border-color:var(--navy);box-shadow:var(--shadow);color:inherit;transform:translateY(-2px)}
.feature .symbol{font-size:1rem;line-height:1;color:var(--gold-text);width:32px;font-weight:800;letter-spacing:.04em;padding-top:4px}
.feature h3{font-family:var(--font-serif);font-size:1.2rem;margin:0 0 6px;color:var(--navy)}
.feature p{font-size:.84rem;color:var(--muted);margin:0;line-height:1.45}
.feature-go{margin-left:auto;color:var(--red);font-weight:700;padding-top:4px}

.banner{background:var(--navy);color:white;padding:40px 0}
.banner .bannerrow{display:flex;justify-content:space-between;gap:20px;align-items:center}
.banner .serif{font-size:clamp(1.4rem,2.5vw,1.9rem);color:#fff}

.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.pullquote{font:italic 1.7rem/1.35 var(--font-serif);font-variation-settings:"SOFT" 0,"WONK" 0;border-left:3px solid var(--gold);padding:4px 0 4px 24px;color:var(--navy)}
.storylink{display:flex;align-items:flex-start;gap:18px;border-top:1px solid var(--line);padding:18px 0}
.storylink .number{font:550 1.45rem var(--font-serif);color:var(--gold-text);min-width:48px}
.storylink p{margin:2px 0;font-size:.86rem;color:var(--muted)}
.cta-panel{background:var(--gold-soft);padding:32px;border-radius:var(--radius)}

/* Footer */
.footer{background:var(--navy-deep);color:#D5D8E2;padding:56px 0 24px}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:36px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.footer-brand img{width:48px;height:54px;object-fit:contain}
.footer h3{font:550 1.8rem var(--font-serif);color:#fff;margin:0}
.footer .footer-tagline{margin:0 0 8px;font-size:.95rem}
.footer .footer-tagline .k-navy{color:#fff}
.footer .footer-tagline .k-gold{color:var(--gold-on-dark)}
.footer .footer-tagline .k-red{color:#F06A70}
.footer .footer-mission{margin:0 0 14px;font-weight:600;color:#fff}
.footer .independence{color:#C5C9D6;max-width:460px;font-size:.9rem;margin:0;line-height:1.55}
.footer .eyebrow{color:var(--gold-on-dark)}
.footer a{display:block;padding:5px 0;font-size:.9rem;color:#C5C9D6}
.footer a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #1C2A52;font-size:.75rem;color:#9AA1B5}

.pagehero{padding:56px 0 48px;background:var(--cream);border-bottom:1px solid var(--line)}
.pagehero h1{font-size:clamp(2.1rem,4.2vw,3.4rem);max-width:1000px;margin-bottom:16px}
.pagehero p{max-width:790px;color:var(--muted)}
.pagehero.slim{padding:40px 0}

.notice{border-left:3px solid var(--gold);background:var(--gold-soft);padding:14px 17px;color:#3F3A32;font-size:.88rem;margin:22px 0;border-radius:0 6px 6px 0}
.notice.critical{background:#F8ECEC;border-color:var(--red);color:#4A2020}

.filterbar{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:18px;background:var(--mist);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px}
.filterbar input,.filterbar select,.form input,.form select,.form textarea{
  border:1px solid #C5C9D4;background:#fff;border-radius:6px;padding:12px 14px;min-width:0;color:var(--ink);outline:none;
}
.filterbar input:focus,.filterbar select:focus,.form input:focus,.form select:focus,.form textarea:focus{
  border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,28,72,.15);
}
.filterbar input{flex:1;min-width:220px}

.candidate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.candidate-card{
  display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;min-height:220px;transition:border-color .15s,box-shadow .15s,transform .15s;
}
.candidate-card:hover{border-color:var(--navy);box-shadow:var(--shadow);color:inherit;transform:translateY(-2px)}
.avatar{
  width:56px;height:56px;border-radius:50%;background:#EEF0F6;color:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font:600 18px var(--font-serif);overflow:hidden;margin-bottom:14px;position:relative;
}
.avatar img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}
.candidate-card strong{font-size:1.05rem;line-height:1.3;color:var(--navy)}
.candidate-card .party{font-size:.78rem;min-height:44px;margin:8px 0 14px;color:var(--muted)}
.candidate-card .card-lower{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center}
.candidate-card .card-lower span{font-size:.68rem;color:var(--gold-text);font-weight:600}

.profile-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:42px;align-items:start}
.profile-side{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.profile-avatar{
  background:var(--mist);min-height:260px;height:330px;display:flex;align-items:center;justify-content:center;
  color:var(--navy-mid);font:550 4rem var(--font-serif);position:relative;
}
.profile-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.profile-side .details{padding:22px}
.profile-content h2{font-size:2rem;margin:16px 0}
.profile-content p{color:var(--muted)}

.sources{padding-left:0;list-style:none}
.sources li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.sources a{color:var(--gold-text);text-decoration:underline;text-underline-offset:2px}

.academy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lesson{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;display:flex;flex-direction:column;min-height:250px}
.lesson .caps{color:var(--gold-text)}
.lesson h3{margin:20px 0 10px}
.lesson p{color:var(--muted);font-size:.9rem}
.lesson button{align-self:start;margin-top:auto;padding:0;border:0;background:transparent;color:var(--gold-text);font-weight:700}
.lesson button:hover{color:var(--navy)}
.lesson-detail{background:var(--cream);border-radius:var(--radius);padding:28px;margin-top:28px}

.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.rule{padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px}
.rule a{color:var(--gold-text);text-decoration:underline;font-weight:700}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.step{padding:22px;border:1px solid var(--line);background:#fff;border-radius:var(--radius)}
.step small{display:block;color:var(--gold-text);letter-spacing:.08em;font-weight:800}

.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.question{padding:24px;border:1px solid var(--line);background:#fff;border-radius:var(--radius)}
.question .caps{color:var(--gold-text)}
.question h3{font:550 1.2rem/1.4 var(--font-serif);margin:12px 0 0;color:var(--navy)}

.form{display:grid;gap:15px}
.form label{display:grid;gap:6px;font-size:.85rem;font-weight:650}
.form textarea{min-height:130px;resize:vertical}
.form .check{display:flex;align-items:start;gap:10px;font-weight:400;font-size:.84rem}
.form .check input{min-width:auto;margin-top:4px}
.form input[type=checkbox]{padding:0;width:18px;height:18px;accent-color:var(--navy)}
.form-note{font-size:.8rem;color:var(--muted)}

.event-card{border-top:1px solid var(--line);padding:16px 0;display:flex;gap:22px}
.event-card time{width:120px;font:550 1.15rem var(--font-serif);color:var(--gold-text);flex-shrink:0}

.media-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.media-tile{min-height:260px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:end;padding:28px;background:var(--mist)}
.media-tile.darktile{background:var(--navy);color:#fff;border-color:var(--navy)}
.media-tile.darktile h3{color:#fff}
.media-tile.gldtile{background:var(--gold-soft)}
.media-tile .tileindex{position:absolute;top:22px;left:28px;color:var(--gold-text);font-weight:800;font-size:.72rem;letter-spacing:.14em}
.media-tile.darktile .tileindex{color:var(--gold-on-dark)}
.media-tile h3{font-size:1.7rem}
.media-tile p{font-size:.85rem;margin:0}

.compare{padding:16px;border:1px solid var(--line);border-radius:var(--radius);margin-top:20px}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.compare-card{padding:22px;background:var(--cream);border:1px solid var(--line);border-radius:8px}
.details-links a{display:inline-block;margin-right:13px}
.creditline{font-size:.74rem;color:var(--muted);margin-top:18px}

.statline{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.stat{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.stat b{font:550 2.2rem var(--font-serif);display:block;color:var(--navy)}
.stat span{font-size:.76rem;color:var(--muted)}
.empty{padding:36px;border:1px dashed #C5C9D4;border-radius:var(--radius);text-align:center;color:var(--muted)}
.results-notice{padding:34px;border:1px solid var(--line);background:var(--cream);border-radius:var(--radius)}
.hide{display:none!important}

.privacy-doc{max-width:820px}
.privacy-doc h2{font-size:clamp(1.4rem,2.1vw,1.85rem);margin:34px 0 14px}
.privacy-doc ul{margin:0 0 1em;padding-left:1.25em}
.privacy-doc li{margin:0 0 .45em}
.privacy-meta{margin:0 0 .35em;color:var(--muted)}
.privacy-rule{margin:42px 0 28px;text-align:center;color:var(--gold-text);letter-spacing:.2em}
.privacy-doc .privacy-rule + p{text-align:center;font-weight:700;margin-bottom:.2em;color:var(--navy)}
.privacy-doc .privacy-rule + p + p,
.privacy-doc .privacy-rule + p + p + p{text-align:center}
.notice-placeholder{
  display:inline;background:var(--gold-soft);border:1px dashed var(--gold-text);
  color:var(--gold-text);padding:.05em .4em;font-weight:700;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.skip-link:focus{
  outline:3px solid var(--gold);outline-offset:3px;
}

@media(max-width:1100px){
  .wrap{padding:0 22px}
  .nav-inner{gap:0}
  .nav-inner a{font-size:.78rem;padding:0 8px}
  .hero-layout{grid-template-columns:1.05fr .95fr}
  .hero-copy{padding:48px 28px}
  .hero-photo,.hero-layout{min-height:560px}
  .candidate-grid{grid-template-columns:repeat(3,1fr)}
  .grid.four,.grid.portals{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:880px){
  .wrap{padding:0 20px}
  .topbar{min-height:72px}
  .logo img{width:40px;height:46px}
  .logo .logo-word{height:24px;max-width:160px}
  .utility .header-independent{display:none}
  .utility .langset{display:none}
  .mobile-toggle{display:block}
  .nav-lang{display:flex;margin:16px 4px 8px;align-self:flex-start}
  .navline{display:none;height:auto;position:absolute;left:0;right:0;top:100%;border-bottom:1px solid var(--line);box-shadow:0 16px 32px rgba(8,28,72,.12)}
  .navline.open{display:block}
  .nav-inner{padding:8px 20px 20px;flex-direction:column;height:auto;align-items:stretch;gap:0}
  .nav-inner a{height:auto;padding:14px 4px;border-bottom:1px solid var(--line);border-left:0;font-size:1.05rem}
  .nav-inner a:hover,.nav-inner a.active{border-bottom-color:var(--line);background:var(--cream)}
  .nav-inner a.active{box-shadow:inset 3px 0 0 var(--red)}
  .hero-layout{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:40px 22px 36px}
  .hero-photo{min-height:320px;max-height:460px}
  .grid.four,.grid.three,.grid.portals,.academy-grid,.media-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .candidate-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:28px}
  .profile-layout{grid-template-columns:1fr}
  .profile-side{max-width:450px}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-top>div:first-child{grid-column:span 2}
  .question-grid,.compare-grid{grid-template-columns:1fr 1fr}
  .statline{grid-template-columns:repeat(2,1fr)}
  .section{padding:52px 0}
}

@media(max-width:560px){
  body{font-size:16px}
  h1{font-size:2.15rem}
  h2{font-size:1.7rem}
  .utility{gap:8px}
  .langset button{font-size:.7rem;padding:6px 8px}
  .grid.four,.grid.three,.grid.two,.grid.portals,.academy-grid,.media-tiles,.candidate-grid,.rule-grid,.question-grid,.compare-grid,.steps{grid-template-columns:1fr}
  .candidate-card{min-height:0}
  .section-head{display:block}
  .section-head .btn{margin-top:16px}
  .ticker-inner{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
  .ticker strong,.ticker span,.ticker a{display:block;margin:0;white-space:normal}
  .footer-top{grid-template-columns:1fr;gap:28px}
  .footer-top>div:first-child{grid-column:auto}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:8px}
  .statline{grid-template-columns:1fr 1fr}
  .banner .bannerrow{display:block}
  .banner .btn{margin-top:16px}
  .timeboxes{flex-wrap:wrap}
  .tbox{min-width:58px}
  .countdown{gap:14px}
  .hero-actions{gap:8px}
  .hero-actions a{font-size:.82rem}
  .filterbar select,.filterbar input{max-width:none;width:100%}
  .brand-kreyol{font-size:1.25rem}
  .logo .logo-word{max-width:140px;height:22px}
  .hero-fallback{padding:36px 28px 64px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

body[data-page="notfound"] .pagehero{padding-top:72px;padding-bottom:88px;min-height:48vh}

/* =====================================================================
   DESIZYON v2 · Palette chaleureuse, composants interactifs
   Ancres : marine #081C48 et or #B88844.
   Accents haïtiens : soleil, hibiscus (corail), mer turquoise, feuille.
   Les teintes "-ink" sont les seules utilisées pour du texte (AA sur blanc et sur leur teinte douce).
   ===================================================================== */
:root{
  --cream:#FBF4E8;
  --sun:#F4B92F; --sun-soft:#FFF3D1; --sun-ink:#6B4A00;
  --coral:#E4573F; --coral-soft:#FDE7E1; --coral-ink:#A3321F;
  --sea:#0B7A8A; --sea-soft:#DDF2F2; --sea-ink:#075763;
  --leaf:#2F8A4E; --leaf-soft:#E4F3E6; --leaf-ink:#1D6235;
  --gold-light:#F4C766;
  --radius-lg:22px;
  --shadow-lg:0 24px 60px rgba(8,28,72,.14);
}
.section.soft{background:var(--cream)}
.section.sunny{background:var(--sun-soft)}
.section.sea{background:var(--sea-soft)}
.section.navy{background:var(--navy);color:#E6EAF3}
.section.navy h2,.section.navy h3{color:#fff}
.section.navy .eyebrow{color:var(--gold-light)}
.section.navy .lead{color:#C9D1E4}
.eyebrow.sun{color:var(--sun-ink)} .eyebrow.coral{color:var(--coral-ink)} .eyebrow.sea{color:var(--sea-ink)} .eyebrow.leaf{color:var(--leaf-ink)}
.kreyol-kicker{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:var(--coral-ink);margin:0 0 6px}
.section.navy .kreyol-kicker{color:#FFB4A6}
.btn.sunbtn{background:var(--sun);border-color:var(--sun);color:var(--navy)}
.btn.sunbtn:hover{background:#FFD064;border-color:#FFD064;color:var(--navy)}
.btn.ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.ghost-light:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.nav-inner a:hover,.nav-inner a.active{border-bottom-color:var(--coral)}
.sitehead{border-bottom:0;box-shadow:0 1px 0 var(--line)}
.sitehead:after{content:'';display:block;height:4px;background:linear-gradient(90deg,var(--navy) 0 20%,var(--gold) 20% 40%,var(--coral) 40% 60%,var(--sea) 60% 80%,var(--leaf) 80% 100%)}

/* ---------- Hero v2 ---------- */
.hero2{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero2-grid{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);min-height:clamp(600px,78vh,740px);max-width:1680px;margin:auto}
.hero2-copy{position:relative;z-index:2;padding:64px 48px 56px max(28px,calc((100vw - 1240px)/2 + 28px));display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(circle at 12% 18%,rgba(244,185,47,.16),transparent 34%),radial-gradient(circle at 85% 92%,rgba(228,87,63,.18),transparent 36%),var(--navy)}
.hero2-copy h1{color:#fff;font-size:clamp(2.3rem,4.4vw,3.7rem);max-width:600px;margin:10px 0 16px}
.hero2-copy .lead{color:#D3DAEA;max-width:520px}
.hero2 .brand-kreyol .k-navy{color:#fff}
.hero2 .brand-kreyol .k-gold{color:var(--gold-light)}
.hero2 .brand-kreyol .k-red{color:#FF9A88}
.hero2 .brand-mission{color:#E8ECF5}
.hero2 .eyebrow{color:var(--gold-light)}
.hero2-media{position:relative;min-height:100%;background:#2B3B2E}
.hero2-media picture,.hero2-media img{position:absolute;inset:0;width:100%;height:100%}
.hero2-media img{object-fit:cover;object-position:58% 40%}
.hero2-media:before{content:'';position:absolute;inset:0 auto 0 0;width:90px;z-index:1;background:linear-gradient(90deg,var(--navy),rgba(8,28,72,0));pointer-events:none}
.hero2-credit{position:absolute;right:14px;bottom:14px;z-index:2;font-size:.68rem;line-height:1.3;color:#fff;background:rgba(4,20,48,.62);padding:6px 10px;border-radius:99px;backdrop-filter:blur(4px)}
.hero2-credit a{text-decoration:underline;text-underline-offset:2px}
.hero2-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.hero2-chips a{font-size:.8rem;font-weight:700;padding:8px 13px;border-radius:99px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.22)}
.hero2-chips a:hover{background:#fff;color:var(--navy)}

/* ---------- Pouls : compte à rebours + fait du jour ---------- */
.pulse{background:linear-gradient(180deg,var(--navy) 0 50%,var(--cream) 50% 100%);padding:0 0 8px}
.pulse-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.pulse-card{border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.pulse-card.countcard{background:#fff}
.pulse-card.daycard{background:var(--sea-soft);border:1px solid #BFE3E4}
.pulse-card .countdown{border:0;margin:6px 0 0;padding:0}
.pulse-card .tbox{background:var(--sun-soft);border-color:#F1DDA0}
.daycard .day-text{font:500 1.15rem/1.45 var(--font-serif);color:var(--navy);margin:8px 0 12px}
.daycard .day-year{position:absolute;right:18px;top:6px;font:700 4.2rem/1 var(--font-serif);color:rgba(11,122,138,.14);pointer-events:none}
.tiny-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.textbtn{background:none;border:0;padding:0;color:var(--sea-ink);font-weight:700;font-size:.86rem;text-decoration:underline;text-underline-offset:3px}
.textbtn:hover{color:var(--navy)}

/* ---------- Cette semaine ---------- */
.updates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.update{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.update:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:inherit}
.update time{font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:.04em}
.update h3{font-size:1.08rem;margin:0;line-height:1.3}
.update p{font-size:.84rem;color:var(--muted);margin:0}
.tag{display:inline-block;align-self:flex-start;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:99px}
.tag.sun{background:var(--sun-soft);color:var(--sun-ink)} .tag.coral{background:var(--coral-soft);color:var(--coral-ink)}
.tag.sea{background:var(--sea-soft);color:var(--sea-ink)} .tag.leaf{background:var(--leaf-soft);color:var(--leaf-ink)}

/* ---------- Le saviez-vous ---------- */
.facts-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:stretch}
.factcard{border-radius:var(--radius-lg);padding:34px 36px 26px;min-height:340px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:background .35s}
.factcard.sun{background:var(--sun-soft)} .factcard.coral{background:var(--coral-soft)} .factcard.sea{background:var(--sea-soft)} .factcard.leaf{background:var(--leaf-soft)}
.factcard .fact-year{font:700 clamp(4rem,9vw,7.5rem)/.9 var(--font-serif);position:absolute;right:22px;top:16px;opacity:.16;color:var(--navy);pointer-events:none}
.factcard .fact-cat{margin-bottom:14px}
.factcard .fact-text{font:500 clamp(1.25rem,2.2vw,1.65rem)/1.4 var(--font-serif);color:var(--navy);max-width:760px;margin:0 0 18px;position:relative}
.factcard .fact-src{font-size:.82rem;color:#3E4658;margin-top:auto}
.factcard .fact-src a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;font-weight:650}
.fact-controls{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap}
.roundbtn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(8,28,72,.25);background:#fff;color:var(--navy);font-size:1.1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}
.roundbtn:hover{background:var(--navy);color:#fff;transform:scale(1.05)}
.fact-count{font-size:.82rem;font-weight:700;color:#3E4658;min-width:56px}
.sharebtn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:99px;border:0;background:var(--navy);color:#fff;font-weight:700;font-size:.84rem}
.sharebtn:hover{background:var(--navy-mid)}
.fact-dots{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.fact-dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(8,28,72,.2)}
.fact-dots button[aria-current="true"]{background:var(--navy);transform:scale(1.25)}
.facts-side{border-radius:var(--radius-lg);overflow:hidden;position:relative;min-height:340px;background:var(--navy)}
.facts-side img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.facts-side figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;color:#fff;font-size:.74rem;background:linear-gradient(0deg,rgba(4,20,48,.85),transparent)}
.facts-side figcaption a{text-decoration:underline}
.share-menu{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.share-menu a,.share-menu button{font-size:.8rem;font-weight:700;padding:8px 12px;border-radius:99px;border:1px solid rgba(8,28,72,.25);background:#fff;color:var(--navy)}
.share-menu a:hover,.share-menu button:hover{background:var(--navy);color:#fff}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:12px 18px;border-radius:99px;font-size:.88rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:300}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- Quiz ---------- */
.quiz{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px;max-width:860px}
.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:.82rem;font-weight:700;color:var(--muted)}
.quiz-bar{height:8px;border-radius:99px;background:var(--mist);overflow:hidden;margin-bottom:22px}
.quiz-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sea),var(--leaf),var(--sun));transition:width .35s}
.quiz h3{font-size:clamp(1.2rem,2vw,1.5rem);margin:0 0 18px}
.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz-opts button{text-align:left;padding:15px 16px;border-radius:14px;border:2px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:.95rem;transition:border-color .15s,background .15s,transform .15s}
.quiz-opts button:hover:not([disabled]){border-color:var(--navy);transform:translateY(-1px)}
.quiz-opts button.ok{border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf-ink)}
.quiz-opts button.no{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-ink)}
.quiz-opts button[disabled]{cursor:default}
.quiz-feedback{margin-top:16px;padding:16px 18px;border-radius:14px;background:var(--cream);font-size:.92rem}
.quiz-feedback a{color:var(--sea-ink);text-decoration:underline;font-weight:650}
.quiz-score{font:700 clamp(3rem,7vw,4.6rem)/1 var(--font-serif);color:var(--navy)}

/* ---------- Frise chronologique ---------- */
.tl-years{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}
.tl-years a{font-weight:800;font-size:.8rem;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff}
.tl-years a:hover{background:var(--sun);color:var(--navy);border-color:var(--sun)}
.timeline{position:relative;padding-left:0;list-style:none;margin:0;--p:0}
.timeline:before,.timeline:after{content:'';position:absolute;left:50%;top:0;width:4px;margin-left:-2px;border-radius:4px}
.timeline:before{bottom:0;background:rgba(255,255,255,.12)}
.timeline:after{height:calc(var(--p) * 100%);background:linear-gradient(180deg,var(--sun),var(--coral),var(--sea),var(--leaf))}
.tl-item{position:relative;width:50%;padding:0 44px 38px 0;scroll-margin-top:90px}
.tl-item:nth-child(even){margin-left:50%;padding:0 0 38px 44px}
.tl-item:before{content:'';position:absolute;top:18px;right:-9px;width:18px;height:18px;border-radius:50%;background:var(--navy);border:4px solid var(--gold-light);z-index:1}
.tl-item:nth-child(even):before{right:auto;left:-9px}
.tl-card{background:#fff;color:var(--ink);border-radius:18px;padding:22px 24px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.tl-card time{display:block;font:700 .8rem var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:6px}
.tl-card h3{font-size:1.3rem;margin:0 0 8px;color:var(--navy)}
.tl-card p{font-size:.92rem;color:var(--muted);margin:0 0 10px}
.tl-card .link{font-size:.8rem}
.tl-card img{border-radius:12px;margin:4px 0 12px;aspect-ratio:16/10;object-fit:cover;width:100%}
.tl-card figcaption{font-size:.7rem;color:var(--muted);margin:-6px 0 10px}
.tl-item.star .tl-card{background:var(--sun);}
.tl-item.star .tl-card time{color:var(--navy)}
.tl-item.star .tl-card p{color:#2A2A20}
.tl-item.star .tl-card .link{color:var(--navy)}
.tl-item.star:before{background:var(--sun);border-color:#fff;width:26px;height:26px;right:-13px;top:14px}
.tl-item.star:nth-child(even):before{left:-13px}
.tl-star-label{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:#fff;padding:4px 10px;border-radius:99px;margin-bottom:10px}

/* ---------- Carte des départements ---------- */
.map-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:28px;align-items:start}
.map-wrap{background:#fff;border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}
.map-wrap svg{width:100%;height:auto;display:block}
.dep{stroke:#fff;stroke-width:2.5;cursor:pointer;transition:fill .2s,transform .2s;outline:none}
.dep:hover,.dep:focus-visible{fill:var(--navy)!important}
.dep.on{fill:var(--coral)!important}
.dep:focus-visible{stroke:var(--sun);stroke-width:5}
.dep-label{font:700 15px var(--font-sans);fill:var(--navy);pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.dep-panel{background:var(--navy);color:#E6EAF3;border-radius:var(--radius-lg);padding:28px;min-height:300px}
.dep-panel h3{color:#fff;font-size:1.9rem;margin:6px 0 2px}
.dep-panel .ht{font-family:var(--font-serif);font-style:italic;color:#FFB4A6;margin:0 0 16px}
.dep-panel dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 16px}
.dep-panel dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);font-weight:800;padding-top:3px}
.dep-panel dd{margin:0;font-weight:600;color:#fff}
.dep-panel img{border-radius:12px;margin:6px 0 6px;aspect-ratio:16/9;object-fit:cover;width:100%}
.dep-panel .credit{font-size:.68rem;color:#AEB7CC}
.dep-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.dep-chips button{font-size:.78rem;font-weight:700;padding:7px 11px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--navy)}
.dep-chips button[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);color:#fff}
.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.stat-big{background:#fff;border-radius:16px;padding:18px;border:1px solid var(--line)}
.stat-big b{display:block;font:700 2.4rem/1 var(--font-serif);color:var(--navy);font-variant-numeric:tabular-nums}
.stat-big span{font-size:.8rem;color:var(--muted)}
.stat-big a{font-size:.72rem;color:var(--sea-ink);text-decoration:underline}

/* ---------- Souvenirs ---------- */
.memories{position:relative;overflow:hidden;background:var(--coral-soft)}
.mem-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:40px;align-items:start}
.mem-photo{border-radius:var(--radius-lg);overflow:hidden;margin:22px 0 8px;box-shadow:var(--shadow)}
.mem-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 70%}
.mem-credit{font-size:.7rem;color:#5A4A46}
.mem-credit a{text-decoration:underline}
.mem-empty{border:2px dashed #E9A99C;border-radius:16px;padding:20px;color:var(--coral-ink);font-weight:600;background:rgba(255,255,255,.5)}
.mem-list{display:grid;gap:12px}
.mem-item{background:#fff;border-radius:16px;padding:18px 20px}
.memories .form{background:#fff;border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-lg)}
.counter-hint{font-size:.74rem;color:var(--muted);text-align:right;margin-top:-8px}
.form-status{border-radius:12px;padding:14px 16px;font-size:.9rem;font-weight:600}
.form-status.ok{background:var(--leaf-soft);color:var(--leaf-ink)}
.form-status.err{background:var(--coral-soft);color:var(--coral-ink)}

/* ---------- Portails colorés ---------- */
.grid.portals .feature{border:0;border-radius:18px}
.grid.portals .feature:nth-child(6n+1){background:var(--sun-soft)}
.grid.portals .feature:nth-child(6n+2){background:var(--sea-soft)}
.grid.portals .feature:nth-child(6n+3){background:var(--coral-soft)}
.grid.portals .feature:nth-child(6n+4){background:var(--leaf-soft)}
.grid.portals .feature:nth-child(6n+5){background:#EEF0FA}
.grid.portals .feature:nth-child(6n+6){background:var(--gold-soft)}
.grid.portals .feature .symbol{width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;padding:0;color:var(--navy);flex-shrink:0}
.question{border-radius:16px;border-top:5px solid var(--sea)}
.question:nth-child(3n+2){border-top-color:var(--coral)}
.question:nth-child(3n+3){border-top-color:var(--sun)}
.media-tile{border-radius:18px}
.media-tile.gldtile{background:var(--sun-soft)}
.media-tile:not(.darktile):not(.gldtile){background:var(--sea-soft)}
.banner{background:linear-gradient(110deg,var(--navy) 0 55%,#0B3B6B 100%);position:relative;overflow:hidden}
.banner:after{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(244,185,47,.35),transparent 70%)}

/* ---------- Bandeaux photo des pages ---------- */
.photo-band{position:relative;height:clamp(220px,32vw,380px);overflow:hidden;background:var(--navy)}
.photo-band img{width:100%;height:100%;object-fit:cover}
.photo-band figcaption{position:absolute;right:14px;bottom:12px;font-size:.68rem;color:#fff;background:rgba(4,20,48,.62);padding:6px 10px;border-radius:99px}
.photo-band figcaption a{text-decoration:underline}

/* ---------- Konpare ---------- */
.konpare-picker{background:#fff;border-radius:var(--radius-lg);padding:22px;border:1px solid var(--line);margin-bottom:22px}
.konpare-picker input{width:100%;border:1px solid #C5C9D4;border-radius:10px;padding:12px 14px;margin:8px 0 14px}
.kp-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:260px;overflow:auto;padding:2px}
.kp-chips button{font-size:.82rem;font-weight:600;padding:8px 12px;border-radius:99px;border:1px solid var(--line);background:var(--mist);color:var(--navy)}
.kp-chips button[aria-pressed="true"]{background:var(--sea);border-color:var(--sea);color:#fff}
.kp-chips button[disabled]{opacity:.45;cursor:not-allowed}
.kp-table{display:grid;gap:14px}
.kp-cols{display:grid;gap:14px;grid-template-columns:repeat(var(--n,1),minmax(0,1fr))}
.kp-col{background:#fff;border-radius:18px;border:1px solid var(--line);overflow:hidden}
.kp-col header{padding:18px 20px;background:var(--navy);color:#fff}
.kp-col header h3{color:#fff;margin:4px 0 0;font-size:1.2rem}
.kp-col header .eyebrow{color:var(--gold-light)}
.kp-row{padding:14px 20px;border-top:1px solid var(--line);font-size:.88rem}
.kp-row b{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sea-ink);margin-bottom:4px}
.kp-row .muted{font-style:italic}
.kp-disclaimer{background:var(--sun-soft);border-left:4px solid var(--sun);padding:16px 18px;border-radius:0 12px 12px 0;font-size:.9rem;color:#3F3A32;margin:0 0 22px}

/* ---------- Mouvement ---------- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pulse-card.daycard .day-year{animation:floaty 6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none}
  .timeline:after{height:100%}
}

/* ---------- Responsive v2 ---------- */
@media(max-width:1100px){
  .updates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts-shell{grid-template-columns:1fr}
  .facts-side{min-height:260px}
}
@media(max-width:880px){
  .hero2-grid{grid-template-columns:1fr;min-height:0}
  .hero2-media{order:-1;aspect-ratio:4/3;min-height:0}
  .hero2-media img{object-position:56% 38%}
  .hero2-media:before{inset:auto 0 0 0;width:auto;height:70px;background:linear-gradient(0deg,var(--navy),rgba(8,28,72,0))}
  .hero2-copy{padding:26px 22px 44px}
  .pulse-grid,.map-layout,.mem-layout{grid-template-columns:1fr}
  .timeline:before,.timeline:after{left:14px}
  .tl-item,.tl-item:nth-child(even){width:auto;margin-left:0;padding:0 0 26px 44px}
  .tl-item:before,.tl-item:nth-child(even):before{left:5px;right:auto}
  .tl-item.star:before,.tl-item.star:nth-child(even):before{left:1px}
  .quiz-opts{grid-template-columns:1fr}
}
@media(max-width:560px){
  .updates{grid-template-columns:1fr}
  .factcard{padding:26px 22px 22px;min-height:0}
  .quiz{padding:22px}
  .stat-row{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .stat-big{padding:12px}
  .stat-big b{font-size:1.7rem}
  .pulse-card{padding:22px 20px}
  .hero2-credit{font-size:.6rem;right:8px;bottom:8px}
  .kp-cols{grid-template-columns:1fr}
}
/* v2 ajustements après vérification visuelle */
.hero2-copy{padding-top:52px;padding-bottom:48px;padding-right:32px}
.hero2-copy h1{font-size:clamp(2.2rem,4vw,3.4rem)}
.hero2-media:before{width:36px}
.hero2 .hero-actions .btn{padding:12px 16px}
.factcard .fact-year{top:auto;bottom:6px;right:18px;opacity:.10}
.daycard .day-year{top:auto;bottom:4px;right:14px;font-size:3.6rem;color:rgba(11,122,138,.12)}
@media(min-width:881px){.tl-item+.tl-item{margin-top:-70px}}
.section.navy .tl-card h3{color:var(--navy)}
.facts-side,.mem-photo{margin-left:0;margin-right:0}.facts-side{margin:0}
@media(max-width:560px){
  .dep-label{display:none}
  .stat-row{grid-template-columns:1fr;gap:8px}
  .stat-big{display:flex;align-items:baseline;gap:14px}
}
.photo-band{margin:0}

/* =====================================================================
   DESIZYON v3 · Bold, moderne, premium
   Base blanc pur, bleu encre profond, violet indigo en accent minoritaire,
   or pour les points forts, rouge haïtien réservé aux appels à l’action.
   ===================================================================== */
:root{
  --navy:#0A1A45; --navy-deep:#060F2B; --navy-mid:#1F4FB8; --ink:#0E1530; --muted:#4A5170;
  --paper:#FFFFFF; --mist:#F4F6FB; --line:#E3E6EF;
  --violet:#4B2E83; --violet-2:#5B3FA8;
  --gold:#E0B04F; --gold-on-dark:#E8BE5E; --gold-light:#E8BE5E; --gold-text:#8A6220; --gold-soft:#F4F6FB;
  --red:#C8102E; --red-deep:#A00D25;
  --cream:#F4F6FB;
  --sun:#E0B04F; --sun-soft:#F4F6FB; --sun-ink:#7A5712;
  --coral:#5B3FA8; --coral-soft:#F4F6FB; --coral-ink:#4B2E83;
  --sea:#1F4FB8; --sea-soft:#F4F6FB; --sea-ink:#1A3F94;
  --leaf:#0A1A45; --leaf-soft:#F4F6FB; --leaf-ink:#0A1A45;
  --grad-dark:linear-gradient(135deg,#060F2B 0%,#0A1A45 52%,#2A1D5C 100%);
  --grad-line:linear-gradient(90deg,#0A1A45 0%,#1F4FB8 45%,#5B3FA8 75%,#E0B04F 100%);
  --radius-lg:22px;
  --shadow:0 10px 30px rgba(10,26,69,.08);
  --shadow-lg:0 30px 70px rgba(10,26,69,.16);
  --ease:cubic-bezier(.2,.7,.2,1);
}
body{color:var(--ink);background:#fff}
h1,h2,h3,h4,.serif{font-family:var(--font-sans);font-weight:800;letter-spacing:-.035em;line-height:1.06;color:var(--navy);font-variation-settings:normal}
h1{font-size:clamp(2.5rem,5.6vw,4.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:1.3rem;letter-spacing:-.02em;line-height:1.2}
.display{font-weight:900;letter-spacing:-.045em;line-height:.95}
.display-sm{font-weight:900;letter-spacing:-.04em}
.eyebrow{letter-spacing:.16em;font-weight:800}
.eyebrow,.eyebrow.sun{color:var(--gold-text)}
.kreyol-kicker,.kicker-ht{font-family:var(--font-serif);font-style:italic;font-weight:500;font-size:1.08rem;color:var(--violet);margin:0 0 6px;letter-spacing:0}
.section{padding:clamp(64px,8vw,112px) 0}
.section.mist,.section.soft,.section.sunny,.section.sea{background:var(--mist)}
.section.navy,.section.navy.deep{background:var(--grad-dark);color:#DCE2F2}
.section.navy .kreyol-kicker{color:#C9B8F2}
.section.navy .eyebrow{color:var(--gold-on-dark)}
.section.navy .lead{color:#C3CBE0}
a:hover{color:var(--navy-mid)}

/* Boutons */
.btn{border-radius:999px;font-weight:750;letter-spacing:-.005em;transition:transform .2s var(--ease),background .2s,border-color .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:10px}
.btn .ico{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn.redbtn{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 10px 26px rgba(200,16,46,.28)}
.btn.redbtn:hover{background:var(--red-deep);border-color:var(--red-deep);color:#fff}
.btn.sunbtn{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.btn.sunbtn:hover{background:#F0C566;border-color:#F0C566;color:var(--navy-deep)}
.btn.alt:hover{background:var(--mist)}
.sharebtn{background:var(--navy)}
.sharebtn .ico{width:16px;height:16px}
.sharebtn:hover{background:var(--violet)}

/* En-tête */
.sitehead{box-shadow:0 1px 0 var(--line);background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px)}
.sitehead:after{height:3px;background:var(--grad-line)}
.askpill{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border-radius:999px;padding:9px 16px 9px 13px;font-weight:750;font-size:.84rem;box-shadow:0 6px 18px rgba(200,16,46,.25);transition:transform .2s var(--ease),background .2s;white-space:nowrap}
.askpill .ico{width:17px;height:17px}
.askpill:hover{background:var(--red-deep);color:#fff;transform:translateY(-1px)}
.nav-inner a{font-weight:650}
.nav-inner a:hover,.nav-inner a.active{border-bottom-color:var(--violet-2)}
.nav-inner a.nav-pvm{color:var(--violet);font-weight:800;display:inline-flex;align-items:center;gap:8px}
.nav-pvm .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(224,176,79,.22)}

/* Hero v3 plein écran */
.hero3{position:relative;color:#fff;overflow:hidden;background:var(--navy-deep);isolation:isolate}
.hero3-media{position:absolute;inset:0;z-index:-2}
.hero3-media picture,.hero3-media img{width:100%;height:100%}
.hero3-media img{object-fit:cover;object-position:62% 40%;transform:scale(1.04);animation:heroZoom 18s var(--ease) forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero3-shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(6,15,43,.94) 0%,rgba(10,26,69,.82) 34%,rgba(22,30,88,.45) 64%,rgba(14,28,78,.18) 100%),
  linear-gradient(0deg,rgba(6,15,43,.96) 0%,rgba(6,15,43,.55) 26%,rgba(6,15,43,0) 52%)}
.hero3-inner{padding-top:56px;padding-bottom:36px;min-height:clamp(640px,calc(100vh - 96px),900px);display:flex;flex-direction:column;justify-content:flex-end}
.hero3-kreyol{font-family:var(--font-serif);font-style:italic;font-size:clamp(1rem,1.6vw,1.25rem);color:#E9E4FF;margin:0 0 14px}
.hero3-title{font-size:clamp(3.4rem,9vw,8.2rem);font-weight:900;letter-spacing:-.055em;line-height:.9;color:#fff;margin:0 0 22px;max-width:12ch}
.hero3-title .gold,.gold{color:var(--gold-on-dark)}
.hero3-sub{font-size:clamp(1.08rem,1.6vw,1.32rem);line-height:1.55;color:#DCE2F2;max-width:640px;margin:0 0 20px}
.hero3-strap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 28px;font-size:.82rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#fff}
.hero3-strap i{font-style:normal;color:var(--gold-on-dark);font-weight:400}
.hero3 .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.hero3-credit{position:absolute;right:16px;top:14px;margin:0;font-size:.66rem;color:rgba(255,255,255,.82);background:rgba(6,15,43,.55);padding:4px 10px;border-radius:99px;backdrop-filter:blur(6px)}
.hero3-credit a{color:#fff;text-decoration:underline}
.htiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.htile{display:flex;flex-direction:column;gap:4px;padding:18px 16px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);color:#fff;transition:transform .25s var(--ease),background .25s,border-color .25s}
.htile:hover{transform:translateY(-4px);background:rgba(255,255,255,.14);border-color:rgba(232,190,94,.7);color:#fff}
.htile-ico{width:28px;height:28px;color:var(--gold-on-dark);margin-bottom:8px}
.htile-label{font-weight:800;font-size:1rem;letter-spacing:-.01em}
.htile-sub{font-size:.76rem;color:#C9D1E6}
.js .hero3-title,.js .hero3-sub,.js .hero3-strap,.js .hero3 .hero-actions,.js .htiles{animation:riseIn .9s var(--ease) both}
.js .hero3-sub{animation-delay:.12s}.js .hero3-strap{animation-delay:.2s}.js .hero3 .hero-actions{animation-delay:.28s}.js .htiles{animation-delay:.38s}
@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Trois cartes vedettes */
.trio{padding:56px 0 24px;background:#fff}
.trio-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}
.tcard{position:relative;border-radius:24px;padding:28px;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-height:320px}
.tcard h3{font-size:1.32rem;margin:0}
.tcard p{font-size:.92rem;margin:0;color:var(--muted)}
.tcard .btn{align-self:flex-start;margin-top:auto}
.tcard-ico{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--mist);color:var(--navy)}
.tcard-ico .ico{width:24px;height:24px}
.tcount{background:var(--grad-dark);color:#fff;box-shadow:var(--shadow-lg)}
.tcount .countdown{border:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:18px;height:100%}
.tcount .cd-head{display:flex;gap:14px;align-items:center}
.tcount .cd-ico{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:var(--gold-on-dark)}
.tcount .cd-ico .ico{width:24px;height:24px}
.tcount .eyebrow{color:var(--gold-on-dark)}
.tcount .countdown-label{font-family:var(--font-sans);font-weight:800;font-size:1.3rem;letter-spacing:-.02em;color:#fff;max-width:none}
.tcount .timeboxes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tcount .tbox{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:14px 4px 10px;min-width:0}
.tcount .tbox b{font:900 clamp(1.9rem,3vw,2.6rem)/1 var(--font-sans);letter-spacing:-.04em;color:#fff}
.tcount .tbox span{color:#C9D1E6;font-size:.64rem;letter-spacing:.12em;margin-top:6px;display:block}
.tcount .meta{color:#C3CBE0;font-size:.76rem;margin-top:auto}
.tcount .meta a{color:#fff}
.tcoin{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.tcoin .tcard-ico{background:#FCE8EC;color:var(--red)}
.tcoin .eyebrow{color:var(--red-deep)}
.tlive{padding:0;color:#fff;background:var(--navy-deep);box-shadow:var(--shadow)}
.tlive picture{position:absolute;inset:0}
.tlive img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tlive:hover img{transform:scale(1.05)}
.tlive-body{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;height:100%;background:linear-gradient(180deg,rgba(6,15,43,.35) 0%,rgba(6,15,43,.78) 45%,rgba(20,18,66,.96) 100%)}
.tlive .tcard-ico{background:rgba(255,255,255,.14);color:var(--gold-on-dark)}
.tlive .eyebrow{color:var(--gold-on-dark)}
.tlive h3{color:#fff}
.tlive-pillars{display:flex;flex-wrap:wrap;gap:6px}
.tlive-pillars span{font-size:.68rem;font-weight:800;letter-spacing:.14em;padding:5px 10px;border-radius:99px;border:1px solid rgba(255,255,255,.35);color:#fff}
.tlive .btn{margin-top:auto}

/* Premye Vòt */
.pvm{background:#fff;padding-bottom:clamp(64px,8vw,104px)}
.pvm-hook{background:var(--grad-dark);color:#DCE2F2;padding:clamp(64px,8vw,104px) 0 130px;position:relative;overflow:hidden}
.pvm-hook:before{content:'';position:absolute;right:-12%;top:-30%;width:60%;height:160%;background:radial-gradient(closest-side,rgba(91,63,168,.38),rgba(91,63,168,0));pointer-events:none}
.pvm-hook-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end;position:relative}
.pvm-hook .kicker-ht{color:#D4C6FA}
.pvm-hook h2{color:#fff;font-size:clamp(3rem,8vw,6.6rem);margin:0 0 8px}
.pvm-sub{font-size:.82rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-on-dark);margin:0 0 20px}
.pvm-hook .lead{color:#DCE2F2;max-width:640px}
.pvm-hook .src-line{color:#AEB7D0}
.pvm-hook .src-line a{color:#fff}
.pvm-stats{display:grid;gap:12px}
.pvm-stat{padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}
.pvm-stat b{display:block;font:900 clamp(2rem,3.6vw,2.9rem)/1 var(--font-sans);letter-spacing:-.045em;color:var(--gold-on-dark)}
.pvm-stat b small{font-size:.4em;letter-spacing:0;font-weight:800;color:#fff}
.pvm-stat span{display:block;margin-top:6px;font-size:.88rem;color:#DCE2F2}
.pvm-steps{list-style:none;margin:-84px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative;counter-reset:s}
.pvm-step a{display:flex;flex-direction:column;gap:6px;height:100%;padding:24px 22px 20px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;color:var(--ink);position:relative;overflow:hidden}
.pvm-step a:after{content:'';position:absolute;left:0;top:0;height:4px;width:100%;background:var(--grad-line);transform:scaleX(.18);transform-origin:left;transition:transform .45s var(--ease)}
.pvm-step a:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:#CBD3EA;color:var(--ink)}
.pvm-step a:hover:after{transform:scaleX(1)}
.pvm-num{font:900 2.4rem/1 var(--font-sans);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px #9AA6C7}
.pvm-ico{width:30px;height:30px;color:var(--violet);position:absolute;right:22px;top:24px}
.pvm-ht{font-family:var(--font-serif);font-style:italic;color:var(--violet);font-size:.95rem;margin-top:6px}
.pvm-step h3{font-size:1.14rem;margin:0}
.pvm-step p{font-size:.86rem;color:var(--muted);margin:0}
.pvm-go{margin-top:auto;padding-top:10px;font-size:.8rem;font-weight:800;color:var(--navy);display:inline-flex;align-items:center;gap:6px}
.pvm-go .ico{width:14px;height:14px;transition:transform .2s}
.pvm-step a:hover .pvm-go .ico{transform:translateX(4px)}
.pvm-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.pvm-dates,.pvm-check{border-radius:22px;padding:26px 28px;border:1px solid var(--line);background:var(--mist)}
.pvm-dates ul,.pvm-check ul{list-style:none;margin:12px 0 0;padding:0}
.pvm-dates li{display:grid;grid-template-columns:200px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.pvm-dates li:last-child{border-bottom:0}
.pvm-dates time{font-weight:800;color:var(--navy)}
.pvm-check{background:#fff;box-shadow:var(--shadow)}
.pvm-check-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pvm-check h3{margin:4px 0 0;font-size:1.3rem}
.pvm-ring{--k:0;width:72px;height:72px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:conic-gradient(var(--violet-2) calc(var(--k)*360deg),#E3E6EF 0);transition:background .4s}
.pvm-ring b{width:56px;height:56px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900;color:var(--navy);font-size:1rem}
.pvm-check li label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:.95rem}
.pvm-check li:last-child label{border-bottom:0}
.pvm-check input{width:20px;height:20px;accent-color:var(--violet-2);margin-top:2px;flex-shrink:0}
.pvm-check input:checked+span{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(91,63,168,.5)}
.pvm-caveat{margin:18px 0 0;font-size:.84rem;color:var(--muted);border-left:3px solid var(--gold);padding:4px 0 4px 14px;max-width:900px}
.pvm-full .pvm-hook{padding-bottom:80px}
.pvm-toc{display:flex;flex-wrap:wrap;gap:8px;margin:-40px 0 26px;position:relative}
.pvm-toc a{background:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 14px;font-size:.82rem;font-weight:700;box-shadow:var(--shadow);color:var(--navy)}
.pvm-toc a b{color:var(--violet);margin-right:4px}
.pvm-toc a:hover{border-color:var(--violet-2)}
.pvm-guide{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pvm-gstep{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:26px 28px;border:1px solid var(--line);border-radius:22px;background:#fff;scroll-margin-top:110px}
.pvm-gside{position:relative}
.pvm-gside .pvm-ico{position:static;display:block;margin-top:12px}
.pvm-gstep h3{font-size:1.4rem;margin:2px 0 10px}
.pvm-gstep p{margin:0 0 10px;font-size:.98rem}
.pvm-tip{background:var(--mist);border-radius:12px;padding:12px 14px;font-size:.9rem !important;color:var(--navy);font-weight:600}

/* Fait du jour */
.dayband{padding:0 0 20px;background:#fff}
.dayband .pulse-card.daycard{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);box-shadow:var(--shadow);max-width:none}
.daycard .eyebrow,.eyebrow.sea{color:var(--sea-ink)}
.daycard .day-year{color:rgba(10,26,69,.07)}
.textbtn{color:var(--sea-ink)}

/* Actualités */
.tag,.tag.sun,.tag.coral,.tag.sea,.tag.leaf{background:#fff;border:1px solid var(--line)}
.tag.sun{color:var(--sun-ink)} .tag.coral{color:var(--violet)} .tag.sea{color:var(--sea-ink)} .tag.leaf{color:var(--navy)}
.updates .update{border-radius:20px}
.update h3{font-weight:800}

/* Cartes faits */
.factcard,.factcard.sun,.factcard.coral,.factcard.sea,.factcard.leaf{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-top:6px solid var(--acc,var(--gold))}
.factcard.sun{--acc:var(--gold)} .factcard.coral{--acc:var(--violet-2)} .factcard.sea{--acc:var(--navy-mid)} .factcard.leaf{--acc:var(--navy)}
.factcard .fact-year{color:var(--navy);opacity:.07}
.roundbtn{border-color:#C9D0E2}
.roundbtn:hover{background:var(--navy)}
.fact-dots button{background:#CBD2E3}
.fact-dots button[aria-current="true"]{background:var(--violet-2)}
.share-menu a:hover,.share-menu button:hover{background:var(--navy)}
.facts-side{border-radius:var(--radius-lg);overflow:hidden}

/* Quiz */
.quizband{background:var(--grad-dark);color:#DCE2F2;position:relative;overflow:hidden}
.quizband:before{content:'';position:absolute;left:-10%;bottom:-40%;width:55%;height:140%;background:radial-gradient(closest-side,rgba(91,63,168,.32),rgba(91,63,168,0));pointer-events:none}
.quizband .wrap{position:relative}
.quizband h2{color:#fff;font-size:clamp(2.4rem,5vw,4.2rem)}
.quizband .lead{color:#C3CBE0}
.quizband .kreyol-kicker{color:#D4C6FA}
.quizband .eyebrow.sea{color:var(--gold-on-dark)}
.quizband #quizBest{color:#C3CBE0 !important}
.quizband .quiz{box-shadow:0 40px 90px rgba(0,0,0,.35)}
.quiz .eyebrow.sea{color:var(--sea-ink)}
.quiz-bar span{background:linear-gradient(90deg,var(--navy-mid),var(--violet-2),var(--gold))}
.quiz-opts button:hover:not([disabled]){border-color:var(--violet-2)}
.quiz-opts button.ok{border-color:#1E7A46;background:#E9F6EE;color:#155C34}
.quiz-opts button.no{border-color:#C8102E;background:#FCEBEE;color:#9B0C24}
.quiz-feedback{background:var(--mist)}
.quiz-score{color:var(--navy)}

/* Carte */
.dep{stroke:#fff;transition:fill .25s}
.dep:hover{fill:#AFC0E8 !important}
.dep.on{fill:var(--violet-2) !important}
.dep:focus-visible{stroke:var(--gold)}
.map-wrap{border:1px solid var(--line)}
.dep-panel{background:var(--grad-dark)}
.dep-chips button[aria-pressed="true"]{background:var(--violet-2);border-color:var(--violet-2);color:#fff}
.stat-big{background:#fff;border:1px solid var(--line);border-radius:20px}
.stat-big b{font-family:var(--font-sans);font-weight:900;letter-spacing:-.045em;color:var(--navy)}

/* Frise */
.timeline:after{background:linear-gradient(180deg,var(--gold),var(--violet-2),var(--navy-mid))}
.tl-item:before{border-color:var(--gold)}
.tl-card time{color:var(--violet)}
.tl-item.star .tl-card{background:var(--gold)}
.tl-item.star .tl-card time,.tl-item.star .tl-card p,.tl-item.star .tl-card .link{color:var(--navy-deep)}
.tl-years a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}

/* Souvenirs */
.memories{background:var(--mist)}
.mem-empty{border-color:#C3CCE4;color:var(--violet);background:#fff}
.form-status.ok{background:#E9F6EE;color:#155C34}
.form-status.err{background:#FCEBEE;color:#9B0C24}

/* Portails, questions */
.grid.portals .feature,.grid.portals .feature:nth-child(n){background:#fff;border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.grid.portals .feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#CBD3EA}
.feature .symbol{background:var(--navy);color:#fff}
.feature h3{font-family:var(--font-sans);font-weight:800}
.question{border-top-color:var(--navy)}
.question:nth-child(3n+2){border-top-color:var(--violet-2)}
.question:nth-child(3n+3){border-top-color:var(--gold)}
.media-tile.gldtile{background:var(--mist)}
.media-tile:not(.darktile):not(.gldtile){background:var(--mist)}
.kp-chips button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy)}
.kp-disclaimer{background:var(--mist);border-left-color:var(--gold)}

/* Pages intérieures */
.pagehero{background:linear-gradient(180deg,#F4F6FB 0%,#FFFFFF 100%);border-bottom:1px solid var(--line);position:relative}
.pagehero:before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:var(--grad-line);opacity:.9}
.pagehero h1{font-weight:900;letter-spacing:-.045em}

/* Bandeau final */
.closer{background:var(--grad-dark);color:#DCE2F2;padding:clamp(72px,9vw,128px) 0;position:relative;overflow:hidden;text-align:center}
.closer:before{content:'';position:absolute;left:50%;top:-60%;width:80%;height:160%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(91,63,168,.35),rgba(91,63,168,0));pointer-events:none}
.closer-inner{position:relative}
.closer .eyebrow{color:var(--gold-on-dark)}
.closer h2{color:#fff;font-size:clamp(2.4rem,6.4vw,5.6rem);max-width:16ch;margin:10px auto 16px}
.closer .sep{color:var(--gold-on-dark)}
.closer-tag{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);color:#E9E4FF;margin:0 0 28px}
.closer .hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.footer{background:var(--navy-deep)}
.footer h3{font-family:var(--font-sans);font-weight:900;letter-spacing:-.03em}

/* Responsive v3 */
@media(max-width:1100px){
  .htiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trio-grid{grid-template-columns:1fr 1fr}
  .tcount{grid-column:1/-1}
  .pvm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .hero3-inner{min-height:0;padding-top:min(62vw,420px)}
  .hero3-media{bottom:auto;height:min(92vw,640px)}
  .hero3-media img{object-position:56% 38%}
  .hero3-shade{background:linear-gradient(180deg,rgba(6,15,43,.10) 0%,rgba(6,15,43,.22) 24%,rgba(8,20,58,.62) min(42vw,300px),rgba(8,20,58,.92) min(68vw,470px),#060F2B min(90vw,630px),#060F2B 100%)}
  .pvm-hook-grid,.pvm-bottom{grid-template-columns:1fr}
  .pvm-hook{padding-bottom:110px}
  .pvm-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pvm-stat{padding:14px}
  .pvm-stat b{font-size:1.5rem}
  .pvm-stat span{font-size:.76rem}
}
@media(max-width:700px){
  .askpill span{display:none}
  .askpill{padding:10px}
}
@media(max-width:560px){
  .wrap{padding-left:20px;padding-right:20px}
  .hero3-title{font-size:clamp(3.1rem,15vw,4.4rem)}
  .hero3-strap{font-size:.68rem;letter-spacing:.16em;gap:6px 10px}
  .hero3 .hero-actions{margin-bottom:28px}
  .hero3 .hero-actions .btn{width:100%;justify-content:center}
  .htiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .htile{padding:14px}
  .htile-ico{width:24px;height:24px;margin-bottom:4px}
  .hero3-credit{top:auto;bottom:6px;right:8px;font-size:.58rem;max-width:90%}
  .trio{padding-top:32px}
  .trio-grid{grid-template-columns:1fr}
  .tcard{min-height:0;padding:22px}
  .tlive{min-height:360px}
  .tlive-body{padding:22px}
  .tcount .timeboxes{gap:6px}
  .pvm-stats{grid-template-columns:1fr}
  .pvm-steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-20px;padding:0 20px 14px 0;-webkit-overflow-scrolling:touch}
  .pvm-step{flex:0 0 82%;scroll-snap-align:start}
  .pvm-dates li{grid-template-columns:1fr;gap:2px}
  .pvm-gstep{grid-template-columns:1fr;padding:22px}
  .pvm-gside{display:flex;align-items:center;gap:14px}
  .pvm-gside .pvm-ico{margin:0}
  .pvm-dates,.pvm-check{padding:22px}
  .closer h2{font-size:2.3rem}
}
@media (prefers-reduced-motion: reduce){
  .hero3-media img{animation:none;transform:none}
  .js .hero3-title,.js .hero3-sub,.js .hero3-strap,.js .hero3 .hero-actions,.js .htiles{animation:none}
  .btn,.htile,.pvm-step a,.tlive img,.grid.portals .feature,.askpill{transition:none}
  .btn:hover,.htile:hover,.pvm-step a:hover,.grid.portals .feature:hover{transform:none}
  .tlive:hover img{transform:none}
}
.pvm-stat b span{display:inline;font-size:inherit;margin:0;color:inherit}
.tcard.tlive{padding:0}
.dep-panel .ht{color:#D4C6FA}
.quizband .quiz .lead,.quizband .quiz p{color:var(--muted)}
.dep.on{fill:var(--navy-mid) !important}
.dep-chips button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy)}
.dep-panel .eyebrow,.darktile .eyebrow,.section.navy .eyebrow,.quizband .eyebrow{color:var(--gold-on-dark)}
.quizband .quiz .eyebrow{color:var(--sea-ink)}
.tcard-credit{margin:6px 0 0 !important;font-size:.64rem !important;color:#C3CBE0 !important}
.tcard-credit a{color:#fff;text-decoration:underline}
.stat b{font-family:var(--font-sans);font-weight:900;letter-spacing:-.04em}
.event-card time{font-family:var(--font-sans);font-weight:800;color:var(--navy);letter-spacing:-.01em}
