@import url('/map-locations.css');
.portfolio-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:end;padding:66px 0 55px}.portfolio-heading h1{font-size:clamp(44px,5vw,76px);line-height:1.04;letter-spacing:-.045em;margin:20px 0 0;font-weight:400}.portfolio-heading h1 em,.map-heading em{font-style:normal;color:#888}.portfolio-heading .page-lead{max-width:520px;margin:0 0 24px}.text-link{font-size:14px;border-bottom:1px solid #222;padding-bottom:6px}.portfolio-filters{display:flex;gap:18px;align-items:end;padding:27px 0 34px;border-top:1px solid #ddd}.portfolio-filters label{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#666;flex:1}.portfolio-filters label:first-child{flex:1.7}.portfolio-filters input,.portfolio-filters select{height:50px;border:1px solid #d8d8d8;background:#fff;border-radius:0;padding:0 15px;color:#202020;font:inherit;font-size:14px;min-width:0;width:100%}.portfolio-filters .button{height:50px;white-space:nowrap}.filter-clear{font-size:12px;padding-bottom:17px;white-space:nowrap}.project-map-section{scroll-margin-top:105px;background:#f4f4f1;padding:30px;margin-bottom:85px}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.map-heading h2{font-size:30px;font-weight:400;letter-spacing:-.035em;margin:0 0 10px}.map-heading p{font-size:13px;color:#666;line-height:1.6;margin:0}.map-heading button{background:#fff;border:1px solid #d4d4d0;padding:12px 16px;font:inherit;font-size:12px;cursor:pointer}.project-map-layout{display:grid;grid-template-columns:320px 1fr;background:white;border:1px solid #deded8}.map-projects{min-width:0;display:flex;flex-direction:column;height:580px}.map-list-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;padding:22px 20px;border-bottom:1px solid #e2e2dc}.map-list-heading span:last-child{letter-spacing:0}.map-projects #map-project-list{overflow:auto;overscroll-behavior:contain;flex:1;position:relative}.map-project{display:flex;align-items:center;padding:18px 14px 18px 18px;border-bottom:1px solid #e6e6e1;gap:8px}.map-project[hidden]{display:none}.map-project>a{display:flex;gap:14px;flex:1;min-width:0}.map-project img{width:76px;height:92px;object-fit:cover;flex-shrink:0}.map-project>a>span{display:flex;flex-direction:column;gap:8px;padding:3px 0}.map-project-city{font-size:11px;color:#76766b}.map-project strong{font-size:13px;line-height:1.4;font-weight:500}.map-project>a>span>span:last-child{font-size:10px;color:#777}.map-project.is-selected{background:#eeeee8}.locate-project{align-self:flex-end;background:none;border:1px solid #ddd;width:30px;height:30px;cursor:pointer;flex-shrink:0}.locate-project:hover{background:#202c28;color:white}.map-canvas-wrap{position:relative;min-width:0}#portfolio-map{height:580px;background:#e5e8e1;font-family:inherit;z-index:1}#map-error{position:absolute;left:20px;right:20px;bottom:30px;padding:14px;background:#fff;font-size:13px;z-index:450}.map-loading{padding:30px;color:#666}#map-empty{padding:20px;font-size:13px}.project-pin{background:#222222;color:white;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0003;display:flex!important;justify-content:center;align-items:center;font-size:12px;font-weight:600}.project-pin i{display:block;width:6px;height:6px;background:#fff;border-radius:50%}.project-pin.is-cluster{background:#fff;color:#222222;border:2px solid #222222}.project-pin:focus-visible{outline:3px solid #222222;outline-offset:3px}.project-popup{display:block;color:#222!important;width:230px}.project-popup img{width:230px;height:150px;object-fit:cover;margin-bottom:12px}.project-popup span{display:block;font-size:11px;color:#666;margin-bottom:7px}.project-popup strong{font-size:16px;line-height:1.4;display:block;font-weight:500}.project-popup p{font-size:12px;line-height:1.5;margin:8px 0!important}.project-popup b{font-size:12px;font-weight:500;display:block;margin-top:12px}.project-group-popup a{display:block;padding:10px 0;color:#222!important;border-bottom:1px solid #ddd}.portfolio-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:32px}.portfolio-gallery-heading h2{font-size:36px;letter-spacing:-.03em;font-weight:400;margin:0}.portfolio-gallery-heading p{font-size:13px;color:#777}#project-gallery{scroll-margin-top:110px}.portfolio-page .work-card .small-muted{display:none}.project-location{display:flex;flex-wrap:wrap;align-items:center;gap:20px 50px;padding:28px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:32px 0}.project-location>div{margin-right:auto}.project-location span{font-size:10px;letter-spacing:.1em;color:#777}.project-location p{font-size:16px;margin:9px 0 0}.project-location a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.map-no-results,.portfolio-no-results{padding:30px 0;color:#666}.leaflet-control-attribution{font-size:10px!important}
@media(min-width:1500px){.project-map-layout{grid-template-columns:370px 1fr}}
.portfolio-page #project-gallery .work-grid{display:block;column-count:4;column-gap:26px;padding-bottom:0}
.portfolio-page #project-gallery .work-card{display:inline-block;vertical-align:top;width:100%;break-inside:avoid;margin:0 0 38px;padding:0}
.portfolio-page #project-gallery .work-card>div{height:auto;aspect-ratio:var(--project-photo-ratio,4/5);max-height:540px;background:#f2f2f0}
.portfolio-page #project-gallery .work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portfolio-page #project-gallery .work-card .eyebrow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;font-size:9px;line-height:1.5;letter-spacing:.06em;margin:16px 0 9px}
.portfolio-page #project-gallery .work-card .eyebrow span{float:none}
.portfolio-page #project-gallery .work-card h3{font-size:clamp(18px,1.15vw,23px);line-height:1.25;letter-spacing:-.025em;margin:0;font-weight:400}
.portfolio-page #project-gallery .card-arrow{width:36px;height:36px;right:16px;bottom:16px;font-size:18px}
.portfolio-page #project-gallery .work-card:focus-visible{outline:2px solid #222;outline-offset:6px}
.portfolio-page #project-gallery .portfolio-no-results{column-span:all}
@media(max-width:1499px){.portfolio-page #project-gallery .work-grid{column-count:3;column-gap:24px}}
@media(max-width:999px){.portfolio-page #project-gallery .work-grid{column-count:2;column-gap:20px}}
@media(max-width:599px){.portfolio-page #project-gallery .work-grid{column-count:1}.portfolio-page #project-gallery .work-card>div{max-height:460px}.portfolio-page #project-gallery .work-card{margin-bottom:30px}.portfolio-page #project-gallery .work-card h3{font-size:21px}}
@media(max-width:900px){.portfolio-heading{gap:35px;padding-top:40px}.portfolio-heading h1{font-size:52px}.project-map-section{padding:20px}.project-map-layout{grid-template-columns:270px 1fr}.map-projects,#portfolio-map{height:520px}.map-project img{width:57px;height:75px}.portfolio-filters{gap:12px}.map-heading h2{font-size:25px}}
@media(max-width:650px){.portfolio-heading{grid-template-columns:1fr;gap:28px;padding-bottom:35px}.portfolio-heading h1{font-size:50px}.portfolio-filters{flex-wrap:wrap;gap:16px}.portfolio-filters label:first-child{flex:1 0 100%}.portfolio-filters label{flex:1 1 50%}.portfolio-filters .button{padding:0 18px}.project-map-section{padding:16px;margin:0 -10px 55px}.map-heading{align-items:start;flex-wrap:wrap}.map-heading h2{font-size:25px}.map-heading button{font-size:11px;padding:9px 12px}.project-map-layout{display:flex;flex-direction:column}.map-canvas-wrap{order:-1}#portfolio-map{height:380px}.map-projects{height:270px}.map-project{padding:12px}.map-project img{width:60px;height:65px}.map-project>a>span{gap:4px}.map-list-heading{padding:14px}.portfolio-gallery-heading{align-items:start;flex-direction:column;gap:6px}.portfolio-gallery-heading h2{font-size:31px}.project-location{display:block}.project-location a{display:block;margin-top:18px}}
