.portfolio-intro{max-width:740px;color:var(--muted);font-size:1.1rem;margin:24px 0 0}
.photo-viewer{width:min(96vw,1300px);max-height:94dvh;padding:48px 16px 14px;background:#101b21;color:white;border:1px solid #546168}.photo-viewer::backdrop{background:#080e14e8}.photo-viewer img{max-height:76dvh;width:100%;object-fit:contain}.photo-viewer p{margin:12px 0 0;text-align:center}.photo-viewer button{position:absolute;right:8px;top:4px;width:44px;height:44px;color:white;background:none;border:0;font-size:32px;cursor:pointer}.photo-open{overflow:hidden}.showcase-stage{cursor:zoom-in;touch-action:pan-y pinch-zoom}.mobile-contact{display:none}button:focus-visible,a:focus-visible,.showcase-stage:focus-visible{outline:3px solid #f36c21;outline-offset:4px}
.gallery-thumbnails{position:relative;display:flex;gap:8px;overflow-x:auto;padding:12px 24px 20px;scrollbar-width:thin}.gallery-thumbnails button{flex:0 0 68px;width:68px;height:58px;padding:0;border:2px solid transparent;background:#243138;cursor:pointer}.gallery-thumbnails button[aria-current="true"]{border-color:var(--orange)}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover}.gallery-count{font-variant-numeric:tabular-nums;font-size:.85rem}.work-slide.real{padding:36px;align-items:center;justify-content:flex-end}.work-slide.real img{width:58%;object-fit:contain;padding:20px;background:#111c22}.work-slide.real:after{display:none}.work-slide.real .work-copy{width:37%}.work-slide.real h3{font-size:clamp(1.6rem,3vw,2.7rem)}
.site-videos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.site-videos figure{margin:0;background:#101b21}.site-videos video{display:block;width:100%;height:420px;object-fit:contain}.site-videos figcaption{padding:16px;color:white}
@media(max-width:620px){.showcase .showcase-stage{height:640px}.showcase .work-slide.real{padding:20px;align-items:flex-end}.showcase .work-slide.real img{width:100%;height:365px;padding:10px}.showcase .work-slide.real .work-copy{width:100%;min-height:225px}.gallery-thumbnails{padding:10px 12px 16px}.site-videos{grid-template-columns:1fr}.site-videos video{height:400px}}
.showcase{margin-top:42px;background:var(--ink);color:white}
.showcase-stage{position:relative;height:540px;overflow:hidden}
.work-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;display:flex;align-items:flex-end;padding:44px}
.work-slide.active{opacity:1;visibility:visible}
.work-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.work-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,17,.94),rgba(8,14,17,.08) 80%)}
.work-copy{position:relative;z-index:1;max-width:690px}
.work-copy small{color:#ff995e;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase}
.work-copy h3{font-size:clamp(2rem,4vw,3.8rem);line-height:1.05;margin:14px 0}
.work-copy p{margin:0;color:#e1e7e9;max-width:630px}
.gallery-controls{display:flex;align-items:center;gap:10px;padding:16px 24px;border-top:1px solid #344147}
.gallery-controls button{cursor:pointer;border:1px solid #556166;background:transparent;color:white;min-width:44px;min-height:44px;border-radius:3px}
.gallery-controls button:hover,.gallery-controls button[aria-current="true"]{background:var(--orange);border-color:var(--orange)}
.gallery-controls .gallery-pause{margin-left:auto;padding:0 14px}
.gallery-note{margin:12px 0 32px;font-size:.8rem;color:var(--muted)}.gallery-note a{text-decoration:underline}
#project .equipment{margin-top:28px}#project .equipment ul{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
.region-section{position:relative;background:#e9ede9;padding:0;overflow:hidden}
.region-map{height:780px;width:100%;z-index:0;background:#e3e8e4}
.region-panel{position:absolute;z-index:500;left:max(24px,calc((100% - 1200px)/2));top:42px;width:370px;padding:30px;background:rgba(255,255,255,.95);box-shadow:0 15px 50px #23382d1a;border:1px solid #d8ddde;backdrop-filter:blur(8px)}
.region-panel .section-title{font-size:2.4rem;line-height:1.07}.region-panel .section-lead{font-size:1rem;margin-top:20px}.region-panel .geo-list{margin-top:22px}.region-panel .geo-item{margin:15px 0}
.region-panel .map-note{font-size:.8rem;color:var(--muted)}.region-panel .map-link{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:4px;font-weight:700}
.region-point{background:transparent;border:0}.region-point i{display:block;position:absolute;left:0;top:0;width:18px;height:18px;background:var(--orange);border:4px solid white;border-radius:50%;box-shadow:0 0 0 8px #f36c2125}
.region-point i:after{content:"";position:absolute;inset:-12px;border:1px solid var(--orange);border-radius:50%;animation:region-pulse 3s ease-out infinite}
.region-point b{position:absolute;left:28px;top:-6px;white-space:nowrap;background:var(--ink);padding:6px 10px;color:#fff;font:700 14px Arial,sans-serif;box-shadow:0 4px 12px #12171a20}
.region-trace{animation:route-travel 10s linear infinite;filter:drop-shadow(0 0 3px #f36c2155)}
.region-section .leaflet-control-attribution{font-size:12px}.region-section .leaflet-control-zoom{margin:20px}
@keyframes route-travel{to{stroke-dashoffset:-500}}
@keyframes region-pulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.8);opacity:0}}
@media(max-width:920px){.region-panel{width:310px;padding:24px}.region-panel .section-title{font-size:2rem}.region-map{height:800px}}
@media(max-width:620px){.showcase-stage{height:490px}.work-slide{padding:25px 22px}.work-copy h3{font-size:2.1rem}.work-copy p{font-size:.95rem}.gallery-controls{padding:12px;gap:6px}.gallery-controls button{min-width:40px}.gallery-controls .gallery-pause{font-size:.8rem;padding:0 9px}#project .equipment ul{grid-template-columns:1fr}.region-map{height:480px}.region-panel{position:relative;left:auto;top:auto;width:auto;margin:0;padding:30px 22px;box-shadow:none}.region-point b{font-size:12px}.region-panel .section-title{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.work-slide{transition:none}.region-trace,.region-point i:after{animation:none}.brand-mark{animation:none!important}}
@media(max-width:620px){.nav{height:auto;min-height:76px;flex-wrap:wrap;padding:10px 0}.nav>.lang button{height:44px;min-width:38px;font-size:.8rem}.brand strong{font-size:.85rem}.nav{gap:6px}.menu-btn{min-width:44px;min-height:44px}.hero-fact span{font-size:.78rem}.hero h1,.hero-line{overflow-wrap:anywhere}.work-copy p{line-height:1.5}.mobile-contact{display:block;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));right:14px;z-index:600;padding:14px 20px;background:var(--orange);color:#fff;font-weight:800;border-radius:5px;box-shadow:0 6px 24px #0003;max-width:calc(100% - 28px)}.contact{padding-bottom:110px}.photo-open .mobile-contact{display:none}.region-point b{white-space:normal;max-width:145px;width:max-content}.showcase .showcase-stage{height:690px}.showcase .work-slide.real .work-copy{min-height:270px}.showcase .work-slide.real img{height:365px}.gallery-controls button{min-width:44px;min-height:44px}}
@media(max-width:360px){.brand strong{display:none}.hero-facts{gap:6px}.hero-fact strong{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
