:root{--ink:#1c1c34;--dark:#19182e;--green:#302f58;--green2:#43427a;--muted:#6a6a78;--bg:#f5f5f7;--line:#e4e3e9;--shadow:0 12px 35px rgba(12,61,53,.055);--radius:21px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #e0b03b;outline-offset:3px}.flag{height:5px;background:linear-gradient(90deg,#2f2f56 0 33.33%,#f6d743 33.33% 66.66%,#e34141 66.66% 100%)}.topbar{background:white;border-bottom:1px solid var(--line);padding:14px max(20px,calc((100vw - 1450px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:85px;position:sticky;top:0;z-index:50;box-shadow:0 3px 20px #13132210}.identity{display:flex;align-items:center;gap:12px;text-decoration:none}.identity strong{font-size:25px;letter-spacing:-1px;font-weight:850;line-height:1.15;display:block}.identity small{color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.02em}.brand-icon{background:#2b2a4f;color:#fff;width:45px;height:45px;border-radius:13px;display:grid;place-items:center;font-size:27px;box-shadow:inset 0 -2px #1f1e39}.brand-icon span{color:#f4d45e}.header-right{display:flex;align-items:center;gap:16px}.dateline{font-size:12px;color:var(--muted)}.dateline b{color:var(--ink)}.conn{font-size:12px;padding:7px 11px;border-radius:25px;background:#f0eff5;color:#2d2c53;white-space:nowrap;font-weight:750}.conn i,.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4a4887;margin-right:6px;box-shadow:0 0 0 3px #4a488720}.conn.offline{background:#fff1df;color:#9b6c29}.conn.offline i{background:#cf9b39}.page{max-width:1480px;margin:auto;padding:22px 22px 0}.hero{height:435px;position:relative;overflow:hidden;border-radius:26px;background:#1f1e38;box-shadow:0 19px 48px #24244224}.hero-image{position:absolute;inset:0;background:url('hero.png') center center/cover no-repeat;transform:scale(1.004)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,38,33,.96),rgba(5,38,33,.83) 28%,rgba(5,38,33,.34) 63%,rgba(5,38,33,.08) 100%)}.hero-copy{position:relative;z-index:1;padding:56px 55px;max-width:730px;color:white}.hero-kicker{font-size:11px;letter-spacing:.17em;font-weight:900;color:#f5d578}.hero-kicker span{width:28px;height:3px;background:#f5d578;display:inline-block;vertical-align:middle;margin-right:9px}.hero h1{font-size:clamp(35px,4.5vw,64px);line-height:1.09;margin:20px 0 13px;letter-spacing:-2.7px;font-weight:850}.hero h1 em{font-weight:750;color:#ffe19a;font-style:normal}.hero p{font-size:16px;line-height:1.6;max-width:540px;color:#f4f3f9db}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.btn{padding:13px 19px;border-radius:11px;text-decoration:none;font-weight:800;font-size:13px;display:inline-flex;align-items:center;gap:12px}.btn.primary{background:#f3c94a;color:#23233a}.btn.ghost{border:1px solid #ffffff80;color:white;background:#ffffff1c}.hero-caption{position:absolute;bottom:16px;right:23px;z-index:1;color:#fff;font-size:11px;text-shadow:0 2px 12px #000;font-weight:700}.hero-caption span{color:#f9d962}.notice{margin:20px 0 0;display:flex;gap:12px;align-items:flex-start;border:1px solid #eadfb9;background:#fffaf0;border-radius:14px;padding:13px 16px;font-size:12px;color:#69552b}.notice a{font-weight:850;color:#86631d}.notice-icon{flex:none;border:1px solid #bf9943;color:#bf9943;border-radius:50%;width:23px;height:23px;text-align:center;font-weight:900}.nav{display:flex;gap:9px;overflow:auto;scrollbar-width:thin;padding:18px 0 10px}.nav a{text-decoration:none;background:white;border:1px solid var(--line);padding:11px 15px;border-radius:28px;white-space:nowrap;font-size:12px;font-weight:800;color:#343358}.nav a:hover{border-color:#4e4d8e;background:#f1eff7}.section{padding:26px 0 5px;scroll-margin-top:103px}.sectionheading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:19px}.section-kicker{font-size:10px;color:#3a396b;font-weight:900;letter-spacing:.2em}.sectionheading h2{margin:6px 0 3px;letter-spacing:-1.5px;font-weight:850;font-size:clamp(28px,3.5vw,38px);line-height:1.16}.sectionheading p{margin:0;color:var(--muted);font-size:13px;max-width:800px}.section-aside{font-size:12px;color:#2f2e55;background:#e7e5f1;border:1px solid #cfcae1;padding:9px 13px;border-radius:20px;white-space:nowrap;font-weight:800}.filterbar{display:flex;align-items:end;gap:9px;background:white;border:1px solid var(--line);border-radius:16px;padding:13px;box-shadow:var(--shadow);flex-wrap:wrap}.filterbar label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:125px;font-size:11px;font-weight:800;color:#646471}.filterbar .searchbox{flex:1.5;min-width:185px}.filterbar select,.filterbar input,.sorter select{height:42px;border:1px solid #e3e2e7;background:#faf9fb;padding:8px 11px;border-radius:9px;color:#26263a;min-width:0;width:100%;font-size:13px}.filter-reset{width:43px;height:42px;border:1px solid #dfdde7;background:#edebf4;color:#383767;border-radius:10px;font-size:25px}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:15px}.metric{background:white;border:1px solid var(--line);padding:20px 16px;border-radius:17px;box-shadow:var(--shadow);min-height:127px;position:relative;overflow:hidden}.metric:before{content:'';width:45px;height:45px;position:absolute;top:-18px;right:-14px;border-radius:50%;background:var(--metric-tint,#e7e4f1)}.metric-icon{font-size:20px;color:var(--metric-color,#393867);line-height:1}.metric strong{font-size:clamp(23px,2.4vw,36px);letter-spacing:-1px;display:block;color:var(--metric-color,#393867);font-weight:900;margin-top:8px;line-height:1.1}.metric span{display:block;font-size:11px;line-height:1.3;margin-top:8px;color:#646471;font-weight:700}.data-source-line{display:flex;align-items:center;gap:8px;margin:12px 2px 2px;color:var(--muted);font-size:11px}.textbtn{margin-left:auto;border:0;background:none;color:var(--green);font-weight:800;padding:4px 6px}.attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.attention-card{position:relative;border:1px solid var(--line);border-left:5px solid var(--accent,#4a4988);border-radius:16px;background:white;padding:17px 17px 15px;display:flex;flex-direction:column;min-height:189px;box-shadow:var(--shadow)}.attention-card .kicker{font-size:10px;font-weight:850;letter-spacing:.04em;color:var(--accent,#34335e)}.attention-card h3{font-size:17px;letter-spacing:-.4px;line-height:1.3;margin:8px 0}.attention-card .loc{margin-top:auto;color:var(--muted);font-size:11px;padding-top:10px}.attention-card button{border:0;background:#f0eff5;color:#2b2a4e;font-weight:900;padding:9px 12px;border-radius:9px;margin-top:11px;text-align:left;font-size:12px}.smallbtn{border:1px solid #d8d5e3;background:#f9f8fb;color:#31305a;padding:10px 14px;border-radius:11px;font-weight:800;white-space:nowrap;font-size:12px}.inline-detail{border:1px solid #c4bfd8;padding:17px 20px;background:#f9f8fb;border-radius:15px;margin-top:14px;box-shadow:var(--shadow)}.inline-detail h3{margin:0 0 5px;font-size:22px}.inline-detail p{margin:8px 0}.detail-top{display:flex;justify-content:space-between;align-items:start;gap:15px}.closebtn{border:0;background:#e8e7ee;color:#282749;font-size:14px;border-radius:8px;padding:7px 12px}.detail-meta{font-size:12px;color:#686875}.detail-source{display:inline-block;font-size:12px;font-weight:800;color:#2f2e55;text-decoration:none;border:1px solid #c4bfd8;border-radius:9px;padding:9px 12px;margin:8px 0}.detail-badge{display:inline-block;border-radius:20px;font-size:11px;padding:5px 10px;font-weight:800;background:#eceaf4;color:#33325c;margin:4px 5px 4px 0}.detail-badge.warning{color:#9b671c;background:#fff4df}.mapgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.mapcard{border:1px solid #e2e1e7;border-radius:21px;background:white;box-shadow:var(--shadow);overflow:hidden;min-width:0}.mapcard-top{padding:18px 20px 0;border-top:5px solid var(--accent,#373665)}.mapcard-kicker{font-size:11px;color:var(--accent,#34335f);letter-spacing:.13em;font-weight:900}.mapcard-title{display:flex;align-items:center;justify-content:space-between;gap:9px}.mapcard-title h3{font-size:20px;line-height:1.2;letter-spacing:-.6px;margin:5px 0}.mapcard-value{font-size:29px;font-weight:900;color:var(--accent,#33325d)}.mapcard-top p{margin:0;font-size:12px;color:var(--muted)}.map-legend{font-size:11px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#5c5c6b}.legend-swatch{width:11px;height:11px;border-radius:3px}.empty-color{background:#e7e6eb;border:1px solid #cbc9d2}.full-color{background:#3b3a6c}.map-scroll{margin:13px 15px 10px;border-radius:16px;background:linear-gradient(160deg,#f0eff4,#eeecf5);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.map-scroll svg{display:block;width:100%;min-width:480px;height:auto;max-height:520px}.map-scroll svg .region{stroke:#fff;stroke-width:2.5;cursor:pointer;transition:fill .2s,stroke .2s}.map-scroll svg .region:hover,.map-scroll svg .region.active{stroke:#af8221;stroke-width:5;filter:drop-shadow(0 0 2px #83640a66)}.map-scroll svg .rlabel{font-size:18px;font-weight:900;fill:#1c1c34;paint-order:stroke;stroke:#fbfafde0;stroke-width:5;stroke-linejoin:round;pointer-events:none}.map-scroll svg .mapcount{font-weight:950;fill:#232340;font-size:24px;stroke:white;stroke-width:5;paint-order:stroke;pointer-events:none}.map-scroll svg path[data-region="Thiès"]{stroke-width:3.2}.mapfoot{padding:0 20px 14px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.mapdetail{display:none;margin:0 16px 17px;background:#f9f9fb;border:1px solid #d4d1e3;padding:15px;border-radius:13px;max-height:330px;overflow:auto}.mapdetail.open{display:block}.mapdetail h4{margin:0;font-size:19px}.mapdetail p{margin:6px 0 9px;color:var(--muted);font-size:12px}.mapdetail button{border:1px solid #dbd8e5;border-radius:8px;padding:7px 10px;background:white;color:var(--green);font-weight:750;margin:4px 0}.mapdetail .map-case{padding:10px 0;border-top:1px solid #e6e4ec}.mapdetail .map-case b{font-size:13px;display:block}.mapdetail .map-case small{font-size:11px;color:#74747f}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.surface{background:white;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);padding:23px;min-width:0}.surface h3{margin:0;font-size:20px;letter-spacing:-.5px}.sub{color:var(--muted);font-size:12px;margin:3px 0 17px}.bars{display:flex;flex-direction:column;gap:11px;margin-top:17px}.bar-row{display:block;text-align:left;background:none;border:0;padding:2px 0;width:100%}.bar-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:750}.bar-label b{color:#2d2c52}.bartrack{background:#ecebef;border-radius:10px;height:11px;margin-top:6px;overflow:hidden}.bartrack i{height:100%;display:block;border-radius:9px;background:linear-gradient(90deg,#8b8ac0,#3a396b);transition:width .3s}.bar-row:hover .bartrack i{filter:saturate(1.4)}.timeline{max-height:340px;overflow:auto;padding-right:4px}.timeline-item{border-left:3px solid #bfb9d5;padding:2px 0 12px 14px;margin-left:4px;position:relative}.timeline-item:before{content:'';position:absolute;top:8px;left:-7px;width:11px;height:11px;border-radius:50%;background:#414076;border:2px solid white}.timeline-item small{font-weight:800;color:#31315a}.timeline-item p{font-size:12px;margin:5px 0;color:#4b4b5c}.status-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:13px;font-size:13px}.status-row b{font-size:18px;color:#2f2e55}.need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.need-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow);min-height:215px;display:flex;flex-direction:column}.need-card h3{font-size:17px;line-height:1.27;letter-spacing:-.4px;margin:9px 0 6px}.need-card p{color:var(--muted);margin:0 0 13px;font-size:12px;line-height:1.6;flex:1}.category-tag{font-size:10px;font-weight:850;border-radius:6px;background:#f2f1f4;color:#33325e;padding:4px 8px;display:inline-block}.need-card-top,.need-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.need-card-top small,.need-card-bottom small{font-size:11px;color:#6d6d7d}.need-card-bottom button{font-size:12px;background:#eeecf4;border:0;color:#32315c;border-radius:9px;padding:9px 12px;font-weight:850}.need-card-bottom{border-top:1px solid var(--line);padding-top:12px}.sorter{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.sorter select{width:auto;min-width:150px}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:15px;font-size:12px;color:var(--muted)}.pagination button{border:1px solid #d2d0dc;background:#fff;border-radius:9px;padding:8px 12px}.pagination button:disabled{opacity:.35;cursor:default}.group-note{font-size:12px;color:#8a6737;padding:14px 18px;border:1px solid #e9d6ad;background:#fff9ec;border-radius:13px;margin-bottom:13px}.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.group{background:#fff;border:1px solid var(--line);padding:18px;border-radius:15px;box-shadow:var(--shadow)}.group h3{margin:0 0 5px;font-size:17px}.group p{color:var(--muted);font-size:12px;margin:3px 0}.group .locations{font-size:12px;color:#2f2e56;margin:12px 0;line-height:1.8}.group .badge{background:#f0eff5;color:#353461;font-size:10px;font-weight:850;padding:5px 8px;border-radius:9px}.signal-list{display:grid;gap:10px;max-height:350px;overflow:auto}.signal-line{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.signal-line .badge{font-size:10px;font-weight:850;color:#a27025;background:#fff4e1;padding:5px;border-radius:5px}.signal-line b{font-size:13px}.signal-line small{display:block;font-size:11px;color:var(--muted)}.signal-line a{font-size:12px;color:#34335f}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.method-grid article{background:white;border:1px solid var(--line);border-radius:16px;padding:18px}.method-grid article span{color:#393869;font-size:13px;font-weight:900}.method-grid h3{font-size:16px;margin:10px 0 5px}.method-grid p{font-size:12px;color:var(--muted);margin:0}.data-panel{border-radius:16px;margin-top:18px;padding:18px 23px;background:#eae8f2;border:1px solid #d3cfe3;display:flex;gap:20px;align-items:center;justify-content:space-between}.data-panel h3{font-size:17px;margin:0}.data-panel p{font-size:12px;color:#4b4a6a;max-width:800px;margin:5px 0}.data-panel code{background:#d8d5e5;padding:3px 5px;border-radius:4px}.data-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.data-actions button{border:1px solid #c3bfd4;border-radius:9px;background:white;font-size:12px;padding:9px 11px;color:#282749;font-weight:800;white-space:nowrap}footer{padding:38px 0 45px;border-top:1px solid var(--line);margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#656577;font-size:12px}footer b{font-size:23px;color:#232340}footer p{margin:3px 0}footer small{font-size:10px}.empty{padding:20px;background:#f8f8f9;border:1px dashed #d4d2db;border-radius:12px;font-size:12px;color:var(--muted)}
@media(max-width:1190px){.metrics{grid-template-columns:repeat(3,1fr)}.need-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:930px){.mapgrid,.analytics-grid,.groups{grid-template-columns:1fr}.map-scroll svg{max-height:560px}.hero{height:400px}.hero-copy{padding:42px 36px}.header-right .dateline{display:none}.method-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topbar{padding:11px 13px;min-height:71px}.identity strong{font-size:20px}.identity small{font-size:9px}.brand-icon{width:38px;height:38px;font-size:22px}.conn{font-size:10px}.page{padding:12px 10px 0}.hero{height:465px;border-radius:18px}.hero-image{background-position:61% center}.hero-overlay{background:linear-gradient(90deg,#131222ef,#131222b9 65%,#1312224b)}.hero-copy{padding:29px 23px}.hero h1{font-size:39px;letter-spacing:-1.7px;margin:17px 0}.hero p{font-size:13px}.hero-caption{font-size:9px}.notice{padding:11px}.section{padding-top:25px}.sectionheading{align-items:start;flex-wrap:wrap}.sectionheading h2{font-size:29px}.metrics{grid-template-columns:repeat(2,1fr);gap:8px}.metric{min-height:120px;padding:15px}.metric strong{font-size:29px}.attention-grid,.need-grid,.method-grid{grid-template-columns:1fr}.attention-card{min-height:175px}.mapcard-top{padding:15px 14px 0}.map-scroll{margin:10px 7px}.map-scroll svg{min-width:610px;max-height:none}.mapfoot{padding:0 12px 12px}.filterbar{padding:10px}.filterbar label{min-width:calc(50% - 10px)}.filterbar .searchbox{min-width:100%}.surface{padding:16px}.data-panel{flex-direction:column;align-items:flex-start}.data-actions{justify-content:flex-start}footer{flex-direction:column;align-items:flex-start}.section-aside{white-space:normal}}

/* Accessibility: avoid focus bounding rectangle over the Senegal SVG, keep strong contour cue */
.map-scroll svg .region:focus-visible {outline:none;stroke:#b9801a;stroke-width:5;filter:drop-shadow(0 0 2px #71520b77)}

/* V3 | cartes intégralement visibles, sans scroll horizontal, bandes rectilignes */
html,body{max-width:100%;overflow-x:clip}
.page,.section,.mapgrid,.mapcard,.map-scroll,.svg-holder{min-width:0;max-width:100%}
.mapgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mapcard:first-child{grid-column:1/-1}
.map-scroll{display:block;margin:14px 16px 10px;overflow:hidden!important;border-radius:14px;padding:8px;background:linear-gradient(135deg,#f2f1f6,#eaf4f8)}
.map-scroll .svg-holder{width:100%;height:auto;min-width:0;overflow:visible}
.map-scroll svg{display:block;width:100%!important;min-width:0!important;max-width:100%!important;max-height:none!important;height:auto!important;aspect-ratio:930 / 700;overflow:visible}
.map-scroll svg .region{stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;transition:fill .15s}
.map-scroll svg .region:hover,.map-scroll svg .region.active{stroke:#ce8d25;stroke-width:4;vector-effect:non-scaling-stroke}
.map-scroll svg path[data-region="Thiès"]{stroke:#fff!important;stroke-width:4!important;vector-effect:non-scaling-stroke;cursor:pointer}
.map-scroll svg path[data-region="Thiès"]:hover,.map-scroll svg path[data-region="Thiès"].active{stroke:#ad6d15!important;stroke-width:5!important}
.map-scroll svg .rlabel{font-size:21px;stroke:white;stroke-width:6;stroke-linejoin:round;paint-order:stroke;fill:#1c1c33}
.map-scroll svg .rlabel[data-region="Thiès"]{font-size:28px;font-weight:950;fill:#1b1b31;stroke:#ffffff;stroke-width:8}
.map-scroll svg .mapcount{font-size:24px;stroke:white;stroke-width:5}
.map-regions-strip{padding:0 17px 14px;display:flex;gap:7px;flex-wrap:wrap}
.map-regions-strip button{border:1px solid #d5d3dd;background:#f7f6f9;border-radius:8px;padding:6px 9px;color:#313156;font-size:11px;font-weight:800;cursor:pointer;transition:background .12s}
.map-regions-strip button.thies-btn{background:#e4e2ed;border:2px solid #2e2d54;color:#21213c}
.map-regions-strip button:hover,.map-regions-strip button:focus-visible{background:#d3cee4;outline:2px solid #393868}
.mapdetail{max-height:none!important;overflow:visible!important}
/* Barres décoratives : angles droits partout */
.attention-card::before,.need-card::before,.group::before,.timeline-item::before,.bartrack,.bartrack i,.progressbar,.progressbar i,.section-kicker::before,.hero-kicker span,.pulse,.mapcard-top::before{border-radius:0!important}
.bartrack,.bartrack i{border-radius:0!important}
.pipeline-box{background:#efeef4;border:1px solid #d9d7e3;border-left:5px solid #2e2d54;border-radius:12px;padding:15px 18px;margin:14px 0;display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.pipeline-box strong{font-size:19px;color:#2a2a4d}
.pipeline-box small{color:#5c5b6d;display:block;line-height:1.5}
.pipeline-box .pipe-stat{flex:1;min-width:130px}
.pipeline-box .pipe-stat b{display:block;font-size:21px;color:#282748}
.pipeline-box .pipe-progress{flex:3;min-width:230px}
.pipeline-box .progressbar{height:10px;background:#d6d3e0;overflow:hidden;margin-top:10px}
.pipeline-box .progressbar i{height:100%;background:linear-gradient(90deg,#3d3c70,#2c2b50);display:block;width:0;transition:width .3s}
.data-limits{font-size:12px;color:#555569;line-height:1.5}
@media(max-width:930px){.mapgrid{grid-template-columns:1fr}.mapcard:first-child{grid-column:1}.map-scroll svg{max-height:none!important}}
@media(max-width:650px){.map-scroll{margin:9px 5px 8px;padding:3px;border-radius:9px}.map-scroll svg{width:100%!important;min-width:0!important;max-height:none!important}.map-scroll svg .rlabel{font-size:27px;stroke-width:8}.map-scroll svg .rlabel[data-region="Thiès"]{font-size:34px;stroke-width:10}.map-scroll svg .mapcount{font-size:31px;stroke-width:7}.map-regions-strip{padding:0 9px 14px}.map-regions-strip button{font-size:11px;padding:7px 8px}.mapcard-top{padding:15px 12px 0}.mapcard-title h3{font-size:20px}.pipeline-box{padding:11px}.pipeline-box .pipe-stat{min-width:110px}}

/* Bandes latérales réellement rectilignes, sans coins arrondis */
.attention-card{border-left:0!important;position:relative}
.attention-card::before{content:'';position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--accent,#373665);border-radius:0!important}
.timeline-item:before{border-radius:0!important}
.pipeline-box{border-left:0;position:relative;padding-left:22px}
.pipeline-box::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:#2e2d54;border-radius:0!important}


/* ===== SUNUY SOKHLA V4 redesign ===== */
:root{--ink:#222a3e;--dark:#2a324b;--green:#6b7ea8;--green2:#9280b9;--muted:#6e7386;--bg:#f6f2ee;--line:#e7dfd8;--shadow:0 18px 45px rgba(32,33,52,.08);--radius:24px}
html{background:var(--bg)}
body{background:radial-gradient(circle at top left,#fbf7f2 0,#f6f2ee 38%,#f1ede7 100%);color:var(--ink)}
.flag{height:6px;background:linear-gradient(90deg,#d7d2ff 0 33%,#eedfd2 33% 66%,#d6e7f5 66% 100%)}
.topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid #ece4de;box-shadow:0 6px 24px rgba(25,27,45,.05)}
.identity strong{color:#27304a}.identity small{color:#878ca0}.brand-icon{background:linear-gradient(135deg,#2e3857,#4a567c);box-shadow:inset 0 -2px rgba(255,255,255,.08)}.brand-icon span{color:#ffd6a0}
.conn{background:#eef1f8;color:#52607f}.conn i,.pulse{background:#8d9bc0;box-shadow:0 0 0 3px rgba(141,155,192,.16)}.conn.offline{background:#fff4e9;color:#a06f4a}.conn.offline i{background:#c99568}
.page{padding-top:24px}.hero{background:#20283a;border-radius:30px;box-shadow:0 22px 60px rgba(27,31,45,.16)}
.hero-overlay{background:linear-gradient(90deg,rgba(18,23,35,.93),rgba(18,23,35,.78) 31%,rgba(24,29,46,.34) 62%,rgba(24,29,46,.08) 100%)}
.hero-kicker{color:#e6c4a4}.hero-kicker span{background:#e6c4a4}.hero h1 em{color:#ffe3c9}.hero p{color:rgba(255,247,241,.9)}
.btn.primary{background:linear-gradient(135deg,#e0b18c,#d39d82);color:#342739;box-shadow:0 12px 24px rgba(211,157,130,.28)}
.btn.ghost{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.1)}
.hero-caption{background:rgba(21,25,40,.46);padding:8px 12px;border-radius:999px;backdrop-filter:blur(12px)}
.notice{background:#fff7f1;border-color:#ecdacc;color:#785b49}.notice a{color:#875d49}.notice-icon{border-color:#cda182;color:#c08b69}
.nav a{background:rgba(255,255,255,.9);border-color:#e8e0da;color:#4a536d;box-shadow:0 8px 16px rgba(41,43,59,.04)}
.nav a:hover{border-color:#c7d1e5;background:#f7f4fb;color:#2c3551}
.section-kicker{color:#8a7eb8}.sectionheading h2{color:#27304a}.sectionheading p{color:#6e7386}.section-aside{color:#70648e;background:#f2edf9;border-color:#dfd7f0}
.filterbar,.metric,.mapcard,.surface,.need-card,.group,.attention-card,.inline-detail,.data-panel,.pipeline-box,.notice,.storycard,.method-grid article{background:rgba(255,255,255,.88);border-color:#ebe3dc;box-shadow:var(--shadow);backdrop-filter:blur(7px)}
.filterbar select,.filterbar input,.sorter select{background:#fcfaf8;border-color:#e8e0da;color:#29314b}.filter-reset{background:#f1edf9;border-color:#e1d9f1;color:#6e5fa0}.textbtn,.smallbtn{color:#5a6283}.smallbtn{background:#f6f3fb;border-color:#dfd8ee}.smallbtn:hover{background:#efe9f9}
.metric:before{background:rgba(111,128,200,.12)}
.data-source-line{color:#83889a}
.attention-card{border-left-color:var(--accent,#8d98c8);border-radius:20px}.attention-card .kicker{color:var(--accent,#6f7db5)}.attention-card button{background:#f6f0ec;color:#5f4a58}
.inline-detail{background:#fbf7f3;border-color:#e9ddd4}.closebtn{background:#f1edf3;color:#5f6078}.detail-source{border-color:#e2d7ec;color:#5d628b}.detail-badge{background:#f0ebfa;color:#665f91}.detail-badge.warning{background:#fff1e3;color:#9b7241}
.mapcard{border-radius:26px;overflow:hidden}.mapcard-top{padding-top:20px;border-top:6px solid var(--accent,#7b88b9);background:linear-gradient(180deg,rgba(247,243,251,.95),rgba(255,255,255,.96))}.mapcard-kicker,.mapcard-value{color:var(--accent,#6f7db5)}.map-legend,.mapfoot{color:#7c8294}.empty-color{background:#e9e4e0;border-color:#d8d0cb}.full-color{background:#b9b5d6}
.map-scroll{background:linear-gradient(165deg,#f7f1ed,#eef1f7);border-top:1px solid #efe7e2;border-bottom:1px solid #efe7e2;overflow:hidden}.map-scroll svg{min-width:0!important;width:100%!important;max-width:100%;height:auto}.map-scroll svg .region:hover,.map-scroll svg .region.active{stroke:#c38d6d;filter:drop-shadow(0 0 2px rgba(132,93,70,.22))}.map-scroll svg .rlabel{fill:#303851;stroke:#fffaf7}.map-scroll svg .mapcount{fill:#434b67;stroke:#fffaf7}
.mapdetail{background:#faf6f2;border-color:#e7ddd4}.map-regions-strip{padding:0 16px 13px;display:flex;gap:8px;flex-wrap:wrap}.map-regions-strip button{border:1px solid #e5ddd6;background:#fbf8f5;color:#55607c;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}.map-regions-strip button:hover,.map-regions-strip button.active{background:#f1edf9;border-color:#d9d1eb;color:#3a4160}.map-regions-strip .thies-btn{background:#fff4ea;border-color:#ecd3c1;color:#8b644a}
.surface h3,.need-card h3,.attention-card h3,.group h3,.storycopy h3,.data-panel h3{color:#2c3450}.sub,.need-card p,.group-note,.data-limits,.method-grid article p,.footer,footer,.storycopy p{color:#73788b}
.bartrack{background:#f0ebe6}.bar-row{background:#fff;border:1px solid #ece4de}.bar-row:hover{border-color:#d6c9e6}
.category-tag,.badge{background:#f1edf9;color:#6b6292}.status-row{background:#fcfaf8;border:1px solid #ece4de}.status-row b{color:#5e6888}
.need-card-top small,.need-card-bottom small,.loc,.detail-meta,.signal-line small{color:#8a8fa0}.need-card button,.data-actions button{background:#28314a;color:#fff;border:none;box-shadow:0 10px 20px rgba(40,49,74,.12)}.need-card button:hover,.data-actions button:hover{background:#36405c}
.group-note{background:#fff8f2;border:1px solid #ecdccf;color:#7d624c}.group .locations{color:#57627e}
.signal-line{border-bottom:1px solid #ece4de}.signal-line a{color:#586490}.pipeline-box{background:linear-gradient(135deg,#262f47,#36415e);color:#fff;border:0}.pipe-stat small,.pipe-progress small{color:rgba(255,255,255,.77)}.progressbar{background:rgba(255,255,255,.16)}.progressbar i{background:linear-gradient(90deg,#e0b18c,#b1bbdf)}
.method-grid article{border:1px solid #ece4de}.method-grid article span{background:#2f3750;color:#fff}
.story-strip{padding-top:22px}.storygrid{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:14px;align-items:stretch}.storycard{position:relative;border-radius:24px;overflow:hidden;min-height:215px;display:flex;isolation:isolate}.storycard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.storycard:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,18,29,0.03),rgba(12,15,24,.74))}.storycard-large{grid-row:span 2;min-height:444px}.storycopy{position:relative;z-index:1;align-self:end;padding:18px 18px 19px;color:#fff}.storycopy span{display:inline-block;margin-bottom:8px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);font-size:11px;font-weight:800;letter-spacing:.04em}.storycopy h3{margin:0 0 6px;color:#fff;font-size:21px;line-height:1.2}.storycopy p{margin:0;color:rgba(255,255,255,.85);max-width:42ch}
@media (max-width:1150px){.storygrid{grid-template-columns:1fr 1fr}.storycard-large{grid-row:auto;grid-column:1/-1;min-height:300px}}
@media (max-width:900px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.attention-grid,.mapgrid,.analytics-grid,.method-grid{grid-template-columns:1fr}.storygrid{grid-template-columns:1fr 1fr}.hero{height:auto;min-height:440px}.hero-copy{padding:42px 26px 84px}}
@media (max-width:680px){.storygrid{grid-template-columns:1fr}.storycard,.storycard-large{min-height:220px}.section-aside{display:none}.topbar{padding-inline:16px}.page{padding-inline:14px}.hero-copy{padding:32px 22px 90px}.nav{gap:7px}.nav a{padding:10px 13px}.filterbar{padding:11px}.map-regions-strip{padding:0 12px 12px}.map-scroll svg .rlabel{font-size:14px;stroke-width:4}.map-scroll svg .mapcount{font-size:18px;stroke-width:4}}



/* SUNUY SOKHLA V5 — design territorial éditorial / bleu minéral, ivoire, lilas, argile */
:root{--ink:#252d42;--dark:#242d44;--green:#6b789d;--green2:#8c8db1;--muted:#778095;--bg:#f5f2f0;--line:#e5dfdc;--shadow:0 8px 24px rgba(37,43,66,.045);--radius:16px;--sidebar-width:238px}
body{background:#f5f2f0;color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:-.007em}
.topbar{height:78px;min-height:78px;background:#fff;backdrop-filter:none;border-bottom:1px solid #e9e5e2;box-shadow:0 3px 20px rgba(32,39,59,.04);padding:12px 27px 12px 30px}
.identity{gap:11px}.identity strong{font-size:24px;letter-spacing:-1.3px;color:#242c43}.brand-divider{color:#c9a28b;margin:0 2px;font-weight:400}.identity small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9193a2}
.brand-icon{width:43px;height:43px;border-radius:12px;background:#313c59;box-shadow:none}.brand-icon span{color:#f2be9c;font-size:25px}
.conn{background:#f1f1f8;color:#687292;font-weight:800;padding:7px 11px}.conn i,.pulse{background:#8895b8;box-shadow:0 0 0 3px rgba(130,143,177,.16)}
.sidebar-v5{position:fixed;top:78px;bottom:0;left:0;width:var(--sidebar-width);background:#252e48;color:#fff;z-index:30;overflow:auto;border-right:1px solid #3c465e}
.sidebar-inner{display:flex;flex-direction:column;min-height:100%;padding:27px 14px 20px}
.sidebar-eyebrow,.sidebar-section-label{font-size:9px;letter-spacing:.16em;font-weight:900;color:#b8c2d6;margin-left:13px}
.sidebar-title{font-size:23px;font-weight:790;letter-spacing:-1.1px;line-height:1.2;padding:12px 12px 0}.sidebar-title span{color:#ecc29c}.sidebar-rule{height:1px;background:#46516a;margin:23px 12px 24px}.sidebar-section-label{margin-bottom:11px}.side-label-second{margin-top:23px}
.side-link{display:flex;align-items:center;gap:12px;color:#d4dbea;text-decoration:none;padding:11px 12px;font-weight:690;font-size:12px;border-left:3px solid transparent;margin-bottom:3px;border-radius:3px 9px 9px 3px;transition:background .15s,border-color .15s}
.side-link .side-symbol{font-size:19px;width:20px;text-align:center;line-height:1;color:#b7bdce}.side-link small{margin-left:auto;font-size:9px;color:#8d98b0}.side-link:hover{background:#35415f}.side-link.active{background:#3a4564;color:#fff;border-left-color:#dfb49b}.side-link.active .side-symbol{color:#f3c5a8}
.sidebar-bottom{margin-top:auto;border-top:1px solid #4b556e;padding:18px 12px 0}.sidebar-bottom p{font-size:11px;line-height:1.55;color:#bdc6d8}.sidebar-bottom a{font-size:11px;font-weight:800;color:#f2caaa}.sidebar-online{font-size:11px;font-weight:850;color:#d5d9e9}.sidebar-online i{display:inline-block;width:7px;height:7px;background:#f0c39b;margin-right:6px;border-radius:50%}
.page{max-width:1760px;padding:27px 30px 0;margin-left:var(--sidebar-width);margin-right:0;min-width:0}
.nav{display:none}.section{padding:38px 0 8px;scroll-margin-top:92px}
.sectionheading{margin-bottom:19px;align-items:end}.section-kicker{font-size:10px;font-weight:900;letter-spacing:.17em;color:#8580aa}.sectionheading h2{font-size:clamp(30px,3vw,42px);font-weight:840;letter-spacing:-1.7px}.sectionheading h2 em{color:#aa8d9e;font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.04em}.sectionheading p{font-size:13px;color:#7b8091}
.hero-v5{background:#252e47;border-radius:22px;min-height:440px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);box-shadow:0 18px 45px rgba(31,36,58,.13);overflow:hidden}
.hero-v5-copy{padding:clamp(32px,4vw,64px) clamp(25px,4vw,60px) 31px;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative}
.hero-v5-copy:before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid rgba(237,217,208,.1);right:-55px;top:-70px;pointer-events:none}
.hero-v5-topline{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.2em;font-weight:850;color:#e5c5ad}.symbol-sun{font-size:27px;line-height:1;color:#e8bc99}
.hero-v5 h1{font-size:clamp(36px,3.6vw,59px);line-height:1.08;color:#fff;margin:27px 0 21px;letter-spacing:-2.7px;font-weight:810}.hero-v5 h1 em{font-family:Georgia,'Times New Roman',serif;color:#e7c5b5;font-weight:400;letter-spacing:-.065em;font-style:italic}
.hero-v5-copy>p{color:#d0d5e0;font-size:15px;max-width:500px;line-height:1.7;margin:0}.hero-v5-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:31px}.hero-v5-actions a{text-decoration:none;padding:12px 19px;border-radius:8px;font-size:12px;font-weight:850;display:inline-flex;align-items:center;gap:14px}.hero-cta{background:#e6b99b;color:#302e3f;box-shadow:0 9px 20px rgba(219,162,124,.18)}.hero-cta:hover{background:#f1c9ab}.hero-secondary{color:#fff;border:1px solid #737b94}.hero-v5-caption{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#b1b8cd;font-size:9px;letter-spacing:.1em;font-weight:800;margin-top:35px}.hero-v5-caption b{color:#ddab8e}
.hero-v5-photo{position:relative;margin:0;background:#e7e0da;min-height:440px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-v5-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,32,47,.35),transparent 36%);pointer-events:none}.hero-v5-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-v5-photo figcaption{position:absolute;bottom:16px;left:20px;right:20px;z-index:1;color:#fff;font-size:11px;font-weight:790;text-shadow:0 2px 8px #181d2799}.hero-v5-photo figcaption span{display:inline-block;margin-left:6px;color:#e7dacd;font-size:10px;font-weight:500}
.notice{border-left:4px solid #caa68f;border-radius:8px;padding:14px 17px;background:#fcf7f2;border-top:1px solid #eaded7;border-right:1px solid #eaded7;border-bottom:1px solid #eaded7;color:#71616b}.notice a{color:#74678b}
.filter-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0 10px}.filter-intro strong{display:block;font-size:15px;letter-spacing:-.2px}.filter-intro small{display:block;color:#8c90a0;font-size:11px;margin-top:3px}.filter-intro a{color:#71648c;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
.filterbar{border-radius:13px;background:#fff;padding:16px;box-shadow:var(--shadow)}.filterbar label{color:#6f7487}.filterbar select,.filterbar input{border-color:#e6e2df;background:#fbfaf9;border-radius:7px}.filter-reset{background:#ece9f3;color:#66728c;border-radius:7px}.metrics{gap:10px}.metric{background:#fff;border-radius:11px;border:1px solid #e9e4e2;box-shadow:var(--shadow);min-height:130px;padding:20px 17px}.metric:before{height:4px;top:0;right:0;left:0;border-radius:0;width:100%;background:var(--metric-color,#7c88b4);opacity:.7}.metric strong{font-size:clamp(24px,2.3vw,35px)}.metric span{color:#7d8493}.data-source-line{padding:4px 3px;line-height:1.6}
.section-aside{color:#686888;background:#eeeaf5;border:1px solid #e4def1;border-radius:7px}.section-v5-photo{padding-top:27px}.field-grid{display:grid;grid-template-columns:1.45fr repeat(2,1fr);grid-auto-rows:minmax(205px,auto);gap:11px}.field-card{border-radius:12px;min-width:0;min-height:225px;position:relative;overflow:hidden;isolation:isolate;background:#d3cbc6}.field-feature{grid-row:span 2;min-height:455px}
.field-image,.field-shade{position:absolute;inset:0}.field-image img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .4s}.field-card:hover .field-image img{transform:scale(1.035)}.field-shade{background:linear-gradient(0deg,rgba(23,27,41,.94),rgba(29,32,48,.30) 50%,rgba(30,35,50,.04) 90%)}.field-card-body{position:absolute;bottom:0;left:0;right:0;padding:20px 22px 19px;color:#fff}.field-category{color:#e7c3ae;font-size:10px;letter-spacing:.12em;font-weight:850}.field-card h3{font-size:20px;letter-spacing:-.6px;color:#fff;margin:9px 0 5px;line-height:1.25}.field-feature h3{font-size:29px}.field-card p{margin:0;color:#d4d5df;font-size:11px;line-height:1.45}.field-link{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.45);padding:4px 0;color:#fff;font-size:11px;font-weight:850;margin-top:10px;display:inline-flex;gap:11px;cursor:pointer}.field-link:hover{color:#f1c5a7;border-color:#f1c5a7}.photo-credits{font-size:10px;line-height:1.8;margin:11px 2px;color:#868a98}.photo-credits a{color:#6b7190;text-decoration:underline;text-underline-offset:2px}
.attention-grid{gap:12px}.attention-card{border-radius:12px;border-left:4px solid var(--accent,#8e8db1);padding:20px;background:#fff}.attention-card .kicker{color:var(--accent,#8e8db1)}.attention-card h3{letter-spacing:-.45px}.attention-card button{background:#f2f0f5;color:#66678a;border-radius:7px}.smallbtn{border-radius:7px;color:#696889}
.inline-detail{background:#fff;border-radius:10px;border-color:#e6dfdc}.detail-source{border-color:#dad2e4;color:#6d6b96}.detail-badge{background:#eeeaf7;color:#6c698d}
.atlas-preface{background:#2b344e;border-radius:12px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;margin:0 0 16px}.atlas-preface>div:first-child{max-width:680px}.atlas-kicker{color:#e7c5ab;letter-spacing:.15em;font-size:10px;font-weight:900;display:block;margin-bottom:7px}.atlas-preface strong{display:block;font-size:19px;letter-spacing:-.4px}.atlas-preface p{color:#c7cada;font-size:11px;margin:7px 0 0}.atlas-preface-side{font-size:11px;color:#d5d6df;line-height:1.6;max-width:230px;border-left:2px solid #d0a58c;padding-left:16px}.atlas-preface-side span{color:#f4c0a2;font-size:17px}
.mapgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.mapcard{border-radius:12px;overflow:hidden;background:#fff}.mapcard-top{border-top:5px solid var(--accent,#8c86ad);background:#fff;padding:18px 20px 0}.mapcard-kicker{color:var(--accent,#8c86ad)}.mapcard-title h3{font-size:21px}.mapcard-value{color:var(--accent,#8c86ad)}.map-scroll{margin:11px 12px 12px;background:#f1efef;border-radius:9px;overflow:hidden}.map-scroll svg{min-width:0!important;max-width:100%;height:auto;width:100%!important;display:block}.map-scroll svg .region{stroke:#fff;stroke-width:2.5;cursor:pointer;transition:fill .12s}.map-scroll svg .region:hover,.map-scroll svg .region.active{stroke:#a97e80;stroke-width:5;filter:drop-shadow(0 1px 1px #b89a9a33)}.map-scroll svg .rlabel{fill:#3b3e58;stroke:#fff;stroke-width:4.5;font-size:18px}.map-scroll svg .mapcount{fill:#55536c;stroke:#fff;stroke-width:4;font-size:21px}.mapfoot{color:#858998}.map-legend{color:#777c8f}.full-color{background:#a39dbe}.empty-color{background:#e8e4e2}
.map-regions-strip button{border-radius:5px;background:#f9f7f7;border-color:#e8e2e0;color:#6b708b;font-size:10px}.map-regions-strip .thies-btn{background:#f5e9f0;color:#765c73;border-color:#dbc9d8}.map-regions-strip button:hover,.map-regions-strip button.active{background:#efeaf2;border-color:#bcb0d2}.mapdetail{background:#fbf9f8;border-color:#e6e1e1;border-radius:8px}
#mapgrid>.mapcard:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);column-gap:0;align-items:start}
#mapgrid>.mapcard:first-child .mapcard-top{grid-column:1;grid-row:1;padding:28px 27px 0;border-top:6px solid var(--accent,#8c86ad)}
#mapgrid>.mapcard:first-child .mapcard-title{display:block;margin-top:16px}#mapgrid>.mapcard:first-child .mapcard-title h3{font-size:clamp(26px,2.6vw,37px);margin-bottom:14px}#mapgrid>.mapcard:first-child .mapcard-value{font-size:54px;display:block;margin-top:15px}
#mapgrid>.mapcard:first-child .map-scroll{grid-column:2;grid-row:1/3;margin:12px 12px 12px 0;background:#f4f1f0;max-width:100%}
#mapgrid>.mapcard:first-child .map-regions-strip{grid-column:1;grid-row:2;padding:10px 18px 12px 25px;align-content:start}
#mapgrid>.mapcard:first-child .mapfoot{grid-column:1/-1;grid-row:3;padding:6px 25px 13px}
#mapgrid>.mapcard:first-child .mapdetail{grid-column:1/-1;grid-row:4}
.map-legend{gap:7px}.legend-swatch{border-radius:2px}
.surface,.need-card,.group,.pipeline-box{border-radius:12px}.need-card button,.data-actions button{background:#313b57}.need-card button:hover,.data-actions button:hover{background:#465071}.category-tag,.badge{border-radius:6px;background:#f1edf6;color:#747099}.bartrack{background:#f0eceb}.status-row{border-radius:7px}.group-note{border-radius:7px}.data-panel{border-radius:12px}.method-grid article{border-radius:10px}.method-grid article span{background:#343d56}
footer{border-top:1px solid #e7dfdc;color:#868a96;margin-top:45px}.textbtn{color:#6a6792}.signal-line .badge{border-radius:4px}.signal-line a{color:#6f75a1}
@media(max-width:1370px){:root{--sidebar-width:214px}.sidebar-inner{padding-inline:8px}.page{padding-inline:24px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid{grid-template-columns:1.15fr 1fr 1fr}.hero-v5 h1{font-size:clamp(34px,3.6vw,53px)}}
@media(max-width:1130px){.sidebar-v5{display:none}.page{margin:0 auto;max-width:1480px;padding:21px 20px 0}.nav{display:flex;padding:15px 0 9px;gap:8px}.nav a{border-radius:7px}.hero-v5{grid-template-columns:1fr 1fr}.hero-v5 h1{font-size:clamp(34px,4.2vw,51px)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-feature{grid-column:span 2;grid-row:auto;min-height:300px}.field-card{min-height:225px}}
@media(max-width:850px){.hero-v5{grid-template-columns:1fr}.hero-v5-copy{padding:38px 30px 32px}.hero-v5-photo{min-height:0;aspect-ratio:16/9}.hero-v5 h1{font-size:clamp(34px,7vw,52px)}.mapgrid{grid-template-columns:1fr}.atlas-preface{flex-direction:column;align-items:start}.atlas-preface-side{max-width:100%}#mapgrid>.mapcard:first-child{display:block;grid-column:1}#mapgrid>.mapcard:first-child .map-scroll{margin:12px}#mapgrid>.mapcard:first-child .map-regions-strip{padding:0 12px 12px}#mapgrid>.mapcard:first-child .mapcard-top{padding:21px 18px 0}#mapgrid>.mapcard:first-child .mapcard-title{display:flex}#mapgrid>.mapcard:first-child .mapcard-title h3{font-size:23px;margin:5px 0}#mapgrid>.mapcard:first-child .mapcard-value{font-size:31px;margin:0}.section{padding-top:26px}}
@media(max-width:640px){.topbar{padding:10px 12px;height:70px;min-height:70px}.identity strong{font-size:20px}.identity small{font-size:9px}.brand-icon{height:38px;width:38px}.header-right{gap:5px}.header-right .dateline{display:none}.page{padding:13px 12px 0}.hero-v5{border-radius:12px}.hero-v5-copy{padding:30px 20px 26px}.hero-v5 h1{font-size:36px;letter-spacing:-1.7px;line-height:1.14;margin:17px 0}.hero-v5-copy>p{font-size:13px}.hero-v5-actions{margin-top:20px}.hero-v5-caption{margin-top:24px}.hero-v5-photo{aspect-ratio:1.6}.hero-v5-photo figcaption{font-size:9px;left:11px;right:11px;bottom:10px}.notice{margin:12px 0 0}.filter-intro{display:block}.filter-intro a{display:inline-block;margin-top:6px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:15px 12px;min-height:115px}.field-grid{grid-template-columns:1fr}.field-feature{grid-column:1;min-height:265px}.field-card{min-height:225px}.field-card h3{font-size:22px}.field-feature h3{font-size:24px}.field-card-body{padding:15px}.atlas-preface{padding:19px 18px}.atlas-preface strong{font-size:17px}.map-scroll svg .rlabel{font-size:14px;stroke-width:4}.map-scroll svg .mapcount{font-size:17px;stroke-width:3}.map-scroll{margin:8px}.mapcard-top{padding:16px 14px 0}.mapcard-title h3{font-size:18px}.map-regions-strip button{font-size:10px;padding:7px 8px}.sectionheading h2{font-size:31px}.section-aside{display:none}.photo-credits{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.field-image img{transition:none}}

/* Précision de spécificité : Thiès et survols ne conservent aucune ancienne couleur */
.map-regions-strip button.thies-btn{background:#f1eaf4!important;border:1px solid #cdbfd9!important;color:#6b6084!important;outline-color:#ab99c9!important}
.map-regions-strip button:hover,.map-regions-strip button:focus-visible,.map-regions-strip button.active{background:#ede7f5!important;border-color:#a8a0cd!important;outline-color:#a8a0cd!important;color:#4c5174!important}
.map-scroll svg .region.active{stroke:#bc91a0!important}
.conn.offline i{background:#d3a787!important}


/* ==== SUNUY SOKHLA V6 : editorial map, ONG links, city explorer ==== */
:root{--primary-ink:#253047;--sand:#eac9b7;--soft-lav:#dcd9e9;--cool:#7885a6}
#visions,.section-v5-photo{display:none!important}
.hero-v6{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#242e48;color:#fff;min-height:505px;border-radius:20px;overflow:hidden;box-shadow:0 20px 42px rgba(25,34,56,.13)}
.hero-v6-copy{padding:48px 28px 45px clamp(27px,3.3vw,58px);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}
.hero-v6-kicker{font-size:10px;font-weight:870;letter-spacing:.2em;color:#f0c9ad;display:flex;align-items:center;gap:10px}.hero-kicker-rule{width:27px;height:2px;background:#e1b799}
.hero-v6 h1{font-size:clamp(34px,3.3vw,57px);line-height:1.13;letter-spacing:-1.9px;font-weight:790;margin:25px 0 20px;color:#fff}
.hero-v6 h1 em{font-family:Georgia,serif;font-weight:400;color:#efc9b6;font-style:italic;white-space:nowrap}
.hero-v6 p{color:#d9dce6;max-width:480px;font-size:14px;line-height:1.7;margin:0}
.hero-v6-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:28px 0 21px}.hero-v6-buttons a{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:850;text-decoration:none;border-radius:7px;padding:13px 18px}
.hero-v6-buttons .hero-cta{background:#e9c1a5;color:#222d43}.hero-v6-buttons .hero-secondary{color:#f7f5f7;background:transparent;border:1px solid #8f96a9}
.hero-v6-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#bfc8da;font-weight:750}.hero-v6-meta i{width:3px;height:3px;border-radius:50%;background:#d1aec0}
.hero-geo{position:relative;isolation:isolate;min-height:505px;background:linear-gradient(135deg,#faf5f1,#efecf0 60%,#e5e5ed);overflow:hidden}
.hero-geo-halo{position:absolute;width:530px;height:530px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff8f5 0,#eee7e7 58%,transparent 70%);border-radius:50%}
.hero-geography{position:absolute;inset:6px 0 0;display:grid;place-items:center;z-index:1;opacity:.92}.hero-geography svg{height:100%;width:105%;max-width:none;display:block;filter:drop-shadow(0 13px 20px rgba(43,52,73,.12));pointer-events:none}.hero-geography svg .rlabel{font-size:16px!important;opacity:.82;paint-order:stroke;stroke:#f8f4f0;stroke-width:4px}
.orbit-stage{position:absolute;z-index:3;left:49%;top:49%;width:min(64%,365px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}
.orbit-ring{position:absolute;inset:-14px;border:1px solid rgba(106,112,146,.32);border-radius:50%;pointer-events:none}.orbit-ring-one:before,.orbit-ring-two:before{content:'';position:absolute;width:10px;height:10px;background:#b590a4;border:3px solid #fff7f3;border-radius:50%;left:50%;top:-6px;box-shadow:0 4px 16px #292b3650}.orbit-ring-two{inset:-28px;border-style:dashed;border-color:rgba(120,128,163,.23);animation:orbitturn 35s linear infinite}.orbit-ring-two:before{width:5px;height:5px;top:calc(100% - 5px);background:#d6b0a0}
@keyframes orbitturn{to{transform:rotate(360deg)}}
.orbit-window{height:100%;width:100%;overflow:hidden;border-radius:50%;border:8px solid #fffaf6;box-shadow:0 18px 48px rgba(31,35,56,.28);position:relative;background:#39415b}
.orbit-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;overflow:hidden}.orbit-slide.is-active{opacity:1;visibility:visible}.orbit-slide img{height:100%;width:100%;object-fit:cover;display:block;filter:saturate(.91) contrast(1.04)}.orbit-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,22,36,.86),rgba(15,22,36,.18) 55%,rgba(15,22,36,.1))}
.orbit-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:end;flex-direction:column;text-align:center;padding:18% 16px 20%;color:#fff;text-shadow:0 1px 7px #0007}.orbit-caption span{font-size:10px;color:#f6ddc8;letter-spacing:.18em;font-weight:850;margin-bottom:9px}.orbit-caption strong{font-size:clamp(22px,2.3vw,36px);font-weight:880;line-height:1.06;max-width:270px;letter-spacing:-1px}.orbit-caption small{color:#f5e9e0;font-size:11px;margin-top:10px;max-width:220px;line-height:1.25}
.orbit-controls{position:absolute;z-index:5;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;background:#ffffffed;border:1px solid #e4dce2;padding:6px 9px;border-radius:999px;box-shadow:0 7px 20px #2c355426}.orbit-controls>button{border:0;background:#eef0f5;color:#343d56;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:20px;padding:0}.orbit-controls #orbitPause{font-size:12px}.orbit-progress{display:flex;align-items:center;gap:5px}.orbit-progress button{width:7px;height:7px;min-width:7px;min-height:7px;border:0;padding:0;border-radius:10px;background:#c5c6d2;transition:width .25s}.orbit-progress button.active{width:20px;background:#7f8aac}
.hero-map-legend{position:absolute;z-index:1;right:18px;top:15px;background:#fff9f3cb;font-size:9px;color:#7d8498;border-radius:4px;padding:8px 10px;font-weight:850;letter-spacing:.08em}
.ngo-section{position:relative}.ngo-guidance{border-left:3px solid #c39fa6;background:#fbf4f1;color:#695d68;border-radius:5px;padding:13px 17px;font-size:12px;margin:6px 0 16px;line-height:1.6}.ngo-toolbar{display:flex;gap:16px;align-items:end;justify-content:space-between;margin-bottom:13px;flex-wrap:wrap}.ngo-toolbar label{display:flex;flex-direction:column;gap:5px;color:#65718a;font-size:12px;font-weight:800}.ngo-toolbar select{background:white;border:1px solid #e3dee6;min-height:43px;border-radius:7px;min-width:205px;padding:9px;color:#2d3650}
.ngo-stats{display:flex;gap:8px;flex:1;flex-wrap:wrap}.ngo-stats>div{min-width:120px;flex:1;background:#fff;border:1px solid #e6e2e5;padding:14px 15px;border-radius:10px}.ngo-stats b,.ngo-stats strong{display:block;color:#586888;font-size:27px;line-height:1.1}.ngo-stats span{font-size:11px;display:block;margin-top:5px;color:#71798e;line-height:1.3}
.ngo-board{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;align-items:start;background:#fff;border:1px solid #e6e1df;border-radius:15px;padding:13px;overflow:hidden;min-height:480px;box-shadow:var(--shadow)}.ngo-map-col{position:relative;min-width:0;z-index:1}.ngo-list-col{position:relative;min-width:0;z-index:1}.ngo-map-intro{display:flex;justify-content:space-between;gap:9px;align-items:baseline;padding:8px 7px 0}.ngo-map-intro b{font-size:14px;color:#2c3754}.ngo-map-intro span{font-size:10px;color:#7c8295}.ngo-map-mount{background:linear-gradient(145deg,#f8f3f1,#f0eef4);border-radius:10px;min-width:0;overflow:hidden;position:relative}.ngo-map-mount svg{width:100%;height:auto;display:block;min-width:0}.ngo-map-mount svg path.region{stroke:white;stroke-width:2.6;cursor:pointer;transition:fill .2s,stroke .2s}.ngo-map-mount svg path.region:hover,.ngo-map-mount svg path.region.active{stroke:#b17d93;stroke-width:6;filter:drop-shadow(0 2px 3px #67567633)}.ngo-map-mount svg text.rlabel{font-size:18px;font-weight:870;fill:#38445e;stroke:#fffaf6;stroke-width:5;paint-order:stroke;pointer-events:none}
.ngo-region-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding:0 2px 4px;position:relative;z-index:4}.ngo-region-chips button{border:1px solid #e4dfe5;background:#faf8fa;padding:6px 9px;border-radius:6px;color:#69718a;font-size:10px;font-weight:800}.ngo-region-chips button.selected{background:#3b4566;color:#fff;border-color:#3b4566}
.ngo-selected-header{padding:15px 16px;background:#f6f3f8;border:1px solid #ece6ef;border-radius:11px;min-height:115px;display:flex;gap:12px;align-items:center;justify-content:space-between}.ngo-selected-header h3{font-size:27px;letter-spacing:-1.3px;margin:5px 0 4px}.ngo-selected-header p{margin:0;color:#768097;font-size:11px}.ngo-clear{border:0;border-radius:7px;background:#343e5d;color:#fff;padding:9px 12px;font-size:11px;white-space:nowrap;font-weight:750}.ngo-cards{display:grid;gap:8px;margin-top:9px;max-height:640px;overflow:auto;scrollbar-width:thin;position:relative;z-index:2}.ngo-card{border:1px solid #eae4e2;background:#fff;padding:13px 12px;display:flex;align-items:start;gap:12px;box-shadow:0 3px 10px #2c32430a;border-radius:9px}.ngo-card-bullet{flex:0 0 31px;width:31px;height:31px;display:grid;place-items:center;font-size:11px;font-weight:850;border-radius:50%;background:#ebe7f0;color:#6e6889}.ngo-card-body{min-width:0}.ngo-card-type{font-size:10px;color:#877891;font-weight:850;letter-spacing:.04em}.ngo-card-type span{color:#8d91a1;font-weight:500}.ngo-card h4{font-size:15px;margin:5px 0 3px;color:#2b3452;line-height:1.2}.ngo-project{font-size:12px;color:#525b75;margin:0 0 6px;line-height:1.35}.ngo-meta{font-size:11px;color:#81889a;margin-bottom:7px}.ngo-source{font-size:11px;color:#626f9a;text-decoration:underline;text-underline-offset:2px;font-weight:750}.ngo-no-result{padding:22px;border:1px dashed #dfd7de;border-radius:9px;background:#faf8f9;font-size:13px;color:#737c91;line-height:1.6}
.ngo-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}.ngo-arrow-path{fill:none;stroke:#a989a9;stroke-width:1.8;stroke-dasharray:6 5;stroke-linecap:round;opacity:.72;animation:drawNgo .55s both}@keyframes drawNgo{from{opacity:0;stroke-dashoffset:80}to{opacity:.72;stroke-dashoffset:0}}
.ngo-unlocated{border:1px solid #e8e2e6;border-radius:10px;background:#fff;margin-top:12px;padding:12px 16px}.ngo-unlocated summary{cursor:pointer;color:#37425f;font-weight:800}.ngo-unlocated summary span{color:#a28c99}.ngo-unlocated>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px}.ngo-footer-note{font-size:11px;color:#798093;margin:10px 2px}
.analytics-grid .bartrack i{background:#8691ae!important}.analytics-grid .bar-row{background:#fff!important}.analytics-grid .bar-label b{color:#667391!important}.analytics-grid .surface{box-shadow:0 7px 18px #2b36500c}.analytics-grid .status-row{background:#f8f7f8}.analytics-grid .timeline:before{background:#d8d4db}
.city-browser,.group-explorer{background:#fff;border:1px solid #e5e0df;border-radius:13px;padding:21px;margin:3px 0 25px;box-shadow:var(--shadow)}.city-header,.group-explorer-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px}.city-overline{font-size:10px;color:#8c8099;letter-spacing:.11em;font-weight:880}.city-header h3,.group-explorer h3,.record-list-heading h3{font-size:24px;letter-spacing:-.8px;color:#29344e;margin:5px 0 5px}.city-header p,.group-explorer-head p{margin:0;font-size:12px;color:#788096;max-width:500px}.city-tools,.group-explorer-filters{display:flex;gap:8px;flex-wrap:wrap}.city-tools label,.group-explorer-filters label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#768098;font-weight:780}.city-tools input,.city-tools select,.group-explorer-filters input,.group-explorer-filters select{min-height:41px;padding:9px;border:1px solid #e4dfe3;background:#fbfafb;border-radius:7px;font-size:12px;color:#303a54;max-width:220px}
.city-table-head,.city-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) 80px 112px minmax(0,1fr) 24px;gap:10px;align-items:center}.city-table-head{background:#f5f3f6;color:#81869a;padding:12px 16px;font-size:10px;font-weight:860;letter-spacing:.03em;border-radius:8px 8px 0 0}.city-entry{border-bottom:1px solid #eee8e9}.city-entry.expanded{background:#faf8fb}.city-row{background:transparent;border:0;width:100%;min-height:78px;padding:12px 16px;text-align:left;color:#2a3550}.city-row:hover{background:#f8f6fa}.city-place{display:flex;flex-direction:column;position:relative;padding-left:39px;gap:1px}.city-place>b:not(.city-index){font-size:13px}.city-place small{font-size:11px;color:#83889b}.city-index{position:absolute;left:0;top:2px;color:#a7a0b1;font-size:11px;letter-spacing:.07em}.city-sector{font-size:11px;color:#606b85}.city-value{font-weight:900;font-size:22px;color:#4f5d81}.city-value small{display:block;font-size:9px;color:#9da0ac;font-weight:600}.city-date{font-size:11px;color:#717991}.city-ngos{font-size:11px;color:#8c6e93}.city-chevron{font-size:19px;color:#9592a6;text-align:right}.city-details{padding:14px 18px 18px 55px;border-top:1px solid #e9e2eb;color:#4f5e76;font-size:12px}.city-details>p{margin:2px 0 11px}.city-detail-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.city-detail-items>div{padding:12px;background:#fff;border:1px solid #ebe6eb;border-radius:7px}.city-detail-items strong{display:block;font-size:12px;color:#3c4761}.city-detail-items small{display:block;margin-top:5px;color:#85889a}.city-detail-items a{color:#596a91}.city-ngo-summary{border-left:3px solid #a4a7c1;margin-top:12px;padding:10px 13px;background:#f1f1f7;color:#5d647c}.city-ngo-summary>p{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.city-ngo-summary>p span{padding:5px 7px;background:#fff;border:1px solid #e3e1ed;border-radius:5px;font-size:10px}.city-ngo-summary>small{display:block}.city-ngo-summary button{margin-top:10px;background:#3f4c6f;color:white;border:0;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:750}.city-actions{display:flex;justify-content:space-between;align-items:center;padding-top:13px;gap:10px}.city-actions button{border:1px solid #dcd6e3;background:#f4f1f7;color:#55577a;padding:9px 14px;border-radius:6px;font-weight:770;font-size:12px}.city-actions small{font-size:11px;color:#8b8fa1}.record-list-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:25px;margin-bottom:15px}.record-list-heading p{font-size:12px;color:#84899a;max-width:340px;margin:0}
.group-explorer{padding:20px 20px 23px}.group-explorer .groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.group-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}.group-kpis>div{padding:13px 15px;border:1px solid #ebe6e8;border-radius:9px;background:#f8f6f8}.group-kpis b{font-size:27px;color:#65708f;display:block;line-height:1.12}.group-kpis span{font-size:11px;color:#7b8296}.group-new{border:1px solid #e8e2e7;border-radius:10px;padding:19px;background:#fefdfd;display:flex;flex-direction:column;gap:10px}.group-top{display:flex;justify-content:space-between;align-items:center}.group-code{font-size:11px;color:#a8a4af}.group-flag{font-size:9px;font-weight:850;letter-spacing:.07em;color:#8c8191;background:#f1edf3;padding:6px 8px;border-radius:4px}.group-flag.group-multi{color:#5b6b91;background:#eaeef8}.group-new h3{font-size:20px;line-height:1.2;margin:4px 0;color:#2b3550}.group-metrics{display:flex;gap:6px;flex-wrap:wrap}.group-metrics span{font-size:10px;background:#f6f4f6;padding:7px 9px;border-radius:5px;color:#81869a}.group-metrics b{font-size:13px;color:#4c5978}.group-city-list{display:flex;gap:6px;flex-wrap:wrap}.group-city-list span{font-size:10px;border:1px solid #e6e0e8;background:#fff;padding:6px 9px;border-radius:4px;color:#5c6885}.group-qty{font-size:11px;color:#778198;margin:0}.group-ngo{margin-top:auto;border-top:1px solid #eee8ea;padding-top:10px;display:flex;flex-direction:column;gap:3px}.group-ngo b{font-size:11px;color:#6a6488}.group-ngo small{font-size:10px;color:#8c90a0}.group-action{background:#343d5a;color:white;border:0;border-radius:6px;padding:10px;text-align:left;font-size:12px;font-weight:760;cursor:pointer}.group-detail{border-top:1px solid #e9e3ea;padding-top:6px;max-height:250px;overflow:auto}.group-detail p{font-size:11px;padding-bottom:7px;border-bottom:1px solid #eee9ed}.group-detail a{color:#5b6991}
.public-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;border-top:1px solid #e5e1e4;margin-top:20px;padding:25px 5px;background:transparent;color:#687389}.public-footer b{color:#293652;font-size:17px}.public-footer p{margin:0;font-size:11px}.footer-links{display:flex;flex-wrap:wrap;gap:14px}.footer-links a{font-size:11px;text-decoration:none;color:#596784;font-weight:790}
@media(max-width:1250px){.hero-v6{grid-template-columns:1fr 1fr}.hero-v6 h1{font-size:clamp(32px,3.5vw,46px)}.ngo-board{grid-template-columns:1fr 1fr}.city-table-head,.city-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 65px 100px 84px 18px}}
@media(max-width:900px){.hero-v6{grid-template-columns:1fr}.hero-v6-copy{padding:34px 28px 31px}.hero-geo{min-height:520px}.hero-v6 h1{font-size:clamp(34px,6vw,52px)}.orbit-stage{width:min(54%,350px)}.ngo-board{grid-template-columns:1fr}.ngo-map-mount{max-height:480px;overflow:hidden}.ngo-map-mount svg{height:440px;object-fit:contain}.ngo-list-col{z-index:1}.city-header,.group-explorer-head{align-items:start;flex-direction:column}.city-tools,.group-explorer-filters{width:100%}.city-tools label,.group-explorer-filters label{flex:1}.city-tools input,.city-tools select,.group-explorer-filters input,.group-explorer-filters select{max-width:none;width:100%}}
@media(max-width:700px){.hero-v6{border-radius:12px}.hero-v6 h1{font-size:36px;letter-spacing:-1.4px}.hero-v6 h1 em{white-space:normal}.hero-geo{min-height:405px}.hero-geography{inset:8px -15% 0}.orbit-stage{width:min(68%,290px)}.orbit-window{border-width:6px}.orbit-caption strong{font-size:25px}.orbit-caption small{font-size:10px}.orbit-controls{bottom:8px}.hero-map-legend{font-size:8px;right:7px}.ngo-guidance{font-size:11px}.ngo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.ngo-stats>div{min-width:0;padding:10px}.ngo-stats strong{font-size:22px}.ngo-stats span{font-size:9px}.ngo-toolbar label{width:100%}.ngo-toolbar select{width:100%}.ngo-map-mount svg{height:auto}.ngo-selected-header{flex-direction:column;align-items:start}.ngo-unlocated>div{grid-template-columns:1fr}.ngo-map-intro{flex-direction:column}.city-browser,.group-explorer{padding:12px}.city-table-head{display:none}.city-row{grid-template-columns:minmax(0,1fr) auto;row-gap:4px;padding:13px 6px}.city-place{grid-column:1;grid-row:1/3;padding-left:26px}.city-index{font-size:9px}.city-sector{grid-column:1;grid-row:3;padding-left:26px}.city-value{grid-column:2;grid-row:1;align-self:start}.city-date{grid-column:1;grid-row:4;padding-left:26px}.city-date:before{content:'Première preuve : '}.city-ngos{grid-column:1;grid-row:5;padding-left:26px}.city-chevron{grid-column:2;grid-row:3}.city-details{padding:14px 9px}.city-detail-items{grid-template-columns:1fr}.group-explorer .groups{grid-template-columns:1fr}.group-kpis{gap:6px}.group-kpis>div{padding:10px}.group-kpis b{font-size:22px}.group-kpis span{font-size:9px}.record-list-heading{flex-direction:column;align-items:start}.public-footer{flex-direction:column;align-items:start}.ngo-arrows{opacity:.45}}
@media(prefers-reduced-motion:reduce){.orbit-ring-two{animation:none}.orbit-slide{transition:none}.ngo-arrow-path{animation:none}}

.hero-photo-credits{position:absolute;bottom:7px;right:9px;z-index:8;font-size:10px;color:#67718b;max-width:270px}.hero-photo-credits summary{cursor:pointer;padding:4px 7px;background:#fff8f2c9;border-radius:4px;list-style:none;text-align:right}.hero-photo-credits[open]{background:#fffaf5;padding:8px;border-radius:7px;box-shadow:0 8px 30px #2b335a33;max-width:270px}.hero-photo-credits p{margin:6px 0 0;font-size:10px;line-height:1.55;color:#626b85}.hero-photo-credits a{color:#53678c}.orbit-controls{bottom:22px}.ngo-arrow-path{pointer-events:none}
@media(max-width:700px){.hero-photo-credits{bottom:2px;right:3px}.hero-photo-credits[open]{max-width:230px}.ngo-arrows{opacity:.55}}


/* V7 overrides */
.orbit-stage{width:min(47%,282px)!important}.orbit-ring{inset:-10px}.orbit-ring-two{inset:-22px}.orbit-ring-one:before,.orbit-ring-two:before{display:none!important}.orbit-boat{position:absolute;left:50%;top:50%;width:54px;height:24px;transform:translate(-50%,-50%);z-index:7;--boat-radius:156px;animation:boatOrbit 34s linear infinite}.orbit-boat::before{content:'';position:absolute;left:0;bottom:0;width:54px;height:12px;background:linear-gradient(90deg,#845f45,#b67e54);clip-path:polygon(0 70%,12% 38%,100% 36%,86% 100%,8% 100%);box-shadow:0 5px 14px rgba(40,31,32,.14)}.orbit-boat::after{content:'';position:absolute;left:22px;bottom:10px;width:18px;height:10px;background:linear-gradient(135deg,#f4efe9,#d9d8de);clip-path:polygon(0 100%,100% 54%,100% 0,16% 16%);border-left:2px solid #6d6f86}@keyframes boatOrbit{from{transform:translate(-50%,-50%) rotate(0deg) translateY(calc(-1 * var(--boat-radius))) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg) translateY(calc(-1 * var(--boat-radius))) rotate(-360deg)}}
.hero-geography{inset:12px 0 2px}.hero-geo-halo{width:470px;height:470px}.bottom-search{margin-top:16px}.gov-intro{font-size:12px;color:#5f6679;border:1px solid #e6e1df;background:#faf8f8;border-radius:12px;padding:13px 15px;margin-bottom:14px}.gov-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gov-card{background:#fff;border:1px solid #e6e1df;border-radius:14px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.gov-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.gov-sector{font-size:10px;font-weight:850;letter-spacing:.08em;color:#6f6987;background:#f1edf7;padding:6px 8px;border-radius:6px}.gov-date{font-size:11px;color:#7c8497}.gov-card h3{margin:0;font-size:19px;line-height:1.22;color:#27334d}.gov-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:#667083}.gov-card p{margin:0;color:#5d6576;font-size:12px;line-height:1.55}.gov-progress{height:8px;background:#ebe7ea;border-radius:999px;overflow:hidden}.gov-progress i{display:block;height:100%;background:linear-gradient(90deg,#7c8cb0,#bda194)}.gov-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:auto;font-size:11px}.gov-actions a{color:#4a5775;font-weight:800;text-decoration:none}.gov-actions span{color:#8a90a0}.gov-actions b{color:#7b6880}.analytics-grid .bartrack i{background:#8895b3!important}.analytics-grid .timeline-item:before{background:#8c8aa9}.analytics-grid .status-row:nth-child(odd){background:#fbfafb}.analytics-grid .status-row:nth-child(even){background:#f6f4f5}.mapgrid .mapcard:nth-child(1) .mapcard-top{border-top-color:#7f90b5}.mapgrid .mapcard:nth-child(2) .mapcard-top{border-top-color:#a695ba}.mapgrid .mapcard:nth-child(3) .mapcard-top{border-top-color:#b39b8b}.mapgrid .mapcard:nth-child(4) .mapcard-top{border-top-color:#8d9eb8}.mapgrid .mapcard:nth-child(5) .mapcard-top{border-top-color:#b497aa}.mapgrid .mapcard:nth-child(6) .mapcard-top{border-top-color:#8f87af}.filterbar{margin-top:12px}#tableau .metrics{margin-top:8px}#tableau .filterbar .searchbox{min-width:220px}.group-explorer .groups{gap:14px}.group-new{background:linear-gradient(180deg,#fff,#fcfbfc)}
@media(max-width:900px){.orbit-stage{width:min(52%,250px)!important}.orbit-boat{--boat-radius:138px}.gov-grid{grid-template-columns:1fr}}@media(max-width:700px){.hero-geo{min-height:420px}.hero-geo-halo{width:360px;height:360px}.orbit-stage{width:min(54%,212px)!important}.orbit-boat{--boat-radius:116px;width:44px;height:20px}.orbit-boat::before{width:44px;height:10px}.orbit-boat::after{left:18px;bottom:8px;width:15px;height:9px}.gov-card{padding:14px}.gov-card h3{font-size:17px}}


/* V8 hero redesign */
.hero-v8{background:linear-gradient(180deg,#f8f5f4,#f2eff0);border:1px solid #ece5e2;border-radius:24px;box-shadow:0 22px 52px rgba(36,46,72,.08);overflow:hidden}.hero-geo-v8{min-height:620px;border-radius:0;border-bottom:1px solid #e7e1df;background:linear-gradient(180deg,#f7f2f1,#eeebf0 62%,#efedf1)}.hero-v8-copy{padding:34px clamp(22px,3vw,50px) 36px;background:linear-gradient(180deg,#ffffff,#fcfbfb)}.hero-v8-copy h1{font-size:clamp(36px,4.2vw,64px);line-height:1.06;letter-spacing:-2.4px;font-weight:820;margin:18px 0 16px;color:#25304a}.hero-v8-copy h1 em{font-family:Georgia,serif;font-weight:400;color:#c89f8d;font-style:italic}.hero-v8-copy p{margin:0;max-width:860px;color:#596273;font-size:16px;line-height:1.75}.hero-v8 .hero-v6-buttons{margin:26px 0 0}.hero-v8 .hero-v6-buttons .hero-secondary{border-color:#d3d5df;color:#35405d;background:#fff}.hero-v8 .hero-v6-buttons .hero-secondary:hover{background:#f6f7fa}.hero-v8 .hero-v6-buttons .hero-cta{box-shadow:0 14px 28px rgba(201,159,140,.20)}.hero-geo-v8 .hero-geo-halo{width:540px;height:540px;opacity:.9}.hero-geo-v8 .hero-geography{inset:22px 0 8px}.hero-geo-v8 .hero-geography svg .rlabel{font-size:17px!important;opacity:.86}.hero-geo-v8 .orbit-stage{width:min(52%,355px)!important;top:50%}.hero-geo-v8 .orbit-window{border-width:8px;box-shadow:0 18px 45px rgba(37,48,74,.16)}.hero-geo-v8 .orbit-ring{border-color:rgba(126,134,164,.18)}.hero-geo-v8 .orbit-ring-two{border-color:rgba(126,134,164,.12)}.orbit-boat-photo{position:absolute;left:50%;top:50%;width:122px;height:38px;transform:translate(-50%,-50%);z-index:7;--boat-radius:184px;background:url('pirogue-orbit.png') center/cover no-repeat;border-radius:999px;border:2px solid rgba(255,255,255,.85);box-shadow:0 8px 22px rgba(44,47,59,.18);animation:boatOrbitPhoto 36s linear infinite}@keyframes boatOrbitPhoto{from{transform:translate(-50%,-50%) rotate(0deg) translateY(calc(-1 * var(--boat-radius))) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg) translateY(calc(-1 * var(--boat-radius))) rotate(-360deg)}}.hero-photo-credits{bottom:10px;right:12px}.hero-photo-credits summary{background:#fffaf5d5}.hero-v6-copy,.hero-v6-meta,.hero-map-legend,.orbit-boat{display:none!important}.nav{padding-top:16px}.section#cartes{padding-top:18px}@media(max-width:900px){.hero-geo-v8{min-height:520px}.hero-geo-v8 .orbit-stage{width:min(60%,300px)!important}.orbit-boat-photo{--boat-radius:156px;width:108px;height:34px}.hero-v8-copy{padding:26px 24px 28px}.hero-v8-copy h1{font-size:clamp(34px,8vw,48px);letter-spacing:-1.7px}}@media(max-width:700px){.hero-v8{border-radius:16px}.hero-geo-v8{min-height:430px}.hero-geo-v8 .hero-geo-halo{width:370px;height:370px}.hero-geo-v8 .hero-geography{inset:18px -12% 0}.hero-geo-v8 .orbit-stage{width:min(63%,238px)!important}.hero-geo-v8 .orbit-window{border-width:7px}.orbit-boat-photo{width:94px;height:30px;--boat-radius:132px}.hero-v8-copy{padding:22px 18px 26px}.hero-v8-copy p{font-size:15px}.hero-v8 .hero-v6-buttons{gap:10px}.hero-v8 .hero-v6-buttons a{flex:1}}

/* V9 : grande pirogue sénégalaise réelle, mouvement doux et listes compactes */
.orbit-boat-photo{position:absolute!important;top:50%!important;left:50%!important;z-index:9!important;width:268px!important;height:64px!important;--boat-radius:216px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;pointer-events:none!important;animation:boatOrbitPhoto 42s linear infinite!important;will-change:transform}
.orbit-boat-photo img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 7px 4px rgba(23,31,46,.32))}
@keyframes boatOrbitPhoto{from{transform:translate(-50%,-50%) rotate(0deg) translateY(calc(-1 * var(--boat-radius))) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg) translateY(calc(-1 * var(--boat-radius))) rotate(-360deg)}}
.hero-geo-v8{overflow:hidden}
.list-limited:not(.list-expanded)>:nth-child(n+6){display:none!important}
.list-toggle-wrap{margin:17px 0 7px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.list-toggle-wrap[hidden]{display:none!important}
.list-toggle{border:1px solid #dcdbe4;border-radius:999px;background:#fbf9fa;color:#34405c;box-shadow:0 5px 15px rgba(30,41,65,.055);padding:11px 22px;min-height:45px;font-size:12px;letter-spacing:.01em;font-weight:830;transition:transform .2s,background .2s,border-color .2s}
.list-toggle:hover{background:#eeebf3;border-color:#c4bdcb;transform:translateY(-1px)}
.list-toggle[hidden]{display:none!important}
.list-toggle-count{font-size:11px;color:#83889b}
/* Ne pas forcer de scroller une longue liste entièrement dépliée dans un sous-panneau. */
.ngo-cards.list-expanded,.signal-list.list-expanded,.timeline.list-expanded{max-height:none!important;overflow:visible!important}
.ngo-cards.list-limited:not(.list-expanded),.signal-list.list-limited:not(.list-expanded){max-height:none!important;overflow:visible!important}
.gov-grid{align-items:stretch}
.gov-section .gov-card:nth-child(-n+5){animation:softReveal .35s both}
@keyframes softReveal{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.mapdetail .map-case[hidden]{display:none!important}
.mapdetail .map-more-button{margin:12px auto 4px;display:block;padding:10px 16px;border:1px solid #d8d4e4;border-radius:24px;background:#fff;color:#35405d;font-weight:820}
@media(max-width:1100px){.orbit-boat-photo{width:225px!important;--boat-radius:184px!important}}
@media(max-width:700px){.orbit-boat-photo{width:clamp(95px,32vw,158px)!important;height:44px!important;--boat-radius:clamp(78px,28vw,122px)!important}.hero-geo-v8 .orbit-stage{width:min(58%,238px)!important}.list-toggle-wrap{gap:7px}.list-toggle{padding:10px 17px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.orbit-boat-photo{animation:none!important;transform:translate(-50%,-50%) translateY(calc(-1 * var(--boat-radius)))!important}}


/* SUNUY SOKHLA V9.1 — ONLY homepage map/boat/sea animation.
   All six regional maps and the V9 lists, sections and connected data remain untouched. */
#accueil .sunu-sea-orbit {
  position:absolute; inset:0; z-index:11; pointer-events:none;
  animation:sunuBoatCircuit 38s linear infinite;
  will-change:transform;
}
#accueil .sunu-sea-waypoint {
  position:absolute; left:50%; top:0;
  transform:translate(-50%,-50%);
}
#accueil .sunu-sea-vessel {
  position:relative; width:270px; height:114px;
  transform-origin:50% 50%;
  animation:sunuBoatCounter 38s linear infinite;
  will-change:transform;
}
#accueil .sunu-original-pirogue {
  position:absolute; z-index:5; left:13px; bottom:27px;
  width:244px; height:83px; object-fit:contain;
  filter:drop-shadow(0 7px 4px rgba(37,53,72,.26));
}
#accueil .sunu-sillage {
  position:absolute; z-index:6; left:-9px; bottom:2px;
  width:288px; height:76px; overflow:visible;
  filter:drop-shadow(0 1px 2px rgba(38,91,144,.1));
}
#accueil .sunu-sillage path {
  fill:none; stroke-linejoin:round; stroke-linecap:round;
}
#accueil .sunu-sillage .sunu-wave-back {
  stroke:#7cb2d2;stroke-width:5.3;opacity:.65;
  stroke-dasharray:8 13 44 16;
  animation:sunuFoamCurrent 2.5s linear infinite;
}
#accueil .sunu-sillage .sunu-wave-a {
  stroke:#fbffff;stroke-width:7;opacity:.96;
  stroke-dasharray:15 12 38 9;
  animation:sunuFoamCurrent 2s linear infinite reverse;
}
#accueil .sunu-sillage .sunu-wave-b {
  stroke:#4589b8;stroke-width:3.2;opacity:.72;
  stroke-dasharray:24 10;
  animation:sunuFoamCurrent 3.1s linear infinite;
}
#accueil .sunu-spray {
  fill:#fff; opacity:.9;
  animation:sunuSpray 1.4s ease-in-out infinite alternate;
}
#accueil .sunu-fish {
  position:absolute;z-index:8;display:block;width:25px;height:17px;
  color:#6a9bbd;pointer-events:none;opacity:0;
  filter:drop-shadow(0 2px 1px rgba(22,69,110,.28));
}
#accueil .sunu-fish svg {display:block;width:100%;height:100%;overflow:visible;}
#accueil .sunu-fish-one{left:16px;bottom:30px;animation:sunuFishJumpA 3.5s ease-in-out 0s infinite;}
#accueil .sunu-fish-two{left:65px;bottom:38px;color:#83b5ce;animation:sunuFishJumpB 3.5s ease-in-out .72s infinite;}
#accueil .sunu-fish-three{left:186px;bottom:31px;color:#5c90b2;animation:sunuFishJumpA 3.5s ease-in-out 1.52s infinite;}
#accueil .sunu-fish-four{left:240px;bottom:28px;color:#a1bccb;animation:sunuFishJumpB 3.5s ease-in-out 2.31s infinite;}
@keyframes sunuBoatCircuit { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes sunuBoatCounter { from{transform:rotate(0deg)} to{transform:rotate(-360deg)} }
@keyframes sunuFoamCurrent { from{stroke-dashoffset:0} to{stroke-dashoffset:-96} }
@keyframes sunuSpray {from{opacity:.38;transform:translateY(3px)}to{opacity:1;transform:translateY(-4px)}}
@keyframes sunuFishJumpA {
  0%,10%,70%,100%{opacity:0;transform:translate(0,0) scale(.72) rotate(-8deg)}
  16%{opacity:.9} 30%{opacity:1;transform:translate(-5px,-28px) scale(1) rotate(-20deg)}
  45%{opacity:.95;transform:translate(-12px,-20px) scale(1.08) rotate(5deg)}
  61%{opacity:0;transform:translate(-18px,0) scale(.84) rotate(24deg)}
}
@keyframes sunuFishJumpB {
  0%,8%,68%,100%{opacity:0;transform:translate(0,0) scale(.72) rotate(7deg)}
  17%{opacity:.9} 35%{opacity:1;transform:translate(8px,-34px) scale(1) rotate(19deg)}
  50%{opacity:.9;transform:translate(17px,-15px) scale(1.05) rotate(6deg)}
  61%{opacity:0;transform:translate(22px,0) scale(.8) rotate(-15deg)}
}
/* Ensure the Senegal outlines fit inside the existing V9 mobile map stage. */
@media(max-width:900px){
  #accueil .sunu-sea-vessel{width:210px;height:90px}
  #accueil .sunu-original-pirogue{left:7px;bottom:20px;width:196px;height:69px}
  #accueil .sunu-sillage{left:-10px;bottom:0;width:230px;height:62px}
  #accueil .sunu-fish{width:21px;height:15px}
  #accueil .sunu-fish-one{left:10px;bottom:26px}
  #accueil .sunu-fish-two{left:46px;bottom:32px}
  #accueil .sunu-fish-three{left:148px;bottom:24px}
  #accueil .sunu-fish-four{left:189px;bottom:25px}
}
@media(max-width:700px){
  /* Do not change the V9 map card layout, only its homepage preview. */
  #accueil .hero-geo-v8 .hero-geography{inset:12px -1% 3px;}
  #accueil .hero-geo-v8 .hero-geography svg{width:100%;height:100%;max-width:100%;display:block;}
  #accueil .hero-geo-v8 .orbit-stage{width:min(56%,205px)!important;}
  #accueil .sunu-sea-vessel{width:168px;height:73px}
  #accueil .sunu-original-pirogue{left:4px;bottom:16px;width:158px;height:54px}
  #accueil .sunu-sillage{left:-7px;bottom:-3px;width:182px;height:51px}
  #accueil .sunu-fish{width:16px;height:12px}
  #accueil .sunu-fish-one{left:7px;bottom:19px}
  #accueil .sunu-fish-two{left:40px;bottom:24px}
  #accueil .sunu-fish-three{left:116px;bottom:18px}
  #accueil .sunu-fish-four{left:153px;bottom:19px}
}
@media(max-width:360px){
  #accueil .hero-geo-v8 .orbit-stage{width:min(54%,184px)!important;}
  #accueil .sunu-sea-vessel{width:148px;height:68px}
  #accueil .sunu-original-pirogue{left:4px;bottom:15px;width:140px;height:50px}
  #accueil .sunu-sillage{left:-5px;bottom:-2px;width:158px;height:45px}
  #accueil .sunu-fish-three{left:97px}
  #accueil .sunu-fish-four{left:129px}
}
@media(prefers-reduced-motion:reduce){
  #accueil .sunu-sea-orbit,#accueil .sunu-sea-vessel,
  #accueil .sunu-sillage path,#accueil .sunu-spray,#accueil .sunu-fish{animation:none!important;}
  #accueil .sunu-sea-orbit{transform:rotate(22deg)}
  #accueil .sunu-sea-vessel{transform:rotate(-22deg)}
  #accueil .sunu-fish{opacity:.75}
}
/* Final tiny-screen clearance: keep boat, fish and wake within homepage map area. */
@media(max-width:700px){
  #accueil .hero-geo-v8 .orbit-stage{width:min(51%,195px)!important;}
  #accueil .sunu-sea-vessel{width:min(44vw,168px)}
  #accueil .sunu-original-pirogue{width:min(40vw,158px);}
  #accueil .sunu-sillage{width:min(45vw,180px);}
  #accueil .sunu-fish-four{left:84%;}
}
@media(max-width:360px){
  #accueil .hero-geo-v8 .orbit-stage{width:49%!important;}
  #accueil .sunu-fish-three{left:69%;}
  #accueil .sunu-fish-four{left:88%;}
}


/* SUNUY SOKHLA 9.2 — natural fish and photographic sea foam.
   This entire extension is scoped to the moving pirogue in the homepage map.
   Six data maps, status, filters, Supabase connectivity, NGO cards and lists unchanged. */
#accueil .sunu-sea-vessel { isolation:isolate; }
#accueil .sunu-real-water { position:absolute; display:block; pointer-events:none; background-repeat:no-repeat; background-position:center; background-size:100% 100%; transform-origin:50% 55%; will-change:opacity,transform; }
#accueil .sunu-real-water-deep {
  z-index:2; left:-17px; bottom:0px; width:304px; height:89px;
  background-image:url('sillage-eau-reelle.webp'); opacity:.96;
  filter:drop-shadow(0 1px 3px rgba(38,103,153,.19));
  animation:sunuTrueWaterRoll 2.65s ease-in-out infinite alternate;
}
#accueil .sunu-real-water-foam {
  z-index:4; left:-14px; bottom:1px; width:302px; height:87px;
  background-image:url('ecume-photographique.webp'); opacity:.96;
  filter:drop-shadow(0 0 3px rgba(22,103,152,.27));
  animation:sunuTrueWhiteFoam 1.65s ease-in-out infinite alternate;
}
#accueil .sunu-real-water-splash {
  z-index:7; left:47px; bottom:12px; width:195px; height:54px;
  background-image:url('ecume-photographique.webp'); opacity:.88;
  transform:scaleX(-1);
  animation:sunuTrueBowSplash 1.3s ease-in-out infinite alternate;
}
#accueil .sunu-sillage{z-index:7;opacity:.55;}
#accueil .sunu-sillage .sunu-wave-back{stroke:#94c8e3;opacity:.38;}
#accueil .sunu-sillage .sunu-wave-a{stroke:#fff;opacity:.58;stroke-width:4;}
#accueil .sunu-sillage .sunu-wave-b{stroke:#559ac8;opacity:.34;}
#accueil .sunu-spray{opacity:.72;}
#accueil .sunu-original-pirogue{z-index:6;}
#accueil .sunu-fish{z-index:10;width:72px;height:70px;filter:drop-shadow(0 4px 4px rgba(28,66,105,.32));}
#accueil .sunu-fish img.sunu-real-fish{display:block;width:100%;height:100%;object-fit:contain;max-width:none;max-height:none;user-select:none;}
#accueil .sunu-fish-one{left:-17px;bottom:17px;animation:sunuFishPhotoJumpA 4.65s cubic-bezier(.32,.08,.64,1) 0s infinite;}
#accueil .sunu-fish-two{left:43px;bottom:16px;width:62px;height:64px;animation:sunuFishPhotoJumpB 4.65s cubic-bezier(.32,.08,.64,1) 1.12s infinite;}
#accueil .sunu-fish-three{left:181px;bottom:19px;width:79px;height:74px;animation:sunuFishPhotoJumpA 4.65s cubic-bezier(.32,.08,.64,1) 2.25s infinite;}
#accueil .sunu-fish-four{left:237px;bottom:17px;width:65px;height:67px;animation:sunuFishPhotoJumpB 4.65s cubic-bezier(.32,.08,.64,1) 3.27s infinite;}
@keyframes sunuTrueWaterRoll { from{opacity:.76;transform:translateX(-3px) scaleY(.97)} to{opacity:1;transform:translateX(3px) scaleY(1.07)} }
@keyframes sunuTrueWhiteFoam { from{opacity:.67;transform:translate(-3px,2px) scale(1,.92)} to{opacity:1;transform:translate(3px,-3px) scale(1.04,1.07)} }
@keyframes sunuTrueBowSplash { from{opacity:.55;transform:scaleX(-1) scaleY(.87) translateY(4px)} to{opacity:.96;transform:scaleX(-1) scaleY(1.15) translateY(-5px)} }
@keyframes sunuFishPhotoJumpA {
  0%,11%,58%,100% {opacity:0;transform:translate(0,6px) scale(.60) rotate(-14deg)}
  17% {opacity:.95} 30% {opacity:1;transform:translate(-9px,-42px) scale(1) rotate(-27deg)}
  40% {opacity:1;transform:translate(-18px,-37px) scale(1.06) rotate(-8deg)}
  52% {opacity:0;transform:translate(-26px,12px) scale(.83) rotate(24deg)}
}
@keyframes sunuFishPhotoJumpB {
  0%,9%,58%,100% {opacity:0;transform:translate(0,8px) scale(.57) rotate(-2deg)}
  15% {opacity:.95} 31% {opacity:1;transform:translate(9px,-44px) scale(1) rotate(20deg)}
  42% {opacity:1;transform:translate(18px,-31px) scale(1.07) rotate(7deg)}
  53% {opacity:0;transform:translate(26px,10px) scale(.80) rotate(-25deg)}
}
@media(max-width:900px){
  #accueil .sunu-real-water-deep{left:-12px;bottom:-2px;width:238px;height:73px;}
  #accueil .sunu-real-water-foam{left:-11px;bottom:0;width:237px;height:67px;}
  #accueil .sunu-real-water-splash{left:27px;bottom:12px;width:164px;height:48px;}
  #accueil .sunu-fish{width:57px;height:56px;}
  #accueil .sunu-fish-one{left:-15px;bottom:14px;}
  #accueil .sunu-fish-two{left:27px;bottom:12px;width:52px;height:52px;}
  #accueil .sunu-fish-three{left:134px;bottom:13px;width:59px;height:61px;}
  #accueil .sunu-fish-four{left:179px;bottom:13px;width:52px;height:52px;}
}
@media(max-width:700px){
  #accueil .sunu-real-water-deep{left:-9px;bottom:0;width:187px;height:58px;}
  #accueil .sunu-real-water-foam{left:-8px;bottom:0;width:188px;height:55px;}
  #accueil .sunu-real-water-splash{left:25px;bottom:9px;width:132px;height:39px;}
  #accueil .sunu-fish{width:47px;height:47px;}
  #accueil .sunu-fish-one{left:-10px;bottom:11px;}
  #accueil .sunu-fish-two{left:27px;bottom:12px;width:45px;height:43px;}
  #accueil .sunu-fish-three{left:111px;bottom:12px;width:48px;height:47px;}
  #accueil .sunu-fish-four{left:143px;bottom:11px;width:44px;height:44px;}
}
@media(max-width:360px){
  #accueil .sunu-real-water-deep{width:168px;height:51px;}
  #accueil .sunu-real-water-foam{width:166px;height:49px;}
  #accueil .sunu-real-water-splash{width:118px;height:35px;}
  #accueil .sunu-fish{width:43px;height:43px;}
  #accueil .sunu-fish-three{left:98px;}
  #accueil .sunu-fish-four{left:126px;}
}
@media(prefers-reduced-motion:reduce){
  #accueil .sunu-real-water,#accueil .sunu-fish{animation:none!important;}
  #accueil .sunu-real-water{opacity:.90!important;}
  #accueil .sunu-fish-one{opacity:1!important;transform:translate(-6px,-22px) rotate(-17deg)!important;}
  #accueil .sunu-fish-three{opacity:1!important;transform:translate(6px,-17px) rotate(13deg)!important;}
  #accueil .sunu-fish-two,#accueil .sunu-fish-four{opacity:0!important;}
}


/* SUNUY SOKHLA V9.4 — coast pirogue from Casamance to Saint-Louis + sugarcane cart from Saint-Louis to Matam.
   All six maps, data, Thiès handling, lists and sections remain unchanged. */
#accueil .sunu-sea-orbit,#accueil .sunu-sea-waypoint{display:none!important;}
#accueil .sunu-motion-layer{position:absolute;inset:0;z-index:9;pointer-events:none;overflow:hidden;}
#accueil .sunu-coast-motion,#accueil .sunu-cart-motion{position:absolute;inset:0;}
#accueil .sunu-sea-vessel-coast{position:absolute;left:0;top:0;transform-origin:50% 56%;animation:sunuCoastRun 26s ease-in-out infinite alternate;will-change:transform;}
#accueil .sunu-sugarcart-wrap{position:absolute;left:0;top:0;width:220px;height:112px;transform-origin:50% 60%;animation:sunuCartRun 22s ease-in-out infinite alternate;will-change:transform;}
#accueil .sunu-sugarcart{position:absolute;left:0;bottom:10px;width:220px;height:102px;object-fit:contain;filter:drop-shadow(0 7px 6px rgba(69,47,29,.22));}
#accueil .sunu-cart-track{position:absolute;left:18px;right:18px;bottom:18px;height:3px;border-radius:999px;background:linear-gradient(90deg,rgba(175,151,112,.0),rgba(175,151,112,.55) 16%,rgba(175,151,112,.75) 48%,rgba(175,151,112,.55) 82%,rgba(175,151,112,.0));opacity:.75;}
#accueil .sunu-cart-dust{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle,rgba(212,192,148,.52) 0,rgba(212,192,148,.25) 48%,rgba(212,192,148,0) 72%);filter:blur(1px);opacity:.68;animation:sunuDustPuff 1.7s ease-in-out infinite;}
#accueil .sunu-cart-dust-a{left:34px;bottom:8px;width:42px;height:22px;animation-delay:.15s;}
#accueil .sunu-cart-dust-b{left:154px;bottom:10px;width:36px;height:19px;animation-delay:.82s;}
@keyframes sunuCoastRun{
  0%{transform:translate(10%,70%) rotate(-18deg) scale(.90)}
  18%{transform:translate(11%,61%) rotate(-23deg) scale(.94)}
  37%{transform:translate(12.2%,52%) rotate(-29deg) scale(.97)}
  58%{transform:translate(13.4%,42%) rotate(-33deg) scale(1)}
  78%{transform:translate(14.7%,33%) rotate(-27deg) scale(.99)}
  100%{transform:translate(16%,24%) rotate(-15deg) scale(.95)}
}
@keyframes sunuCartRun{
  0%{transform:translate(18%,24%) rotate(1deg) scale(.88)}
  20%{transform:translate(28%,23.2%) rotate(0deg) scale(.9)}
  40%{transform:translate(39%,22.6%) rotate(-1deg) scale(.92)}
  60%{transform:translate(50%,22.9%) rotate(-1deg) scale(.95)}
  80%{transform:translate(60%,23.8%) rotate(-2deg) scale(.97)}
  100%{transform:translate(68%,25.2%) rotate(-2.5deg) scale(1)}
}
@keyframes sunuDustPuff{0%,100%{opacity:.18;transform:scale(.8) translateY(1px)}50%{opacity:.74;transform:scale(1.15) translateY(-2px)}}
@media(max-width:1100px){
  #accueil .sunu-sea-vessel-coast{animation-duration:24s;}
  #accueil .sunu-sugarcart-wrap{width:196px;height:102px;animation-duration:20s;}
  #accueil .sunu-sugarcart{width:196px;height:90px;}
}
@media(max-width:900px){
  #accueil .sunu-sea-vessel-coast{animation-name:sunuCoastRunTablet;}
  #accueil .sunu-sugarcart-wrap{width:162px;height:84px;animation-name:sunuCartRunTablet;}
  #accueil .sunu-sugarcart{width:162px;height:76px;bottom:8px;}
  #accueil .sunu-cart-track{left:16px;right:16px;bottom:15px;}
  @keyframes sunuCoastRunTablet{
    0%{transform:translate(9%,71%) rotate(-17deg) scale(.76)}
    25%{transform:translate(10.2%,60%) rotate(-24deg) scale(.8)}
    50%{transform:translate(11.7%,49%) rotate(-31deg) scale(.84)}
    75%{transform:translate(13.5%,38%) rotate(-26deg) scale(.86)}
    100%{transform:translate(15%,28%) rotate(-15deg) scale(.82)}
  }
  @keyframes sunuCartRunTablet{
    0%{transform:translate(18%,23%) rotate(1deg) scale(.74)}
    25%{transform:translate(29%,22.4%) rotate(0deg) scale(.77)}
    50%{transform:translate(41%,22.4%) rotate(-1deg) scale(.8)}
    75%{transform:translate(54%,23.2%) rotate(-1.6deg) scale(.83)}
    100%{transform:translate(65%,24.8%) rotate(-2deg) scale(.86)}
  }
}
@media(max-width:700px){
  #accueil .sunu-motion-layer{z-index:8;}
  #accueil .sunu-sea-vessel-coast{animation-name:sunuCoastRunMobile;}
  #accueil .sunu-sugarcart-wrap{width:128px;height:68px;animation-name:sunuCartRunMobile;}
  #accueil .sunu-sugarcart{width:128px;height:60px;bottom:6px;}
  #accueil .sunu-cart-track{left:10px;right:10px;bottom:11px;height:2px;}
  #accueil .sunu-cart-dust-a{left:17px;bottom:5px;width:28px;height:14px;}
  #accueil .sunu-cart-dust-b{left:93px;bottom:6px;width:24px;height:12px;}
  @keyframes sunuCoastRunMobile{
    0%{transform:translate(7%,74%) rotate(-17deg) scale(.58)}
    28%{transform:translate(8.5%,61%) rotate(-24deg) scale(.61)}
    54%{transform:translate(10.2%,48%) rotate(-29deg) scale(.64)}
    78%{transform:translate(12%,35%) rotate(-24deg) scale(.65)}
    100%{transform:translate(13.5%,24%) rotate(-13deg) scale(.62)}
  }
  @keyframes sunuCartRunMobile{
    0%{transform:translate(17%,24%) rotate(1deg) scale(.62)}
    25%{transform:translate(30%,23.2%) rotate(0deg) scale(.64)}
    50%{transform:translate(43%,23.2%) rotate(-.8deg) scale(.67)}
    75%{transform:translate(56%,24%) rotate(-1.4deg) scale(.69)}
    100%{transform:translate(66%,25.5%) rotate(-2deg) scale(.72)}
  }
}
@media(max-width:360px){
  #accueil .sunu-sugarcart-wrap{width:116px;height:63px;}
  #accueil .sunu-sugarcart{width:116px;height:54px;}
}
@media(prefers-reduced-motion:reduce){
  #accueil .sunu-sea-vessel-coast,#accueil .sunu-sugarcart-wrap{animation:none!important;}
  #accueil .sunu-sea-vessel-coast{transform:translate(14%,41%) rotate(-27deg) scale(.95)!important;}
  #accueil .sunu-sugarcart-wrap{transform:translate(49%,23%) rotate(-1deg) scale(.95)!important;}
}


/* SUNUY SOKHLA V9.5: two geographically anchored, returning journeys. */
#accueil .sunu-motion-layer{position:absolute;inset:0;overflow:hidden;z-index:11;pointer-events:none;}
#accueil .sunu-route-svg{position:absolute;display:block;max-width:none;overflow:visible;pointer-events:none;will-change:contents;}
#accueil .sunu-route-boat{filter:drop-shadow(0 5px 5px rgba(31,46,63,.22));}
#accueil .sunu-route-water{opacity:.80;animation:sunuTravelSea 2.4s ease-in-out infinite alternate;}
#accueil .sunu-route-foam{opacity:.90;animation:sunuTravelFoam 1.4s ease-in-out infinite alternate;}
#accueil .sunu-route-splash{opacity:.82;animation:sunuTravelSplash 1s ease-in-out infinite alternate;}
#accueil .sunu-route-fish{opacity:0;filter:drop-shadow(0 1px 2px rgba(35,59,83,.18));transform-box:fill-box;transform-origin:center;}
#accueil .sunu-route-fish.fish-first{animation:sunuTravelFishA 4.5s ease-in-out infinite;}
#accueil .sunu-route-fish.fish-second{animation:sunuTravelFishB 4.5s ease-in-out 1.4s infinite;}
#accueil .sunu-route-fish.fish-third{animation:sunuTravelFishA 4.5s ease-in-out 2.8s infinite;}
#accueil .sunu-route-cart-bob{animation:sunuTravelCartBump 1.15s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center;}
#accueil .sunu-route-dust{opacity:.7;animation:sunuTravelDust 1.75s ease-in-out infinite alternate;}
@keyframes sunuTravelSea{from{opacity:.58;transform:translate(-3px,2px) scale(.98,1)}to{opacity:.93;transform:translate(2px,-2px) scale(1.04,1.07)}}
@keyframes sunuTravelFoam{from{opacity:.58;transform:translateX(-3px) scaleY(.9)}to{opacity:1;transform:translateX(3px) scaleY(1.08)}}
@keyframes sunuTravelSplash{from{opacity:.53;transform:translateY(3px) scaleY(.84)}to{opacity:.95;transform:translateY(-5px) scaleY(1.16)}}
@keyframes sunuTravelFishA{0%,9%,57%,100%{opacity:0;transform:translateY(7px) scale(.65)}20%{opacity:1}34%{opacity:1;transform:translate(-7px,-28px) rotate(-15deg) scale(1)}45%{opacity:.85;transform:translate(-11px,-20px) rotate(3deg)}57%{opacity:0;transform:translate(-17px,5px) rotate(18deg) scale(.7)}}
@keyframes sunuTravelFishB{0%,9%,57%,100%{opacity:0;transform:translateY(7px) scale(.62)}19%{opacity:.92}34%{opacity:1;transform:translate(8px,-35px) rotate(18deg) scale(1.07)}48%{opacity:.85;transform:translate(14px,-17px) rotate(8deg)}57%{opacity:0;transform:translate(22px,5px) scale(.67)}}
@keyframes sunuTravelCartBump{0%{transform:translateY(0)}100%{transform:translateY(-2px)}}
@keyframes sunuTravelDust{0%{opacity:.2;transform:scale(.9)}100%{opacity:.65;transform:scale(1.13)}}
@media(prefers-reduced-motion:reduce){#accueil .sunu-route-svg *{animation:none!important;}#accueil .sunu-route-fish{opacity:0!important;}}


/* SUNUY SOKHLA V9.6 — Orpailleur illustré, Kédougou → Tambacounda → Kédougou.
   Uniquement l'animation de la carte d'accueil : aucun changement aux cartes de données. */
#accueil .sunu-miner-mover{pointer-events:none;filter:drop-shadow(0 3px 3px rgba(59,47,30,.18));}
#accueil .sunu-miner-dig{transform-origin:0px -7px;animation:sunuMinerWork 2.85s cubic-bezier(.45,.1,.55,1) infinite;will-change:transform;}
#accueil .sunu-miner-dig image{image-rendering:auto;}
@keyframes sunuMinerWork{
  0%,100%{transform:translateY(0px) rotate(0deg)}
  13%{transform:translateY(3px) rotate(-4deg)}
  31%{transform:translateY(5px) rotate(-8deg)}
  45%{transform:translateY(0px) rotate(2deg)}
  66%{transform:translateY(-2px) rotate(6deg)}
  83%{transform:translateY(0px) rotate(0deg)}
}
#accueil .sunu-gold-particle{fill:#ffc83d;stroke:#fff1a3;stroke-width:.5;filter:drop-shadow(0 0 3px rgba(229,156,18,.9));opacity:0;transform-box:fill-box;transform-origin:center;}
#accueil .sunu-gold-particle.gp1{animation:sunuGoldArcOne 2.85s cubic-bezier(.2,.65,.4,1) 0s infinite;}
#accueil .sunu-gold-particle.gp2{animation:sunuGoldArcTwo 2.85s cubic-bezier(.2,.65,.4,1) .12s infinite;}
#accueil .sunu-gold-particle.gp3{animation:sunuGoldArcThree 2.85s cubic-bezier(.2,.65,.4,1) .19s infinite;}
#accueil .sunu-gold-particle.gp4{animation:sunuGoldArcTwo 2.85s cubic-bezier(.2,.65,.4,1) .28s infinite;}
#accueil .sunu-gold-particle.gp5{animation:sunuGoldArcOne 2.85s cubic-bezier(.2,.65,.4,1) .37s infinite;}
#accueil .sunu-gold-particle.gp6{animation:sunuGoldArcThree 2.85s cubic-bezier(.2,.65,.4,1) .48s infinite;}
#accueil .sunu-gold-flare{fill:#ffe48e;filter:drop-shadow(0 0 3px rgba(245,180,15,.5));opacity:0;transform-box:fill-box;transform-origin:center;animation:sunuGoldSpark 2.85s ease-out infinite;}
#accueil .sunu-gold-flare.gf2{animation-delay:.27s;}
@keyframes sunuGoldArcOne{0%,38%,93%,100%{opacity:0;transform:translate(0,0) scale(.55)}48%{opacity:1;transform:translate(12px,-19px) scale(1)}61%{opacity:1;transform:translate(35px,-37px) scale(1.05)}78%{opacity:.7;transform:translate(54px,-25px) scale(.85)}90%{opacity:0;transform:translate(62px,-8px) scale(.6)}}
@keyframes sunuGoldArcTwo{0%,38%,93%,100%{opacity:0;transform:translate(0,0) scale(.55)}48%{opacity:1;transform:translate(14px,-10px) scale(.95)}61%{opacity:1;transform:translate(32px,-28px) scale(1.15)}78%{opacity:.7;transform:translate(43px,-15px) scale(.8)}91%{opacity:0;transform:translate(50px,0) scale(.55)}}
@keyframes sunuGoldArcThree{0%,38%,93%,100%{opacity:0;transform:translate(0,0) scale(.55)}49%{opacity:1;transform:translate(7px,-15px) scale(1)}63%{opacity:.95;transform:translate(23px,-44px) scale(.95)}79%{opacity:.6;transform:translate(34px,-29px) scale(.75)}91%{opacity:0;transform:translate(42px,-5px) scale(.55)}}
@keyframes sunuGoldSpark{0%,45%,82%,100%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.15)}65%{opacity:.8;transform:scale(.65)}}
@media(prefers-reduced-motion:reduce){
 #accueil .sunu-miner-dig,#accueil .sunu-gold-particle,#accueil .sunu-gold-flare{animation:none!important;}
 #accueil .sunu-gold-particle,#accueil .sunu-gold-flare{opacity:0!important;}
}

/* V9.6 retouche ciblée : seules les pépites photographiques ont été ajustées. */
#accueil .sunu-or-photographique { opacity:0; transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 1px 1px rgba(68,40,12,.45)); }
#accueil .sunu-or-photographique.gp1 {animation:sunuGoldArcOne 2.85s cubic-bezier(.2,.65,.4,1) 0s infinite;}
#accueil .sunu-or-photographique.gp2 {animation:sunuGoldArcTwo 2.85s cubic-bezier(.2,.65,.4,1) .12s infinite;}
#accueil .sunu-or-photographique.gp3 {animation:sunuGoldArcThree 2.85s cubic-bezier(.2,.65,.4,1) .19s infinite;}
#accueil .sunu-or-photographique.gp4 {animation:sunuGoldArcTwo 2.85s cubic-bezier(.2,.65,.4,1) .28s infinite;}
#accueil .sunu-or-photographique.gp5 {animation:sunuGoldArcOne 2.85s cubic-bezier(.2,.65,.4,1) .37s infinite;}
#accueil .sunu-or-photographique.gp6 {animation:sunuGoldArcThree 2.85s cubic-bezier(.2,.65,.4,1) .48s infinite;}
#accueil .sunu-or-photographique.gp7 {animation:sunuGoldArcTwo 2.85s cubic-bezier(.2,.65,.4,1) .31s infinite;}
#accueil .sunu-or-photographique.gp8 {animation:sunuGoldArcOne 2.85s cubic-bezier(.2,.65,.4,1) .22s infinite;}
@media(prefers-reduced-motion:reduce) { #accueil .sunu-or-photographique {animation:none!important;opacity:0!important;} }


/* V9.6 – ergonomie des tuiles actualités et interventions (aucune carte modifiée) */
.actualite-meta{margin:-4px 0 18px;padding:10px 14px;border-left:3px solid #8a92b5;background:#f5f3f6;color:#626980;font-size:12px;border-radius:0 7px 7px 0}
.click-tile{cursor:pointer;transition:box-shadow .2s,border-color .2s,transform .15s;touch-action:manipulation;min-width:0;}
.click-tile:hover{box-shadow:0 13px 30px rgba(42,50,76,.13);border-color:#b0adc0;transform:translateY(-1px)}
.click-tile:focus-visible{outline:3px solid #b7a1d9;outline-offset:3px}
.click-tile.is-expanded{border-color:#8987aa;box-shadow:0 12px 30px rgba(39,49,75,.10)}
.tile-action{display:block;font-size:12px;font-weight:850;color:#555c80;background:#f1eff5;padding:10px 12px;border-radius:7px;margin-top:13px}
.tile-expanded{border-top:1px solid #e5e3e9;margin-top:14px;padding-top:13px;font-size:13px;line-height:1.6;color:#454d64;cursor:default;overflow-wrap:anywhere}
.tile-expanded p{margin:8px 0 10px}
.tile-expanded p b{color:#303a54}
.tile-expanded a{display:block;margin:10px 0 3px;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;color:#465a8c;overflow-wrap:anywhere}
.tile-expanded .tile-caveat{font-size:11px;color:#7b7d8a}
.tile-status{display:inline-block;padding:4px 8px;border:1px solid #ded8e6;background:#f5f0fa;color:#655d81;border-radius:6px;font-size:10px;font-weight:850;letter-spacing:.03em}
.tile-status.status-progress{background:#edf2f7;border-color:#d1dce8;color:#5d718a}
.gov-card .gov-actions{margin-top:auto;align-items:center}
.gov-card .tile-action{margin:0;padding:10px 12px;flex:1}
.gov-card.is-expanded .gov-actions{margin-top:2px}
.gov-source-links{padding:12px;background:#f7f6f8;border:1px solid #e7e5e8;border-radius:8px;margin-top:8px}
.gov-source-links b{display:block;font-size:12px}
.gov-source-links small{display:block;color:#7a7c8a;margin-top:11px;font-size:11px}
@media(max-width:700px){.click-tile:hover{transform:none}.tile-expanded{font-size:13px}.actualite-meta{font-size:11px}.gov-card .gov-actions{flex-wrap:wrap}}

/* Identité SUNUY SOKHLA : lisibilité et stabilité en-tête mobile */
.identity strong{white-space:nowrap;letter-spacing:-.9px}
.identity .brand-divider{display:inline-block;min-width:.19em;margin:0 .03em}
@media(max-width:430px){.identity strong{font-size:19px;letter-spacing:-.8px}.identity{gap:8px}.topbar .brand-icon{flex-shrink:0}.identity small{letter-spacing:.04em}}
@media(max-width:360px){.identity strong{font-size:16.5px}.identity small{font-size:8px}.topbar .conn{font-size:10px;padding:5px 7px}}
