/* Citizen services: use the existing charter, without changing home components. */
.tsg1811-header-art{width:100%;height:100%;display:grid;place-items:center}
.tsg1811-header-art picture{display:block;width:100%;height:100%}.tsg1811-header-art img{width:100%;height:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 18px 16px #160c2d22)}
.tsg1811-writing{width:100%;height:100%;display:grid;place-items:center}.tsg1811-writing svg{width:100%;height:auto;max-height:390px;overflow:visible}
.tsg1811-writing .writing-hand{animation:none!important;transform-origin:0 0;will-change:auto}
.tsg1811-writing .tsg-signature-stroke{fill:none;stroke:#49315f;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.tsg1811-writing .writing-hand__detail{stroke:#754c38;stroke-width:1.1;stroke-linecap:round;fill:none;opacity:.65}
/* Center service cards and preserve the bottom-right action. */
body:not(.home) #tsg-main#tsg-main .tsg-procedure-card{text-align:center!important;position:relative;padding-bottom:82px!important;transition:transform .25s ease,box-shadow .25s ease}
body:not(.home) #tsg-main#tsg-main .tsg-procedure-card :is(h2,h3,p,small){text-align:center!important;text-align-last:auto!important;hyphens:none!important}
body:not(.home) #tsg-main#tsg-main .tsg-procedure-card__arrow{position:absolute!important;inset:auto 25px 24px auto!important;display:grid!important;place-items:center;overflow:hidden;transition:transform .25s ease,background .25s ease!important}
body:not(.home) #tsg-main#tsg-main .tsg-procedure-card__arrow:after{content:'';position:absolute;inset:-40%;background:linear-gradient(100deg,transparent,#ffffff66,transparent);transform:translateX(-130%) rotate(15deg);transition:transform .55s}
body:not(.home) #tsg-main#tsg-main .tsg-procedure-card:is(:hover,:focus-within) .tsg-procedure-card__arrow{transform:translateX(3px)!important;background:#583497!important}
body:not(.home) #tsg-main#tsg-main .tsg-procedure-card:is(:hover,:focus-within) .tsg-procedure-card__arrow:after{transform:translateX(130%) rotate(15deg)}
.tsg-editorial__steps>.tsg-editorial__step{--step:#674292;cursor:default;border-top:4px solid var(--step)!important;background:linear-gradient(155deg,color-mix(in srgb,var(--step) 9%,white),#fff)!important;box-shadow:0 8px 25px #28124508!important;transform:none!important}
.tsg-editorial__steps>.tsg-editorial__step:nth-child(3n+2){--step:#64894e}.tsg-editorial__steps>.tsg-editorial__step:nth-child(3n){--step:#ce803b}.tsg-editorial__steps>.tsg-editorial__step:before{background:var(--step)!important}
body.tsg-enhanced-identite #tsg-main#tsg-main :is(h2,h3){text-align:left!important;text-align-last:auto!important;hyphens:none!important;word-spacing:normal!important;line-height:1.25}
body.tsg-enhanced-identite .tsg-editorial__cta{padding:34px!important;border:1px solid #cbbcdf;background:linear-gradient(135deg,#efe8f9,#f3f7ee)!important;border-radius:24px}
/* Keep all 19 portraits and card dimensions; distinguish only category sections. */
body:not(.home) #tsg-main#tsg-main .wp-block-column:nth-child(3n+1)>.tsg-info-card{background:linear-gradient(145deg,#f1eafa,#fff)!important;border-top:4px solid #6b449c!important;cursor:default}
body:not(.home) #tsg-main#tsg-main .wp-block-column:nth-child(3n+2)>.tsg-info-card{background:linear-gradient(145deg,#e9f2e3,#fff)!important;border-top:4px solid #74975b!important;cursor:default}
body:not(.home) #tsg-main#tsg-main .wp-block-column:nth-child(3n)>.tsg-info-card{background:linear-gradient(145deg,#fff0df,#fff)!important;border-top:4px solid #ce803b!important;cursor:default}
body.tsg-layout-elus #tsg-main#tsg-main .tsg-elected-rail-section{border-radius:28px;padding:26px 22px!important;margin-bottom:32px!important}
body.tsg-layout-elus #tsg-main#tsg-main .tsg-elected-rail-section:has([data-category*="adjoint"]){background:#f0e8f9!important}
body.tsg-layout-elus #tsg-main#tsg-main .tsg-elected-rail-section:has([data-category*="deleg"]){background:#e6f0df!important}
body.tsg-layout-elus #tsg-main#tsg-main .tsg-elected-rail-section:has([data-category*="municip"]):not(:has([data-category*="deleg"])):not(:has([data-category*="adjoint"])){background:#fff0e0!important}
body.tsg-layout-elus #tsg-main#tsg-main article.tsg-elected-person .tsg-elected-person__open{align-self:center!important;margin: auto auto 0!important}
/* Color is retained for each act family, including its action links. */
.tsg-acte-row{--act:#482383}.tsg-acte-row.is-finances{--act:#527337}.tsg-acte-row.is-arretes{--act:#da4816}
#tsg-main#tsg-main .tsg-acte-row :is(h3,.tsg-acte-row__category,.tsg-acte-row__reference,.tsg-acte-row__date strong){color:var(--act)!important}
#tsg-main#tsg-main .tsg-acte-row .tsg-acte-row__actions a{background:var(--act)!important;border-color:var(--act)!important;color:white!important}
#tsg-main#tsg-main .tsg-acte-row .tsg-acte-row__actions a:hover{filter:brightness(1.15);transform:translateY(-2px)}
.tsg-actes__category.is-deliberations{--act:#482383}.tsg-actes__category.is-finances{--act:#527337}.tsg-actes__category.is-arretes{--act:#da4816}
#tsg-main#tsg-main .tsg-actes__category{background:var(--act)!important;color:white!important;border-color:transparent!important;transition:transform .2s,filter .2s}
#tsg-main#tsg-main .tsg-actes__category:is(:hover,:focus-visible){transform:translateY(-3px);filter:brightness(1.12)}
#tsg-main#tsg-main .tsg-actes__category :is(strong,small,span){color:inherit!important}
#tsg-main#tsg-main .tsg-actes__all{color:#482383!important;background:#f1ebf9!important;border-color:#d3c3e9!important}
.tsg-acte-row__titleline{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tsg-acte-row__demo{position:static!important;display:inline-flex;align-items:center;padding:4px 8px!important;line-height:1.2!important;font-size:9px!important;white-space:nowrap;border-radius:6px!important;background:#f1edf7!important;color:#685b7b!important;box-shadow:none!important}
.tsg1811-project-compare{max-width:none!important;width:100%;margin:0!important;padding:0!important}.tsg1811-project-compare .tsg1810-compare{height:clamp(300px,33vw,530px)!important;border-radius:26px!important;box-shadow:0 20px 40px #22113c24}.tsg1811-project-compare label{padding:10px 18px!important;text-align:center}
.tsg1811-project-compare .tsg1810-compare-line i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:white;color:#482383;font-style:normal;font-size:24px;box-shadow:0 3px 15px #22113340}
.tsg-projects-stage{background:linear-gradient(140deg,#fff,#f3eef9)!important;border:1px solid #e3daef;border-radius:34px!important;padding:30px!important;box-shadow:0 24px 70px #29174412!important}.tsg-projects-heading h1{font-size:clamp(27px,3vw,44px)!important}.tsg-project-slide__content{text-align:left!important}.tsg-project-slide__content h2{text-align:left!important;text-align-last:auto!important}
.tsg-project-thumb{transition:transform .24s,box-shadow .24s}.tsg-project-thumb:hover{transform:translateY(-4px);box-shadow:0 10px 25px #24133720}
/* The city panorama spans the entire header. Authored village content is retained. */
body.tsg-enhanced-villages .tsg-universal-header__panel{background:#291455;isolation:isolate;min-height:430px}
body.tsg-enhanced-villages .tsg-universal-header__visual:has(.tsg1810-city-slider){position:absolute;inset:0;width:100%;max-width:none;height:100%;aspect-ratio:auto;transform:none;z-index:1;pointer-events:auto}
body.tsg-enhanced-villages .tsg1810-city-slider{width:100%;height:100%;min-height:430px;border-radius:0}
body.tsg-enhanced-villages .tsg-universal-header__visual:has(.tsg1810-city-slider):after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#180c33e8,#180c3399 48%,#180c3310)}
body.tsg-enhanced-villages .tsg-universal-header__content{z-index:3;width:min(72%,820px);pointer-events:none}
body.tsg-enhanced-villages.tsg-relief-page .tsg-universal-header .tsg-universal-header__panel{position:relative!important;min-height:430px!important;display:flex!important;align-items:center!important;isolation:isolate}
body.tsg-enhanced-villages.tsg-relief-page .tsg-universal-header .tsg-universal-header__visual:has(.tsg1810-city-slider){position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;transform:none!important;z-index:1!important}
body.tsg-enhanced-villages.tsg-relief-page .tsg1810-city-slider{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;border-radius:0!important}
body.tsg-enhanced-villages.tsg-relief-page .tsg-universal-header .tsg-universal-header__content{position:relative!important;z-index:3!important;width:min(72%,820px)!important}
.tsg1811-slider-pause{position:absolute;bottom:22px;right:22px;z-index:7;border:1px solid #ffffff99;background:#291455aa;color:#fff;border-radius:50%;width:44px;height:44px;font-size:18px;cursor:pointer}.tsg1810-city-dots{z-index:7!important}
.tsg1811-village-map{margin:50px auto;max-width:1440px;padding:25px}.tsg1811-village-map h2{text-align:left!important}
.tsg1810-tariffs{border:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0;margin:25px 0}.tsg1810-tariffs legend{font-weight:600;margin-bottom:12px}.tsg1810-tariffs label{display:flex;gap:14px;align-items:center;padding:24px;border:2px solid #ddd3eb;border-radius:20px;cursor:pointer;background:#fff}.tsg1810-tariffs label:has(input:checked){border-color:#674292;background:#f4eefb}.tsg1810-tariffs strong{display:block;font-size:32px;color:#482383}.tsg1810-tariffs input{accent-color:#482383;width:20px;height:20px}
.tsg1810-school .tsg-procedure-page{padding-top:0!important}.tsg1811-school-year{padding:12px;border-radius:10px;color:#482383;background:#f0e9fa}
.tsg1811-resources{display:grid;gap:12px;margin-block:16px}.tsg1810-document{font-weight:700!important}.tsg1810-document small{font-weight:500!important;line-height:1.6}.tsg1810-document-grid>.tsg1811-resources{margin:0}
.tsg1810-assoc-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.tsg1810-assoc{display:flex;flex-direction:column;text-align:center!important;align-items:center;gap:10px}.tsg1810-assoc :is(h3,p){text-align:center!important;text-align-last:auto!important}.tsg1810-assoc-logo{margin-inline:auto;display:grid;place-items:center}.tsg1810-assoc .tsg1810-button{margin-top:auto;align-self:center}
.tsg1811-assoc-dialog{width:min(640px,calc(100% - 36px));max-height:85vh;overflow:auto;border:1px solid #e3d7ee;border-radius:28px;padding:42px;text-align:center;color:#3b1e7b;box-shadow:0 24px 100px #1c0d3f60}.tsg1811-assoc-dialog::backdrop{background:#1f113a99;backdrop-filter:blur(5px)}.tsg1811-assoc-dialog [data-tsg-dialog-close]{position:absolute;right:14px;top:14px;border:0;border-radius:50%;width:40px;height:40px;color:#482383;background:#eee7f6;font-size:28px;cursor:pointer}.tsg1811-assoc-bio{color:#4f4660;line-height:1.8;margin:22px 0}.tsg1811-assoc-dialog .tsg1810-button{margin-inline:auto}.tsg1811-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.tsg1811-funnel-progress{display:flex;gap:10px;list-style:none;padding:0!important;margin:0 0 25px!important}.tsg1811-funnel-progress li{flex:1;padding:12px;border-bottom:3px solid #e5dbf1;color:#756b81;font-size:12px}.tsg1811-funnel-progress li.is-active{color:#482383;border-color:#7046a4;font-weight:700}.tsg1811-funnel-actions{display:flex;justify-content:space-between;gap:15px;margin-block:22px}.tsg1811-funnel-actions button{border:0;border-radius:12px;padding:14px 22px;background:#482383;color:#fff;cursor:pointer}.tsg1811-funnel-actions [data-prev]{background:#eee7f6;color:#482383}
[hidden]{display:none!important}.tsg1811-invalid-tip{padding:12px;border:1px solid #dca268;border-radius:12px;background:#fff5e9;color:#673d13;font-weight:600;line-height:1.5}
@media(max-width:1000px){.tsg1810-assoc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tsg-projects-stage{padding:18px!important}}
@media(max-width:650px){.tsg1811-header-art img{max-height:270px}.tsg1810-assoc-grid,.tsg1810-tariffs{grid-template-columns:1fr!important}.tsg1811-assoc-dialog{padding:50px 24px 28px}.tsg1811-funnel-progress li{padding:8px 2px;font-size:10px}.tsg1811-project-compare .tsg1810-compare{height:300px!important}body.tsg-enhanced-villages.tsg-relief-page .tsg-universal-header .tsg-universal-header__content{width:100%!important;padding:35px 25px 80px;min-height:360px}body.tsg-enhanced-villages .tsg1810-city-slider{min-height:360px}}
@media(prefers-reduced-motion:reduce){.tsg1811-writing *{animation:none!important}.tsg1811-writing .signature-line{stroke-dashoffset:0}.tsg-procedure-card,.tsg-procedure-card__arrow,.tsg-project-thumb,.tsg-actes__category{transition:none!important;transform:none!important}.tsg1810-attention{animation:none!important;outline:3px solid #ca893c}}

.tsg1811-writing [data-writing-style="realistic"] .tsg-signature-stroke{stroke:#482179;stroke-width:4}
