*{box-sizing:border-box}
:root{
  --ink:#14213d;
  --ink-soft:#263653;
  --paper:#fffdf8;
  --surface:#ffffff;
  --surface-soft:#f7f9fd;
  --page:#f2f5fa;
  --muted:#66748d;
  --line:#dde4ef;
  --saffron:#f4b942;
  --saffron-soft:#fff4d8;
  --cyan:#2dc7c9;
  --cyan-soft:#e9fbfb;
  --indigo:#6558e8;
  --indigo-soft:#eeecff;
  --coral:#ef6a5b;
  --coral-soft:#fff0ed;
  --blue:#2864e8;
  --green:#15966a;
  --green-soft:#eaf8f2;
  --red:#c94f56;
  --red-soft:#fff0f1;
  --shadow:0 16px 42px rgba(20,33,61,.075);
  --shadow-soft:0 8px 24px rgba(20,33,61,.055);
  --radius:20px;
  --category:var(--blue);
}
html{
  scroll-behavior:smooth;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--page)
}
body{margin:0;line-height:1.65;background:
  radial-gradient(circle at 12% 0%,rgba(244,185,66,.10),transparent 28rem),
  var(--page)
}
a{color:#2459cc;text-decoration:none}
a:hover{text-decoration:underline}
.site-wrap,.wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}
.brand-ribbon{height:4px;background:linear-gradient(90deg,var(--saffron) 0 38%,var(--cyan) 38% 66%,var(--coral) 66% 100%)}
.global-header{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(221,228,239,.95)
}
.global-header-inner{height:72px;display:flex;align-items:center;gap:28px}
.global-logo{display:flex;align-items:center;flex:0 0 auto}
.global-logo img{display:block;width:164px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.desktop-nav>a,.nav-dropdown>summary{
  color:#34445f;font-size:.88rem;font-weight:760;padding:9px 10px;border-radius:9px;cursor:pointer;list-style:none
}
.desktop-nav>a:hover,.nav-dropdown>summary:hover,.desktop-nav .is-active{background:#f4f6fa;color:var(--ink);text-decoration:none}
.nav-dropdown{position:relative}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown-panel{
  position:absolute;top:45px;left:0;min-width:230px;padding:10px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);display:grid;gap:2px
}
.nav-dropdown:not([open]) .nav-dropdown-panel{display:none}
.nav-dropdown-panel a{padding:9px 10px;border-radius:8px;color:#394a65;font-size:.86rem;font-weight:680}
.nav-dropdown-panel a:hover{background:#f5f7fb;text-decoration:none}
.nav-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}
.nav-dot-ecole{background:var(--cyan)}.nav-dot-college{background:var(--indigo)}.nav-dot-lycee{background:var(--coral)}
.header-search-link{
  display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff;border-radius:11px;
  padding:9px 13px;font-size:.84rem;font-weight:800
}
.header-search-link:hover{background:#223252;text-decoration:none}
.mobile-nav{display:none;margin-left:auto}
.mobile-nav>summary{list-style:none;cursor:pointer;background:var(--ink);color:#fff;border-radius:10px;padding:8px 12px;font-weight:800}
.mobile-nav>summary::-webkit-details-marker{display:none}
.mobile-nav-panel{position:absolute;right:18px;top:66px;display:grid;width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--shadow)}
.mobile-nav:not([open]) .mobile-nav-panel{display:none}
.mobile-nav-panel a{padding:9px;color:var(--ink);font-weight:700}

.global-breadcrumb{
  display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin:24px 0 16px
}
.global-breadcrumb a{color:#52637d}
.global-footer{margin-top:56px;background:var(--ink);color:#dce4f2;padding:42px 0 20px;border-top:4px solid var(--saffron)}
.footer-brand-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.7fr);gap:30px;align-items:start;padding-bottom:27px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand-row img{height:auto;display:block}
.footer-brand-row p{max-width:650px;color:#aebad0;margin:14px 0 0;font-size:.9rem}
.footer-source-badge{border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:16px;background:rgba(255,255,255,.045)}
.footer-source-badge strong,.footer-source-badge span{display:block}
.footer-source-badge strong{color:#fff}.footer-source-badge span{color:#aebad0;font-size:.82rem;margin-top:4px}
.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:28px 0}
.footer-columns section{display:flex;flex-direction:column;gap:7px}
.footer-columns h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 7px}
.footer-columns a{color:#c9d3e3;font-size:.85rem}
.footer-columns a:hover{color:#fff}
.footer-seo-copy{padding:17px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.footer-seo-copy strong{color:#fff;font-size:.88rem}
.footer-seo-copy p{color:#9eabc0;font-size:.79rem;max-width:900px;margin:8px 0 0}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:20px;color:#8492aa;font-size:.76rem}

/* Establishment identity */
.type-ecole{--category:var(--cyan)}
.type-college{--category:var(--indigo)}
.type-lycee{--category:var(--coral)}
.establishment-page .hero-card{position:relative;overflow:hidden}
.establishment-page .hero-card:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--category)
}
.establishment-page .eyebrow{color:var(--category)}
.establishment-page .section-kicker{color:var(--category)}
.didelio-essential{
  position:relative;background:linear-gradient(135deg,var(--saffron-soft),#fff8e9);
  border:1px solid #f5df9e;border-radius:16px;padding:19px 20px 17px;margin:0 0 24px
}
.didelio-essential:before{
  content:"";position:absolute;left:0;top:15px;bottom:15px;width:4px;background:var(--saffron);border-radius:0 4px 4px 0
}
.essential-label{display:block;color:#896411;text-transform:uppercase;letter-spacing:.09em;font-size:.69rem;font-weight:900;margin-bottom:6px}
.didelio-essential p{margin:0;color:#3d4657;line-height:1.72}
.inline-guide-link{white-space:nowrap;font-weight:800;font-size:.82rem;margin-left:5px}
.data-sources-card{background:linear-gradient(135deg,#fff,#fafbfe)}
.source-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.source-timeline>div{border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--surface-soft)}
.source-timeline span{display:block;color:var(--muted);font-size:.73rem}
.source-timeline strong{display:block;font-size:1.05rem;margin-top:3px}

/* Static pages */
.static-main{padding-bottom:10px}
.static-hero{
  padding:42px 44px;margin-bottom:24px;border:1px solid var(--line);border-radius:26px;
  background:linear-gradient(135deg,#fffdf9 0%,#fff 55%,#f0fbfb 100%);box-shadow:var(--shadow-soft)
}
.static-eyebrow,.home-kicker{
  display:block;text-transform:uppercase;letter-spacing:.095em;color:#85600d;font-size:.72rem;font-weight:900
}
.static-hero h1{font-size:clamp(2rem,4vw,3.35rem);max-width:860px;margin:7px 0 12px;line-height:1.08;letter-spacing:-.045em}
.static-hero p{max-width:760px;color:var(--muted);font-size:1.04rem;margin:0}
.static-section{margin:34px 0}
.static-section-heading{margin-bottom:16px}
.static-section-heading h2{font-size:1.7rem;margin:4px 0}
.static-content-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-soft);margin-bottom:22px
}
.static-content-card h2{margin-top:0}
.preview-note,.static-note{background:#f7f9fd;border-left:3px solid var(--saffron);padding:12px 14px;border-radius:8px;color:var(--muted);font-size:.88rem}
.home-hero{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:26px;align-items:stretch;
  padding:48px 0 32px
}
.home-hero-copy{background:#fff;border:1px solid var(--line);border-radius:28px;padding:46px;box-shadow:var(--shadow)}
.home-hero-copy h1{font-size:clamp(2.45rem,5vw,4.65rem);line-height:1.01;letter-spacing:-.058em;margin:9px 0 18px;max-width:850px}
.home-hero-copy p{font-size:1.08rem;color:var(--muted);max-width:720px}
.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.brand-button{
  display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:11px 15px;font-weight:850;font-size:.87rem;border:0;cursor:pointer
}
.brand-button:hover{text-decoration:none}
.brand-button-primary{background:var(--ink);color:#fff}.brand-button-primary:hover{background:#253554}
.brand-button-secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}
.home-data-card{
  position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)
}
.home-data-card:after{
  content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-45px;bottom:-55px;background:var(--saffron);opacity:.95
}
.home-data-card .data-card-label{color:#f8d57e;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.home-data-card strong{display:block;font-size:1.65rem;line-height:1.2;margin:14px 0;position:relative;z-index:1}
.home-data-card p{color:#b9c5d8;position:relative;z-index:1}
.home-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 36px}
.home-count-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden
}
.home-count-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--category-card)}
.count-ecole{--category-card:var(--cyan)}.count-college{--category-card:var(--indigo)}.count-lycee{--category-card:var(--coral)}
.home-count-card span{display:block;color:var(--muted);font-size:.8rem}.home-count-card strong{display:block;color:var(--ink);font-size:2rem;letter-spacing:-.045em;margin:4px 0}.home-count-card em{font-style:normal;font-size:.8rem;font-weight:850;color:#50617a}
.guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.guide-grid-large{margin-bottom:30px}
.guide-card{
  display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;color:var(--ink);box-shadow:var(--shadow-soft)
}
.guide-card:hover{transform:translateY(-2px);text-decoration:none;border-color:#cdd6e5}
.guide-card>span{display:block;color:#a27714;font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
.guide-card>strong{display:block;font-size:1.05rem;margin:7px 0}
.guide-card p{color:var(--muted);font-size:.84rem;line-height:1.55}
.guide-card em{font-style:normal;color:#345fc4;font-weight:850;font-size:.78rem}
.brand-manifesto{
  margin:38px 0;padding:34px;border-radius:22px;background:linear-gradient(135deg,var(--ink),#25385d);color:#fff
}
.brand-manifesto>span{color:#f7d478;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:900}
.brand-manifesto h2{font-size:2rem;max-width:800px;margin:8px 0}
.brand-manifesto p{color:#bbc6d7;max-width:760px}
.hub-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.hub-stat-strip>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.hub-stat-strip strong{display:block;font-size:1.4rem}.hub-stat-strip span{display:block;color:var(--muted);font-size:.79rem;margin-top:3px}
.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.feature-list>div{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;padding:14px}
.feature-list strong,.feature-list span{display:block}.feature-list span{color:var(--muted);font-size:.8rem;margin-top:3px}
.big-inline-stat{display:flex;align-items:end;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.big-inline-stat strong{font-size:2.4rem;line-height:1}.big-inline-stat span{color:var(--muted)}
.guide-article{max-width:880px;margin:0 auto 30px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow-soft)}
.article-section+ .article-section{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.article-section h2{font-size:1.35rem;margin:0 0 10px}.article-section p{color:#43526b;line-height:1.78}
.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:30px}
.glossary-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}
.glossary-grid h2{font-size:1rem;margin:0 0 7px}.glossary-grid p{margin:0;color:var(--muted);font-size:.86rem}
.source-list{display:grid;gap:10px;margin-bottom:20px}
.source-list article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}
.source-list h2{font-size:1rem;margin:0}.source-list code{display:inline-block;margin:5px 0;background:#f4f6fa;padding:3px 7px;border-radius:6px;color:#4a5d7c}.source-list p{margin:5px 0 0;color:var(--muted)}
.faq-list{display:grid;gap:10px;margin-bottom:30px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 18px}
.faq-list summary{cursor:pointer;font-weight:820;padding:16px 0}.faq-list p{color:var(--muted);margin:0 0 16px}
.blog-status{display:inline-block;background:var(--saffron-soft);color:#815f12;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900;text-transform:uppercase}
.blog-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.blog-topics span{background:#f4f6fa;border-radius:999px;padding:7px 10px;font-size:.78rem;color:#54647d}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;margin-bottom:30px}
.contact-form{display:grid;gap:14px;margin-top:20px}.contact-form label{display:grid;gap:6px;font-size:.82rem;font-weight:800;color:#45536a}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;font:inherit;color:var(--ink);background:#fff}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(45,199,201,.25);border-color:var(--cyan)}
.form-honeypot{position:absolute;left:-9999px}
.contact-side{background:var(--ink);color:#fff;border-radius:18px;padding:22px;height:max-content}.contact-side p{color:#b8c4d6;font-size:.84rem}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legal-warning{background:#fff3d6;border:1px solid #efd58c;border-radius:12px;padding:14px;color:#795b13;margin-bottom:30px}
.fake-search{display:flex;gap:8px;margin-top:18px}.fake-search input{flex:1;border:1px solid var(--line);border-radius:11px;padding:11px}.fake-search button{border:0;border-radius:11px;padding:0 15px;background:#dce2eb;color:#8490a3}

/* Base establishment CSS adapted from V1.1 */
.establishment-page main{padding:24px 0 12px}
.hero-card,.card,.aside-card{
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)
}
.hero-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;
  border-radius:26px;padding:34px;margin-bottom:16px
}
.eyebrow{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px}
.hero-card h1{font-size:clamp(2rem,4.7vw,3.3rem);margin:0;line-height:1.06;letter-spacing:-.048em}
.lead{margin:13px 0 0;color:var(--muted);font-size:.98rem}
.hero-stats{display:flex;gap:10px}
.hero-stat{min-width:112px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:var(--shadow-soft)}
.hero-stat strong{display:block;font-size:1.45rem;line-height:1.05;letter-spacing:-.04em}.hero-stat span{display:block;color:var(--muted);font-size:.74rem;font-weight:760;margin-top:5px}.hero-stat small{display:block;color:#93a0b3;font-size:.66rem;margin-top:6px}
.section-nav{
  position:sticky;top:76px;z-index:25;margin:0 0 18px;display:flex;gap:7px;overflow-x:auto;padding:9px;
  background:rgba(242,245,250,.95);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px
}
.section-nav a{flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:#465771;font-size:.78rem;font-weight:800}
.section-nav a:hover{text-decoration:none;border-color:#c6d2e4}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:18px;align-items:start}
.card{padding:25px;border-radius:19px;margin-bottom:18px;scroll-margin-top:152px}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:17px}
.section-kicker{display:block;text-transform:uppercase;letter-spacing:.085em;font-size:.69rem;font-weight:900}
.section-heading h2{font-size:1.38rem;margin:4px 0 0;letter-spacing:-.025em}
.section-value{text-align:right}.section-value strong{display:block;font-size:1.75rem;line-height:1}.section-value span{display:block;color:var(--muted);font-size:.72rem;margin-top:5px}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.info-item{padding:13px 0;border-bottom:1px solid var(--line)}.info-item span{display:block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.info-item strong{display:block;margin-top:4px;font-size:.91rem;line-height:1.5}
.action-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:9px 13px;font-size:.82rem;font-weight:850}.button:hover{text-decoration:none}.button-primary{background:var(--ink);color:#fff}.button-secondary{background:#f8f9fc;border:1px solid var(--line);color:#34465f}
.context-text{color:#44536b;margin:0 0 18px;line-height:1.72}.source-note{font-size:.79rem;color:var(--muted);margin:16px 0 0}.source-note-top{margin:0 0 20px;padding:10px 12px;border-left:3px solid var(--saffron);background:#fff9e9;border-radius:7px}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:13px;padding:14px}.metric-card span{display:block;color:var(--muted);font-size:.73rem}.metric-card strong{display:block;font-size:1.08rem;margin-top:4px}.metric-positive{background:var(--green-soft);border-color:#ccebdc}.metric-positive strong{color:var(--green)}.metric-negative{background:var(--red-soft);border-color:#f0d1d4}.metric-negative strong{color:var(--red)}
.year-badge{background:#f0f4ff;color:#315fc0;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900}
.line-chart-wrap{width:100%;overflow:hidden;margin-top:5px}.line-chart{width:100%;height:215px;display:block;overflow:visible}.chart-axis{stroke:#dfe6f1;stroke-width:1.2}.chart-line{fill:none;stroke:var(--category);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-dot{fill:#fff;stroke:var(--category);stroke-width:3;vector-effect:non-scaling-stroke}.chart-value{font-size:13px;fill:#31425e;font-weight:850}.chart-year{font-size:12px;fill:#7c899d}
.speciality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.speciality-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:55px;padding:11px 13px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px}.speciality-card span{font-size:.82rem;line-height:1.35}.speciality-card strong{white-space:nowrap;font-size:.88rem}.speciality-card small{font-size:.69rem;color:var(--muted)}
.more-specialities{margin-top:12px}.more-specialities summary{cursor:pointer;color:#345fc4;font-weight:850;font-size:.82rem;list-style:none}.more-specialities summary::-webkit-details-marker{display:none}.speciality-grid-more{margin-top:10px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-card{display:flex;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.service-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px}.service-dot-yes{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.service-dot-no{background:#aab4c4;box-shadow:0 0 0 4px #eef1f5}.service-card span{display:block;color:var(--muted);font-size:.72rem}.service-card strong{display:block;margin-top:1px;font-size:.91rem}
.nearby-list{display:grid;gap:8px}.nearby-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.nearby-item strong{display:block;font-size:.86rem}.nearby-item span{display:block;color:var(--muted);font-size:.76rem}.distance-badge{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 8px;white-space:nowrap!important;font-size:.71rem!important}
.content-aside{position:sticky;top:148px}.aside-card{padding:18px;border-radius:17px}.aside-label{display:block;color:var(--category);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.aside-name{display:block;font-size:.98rem;line-height:1.35;margin:6px 0 14px}.aside-list>div{padding:10px 0;border-top:1px solid var(--line)}.aside-list span{display:block;color:var(--muted);font-size:.68rem}.aside-list strong{display:block;font-size:.83rem;margin-top:2px}.aside-note{font-size:.7rem;line-height:1.5;color:#8d99ac;margin:14px 0 0}

/* Hide old local header/footer if any accidental remnants */
.site-header,.site-footer{display:none!important}

@media(max-width:980px){
  .desktop-nav,.header-search-link{display:none}.mobile-nav{display:block}
  .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-hero{grid-template-columns:1fr}
  .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content-layout{grid-template-columns:1fr}.content-aside{position:static}
  .repere-map-embed iframe{height:210px}
}
@media(max-width:700px){
  .site-wrap,.wrap{width:min(100% - 20px,1180px)}
  .global-header-inner{height:62px}.global-logo img{width:128px}
  .static-hero{padding:26px 22px;border-radius:18px}.static-hero h1{font-size:2.1rem}
  .home-hero{padding-top:22px}.home-hero-copy,.home-data-card{padding:26px;border-radius:20px}.home-hero-copy h1{font-size:2.55rem}
  .home-counts,.hub-stat-strip,.feature-list,.glossary-grid,.legal-grid{grid-template-columns:1fr}
  .guide-grid{grid-template-columns:1fr}
  .footer-brand-row{grid-template-columns:1fr}.footer-columns{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}
  .contact-layout{grid-template-columns:1fr}.fake-search{flex-direction:column}
  .hero-card{grid-template-columns:1fr;padding:23px;border-radius:18px}.hero-card h1{font-size:2.05rem}.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-nav{top:66px}.card{padding:20px;scroll-margin-top:140px}
  .info-grid,.metric-grid,.speciality-grid,.service-grid,.source-timeline{grid-template-columns:1fr}
  .line-chart{height:185px}.nearby-item{align-items:flex-start}
}


/* V1.2.3 — finition identité Didelio */
.header-search-link{white-space:nowrap}
.footer-brand-row>div:first-child{max-width:680px}
.footer-brand-row>div:first-child p{max-width:620px}

.didelio-reperes{
  border-top:4px solid var(--category);
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)
}
.reperes-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.repere-item{
  min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff
}
.repere-item span,.repere-item small{display:block}
.repere-item span{font-size:.66rem;text-transform:uppercase;letter-spacing:.065em;color:var(--muted);font-weight:850}
.repere-item strong{display:block;font-size:1.18rem;letter-spacing:-.03em;margin-top:3px}
.repere-item small{font-size:.66rem;color:#8c99ad;margin-top:3px}
.repere-item.repere-primary{background:color-mix(in srgb,var(--category) 8%,#fff);border-color:color-mix(in srgb,var(--category) 24%,var(--line))}
.repere-text{font-size:.96rem!important;letter-spacing:0!important}
.reperes-context{
  display:flex;gap:6px;flex-wrap:wrap;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)
}
.reperes-context span{
  display:inline-flex;padding:5px 8px;background:#f4f6fa;border-radius:999px;color:#65738a;font-size:.68rem;font-weight:720
}
.repere-map-link{
  display:flex;justify-content:center;margin-top:13px;border-radius:10px;padding:9px 11px;
  background:var(--ink);color:#fff;font-size:.78rem;font-weight:850
}
.repere-map-link:hover{background:#243555;color:#fff;text-decoration:none}

.repere-map-shell{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}
.repere-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
.repere-map-kicker{display:block;color:#7d8898;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.repere-map-head strong{display:block;font-size:.92rem;letter-spacing:-.02em}
.repere-map-embed{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#eaf0f8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.repere-map-embed iframe{display:block;width:100%;height:224px;border:0;background:#eaf0f8}
.repere-map-caption{margin:10px 2px 0;font-size:.74rem;line-height:1.45;color:#55657d}
.repere-map-attribution{margin:7px 2px 0;font-size:.72rem;color:#7d8898}
.repere-map-attribution a{color:#355b92;font-weight:800}
.repere-map-attribution a:hover{text-decoration:none;color:#243d66}

.guide-card{position:relative;overflow:hidden;min-height:210px}
.guide-card:before{
  content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--guide-accent,#d7deea)
}
.guide-card-context{--guide-accent:var(--cyan)}
.guide-card-results{--guide-accent:var(--coral)}
.guide-card-trend{--guide-accent:var(--indigo)}
.guide-card-path{--guide-accent:var(--saffron)}
.guide-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.guide-category{
  color:#7a6440!important;font-size:.66rem!important;text-transform:uppercase;letter-spacing:.08em;font-weight:900!important
}
.guide-symbol{
  display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;
  background:color-mix(in srgb,var(--guide-accent,#d7deea) 15%,#fff);color:var(--ink)!important;
  font-size:.72rem!important;font-weight:950!important;letter-spacing:-.02em
}
.guide-card>strong{font-size:1.08rem}

.glossary-alpha{
  position:sticky;top:86px;z-index:12;display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px;
  padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(242,245,250,.95);backdrop-filter:blur(10px)
}
.glossary-alpha a{
  display:inline-flex;align-items:center;justify-content:center;min-width:35px;height:35px;padding:0 9px;
  background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:.78rem;font-weight:900
}
.glossary-alpha a:hover{text-decoration:none;border-color:#bfcce0}
.glossary-grid article{position:relative;scroll-margin-top:145px;padding-top:22px}
.glossary-letter{
  position:absolute;right:15px;top:12px;color:#d7deea;font-size:1.85rem;font-weight:950;line-height:1
}

.home-page .global-breadcrumb{display:none!important}

@media(max-width:1100px){
  .header-search-link{font-size:.78rem;padding:9px 11px}
  .global-header-inner{gap:20px}
}

@media(max-width:700px){
  .global-logo img{width:144px}
  .reperes-grid{grid-template-columns:1fr 1fr}
  .glossary-alpha{top:66px}
}

@media print{
  @page{margin:14mm}
  html,body{background:#fff!important}
  .brand-ribbon,
  .global-header,
  .section-nav,
  .global-footer,
  .content-aside,
  .action-row,
  .button,
  .repere-map-link,
  .glossary-alpha{display:none!important}
  .site-wrap,.wrap{width:100%!important;max-width:none!important;margin:0!important}
  .establishment-page main,.static-main{padding:0!important}
  .content-layout{display:block!important}
  .hero-card,.card,.static-hero,.static-content-card,.guide-article{
    box-shadow:none!important;border:1px solid #d8dde6!important;break-inside:avoid
  }
  .card{margin-bottom:10mm!important}
  .hero-card{margin-bottom:8mm!important}
  .line-chart{height:150px!important}
  a{color:inherit!important;text-decoration:none!important}
}


/* V1.3 — blog public + partenaires */
.blog-grid-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px}
.blog-card-public{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft)}
.blog-card-image{display:block;aspect-ratio:16/9;background:#eef2f7;overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.blog-card-public:hover .blog-card-image img{transform:scale(1.02)}
.blog-card-body{padding:19px}.blog-card-category,.partner-category{display:block;color:#9a7114;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:900}
.blog-card-body h2{font-size:1.15rem;line-height:1.28;margin:7px 0}.blog-card-body h2 a{color:var(--ink)}.blog-card-body p{color:var(--muted);font-size:.85rem;line-height:1.62}
.blog-card-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:.72rem;color:#8490a3}.blog-card-meta a{font-weight:850}
.public-article{max-width:900px;margin:0 auto 34px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden}
.public-article-hero-image{display:block;width:100%;max-height:500px;object-fit:cover}
.public-article-header{padding:40px 42px 28px;border-bottom:1px solid var(--line)}.public-article-header h1{font-size:clamp(2.2rem,5vw,3.9rem);line-height:1.04;letter-spacing:-.05em;margin:8px 0 16px}.public-article-lead{font-size:1.08rem;color:var(--muted);line-height:1.7}.public-article-meta{display:flex;gap:12px;flex-wrap:wrap;color:#8a96aa;font-size:.78rem}
.public-article-content{padding:34px 42px 46px;font-size:1rem;line-height:1.8;color:#37465e}.public-article-content h2{font-size:1.65rem;line-height:1.2;margin:1.8em 0 .6em;color:var(--ink)}.public-article-content h3{font-size:1.25rem;margin:1.6em 0 .5em;color:var(--ink)}.public-article-content a{font-weight:750}.public-article-content img{max-width:100%;height:auto;border-radius:13px;margin:15px 0}.public-article-content blockquote{margin:22px 0;padding:16px 20px;border-left:4px solid var(--saffron);background:#fff8e8;border-radius:8px}.public-article-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.9rem}.public-article-content th,.public-article-content td{border:1px solid var(--line);padding:9px;text-align:left}
.partners-grid-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:34px}.partner-card-public{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow-soft)}.partner-logo-wrap{height:95px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:11px;margin-bottom:15px}.partner-logo-wrap img{max-width:85%;max-height:70px;object-fit:contain}.partner-card-public h2{font-size:1.1rem;margin:7px 0}.partner-card-public p{color:var(--muted);font-size:.84rem;line-height:1.6}.partner-link{font-weight:850;font-size:.8rem}.partner-cta .brand-button-secondary{margin-top:8px;color:var(--ink)}
@media(max-width:950px){.blog-grid-public,.partners-grid-public{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.blog-grid-public,.partners-grid-public{grid-template-columns:1fr}.public-article-header,.public-article-content{padding-left:22px;padding-right:22px}}


/* V1.4 — Accueil éditorial + ticker + derniers articles */
.home-ticker{position:relative;overflow:hidden;margin:-6px 0 20px;border:1px solid var(--line);border-radius:14px;background:var(--ink);color:#fff;box-shadow:var(--shadow-soft)}
.home-ticker:before,.home-ticker:after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:3;pointer-events:none}
.home-ticker:before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}.home-ticker:after{right:0;background:linear-gradient(270deg,var(--ink),transparent)}
.home-ticker-track{display:flex;width:max-content;animation:didelioTicker 34s linear infinite}.home-ticker:hover .home-ticker-track{animation-play-state:paused}
.home-ticker-group{display:flex;align-items:center;flex-shrink:0}.home-ticker-group span{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:12px 18px;font-size:.78rem;font-weight:800;color:#dce5f3}
.home-ticker-group i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--saffron);box-shadow:20px 0 0 var(--cyan)}
@keyframes didelioTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.home-editorial,.home-data-explained,.home-levels-section,.home-territories,.home-method-section{margin:38px 0}
.home-editorial-heading{max-width:820px;margin-bottom:18px}.home-editorial-heading h2,.home-territories h2,.home-method-section h2{font-size:clamp(1.7rem,3vw,2.25rem);line-height:1.12;letter-spacing:-.035em;margin:5px 0 10px}.home-editorial-heading>p{color:var(--muted);margin:0}
.home-editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow-soft)}
.home-editorial-columns p{color:#43516a;line-height:1.82;margin:0 0 15px}.home-editorial-columns p:last-child{margin-bottom:0}.home-editorial-columns a,.home-level-card a,.home-method-links a{font-weight:800}
.home-data-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-data-feature-grid article{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;min-height:170px;box-shadow:var(--shadow-soft)}
.home-data-feature-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--saffron-soft);color:#816015;font-size:.72rem;font-weight:950}.home-data-feature-grid h3{font-size:1rem;margin:14px 0 7px}.home-data-feature-grid p{color:var(--muted);font-size:.83rem;line-height:1.62;margin:0}
.home-levels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.home-level-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;overflow:hidden;box-shadow:var(--shadow-soft)}
.home-level-card:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--level-color)}.home-level-ecole{--level-color:var(--cyan)}.home-level-college{--level-color:var(--indigo)}.home-level-lycee{--level-color:var(--coral)}
.home-level-card>span{display:inline-block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-top:4px}.home-level-card h3{font-size:1.12rem;line-height:1.25;margin:9px 0}.home-level-card p{color:#4d5c73;font-size:.84rem;line-height:1.7}.home-level-card>a{font-size:.8rem}
.home-territories{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:stretch}.home-territories-copy{background:linear-gradient(135deg,#fff,#f7fbff);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-soft)}.home-territories-copy p{color:#4b5970;line-height:1.75}.home-territory-links{display:grid;gap:10px}.home-territory-links a{display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:#fff;border-radius:16px;padding:19px;min-height:88px}.home-territory-links a:hover{text-decoration:none;transform:translateY(-1px)}.home-territory-links strong{font-size:1.05rem}.home-territory-links span{font-size:.76rem;color:#b9c5d8;margin-top:4px}.home-territory-links a:nth-child(2){background:#24365d}.home-territory-links a:nth-child(3){background:#30466f}
.home-method-section{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px;padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.home-method-section p{color:#4c5a71;line-height:1.75;margin-bottom:0}.home-method-links{display:grid;align-content:center;gap:9px}.home-method-links a{display:block;padding:11px 13px;border-radius:10px;background:#f5f7fb;border:1px solid var(--line);font-size:.81rem;color:var(--ink)}.home-method-links a:hover{text-decoration:none;border-color:#bdc9da}
.recent-posts-section{margin:54px 0 -56px;padding:38px 0 46px;background:linear-gradient(180deg,#eef3f9 0%,#f7f9fc 100%);border-top:1px solid var(--line)}
.recent-posts-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:18px}.recent-posts-heading h2{font-size:1.75rem;letter-spacing:-.035em;margin:4px 0 4px}.recent-posts-heading p{color:var(--muted);font-size:.86rem;margin:0}.recent-posts-all{font-weight:850;font-size:.82rem;white-space:nowrap}
.recent-posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recent-post-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;min-width:0}.recent-post-media{display:block;aspect-ratio:16/8.5;background:#eaf0f7;overflow:hidden}.recent-post-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.recent-post-card:hover .recent-post-media img{transform:scale(1.025)}
.recent-post-placeholder{position:relative;display:flex;align-items:flex-end;justify-content:space-between;width:100%;height:100%;padding:18px;background:linear-gradient(135deg,var(--ink),#283d67);color:#fff;overflow:hidden}.recent-post-placeholder:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-30px;bottom:-48px;background:var(--saffron)}.recent-post-placeholder strong{position:relative;z-index:2;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#f5d477}.recent-post-placeholder em{position:relative;z-index:2;font-size:2.1rem;font-style:normal;font-weight:950;color:#fff}
.recent-post-body{display:flex;flex-direction:column;flex:1;padding:17px}.recent-post-meta{display:flex;justify-content:space-between;gap:12px;color:#8090a7;font-size:.68rem}.recent-post-meta span{color:#805e11;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.recent-post-body h3{font-size:1.03rem;line-height:1.3;margin:9px 0 7px}.recent-post-body h3 a{color:var(--ink)}.recent-post-body p{color:var(--muted);font-size:.8rem;line-height:1.55;margin:0 0 13px}.recent-post-read{margin-top:auto;font-size:.76rem;font-weight:850}
@media(max-width:980px){.home-data-feature-grid,.home-levels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-territories,.home-method-section{grid-template-columns:1fr}.recent-posts-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.home-ticker{margin-top:0}.home-editorial-columns{grid-template-columns:1fr;padding:22px}.home-data-feature-grid,.home-levels-grid,.recent-posts-grid{grid-template-columns:1fr}.recent-posts-heading{align-items:flex-start;flex-direction:column}.recent-posts-section{margin-bottom:-56px;padding-top:30px}}
@media(prefers-reduced-motion:reduce){.home-ticker-track{animation:none;display:block;width:auto}.home-ticker-group{flex-wrap:wrap;justify-content:center}.home-ticker-group[aria-hidden="true"]{display:none}.recent-post-media img{transition:none}}
@media print{.home-ticker,.recent-posts-section{display:none!important}}

/* V1.5 — corpus éditorial initial */
.public-article-content .article-intro{font-size:1.08rem;line-height:1.8;color:#33445f;margin:0 0 28px}
.public-article-content h2{scroll-margin-top:110px;margin-top:34px}
.public-article-content h3{font-size:1.03rem;margin:24px 0 8px}
.public-article-content ul{padding-left:22px}
.public-article-content li{margin:6px 0}
.public-article-content .article-related-links{margin-top:38px;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#fff8e8,#fff)}
.public-article-content .article-related-links h2{margin:0 0 12px;font-size:1.18rem}
.public-article-content .article-related-links ul{margin:0;padding-left:20px}
.public-article-content .article-related-links a{font-weight:800}
.partners-empty{color:var(--muted)}


/* ==========================================================
   V1.6 — routage généralisé + recherche établissements
   ========================================================== */
.nearby-main{display:block;min-width:0;flex:1;color:var(--ink)}
.nearby-main:hover{text-decoration:none}
.nearby-main:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.nearby-main strong,.nearby-main span{display:block}
.result-scope{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;font-weight:760}

.search-live-card{max-width:980px;margin-left:auto;margin-right:auto}
.search-form-live>label{display:block;font-weight:850;font-size:.82rem;margin-bottom:7px}
.search-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.search-form-row input{
  width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  font:inherit;color:var(--ink);background:#fff
}
.search-form-row input:focus{outline:3px solid rgba(45,199,201,.15);border-color:var(--cyan)}
.search-results-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:28px 0 12px}
.search-results-head h2{font-size:1.25rem;margin:0}
.search-results-head>span{color:var(--muted);font-size:.76rem}
.search-results-list{display:grid;gap:8px}
.search-result-item{
  position:relative;display:grid;grid-template-columns:105px minmax(0,1fr);gap:2px 16px;
  padding:15px 16px 15px 20px;border:1px solid var(--line);border-radius:13px;
  background:#fff;color:var(--ink);overflow:hidden
}
.search-result-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--result-color,#aeb8c7)}
.search-result-item:hover{text-decoration:none;border-color:#bcc8da;transform:translateY(-1px)}
.search-result-ecole{--result-color:var(--cyan)}
.search-result-college{--result-color:var(--indigo)}
.search-result-lycee{--result-color:var(--coral)}
.search-result-type{grid-row:1/3;align-self:center;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.065em;font-weight:900}
.search-result-item strong{font-size:.94rem;line-height:1.35}
.search-result-location{color:var(--muted);font-size:.75rem;margin-top:2px}
.search-message{padding:13px 14px;border-radius:10px;background:#f5f7fb;color:#53627a}
.search-limit-note{color:var(--muted);font-size:.76rem;margin-top:12px}
.search-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:22px}
.search-help-grid>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface-soft)}
.search-help-grid strong,.search-help-grid span{display:block}
.search-help-grid strong{font-size:.84rem}.search-help-grid span{color:var(--muted);font-size:.75rem;margin-top:4px}
.establishment-404-actions{max-width:760px}

@media(max-width:700px){
  .search-form-row{grid-template-columns:1fr}
  .search-result-item{grid-template-columns:1fr;padding-left:17px}
  .search-result-type{grid-row:auto}
  .search-help-grid{grid-template-columns:1fr}
}


/* V1.7 — Pages géographiques */
.geo-main{padding:0 0 10px}
.geo-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:stretch;margin:14px 0 18px;padding:30px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);box-shadow:var(--shadow-soft)}
.geo-hero-copy{display:flex;flex-direction:column;justify-content:center}
.geo-hero h1{font-size:clamp(2rem,4.3vw,3.35rem);line-height:1.02;letter-spacing:-.05em;margin:8px 0 10px}
.geo-hero p{color:var(--muted);font-size:.94rem;margin:0}
.geo-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.geo-stat{display:flex;flex-direction:column;justify-content:center;padding:14px;background:#fff;border:1px solid var(--line);border-radius:13px}
.geo-stat strong{font-size:1.35rem;letter-spacing:-.035em}
.geo-stat span{color:var(--muted);font-size:.7rem;margin-top:2px}
.geo-essential{margin:0 0 20px;padding:22px 24px;border-radius:16px;background:linear-gradient(135deg,var(--ink),#24385f);color:#fff;box-shadow:var(--shadow-soft)}
.geo-essential>span{display:block;color:#f3c458;text-transform:uppercase;letter-spacing:.085em;font-size:.67rem;font-weight:950;margin-bottom:7px}
.geo-essential p{font-size:.94rem;line-height:1.7;margin:0;max-width:980px}
.geo-section{margin:20px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}
.geo-section-heading{max-width:900px;margin-bottom:15px}
.geo-section-heading>span{color:#7e620f;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:950}
.geo-section-heading h2{font-size:1.55rem;line-height:1.18;letter-spacing:-.035em;margin:5px 0 6px}
.geo-section-heading p{color:var(--muted);font-size:.82rem;line-height:1.6;margin:0}
.geo-availability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.geo-availability-grid>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd}
.geo-availability-value{display:flex;justify-content:space-between;gap:10px;align-items:end}
.geo-availability-value strong{font-size:1.12rem}
.geo-availability-value span{color:var(--muted);font-size:.72rem;font-weight:800}
.geo-progress{height:6px;border-radius:999px;background:#e8edf4;overflow:hidden;margin:9px 0 6px}
.geo-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--indigo));border-radius:999px}
.geo-availability-grid small{color:#8996a9;font-size:.65rem}
.geo-establishment-groups{display:grid;gap:16px}
.geo-establishment-group{border:1px solid var(--line);border-radius:15px;overflow:hidden}
.geo-group-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#f7f9fc;border-bottom:1px solid var(--line)}
.geo-group-heading h3{font-size:1rem;margin:0}
.geo-group-heading span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.68rem;font-weight:900}
.geo-group-ecole{border-top:4px solid var(--cyan)}
.geo-group-college{border-top:4px solid var(--indigo)}
.geo-group-lycee{border-top:4px solid var(--coral)}
.geo-establishment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.geo-establishment-list a{display:block;padding:12px 14px;color:var(--ink);border-bottom:1px solid #edf0f5}
.geo-establishment-list a:nth-child(odd){border-right:1px solid #edf0f5}
.geo-establishment-list a:hover{background:#f8faff;text-decoration:none}
.geo-establishment-list strong,.geo-establishment-list span{display:block}
.geo-establishment-list strong{font-size:.82rem;line-height:1.35}
.geo-establishment-list span{color:var(--muted);font-size:.68rem;margin-top:3px}
.geo-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.geo-city-card{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;color:var(--ink)}
.geo-city-card:hover{text-decoration:none;background:#fff;border-color:#bcc9dc}
.geo-city-card strong{font-size:.88rem}
.geo-city-card span,.geo-city-card small{color:var(--muted);font-size:.68rem;margin-top:3px}
.geo-city-card small{font-size:.64rem}
.geo-department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.geo-department-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:2px 9px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fbfcfe}
.geo-department-card:hover{text-decoration:none;background:#fff;border-color:#bcc9dc}
.geo-department-card>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--ink);color:#fff;font-size:.68rem;font-weight:950}
.geo-department-card strong{font-size:.82rem}
.geo-department-card small{color:var(--muted);font-size:.65rem}
.geo-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.geo-nav-card{display:flex;flex-direction:column;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8faff;color:var(--ink)}
.geo-nav-card:hover{text-decoration:none;border-color:#bdc9da;background:#fff}
.geo-nav-card>span{color:#7f681c;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:950}
.geo-nav-card strong{font-size:.91rem;margin-top:5px}
.geo-nav-card small{color:var(--muted);font-size:.67rem;margin-top:3px}
.geo-hub-intro{margin-bottom:18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,#f6fbff);box-shadow:var(--shadow-soft)}
.geo-hub-intro p{max-width:950px;color:#4e5c72;line-height:1.7}
.geo-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.geo-hub-grid>a{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;color:var(--ink)}
.geo-hub-grid>a:hover{text-decoration:none;background:#fff;border-color:#bcc8da}
.geo-hub-grid>a>span{color:#836413;font-size:.64rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.geo-hub-grid>a>strong{font-size:.84rem;margin-top:4px}
.geo-hub-grid>a>small{color:var(--muted);font-size:.65rem;margin-top:3px}
.reperes-context a{display:inline-flex;padding:5px 8px;background:#eef5ff;border-radius:999px;color:#355b92;font-size:.68rem;font-weight:800}
.reperes-context a:hover{text-decoration:none;background:#e6f0ff}
@media(max-width:980px){
  .geo-hero{grid-template-columns:1fr}
  .geo-availability-grid{grid-template-columns:1fr 1fr}
  .geo-city-grid{grid-template-columns:1fr 1fr}
  .geo-department-grid,.geo-hub-grid{grid-template-columns:1fr 1fr}
  .geo-nav-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .geo-hero{padding:22px}
  .geo-hero-stats{grid-template-columns:1fr 1fr}
  .geo-section{padding:18px}
  .geo-availability-grid,.geo-city-grid,.geo-department-grid,.geo-hub-grid,.geo-nav-grid{grid-template-columns:1fr}
  .geo-establishment-list{grid-template-columns:1fr}
  .geo-establishment-list a:nth-child(odd){border-right:0}
}
@media print{.geo-navigation-section{display:none!important}}


/* ======================================================================
   V1.9 — REFONTE VISUELLE DIDELIO + CLASSEMENTS IPS
   ====================================================================== */
:root{
  --ink:#101d39;
  --ink-soft:#203154;
  --page:#f5f7fb;
  --surface:#ffffff;
  --surface-soft:#f8faff;
  --line:#dfe5ef;
  --muted:#68768e;
  --saffron:#f1b83e;
  --cyan:#22bfc1;
  --indigo:#6258e8;
  --coral:#ef6b5f;
  --shadow:0 18px 48px rgba(16,29,57,.075);
  --shadow-soft:0 9px 28px rgba(16,29,57,.055);
}
html{background:var(--page)}
body{background:
  radial-gradient(circle at 8% 0%,rgba(34,191,193,.08),transparent 30rem),
  radial-gradient(circle at 92% 4%,rgba(241,184,62,.10),transparent 26rem),
  linear-gradient(180deg,#f8faff 0,#f4f7fb 48rem,#f5f7fb 100%)}
.site-wrap,.wrap{width:min(1260px,calc(100% - 42px))}
.brand-ribbon{height:3px;background:linear-gradient(90deg,var(--cyan),var(--indigo) 45%,var(--coral) 72%,var(--saffron))}
.global-header{background:rgba(255,255,255,.91);border-bottom:1px solid rgba(210,219,233,.82);box-shadow:0 5px 26px rgba(16,29,57,.035)}
.global-header-inner{height:78px;gap:22px}
.global-logo img{width:172px}
.desktop-nav{gap:4px}
.desktop-nav>a,.nav-dropdown>summary{font-size:.84rem;font-weight:800;padding:9px 11px;border-radius:999px}
.desktop-nav>a:hover,.nav-dropdown>summary:hover,.desktop-nav .is-active{background:#eef3fa;color:var(--ink)}
.header-search-link{border-radius:999px;padding:10px 15px;background:var(--ink);box-shadow:0 7px 16px rgba(16,29,57,.14)}
.nav-dropdown-panel{top:48px;border-radius:16px;padding:8px;box-shadow:0 24px 50px rgba(16,29,57,.14)}

.global-breadcrumb{margin-top:22px;color:#8190a6}
.static-hero{position:relative;overflow:hidden;padding:38px 40px;border-radius:24px;background:linear-gradient(135deg,#101d39,#1d3159 74%,#243c69);border:0;color:#fff;box-shadow:0 22px 48px rgba(16,29,57,.14)}
.static-hero:after{content:"";position:absolute;right:-70px;top:-115px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(34,191,193,.35),rgba(34,191,193,0) 68%)}
.static-hero .static-eyebrow{color:#f7cf72}.static-hero h1{position:relative;z-index:1;max-width:920px}.static-hero p{position:relative;z-index:1;color:#c9d4e7;max-width:820px}
.static-content-card,.card,.aside-card{border-color:#dce4ef;box-shadow:var(--shadow-soft)}

/* Homepage — search-first data portal */
.home-hero{grid-template-columns:minmax(0,1.55fr) minmax(310px,.58fr);gap:18px;padding:34px 0 20px}
.home-hero-copy{position:relative;overflow:hidden;padding:46px 48px;border:0;border-radius:28px;background:linear-gradient(135deg,#101d39 0%,#1b315a 72%,#254470 100%);color:#fff;box-shadow:0 24px 55px rgba(16,29,57,.16)}
.home-hero-copy:after{content:"";position:absolute;right:-80px;top:-100px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(34,191,193,.32),rgba(34,191,193,0) 68%);pointer-events:none}
.home-hero-copy .home-kicker{color:#f5ca68}.home-hero-copy h1{position:relative;z-index:1;font-size:clamp(2.6rem,5vw,4.8rem);max-width:900px}.home-hero-copy>p{position:relative;z-index:1;color:#c5d0e3;max-width:760px}
.home-search-v19{position:relative;z-index:2;margin-top:24px;max-width:780px}
.home-search-v19>label{display:block;color:#dce6f5;font-size:.73rem;font-weight:850;margin-bottom:7px}
.home-search-v19>div{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:6px;background:#fff;border-radius:15px;box-shadow:0 12px 28px rgba(0,0,0,.13)}
.home-search-v19 input{width:100%;border:0;outline:0;background:transparent;padding:10px 12px;font:inherit;color:var(--ink);min-width:0}
.home-search-v19 button{border:0;border-radius:10px;background:var(--saffron);color:#17233e;font:inherit;font-weight:900;padding:10px 17px;cursor:pointer}
.home-search-v19 button:hover{filter:brightness(.98)}
.home-hero-copy .home-actions{position:relative;z-index:2;margin-top:15px}.home-hero-copy .brand-button-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#eef3fb}.home-hero-copy .brand-button-secondary:hover{background:rgba(255,255,255,.14)}
.home-data-card{border-radius:28px;padding:30px;background:linear-gradient(160deg,#fff 0%,#f8fbff 100%);color:var(--ink);border:1px solid #dbe4ef;box-shadow:var(--shadow)}
.home-data-card:after{width:135px;height:135px;background:linear-gradient(135deg,var(--saffron),#f7d582);opacity:.95}
.home-data-card .data-card-label{color:#84630d}.home-data-card strong{font-size:1.7rem;color:var(--ink)}.home-data-card p{color:var(--muted)}

/* ticker fix: ONE dot only, no ghost cyan point */
.home-ticker{border:0;border-radius:13px;background:#101d39;box-shadow:0 10px 24px rgba(16,29,57,.10)}
.home-ticker-group span{padding:11px 19px;color:#dce5f3;font-size:.77rem}
.home-ticker-group i{width:6px;height:6px;background:var(--saffron);box-shadow:none!important;flex:0 0 6px}
.home-ticker:before{background:linear-gradient(90deg,#101d39,rgba(16,29,57,0))}.home-ticker:after{background:linear-gradient(270deg,#101d39,rgba(16,29,57,0))}

.home-counts{gap:12px;margin-bottom:22px}
.home-count-card{min-height:160px;padding:22px 24px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(16,29,57,.045);transition:transform .16s ease,box-shadow .16s ease}
.home-count-card:hover{transform:translateY(-3px);text-decoration:none;box-shadow:0 16px 34px rgba(16,29,57,.075)}
.home-count-card:before{height:4px}.home-count-card strong{font-size:2.3rem;margin:7px 0 14px}.home-count-card em{margin-top:auto}
.home-ips-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin:22px 0 42px;padding:28px;border:1px solid #dbe4ef;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:var(--shadow-soft)}
.home-ips-copy h2{font-size:1.75rem;line-height:1.15;letter-spacing:-.035em;margin:6px 0 10px}.home-ips-copy p{color:#526178;line-height:1.72;max-width:620px}
.home-ips-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:18px}.home-ips-actions>a:not(.brand-button){font-size:.8rem;font-weight:850}
.home-ips-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-self:stretch}
.home-ips-card{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);overflow:hidden}
.home-ips-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--ips-card-color)}
.home-ips-ecole{--ips-card-color:var(--cyan)}.home-ips-college{--ips-card-color:var(--indigo)}.home-ips-lycee{--ips-card-color:var(--coral)}
.home-ips-card:hover{text-decoration:none;border-color:#bdcadc;transform:translateY(-1px)}.home-ips-card span{color:var(--muted);font-size:.74rem}.home-ips-card strong{font-size:2.1rem;letter-spacing:-.05em;margin:5px 0}.home-ips-card small{color:#8290a5;font-size:.68rem;line-height:1.4}
.home-editorial,.home-data-explained,.home-territories-copy,.home-method-section{border-radius:22px}
.home-data-feature-grid article,.home-level-card,.guide-card,.recent-post-card{transition:transform .16s ease,box-shadow .16s ease}.home-data-feature-grid article:hover,.home-level-card:hover,.guide-card:hover,.recent-post-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,29,57,.075)}

/* Establishment — denser premium dashboard */
.establishment-page main{padding-top:18px}
.hero-card{padding:30px 32px;border-radius:23px;border:0;background:linear-gradient(135deg,#fff,#fbfdff);box-shadow:0 15px 38px rgba(16,29,57,.07)}
.establishment-page .hero-card:before{width:5px}.hero-card h1{font-size:clamp(2rem,4.2vw,3.2rem)}
.hero-stat{min-width:110px;border-radius:13px;background:#f8faff;box-shadow:none}.section-nav{top:82px;border:0;background:rgba(245,247,251,.92);box-shadow:0 6px 22px rgba(16,29,57,.045)}
.content-layout{grid-template-columns:minmax(0,1fr) 330px;gap:16px}.card{padding:24px;border-radius:17px}.aside-card{border-radius:17px}
.didelio-essential{background:linear-gradient(135deg,#fff9e9,#fff);border-color:#efd997}.metric-card,.speciality-card,.service-card,.nearby-item{background:#f9fbfe}
.didelio-reperes{box-shadow:0 16px 36px rgba(16,29,57,.08)}
.repere-map-embed iframe{height:230px}

/* IPS comparison gauge */
.ips-benchmark-panel{margin:18px 0 6px;padding:18px;border:1px solid #dce4ef;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#fff)}
.ips-benchmark-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:15px}.ips-benchmark-head span{display:block;color:#75849a;font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.ips-benchmark-head strong{display:block;font-size:.96rem;margin-top:3px}.ips-benchmark-head>a{font-size:.72rem;font-weight:850;white-space:nowrap}
.ips-gauge{padding:3px 2px 1px}.ips-gauge-track{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#7893d4 0%,#4bc3c0 38%,#f0ba4a 70%,#ef766a 100%);box-shadow:inset 0 0 0 1px rgba(16,29,57,.08)}.ips-gauge-marker{position:absolute;top:50%;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--ink);box-shadow:0 3px 10px rgba(16,29,57,.24);transform:translate(-50%,-50%)}
.ips-gauge-scale{display:flex;justify-content:space-between;align-items:center;margin-top:5px;color:#8b97a9;font-size:.65rem}.ips-gauge-scale strong{color:var(--ink);font-size:.78rem}
.ips-benchmark-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.ips-benchmark-grid>div{padding:10px;border-radius:10px;background:#fff;border:1px solid #e3e8f0}.ips-benchmark-grid span,.ips-benchmark-grid strong{display:block}.ips-benchmark-grid span{color:#7b899d;font-size:.62rem;line-height:1.3}.ips-benchmark-grid strong{font-size:.94rem;margin-top:4px}.ips-benchmark-note{margin:11px 0 0;color:#7d899b;font-size:.67rem;line-height:1.5}

/* Rankings */
.rankings-page .static-hero,.ips-ranking-page .static-hero{background:linear-gradient(135deg,#111f3d,#263f6c)}
.ranking-intro-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-bottom:18px;padding:25px 27px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.ranking-intro-card>div>span{color:#7f6416;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.ranking-intro-card h2{font-size:1.45rem;margin:5px 0 8px}.ranking-intro-card p{color:var(--muted);margin:0;max-width:850px}
.ranking-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:20px}.ranking-family-card{position:relative;display:flex;flex-direction:column;min-height:185px;padding:21px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);overflow:hidden}.ranking-family-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--rank-color)}.ranking-family-ecole{--rank-color:var(--cyan)}.ranking-family-college{--rank-color:var(--indigo)}.ranking-family-lycee{--rank-color:var(--coral)}.ranking-family-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-soft)}.ranking-family-card>span{color:var(--muted);font-size:.76rem}.ranking-family-card>strong{font-size:2.3rem;letter-spacing:-.055em;margin:8px 0 1px}.ranking-family-card small{color:#8290a4}.ranking-family-card em{margin-top:auto;font-style:normal;font-size:.75rem;font-weight:850}
.ranking-method-note a,.ranking-disclaimer a{font-weight:850}
.ips-ranking-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.ips-ranking-summary>div{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-soft)}.ips-ranking-summary span,.ips-ranking-summary strong{display:block}.ips-ranking-summary span{color:var(--muted);font-size:.7rem}.ips-ranking-summary strong{font-size:1.65rem;letter-spacing:-.04em;margin-top:3px}
.ranking-filters{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff}.ranking-filter-block{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ranking-filter-block>span{color:#78869a;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.ranking-filter-block>div{display:flex;gap:5px;flex-wrap:wrap}.ranking-filter-block a{padding:6px 9px;border-radius:999px;background:#f3f6fa;color:#4f5f77;font-size:.68rem;font-weight:800}.ranking-filter-block a:hover,.ranking-filter-block a.is-active{background:var(--ink);color:#fff;text-decoration:none}
.ips-distribution-card{margin-bottom:14px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.ips-distribution-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:14px}.ips-distribution-head span{color:#7c651c;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.ips-distribution-head h2{font-size:1.2rem;margin:3px 0 0}.ips-distribution-head>small{color:#8a96a8;font-size:.65rem}.ips-distribution-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ips-distribution-label{display:flex;justify-content:space-between;gap:8px;align-items:center}.ips-distribution-label span{font-size:.68rem;color:#68778d}.ips-distribution-label strong{font-size:.76rem}.ips-distribution-track{height:7px;margin:6px 0 4px;border-radius:999px;background:#edf1f6;overflow:hidden}.ips-distribution-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--indigo),var(--cyan))}.ips-distribution-bars small{font-size:.62rem;color:#8b97a9}
.ips-ranking-card{padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:var(--shadow-soft)}.ips-ranking-card-head{display:flex;justify-content:space-between;gap:22px;align-items:end;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff,#f8fbff)}.ips-ranking-card-head>div>span{color:#7f6416;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.ips-ranking-card-head h2{font-size:1.3rem;margin:3px 0}.ips-ranking-card-head p{color:var(--muted);font-size:.76rem;margin:0}.ranking-page-indicator{font-size:.68rem;color:#7e8b9e;white-space:nowrap}
.ips-ranking-table{display:grid}.ips-ranking-row{display:grid;grid-template-columns:52px minmax(0,1fr) 130px 90px;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid #edf0f5;color:var(--ink)}a.ips-ranking-row:hover{background:#f8fbff;text-decoration:none}.ips-ranking-row-head{background:#f5f7fb;color:#78869a;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.ranking-position{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#eef2f8;color:#56667e;font-size:.72rem;font-weight:900}.ranking-school strong,.ranking-school small,.ranking-type small{display:block}.ranking-school strong{font-size:.82rem;line-height:1.35}.ranking-school small{color:#8592a5;font-size:.65rem;margin-top:2px}.ranking-type{font-size:.7rem;font-weight:850}.ranking-type small{font-size:.61rem;color:#8794a7;font-weight:650}.ranking-type-ecole{color:#168e91}.ranking-type-college{color:#554ad2}.ranking-type-lycee{color:#ce554a}.ranking-ips{justify-self:end;font-size:1.05rem;font-weight:950;letter-spacing:-.03em}
.ranking-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px}.ranking-pagination a{font-size:.72rem;font-weight:850}.ranking-pagination span{color:#8a96a8;font-size:.66rem}
.ranking-disclaimer{margin:16px 0;padding:18px 20px;border-radius:15px;background:#fff8e8;border:1px solid #efdc9e}.ranking-disclaimer strong{display:block}.ranking-disclaimer p{margin:5px 0 8px;color:#5b5d61;font-size:.8rem;line-height:1.6}

/* Footer tighter and more editorial */
.global-footer{margin-top:64px;padding-top:46px;background:#0d1931;border-top:0}.footer-source-badge{background:rgba(255,255,255,.055)}

@media(max-width:1050px){
  .desktop-nav>a,.nav-dropdown>summary{padding:8px 8px;font-size:.79rem}.content-layout{grid-template-columns:1fr}.content-aside{position:static}.home-ips-overview{grid-template-columns:1fr}.home-ips-cards{max-width:none}
}
@media(max-width:820px){
  .home-hero{grid-template-columns:1fr}.home-data-card{min-height:220px}.home-ips-cards,.ranking-family-grid{grid-template-columns:1fr}.ips-ranking-summary{grid-template-columns:1fr 1fr}.ips-distribution-bars{grid-template-columns:1fr}.ips-benchmark-grid{grid-template-columns:1fr 1fr}.ips-ranking-row{grid-template-columns:42px minmax(0,1fr) 74px}.ips-ranking-row .ranking-type{display:none}.ranking-intro-card{grid-template-columns:1fr}
}
@media(max-width:700px){
  .site-wrap,.wrap{width:min(100% - 26px,1260px)}.home-hero-copy{padding:28px 24px}.home-hero-copy h1{font-size:2.6rem}.home-search-v19>div{grid-template-columns:1fr}.home-search-v19 button{margin-top:5px}.home-counts{grid-template-columns:1fr}.home-ips-overview{padding:20px}.home-ips-cards{grid-template-columns:1fr}.static-hero{padding:28px 23px}.ips-ranking-summary{grid-template-columns:1fr 1fr}.ranking-filters{display:grid}.ips-ranking-card-head{align-items:flex-start;flex-direction:column}.ips-ranking-row{grid-template-columns:34px minmax(0,1fr) 64px;padding:11px 12px;gap:8px}.ranking-ips{font-size:.9rem}.ips-benchmark-head{flex-direction:column}.ips-benchmark-grid{grid-template-columns:1fr 1fr}
}


/* =========================================================
   V1.9.5 — allègement interface
   ========================================================= */

/* Header : navigation principale plus courte */
.desktop-nav{gap:8px}
@media(min-width:1051px){
  .desktop-nav>a,.nav-dropdown>summary{padding-left:13px;padding-right:13px}
}

/* Repères Didelio : la carte suit directement les KPI */
.didelio-reperes .repere-map-shell{
  margin-top:16px;
  padding-top:16px;
}
.reperes-context{display:none!important}

/* Footer : logo seul au-dessus des colonnes */
.footer-brand-row.footer-brand-row-compact{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:auto;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-brand-row.footer-brand-row-compact img{
  width:150px;
  height:auto;
}
.footer-brand-row.footer-brand-row-compact p,
.footer-brand-row.footer-brand-row-compact .footer-source-badge{
  display:none!important;
}
.footer-columns{padding-top:24px}

/* Un peu moins de hauteur globale pour un footer plus net */
.global-footer{padding-top:36px}


/* =========================================================
   V1.9.6 — hero accueil compact + ticker ajusté
   ========================================================= */
.home-hero{grid-template-columns:minmax(0,1.62fr) minmax(290px,.56fr);gap:18px;padding:14px 0 10px;align-items:stretch}
.home-hero-copy{min-height:350px;padding:30px 34px 24px;border-radius:28px}
.home-hero-copy:after{right:-96px;top:-126px;width:280px;height:280px;opacity:.82}
.home-hero-copy h1{font-size:clamp(2.15rem,4.25vw,3.95rem);line-height:.96;letter-spacing:-.055em;max-width:950px;margin:8px 0 12px}
.home-hero-copy>p{font-size:1rem;max-width:780px;margin:0;color:#d3dded}
.home-search-v19{margin-top:14px;max-width:780px}
.home-search-v19>label{margin-bottom:6px}
.home-search-v19>div{padding:5px;border-radius:14px}
.home-search-v19 input{padding:9px 12px}
.home-search-v19 button{padding:10px 16px}
.home-hero-copy .home-actions{margin-top:12px;gap:10px}.home-hero-copy .home-actions .brand-button-secondary{padding:11px 16px}
.home-data-card{min-height:350px;padding:28px 30px 24px;border-radius:28px}
.home-data-card strong{font-size:1.28rem;line-height:1.18;margin:12px 0 14px}
.home-data-card p{line-height:1.62;margin:0}
.home-data-card:after{width:118px;height:118px;right:-32px;bottom:-38px}
.home-ticker{margin:0 0 24px;border-radius:14px}
.home-ticker-group span{padding:10px 18px;font-size:.76rem}
@media(max-width:1040px){.home-hero{grid-template-columns:1fr}.home-hero-copy,.home-data-card{min-height:auto}.home-hero-copy{padding:28px 26px 24px}.home-hero-copy h1{font-size:2.9rem}.home-data-card{padding:24px 24px 20px}}
@media(max-width:700px){.home-hero{padding:10px 0 8px}.home-hero-copy{padding:24px 22px 20px}.home-hero-copy h1{font-size:2.3rem;line-height:1}.home-search-v19{margin-top:12px}.home-ticker{margin:2px 0 18px}.home-ticker-group span{padding:9px 14px;font-size:.72rem}.home-data-card{padding:22px 22px 18px}}


/* =========================================================
   V1.10 — partenaires + blog pagination + contact
   ========================================================= */
.partner-logo-wrap{height:210px;padding:8px;overflow:hidden;background:#f5f8fc;border-radius:14px}
.partner-logo-wrap img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:10px}
.blog-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#eef3f8}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.blog-pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:26px 0 10px}
.blog-pagination a,.blog-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:.78rem;font-weight:850}
.blog-pagination a:hover{text-decoration:none;border-color:#aebbd0;background:#f8faff}
.blog-pagination .is-current{background:var(--ink);border-color:var(--ink);color:#fff}
.blog-pagination .is-disabled{opacity:.42;cursor:default}.blog-page-dots{border-color:transparent!important;background:transparent!important;min-width:auto!important;padding:0 4px!important}
.contact-form button{justify-self:start}.contact-side{position:sticky;top:95px}
@media(max-width:650px){.partner-logo-wrap{height:190px}.blog-pagination{gap:5px}.blog-pagination a,.blog-pagination span{min-width:38px;height:38px;padding:0 10px}}


/* =========================================================
   V1.13 — répertoires exhaustifs + pagination crawl
   ========================================================= */
.level-directory-card{margin-top:20px}
.level-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:8px}
.level-directory-heading h2{margin:5px 0 0;font-size:1.45rem;letter-spacing:-.03em}
.level-directory-heading>span{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f0f4fa;color:#60708a;font-size:.69rem;font-weight:850}
.level-directory-intro{max-width:880px;color:var(--muted);font-size:.82rem;line-height:1.65;margin:0 0 16px}
.level-directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}
.level-directory-item{display:block;min-width:0;padding:12px 14px;color:var(--ink);border-bottom:1px solid #edf0f5}
.level-directory-item:nth-child(odd){border-right:1px solid #edf0f5}
.level-directory-item:hover{text-decoration:none;background:#f8faff}
.level-directory-item strong,.level-directory-item span,.level-directory-item small{display:block}
.level-directory-item strong{font-size:.82rem;line-height:1.35}
.level-directory-item span{margin-top:3px;color:var(--muted);font-size:.69rem}
.level-directory-item small{margin-top:3px;color:#8d98aa;font-size:.61rem;font-weight:750}
.level-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:18px}
.level-pagination a,.level-pagination strong,.level-pagination span{display:inline-flex;min-width:34px;height:34px;padding:0 9px;align-items:center;justify-content:center;border-radius:9px;font-size:.72rem}
.level-pagination a{border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800}
.level-pagination a:hover{text-decoration:none;background:#f5f8fc}
.level-pagination strong{background:var(--ink);color:#fff}
.level-pagination span{color:#8793a5}
.level-pagination-prev,.level-pagination-next{padding-left:12px!important;padding-right:12px!important}
@media(max-width:700px){.level-directory-heading{align-items:flex-start;flex-direction:column}.level-directory-list{grid-template-columns:1fr}.level-directory-item:nth-child(odd){border-right:0}.level-pagination{justify-content:flex-start}}
