.project-map{background:var(--paper);padding-block:clamp(80px,11vw,150px);overflow:clip}.project-map-home{padding-bottom:clamp(60px,7vw,100px)}.project-map-archive{padding-block:0 90px}.project-map-heading{grid-template-columns:1.2fr 1fr;align-items:end;gap:32px 80px;margin-bottom:56px;display:grid}.project-map-heading h2{letter-spacing:-.045em;margin-top:22px;font-size:clamp(36px,5vw,76px);line-height:1.02}.project-map-heading p{max-width:420px;color:var(--muted);font-size:15px;line-height:1.8}.project-map-canvas{aspect-ratio:1200/788;border:1px solid var(--rule);background:radial-gradient(at 55% 45%,#10130f 0%,#080908 72%);margin:0;position:relative;overflow:hidden}.project-map-canvas:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0c 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.project-map-base{width:100%;height:100%;position:absolute;inset:0}.map-pin{left:var(--x);top:var(--y);z-index:2;background:0 0;border:0;place-items:center;width:36px;height:36px;margin:-18px 0 0 -18px;padding:0;display:grid;position:absolute}.map-pin:is([data-active=true],:hover,:focus-visible){z-index:3}.map-pin-dot{background:var(--gold);border-radius:50%;width:12px;height:12px;transition:transform .35s;position:relative;box-shadow:0 0 0 4px #d1b78c33}.map-pin-dot:after{content:"";border:1px solid var(--gold);opacity:0;border-radius:50%;position:absolute;inset:-4px}.map-pin[data-active=true] .map-pin-dot{transform:scale(1.4)}.map-pin-label{color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;background:#080908e6;border:1px solid #d1b78c55;align-items:baseline;gap:8px;padding:7px 11px;font-size:12px;transition:opacity .3s,transform .3s;display:flex;position:absolute;top:50%;left:calc(100% - 4px);transform:translate(-6px,-50%)}.map-pin[data-side=left] .map-pin-label{left:auto;right:calc(100% - 4px);transform:translate(6px,-50%)}.map-pin:is([data-active=true],:hover,:focus-visible) .map-pin-label{opacity:1;transform:translateY(-50%)}.map-pin-label>small{color:var(--gold);font-size:10px}.project-map-attribution{z-index:1;color:#ffffff59;font-size:9px;position:absolute;bottom:8px;right:10px}.project-map-strip-wrap{margin-top:28px}.project-map-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;padding-bottom:4px;display:flex;overflow-x:auto}.project-map-strip::-webkit-scrollbar{display:none}.map-card{color:var(--text);text-align:left;scroll-snap-align:start;background:0 0;border:0;flex:0 0 clamp(240px,26vw,340px);padding:0}.map-card-photo{aspect-ratio:4/3;background:var(--stone);display:block;position:relative;overflow:hidden}.map-card-photo img{object-fit:cover;filter:saturate(.8)brightness(.9);width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s}.map-card:is(:hover,[data-active=true]) .map-card-photo img{filter:none;transform:scale(1.06)}.map-card-meta{padding-top:14px;display:block}.map-card-meta>span{letter-spacing:1.2px;color:var(--muted);font-size:10px;display:block}.map-card-meta>strong{font-family:var(--font-display);letter-spacing:-.02em;margin-top:8px;font-size:19px;font-weight:500;transition:color .3s;display:block}.map-card[data-active=true] .map-card-meta>strong{color:var(--gold)}.project-map-nav{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.project-map-nav button{border:1px solid var(--rule);width:48px;height:48px;color:var(--text);background:0 0;border-radius:50%;place-items:center;transition:background .3s,color .3s,border-color .3s;display:grid}.project-map-nav button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.map-dialog{flex-direction:column;height:100svh;overflow:hidden;background:var(--paper)!important;width:min(560px,100vw)!important;max-width:none!important;color:var(--text)!important;border-radius:0!important;gap:0!important;padding:0!important;display:flex!important;top:0!important;left:auto!important;right:0!important;translate:none!important}.map-dialog[data-open]{animation:.6s cubic-bezier(.2,.7,.2,1) both map-drawer-in!important}.map-dialog[data-closed]{animation:.35s cubic-bezier(.65,0,.35,1) both map-drawer-out!important}body:has(.map-dialog) [data-slot=dialog-overlay]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050605b8}.map-dialog-photo{aspect-ratio:4/3;flex:none;width:100%;max-height:45svh;position:relative;overflow:hidden}.map-dialog-photo img{object-fit:cover;width:100%;height:100%}.map-dialog-close{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#080908cc;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:16px;right:16px}.map-dialog-close:hover{background:var(--gold);color:var(--ink)}.map-dialog-body{overscroll-behavior:contain;flex:1;padding:30px clamp(22px,5vw,40px) 40px;overflow-y:auto}.map-dialog .map-dialog-title{font-family:var(--font-display);letter-spacing:-.035em;margin-top:14px;font-size:clamp(28px,4vw,40px);font-weight:500;line-height:1.1}.map-dialog-approx{color:var(--gold);align-items:center;gap:6px;margin-top:12px;font-size:11px;display:flex}.map-dialog .map-dialog-text{color:var(--muted);margin-top:18px;font-size:15px;line-height:1.8}.map-dialog .project-facts{margin:24px 0 30px}.map-dialog-thumbs{scrollbar-width:thin;gap:8px;margin:22px 0 0;padding:0 0 6px;list-style:none;display:flex;overflow-x:auto}.map-dialog-thumbs button{border:1px solid var(--rule);background:var(--stone);opacity:.55;width:84px;height:64px;padding:0;transition:opacity .25s,border-color .25s;display:block;overflow:hidden}.map-dialog-thumbs button:is(:hover,[aria-pressed=true]){opacity:1;border-color:var(--gold)}.map-dialog-thumbs img{object-fit:cover;width:100%;height:100%}@media (prefers-reduced-motion:no-preference){.map-dialog-photo img{animation:.5s both map-photo-in}@keyframes map-photo-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}.map-pin-dot:after{animation:2.8s ease-out infinite map-pin-pulse}@keyframes map-pin-pulse{0%{opacity:.9;transform:scale(1)}80%,to{opacity:0;transform:scale(2.6)}}@keyframes map-drawer-in{0%{transform:translate(100%)}to{transform:none}}@keyframes map-drawer-out{to{transform:translate(100%)}}}@media (max-width:800px){.project-map-heading{grid-template-columns:1fr;margin-bottom:36px}.map-pin-dot{width:9px;height:9px}.map-pin-label{padding:5px 8px;font-size:10px}}@media (max-width:540px){.map-card{flex-basis:76vw}.project-map-nav button{width:44px;height:44px}}
