/* Informe ta Ville - Pages institutionnelles V2, composant autonome */
:root{--itv2-navy:#081b37;--itv2-navy2:#102f56;--itv2-blue:#1669dd;--itv2-orange:#ff7043;--itv2-text:#182d49;--itv2-muted:#61758d;--itv2-border:#e0e9f4;--itv2-bg:#f5f8fc}
html{scroll-behavior:smooth;scroll-padding-top:115px}
body{margin:0}
.itv2-pages,.itv2-pages *{box-sizing:border-box}
.itv2-pages{font-family:'DM Sans',system-ui,sans-serif;color:var(--itv2-text);background:var(--itv2-bg);line-height:1.65}
.itv2-pages a:focus-visible{outline:3px solid #ffa75f;outline-offset:3px}
.itv2-pages .itv2-wrap{width:min(1180px,calc(100% - 42px));margin-inline:auto}
.itv2-pages .itv2-hero{background:radial-gradient(circle at 94% 7%,rgba(45,140,244,.26),transparent 30%),linear-gradient(123deg,#071832,#0b2d58 85%);color:#fff;position:relative;overflow:hidden;padding:172px 0 88px}
.itv2-pages .itv2-hero:after{content:'';position:absolute;right:-130px;bottom:-240px;width:520px;height:520px;border:1px solid rgba(159,209,255,.15);border-radius:50%;box-shadow:0 0 0 86px rgba(255,255,255,.022),0 0 0 170px rgba(255,255,255,.017);pointer-events:none}
.itv2-pages .itv2-crumbs{font-size:13px;display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:#b9d4ee;margin-bottom:29px}
.itv2-pages .itv2-crumbs a{color:#b9d4ee;text-decoration:none}.itv2-pages .itv2-crumbs a:hover{text-decoration:underline}
.itv2-pages .itv2-eyebrow{display:inline-block;text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:800;color:#77dff5;margin-bottom:14px}
.itv2-pages h1,.itv2-pages h2,.itv2-pages h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:-.03em}
.itv2-pages .itv2-hero h1{font-size:clamp(34px,4.5vw,58px);line-height:1.12;color:#fff;font-weight:800;margin:0 0 22px;max-width:890px}
.itv2-pages .itv2-hero p{font-size:clamp(16px,1.6vw,19px);color:#d6e6f7;max-width:740px;line-height:1.8;margin:0}
.itv2-pages .itv2-intro-grid{display:grid;grid-template-columns:1fr 295px;gap:28px;align-items:center}
.itv2-pages .itv2-hero-aside{border:1px solid rgba(180,219,255,.25);background:rgba(255,255,255,.065);border-radius:22px;padding:28px;backdrop-filter:blur(7px)}
.itv2-pages .itv2-hero-aside svg{width:55px;height:55px;color:#91dff4;margin-bottom:16px}
.itv2-pages .itv2-hero-aside strong{display:block;color:#fff;font-size:17px;margin-bottom:7px}.itv2-pages .itv2-hero-aside span{color:#c9deed;font-size:13px;line-height:1.6;display:block}
.itv2-pages .itv2-main{padding:68px 0 105px}
.itv2-pages .itv2-layout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:32px;align-items:start}
.itv2-pages .itv2-sidebar{position:sticky;top:102px;background:#fff;border:1px solid var(--itv2-border);border-radius:20px;padding:23px 18px;box-shadow:0 9px 28px rgba(16,52,96,.04)}
.itv2-pages .itv2-sidebar-title{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#68809d;margin:0 0 13px 11px}
.itv2-pages .itv2-toc{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.itv2-pages .itv2-toc a{display:block;color:#506985;text-decoration:none;padding:9px 11px;border-radius:10px;font-size:13px;line-height:1.45;transition:color .2s,background .2s}
.itv2-pages .itv2-toc a:hover,.itv2-pages .itv2-toc a:focus{color:#0b56b8;background:#ebf3ff}
.itv2-pages .itv2-sidebar-help{border-top:1px solid #e7eff7;margin-top:20px;padding:21px 11px 2px;font-size:13px;color:#667c95}
.itv2-pages .itv2-sidebar-help a{color:#1261c7;font-weight:800;text-decoration:none;display:inline-block;margin-top:7px}
.itv2-pages .itv2-content{min-width:0}
.itv2-pages .itv2-panel,.itv2-pages .itv2-legal-section{background:#fff;border:1px solid var(--itv2-border);border-radius:21px;padding:34px 38px;box-shadow:0 10px 30px rgba(20,53,91,.045);margin-bottom:20px;overflow-wrap:anywhere}
.itv2-pages .itv2-legal-section{scroll-margin-top:106px}
.itv2-pages .itv2-legal-section h2,.itv2-pages .itv2-panel h2{color:#0c294c;font-size:clamp(20px,2.2vw,26px);line-height:1.3;font-weight:800;margin:0 0 19px}
.itv2-pages .itv2-legal-section h3,.itv2-pages .itv2-panel h3{color:#1d436c;font-weight:800;margin:24px 0 10px;font-size:17px}
.itv2-pages .itv2-legal-section p,.itv2-pages .itv2-panel p{font-size:15px;color:#52667f;line-height:1.85;margin:0 0 16px}
.itv2-pages .itv2-legal-section p:last-child,.itv2-pages .itv2-panel p:last-child{margin-bottom:0}
.itv2-pages .itv2-legal-section a,.itv2-pages .itv2-panel a{color:#1464cb;text-underline-offset:3px}
.itv2-pages .itv2-legal-section ul,.itv2-pages .itv2-panel ul{color:#52667f;padding-left:22px}
.itv2-pages .itv2-summary{font-size:16px;color:#58708a;margin:0 0 25px}
.itv2-pages .itv2-content-top{border-left:4px solid var(--itv2-orange);padding:3px 0 3px 18px;margin:0 0 28px;font-size:15px;color:#637a93}
.itv2-pages .itv2-contact-bar{margin-top:28px;border-radius:19px;padding:26px 30px;background:#eaf3ff;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.itv2-pages .itv2-contact-bar strong{display:block;color:#102d54;font-size:17px}.itv2-pages .itv2-contact-bar p{margin:5px 0 0;color:#506987;font-size:13px}
.itv2-pages .itv2-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:11px;padding:13px 19px;background:var(--itv2-orange);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800;border:0}
.itv2-pages .itv2-button:hover{background:#ef5d33}
.itv2-pages .itv2-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}
.itv2-pages .itv2-partner{display:flex;flex-direction:column;gap:17px;background:#fff;border:1px solid var(--itv2-border);border-radius:22px;padding:35px;box-shadow:0 10px 32px rgba(20,53,91,.05);transition:transform .2s,border-color .2s}
.itv2-pages .itv2-partner:hover{transform:translateY(-3px);border-color:#b4d4fb}
.itv2-pages .itv2-partner-logo{height:86px;width:86px;display:flex;align-items:center;justify-content:center;background:#edf5ff;color:#176ad0;border-radius:20px;font-size:33px;font-weight:800}
.itv2-pages .itv2-partner h2{font-size:23px;font-weight:800;margin:0;color:#0d2d52}
.itv2-pages .itv2-partner p{margin:0;color:#63768d;font-size:15px;line-height:1.7}
.itv2-pages .itv2-partner a{color:#1264c9;text-decoration:none;font-weight:800;font-size:14px;margin-top:auto}
.itv2-pages .itv2-note{border:1px solid #dbe7f5;background:#f8fbff;padding:24px 28px;border-radius:18px;color:#556c86;font-size:14px;margin-bottom:25px}
.itv2-pages .itv2-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}
.itv2-pages .itv2-step{background:#fff;border:1px solid var(--itv2-border);border-radius:19px;padding:26px}
.itv2-pages .itv2-step b{display:inline-flex;align-items:center;justify-content:center;color:#176dd7;background:#edf5ff;border-radius:11px;padding:6px 12px;font-size:14px;margin-bottom:18px}
.itv2-pages .itv2-step h3{font-size:17px;line-height:1.35;margin:0 0 12px;color:#14365a}.itv2-pages .itv2-step p{font-size:14px;line-height:1.7;color:#60748c;margin:0}
.itv2-pages .itv2-privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.itv2-pages .itv2-privacy-grid .itv2-panel{margin:0}
@media(max-width:1050px){.itv2-pages .itv2-layout{grid-template-columns:230px minmax(0,1fr);gap:20px}.itv2-pages .itv2-legal-section{padding:29px}}
@media(max-width:820px){.itv2-pages .itv2-hero{padding:134px 0 65px}.itv2-pages .itv2-intro-grid{grid-template-columns:1fr}.itv2-pages .itv2-hero-aside{display:none}.itv2-pages .itv2-layout{grid-template-columns:1fr}.itv2-pages .itv2-sidebar{position:static}.itv2-pages .itv2-toc{grid-template-columns:repeat(2,minmax(0,1fr))}.itv2-pages .itv2-main{padding:42px 0 70px}.itv2-pages .itv2-steps{grid-template-columns:1fr}.itv2-pages .itv2-partner-grid,.itv2-pages .itv2-privacy-grid{grid-template-columns:1fr}}
@media(max-width:520px){.itv2-pages .itv2-wrap{width:min(100% - 28px,1180px)}.itv2-pages .itv2-toc{grid-template-columns:1fr}.itv2-pages .itv2-legal-section,.itv2-pages .itv2-panel{padding:25px 22px;border-radius:16px}.itv2-pages .itv2-hero h1{font-size:35px}.itv2-pages .itv2-hero{padding-top:120px}.itv2-pages .itv2-contact-bar{padding:23px}.itv2-pages .itv2-button{width:100%}.itv2-pages .itv2-partner{padding:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.itv2-pages *{transition:none!important}}
