/* Project explorer: full map canvas with lightweight floating controls. */
.project-hero{padding:62px 0 52px;background:#fff;text-align:center}
.project-kicker{font-size:18px;font-weight:600;color:#1d1d1f;margin-bottom:20px}
.project-hero h1{font-size:clamp(50px,5.9vw,80px);font-weight:650;line-height:1.03;letter-spacing:-.05em}
.project-hero h1 span{color:#86868b}
.project-intro{font-size:20px;line-height:1.5;color:#6e6e73;margin:24px auto 0;max-width:720px}
.project-hero-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:26px}
.project-explorer{background:#f5f5f7;padding:42px 0 58px}
.project-explorer>.container{width:min(calc(100% - 64px),1360px)}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 8px;margin-bottom:25px}
.project-toolbar h2{font-size:34px;letter-spacing:-.035em;font-weight:650}
.project-toolbar>div>p{font-size:15px;color:#6e6e73;margin-top:8px}
.project-filters{display:flex;gap:3px;background:#e8e8ed;border-radius:980px;padding:5px;flex-shrink:0}
.project-filters button{font-size:13px;font-weight:500;padding:12px 18px;min-height:44px;border-radius:980px;background:transparent;color:#515154;white-space:nowrap}
.project-filters button span{font-size:11px;color:#75757b;margin-left:5px}
.project-filters button[aria-pressed=true]{background:#fff;color:#1d1d1f;box-shadow:0 2px 7px #0000000b}
.project-filters button:hover{color:#000}
.project-workspace{position:relative;border-radius:28px;overflow:hidden;background:#e8ecef;isolation:isolate;scroll-margin-top:80px}
.project-layout{height:680px;position:relative}
.project-map-panel{position:absolute;inset:0;min-width:0}
#project-map{width:100%;height:100%;background:#e8ecef;z-index:1;font-family:var(--font)}
.project-sidebar{position:absolute;left:22px;top:22px;bottom:22px;width:300px;z-index:600;background:#ffffffed;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #fff;border-radius:22px;box-shadow:0 8px 32px #1d1d1f12;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.project-search{position:relative;margin:18px 16px 0;flex-shrink:0}
.project-search>svg{position:absolute;top:14px;left:12px;width:18px;height:18px;fill:none;stroke:#86868b;stroke-width:1.8}
.project-search input{width:100%;height:46px;border:0;border-radius:12px;padding:12px 36px 12px 39px;background:#f0f0f3;color:#1d1d1f;font:400 14px var(--font);outline-offset:2px}
.project-search input::placeholder{color:#75757b;opacity:1}
.project-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.project-search button{position:absolute;right:4px;top:4px;width:38px;height:38px;border-radius:50%;background:none;color:#86868b;font-size:22px}
.project-count{font-size:12px;font-weight:500;color:#6e6e73;margin:16px 22px 9px;flex-shrink:0}
.project-list{list-style:none;margin:0;padding:0 8px 10px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d2d2d7 transparent;overscroll-behavior:contain}
.project-list li{scroll-margin:16px}
.project-row{display:flex;align-items:center;gap:12px;padding:16px 12px;min-height:79px;border-radius:13px;border:0;position:relative}
.project-row:after{content:'';height:1px;background:#e8e8ed;position:absolute;bottom:0;left:51px;right:12px}
.project-row:hover{background:#f0f0f5}
.project-row[aria-current=true]{background:#e8f2ff}
.project-row[aria-current=true]:after{background:transparent}
.project-row>span:nth-child(2){min-width:0;flex:1}
.project-row strong{display:block;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.02em;color:#1d1d1f}
.project-row strong+span{display:block;font-size:12px;color:#6e6e73;line-height:1.4;margin-top:5px}
.project-location-icon{width:27px;height:31px;flex-shrink:0;display:grid;place-items:center;color:#86868b}
.project-location-icon svg{width:22px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4}
.project-row[aria-current=true] .project-location-icon{color:#0071e3}
.project-arrow{font-size:22px;color:#b1b1b5;font-weight:300}
.project-row[aria-current=true] .project-arrow{color:#0071e3}
.project-selection{position:absolute;z-index:600;bottom:29px;right:23px;width:284px;background:#fffffff2;border:1px solid #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:22px;padding:21px 23px;box-shadow:0 8px 32px #1d1d1f14}
.selection-caption{font-size:11px;color:#6e6e73;margin-bottom:8px}
.project-selection h3{font-size:23px;line-height:1.18;letter-spacing:-.03em;color:#1d1d1f}
.project-selection #selected-area{font-size:13px;line-height:1.45;color:#6e6e73;margin-top:8px}
.inspection-completed{font-size:11px;color:#27773f;margin-top:10px}
.inspection-completed:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin:0 6px 1px 0}
.project-selection .button{display:flex;width:100%;margin-top:18px;min-height:43px;padding:11px 10px;font-size:13px;gap:8px}
.selection-handle{display:none}
.map-fallback{display:grid;place-content:center;gap:10px;text-align:center;height:100%;padding:40px;color:#6e6e73}
.map-fallback p:first-child{font-size:27px;letter-spacing:-.025em;color:#1d1d1f}
.map-fallback p{font-size:15px}
.map-loading,.map-error{position:absolute;z-index:450;background:#fffffff2;color:#515154;border-radius:14px;padding:12px 16px;font-size:12px;box-shadow:0 3px 15px #0000000a}
.map-loading{top:22px;left:345px}
.map-error{top:24px;left:345px;right:76px;max-width:470px}
.map-reset{position:absolute;top:109px;right:20px;z-index:450;width:40px;height:40px;border-radius:12px;background:#fffffff5;color:#515154;box-shadow:0 2px 12px #00000012;display:grid;place-items:center}
.map-reset svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.map-legend{position:absolute;bottom:19px;left:346px;z-index:450;background:#ffffffd9;color:#515154;border-radius:980px;padding:7px 12px;font-size:11px;pointer-events:none}
.map-legend span{width:7px;height:7px;background:#0071e3;border-radius:50%;display:inline-block;margin-right:5px}
.leaflet-tile-pane{filter:grayscale(.95) brightness(1.1) contrast(.82)}
.leaflet-container a{color:#515154}
.leaflet-container .leaflet-control-attribution{font-family:var(--font);font-size:10px;color:#6e6e73;background:#ffffffce;padding:2px 7px;border-radius:6px 0 0 0}
.leaflet-control-attribution a{text-decoration:underline}
.leaflet-container .leaflet-control-zoom{margin:20px 20px 0 0;border:0;border-radius:12px;box-shadow:0 2px 12px #00000012;overflow:hidden}
.leaflet-container .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;color:#515154;border-color:#e8e8ed;font:300 26px/40px var(--font)}
.project-pin-icon{background:none;border:0}
.project-pin{display:block;position:relative;width:25px;height:25px;border:3px solid #fff;background:#0071e3;border-radius:50%;box-shadow:0 2px 7px #002f6940}
.project-pin:after{content:'';position:absolute;left:7px;top:7px;width:5px;height:5px;border-radius:50%;background:#fff}
.project-pin.is-selected{background:#0071e3;outline:8px solid #0071e324;outline-offset:1px}
.project-cluster{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:3px solid #fff;border-radius:50%;background:#0071e3;color:white;box-shadow:0 2px 8px #002f6930;font:600 13px var(--font)}
.leaflet-tooltip.project-map-label{border:0;border-radius:980px;background:#ffffffed;box-shadow:0 3px 15px #00000012;font:500 12px/1.4 var(--font);padding:7px 13px;color:#1d1d1f}
.project-map-label:before{display:none}
.project-empty{padding:36px 24px;text-align:center}
.project-empty h3{font-size:19px;color:#1d1d1f}
.project-empty p{font-size:14px;color:#6e6e73;margin:12px 0}
.project-empty button{font-size:14px}
.project-notice{font-size:12px;line-height:1.6;color:#6e6e73;margin-top:17px;padding-inline:10px}
.project-notice a{text-decoration:underline;text-underline-offset:3px}
.project-story{padding:85px 0 80px;background:#fff}
.project-story h2{font-size:52px;line-height:1.08;font-weight:650;letter-spacing:-.04em}
.project-story h2>span{color:#86868b}
.project-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.project-story-grid article{border-radius:28px;background:#f5f5f7;padding:44px}
.story-label{font-size:13px;font-weight:600;color:#6e6e73;margin-bottom:22px}
.project-story-grid h3{font-size:34px;line-height:1.1;letter-spacing:-.04em;margin-bottom:24px;color:#1d1d1f}
.project-story-grid article>p:not(.story-label){font-size:16px;line-height:1.65;color:#6e6e73;margin-top:16px}
.project-story-grid .text-link{margin-top:22px}
.language-links{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;margin-top:30px}
.language-links a{text-decoration:underline;text-underline-offset:4px}
.project-feature{display:flex;align-items:center;justify-content:space-between;gap:30px}
.project-feature h3{margin-top:10px}.project-feature p{margin-top:12px;max-width:650px}.project-feature .text-link{white-space:nowrap}
[hidden]{display:none!important}
html:not(.js-ready) .project-filters,html:not(.js-ready) .project-search,html:not(.js-ready) .project-map-panel{display:none}
html:not(.js-ready) .project-workspace{background:#fff;padding:20px}
html:not(.js-ready) .project-layout{height:auto}
html:not(.js-ready) .project-sidebar{position:static;width:auto;display:block;box-shadow:none;border:0}
html:not(.js-ready) .project-list{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
@media(max-width:1100px){.project-sidebar{width:276px}.map-loading,.map-error{left:320px}.map-legend{left:320px}.project-selection{width:264px;padding:21px}.project-toolbar h2{font-size:30px}.project-filters button{padding-inline:15px}.project-story-grid article{padding:34px}}
@media(max-width:900px){.project-explorer>.container{width:calc(100% - 40px)}.project-toolbar{align-items:flex-start;flex-direction:column;gap:22px}.project-toolbar h2{font-size:32px}.project-layout{height:670px}.project-hero h1{font-size:62px}.project-story h2{font-size:44px}.project-story-grid article{padding:28px}.project-story-grid h3{font-size:30px}}
@media(max-width:1000px){
 .project-hero{padding:46px 0 40px}.project-kicker{font-size:15px;margin-bottom:18px}.project-hero h1{font-size:clamp(40px,9.7vw,60px);line-height:1.06}.project-intro{font-size:17px;line-height:1.5;margin-top:20px;max-width:420px}.project-intro br{display:none}.project-hero-actions{gap:17px;margin-top:24px;flex-wrap:wrap}.project-hero-actions .button{font-size:15px}.project-hero-actions .text-link{font-size:15px}
 .project-explorer{padding:32px 0 40px}.project-explorer>.container{width:calc(100% - 32px)}.project-toolbar{padding:0 8px;margin-bottom:21px;gap:22px}.project-toolbar h2{font-size:30px}.project-toolbar>div>p{font-size:14px}.project-filters{width:100%;padding:4px;gap:0}.project-filters button{font-size:12px;padding:11px 9px;flex:1;min-height:44px}.project-filters button span{font-size:10px;margin-left:3px}
 .project-workspace{border-radius:24px;background:#fff;display:flex;flex-direction:column;overflow:hidden}
 .project-layout,.project-sidebar{display:contents}
 .project-search{order:0;margin:16px;flex:none}.project-search input{font-size:15px;height:48px;background:#f5f5f7}.project-search>svg{top:15px}
 .project-map-panel{position:relative;inset:auto;order:1;height:410px;flex:none}.project-count{order:3;margin:19px 25px 10px}
 .project-selection{position:relative;inset:auto;order:2;width:auto;border:0;border-bottom:1px solid #e8e8ed;border-radius:0;box-shadow:none;padding:26px;background:#fff;backdrop-filter:none}.selection-handle{display:block;position:absolute;top:9px;left:calc(50% - 18px);width:36px;height:4px;border-radius:3px;background:#d2d2d7}.project-selection h3{font-size:24px}.project-selection .button{min-height:46px;font-size:15px;margin-top:20px;width:auto}.selection-caption{font-size:11px;margin-top:3px}.project-selection #selected-area{font-size:14px}.inspection-completed{font-size:12px}
 .project-list{order:4;padding:0 12px 14px;max-height:330px;border:0;flex:none}.project-row{padding:17px 12px;min-height:82px}.project-row strong{font-size:15px}.project-row strong+span{font-size:13px}.project-empty{order:5;padding-block:30px}
 .map-loading,.map-error{left:15px;right:68px;top:16px;font-size:12px}.map-legend{left:12px;bottom:22px;font-size:10px;padding:6px 10px}.map-reset{right:12px;top:101px}.leaflet-container .leaflet-control-zoom{margin:12px 12px 0 0}.leaflet-container .leaflet-control-attribution{font-size:9px}.project-notice{font-size:11px;padding-inline:8px;margin-top:16px}
 .project-story{padding:56px 0}.project-story h2{font-size:36px}.project-story-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.project-story-grid article{padding:30px;border-radius:24px}.project-story-grid h3{font-size:30px}.project-story-grid article>p:not(.story-label){font-size:16px}.story-label{font-size:12px;margin-bottom:18px}
 .project-feature{display:block}.project-feature .text-link{margin-top:20px}
 html:not(.js-ready) .project-list{display:block;max-height:none}html:not(.js-ready) .project-workspace{padding:0}
}
@media(max-width:380px){.project-hero h1{font-size:39px}.project-intro{font-size:16px}.project-hero-actions{gap:12px}.project-hero-actions .text-link{font-size:14px}.project-filters button{font-size:11px;padding-inline:7px}.project-filters button span{display:none}.project-map-panel{height:380px}.project-story h2{font-size:33px}.project-story-grid article{padding:25px}.project-selection{padding:24px}}
