:root{--ink:#202545;--muted:#62677b;--blue:#007daf;--purple:#733d98;--coral:#ed795b;--green:#618b66;--line:#e4e3e9;--paper:#faf9f6;--lilac:#f3eef7;--mint:#edf5ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0082c7;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,.editorial{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,4.35vw,68px)}h2{font-size:clamp(32px,3vw,46px)}h3{line-height:1.3;letter-spacing:-.02em;font-size:22px}p{color:var(--muted)}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav-wrap{width:min(1420px,calc(100% - 48px));margin:auto;display:flex;align-items:center;gap:30px;min-height:105px}.brand{display:flex;align-items:center;gap:12px;line-height:1.12;flex-shrink:0;font-size:18px;letter-spacing:-.4px}.brand img{width:58px;height:70px;object-fit:contain}.brand strong{font-weight:700}nav{margin-left:auto;display:flex;gap:23px;align-items:center;font-size:13px;line-height:1.35;font-weight:600}nav>a:not(.space-link){padding:12px 0;position:relative}nav>a.active:after{content:'';position:absolute;bottom:1px;left:0;width:24px;height:3px;background:var(--purple);border-radius:2px}nav>a:hover{color:var(--purple)}.space-link{background:var(--ink);color:white;padding:14px 18px;border-radius:7px;white-space:nowrap}.space-link:hover{background:var(--purple);color:white}.space-link span{margin-left:7px}.menu-toggle{display:none}.skip{position:fixed;left:20px;top:-100px;background:#fff;padding:12px;z-index:100}.skip:focus{top:10px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--purple);display:flex;align-items:center;gap:10px;margin-bottom:22px}.eyebrow:before{content:'';display:block;width:23px;height:2px;background:currentColor}.hero{padding:72px 0 60px;background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:40px;align-items:center}.hero h1{margin-bottom:28px}.hero h1 em{font-style:normal;color:var(--purple)}.hero .lead{max-width:490px;font-size:17px;line-height:1.7}.accent-lines{display:flex;gap:7px;margin:20px 0;width:133px}.accent-lines i{height:3px;flex:1;background:#b374d4;border-radius:4px}.accent-lines i:nth-child(2){background:#f09579}.accent-lines i:nth-child(3){background:#86bd86}.hero-art{position:relative;padding-top:20px}.hero-art img{width:100%;mix-blend-mode:multiply}.art-note{font-family:Georgia,serif;font-style:italic;color:var(--ink);font-size:22px;text-align:center;margin-top:32px}.art-note:before{content:'↗';color:var(--coral);font-size:40px;display:inline-block;transform:rotate(-25deg);margin-right:16px}.hero-label{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:34px;border-top:1px solid #dedbd4;padding-top:16px}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:6px;padding:13px 20px;font-size:13px;font-weight:600;line-height:1.4;transition:background .15s,transform .15s}.btn:hover{background:var(--purple);border-color:var(--purple);transform:translateY(-2px)}.btn.secondary{background:transparent;color:var(--ink);border-color:#c5c5cd}.btn.secondary:hover{border-color:var(--purple);color:var(--purple)}.text-link{font-size:14px;font-weight:600;display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid #b8b6c3;padding-bottom:4px}.text-link:hover{color:var(--purple);border-color:var(--purple)}section.section{padding:75px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head h2{max-width:640px;margin-bottom:0}.section-head p{max-width:360px;margin-bottom:0;font-size:15px}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.expertise{border:1px solid #ddd4e5;border-top:3px solid #b374d4;border-radius:4px;padding:33px 35px;position:relative;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.expertise:hover{transform:translateY(-4px);box-shadow:0 12px 30px #2420420a}.expertise.coral{border-color:#ead9d2;border-top-color:var(--coral)}.expertise .mini-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--purple);margin-bottom:19px}.expertise.coral .mini-label{color:#ad4e37}.expertise h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin-bottom:16px}.expertise p{max-width:430px;font-size:15px}.expertise .text-link{align-self:flex-start;margin-top:14px}.keyword-list{font-size:12px;display:flex;gap:8px 20px;flex-wrap:wrap;margin:8px 0 15px;color:var(--ink)}.keyword-list span:before{content:'·';color:var(--purple);margin-right:7px}.vvc{background:var(--lilac)}.vvc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.badges{display:flex;gap:10px;margin-bottom:22px}.badges img{width:74px;height:74px;object-fit:contain;mix-blend-mode:multiply}.vvc h2{margin-bottom:20px}.vvc .patronage{font-size:12px;margin-top:22px;color:#6a6174}.steps{border-top:1px solid #d8cee1}.step{display:grid;grid-template-columns:36px 1fr 24px;gap:17px;align-items:center;border-bottom:1px solid #d8cee1;padding:22px 0}.step:hover .step-title{color:var(--purple)}.step-num{font-size:12px;color:var(--purple);font-weight:600}.step-title{font-size:19px;margin:0 0 4px;line-height:1.3}.step p{font-size:14px;margin:0}.step-arrow{font-size:22px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project{border-top:1px solid var(--line);padding:24px 0;display:flex;flex-direction:column}.project-meta{color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.project h3{font-family:Georgia,serif;font-size:29px;font-weight:400;margin-bottom:14px}.project p{font-size:14px;margin-bottom:20px}.project .text-link{margin-top:auto;align-self:start}.project-mark{font-family:Georgia,serif;font-size:60px;line-height:1;color:#ded5e8;margin-bottom:20px}.engagement{background:var(--paper)}.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.engagement-item{border-left:2px solid #b374d4;padding-left:23px}.engagement-item:nth-child(2){border-color:var(--coral)}.engagement-item:nth-child(3){border-color:#83aa86}.engagement-item p{font-size:14px}.engagement-item h3{font-size:21px}.cta{padding:58px 0;border-top:1px solid var(--line)}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin-bottom:10px}.cta p{margin:0}.trust{display:flex;gap:35px;justify-content:center;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.trust strong{color:var(--ink);font-weight:600}.page-hero{background:var(--paper);padding:55px 0}.breadcrumb{font-size:12px;margin-bottom:32px;color:var(--muted)}.breadcrumb a:hover{text-decoration:underline}.page-hero h1{max-width:800px;margin-bottom:22px}.page-hero .lead{font-size:18px;max-width:760px}.page-hero .hero-grid h1{font-size:clamp(38px,4vw,58px)}.anchor-nav{border-bottom:1px solid var(--line);background:#fff}.anchor-nav .wrap{display:flex;gap:30px;overflow:auto;padding-top:18px;padding-bottom:18px;white-space:nowrap;font-size:13px}.anchor-nav a:hover{color:var(--purple)}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.body-copy p{font-size:17px;max-width:720px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature{border-top:2px solid #b374d4;padding-top:23px}.feature:nth-child(2){border-color:var(--coral)}.feature:nth-child(3){border-color:#83aa86}.feature h3{font-size:23px}.feature p,.feature li{font-size:15px;color:var(--muted)}.feature ul{padding-left:18px}.feature li{margin:9px 0}.method{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.method li{border-top:1px solid var(--line);padding-top:18px}.method span{font-size:12px;color:var(--purple);font-weight:600}.method h3{font-size:20px;margin:12px 0}.method p{font-size:14px;margin:0}.soft{background:var(--paper)}.notice{font-size:13px;color:var(--muted);border-left:2px solid var(--purple);padding-left:15px}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.person{padding:22px 0;border-top:1px solid var(--line)}.person h3{font-size:18px;margin:0 0 5px}.person p{font-size:13px;margin:0}.detail{border-bottom:1px solid var(--line);padding:20px 0}.detail summary{cursor:pointer;font-size:20px;font-weight:600}.detail p{margin:14px 0 0}.filter-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.filter{padding:9px 19px;border:1px solid #d4d0db;background:white;border-radius:30px;color:var(--ink);font-size:13px}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}.contact-side h3{font-family:Georgia,serif;font-weight:400;font-size:28px}.contact-side a{display:block;margin:10px 0;font-size:15px}.contact-side a:hover{color:var(--purple)}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #cccbd3;border-radius:5px;padding:12px;background:#fff;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font-size:12px;margin-top:17px}.form-status{color:var(--purple);font-size:14px}footer{background:#f2f1ed;padding:48px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px}.footer-brand{font-family:Georgia,serif;font-size:25px;line-height:1.2}.footer-brand .accent-lines{width:90px;margin:14px 0}footer h3{font-size:13px}footer p,footer a:not(.footer-brand){font-size:12px}footer a{display:block;margin:9px 0}footer a:hover{color:var(--purple)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #deddd7;margin-top:38px;padding:20px 0;font-size:10px;color:var(--muted)}.footer-bottom a{font-size:10px!important}.empty{padding:35px;background:var(--paper)}.article-body{max-width:780px;margin:auto}.article-body h2{font-size:32px;margin-top:40px}.article-body p{font-size:17px}.link-list a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.hero{padding:95px 0 80px}}@media(max-width:1180px){.nav-wrap{gap:20px;width:calc(100% - 36px)}nav{gap:15px;font-size:12px}.brand{font-size:16px}.brand img{width:47px}.space-link{padding:12px}.wrap{width:calc(100% - 54px)}}@media(max-width:1000px){.nav-wrap{min-height:85px}.menu-toggle{display:flex;gap:12px;align-items:center;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:5px;padding:8px 12px;color:var(--ink)}nav{display:none;position:absolute;top:85px;left:0;width:100%;padding:20px 28px;background:#fff;box-shadow:0 15px 20px #2025450a;max-height:calc(100dvh - 85px);overflow:auto}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:6px}nav>a{font-size:15px}nav>a br{display:none}nav .space-link{margin-top:10px}.hero-grid{gap:25px}.hero h1{font-size:48px}.hero-art{padding-top:0}.vvc-grid{gap:40px}.two-col,.contact-grid{gap:45px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.hero{padding:40px 0}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:43px;max-width:550px}.hero-art{max-width:520px}.hero .lead{font-size:16px}.art-note{font-size:20px;margin-top:15px}.hero-label{margin-top:20px;font-size:9px}.eyebrow{font-size:10px;margin-bottom:18px}.trust{flex-direction:column;gap:7px;align-items:center;padding:22px 0}section.section{padding:48px 0}.section-head{display:block;margin-bottom:27px}.section-head p{margin-top:20px;max-width:none}.section-head .text-link{margin-top:20px}.expertise-grid,.vvc-grid,.two-col,.feature-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.expertise{padding:26px}.expertise h3{font-size:30px}.projects-grid,.engagement-grid{grid-template-columns:1fr;gap:17px}.project-mark{display:none}.project{padding:23px 0}.project p{margin-bottom:15px}.engagement-grid{gap:28px}.engagement-item h3{margin-bottom:12px}.engagement-item p{margin-bottom:0}.cta .wrap{display:block}.cta .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:22px}.footer-bottom{flex-wrap:wrap;gap:4px 16px}.method{grid-template-columns:1fr 1fr;gap:24px}.people{grid-template-columns:1fr}.page-hero{padding:35px 0}.page-hero h1{font-size:42px}.page-hero .lead{font-size:16px}.breadcrumb{margin-bottom:25px}.fields-two{grid-template-columns:1fr;gap:0}.anchor-nav .wrap{gap:24px}.contact-grid{gap:25px}.step{gap:11px;grid-template-columns:30px 1fr 20px}.step-title{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
main:focus{outline:none}
/* Category navigation and the dedicated Villages & Villes identity. */
nav>a.vvc-nav{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f1edf8;border:1px solid #ded1ec;border-radius:8px;color:#633187}nav>a.vvc-nav img{width:34px;height:34px;object-fit:contain;mix-blend-mode:multiply}nav>a.vvc-nav.active:after{display:none}nav>a.vvc-nav.active{border-color:#8955ac;background:#eae0f3}nav{gap:18px}.category-nav{position:sticky;top:105px;background:#fff;z-index:15;border-bottom:1px solid var(--line);box-shadow:0 5px 12px #20254505;padding:15px 0 14px}.category-nav-label{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;margin-bottom:10px;color:var(--ink)}.category-hint{font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:400;color:var(--muted);margin-left:auto}.category-nav-label img{width:29px;height:29px;object-fit:contain;mix-blend-mode:multiply}.category-links{display:flex;gap:7px;flex-wrap:wrap}.category-link{border:1px solid #dfdce6;background:#faf9fc;padding:8px 13px;border-radius:5px;font-size:12px;line-height:1.4;display:flex;align-items:center;gap:12px;transition:background .15s}.category-link:hover,.category-link.selected{background:#eee5f7;border-color:#9c74b9}.category-link .down{margin-left:auto;color:#857b94}.domain-nav .category-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.domain-nav .category-link{border-top:3px solid #b374d4;min-height:49px;padding:10px 15px;font-size:14px;font-weight:600}.domain-nav .category-link:nth-child(2){border-top-color:var(--coral)}.domain-nav .category-link:nth-child(3){border-top-color:#83aa86}.domain-number{font-size:11px;font-weight:400;color:#87699e}.category-more{display:flex;gap:25px;margin-top:11px;font-size:11px;color:var(--muted)}.category-more a:hover{color:var(--purple);text-decoration:underline}.domain-block{padding:25px 22px;background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:4px;scroll-margin-top:12px}.domain-block:target{box-shadow:0 0 0 2px #b374d4}.domain-block:nth-child(2):target{box-shadow:0 0 0 2px var(--coral)}.domain-block:nth-child(3):target{box-shadow:0 0 0 2px #83aa86}.domain-block>p{color:var(--purple)}.domain-block:nth-child(2)>p{color:#b5482c}.domain-block:nth-child(3)>p{color:#3d7852}.domain-block li{padding:12px 0;border-top:1px solid var(--line);margin:0;list-style:none;color:var(--ink)}.domain-block ul{padding:0;margin:25px 0 0}.vvc-subnav{background:#f8f5fb}.vvc-subnav .category-links{display:grid;grid-template-columns:repeat(4,1fr)}.vvc-subnav .category-link{border-left:3px solid #6d9e73;background:white}.vvc-subnav .category-link:nth-child(2){border-left-color:#df975c}.vvc-subnav .category-link:nth-child(3){border-left-color:#9b68b6}.vvc-subnav .category-link:nth-child(4){border-left-color:#5e9fc4}.vvc-intro{background:#f8f5fb}.component-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.component{padding:32px;border:1px solid var(--line);border-top:4px solid #6d9e73;border-radius:5px;display:flex;flex-direction:column}.component:nth-child(2){border-top-color:#df975c}.component:nth-child(3){border-top-color:#9b68b6}.component:nth-child(4){border-top-color:#5e9fc4}.component-kicker{display:flex;gap:18px;align-items:center;margin-bottom:20px;font-size:13px;font-weight:600}.component-kicker span{font-size:11px;color:var(--muted)}.component h2{font-size:30px}.component .btn{align-self:start;margin-top:auto}.component:target{background:#faf8fc}.vvc-components .notice{margin:26px 0 0}html{scroll-padding-top:285px}
@media(max-width:1180px){nav{gap:11px}nav>a.vvc-nav{padding:8px}nav>a.vvc-nav img{width:28px;height:28px}.brand{gap:8px}.nav-wrap{gap:15px}}
@media(max-width:1000px){.category-nav{top:85px}.domain-nav .category-link{font-size:12px}.category-more{gap:15px}nav>a.vvc-nav{padding:13px;gap:12px}nav>a.vvc-nav img{width:36px;height:36px}nav>a.vvc-nav span{font-size:15px}}
@media(max-width:700px){.category-nav{position:relative;top:auto;padding:16px 0;background:#fbfafc}.category-nav-label{align-items:flex-start;font-size:12px}.category-hint{font-size:9px;max-width:100px;text-align:right}.domain-nav .category-links{grid-template-columns:1fr;gap:7px}.domain-nav .category-link{min-height:42px;border-top:1px solid #dfdce6;border-left:3px solid #b374d4;font-size:12px;padding:10px 12px}.domain-nav .category-link:nth-child(2){border-top-color:#dfdce6;border-left-color:var(--coral)}.domain-nav .category-link:nth-child(3){border-top-color:#dfdce6;border-left-color:#83aa86}.category-more{gap:8px 16px;flex-wrap:wrap;font-size:10px;margin-top:14px}.category-links{gap:7px}.category-link{padding:8px 10px;font-size:11px}.vvc-subnav .category-links{grid-template-columns:1fr 1fr}.component-grid{grid-template-columns:1fr;gap:20px}.component{padding:25px}.component h2{font-size:28px}html{scroll-padding-top:105px}.domain-block{scroll-margin-top:0}}

/* Clear editorial hierarchy, without decorative character illustrations. */
:root{--muted:#50566b}.mission-panel{background:var(--ink);color:white;padding:42px;border-radius:8px;border-top:5px solid #a97ac4}.mission-panel .mini-label{color:#d6c3e6;text-transform:uppercase;font-size:11px;letter-spacing:.16em}.mission-panel h2{font-size:44px;margin:24px 0}.mission-panel h2 em{font-style:normal;color:#d7b9e9}.mission-panel p{color:#e0e2ed;font-size:17px}.mission-links{margin-top:30px}.mission-links a{border-top:1px solid #ffffff30;padding:17px 0;display:flex;align-items:center;gap:16px;font-size:15px}.mission-links a>span:first-child{color:#c6a7dd;font-size:12px}.mission-links a>span:last-child{margin-left:auto}.mission-links a:hover{color:#e6c4fb}.business-highlight{background:#edf4f0;border-top:1px solid #d3e2d8;border-bottom:1px solid #d3e2d8}.business-highlight .eyebrow{color:#386b52}.business-highlight .lead{font-size:20px;color:var(--ink)}
.method{gap:22px;counter-reset:method}.method li{border:1px solid #dcd8e3;border-top:4px solid #86609f;border-radius:7px;background:#faf8fc;padding:26px;display:flex;flex-direction:column;min-width:0}.method li:nth-child(3n+2){border-top-color:#c3664c;background:#fcf8f5}.method li:nth-child(3n){border-top-color:#557f65;background:#f5f9f6}.method .method-num{font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;width:47px;height:47px;background:#e9e0ef;color:#633a7f;border-radius:50%;margin-bottom:14px}.method li:nth-child(3n+2) .method-num{background:#f5e4db;color:#9e492f}.method li:nth-child(3n) .method-num{background:#dfebe2;color:#38674a}.method h3{font-size:23px;margin:7px 0 14px}.method p{font-size:16px;line-height:1.65;margin-bottom:24px}.method-result{border-top:1px solid #dcd8e3;padding-top:16px;margin-top:auto;font-size:15px;color:var(--ink);line-height:1.55}.method-result strong{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:#606477;margin-bottom:8px}.feature p,.feature li{font-size:16px}.page-hero .lead{max-width:830px}.page-hero h1{max-width:1000px}
@media(max-width:1000px){.mission-panel{padding:28px}.mission-panel h2{font-size:36px}}
@media(max-width:700px){.method{grid-template-columns:1fr;gap:18px}.method li{padding:24px}.method h3{font-size:22px}.mission-panel h2{font-size:36px}.mission-panel{padding:28px}.page-hero h1{font-size:39px}.business-highlight .lead{font-size:18px}}

.photo-slot{margin:0;min-width:0}.photo-placeholder{aspect-ratio:5/4;min-height:300px;position:relative;display:flex;align-items:center;justify-content:center;padding:56px 36px 36px;background:linear-gradient(135deg,#efe2cc,#e7e6d7);border:1px solid #d9cbb6;border-radius:10px 10px 48px 10px;text-align:center;overflow:hidden}.photo-placeholder>div{max-width:300px}.photo-tag{position:absolute;top:20px;left:22px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#685f50;border:1px solid #bfb39d;padding:6px 10px;border-radius:4px;background:#fffaf080}.photo-frame{display:block;margin:0 auto 25px;width:58px;height:43px;border:1px solid #9e927b;border-radius:4px;position:relative}.photo-frame:after{content:'+';position:absolute;inset:0;display:grid;place-items:center;color:#88785d;font-size:24px;font-weight:300}.photo-placeholder h3{font-family:Georgia,serif;font-size:29px;font-weight:400;color:#5b5e4f;line-height:1.2}.photo-placeholder p{font-size:14px;color:#6b695e;margin-bottom:0}.photo-slot figcaption{font-size:11px;color:#716c60;margin-top:10px}.photo-signature{display:flex;flex-direction:column;border-left:3px solid #c0805d;padding:2px 0 2px 18px;margin-top:24px;gap:3px}.photo-signature strong{font-size:19px;font-weight:500}.photo-signature span{font-size:13px;color:#666b61}.photo-hero{grid-template-columns:1.15fr .85fr;gap:55px}.photo-hero .photo-placeholder{min-height:280px}.photo-hero h1{font-size:clamp(38px,3.9vw,58px)}
@media(max-width:700px){.category-nav{background:#faf6ef}.domain-nav .category-link{border-left-color:#a97956;border-top-color:#ded6c9}.domain-nav .category-link:nth-child(2){border-left-color:#cc8769;border-top-color:#ded6c9}.domain-nav .category-link:nth-child(3){border-left-color:#7d936c;border-top-color:#ded6c9}.photo-hero{grid-template-columns:1fr;gap:28px}.photo-placeholder{min-height:260px;padding:60px 25px 30px;aspect-ratio:5/4}.photo-placeholder h3{font-size:26px}.photo-hero .photo-placeholder{min-height:260px}.photo-signature{margin-top:18px}}

/* EC: bright white, deep blue, clear accents drawn from the supplied decks. */
:root{--ink:#14265c;--muted:#505d79;--purple:#af4336;--coral:#f17459;--green:#37a26a;--line:#dfe6ef;--paper:#fff9f6;--lilac:#fff2ec;--mint:#eefaf4}body{background:#fff;font-family:Arial,Helvetica,sans-serif}.header{background:#fff;border-color:#f1e4de}.header:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f16f58 0%,#ffbd59 38%,#e769a0 68%,#56b98b 100%)}h1,h2,.editorial{font-family:Arial,Helvetica,sans-serif;font-weight:750;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(40px,4vw,62px)}h2{font-size:clamp(30px,3vw,44px)}.hero{background:#fff;padding:62px 0}.hero h1{font-size:clamp(40px,4.2vw,64px)}.hero h1 em{color:#b64032}.hero .lead{color:#435475}.hero .eyebrow{color:#aa4036}.eyebrow{color:#a53f35}.btn{background:#b84332;border-color:#b84332;border-radius:8px}.btn:hover{background:#963226;border-color:#963226}.space-link{background:#b84332}.space-link:hover{background:#963226}.hero-grid{gap:55px}.accent-lines i:first-child{background:#b45bf0}.accent-lines i:nth-child(2){background:#ff795d}.accent-lines i:nth-child(3){background:#49c879}.photo-placeholder{background:#fff2ed;border:2px dashed #edaa97;border-radius:16px 16px 65px 16px}.photo-tag{color:#9b4b3e;background:#fff;border-color:#efc3b6}.photo-placeholder h3{font-family:Arial,sans-serif;font-weight:700;color:#18336b;font-size:28px}.photo-placeholder p{color:#4b6377}.photo-frame{border-color:#e49880}.photo-frame:after{color:#ad5441}.photo-slot figcaption{color:#63718a}.photo-signature{border-color:#f58265}.photo-signature strong{color:#173970}.photo-signature span{color:#53657b}.commune-band{padding:42px 0;background:#fff6ef;border-top:1px solid #f6dace;border-bottom:1px solid #f6dace}.commune-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.commune-band h2{font-size:34px;margin:0}.commune-band p{font-size:17px;margin-bottom:20px}.civic-verbs{display:flex;gap:23px;flex-wrap:wrap;font-weight:700;font-size:15px}.civic-verbs span{border-bottom:3px solid #bd6ae9;padding-bottom:5px}.civic-verbs span:nth-child(2){border-color:#fc8168}.civic-verbs span:nth-child(3){border-color:#51c887}.vvc{background:#fff8ed}.vvc .eyebrow{color:#9b4b20}.vvc .patronage{color:#655d55}.step,.steps{border-color:#ead9bc}.step-num{color:#a05a27}.page-hero{background:#fff9f5}.category-nav,.category-nav.domain-nav{background:#fff}.category-link{background:#fffaf7;border-color:#eaded8}.category-link:hover,.category-link.selected{background:#ffede5;border-color:#df8972}.domain-nav .category-link{border-top-color:#b869e4}.domain-nav .category-link:nth-child(2){border-top-color:#f18268}.domain-nav .category-link:nth-child(3){border-top-color:#4cbe85}.domain-number{color:#8c655b}.domain-block{background:#fff;border-color:#dce5ef;border-top-color:#b869e4}.domain-block:nth-child(2){border-top-color:#f18268}.domain-block:nth-child(3){border-top-color:#4cbe85}.domain-block>p{color:#744496}.domain-block:nth-child(2)>p{color:#a44c34}.domain-block:nth-child(3)>p{color:#267b51}.expertise{background:#fff7f2;border-color:#f2d8ca;border-top-color:#f07c5e;border-radius:12px}.expertise.coral{background:#fff6f1;border-color:#f1d6c9;border-top-color:#f18268}.expertise h3,.project h3,.contact-side h3,.footer-brand{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.035em}.expertise h3{font-size:31px}.expertise .mini-label{color:#a34a32}.feature p,.feature li{font-size:16px}.method li{background:#fff;border-color:#dce5ef;border-top-color:#ae67d9}.method li:nth-child(3n+2){background:#fff;border-top-color:#f18268}.method li:nth-child(3n){background:#fff;border-top-color:#4cbe85}.method .method-num{background:#f1e6fa;color:#714398}.method li:nth-child(3n+2) .method-num{background:#ffede5;color:#a44c34}.method li:nth-child(3n) .method-num{background:#e7f8ef;color:#267b51}.business-highlight{background:#f0fbf5;border-color:#d1ecdf}.business-highlight .eyebrow{color:#267b51}.project-mark{color:#efb6a5}.vvc-intro,.vvc-subnav{background:#fff9ef}.engagement{background:#fff9f5}.notice{border-color:#e57a5b}.component{background:#fff}.section-intro{max-width:840px;font-size:18px;line-height:1.7;margin-bottom:30px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:32px 0}.approach-grid article{border-top:3px solid #b968df;padding-top:21px}.approach-grid article:nth-child(2){border-color:#f17b60}.approach-grid article:nth-child(3){border-color:#45be83}.approach-grid article>span{font-size:13px;color:#64408b;font-weight:700}.approach-grid article:nth-child(2)>span{color:#a64b30}.approach-grid article:nth-child(3)>span{color:#25754d}.approach-grid h3{font-size:24px;margin:13px 0}.source-schema{margin:32px 0;background:#fff;border:1px solid #e2eaf3;border-radius:12px;padding:16px}.schema-open{display:block;width:100%;border:0;background:white;padding:0;position:relative;text-align:right;color:#a44232}.schema-open img{width:100%;height:auto}.schema-open>span{display:inline-block;padding:10px 14px;font-size:13px;font-weight:700;background:#fff0e8;border-radius:5px;margin-top:10px}.source-schema figcaption{font-size:14px;color:#53617b;padding:12px 8px 0}.method-details summary{font-size:17px}.tool-tags{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.tool-tags span{padding:12px 17px;background:#fff7eb;border:1px solid #f3dfbd;border-radius:6px;color:#704b30;font-size:15px}.tool-tags span:nth-child(3n+2){background:#fff5ef;border-color:#f3dacb}.tool-tags span:nth-child(3n){background:#eefaf3;border-color:#d3ecde}footer{background:#fff7f2}.footer-bottom{border-color:#efded3}.schema-dialog{border:0;border-radius:10px;width:min(96vw,1700px);max-width:96vw;max-height:95vh;padding:18px;box-shadow:0 20px 80px #11234b40}.schema-dialog::backdrop{background:#10244ec9}.schema-dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.schema-dialog h2{font-size:20px;margin:0;letter-spacing:-.02em}.schema-dialog button{background:#ac3f31;color:white;border:0;padding:10px 18px;border-radius:5px}.schema-dialog img{width:100%;height:auto}.schema-dialog .zoom-body{overflow:auto;max-height:78vh}
@media(max-width:1100px) and (min-width:1001px){nav{gap:9px;font-size:11px}.nav-wrap{gap:12px}.brand{font-size:14px}}
@media(max-width:700px){.hero{padding:36px 0}.hero h1{font-size:41px}.commune-band .wrap{grid-template-columns:1fr;gap:22px}.commune-band h2{font-size:30px}.commune-band{padding:35px 0}.civic-verbs{gap:17px}.approach-grid{grid-template-columns:1fr;gap:24px}.category-nav{background:#fff}.domain-nav .category-link{border-top-color:#eaded8;border-left-color:#b869e4}.domain-nav .category-link:nth-child(2){border-top-color:#eaded8;border-left-color:#f18268}.domain-nav .category-link:nth-child(3){border-top-color:#eaded8;border-left-color:#4cbe85}.source-schema{padding:7px}.source-schema figcaption{font-size:12px}.schema-dialog .zoom-body img{min-width:1050px;max-width:none}.schema-dialog h2{font-size:16px}.section-intro{font-size:16px}}

.card-outcome{border-left:3px solid #ed8a6b;padding-left:15px;margin:8px 0 16px}.expertise.coral .card-outcome{border-color:#f18268}.card-outcome strong{display:block;color:#153871;font-size:13px;margin-bottom:5px}.expertise h3{font-size:31px}.expertise .mini-label{line-height:1.6}.trust-role{background:#fff}.hero h1{font-size:clamp(40px,4vw,61px)}@media(max-width:700px){.expertise h3{font-size:28px}.hero h1{font-size:40px}}

/* Shared identity for the citizen space and the label, outside main navigation. */
.hero{padding:46px 0 42px}.hero-grid{align-items:center}.vvc-hero-link{display:flex;gap:13px;align-items:center;margin-top:25px;padding-top:18px;border-top:1px solid #f0dcd3;max-width:485px}.vvc-hero-link img{width:50px;height:50px;object-fit:contain}.vvc-hero-link strong{font-size:15px;color:var(--ink);display:block}.vvc-hero-link small{display:block;font-size:13px;color:#9b4937}.vvc-hero-link>span:last-child{margin-left:auto;color:#b84332}.vvc-hero-link:hover strong{color:#b84332}.vvc-spotlight{background:#fff1e8;border-top:4px solid #f0785d;border-bottom:1px solid #f3d4c5}.vvc-heading{display:flex;align-items:center;justify-content:space-between;gap:45px;margin-bottom:32px}.vvc-heading h2{font-size:clamp(36px,4vw,56px);margin-bottom:17px;color:#192b60}.vvc-heading p{font-size:19px;line-height:1.5;color:#68514b;margin:0}.vvc-logos{display:flex;gap:20px;align-items:center;flex-shrink:0}.vvc-logos img{width:148px;height:148px;object-fit:contain;background:#fff;border-radius:50%;box-shadow:0 7px 24px #a7542410}.vvc-doors{display:grid;grid-template-columns:1fr 1fr;gap:25px}.vvc-door{background:#fff;padding:32px;border:1px solid #f0d4c6;border-top:4px solid #ed8260;border-radius:12px;display:flex;flex-direction:column}.vvc-door.recognition{border-top-color:#e9b136}.vvc-door .mini-label{color:#a74732;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:17px}.vvc-door.recognition .mini-label{color:#835b15}.vvc-door h3{font-size:29px;line-height:1.2;margin-bottom:15px}.vvc-door p{font-size:16px;line-height:1.65;max-width:520px}.vvc-door .patronage{padding:13px 15px;background:#fff7df;border-left:3px solid #e9b136;color:#70551f;font-size:13px;margin:0 0 24px}.vvc-door .btn{align-self:flex-start;margin-top:auto}.vvc-services{display:flex;flex-wrap:wrap;gap:9px 17px;font-size:13px;margin-bottom:25px;color:#a34732}.vvc-services a{border-bottom:1px solid #e6ab98}.vvc-services a:hover{color:#71271d}.page-hero .vvc-logos{margin:0 0 25px}.page-hero .vvc-logos img{width:100px;height:100px;box-shadow:none}.vvc-subnav{background:#fff7ee}.vvc-subnav .category-nav-label img{width:43px;height:43px}.commune-band{background:#fff;border:0}.photo-placeholder{min-height:280px}.expertise .card-outcome{border-color:#ed8a6b}.btn.secondary{background:transparent;color:var(--ink);border-color:#d9bcb0}.btn.secondary:hover{color:#a44232;border-color:#b84332}.schema-open>span{color:#a44232}.source-schema{border-color:#eee0d9}
@media(max-width:1000px){.vvc-logos img{width:120px;height:120px}.vvc-heading{gap:25px}.vvc-logos{gap:12px}}
@media(max-width:700px){.hero{padding:30px 0}.vvc-heading{flex-direction:column-reverse;align-items:flex-start;gap:23px}.vvc-logos img{width:108px;height:108px}.vvc-heading h2{font-size:36px}.vvc-heading p{font-size:17px}.vvc-doors{grid-template-columns:1fr;gap:18px}.vvc-door{padding:24px}.vvc-door h3{font-size:26px}.vvc-hero-link{margin-top:20px}.vvc-hero-link strong{font-size:14px}.page-hero .vvc-logos img{width:90px;height:90px}.vvc-subnav .category-nav-label img{width:34px;height:34px}}

html:has(main .hero){scroll-padding-top:105px}

/* A shared page structure, with a warm and legible colour for each expertise. */
:root{--theme-accent:#ad3d2e;--theme-hover:#8c3025;--theme-soft:#fff1eb;--theme-line:#efc6b7}
[data-theme="citoyen"],.theme-citoyen{--theme-accent:#ad3d2e;--theme-hover:#8c3025;--theme-soft:#fff1eb;--theme-line:#efc6b7}
[data-theme="urbain"],.theme-urbain{--theme-accent:#895313;--theme-hover:#69400e;--theme-soft:#fff6df;--theme-line:#ead49c}
[data-theme="territoires"],.theme-territoires{--theme-accent:#306d46;--theme-hover:#225334;--theme-soft:#f0f7e9;--theme-line:#c4d9b5}
[data-theme="villes"]{--theme-accent:#895313;--theme-hover:#69400e;--theme-soft:#fff8e5;--theme-line:#ead49c}
body{--purple:var(--theme-accent);--paper:var(--theme-soft)}
nav{gap:24px}nav>a:hover{color:var(--theme-accent)}nav>a.active:after{background:var(--theme-accent)}
nav>a.territory-nav{display:flex;flex-direction:column;gap:4px}nav>a.territory-nav small{font-size:9px;font-weight:400;color:var(--muted);white-space:nowrap}
nav>a.contact-nav{padding:11px 17px!important;background:var(--theme-accent);color:#fff;border-radius:6px}nav>a.contact-nav:hover{background:var(--theme-hover)}nav>a.contact-nav.active:after{display:none}
.btn{background:var(--theme-accent);border-color:var(--theme-accent)}.btn:hover{background:var(--theme-hover);border-color:var(--theme-hover)}.btn.secondary{background:transparent;color:var(--theme-accent);border-color:var(--theme-line)}.btn.secondary:hover{border-color:var(--theme-accent);color:var(--theme-hover)}.text-link:hover{color:var(--theme-accent);border-color:var(--theme-accent)}
.hero{padding:58px 0 50px}.hero .lead{max-width:500px;font-size:19px;line-height:1.65}.hero h1{font-size:clamp(40px,4vw,60px)}.hero-grid{grid-template-columns:1.08fr .92fr;gap:65px}.home-visual .photo-placeholder{min-height:300px;aspect-ratio:1.22}.home-expertises{padding-top:30px!important}.home-expertises .section-head{margin-bottom:30px}.home-expertises h2{font-size:35px}.expertise{background:var(--theme-soft);border-color:var(--theme-line);border-top:4px solid var(--theme-accent);padding:32px}.expertise .mini-label{color:var(--theme-accent);font-weight:700}.expertise p{font-size:16px;max-width:480px}.expertise .keyword-list{color:var(--theme-accent)}.expertise .keyword-list span:before{color:currentColor}.expertise .text-link{margin-top:auto;padding-top:18px}.expertise h3{font-size:31px}
.vvc-gateway{background:#fff9e9;border-top:1px solid #f0dfae;border-bottom:1px solid #f0dfae;--theme-accent:#895313;--theme-hover:#69400e;--theme-line:#ead49c}.gateway-layout{display:grid;grid-template-columns:310px 1fr;gap:60px;align-items:center}.gateway-identity{text-align:center}.gateway-identity .vvc-logos{justify-content:center;gap:15px}.gateway-identity .vvc-logos img{width:140px;height:140px;box-shadow:none}.gateway-caption{display:block;font-size:11px;color:#75643e;margin-top:18px}.gateway-copy .eyebrow{color:#895313;margin-bottom:16px}.gateway-copy h2{font-size:36px;margin-bottom:16px}.gateway-copy>p{font-size:17px;max-width:690px}.gateway-copy .gateway-note{font-size:12px;color:#75643e;margin:14px 0 0;max-width:580px}.gateway-breadcrumb{padding:35px 0}.territory-home{background:var(--theme-soft);border-bottom:1px solid var(--theme-line)}.territory-home .eyebrow{color:var(--theme-accent)}.territory-home .territory-subtitle{font-size:23px;line-height:1.4;color:var(--ink);max-width:400px;margin-bottom:0}.territory-home h2{font-size:48px;margin-bottom:18px}.territory-home .two-col{gap:75px;align-items:center}.territory-home .two-col>div:last-child p{font-size:17px}.territory-home .btn{margin-top:10px}.home-conviction{border-bottom:1px solid var(--line)}.home-conviction p{font-size:17px}.home-journal{background:#fffaf6}
body[data-theme] main .page-hero{background:var(--theme-soft);border-bottom:1px solid var(--theme-line)}body[data-theme] main .page-hero .eyebrow{color:var(--theme-accent)}body[data-theme] main .soft{background:var(--theme-soft)}body[data-theme] main .business-highlight{background:var(--theme-soft);border-color:var(--theme-line)}body[data-theme] main .eyebrow{color:var(--theme-accent)}body[data-theme] .photo-placeholder{background:var(--theme-soft);border-color:var(--theme-line)}body[data-theme] .photo-tag{color:var(--theme-accent);border-color:var(--theme-line)}body[data-theme] .photo-frame{border-color:var(--theme-line)}body[data-theme] .photo-frame:after{color:var(--theme-accent)}
body[data-theme] .category-link{background:#fff;border-color:var(--theme-line)}body[data-theme] .category-link:hover,body[data-theme] .category-link.selected{background:var(--theme-soft);border-color:var(--theme-accent)}body[data-theme] .domain-nav .category-link{border-top-color:var(--theme-accent)}body[data-theme] .domain-number{color:var(--theme-accent)}body[data-theme] .domain-block{border-color:var(--theme-line);border-top-color:var(--theme-accent)}body[data-theme] .domain-block>p{color:var(--theme-accent)}body[data-theme] .domain-block:target{box-shadow:0 0 0 2px var(--theme-accent)}
body[data-theme] .method li{border-color:var(--theme-line);border-top-color:var(--theme-accent);background:#fff}body[data-theme] .method .method-num{background:var(--theme-soft);color:var(--theme-accent)}body[data-theme] .approach-grid article{border-top-color:var(--theme-accent)}body[data-theme] .approach-grid article>span{color:var(--theme-accent)}body[data-theme] .notice{border-color:var(--theme-accent)}body[data-theme] .schema-open>span{background:var(--theme-soft);color:var(--theme-accent)}body[data-theme] .source-schema{border-color:var(--theme-line)}body[data-theme] .feature{border-top-color:var(--theme-accent)}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.journal-card{border:1px solid var(--theme-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;background:#fff}.journal-cover{display:block;background:#fff;aspect-ratio:16/9;padding:10px;border-bottom:1px solid var(--theme-line)}.journal-cover img{width:100%;height:100%;object-fit:contain}.journal-body{padding:25px;display:flex;flex-direction:column;flex:1}.journal-body .mini-label{color:var(--theme-accent);font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.07em;margin-bottom:15px}.journal-body h3{font-size:23px;line-height:1.3;margin-bottom:15px}.journal-body h3 a:hover{color:var(--theme-accent)}.journal-body p{font-size:15px;line-height:1.6}.journal-body .text-link{margin-top:auto;align-self:flex-start;font-size:13px}.resource-article .wrap{max-width:1000px}.resource-copy{max-width:760px;padding-top:34px}.resource-copy section+section{margin-top:28px}.resource-copy h2{font-size:29px}.resource-copy p{font-size:18px}.resource-article .source-schema{margin-top:40px}
@media(max-width:1180px){nav{gap:16px;font-size:12px}.nav-wrap{gap:20px}.gateway-layout{gap:35px}.hero-grid{gap:40px}}
@media(max-width:1000px){nav>a.territory-nav small{font-size:12px}.gateway-layout{grid-template-columns:260px 1fr;gap:35px}.gateway-identity .vvc-logos img{width:120px;height:120px}.journal-grid{gap:18px}.journal-body{padding:21px}.journal-body h3{font-size:21px}.hero .lead{font-size:17px}.hero-grid{gap:30px}.hero h1{font-size:42px}.territory-home .two-col{gap:35px}}
@media(max-width:700px){.hero{padding:36px 0}.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:39px}.hero .lead{font-size:17px}.home-visual .photo-placeholder{min-height:240px;aspect-ratio:1.4}.home-expertises{padding-top:15px!important}.home-expertises h2{font-size:30px}.expertise{padding:26px}.expertise h3{font-size:28px}.gateway-layout{grid-template-columns:1fr;gap:26px}.gateway-identity{text-align:left}.gateway-identity .vvc-logos{justify-content:flex-start}.gateway-identity .vvc-logos img{width:105px;height:105px}.gateway-caption{margin-top:12px}.gateway-copy h2{font-size:32px}.gateway-copy>p{font-size:16px}.gateway-copy .btn{gap:12px;font-size:12px;padding:14px}.territory-home h2{font-size:39px}.territory-home .territory-subtitle{font-size:21px}.territory-home .two-col{gap:22px}.journal-grid{grid-template-columns:1fr;gap:24px}.journal-body h3{font-size:24px}.journal-cover{aspect-ratio:16/9}.resource-copy h2{font-size:26px}.resource-copy p{font-size:17px}body[data-theme] .domain-nav .category-link{border-top-color:var(--theme-line);border-left-color:var(--theme-accent)}}

.audience-label{font-size:14px!important;font-weight:700;color:var(--theme-accent);margin:0 0 14px}.gateway-copy h1{font-size:36px;margin-bottom:16px}.project.theme-citoyen,.project.theme-urbain{border-color:var(--theme-line)}.project .project-meta{color:var(--theme-accent)}.project .project-mark{color:var(--theme-line)}

/* Selected editorial content: one illustration per main message. */
.hero-source-art{width:100%;max-width:510px;height:auto;margin:auto}.journal-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-detail-link{margin-top:20px}.feature.domain-block{display:flex;flex-direction:column}.domain-block .domain-detail-link{margin-top:auto;padding-top:22px;align-self:flex-start}.source-schema{border:0!important;padding:0;border-radius:0;background:#fff}.source-schema figcaption{padding-left:0}.service-lead{max-width:780px;font-size:18px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.service-block{border-top:3px solid var(--theme-accent);padding-top:22px}.service-block h2{font-size:25px;letter-spacing:-.03em}.service-block p{font-size:16px}.service-results{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.service-results ul{padding-left:20px;margin:0;font-size:18px;color:var(--muted)}.service-results li{padding:7px 0}.service-faq{max-width:850px}.service-parent{margin-bottom:30px}.service-visual{margin-top:40px}.hero .actions{margin-top:28px}.resource-copy{padding-top:22px}.page-hero{padding:44px 0}.page-hero h1{max-width:950px}.page-hero .lead{max-width:850px}.service-page .page-hero h1{font-size:clamp(36px,3.5vw,53px)}
@media(max-width:700px){.journal-pair,.service-grid,.service-results{grid-template-columns:1fr}.service-results{gap:25px}.hero-source-art{max-width:370px}.home-visual{padding:0 15px}.service-block h2{font-size:25px}.service-lead{font-size:16px}.source-schema .schema-open>span{font-size:12px}.page-hero{padding:32px 0}.service-faq .detail summary{font-size:18px}.domain-block .domain-detail-link{margin-top:0}}

.project[hidden]{display:none}html{scroll-padding-top:105px}@media(min-width:701px){html:has(.category-nav){scroll-padding-top:285px}}.schema-dialog img{height:auto}nav>a.contact-nav:focus-visible{outline-color:var(--theme-accent)}

/* Mobile: the purpose first, then accessible section navigation. */
.btn,.menu-toggle{min-height:46px}.text-link{min-height:44px}.category-link{min-height:44px}.category-more a{padding:5px 0}.hero-source-art{object-fit:contain}.schema-dialog{max-height:calc(100dvh - 24px)}.schema-dialog header{position:sticky;top:0;background:#fff;z-index:1;padding-bottom:10px}.schema-dialog .zoom-body{max-height:calc(100dvh - 150px)}.schema-dialog header button{min-height:44px;flex-shrink:0}.trajectory-steps h3{font-size:21px}.trajectory-steps p{font-size:15px;margin-bottom:0}.trajectory-steps li{padding:23px}.trajectory-steps .method-num{width:38px;height:38px;font-size:18px;margin-bottom:8px}
@media(max-width:700px){.category-nav{padding:16px 0}.domain-nav .category-link{font-size:14px;min-height:48px}.category-more{font-size:12px;gap:4px 18px}.category-more a{min-height:36px;display:flex;align-items:center}.category-nav-label{font-size:13px}.category-hint{display:none}.category-links{gap:8px}.category-link{font-size:12px}.hero .eyebrow{font-size:10px;letter-spacing:.11em}.hero h1{font-size:clamp(32px,9.5vw,39px)}.page-hero h1{font-size:clamp(32px,9.5vw,39px)}.hero-grid{gap:20px}.hero-source-art{max-width:310px}.hero .lead{font-size:17px}.schema-dialog h2{font-size:15px}.schema-dialog header{gap:10px}.schema-dialog{padding:12px}.trajectory-steps{grid-template-columns:1fr}.trajectory-steps li{padding:20px}.trajectory-steps .method-num{font-size:16px}.trajectory-steps h3{font-size:21px}.gateway-copy .btn{font-size:13px;line-height:1.5}.service-grid{gap:28px}footer .footer-bottom{padding-bottom:25px}}

/* The organisational offer extends the work with local authorities. */
section.section.territory-home--compact{padding:34px 0;background:#f7faf3}.territory-home--compact .two-col{grid-template-columns:.7fr 1.3fr;gap:55px}.territory-home--compact h2{font-size:32px;margin:0}.territory-home--compact .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:12px}.territory-home--compact .two-col>div:last-child p{font-size:16px;margin-bottom:8px}.territory-home--compact .text-link{font-size:13px}
@media(max-width:700px){section.section.territory-home--compact{padding:28px 0}.territory-home--compact .two-col{grid-template-columns:1fr;gap:16px}.territory-home--compact h2{font-size:30px}.territory-home--compact .text-link{font-size:13px;gap:12px}}

/* ODC: readable on small screens; original mosaic preserved. */
[data-page="odc"] .feature h2{font-size:1.45rem;line-height:1.25}
.odc-resource-link{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e7ded3}
.odc-text-reference ol{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
.odc-text-reference li{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #ded8cc;line-height:1.5;scroll-margin-top:100px}
.odc-text-reference li span{flex:0 0 4rem;color:#96502c;font-weight:700}
.odc-text-reference li strong{font-weight:500}
@media(max-width:650px){.odc-text-reference ol{grid-template-columns:minmax(0,1fr)}[data-page="odc"] .page-hero h1{font-size:2.35rem}}

/* Association and civic dialogue: HTML first, original drawings as support. */
.conviction-grid{margin-top:36px}.editorial-illustration{max-width:1000px;margin:40px auto 0}.editorial-illustration img{width:100%;height:auto}.editorial-illustration figcaption{max-width:800px;margin:0 auto;line-height:1.6}.editorial-grid{display:grid;gap:28px;margin:32px 0}.editorial-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.editorial-grid article{border-top:2px solid var(--theme-line);padding-top:20px}.editorial-grid h3{font-size:21px}.editorial-grid p{font-size:16px;margin-bottom:0}.label-foundation{display:grid;grid-template-columns:250px minmax(0,1fr);gap:55px;align-items:center}.label-foundation p{max-width:760px}.label-foundation-identity .vvc-logos{justify-content:center;gap:12px}.label-foundation-identity .vvc-logos img{width:115px;height:115px;box-shadow:none}.label-foundation-identity>span{display:block;font-size:13px;color:var(--muted);text-align:center;margin-top:18px}.editorial-extension{border-top:1px solid var(--theme-line);padding-top:24px;margin:30px 0 0;font-size:15px}.editorial-extension a{display:inline-block;font-weight:600;text-decoration:underline;text-underline-offset:4px}.reference-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;margin-bottom:32px}.whitepaper{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:start}.whitepaper>img{width:150px;height:auto}.mini-label{display:block;color:var(--theme-accent);font-weight:700;font-size:12px;letter-spacing:.05em;margin-bottom:12px}.whitepaper h3,.odc-reference h3{font-size:24px}.odc-reference{border-left:1px solid var(--theme-line);padding-left:32px}.download-context{font-size:13px;margin:12px 0 0}.join-band{border-top:1px solid var(--theme-line);padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:35px}.join-band p{max-width:700px;margin:0}.join-band .btn{flex-shrink:0}.editorial-index{color:var(--theme-accent);font-weight:700;font-size:14px;margin-bottom:18px}.domain-block h2{font-size:26px;line-height:1.2;letter-spacing:-.02em}.need-guide{margin-top:38px;border-top:1px solid var(--theme-line);padding-top:30px}.need-guide h3{font-size:24px}.need-links{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.need-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--theme-line);font-weight:600;font-size:15px;min-height:54px}.need-links a:hover{color:var(--theme-accent)}.need-links a>span{font-size:21px;color:var(--theme-accent);flex-shrink:0}.trajectory-editorial{margin-top:34px}.trajectory-outline{list-style:none;padding:0;margin:20px 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:start}.trajectory-outline li{background:#fff;border:1px solid var(--theme-line);border-radius:6px;overflow:hidden}.trajectory-outline summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:18px;font-weight:700;min-height:66px;list-style:none}.trajectory-outline summary::-webkit-details-marker{display:none}.step-index{font-size:14px;color:var(--theme-accent)}.step-plus{margin-left:auto;color:var(--theme-accent);font-weight:400;font-size:24px;line-height:1}.trajectory-outline details[open] .step-plus{transform:rotate(45deg)}.trajectory-outline details>p{padding:0 20px 18px;margin:0;font-size:16px}.trajectory-outline summary:focus-visible{outline:3px solid var(--theme-accent);outline-offset:-4px}.related-references{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border-top:1px solid var(--theme-line);margin-top:36px;padding-top:30px}.related-references .text-link{margin-bottom:10px}.related-references p{margin:0}[data-page="demarche/participation-dialogue-citoyens"] .service-block:first-child{grid-column:1/-1;max-width:800px}[data-page="demarche/participation-dialogue-citoyens"] .service-grid{row-gap:40px}
@media(max-width:1000px){.editorial-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-layout{grid-template-columns:1fr}.odc-reference{border-left:0;border-top:1px solid var(--theme-line);padding:25px 0 0}.label-foundation{grid-template-columns:200px minmax(0,1fr);gap:30px}.label-foundation-identity .vvc-logos{flex-wrap:wrap}.label-foundation-identity .vvc-logos img{width:90px;height:90px}}
@media(max-width:700px){.editorial-grid.four,.label-foundation,.need-links,.trajectory-outline,.related-references{grid-template-columns:1fr}.editorial-grid{gap:22px}.label-foundation{gap:24px}.label-foundation-identity .vvc-logos{justify-content:flex-start}.label-foundation-identity>span{text-align:left}.reference-layout{gap:26px}.whitepaper{grid-template-columns:95px minmax(0,1fr);gap:18px}.whitepaper>img{width:95px}.whitepaper h3{font-size:22px}.whitepaper .btn{font-size:13px;gap:10px;padding:12px}.join-band{display:block}.join-band .btn{margin-top:22px}.editorial-illustration{margin-top:28px}.related-references{gap:20px}.domain-block h2{font-size:25px}.trajectory-outline{gap:10px}.need-links a{font-size:15px}.conviction-grid{margin-top:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.expertise{transition:none}}
@media(max-width:700px){.whitepaper{display:block}.whitepaper>img{float:left;width:95px;margin:0 20px 15px 0}.whitepaper p{clear:both}.whitepaper:after{content:'';display:block;clear:both}}

/* Civic offer: nine headings, short inline answers, then a conversation. */
.civic-domains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.civic-domain{border:1px solid var(--theme-line);border-top:3px solid var(--theme-accent);border-radius:6px;padding:26px 25px 8px}.civic-domain header{min-height:172px}.civic-domain .editorial-index{display:block;margin-bottom:15px}.civic-domain h3{font-size:24px;margin-bottom:18px}.civic-domain header>p{color:var(--theme-accent);font-size:15px}.civic-disclosure{border-top:1px solid var(--theme-line)}.civic-disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:17px 0;font-size:16px;line-height:1.45;min-height:58px}.civic-disclosure summary::-webkit-details-marker{display:none}.civic-disclosure summary:hover{color:var(--theme-accent)}.civic-disclosure summary:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px;border-radius:2px}.civic-plus{font-size:23px;line-height:1;color:var(--theme-accent);flex-shrink:0}.civic-disclosure[open] .civic-plus{transform:rotate(45deg)}.civic-disclosure[open]>summary{font-weight:700;color:var(--theme-accent)}.civic-answer{padding:0 0 22px}.civic-answer p{font-size:15px;line-height:1.65;margin:0 0 10px;max-width:65ch}.civic-answer .text-link{font-size:14px;min-height:44px;gap:14px}.civic-needs-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.civic-needs-layout h2{font-size:36px}.civic-needs-layout>div:first-child>p{max-width:370px}.civic-needs{border-bottom:1px solid var(--theme-line)}.civic-needs summary{font-weight:600;padding:20px 0}.civic-needs .civic-answer p{font-size:16px}.civic-category-nav .category-links{gap:10px}.civic-category-nav .category-link{font-size:14px}.civic-category-nav .category-link:last-child{color:var(--theme-accent);font-weight:700}.civic-trust{border-bottom:1px solid var(--theme-line)}.civic-contact-section{background:var(--theme-soft)}.civic-contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.civic-contact-layout>div>p{max-width:350px}.civic-contact-layout>div>.text-link{font-size:14px;overflow-wrap:anywhere}.civic-contact-form{background:#fff;border:1px solid var(--theme-line);padding:30px;border-radius:8px}.civic-contact-context{color:var(--theme-accent);font-size:16px;font-weight:600;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--theme-line)}.civic-contact-form textarea{min-height:125px}.civic-contact-form .form-note{font-size:12px}.civic-contact-form .btn{min-height:48px}
@media(min-width:701px){html:has(.civic-category-nav){scroll-padding-top:190px}}
html:has(.civic-category-nav){scroll-behavior:auto}
@media(max-width:1000px){.civic-domains{gap:18px}.civic-domain{padding:22px 18px 6px}.civic-domain h3{font-size:22px}.civic-domain header{min-height:200px}.civic-disclosure summary{font-size:15px}.civic-needs-layout,.civic-contact-layout{grid-template-columns:1fr 1.2fr;gap:30px}.civic-contact-form{padding:24px}.civic-contact-form .fields-two{grid-template-columns:1fr}}
@media(max-width:700px){.civic-domains,.civic-needs-layout,.civic-contact-layout{grid-template-columns:1fr}.civic-domain{padding:24px 22px 5px}.civic-domain header{min-height:0;margin-bottom:22px}.civic-domain h3{font-size:25px}.civic-domain header>p{margin-bottom:0}.civic-disclosure summary{font-size:16px;min-height:58px}.civic-needs-layout{gap:20px}.civic-needs-layout h2{font-size:31px}.civic-category-nav .category-links{display:flex;flex-wrap:wrap;gap:8px}.civic-category-nav .category-link{font-size:12px;padding:10px;min-height:44px}.civic-contact-layout{gap:24px}.civic-contact-form{padding:22px 18px}.civic-contact-layout>div>.text-link{font-size:13px}.civic-contact-form .btn{width:100%}.civic-contact-section h2{font-size:34px}}

/* Short editorial pages, optional depth, three news slots, one project at a time. */
.editorial-readable{max-width:900px}.editorial-readable>.section-intro{max-width:780px;font-size:18px;line-height:1.7}.editorial-readable h2{max-width:850px}.reading-detail{border-bottom:1px solid var(--theme-line);border-top:0;padding:0;margin:0}.reading-detail>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;min-height:64px;font-weight:600;cursor:pointer}.reading-detail>summary::-webkit-details-marker{display:none}.reading-detail>summary>span[aria-hidden="true"]{font-size:24px;font-weight:400;color:var(--theme-accent)}.reading-detail[open]>summary>span[aria-hidden="true"]{transform:rotate(45deg)}.reading-detail>summary:focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}.detail-copy{padding:5px 0 25px;max-width:800px}.detail-copy p{font-size:16px}.role-copy h3{margin:24px 0 10px;font-size:21px}.role-copy h3:first-child{margin-top:0}.reading-detail .editorial-illustration{margin:22px 0}.urban-method-text{padding-left:22px}.urban-method-text li{margin-bottom:12px;color:var(--muted)}.urban-method-text strong{color:var(--ink)}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.news-card{border:1px solid #e5ddd3;border-radius:9px;overflow:hidden;background:#fff}.news-image{width:100%;aspect-ratio:16/10;object-fit:cover}.news-image-empty{background:#f4eadc;display:flex;align-items:center;justify-content:center}.news-card:nth-child(2) .news-image-empty{background:#f5e3dc}.news-card:nth-child(3) .news-image-empty{background:#e8eddf}.news-image-empty>span{font-size:54px;font-weight:700;color:#78644e;opacity:.38}.news-copy{padding:23px 24px 27px}.news-copy h3{font-size:22px;margin-bottom:14px}.news-copy p{font-size:16px;margin:0;line-height:1.6}.news-empty-lines{display:grid;gap:11px;padding:3px 0}.news-empty-lines i{display:block;width:100%;height:7px;border-radius:4px;background:#e9e5df}.news-empty-lines i:last-child{width:70%}
.project-carousel{border-top:1px solid var(--theme-line,#decfc1);border-bottom:1px solid var(--theme-line,#decfc1);padding:36px 0 24px}.project-slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}.project-slide[hidden]{display:none!important}.project-summary{min-width:0}.reference-logo{height:76px;display:flex;align-items:center;margin-bottom:26px}.reference-logo img{max-width:178px;width:auto;height:auto;max-height:76px;object-fit:contain;object-position:left center}.project-summary .mini-label{margin-bottom:8px}.project-summary h3{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.035em;line-height:1.2;margin:0 0 18px}.reference-description{font-size:17px;line-height:1.65;margin:0}.reference-description span{display:block}.reference-image{margin:0;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;min-width:0}.reference-image img{display:block;width:100%;height:100%;object-fit:contain}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:24px}.carousel-controls[hidden]{display:none!important}.carousel-arrow{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%;border:1px solid #a18b75;background:white;color:var(--ink);font-size:24px;line-height:1}.carousel-arrow:hover{background:#f4eadc}.carousel-count{min-width:42px;text-align:center;font-size:14px;color:var(--muted)}
@media(max-width:700px){.news-grid{grid-template-columns:1fr;gap:24px}.news-image{aspect-ratio:16/9}.news-copy{padding:20px}.project-slide{grid-template-columns:1fr;gap:16px;align-content:start}.reference-image{aspect-ratio:8/5}.filter-row{gap:10px}.filter-row .filter{padding:10px 14px;font-size:12px}.reference-logo{height:58px;margin-bottom:20px}.reference-logo img{max-height:58px;max-width:162px}.project-summary h3{font-size:32px;margin-bottom:14px}.project-summary>p{font-size:16px}.reference-description{min-height:6.6em}.project-carousel{padding-top:25px}.carousel-controls{justify-content:center;margin-top:20px}.editorial-readable>.section-intro{font-size:17px}.reading-detail>summary{font-size:16px}.editorial-readable .actions{align-items:flex-start}.detail-copy{padding-bottom:18px}}

/* Original Marianne illustrations, with space around each editorial sequence. */
.marianne-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.marianne-cutout{position:relative;overflow:hidden;width:200px;max-width:100%}.marianne-cutout img{position:absolute;height:auto}.marianne-figure figcaption{font-size:12px;margin-top:24px;color:#756452;text-align:center}.marianne-welcome{padding:30px 50px}.marianne-welcome .marianne-cutout{width:210px}.illustrated-page-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:70px;align-items:center}.illustrated-page-hero .marianne-cutout{width:150px}.illustrated-page-hero .marianne-participation .marianne-cutout{width:195px}.illustrated-page-hero h1{font-size:clamp(34px,3.5vw,54px)}.illustrated-page-hero .lead{max-width:760px}.urban-illustration-break{margin:48px auto 52px;max-width:820px}.urban-illustration-break .editorial-illustration{margin:0}.urban-illustration-break .schema-open{border:0;background:transparent}.urban-illustration-break figcaption{font-size:14px}section.section.territory-home--compact{margin:80px 0 30px;padding:65px 0;background:#f1f6eb;border:0}.territory-home--compact .two-col{gap:80px}.territory-home--compact h2{font-size:38px}.territory-home--compact .two-col>div:last-child p{font-size:17px;margin-bottom:20px}.territory-home--compact .text-link{font-size:14px}
@media(max-width:1000px){.illustrated-page-hero{grid-template-columns:minmax(0,1fr) 150px;gap:30px}.illustrated-page-hero .marianne-cutout{width:120px}.illustrated-page-hero .marianne-participation .marianne-cutout{width:150px}.marianne-welcome{padding:20px}.marianne-welcome .marianne-cutout{width:175px}}
@media(max-width:700px){.illustrated-page-hero{grid-template-columns:1fr;gap:24px}.illustrated-page-hero .marianne-figure{align-items:flex-end}.illustrated-page-hero .marianne-cutout{width:75px}.illustrated-page-hero .marianne-participation .marianne-cutout{width:100px}.illustrated-page-hero h1{font-size:clamp(32px,9vw,39px)}.marianne-welcome{padding:10px 0 0}.marianne-welcome .marianne-cutout{width:95px}.marianne-figure figcaption{margin-top:16px}.hero-grid{gap:30px}section.section.territory-home--compact{margin:48px 0 24px;padding:40px 0}.territory-home--compact .two-col{gap:24px}.territory-home--compact h2{font-size:32px}.territory-home--compact .two-col>div:last-child p{font-size:16px}.urban-illustration-break{margin:32px 0 36px}}

/* Enterprises and associations share the territorial commitment. */
.organization-logos{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}.organization-logos img{width:140px;height:140px;object-fit:contain;border-radius:50%}.territory-home .organization-logos{justify-content:flex-start;margin-top:30px;gap:18px}.territory-home .organization-logos img{width:96px;height:96px}.territory-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px;align-items:center}.territory-hero-layout h1{font-size:clamp(36px,3.6vw,55px)}.territory-hero-layout .lead{max-width:760px}
.urc-section{background:#fcf6e7;border-top:1px solid #e5d9ba;border-bottom:1px solid #e5d9ba}.urc-section h2{max-width:850px}.urc-paths{margin:30px 0 8px;border-top:1px solid var(--theme-line)}.urc-summary-text{font-size:20px!important;font-weight:600!important;color:var(--ink)!important}.reading-detail[open]>summary>.urc-summary-text{transform:none}.urc-summary-text small{display:block;font-size:12px;font-weight:600;color:#80602f;margin:0 0 7px;letter-spacing:.02em}.urc-principles ol{display:grid;grid-template-columns:1fr 1fr;gap:14px 38px;padding-left:23px}.urc-principles li{padding-left:4px;color:var(--muted)}.urc-paths .detail-copy{padding-top:12px}.urc-paths summary{padding:24px 0}.urc-paths .text-link{margin-top:4px}
@media(max-width:1000px){.territory-hero-layout{grid-template-columns:minmax(0,1fr) 230px;gap:30px}.territory-hero-layout .organization-logos{gap:12px}.territory-hero-layout .organization-logos img{width:105px;height:105px}}
@media(max-width:700px){.territory-hero-layout{grid-template-columns:1fr;gap:26px}.territory-hero-layout .organization-logos{justify-content:flex-start;gap:20px}.territory-hero-layout .organization-logos img{width:98px;height:98px}.territory-hero-layout h1{font-size:clamp(32px,9vw,39px)}.territory-home .organization-logos{margin-top:24px}.territory-home .organization-logos img{width:84px;height:84px}.urc-summary-text{font-size:18px!important}.urc-principles ol{grid-template-columns:1fr;gap:12px}.urc-section h2{font-size:clamp(29px,8.3vw,37px);overflow-wrap:normal}.urc-paths summary{gap:14px}}

/* Compact references with a clear project title and direct city selection. */
.project-carousel{padding:0;border:0;max-width:1050px;margin:0 auto}
.carousel-controls{margin:0 0 14px;justify-content:space-between}
.carousel-count{font-size:13px;font-weight:600;color:#716353;text-align:left}
.carousel-arrows{display:flex;gap:8px}
.carousel-arrow{min-width:44px;min-height:44px;border-color:#d6c5b1;background:#fffaf2;font-size:21px}
.carousel-arrow:hover{color:#fff;background:#9c422f;border-color:#9c422f}
.project-slide{grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:center;padding:32px;border:1px solid #e7d9c8;border-radius:20px;background:#fcf6ed;min-height:318px}
.project-slide.theme-citoyen{background:#f5f5ec;border-color:#dce1cd}
.reference-identity{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.reference-logo{width:110px;height:56px;margin:0;flex-shrink:0}
.reference-logo img{max-width:110px;max-height:56px;width:auto;height:auto}
.reference-city{display:block;font-size:16px;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:6px}
.project-summary .mini-label{margin:0;font-size:11px;letter-spacing:.035em}
.project-summary h3{font-size:28px;line-height:1.2;letter-spacing:-.025em;margin:0 0 16px;max-width:30ch}
.reference-description{font-size:15px;line-height:1.6;min-height:0;margin:0;max-width:60ch;color:#545964}
.reference-image{width:300px;aspect-ratio:4/3;margin:0;max-height:225px;border-radius:12px;overflow:hidden;background:transparent}
.reference-image img{width:100%;height:100%;object-fit:contain}
.carousel-selector{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}
.carousel-selector[hidden],.carousel-selector button[hidden]{display:none!important}
.carousel-selector button{font-size:13px;line-height:1.3;min-height:44px;padding:10px 14px;border:1px solid #e1d6c8;background:#fff;border-radius:9px;color:#665d52}
.carousel-selector button:hover{border-color:#ae7555;background:#fcf6ed}
.carousel-selector button[aria-pressed="true"]{background:#a94231;border-color:#a94231;color:#fff;font-weight:600}
.project-slide:not([hidden]){animation:reference-appear .18s ease-out}
@keyframes reference-appear{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
[data-page="realisations"] .page-hero{padding:42px 0 30px;background:#fcf6ed}
[data-page="realisations"] .page-hero .eyebrow{display:none}
[data-page="realisations"] .page-hero h1{margin-bottom:18px}
[data-page="realisations"] .page-hero .lead{margin-bottom:0}
[data-page="realisations"] section.section{padding-top:36px;padding-bottom:55px}
[data-page="realisations"] .filter-row{margin-bottom:24px}
.association-illustration{margin:38px 0 0}
.association-illustration .editorial-illustration{margin:0}
.association-illustration .schema-open{border:0;background:transparent}
.urban-formats-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start;max-width:920px;margin:0 auto}
.urban-formats-layout figure{margin:0}
.urban-formats-layout figure img{width:100%;height:auto;border-radius:12px}
.urban-formats-layout figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.urban-formats-layout>div{border-bottom:1px solid var(--theme-line)}
.urban-formats-section{border-top:1px solid #eee1d1}
.territory-roadmap{max-width:900px}
.territory-roadmap-intro{max-width:700px}
.territory-steps{list-style:none;margin:30px 0 24px;padding:0;border-top:1px solid #dce2d2}
.territory-steps li{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #dce2d2;align-items:baseline}
.territory-steps li>span{font-size:14px;font-weight:700;color:#48724d;min-width:30px}
.territory-steps h3{font-size:23px;margin:0 0 8px}
.territory-steps p{font-size:16px;margin:0;max-width:68ch}
.territory-outcome{border-left:3px solid #83a36a;padding:5px 0 5px 20px;margin:30px 0;font-size:17px;color:#37593a}
.contact-form-title{font-size:28px}
@media(max-width:900px){.project-slide{grid-template-columns:minmax(0,1fr) 240px;gap:24px;padding:26px}.reference-image{width:240px;max-height:180px}.project-summary h3{font-size:25px}.reference-identity{gap:14px}.urban-formats-layout{grid-template-columns:260px minmax(0,1fr);gap:28px}}
@media(max-width:700px){.project-slide{grid-template-columns:1fr;gap:20px;padding:22px 18px;min-height:0;border-radius:15px}.reference-identity{gap:15px;margin-bottom:20px}.reference-logo{width:92px;height:48px}.reference-logo img{max-width:92px;max-height:48px}.reference-city{font-size:15px}.project-summary h3{font-size:25px;max-width:none;margin-bottom:14px}.project-summary .reference-description{font-size:15px;min-height:0}.reference-image{width:100%;max-width:300px;max-height:170px;aspect-ratio:16/9;justify-self:center}.carousel-controls{margin:0 0 12px;justify-content:space-between}.carousel-selector{gap:7px;padding-top:12px}.carousel-selector button{font-size:12px;padding:10px 12px}.urban-formats-layout{grid-template-columns:1fr;gap:24px}.urban-formats-layout figure{max-width:300px;margin:auto}.territory-steps li{gap:16px;padding:22px 0}.territory-steps h3{font-size:21px}.territory-roadmap h2{font-size:32px}.contact-form-title{font-size:25px}.association-illustration{margin-top:28px}[data-page="realisations"] .page-hero{padding:28px 0}[data-page="realisations"] section.section{padding-top:26px;padding-bottom:40px}}
.carousel-city-buttons{display:flex;flex-wrap:wrap;gap:8px}
.carousel-mobile-picker{display:none}
@media(max-width:700px){.carousel-city-buttons{display:none}.carousel-mobile-picker{display:flex;align-items:center;gap:12px;width:100%;font-size:12px;color:#665d52}.carousel-mobile-picker>span{flex-shrink:0}.carousel-mobile-picker select{min-width:0;flex:1;width:100%;min-height:46px;background:#fff;border:1px solid #d6c5b1;border-radius:8px;padding:8px 28px 8px 10px;color:var(--ink);font-size:14px}}

/* References: the same three-card reading rhythm as Trajectoire. */
.project-carousel{max-width:1120px;width:100%}
.project-slides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.project-slide,.project-slide.theme-citoyen{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:410px;padding:26px 24px;border:1px solid #e3ddd2;border-radius:15px;background:#fff;box-shadow:0 3px 16px #55432b04}
.reference-logos{height:100px;display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px}
.reference-logo{display:flex;align-items:center;justify-content:center;width:190px;height:90px;max-width:100%;margin:0;flex-shrink:1}
.reference-logo img{max-width:185px;max-height:88px;width:auto;height:auto;object-fit:contain;object-position:center}
.reference-logo-dark{background:#3b4942;border-radius:8px;padding:12px 16px}
.reference-logo-dark img{max-width:100%;max-height:68px}
.reference-logos-pair .reference-logo{width:calc(50% - 7px);height:66px}
.reference-logos-pair img{max-width:100%;max-height:58px}
.reference-logos-pair .reference-logo-dark{padding:10px}
.project-summary .mini-label{display:block;font-size:11px;line-height:1.4;letter-spacing:.055em;text-transform:uppercase;color:#a44732;margin:0 0 14px}
.theme-citoyen .project-summary .mini-label{color:#5c713a}
.theme-territoires .project-summary .mini-label{color:#3d7250}
.reference-city{font-size:16px;line-height:1.4;margin:0 0 7px;color:#61604f;font-weight:600}
.project-summary h3{font-size:23px;line-height:1.27;letter-spacing:-.02em;max-width:none;margin:0 0 16px}
.project-summary .reference-description{font-size:15px;line-height:1.65;min-height:0;margin:0;color:#545964}
.reference-description span{display:inline}
.reference-description span+span:before{content:' '}
.reference-visual{margin-top:auto;padding-top:20px}
.reference-image{width:100%;max-width:none;max-height:none;aspect-ratio:4/3;margin:0;border-radius:8px;overflow:hidden;background:#faf8f2}
.reference-image img{width:100%;height:100%;object-fit:contain}
.carousel-selector{display:flex;justify-content:flex-end;padding-top:18px}
.carousel-mobile-picker{display:flex;align-items:center;gap:14px;max-width:450px;width:100%;font-size:12px;color:#665d52}
.carousel-mobile-picker>span{flex-shrink:0}
.carousel-mobile-picker select{min-width:0;flex:1;width:100%;min-height:46px;background:#fff;border:1px solid #d6c5b1;border-radius:8px;padding:8px 28px 8px 10px;color:var(--ink);font-size:14px}
.territory-reference-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:70px;align-items:center}
.territory-reference-layout .project-slides{grid-template-columns:1fr}
.territory-reference-layout .project-slide{min-height:0}
@media(min-width:701px) and (max-width:1023px){.project-slides{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-slide{padding:24px}.territory-reference-layout{gap:28px}}
@media(max-width:700px){.project-slides{grid-template-columns:1fr;gap:18px}.project-slide{min-height:370px;padding:24px;border-radius:14px}.project-summary h3{font-size:24px}.reference-logos{height:92px;margin-bottom:22px}.project-summary .reference-description{font-size:16px}.reference-image{max-width:none;max-height:none}.carousel-mobile-picker{gap:10px}.carousel-mobile-picker>span{max-width:90px}.territory-reference-layout{grid-template-columns:1fr;gap:24px}}

.territory-references-intro{max-width:800px;margin:0 0 30px;color:var(--muted);line-height:1.65}

/* Association navigation: the label remains visible within the association menu. */
.nav-association{position:relative;flex-shrink:0}
.nav-association>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:14px 0;min-height:46px;font-weight:600}
.nav-association>summary::-webkit-details-marker{display:none}
.nav-association[open]>summary,.nav-association:has([aria-current="page"])>summary{color:var(--theme-accent)}
.nav-association-links{position:absolute;top:100%;left:-20px;width:345px;max-width:calc(100vw - 48px);background:#fff;border:1px solid #eadbd1;border-radius:12px;box-shadow:0 15px 35px #3523151a;padding:12px;z-index:40}
.nav-association-links>a{display:block;padding:13px 12px;border-radius:7px;white-space:normal;font-size:14px;line-height:1.4}
.nav-association-links>a:hover,.nav-association-links>a:focus-visible{background:#fff5e8;color:#864820}
.nav-association-links small{display:block;font-size:12px;line-height:1.5;font-weight:400;color:#696057;margin-top:4px}
.nav-association-links .nav-vvc{display:flex;align-items:center;gap:12px;background:#fff9e9;margin:5px 0}
.nav-vvc img{width:42px;height:42px;object-fit:contain;flex-shrink:0}
summary:focus-visible{outline:3px solid #a7492f;outline-offset:5px}
.approach-disclosures summary{gap:24px;align-items:center}
.approach-disclosures summary strong{display:block;font-size:20px}
.approach-disclosures summary small{display:block;font-size:15px;font-weight:400;color:#6f6255;margin-top:7px;line-height:1.4}
.approach-context{font-size:15px;line-height:1.65;margin:28px 0 0}
.approach-context a,.evidence-list a,.historical-patronage a{color:#97502d;text-decoration:underline;text-underline-offset:4px}
.action-ideas{display:grid;gap:36px}
.action-idea-group{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);column-gap:56px}
.action-idea-group>h3{grid-row:1 / span 4;font-size:25px;padding-top:22px;max-width:260px}
.action-idea-group .detail{margin:0;border-bottom:1px solid #e4d6cb;border-top:0;border-radius:0;background:transparent}
.action-idea-group .detail:first-of-type{border-top:1px solid #e4d6cb}
.action-idea-group .detail summary{font-size:17px;padding:19px 0}
.action-idea-group .detail-copy{padding:0 0 22px}
.resource-bridge{display:flex;align-items:center;gap:40px;justify-content:space-between;margin-top:40px;padding:30px;background:#fff7e7;border-radius:12px;border:1px solid #eddfc4}
.resource-bridge h3{font-size:23px;margin-bottom:10px}
.resource-bridge p{font-size:15px;max-width:600px;margin:0}
.resource-bridge .btn{flex-shrink:0;max-width:290px}
.vvc-page-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:55px;align-items:center}
.vvc-page-intro h1{font-size:clamp(35px,4vw,55px)}
.vvc-page-logos .vvc-logos{justify-content:flex-end}
.vvc-page-logos .vvc-logos img{width:130px;height:130px}
.vvc-reading-steps{margin-top:35px}
.vvc-reading-steps article{display:flex;gap:24px;padding:27px 0;border-top:1px solid #e5d7bf}
.vvc-reading-steps article>span{font-size:18px;font-weight:700;color:#9a662c;padding-top:3px}
.vvc-reading-steps h3{font-size:23px;margin-bottom:12px}
.vvc-reading-steps p{margin:0;line-height:1.7}
.recognition-section{background:#fffaf3}
.evidence-list{list-style:none;padding:0;margin:12px 0}
.evidence-list li{display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px;padding:23px 0;border-bottom:1px solid #e7d9c7}
.evidence-list li:last-child{border-bottom:0}
.evidence-list li>span{font-size:15px;color:#9a6637;font-weight:700;padding-top:2px}
.evidence-list h3{font-size:21px;margin:0 0 10px}
.evidence-list p{margin:0 0 10px}
.evidence-list a{font-size:14px}
.historical-patronage{padding:20px;border-left:3px solid #c99141;background:#fff8e7;margin:15px 0 0;font-size:15px}
.press-section-heading{margin-top:48px}
.press-section-heading h3{font-size:28px;margin:0 0 10px}
.press-section-heading p{font-size:16px}
.press-row{display:grid;grid-template-columns:185px minmax(0,1fr);gap:30px;padding:28px 0;border-top:1px solid #e4d7c7}
.press-identity strong{display:block;font-size:21px;line-height:1.3;color:#8f482a}
.press-identity>span{display:block;font-size:12px;color:#736454;margin-top:8px;line-height:1.5}
.press-copy small{display:block;font-size:12px;color:#766758;margin-bottom:9px}
.press-copy h3{font-size:21px;margin-bottom:12px;line-height:1.35}
.press-copy p{font-size:15px;line-height:1.65;margin-bottom:12px}
.press-copy .text-link{font-size:13px;min-height:40px}
.more-press{margin-top:16px}
.more-press>.press-list{padding:0 22px 8px}
.source-crop{display:block;position:relative;overflow:hidden;width:100%;max-width:100%;flex-shrink:0}
.source-crop>img{position:absolute;object-fit:initial!important;object-position:initial!important}
.reference-logo>.source-crop{max-width:110px;max-height:88px;width:auto;height:88px}
.reference-image:has(.source-crop){display:flex;align-items:center;justify-content:center}
.reference-image>.source-crop{width:auto;height:100%;max-width:100%}
@media(max-width:1000px){.nav-association{width:100%}.nav-association>summary{font-size:18px;padding:14px 0;justify-content:space-between}.nav-association-links{position:static;box-shadow:none;width:100%;max-width:none;margin:0 0 10px;padding:8px}.nav-association-links>a{font-size:16px}.resource-bridge{align-items:flex-start;flex-direction:column;gap:22px}.vvc-page-intro{grid-template-columns:1fr;gap:16px}.vvc-page-logos .vvc-logos{justify-content:flex-start;margin:0}.vvc-page-logos .vvc-logos img{width:100px;height:100px}}
@media(max-width:700px){.action-idea-group{grid-template-columns:1fr;gap:0}.action-idea-group>h3{grid-row:auto;font-size:23px;max-width:none;padding-top:0;margin:0 0 20px}.action-ideas{gap:34px}.resource-bridge{padding:24px}.resource-bridge .btn{max-width:100%}.approach-disclosures summary strong{font-size:18px}.approach-disclosures summary small{font-size:14px}.press-row{grid-template-columns:1fr;gap:15px;padding:24px 0}.press-identity strong{font-size:20px}.press-identity>span{margin-top:4px}.press-copy h3{font-size:20px}.press-copy p{font-size:16px}.more-press>.press-list{padding:0 0 5px}.evidence-list li{grid-template-columns:1fr;gap:8px}.evidence-list h3{font-size:20px}.historical-patronage{padding:16px}.vvc-reading-steps article{gap:16px}.vvc-reading-steps h3{font-size:21px}}

/* Keep source crops proportional; the SVG viewport excludes slide frames. */
.reference-image>.source-crop{width:100%;height:100%;max-width:100%;max-height:100%;flex-shrink:1}.reference-logo>.source-crop{width:110px;height:88px;max-width:100%;max-height:100%}

@media(max-width:1000px){#primary-navigation.open{max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain}}

/* Clear menu explanations and a quieter in-page navigation. */
#primary-navigation{gap:20px}
#primary-navigation>a{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:13px;line-height:1.25;white-space:nowrap}
#primary-navigation>a small{font-size:10px;font-weight:400;line-height:1.4;color:#68646c;white-space:nowrap}
#primary-navigation>a.contact-nav small{color:#fff;opacity:.9}
#primary-navigation>a.active:after{height:2px;width:28px;background:var(--theme-accent)}
.category-nav{background:#fff;box-shadow:none;border-bottom:1px solid #e9e3dd;padding:0;position:sticky;top:105px}
.category-nav .category-nav-label,.category-nav .category-more{display:none}
.category-nav .category-links{display:flex;flex-wrap:wrap;gap:0 32px}
.category-nav .category-link{position:relative;display:flex;align-items:center;min-height:61px;padding:16px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:13px;font-weight:500;line-height:1.45;color:#5d5c63}
.category-nav .category-link:last-child{font-weight:500;color:#5d5c63}
.category-nav .category-link:hover,.category-nav .category-link.selected{color:var(--theme-accent);background:transparent}
.category-nav .category-link.selected:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--theme-accent)}
.category-nav .category-link:focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}
html:has(.category-nav){scroll-padding-top:190px}
.approaches-vvc{background:#fff9e9}
.approaches-next{display:flex;flex-wrap:wrap;gap:14px 35px;margin-top:35px;padding-top:22px;border-top:1px solid var(--theme-line)}
.organization-overview{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.organization-thumbnail,.odc-thumbnail{display:block;background:transparent;border:0;padding:0;cursor:zoom-in;width:100%}
.organization-thumbnail img{display:block;width:100%;height:auto}
.organization-thumbnail:focus-visible,.odc-thumbnail:focus-visible{outline:2px solid var(--theme-accent);outline-offset:6px}
.organization-overview+.wrap .join-band{margin-top:44px}
.reference-layout{grid-template-columns:1fr;gap:36px}
.odc-reference{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;border-left:0;border-top:1px solid var(--theme-line);padding:30px 0 0;align-items:start}
.odc-thumbnail img{display:block;width:150px;height:auto}
.recognition-section .evidence-list li{grid-template-columns:1fr}
.recognition-section .detail-copy{padding-top:8px}
.recognition-section .editorial-readable{max-width:1180px}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 38px;margin-top:24px}
.media-mention{border-top:1px solid #e5dbd0}
.media-mention>a{display:grid;grid-template-columns:82px minmax(0,1fr) 12px;align-items:center;gap:18px;padding:19px 0;min-height:100px}
.media-mention>a:hover .media-caption strong{color:var(--theme-accent)}
.media-mention>a:focus-visible{outline:2px solid var(--theme-accent);outline-offset:4px}
.media-logo{height:49px;display:flex;align-items:center;justify-content:center;background:white;border-radius:3px}
.media-logo:empty{background:none}
.media-logo img{display:block;max-width:74px;max-height:42px;width:auto;height:auto;object-fit:contain}
.media-logo .source-crop{width:74px;height:44px;max-width:100%}
.media-caption strong{display:block;font-size:16px;font-weight:650;line-height:1.4}
.media-caption>span{display:block;font-size:13px;line-height:1.5;color:#68606a;margin-top:4px}
.media-caption>small{display:block;font-size:11px;color:#766758;margin-top:4px}
.media-open{font-size:17px;color:#938577}
.news-grid{align-items:start}
.news-card .news-image{display:block;height:185px;width:100%;object-fit:contain;padding:18px;background:#fffcf7}
.news-card .news-copy{padding:26px}
.news-card h3{font-size:23px;line-height:1.28}
.news-preview{font-size:15px;line-height:1.7}
.news-details{border-top:1px solid #e8ded5;margin-top:20px}
.news-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;padding:14px 0;cursor:pointer;font-size:14px;font-weight:600}
.news-details summary::-webkit-details-marker{display:none}
.news-details[open] summary span{transform:rotate(45deg)}
.news-details>div p{font-size:15px;line-height:1.7;margin:0 0 16px}
.news-cta{font-size:14px;line-height:1.5;align-items:center;margin-top:10px}
.news-card .news-cta-note{font-size:12px;line-height:1.5;color:#736c6a;margin:10px 0 0}
@media(min-width:1201px){#primary-navigation{display:flex}.nav-wrap{gap:22px}.brand{flex-shrink:0}.brand img{width:54px}.brand span{font-size:18px}}
@media(max-width:1200px){.nav-wrap{min-height:85px}.menu-toggle{display:flex;gap:12px;align-items:center;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:5px;padding:8px 12px;color:var(--ink);min-height:46px}#primary-navigation{display:none;position:absolute;top:85px;left:0;width:100%;padding:18px 28px 28px;background:#fff;box-shadow:0 15px 20px #2025450a;max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain}#primary-navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}#primary-navigation>a{font-size:18px;padding:16px 0;gap:5px}#primary-navigation>a small{font-size:12px}#primary-navigation>a.contact-nav{margin-top:14px;padding:15px 20px!important}.category-nav{top:85px}.category-nav .category-links{gap:0 24px}.category-nav .category-link{min-height:57px;font-size:12px}}
@media(max-width:700px){.category-nav{position:relative;top:auto}.category-nav .category-links{flex-wrap:wrap;gap:0 22px}.category-nav .category-link{min-height:44px;font-size:12px;padding:13px 0}.category-nav .wrap{padding-top:5px;padding-bottom:5px}.category-nav .category-link.selected:after{bottom:4px}.organization-overview{grid-template-columns:1fr;gap:24px}.odc-reference{grid-template-columns:95px minmax(0,1fr);gap:18px}.odc-thumbnail img{width:95px}.odc-reference h3{font-size:22px}.media-grid{grid-template-columns:1fr;gap:0}.media-mention>a{grid-template-columns:67px minmax(0,1fr) 12px;gap:14px;min-height:94px;padding:17px 0}.media-logo{height:43px}.media-logo img{max-width:61px;max-height:37px}.media-logo .source-crop{width:61px;height:40px}.media-caption strong{font-size:15px}.media-caption>span{font-size:12px}.news-card .news-copy{padding:24px}.news-card .news-image{height:180px}.news-card h3{font-size:23px}html:has(.category-nav){scroll-padding-top:104px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.media-logo:has(img[src$="france-televisions.png"]){background:#30343d;padding:5px}
.category-nav .category-link[aria-current="location"]{background:transparent}

body[data-theme] .category-nav .category-link:hover,body[data-theme] .category-nav .category-link.selected{background:transparent}

/* Fields stay disabled if the mail composer cannot initialize. */
.contact-fields{min-inline-size:0;min-width:0;border:0;margin:0;padding:0}
.contact-bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.contact-fields:disabled .btn{opacity:.55;cursor:not-allowed}

/* Compact inspiration gallery; the full working resources remain in the citizen space. */
.idea-category-picker{display:flex;flex-wrap:wrap;gap:8px 30px;border-bottom:1px solid #e4d6cb;margin-bottom:28px}
.idea-category-picker[hidden],.idea-gallery-group[hidden]{display:none}
.idea-category-picker button{position:relative;padding:15px 0;min-height:48px;border:0;background:none;color:#6b6260;font-size:15px;font-weight:500;line-height:1.4}
.idea-category-picker button[aria-pressed="true"]{color:var(--theme-accent);font-weight:650}
.idea-category-picker button[aria-pressed="true"]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--theme-accent)}
.idea-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 38px}
.idea-gallery-group{margin-top:24px}
.idea-gallery.is-interactive .idea-group-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.idea-thumbnail{display:grid;grid-template-columns:78px minmax(0,1fr);gap:22px;align-items:start;border-bottom:1px solid #e9ded3;padding:8px 0 24px}
.idea-thumbnail h4{font-size:19px;font-weight:650;line-height:1.35;margin:0 0 10px;color:var(--ink)}
.idea-thumbnail p{font-size:14px;line-height:1.65;margin:0}
.idea-picto{width:78px;height:78px;border-radius:9px;overflow:hidden}
.idea-picto .source-crop{width:100%;height:100%}
.situation-photo{margin:26px 0 0;max-width:365px}
.situation-photo img{width:100%;height:auto;border-radius:8px}
.situation-photo figcaption{font-size:12px;color:#79716d;margin-top:8px;line-height:1.5}
.urban-domain-picto{width:64px;height:64px;margin-bottom:18px}
.urban-domain-picto .source-crop{width:100%;height:100%}
[data-page="urbain"] .civic-domain header{min-height:240px}
.urban-support-thumbnail{display:block;border:0;padding:0;background:#fff;width:100%;cursor:zoom-in}
.urban-support-thumbnail img{display:block;width:100%;height:auto}
.urban-illustration-break{max-width:850px;margin:32px auto}
.urc-current-visual{max-width:980px;margin:32px auto}
.urban-formats-layout .urban-support-thumbnail img{width:100%;height:auto;object-fit:contain;border-radius:0}
.urc-principles ul{columns:2;column-gap:38px;padding-left:20px;line-height:1.65}
.urc-principles li{break-inside:avoid;padding:6px 0}
@media(max-width:700px){.idea-category-picker{gap:0 22px;margin-bottom:20px}.idea-category-picker button{font-size:13px;padding:12px 0;min-height:46px}.idea-gallery-grid{grid-template-columns:1fr;gap:20px}.idea-thumbnail{grid-template-columns:64px minmax(0,1fr);gap:17px;padding:5px 0 21px}.idea-thumbnail h4{font-size:18px}.idea-thumbnail p{font-size:14px}.idea-picto{width:64px;height:64px}.situation-photo{max-width:100%;margin-top:23px;margin-bottom:12px}.situation-photo img{max-height:240px;object-fit:cover}.urban-domain-picto{width:60px;height:60px}.urc-principles ul{columns:1}[data-page="urbain"] .civic-domain header{min-height:0}.urc-current-visual{margin:24px auto}.urban-illustration-break{margin:24px auto}}

/* EC palette, photographs and compact persistent navigation — October 2026. */
:root{--ink:#182458;--muted:#50566b;--blue:#0082c7;--coral:#e40049;--green:#16825a;--line:#dce1e9;--theme-accent:#e40049;--theme-hover:#b8003b;--theme-soft:#fff6f9;--theme-line:#f1c9d5;--header-height:82px;--hero-height:0px;--subnav-height:0px;--anchor-offset:108px}
body[data-theme="citoyen"],.theme-citoyen{--theme-accent:#e40049;--theme-hover:#b8003b;--theme-soft:#fff6f9;--theme-line:#f1c9d5}
body[data-theme="urbain"],.theme-urbain{--theme-accent:#0074b3;--theme-hover:#005c91;--theme-soft:#f1faff;--theme-line:#c2e1f3}
body[data-theme="territoires"],.theme-territoires{--theme-accent:#632184;--theme-hover:#4c1767;--theme-soft:#faf6fd;--theme-line:#dfc9ec}
body[data-theme="association"],body[data-theme="demarches"],body[data-theme="villes"]{--theme-accent:#172659;--theme-hover:#0082c7;--theme-soft:#f6f8fc;--theme-line:#d5deee}
body{--paper:var(--theme-soft);--purple:var(--theme-accent)}
.header{border-top:0;background:#fff}
.header:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0082c7 0 33.333%,#fff 33.333% 66.666%,#e40049 66.666%)}
.nav-wrap{min-height:82px;gap:17px;padding-top:4px}.brand img{width:46px;height:60px}.brand span{font-size:16px}
#primary-navigation{gap:16px}#primary-navigation>a{font-size:12px;white-space:normal}#primary-navigation>a small{font-size:9px}
#primary-navigation>a.contact-nav{padding:10px 14px!important}
.social-menu{position:relative;flex-shrink:0;color:var(--ink)}.social-menu summary{list-style:none;display:flex;gap:7px;align-items:center;cursor:pointer;min-height:44px;font-size:11px}.social-menu summary::-webkit-details-marker{display:none}.social-menu>div{position:absolute;right:0;top:45px;width:160px;background:#fff;box-shadow:0 9px 30px #17265924;border:1px solid var(--line);border-radius:5px;padding:8px;z-index:25}.social-menu a{display:block;padding:12px;font-size:14px}.social-menu a:hover{background:var(--theme-soft)}
.header .social-label{display:none}
.page-hero,.hero{background:#fff}.hero{border-bottom:1px solid var(--line)}.hero .eyebrow{color:#e40049}.accent-lines i{background:#632184}.accent-lines i:nth-child(2){background:#e40049}.accent-lines i:nth-child(3){background:#0082c7}
.dialogue-hero{position:sticky;top:var(--header-height);z-index:19;padding:13px 0 15px;background:var(--theme-accent);color:#fff;border:0;box-shadow:none}
.dialogue-hero .wrap{display:block}.dialogue-page-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:7px;font-size:12px;line-height:1.4}.dialogue-page-label>span{font-weight:600;letter-spacing:.04em}.dialogue-page-label>a{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#fff}
.dialogue-hero h1{font-size:clamp(25px,2.2vw,32px);line-height:1.2;letter-spacing:-.025em;max-width:none;margin:0;color:#fff}
.category-nav{position:sticky;top:calc(var(--header-height) + var(--hero-height));z-index:18;background:#fff;border-color:var(--line)}
.category-nav .wrap{padding-top:0;padding-bottom:0}.category-nav .category-links{display:flex;flex-wrap:nowrap;gap:0 27px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c4cbd7 transparent}
.category-nav .category-link{flex:0 0 auto;min-height:49px;font-size:12px;white-space:nowrap;padding:13px 0;color:#4e5260}
.category-nav .category-link.selected:after{bottom:0;height:3px}
html,html:has(.category-nav),html:has(main .hero){scroll-padding-top:var(--anchor-offset)}
.trust-signature{font-size:18px!important;line-height:1.5;font-weight:700;color:var(--theme-accent);max-width:28em;margin:23px 0 0}
.civic-trust,.urban-trust{background:#fff}.civic-trust .two-col,.urban-trust .two-col{grid-template-columns:.9fr 1.1fr;gap:65px}.body-copy p:last-child{margin-bottom:0}.role-thumbnail{max-width:340px;margin:26px 0 0}.urban-role-details{margin-top:35px}.urban-role-details>.reading-detail{padding:16px 0}
.civic-domains{gap:30px;align-items:start}.civic-domain{padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}.domain-photo{margin:0 0 22px;aspect-ratio:16/10;width:100%;overflow:hidden;border-radius:5px}.domain-photo img{width:100%;height:100%;object-fit:cover}.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:120px;margin:0}.civic-domain h3{font-size:24px;line-height:1.2;margin-bottom:13px}.civic-domain header>p{font-size:15px;color:var(--muted);margin-bottom:20px}.civic-domain .civic-disclosure{border-color:#d6dce6}.civic-disclosure[open]>summary{color:var(--theme-accent)}
.trajectory-bridge,.odc-bridge{display:grid;grid-template-columns:65px minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:38px}.trajectory-bridge>img{width:65px;height:65px;object-fit:contain}.trajectory-bridge strong,.odc-bridge strong{font-size:18px}.trajectory-bridge p,.odc-bridge p{font-size:14px;line-height:1.5;margin:5px 0 0;max-width:540px}.trajectory-bridge .text-link,.odc-bridge .text-link{font-size:13px;max-width:240px;line-height:1.5}
.odc-bridge{grid-template-columns:130px minmax(0,1fr) auto;margin-top:25px}.odc-bridge button{border:0;padding:0;background:none;cursor:zoom-in}.odc-bridge img{width:130px}
.idea-category-picker{border-color:var(--line)}.idea-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.idea-thumbnail{display:block;padding:0;border:0}.idea-photo{aspect-ratio:4/3;overflow:hidden;margin:0 0 17px;border-radius:5px}.idea-photo img{width:100%;height:100%;object-fit:cover}.idea-thumbnail h4{font-size:19px;line-height:1.3;margin-bottom:10px}.idea-thumbnail p{font-size:14px}.photo-context{font-size:11px;margin:24px 0 0;color:#666d7e}
.resource-bridge{background:var(--theme-soft);border-color:var(--theme-line);border-radius:6px}.idea-category-picker button{color:#51566a}
.approaches-vvc,.vvc-gateway,.vvc-page-hero,.vvc-spotlight,.recognition-section{background:#f6f8fc;border-color:var(--theme-line)}.vvc-spotlight{border-top-color:#e40049}.vvc h2,.vvc-heading h2,.vvc-spotlight h2{color:var(--ink)}.vvc .eyebrow,.vvc-spotlight .eyebrow{color:#e40049}.vvc-spotlight .btn{background:#172659;border-color:#172659}
.approach-disclosures summary{gap:22px;align-items:center}.approach-logo{width:74px;height:74px;object-fit:contain;flex:0 0 74px}.approach-summary-title{flex:1}.approach-disclosures summary small{margin-top:5px}.approach-disclosures .reading-detail{padding:22px 0}
.odc-reference-primary{grid-template-columns:minmax(230px,.9fr) 1.1fr;gap:38px;border:0;padding:0 0 38px;align-items:center;border-bottom:1px solid var(--line)}.odc-reference-primary .odc-thumbnail img{width:100%}.odc-reference-primary h3{font-size:28px}.odc-reference-primary p{font-size:17px;line-height:1.65}.odc-reference-primary .mini-label{color:var(--theme-accent)}.conviction-copy p{font-size:17px;line-height:1.7}.recognition-records summary{display:flex;align-items:center;justify-content:space-between;gap:18px}.recognition-records summary span{font-size:25px;font-weight:400;color:var(--theme-accent)}.recognition-records[open]>summary span{transform:rotate(45deg)}
.section-return{display:inline-flex;align-items:center;min-height:44px;margin:0 0 22px;font-size:13px;font-weight:600;color:var(--theme-accent);text-decoration:underline;text-underline-offset:4px}.back-to-top{position:fixed;bottom:22px;left:22px;z-index:21;display:flex;align-items:center;min-height:42px;padding:8px 15px;background:#fff;color:#172659;border:1px solid #c5cddd;box-shadow:0 2px 15px #17265914;border-radius:24px;font-size:12px}.back-to-top[hidden]{display:none}
.schema-dialog{padding:0;overflow:auto;max-height:94dvh}.schema-dialog header{position:sticky;top:0;margin:0;padding:14px 20px;background:#fff;z-index:2;border-bottom:1px solid var(--line);flex-wrap:wrap}.schema-dialog #close-schema{background:#172659;color:#fff;min-height:44px;white-space:nowrap;margin-left:auto}.schema-dialog .zoom-body{max-height:calc(94dvh - 80px);padding:16px;overscroll-behavior:contain}.schema-dialog h2{max-width:70%;font-size:18px}
footer{background:#f5f7fb;border-top:3px solid #0082c7}.footer-bottom{border-color:var(--line)}.urc-section{background:var(--theme-soft);border-color:var(--theme-line)}
@media(min-width:1201px){.brand span{font-size:16px}.brand img{width:46px}}
@media(max-width:1200px){.nav-wrap{min-height:76px}.header .social-label{display:inline}.social-menu{margin-left:0}.menu-toggle{margin-left:auto}#primary-navigation{top:76px;max-height:calc(100dvh - 76px)}#primary-navigation>a{font-size:18px}#primary-navigation>a small{font-size:12px}.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:145px}.idea-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.nav-wrap{width:calc(100% - 32px);min-height:72px;gap:13px}.brand{gap:8px}.brand img{width:39px;height:54px}.brand span{font-size:14px}.menu-toggle{padding:8px 10px;font-size:13px;gap:7px}.header .social-label{display:none}.social-menu summary{width:30px;justify-content:center}#primary-navigation{top:72px;max-height:calc(100dvh - 72px)}.dialogue-hero{padding:10px 0 12px;top:var(--header-height)}.dialogue-page-label{font-size:10px;margin-bottom:5px}.dialogue-page-label>a{font-size:10px}.dialogue-hero h1{font-size:23px;line-height:1.2}.category-nav{position:sticky;top:calc(var(--header-height) + var(--hero-height))}.category-nav .wrap{width:100%;padding:0 20px}.category-nav .category-links{flex-wrap:nowrap;gap:24px;scrollbar-width:none}.category-nav .category-link{font-size:12px;min-height:47px;padding:12px 0}.category-nav .category-link.selected:after{bottom:0}.civic-trust .two-col,.urban-trust .two-col{grid-template-columns:1fr;gap:24px}.trust-signature{margin-top:15px;font-size:17px!important}.civic-trust h2,.urban-trust h2{font-size:31px;margin-bottom:0}.role-thumbnail{max-width:270px;margin-top:20px}.civic-domains{gap:42px}.civic-domain{padding:0}.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:0;margin-bottom:23px}.domain-photo{aspect-ratio:16/9;margin-bottom:20px}.civic-domain h3{font-size:26px}.trajectory-bridge,.odc-bridge{grid-template-columns:60px minmax(0,1fr);gap:15px;margin-top:26px;padding:20px 0}.trajectory-bridge>img{width:60px;height:60px}.trajectory-bridge .text-link,.odc-bridge .text-link{grid-column:2;max-width:none;font-size:13px}.trajectory-bridge strong,.odc-bridge strong{font-size:17px}.trajectory-bridge p,.odc-bridge p{font-size:13px}.odc-bridge{grid-template-columns:95px minmax(0,1fr)}.odc-bridge img{width:95px}.idea-gallery-grid{grid-template-columns:1fr;gap:30px}.idea-thumbnail{display:grid;grid-template-columns:108px minmax(0,1fr);gap:17px;padding:0 0 24px;border-bottom:1px solid var(--line)}.idea-photo{margin:0;aspect-ratio:1/1}.idea-thumbnail h4{font-size:18px}.idea-thumbnail p{font-size:14px}.approach-logo{width:56px;height:56px;flex-basis:56px}.approach-disclosures summary{gap:15px}.approach-disclosures summary strong{font-size:18px}.approach-disclosures summary small{font-size:13px}.odc-reference-primary{grid-template-columns:1fr;gap:24px}.odc-reference-primary .odc-thumbnail{max-width:380px}.odc-reference-primary h3{font-size:27px}.schema-dialog header{padding:12px;gap:10px}.schema-dialog h2{max-width:100%;font-size:15px}.schema-dialog #close-schema{font-size:13px;margin-left:0}.schema-dialog .zoom-body{padding:10px;max-height:calc(94dvh - 115px)}.schema-dialog .zoom-body img{min-width:900px}.back-to-top{left:15px;bottom:16px}}
body[data-theme] .page-hero.dialogue-hero{background:var(--theme-accent);border-color:var(--theme-accent);color:#fff}
body[data-theme] .page-hero.dialogue-hero h1,body[data-theme] .dialogue-page-label{color:#fff}
.header .social-label{display:inline}.social-menu summary{font-size:10px}
@media(max-width:700px){.social-menu summary{width:auto;gap:5px}.header .social-label{display:inline;font-size:10px}}
@media(max-width:360px){.header .social-label{display:none}}

/* Focused readability adjustments: preserve the original proportions and group related choices. */
body[data-page="accueil"] .hero h1 .trust-relations{color:#0082c7;font-style:normal}
.odc-bridge img,.odc-thumbnail img,img[src$="mosaique-odc-2026.png"]{height:auto;object-fit:contain}
.odc-bridge>button{display:block;width:100%;min-width:0;align-self:center}
.odc-bridge img{width:100%;max-width:130px}
.category-nav .category-link,.category-nav .category-link:last-child{font-size:14px;font-weight:700;color:var(--ink);min-height:54px;padding:15px 0}
.category-nav .category-link.selected,.category-nav .category-link:hover{color:var(--theme-accent)}
.category-nav .category-link.selected:after{height:4px}
.detail>summary,.reading-detail>summary,.civic-disclosure>summary{font-weight:700}
.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:0;margin:0 0 12px}
.civic-domain h3{font-size:25px;line-height:1.2;margin:0 0 8px}
.civic-domain header>p{margin:0;font-size:15px;line-height:1.5}
.domain-photo{margin-bottom:18px}
.civic-topic-list{border-left:3px solid var(--theme-accent);padding-left:16px;margin:0}
.civic-topic-list .civic-disclosure:first-child{border-top:0}
.civic-topic-list .civic-disclosure>summary{padding:14px 0;font-size:17px;line-height:1.4;min-height:54px;gap:12px}
.civic-topic-list .civic-disclosure:first-child>summary{padding-top:5px;min-height:44px}
.civic-topic-list .civic-answer{padding-bottom:15px}
.civic-plus{font-weight:700;flex-shrink:0}
.civic-needs-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);grid-template-areas:"intro choices" "photo choices";grid-template-rows:auto 1fr;gap:24px 60px}
.civic-needs-intro{grid-area:intro}
.civic-needs-intro h2{margin-bottom:18px}
.civic-needs-intro>p{margin:0;max-width:360px}
.civic-needs{grid-area:choices;border:0;display:grid;gap:9px;align-content:start}
.civic-needs .civic-disclosure{border:1px solid var(--line);border-left:3px solid transparent;border-radius:5px;background:#fff;overflow:hidden}
.civic-needs .civic-disclosure>summary{font-size:17px;font-weight:700;line-height:1.4;padding:17px 20px;min-height:64px}
.civic-needs .civic-disclosure:hover{border-color:var(--theme-line)}
.civic-needs .civic-disclosure[open]{border-left-color:var(--theme-accent);border-top-color:var(--theme-line);border-right-color:var(--theme-line);border-bottom-color:var(--theme-line)}
.civic-needs .civic-answer{padding:0 20px 20px}
.civic-needs .civic-answer p{margin-bottom:15px;line-height:1.6}
.civic-needs-layout>.situation-photo{grid-area:photo;margin:0;width:100%;max-width:360px;align-self:start}
.civic-needs-layout>.situation-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* Validated home and association copy; a dedicated entry for Villages et Villes Citoyen(ne)s. */
.vvc-gateway{--theme-accent:#0074b3;--theme-hover:#005c91;--theme-line:#c2e1f3;border-color:var(--theme-line)}
.gateway-copy .eyebrow{color:#0074b3}.gateway-caption,.gateway-copy .gateway-note{color:var(--muted)}
.gateway-copy .gateway-signature{color:var(--ink);margin:22px 0}.gateway-copy .gateway-signature strong{font-weight:700}
.vvc-gateway .btn{background:#0074b3;border-color:#0074b3;color:#fff}.vvc-gateway .btn:hover{background:#005c91;border-color:#005c91}
.association-dimensions{padding-left:23px;margin:12px 0 24px;color:var(--ink);font-size:17px;line-height:1.6}
.association-dimensions li{padding:5px 0}.association-dimensions li::marker{color:#0082c7}
#primary-navigation>a.vvc-nav{display:flex;flex-direction:row;align-items:center;gap:7px;padding:8px 9px;background:#f1f9fe;border:1px solid #c2e1f3;border-radius:5px;color:#182458}
#primary-navigation>a.vvc-nav img{width:31px;height:31px;object-fit:contain;mix-blend-mode:normal;flex-shrink:0}
#primary-navigation .nav-vvc-copy{display:flex;flex-direction:column;gap:5px;line-height:1.25;font-size:12px}
#primary-navigation .vvc-nav small{color:#4b5269}
#primary-navigation>a.vvc-nav:hover,#primary-navigation>a.vvc-nav.active{border-color:#0074b3;background:#eaf6fd}
#primary-navigation>a.vvc-nav.active:after{display:none}
@media(min-width:1201px){.nav-wrap{gap:14px}#primary-navigation{flex:1;min-width:0;gap:12px;justify-content:space-between}#primary-navigation>a{min-width:0}#primary-navigation>a small{white-space:normal}#primary-navigation>a.vvc-nav{flex-shrink:0}}
@media(max-width:1200px){#primary-navigation>a.vvc-nav{margin:10px 0;padding:12px 15px;gap:13px}#primary-navigation>a.vvc-nav img{width:43px;height:43px}#primary-navigation .nav-vvc-copy{font-size:17px}#primary-navigation .vvc-nav small{font-size:12px}}
@media(max-width:1000px){.civic-needs-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:22px 32px}.civic-topic-list{padding-left:12px}.civic-topic-list .civic-disclosure>summary{font-size:16px}.civic-domain h3{font-size:23px}}
@media(max-width:700px){.category-nav .category-link,.category-nav .category-link:last-child{font-size:13px;min-height:49px;padding:13px 0}.civic-domain header,[data-page="urbain"] .civic-domain header{margin-bottom:14px}.civic-domain h3{font-size:25px}.civic-topic-list{padding-left:15px}.civic-topic-list .civic-disclosure>summary{font-size:17px;min-height:54px}.civic-needs-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "choices" "photo";grid-template-rows:auto;gap:23px}.civic-needs .civic-disclosure>summary{font-size:16px;padding:16px;min-height:61px}.civic-needs .civic-answer{padding:0 16px 18px}.civic-needs-layout>.situation-photo{max-width:100%;margin-top:5px}.civic-needs-layout>.situation-photo img{max-height:210px}.odc-bridge img{max-width:95px}}

/* EC diagrams and plain-language explanations share the same reading order. */
.intervention-schema{margin:0 0 42px}.intervention-schema button{border:1px solid var(--line);border-radius:6px;overflow:hidden}.intervention-schema button:focus-visible{outline:3px solid var(--theme-accent);outline-offset:5px}.intervention-schema figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:12px}.civic-domain .domain-summary{font-size:16px;line-height:1.7;margin:0 0 24px;color:var(--text)}
@media(max-width:700px){.intervention-schema{margin-bottom:30px}.intervention-schema figcaption{text-align:left}.civic-domain .domain-summary{font-size:16px;line-height:1.65}}

/* Dialogue pages: a concise introduction, three readable domains and a small action catalogue. */
section.dialogue-introduction{padding:48px 0 42px}
.dialogue-introduction-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px}
.dialogue-introduction h2{font-size:27px;line-height:1.2;margin:0 0 18px}
.dialogue-introduction p{font-size:17px;line-height:1.65;margin:0 0 14px}
.dialogue-introduction p:last-child{margin-bottom:0}
.dialogue-context{padding-right:36px;border-right:1px solid var(--theme-line)}
.dialogue-introduction+.section{padding-top:38px}
.civic-domains .domain-photo{aspect-ratio:2.5/1}
.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:94px}
.civic-approach-list{border-top:1px solid var(--theme-line)}
.civic-approach-row{display:grid;grid-template-columns:122px minmax(0,1fr) 210px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--theme-line)}
.civic-approach-row>img{width:122px;height:84px;object-fit:contain}
.civic-approach-row h3{font-size:22px;line-height:1.25;margin:0 0 8px}
.civic-approach-row p{font-size:16px;line-height:1.55;margin:0;max-width:650px}
.civic-approach-row>.text-link{font-size:14px;line-height:1.5}
.action-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.action-catalogue-item{display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;align-items:start;border-top:1px solid var(--line);padding:24px 0;min-width:0}
.action-catalogue-photo{margin:0;width:108px;height:80px;overflow:hidden;border-radius:4px}
.action-catalogue-photo .source-crop{display:block;width:100%;height:100%}
.action-catalogue-item h3{font-size:17px;line-height:1.35;margin:0 0 8px}
.action-catalogue-item p{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}
.ideas-section .photo-context{font-size:12px;margin-top:5px}
.ideas-section .resource-bridge{margin-top:25px}
.urban-method-followup{padding-bottom:44px}
body[data-page="urbain"] .situation-photo img{object-position:50% 57%}
@media(max-width:1100px){.dialogue-introduction-grid{gap:34px}.dialogue-context{padding-right:24px}.action-catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:112px}}
@media(max-width:700px){section.dialogue-introduction{padding:30px 0}.dialogue-introduction-grid{grid-template-columns:1fr;gap:27px}.dialogue-context{padding:0 0 25px;border-right:0;border-bottom:1px solid var(--theme-line)}.dialogue-introduction h2{font-size:24px;margin-bottom:13px}.dialogue-introduction p{font-size:16px;line-height:1.6}.civic-domain header,[data-page="urbain"] .civic-domain header{min-height:0}.civic-domains .domain-photo{aspect-ratio:2.5/1}.civic-approach-row{grid-template-columns:84px minmax(0,1fr);gap:13px 18px;padding:23px 0;align-items:start}.civic-approach-row>img{width:84px;height:64px}.civic-approach-row h3{font-size:19px}.civic-approach-row p{font-size:15px}.civic-approach-row>.text-link{grid-column:2}.action-catalogue{grid-template-columns:1fr;gap:0}.action-catalogue-item{grid-template-columns:100px minmax(0,1fr);gap:17px;padding:20px 0}.action-catalogue-photo{width:100px;height:74px}.action-catalogue-item h3{font-size:17px}.action-catalogue-item p{font-size:14px}.ideas-section .section-head{margin-bottom:23px}}

/* Shared landmarks live under Structurer l’action citoyenne. */
.landmark-list{display:grid;gap:36px}.landmark-row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:46px;align-items:center;border-top:1px solid var(--line);padding-top:32px;max-width:1020px}.landmark-visual{margin:0;width:100%;padding:0;border:0;background:transparent}.landmark-visual img{width:100%;height:auto;object-fit:contain}.book-visual img{height:188px;width:auto;max-width:100%;margin:auto}.landmark-row h3{font-size:27px;line-height:1.25;margin:8px 0 16px}.landmark-row p{font-size:16px;line-height:1.6;margin-bottom:16px}.landmark-row .download-context{font-size:12px;margin:10px 0 0}.landmark-row .mini-label{color:var(--theme-accent)}.association-reperes-link{margin-top:28px}.thematic-frameworks>summary{display:flex;justify-content:space-between;gap:20px}.thematic-frameworks>.detail-copy{padding-top:20px}
@media(max-width:700px){.landmark-list{gap:30px}.landmark-row{grid-template-columns:1fr;gap:22px}.landmark-visual{max-width:280px}.book-visual{width:135px}.book-visual img{width:100%;height:auto}.landmark-row h3{font-size:23px}.landmark-row p{font-size:15px}.association-reperes-link .text-link{display:inline}}

/* Consolidation: shared visual cues with the citizens' space, within the existing layout. */
section.section{padding-top:58px;padding-bottom:58px}
.section-intro{max-width:880px;font-size:17px;line-height:1.65}
.dialogue-hero{padding:15px 0}
.dialogue-hero .dialogue-banner{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:36px;align-items:center;min-height:114px}
.dialogue-banner-copy{min-width:0}.dialogue-page-label{margin-bottom:12px}.dialogue-banner h1{max-width:950px;font-size:clamp(27px,2.5vw,35px)}
.dialogue-mascot{display:flex;align-items:center;justify-content:center}.dialogue-mascot .marianne-cutout{width:58px}.dialogue-mascot .marianne-participation .marianne-cutout{width:80px}
.dialogue-introduction-grid{display:flex;flex-direction:column;gap:28px;max-width:1180px}
.dialogue-introduction-grid .dialogue-context{padding:0 0 25px;border-right:0;border-bottom:1px solid var(--theme-line)}
.dialogue-introduction-grid p{max-width:880px}.dialogue-introduction-grid .body-copy{max-width:900px}
.dialogue-introduction h2{font-size:26px;margin:0 0 14px}
.dialogue-introduction-grid .body-copy p{max-width:880px}
.trust-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}
.trust-principles article{border-top:3px solid #0082c7;padding-top:16px}.trust-principles h3{font-size:19px;margin-bottom:10px}.trust-principles p{font-size:15px;margin:0;line-height:1.6}
.association-purpose{font-size:17px;line-height:1.65;border-top:1px solid var(--line);padding-top:24px;margin-bottom:0}
.organization-map{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.organization-lane{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:22px 26px;border-bottom:1px solid var(--line)}
.organization-lane>h3{font-size:16px;color:var(--ink);margin:2px 0 0}
.organization-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.organization-roles--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.organization-roles article{min-width:0}.organization-roles h4{font-size:16px;line-height:1.35;margin:0 0 8px;color:var(--ink)}.organization-roles p{font-size:14px;line-height:1.55;margin:0}.organization-roles .bureau-composition{font-size:13px;font-weight:600;color:#0074b3;margin-bottom:8px}
.ethics-line{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:20px 26px;background:#f5f7fb}.ethics-line strong{font-size:15px;line-height:1.4}.ethics-line p{font-size:14px;margin:0;line-height:1.55}
.club-band{display:grid;grid-template-columns:85px minmax(0,1fr) auto;align-items:center;gap:25px;padding:25px 0;margin:25px 0 0;border-bottom:1px solid var(--line)}
.club-band>img{width:85px;height:85px;object-fit:contain}.club-band h3{font-size:23px;margin-bottom:10px}.club-band p{font-size:15px;margin:0;line-height:1.55}.club-band .club-note{font-size:13px;margin-top:7px}.club-band .btn{max-width:225px;text-align:center}
.organization-section .join-band{margin-top:24px;padding:22px;background:#f6f8fc;border:1px solid var(--line);border-radius:8px}.organization-section .join-band h3{font-size:20px;margin-bottom:7px}.organization-section .join-band p{font-size:14px;margin-bottom:0}
.structuring-section{background:var(--theme-soft);border-top:1px solid var(--theme-line)}
.structuring-section .section-head,.policy-section .section-head{margin-bottom:18px}.structuring-section .section-head h2,.policy-section .section-head h2{max-width:100%}
.structuring-grid,.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.structuring-card{display:flex;flex-direction:column;min-width:0;padding:26px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--theme-accent);border-radius:9px}
.structuring-card-heading{display:flex;align-items:center;gap:22px;margin-bottom:20px}.structuring-card-heading>img{width:78px;height:78px;object-fit:contain;flex-shrink:0}.structuring-card-heading>div{min-width:0}.structuring-card h3{font-size:23px;line-height:1.3;margin:0}.structuring-card .mini-label{display:block;font-size:11px;letter-spacing:.05em;margin-bottom:8px;color:var(--theme-accent)}
.structuring-card>p{font-size:16px;line-height:1.65;margin-bottom:20px}.structuring-card>.text-link{margin-top:auto;align-self:flex-start;font-size:14px;max-width:100%}.structuring-card .card-details{margin:0 0 16px;padding:0;border:0;border-top:1px solid var(--line)}.structuring-card .card-details>summary{font-size:15px;min-height:44px;padding:13px 0;line-height:1.4}.card-details p,.card-details li{font-size:14px;line-height:1.65}.card-details ul{padding-left:20px;margin:0 0 16px}
.structuring-grid--single{grid-template-columns:1fr}.structuring-grid--single .structuring-card{max-width:900px}.structuring-grid--single .structuring-card-heading>img{width:92px;height:92px}
.policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.policy-grid .structuring-card{padding:23px}.policy-grid .structuring-card-heading{align-items:flex-start;gap:16px}.policy-grid .structuring-card-heading>img{width:58px;height:58px}.policy-grid .structuring-card h3{font-size:20px}.policy-grid .structuring-card>p{font-size:15px}.policy-grid .structuring-card .mini-label{font-size:10px}
.vvc-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}.vvc-support-grid article{border-top:3px solid #0074b3;padding-top:21px}.vvc-support-grid h3{font-size:23px;line-height:1.3}.vvc-support-grid p{font-size:16px;line-height:1.6}.vvc-gateway .gateway-note{font-size:13px;margin:14px 0 0}
.cv-instructions{padding:18px;background:#f1f8fc;border-left:3px solid #0074b3;border-radius:5px;font-size:15px;line-height:1.6}.cv-instructions[hidden]{display:none}
@media(max-width:1000px){.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-lane{grid-template-columns:1fr;gap:15px}.organization-lane>h3{color:#0074b3}.club-band{grid-template-columns:75px minmax(0,1fr)}.club-band .btn{grid-column:2;max-width:none;justify-self:start}.ethics-line{grid-template-columns:160px minmax(0,1fr)}.structuring-card{padding:23px}.structuring-card-heading{gap:16px}}
@media(max-width:700px){section.section{padding-top:36px;padding-bottom:36px}.dialogue-hero{padding:12px 0}.dialogue-hero .dialogue-banner{grid-template-columns:minmax(0,1fr) 47px;gap:12px;min-height:92px}.dialogue-mascot .marianne-cutout{width:40px}.dialogue-mascot .marianne-participation .marianne-cutout{width:47px}.dialogue-banner h1{font-size:23px;line-height:1.23}.dialogue-page-label{font-size:10px;margin-bottom:8px;gap:12px}.dialogue-page-label>a{display:none}.dialogue-introduction-grid{gap:24px}.dialogue-introduction h2{font-size:23px;margin-bottom:12px}.dialogue-introduction-grid .dialogue-context{padding-bottom:24px}.trust-principles{grid-template-columns:1fr;gap:18px}.trust-principles article{padding-top:13px}.association-purpose,.section-intro{font-size:16px}.organization-lane{padding:20px}.organization-roles,.organization-roles--two{grid-template-columns:1fr;gap:18px}.organization-roles article{border-left:2px solid #d5deee;padding-left:13px}.ethics-line{grid-template-columns:1fr;gap:9px;padding:20px}.organization-lane>h3{font-size:15px}.club-band{grid-template-columns:65px minmax(0,1fr);gap:18px}.club-band>img{width:65px;height:65px}.club-band h3{font-size:21px}.club-band .btn{grid-column:1/-1;justify-self:start}.organization-section .join-band{padding:20px}.structuring-grid,.policy-grid,.vvc-support-grid{grid-template-columns:1fr;gap:20px}.structuring-card,.policy-grid .structuring-card{padding:21px}.structuring-card-heading>img{width:62px;height:62px}.structuring-card h3{font-size:21px}.structuring-card>p{font-size:15px}.structuring-card-heading{margin-bottom:17px}.structuring-grid--single .structuring-card-heading>img{width:65px;height:65px}.vvc-support-grid h3{font-size:21px}.vvc-page-hero h1{font-size:32px}.vvc-gateway .btn{font-size:13px;gap:14px}.policy-grid .structuring-card-heading>img{width:62px;height:62px}}

/* Association: a continuous narrative, with five clearly ordered headings. */
body[data-page="association"] .association-story{padding-top:40px;padding-bottom:30px}
.association-story-chapter{padding:30px 0;border-bottom:1px solid var(--line)}
.association-story-chapter:first-of-type{padding-top:0}.association-story-chapter:last-of-type{border-bottom:0;padding-bottom:0}
.association-story-chapter h2{font-size:clamp(27px,2.5vw,36px);line-height:1.2;margin:0 0 18px;max-width:960px}
.association-story-chapter p,.association-role-story p,.association-history p{font-size:17px;line-height:1.75;max-width:900px;margin:0 0 16px}.association-story-chapter p:last-child{margin-bottom:0}
.association-role-story>div>h2{font-size:clamp(29px,2.8vw,39px);margin-bottom:30px}
.association-role-part{padding:0 0 26px}.association-role-part+.association-role-part{border-top:1px solid var(--theme-line);padding-top:30px}
.association-role-part h3{font-size:24px;line-height:1.35;margin:0 0 18px;max-width:850px;color:var(--ink)}
.association-plaidoyer{margin:28px 0 20px;max-width:1040px}.association-plaidoyer .editorial-illustration{margin:0}.association-plaidoyer .schema-open{border:1px solid var(--line);border-radius:8px;padding:0;overflow:hidden;background:#fff}.association-plaidoyer img{width:100%;height:auto}.association-plaidoyer figcaption{font-size:13px;line-height:1.5;margin-top:12px}
.plaidoyer-transcription{border-top:1px solid var(--theme-line);padding-top:8px;max-width:950px}.plaidoyer-transcription summary{font-size:16px}.plaidoyer-transcription ol{padding-left:22px;margin:18px 0 0}.plaidoyer-transcription li{font-size:16px;line-height:1.65;margin-bottom:13px;color:var(--muted)}.plaidoyer-transcription strong{color:var(--ink)}
.association-followup{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--theme-line);padding-top:24px}
.history-heading{display:flex;align-items:center;gap:28px;margin-bottom:25px}.history-year{font-size:52px;font-weight:700;line-height:1;color:#0074b3}.history-heading .eyebrow{margin-bottom:12px}.history-heading h2{font-size:30px;margin:0;line-height:1.25;max-width:700px}
.category-nav .separate-news-link{border-left:1px solid var(--line);padding-left:24px;color:#0074b3;gap:9px}
section.section.territory-home--cooperation{margin:0;padding:55px 0;background:#fff;border:0}
.territory-home--cooperation .section-head{margin-bottom:26px}.territory-home--cooperation h2{font-size:clamp(32px,3vw,46px);margin:0}.territory-home--cooperation .eyebrow{margin-bottom:15px}
.cooperation-home-block{display:grid;grid-template-columns:285px minmax(0,1fr);gap:42px;align-items:center;padding:36px;border:1px solid var(--theme-line);border-top:3px solid var(--theme-accent);border-radius:9px;background:var(--theme-soft)}
.territory-home--cooperation .organization-logos{margin:0;justify-content:center;gap:15px;flex-wrap:nowrap}.territory-home--cooperation .organization-logos img{width:125px;height:125px;background:#fff;flex-shrink:0}
.cooperation-home-copy h3{font-size:26px;margin-bottom:17px;line-height:1.3}.cooperation-home-copy p{font-size:17px;line-height:1.65;margin-bottom:20px}.cooperation-home-copy .text-link{font-size:14px}
@media(max-width:1000px){.cooperation-home-block{grid-template-columns:220px minmax(0,1fr);gap:28px;padding:28px}.territory-home--cooperation .organization-logos img{width:98px;height:98px}.history-heading{gap:22px}}
@media(max-width:700px){body[data-page="association"] .association-story{padding-top:30px}.association-story-chapter{padding:26px 0}.association-story-chapter h2{font-size:26px;margin-bottom:16px}.association-story-chapter p,.association-role-story p,.association-history p{font-size:16px;line-height:1.7}.association-role-part h3{font-size:22px}.association-role-part+.association-role-part{padding-top:25px}.association-plaidoyer{margin-top:22px}.association-plaidoyer figcaption{font-size:12px}.plaidoyer-transcription li{font-size:15px}.history-heading{align-items:flex-start;gap:18px}.history-year{font-size:36px;margin-top:5px}.history-heading h2{font-size:24px}.history-heading .eyebrow{font-size:10px;margin-bottom:10px}.association-followup{align-items:flex-start;gap:18px}.association-followup .btn{font-size:12px;text-align:left}.category-nav .separate-news-link{padding-left:20px}section.section.territory-home--cooperation{padding:36px 0}.cooperation-home-block{grid-template-columns:1fr;padding:24px;gap:24px}.territory-home--cooperation .organization-logos{justify-content:flex-start;gap:18px}.territory-home--cooperation .organization-logos img{width:92px;height:92px}.cooperation-home-copy h3{font-size:23px}.cooperation-home-copy p{font-size:16px}.territory-home--cooperation .section-head{margin-bottom:22px}}
.association-history .history-reach{display:flex;flex-direction:column;gap:7px;border-left:3px solid #0074b3;padding:6px 0 6px 22px;margin:0 0 25px}.history-reach strong{font-size:29px;line-height:1.25;color:var(--ink)}.history-reach span{font-size:16px;line-height:1.5}@media(max-width:700px){.history-reach strong{font-size:25px}.history-reach span{font-size:15px}.association-history .history-reach{padding-left:17px}}

/* Unified home and association; the dialogue pages share the clear illustrated hero. */
body[data-page="accueil"]{--theme-accent:#172659;--theme-hover:#0082c7;--theme-soft:#f6f8fc;--theme-line:#d5deee}
body[data-theme="citoyen"],.theme-citoyen{--theme-accent:#a34e69;--theme-hover:#813b52;--theme-soft:#fcf6f8;--theme-line:#ead5de}
body[data-page="citoyen"] main>.page-hero,body[data-page="urbain"] main>.page-hero{position:static;padding:44px 0;color:var(--ink);background:var(--theme-soft);border-bottom:1px solid var(--theme-line)}
body[data-page="citoyen"] .illustrated-page-hero h1,body[data-page="urbain"] .illustrated-page-hero h1{color:var(--ink);font-size:clamp(34px,3.5vw,54px);line-height:1.15}
body[data-page="citoyen"] .illustrated-page-hero .lead,body[data-page="urbain"] .illustrated-page-hero .lead{color:var(--muted);font-size:18px;line-height:1.65;max-width:760px}
body[data-page="accueil"] .association-story{padding-top:44px}
.association-trust-illustration{max-width:980px;margin:28px 0 4px}
.association-trust-illustration .editorial-illustration{margin:0}
.organization-section>.wrap>.editorial-illustration{max-width:1080px;margin:0 auto 24px}
.organization-description{margin:18px 0 0;padding-top:8px}
.organization-description>.organization-map{margin-top:20px}
.editorial-readable>.editorial-illustration{margin:28px 0 22px}
.editorial-illustration .schema-open{display:block;width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;overflow:hidden}
.editorial-illustration .schema-open img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.editorial-illustration .schema-open>span{display:block;padding:10px 16px;text-align:right;color:var(--ink);background:#f6f8fc;font-size:12px;line-height:1.5}
.editorial-illustration figcaption{font-size:13px;color:var(--muted);line-height:1.5;margin-top:10px}
.organization-description>summary{font-size:16px}
.vvc-pathways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}
.vvc-pathway{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-top:3px solid #a17cbd;border-radius:10px;padding:28px}
.vvc-pathway:nth-child(2){border-top-color:#dca83b}.vvc-pathway:nth-child(3){border-top-color:#ce7788}.vvc-pathway:nth-child(4){border-top-color:#69a28b}
.pathway-number{font-size:13px;font-weight:700;color:#6c748e;margin-bottom:16px}
.vvc-pathway h3{font-size:25px;line-height:1.25;margin:0 0 15px}
.vvc-pathway p{font-size:16px;line-height:1.65;margin-bottom:18px}
.vvc-pathway>.detail{border-top:1px solid var(--line);margin:0 0 20px;padding:0}
.vvc-pathway>.detail>summary{padding:14px 0;font-size:14px;min-height:44px}
.vvc-pathway>.detail p{font-size:15px;margin:0 0 15px}
.vvc-pathway>.text-link{margin-top:auto;font-size:14px}
.vvc-pathways+.gateway-note{font-size:13px;margin-top:18px}
body[data-page="villes"] .reading-detail li{font-size:16px;line-height:1.65;margin-bottom:12px}
.community-resources{background:#f6f8fc;border-top:1px solid var(--line)}
.community-resources>.wrap{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:70px;align-items:center}
.community-resources-copy{max-width:840px}.community-resources h2{font-size:clamp(28px,3vw,40px);line-height:1.2}
.community-resources p{font-size:17px;line-height:1.7;max-width:800px}
.community-topics{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0 28px}
.community-topics span{font-size:13px;border:1px solid #d5deee;background:#fff;border-radius:20px;padding:8px 14px}
.community-resources-art .marianne-cutout{width:120px}
@media(max-width:700px){
 body[data-page="citoyen"] main>.page-hero,body[data-page="urbain"] main>.page-hero{padding:32px 0}
 body[data-page="citoyen"] .illustrated-page-hero h1,body[data-page="urbain"] .illustrated-page-hero h1{font-size:clamp(30px,8vw,39px)}
 body[data-page="citoyen"] .illustrated-page-hero .lead,body[data-page="urbain"] .illustrated-page-hero .lead{font-size:16px}
 body[data-page="accueil"] .association-story{padding-top:32px}
 .vvc-pathways{grid-template-columns:1fr;gap:18px}.vvc-pathway{padding:23px}.vvc-pathway h3{font-size:23px}
 .community-resources>.wrap{grid-template-columns:1fr;gap:22px}.community-resources-art{display:none}.community-resources p{font-size:16px}
 .community-resources .btn{font-size:13px;text-align:left}.editorial-illustration .schema-open>span{font-size:11px}
}

/* Reading levels: history first, compact convictions, and a uniform organisation. */
#primary-navigation>.home-nav>span{display:flex;align-items:center;gap:7px}#primary-navigation>.home-nav svg{flex:0 0 17px}
body[data-page="accueil"] .association-history{padding-top:38px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.conviction-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 26px}
.conviction-jumps a{display:inline-flex;align-items:center;padding:9px 15px;min-height:42px;border:1px solid #d5deee;border-radius:22px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;background:#fff}
.conviction-jumps a:hover{background:#f1f6fc;border-color:#0082c7}
.association-story .conviction-disclosure{padding:0;border-bottom:1px solid var(--line)}
.association-story .conviction-disclosure:first-of-type{border-top:1px solid var(--line)}
.association-story .conviction-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:23px 0}
.conviction-disclosure>summary::-webkit-details-marker{display:none}
.association-story .conviction-disclosure h2{font-size:clamp(24px,2.5vw,34px);line-height:1.25;margin:0}
.conviction-toggle{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #cdd8e7;border-radius:50%;font-size:25px;line-height:1;font-weight:400;color:#0074b3}
.conviction-disclosure[open] .conviction-toggle{transform:rotate(45deg)}
.conviction-copy{padding:0 0 25px;max-width:900px}.association-story .conviction-copy p{font-size:17px;line-height:1.7}
.association-story strong,.association-role-story strong,.association-history strong{font-weight:700;color:var(--ink)}
.conviction-disclosure summary:focus-visible,.conviction-jumps a:focus-visible,.organization-card-detail summary:focus-visible{outline:3px solid #0082c7;outline-offset:4px;border-radius:5px}
.organization-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start;margin-top:28px}
.organization-card{background:#fff;border:1px solid var(--line);border-top:3px solid #85a2ba;border-radius:9px;padding:25px;min-width:0}
.organization-card>.mini-label{font-size:10px;letter-spacing:.04em;color:#4e6580;line-height:1.5;display:block;min-height:30px;margin-bottom:12px}
.organization-card>h3{font-size:23px;line-height:1.25;margin:0 0 16px;min-height:58px}
.organization-card>p{font-size:15px;line-height:1.6;min-height:96px;margin-bottom:18px}
.organization-card-detail{border-top:1px solid var(--line);margin:0}
.organization-card-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:53px;padding:14px 0 0;cursor:pointer;font-weight:700;font-size:13px;line-height:1.5;list-style:none}
.organization-card-detail>summary::-webkit-details-marker{display:none}.organization-card-detail>summary>span{font-size:22px;font-weight:400;flex:0 0 20px;text-align:center;color:#0074b3}
.organization-card-detail[open]>summary>span{transform:rotate(45deg)}
.organization-card-detail>div{padding-top:18px}.organization-card-detail h4{font-size:16px;line-height:1.4;margin:0 0 10px}.organization-card-detail h4:not(:first-child){border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.organization-card-detail p,.organization-card-detail li{font-size:14px;line-height:1.65;margin:0 0 12px}.organization-card-detail ul{padding-left:18px;margin:0}.organization-card-detail li:last-child{margin-bottom:0}.organization-card-detail .text-link{font-size:13px;margin-top:15px}
.villages-method-entry{background:#f6f9fc;border-block:1px solid #d5deee}
.villages-method-card{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:center;gap:42px;padding:34px;background:#fff;border:1px solid #c2e1f3;border-top:3px solid #0082c7;border-radius:10px}
.villages-method-identity .vvc-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;margin:0}
.villages-method-identity .vvc-logos img{width:100px;height:100px;object-fit:contain}
.villages-method-copy h2{font-size:clamp(27px,3vw,39px);line-height:1.2;margin-bottom:20px}.villages-method-copy p{font-size:16px;line-height:1.7}.villages-method-copy .btn{margin-top:5px}
.villages-method-links{display:flex;flex-wrap:wrap;gap:14px 25px;margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.villages-method-links .text-link{font-size:14px;min-height:32px}
.schema-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px 20px;border-bottom:1px solid var(--line);background:#f6f8fc}
.schema-dialog .schema-tools button{min-width:44px;min-height:44px;padding:8px 14px;background:#fff;border:1px solid #c5cddd;color:#172659;font-weight:600}
.schema-dialog .schema-tools button:disabled{opacity:.45;cursor:default}.schema-tools output{font-size:13px;min-width:50px;text-align:center}.schema-tools p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 0 12px;flex:1}
.schema-dialog .zoom-body{max-height:calc(94dvh - 155px)}.schema-dialog .zoom-body #schema-image{display:block;min-width:0;max-width:none;width:100%;height:auto}
@media(max-width:1050px){.organization-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.villages-method-card{grid-template-columns:160px minmax(0,1fr);gap:28px;padding:28px}.villages-method-identity .vvc-logos img{width:90px;height:90px}}
@media(max-width:700px){
 .conviction-jumps{gap:8px;margin-bottom:20px}.conviction-jumps a{font-size:13px;padding:8px 13px}
 .association-story .conviction-disclosure>summary{padding:20px 0;gap:18px}.association-story .conviction-disclosure h2{font-size:24px}.conviction-toggle{width:30px;height:30px;flex-basis:30px;font-size:22px}.association-story .conviction-copy p{font-size:16px}
 .organization-cards{grid-template-columns:1fr;gap:18px}.organization-card{padding:22px}.organization-card>.mini-label,.organization-card>h3,.organization-card>p{min-height:0}.organization-card>h3{font-size:23px;margin-bottom:13px}.organization-card>.mini-label{margin-bottom:10px}.organization-card>p{margin-bottom:15px}.organization-card-detail>summary{font-size:14px}
 .villages-method-card{grid-template-columns:1fr;gap:25px;padding:23px}.villages-method-identity .vvc-logos{justify-content:flex-start;gap:20px}.villages-method-identity .vvc-logos img{width:80px;height:80px}.villages-method-copy h2{font-size:27px}.villages-method-links{gap:10px 22px}.villages-method-copy .btn{font-size:13px;text-align:left}
 .schema-tools{padding:10px;gap:7px}.schema-tools p{flex-basis:100%;margin:2px 0 0}.schema-dialog .zoom-body{max-height:calc(94dvh - 220px)}
}

/* Home: a short first reading, with the complete arguments one opening away. */
.association-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin:0 0 28px}
.association-role-card{padding:25px;background:#fff;border:1px solid #d5deee;border-top:3px solid #6f9ab9;border-radius:10px;min-width:0}
.association-role-card:nth-child(2){border-top-color:#b697c8}
.role-disclosure>summary{list-style:none;cursor:pointer}.role-disclosure>summary::-webkit-details-marker{display:none}
.role-disclosure>summary h3{font-size:25px;line-height:1.25;margin:0 0 16px;min-height:2.5em;color:var(--ink)}
.association-role-story .role-message{font-size:16px;line-height:1.6;margin:0 0 19px;min-height:4.8em}
.role-read{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;font-weight:700;color:#172659;border-top:1px solid var(--line);padding:14px 0 0;min-height:44px}
.role-read>span{font-size:24px;font-weight:400;line-height:1;color:#0074b3}
.role-disclosure[open] .role-read>span{transform:rotate(45deg)}
.role-disclosure>summary:focus-visible{outline:3px solid #0082c7;outline-offset:6px;border-radius:4px}
.role-detail-copy{padding-top:22px}.association-role-story .role-detail-copy p{font-size:16px;line-height:1.7;margin-bottom:18px}
.role-detail-copy .plaidoyer-transcription{padding-top:20px;margin-top:22px}.role-detail-copy h4{font-size:19px;margin:0 0 17px}.role-detail-copy .plaidoyer-transcription li{font-size:15px;line-height:1.65}
.association-role-card>.editorial-illustration{padding:0;margin:24px 0 0;border:0;border-radius:0;background:transparent}
.association-role-card>.editorial-illustration .schema-open{border:1px solid var(--line);border-radius:7px}
.association-role-card>.editorial-illustration .schema-open img{height:150px;max-height:150px;width:100%;object-fit:contain;background:#fff}
.association-role-card>.editorial-illustration .schema-open>span{margin:0;padding:9px 12px;font-size:11px;border-radius:0;text-align:center}
.association-role-card>.editorial-illustration figcaption{margin:8px 0 0;padding:0;font-size:12px;line-height:1.5}
.home-reading-detail{border:0;border-top:1px solid var(--line);padding:0;margin:16px 0 20px;max-width:900px}
.home-reading-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer;list-style:none;min-height:48px;padding:13px 0}
.home-reading-detail>summary::-webkit-details-marker{display:none}.home-reading-detail>summary>span{font-size:22px;font-weight:400;line-height:1;color:#0074b3}.home-reading-detail[open]>summary>span{transform:rotate(45deg)}
.home-reading-detail>div{padding-top:9px}.home-reading-detail>div p{font-size:16px;line-height:1.7}.home-reading-detail>summary:focus-visible{outline:3px solid #0082c7;outline-offset:4px;border-radius:3px}
.association-history .history-heading{margin-bottom:20px}.association-history .history-reach{margin-bottom:18px}.association-history .history-essential{font-size:17px;line-height:1.6;margin-bottom:0;max-width:780px}
body[data-page="accueil"] .vvc-gateway .gateway-copy>p:not(.gateway-note){font-size:17px;line-height:1.65}
body[data-page="accueil"] .vvc-gateway .gateway-signature{margin-top:16px;margin-bottom:20px}
.cooperation-home-copy>.home-reading-detail{margin:15px 0 18px}
@media(max-width:700px){
 .association-role-grid{grid-template-columns:1fr;gap:20px;margin-bottom:24px}.association-role-card{padding:22px}
 .role-disclosure>summary h3{font-size:24px;min-height:0}.association-role-story .role-message{min-height:0;font-size:16px;margin-bottom:17px}.role-read{font-size:14px}
 .association-role-card>.editorial-illustration{margin-top:19px}.association-role-card>.editorial-illustration .schema-open img{height:135px;max-height:135px}
 .home-reading-detail>summary{font-size:14px;min-height:50px}.association-history .history-essential{font-size:16px}
 body[data-page="accueil"] .vvc-gateway .gateway-copy>p:not(.gateway-note){font-size:16px}
}

/* A personal opening and short section menus; complete approaches live in one place. */
.association-president .president-word{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px 38px;align-items:start;padding:0;margin:0;border:0}
.president-copy{min-width:0;align-self:center}
.president-word blockquote{margin:0;padding:0;border:0;max-width:650px}
.president-word blockquote p{font-size:clamp(19px,2vw,24px);line-height:1.6;color:var(--ink);margin:0;letter-spacing:-.01em;font-style:normal}
.president-word blockquote strong{font-weight:600;color:inherit}
.president-signature{display:flex;flex-direction:column;gap:3px;margin:18px 0 0;font-size:15px;line-height:1.5}.president-signature span{font-size:14px;color:var(--muted)}
.president-word .president-detail{grid-column:1;margin:0;max-width:none}.president-detail p{font-size:16px;line-height:1.7}
.president-photo{grid-column:2;grid-row:1/3;margin:0;min-width:0}
.president-photo button{display:block;width:100%;padding:0;border:0;border-radius:5px;overflow:hidden;background:transparent;cursor:zoom-in}
.president-photo button:focus-visible{outline:3px solid #0082c7;outline-offset:4px}
.president-photo img{display:block;width:100%;height:auto}
.president-photo figcaption{font-size:12px;line-height:1.5;margin-top:8px;color:var(--muted)}
.intervention-intro{max-width:1000px}
.intervention-intro p{font-size:17px;line-height:1.75;margin:0 0 18px;max-width:900px}
.intervention-intro p:last-child{margin-bottom:0}
.role-jumps{display:flex;flex-wrap:wrap;gap:12px;margin:-8px 0 25px}
.role-jumps a{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border:1px solid #d5deee;border-radius:22px;background:#fff;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink)}
.role-jumps a:hover{border-color:#0082c7;background:#f1f6fc}.role-jumps a:focus-visible{outline:3px solid #0082c7;outline-offset:3px}
@media(max-width:700px){.association-president .president-word{grid-template-columns:minmax(0,1fr) 120px;gap:18px}.president-word blockquote p{font-size:18px;line-height:1.55}.president-signature{font-size:14px;margin-top:16px}.president-signature span{font-size:13px}.president-photo{grid-row:1;align-self:center}.president-photo figcaption{font-size:11px}.president-word .president-detail{grid-column:1/-1}.president-detail p,.intervention-intro p{font-size:16px}.role-jumps{gap:8px;margin-bottom:22px}.role-jumps a{font-size:13px;padding:8px 13px}}
@media(max-width:380px){.association-president .president-word{grid-template-columns:minmax(0,1fr) 96px;gap:14px}.president-word blockquote p{font-size:17px}}

/* Field gallery: genuine local initiatives, with full photographs on demand. */
section.terrain-gallery{background:#faf9f6}
.terrain-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
.terrain-gallery-item{margin:0;min-width:0}
.terrain-photo{display:block;width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:zoom-in;background:#eeeae5}
.terrain-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}
.terrain-photo--portrait img{object-fit:contain}
.terrain-photo:hover img{transform:scale(1.025)}
.terrain-gallery-item figcaption{font-size:14px;font-weight:600;line-height:1.45;padding:11px 2px 0;color:var(--ink)}
.schema-dialog.is-photo{width:min(1120px,96vw);max-height:95dvh}
.schema-dialog.is-photo .schema-tools{display:none}
.schema-dialog.is-photo .zoom-body{display:flex;align-items:center;justify-content:center;max-height:78dvh;background:#f5f4f1}
.schema-dialog.is-photo #schema-image{width:auto!important;height:auto;max-width:100%;max-height:78dvh;min-width:0;object-fit:contain}
.schema-dialog.is-photo #close-schema{background:var(--purple)}
@media(max-width:900px){.terrain-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.terrain-gallery-grid{gap:20px 12px}.terrain-gallery-item figcaption{font-size:12px;padding-top:8px}.terrain-gallery .section-head{gap:16px}.schema-dialog.is-photo{padding:14px}.schema-dialog.is-photo header{align-items:start;gap:12px}.schema-dialog.is-photo h2{font-size:16px}.schema-dialog.is-photo #close-schema{font-size:12px;padding:8px 12px;max-width:125px;flex-shrink:0}.schema-dialog.is-photo #schema-image{max-height:72dvh}}
@media(prefers-reduced-motion:reduce){.terrain-photo img{transition:none}.terrain-photo:hover img{transform:none}}

.terrain-photo--top img{object-position:center top}

/* Editorial accents: small, consistent colour cues above readable navy headings. */
:root{--ec-plum:#632184;--ec-raspberry:#b12d58;--ec-green:#237654;--ec-ochre:#946212}
body[data-theme] main .eyebrow{color:var(--editorial-accent,var(--ec-plum));letter-spacing:.12em}
body[data-theme] main :is(.hero,.page-hero) .eyebrow{color:var(--ec-plum)}
main .eyebrow:before{width:26px;height:3px;border-radius:2px}
main :is(#sur-le-terrain,#actualites,#besoins){--editorial-accent:var(--ec-raspberry)}
main :is(#histoire,#villages-villes,.vvc-page-hero,.vvc-pathway){--editorial-accent:var(--ec-ochre)}
main :is(.territory-home,#references,#realisations,#feuille-route){--editorial-accent:var(--ec-green)}
.civic-domains .civic-domain:nth-child(1) header h3{color:var(--ec-raspberry)}
.civic-domains .civic-domain:nth-child(2) header h3{color:var(--ec-green)}
.civic-domains .civic-domain:nth-child(3) header h3{color:var(--ec-plum)}
.urban-field-photo{display:block;width:100%;border:0;padding:0;background:transparent;border-radius:6px;overflow:hidden;cursor:zoom-in}
.urban-formats-layout .urban-field-photo img{width:100%;height:auto;border-radius:0}
[data-page="urbain"] .domain-photo img{object-position:center 62%}

/* The replacement workshop photograph is shown in full, including at mobile widths. */
.field-photo-open{display:block;width:100%;padding:0;border:0;border-radius:6px;overflow:hidden;background:transparent;cursor:zoom-in}
.civic-needs-layout>.situation-photo--full img{aspect-ratio:auto;object-fit:contain;max-height:none;height:auto}

/* Accueil: return to the white, navy and fine-rule reference layout.
   Keep the newer field photographs and recognition marks in the existing scale. */
.home-scene{margin:0;min-width:0;width:100%}
.home-photo-open{display:block;border:0;padding:0;background:#f5f7fa;width:100%;overflow:hidden;border-radius:6px;cursor:zoom-in;line-height:0}
.home-photo-open img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}
.home-photo-open:hover img{transform:scale(1.025)}
.home-photo-open:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
body[data-page="accueil"] .history-photo-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:38px;align-items:center;max-width:1180px}
body[data-page="accueil"] .history-content{min-width:0}
body[data-page="accueil"] .history-photo-layout .home-photo-open img{aspect-ratio:5/4}
body[data-page="accueil"] .association-role-card .home-scene{margin-top:22px}
body[data-page="accueil"] .association-role-card .home-photo-open img{aspect-ratio:3/2}
body[data-page="accueil"] .role-detail-copy .editorial-illustration{margin:22px 0 0}
.home-program-logo{width:88px;height:82px;object-fit:contain;margin:0 0 14px;display:block;background:#fff;padding:5px}
body[data-page="accueil"] .gateway-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px}
body[data-page="accueil"] .gateway-identity .home-photo-open img{aspect-ratio:auto;object-fit:contain}
body[data-page="accueil"] .cooperation-home-block{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:38px;background:#fff}
body[data-page="accueil"] .cooperation-home-identity{width:100%;min-width:0;padding:0;background:none;border:0}
body[data-page="accueil"] .cooperation-home-identity .home-photo-open img{aspect-ratio:5/4}
body[data-page="accueil"] .cooperation-home-copy{min-width:0}
.recognition-records .evidence-list>li{display:grid;grid-template-columns:108px minmax(0,1fr);gap:22px;align-items:center}
.evidence-visual{display:flex;align-items:center;justify-content:center;width:108px;min-height:85px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.evidence-visual img,.evidence-visual svg{display:block;max-width:100%;width:100%;height:84px;object-fit:contain}
.evidence-visual--symbol{background:#f8f6fb;color:var(--ec-plum)}
.evidence-visual--symbol svg{width:56px;height:64px;stroke:currentColor;fill:none;stroke-width:1.7}
@media(max-width:850px){
 body[data-page="accueil"] .history-photo-layout,body[data-page="accueil"] .gateway-layout,body[data-page="accueil"] .cooperation-home-block{gap:26px}
}
@media(max-width:700px){
 body[data-page="accueil"] .history-photo-layout,body[data-page="accueil"] .gateway-layout,body[data-page="accueil"] .cooperation-home-block{grid-template-columns:1fr}
 body[data-page="accueil"] .gateway-copy{order:-1}
 .home-program-logo{width:72px;height:68px}
 .recognition-records .evidence-list>li{grid-template-columns:70px minmax(0,1fr);gap:14px}
 .evidence-visual{width:70px;min-height:70px;padding:6px}
 .evidence-visual img,.evidence-visual svg{height:65px}
}
@media(prefers-reduced-motion:reduce){.home-photo-open img{transition:none}}

/* Public guides: progressive reading with the same editorial scale as the site. */
.citizen-guide{max-width:900px;padding-top:32px;padding-bottom:52px}.citizen-guide>section{margin:0 0 44px;scroll-margin-top:180px}.citizen-guide h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.25;margin-bottom:20px}.citizen-guide p{font-size:1.06rem;line-height:1.8;margin:16px 0}.citizen-guide .guide-byline{font-size:.9rem;color:var(--muted);margin:0 0 36px}.citizen-guide a:not(.btn),.intervention-intro p a,.hero .lead a{text-decoration:underline;text-underline-offset:3px}.guide-further{border-left:3px solid var(--ec-green);padding:12px 24px;margin:34px 0}.guide-further li{margin:12px 0}.guide-questions details{margin:12px 0}.guide-questions summary{font-weight:650}.citizen-guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.citizen-guide-cards article{border-top:3px solid var(--ec-plum);padding:22px 0;display:flex;flex-direction:column;align-items:flex-start}.citizen-guide-cards article:nth-child(2){border-color:var(--ec-green)}.citizen-guide-cards article:nth-child(3){border-color:var(--ec-raspberry)}.citizen-guide-cards h3{font-size:1.35rem;line-height:1.3}.citizen-guide-cards p{line-height:1.7;flex:1}.odc-explanations{max-width:960px;margin:30px auto}.odc-explanation{margin:12px 0;scroll-margin-top:180px}.odc-explanation summary{display:flex;align-items:center;gap:18px;padding:20px}.odc-explanation h3{font-size:1.12rem;line-height:1.4;margin:0;flex:1}.odc-number{font-size:.83rem;color:var(--ec-plum);font-weight:750;white-space:nowrap}.odc-explanation-body{padding:0 24px 22px;line-height:1.75}.odc-explanation-body p{margin:14px 0}.odc-terms{font-size:.9rem;color:var(--muted)}@media(max-width:740px){.citizen-guide-cards{grid-template-columns:1fr;gap:10px}.citizen-guide{padding-top:24px}.odc-explanation summary{padding:16px 10px;gap:12px}.odc-explanation-body{padding:0 12px 18px}.guide-further{padding:8px 16px}}

/* Final editorial finish: one title scale, predictable spacing and touch targets. */
:root{--ec-section-title:clamp(28px,2.7vw,36px);--ec-card-title:clamp(22px,2vw,25px);--ec-title-gap:20px;--ec-card-radius:8px}
body[data-page] main .section h2,body[data-page] main .citizen-guide h2{font-size:var(--ec-section-title);margin-bottom:var(--ec-title-gap);line-height:1.23;letter-spacing:-.025em;font-weight:700;font-style:normal;text-wrap:balance}
body[data-page] main .section-head{align-items:flex-start;gap:24px;margin-bottom:28px}
body[data-page] main .section-head h2{margin:0}
body[data-page] main .section-head>p{margin:0;line-height:1.65}
body[data-page] main :is(.role-disclosure>summary,.organization-card,.vvc-pathway,.structuring-card,.civic-domain header,.featured-reference) h3{font-size:var(--ec-card-title);line-height:1.28;letter-spacing:-.015em;font-weight:700;font-style:normal;text-wrap:balance}
body[data-page] main .eyebrow{margin-bottom:20px;line-height:1.45}
body[data-page] main .eyebrow:before{width:26px;height:3px;flex-shrink:0}
body[data-page] main .btn{min-height:48px;line-height:1.4;border-radius:6px;max-width:100%;white-space:normal;text-align:left}
body[data-page] main .btn>span{flex-shrink:0}
body[data-page] main .text-link{min-height:44px;line-height:1.45}
.conviction-jumps a,.role-jumps a{min-height:44px}
body[data-page] main .association-story .conviction-disclosure h2{margin:0}
body[data-page] main :is(.association-role-card,.organization-card,.vvc-pathway,.structuring-card){border-radius:var(--ec-card-radius)}
body[data-page] main .association-role-grid{align-items:stretch}
body[data-page] main .association-role-card{display:flex;flex-direction:column}
body[data-page] main .association-role-card .home-scene{margin-top:auto;padding-top:22px}
body[data-page] main .role-disclosure>summary h3,body[data-page] main .role-message{min-height:0}
body[data-page] main .domain-photo{aspect-ratio:3/2}
body[data-page] main .domain-photo img{object-position:50% 55%}
body[data-page] main .home-photo-open img[src*="atelier-citoyen"]{object-position:50% 25%}
body[data-page] main .home-photo-open img[src*="citoyennete-partagee"]{object-position:50% 65%}
body[data-page] main .home-photo-open img[src*="sur-le-terrain"]{object-position:50% 65%}
body[data-page] main .home-photo-open img[src*="cooperation"]{object-position:50% 50%}
body[data-page] main .terrain-photo img[src*="communes-reconnues"]{object-position:50% 65%}
body[data-page] main .terrain-photo img[src*="atelier-idees"]{object-position:60% 50%}
body[data-page] main .terrain-photo img[src*="la-colle-sur-loup"]{object-position:50% 15%}
.featured-references{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.featured-reference{min-width:0;padding:26px;border:1px solid var(--line);border-top:3px solid var(--theme-accent);border-radius:8px;background:#fff}
.featured-reference-logos{height:70px;display:flex;align-items:center;gap:18px;margin-bottom:24px}
.featured-reference-logos img{width:110px;max-width:46%;height:70px;object-fit:contain;object-position:left center}
.featured-reference .mini-label{margin-bottom:12px}
.featured-reference .reference-city{display:block;font-size:14px;font-weight:600;line-height:1.45;margin-bottom:12px;color:var(--muted)}
.featured-reference h3{margin:0 0 18px}
.featured-reference p{font-size:16px;line-height:1.7;margin:0}
/* Scroll padding is measured once; do not add a second offset on individual targets. */
.citizen-guide>section,.odc-explanation,.odc-text-reference li{scroll-margin-top:0}
@media(max-width:1200px){
 #primary-navigation{top:100%;max-height:calc(100dvh - var(--header-height));padding-bottom:max(24px,env(safe-area-inset-bottom));scrollbar-gutter:stable}
 #primary-navigation>a{min-height:48px}
}
@media(max-width:700px){
 :root{--ec-section-title:clamp(26px,6.5vw,30px);--ec-card-title:23px}
 .wrap{width:calc(100% - 40px)}
 body[data-page] main .section-head{flex-direction:column;gap:16px;margin-bottom:24px}
 body[data-page] main .section-head .text-link{align-self:flex-start}
 body[data-page] main .hero h1,body[data-page] main .page-hero h1{overflow-wrap:break-word;text-wrap:balance}
 body[data-page] main .hero h1 br,body[data-page] main .page-hero h1 br{display:none}
 body[data-page="accueil"] .hero h1 .trust-relations{display:block}
 .category-nav .category-link,.category-nav .category-link:last-child{min-height:48px;padding:12px 0}
 .category-nav .category-links{scrollbar-width:thin;scroll-padding-inline:20px}
 .conviction-jumps,.role-jumps{gap:8px}
 .conviction-jumps a,.role-jumps a{font-size:13px;padding:9px 13px}
 .association-story .conviction-disclosure>summary{gap:14px}
 .conviction-disclosure h2{min-width:0}
 .featured-references{grid-template-columns:1fr;gap:18px}
 .featured-reference{padding:24px}
 .featured-reference-logos{margin-bottom:20px}
 .fields-two{grid-template-columns:minmax(0,1fr)}
 input,select,textarea{font-size:16px}
 .back-to-top{bottom:max(16px,env(safe-area-inset-bottom));left:12px}
 body:has(.schema-dialog[open]) .back-to-top,body:has(#contact-form :focus) .back-to-top{display:none}
 .social-menu summary{min-width:44px;min-height:44px}
 .nav-wrap{gap:8px}
}
@media(max-width:380px){.brand span{font-size:13px}.brand img{width:34px;height:48px}.menu-toggle{min-height:44px;padding:8px}.nav-wrap{width:calc(100% - 24px)}}
