/* Map and studio extend the approved editorial brand system. */
.studio-page{--studio-gap:clamp(28px,5vw,80px)}
.studio-lead{display:grid;grid-template-columns:.9fr 1.2fr;gap:var(--studio-gap);padding:60px var(--page-gutter) 72px;align-items:start}
.studio-manifesto{padding-top:22px}.studio-manifesto .eyebrow{margin-bottom:32px}.studio-manifesto h1{font:500 clamp(44px,4.6vw,72px)/1.03 'DM Sans',sans-serif;letter-spacing:-.05em;text-wrap:balance;margin:0 0 30px}
.studio-opening-text{font-size:16px;line-height:1.8;max-width:420px}.studio-location{font-size:9px;letter-spacing:.18em;margin:40px 0 24px;color:#637568}.studio-page .text-link{display:inline-flex;gap:22px;align-items:center;font-size:13px;min-height:44px}
.team-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-person{min-width:0}.team-person figure{margin:0;overflow:hidden;background:#20332a;aspect-ratio:2/3}.team-person figure img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.team-person:hover figure img{transform:scale(1.025)}
.team-person-copy{padding-top:18px}.team-person h2,.team-additional h2{font:500 clamp(20px,1.8vw,27px)/1.15 'DM Sans',sans-serif;margin:0 0 9px;letter-spacing:-.025em}.team-role{font:11px/1.6 Inter,sans-serif;margin:0;color:#546859}.team-bio{font-size:13px;line-height:1.75;white-space:pre-line;max-width:45ch}.team-additional{margin-top:28px;border-top:1px solid #31493d38;display:flex;flex-wrap:wrap;gap:24px;padding-top:22px}.team-additional article{flex:1;min-width:160px}.team-additional h2{font-size:20px}
.studio-foundation{position:relative;isolation:isolate;overflow:hidden;padding:70px var(--page-gutter);background:#e5e9e0}.foundation-cells{position:absolute;inset:auto auto 0 0;width:42%;height:100%;object-fit:cover;opacity:.2;z-index:-1;pointer-events:none}.foundation-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px 8vw;align-items:end}.foundation-heading>.eyebrow{grid-column:1/-1;margin:0}.studio-foundation h2,.studio-method h2{font:500 clamp(34px,3.6vw,54px)/1.08 'DM Sans',sans-serif;letter-spacing:-.04em;margin:0;text-wrap:balance}.foundation-heading>p:last-child{font-size:15px;line-height:1.8;max-width:480px;margin:0}.foundation-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:52px}.foundation-principles article{border-top:1px solid #31493d60;padding-top:22px}.foundation-principles span{font-size:9px;letter-spacing:.16em}.foundation-principles h3{font:450 36px 'DM Sans',sans-serif;letter-spacing:-.035em;margin:26px 0 12px}.foundation-principles p{font-size:14px;line-height:1.75;max-width:34ch}
.studio-method{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:80px var(--page-gutter)}.studio-method .eyebrow{margin-bottom:28px}.studio-method-story>p{font-size:15px;line-height:1.85;margin:0 0 20px}.method-facts{display:flex;gap:60px;padding:28px 0;margin:12px 0 24px;border-top:1px solid #31493d38;border-bottom:1px solid #31493d38}.method-facts strong{display:block;font:400 60px/1 'DM Sans',sans-serif;letter-spacing:-.05em}.method-facts span{font-size:11px;display:block;max-width:150px;margin-top:13px;line-height:1.5}
.geo-page{max-width:none;padding:44px var(--page-gutter) 56px}.geo-heading{grid-template-columns:1.5fr 1fr;margin-bottom:30px;gap:6vw}.geo-heading h1{font-size:clamp(40px,4.2vw,64px);margin:18px 0;line-height:1.03}.geo-heading h1 br{display:none}.geo-heading h1 br:after{content:' '}.geo-heading p:not(.eyebrow){font-size:14px;max-width:540px;margin-bottom:0}.geo-totals{padding:20px 0 4px;gap:20px}.geo-totals strong{font-size:40px}.geo-totals span{font-size:11px}.geo-workspace{border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 300px;background:#e5ebe2}.geo-map-panel{background:#e5ebe2}.geo-canvas{background:#e5ebe2;min-height:420px}.geo-land path{fill:#b9c9b7;stroke:#e5ebe2;stroke-width:.7}.geo-map-top{padding:16px 20px}.geo-map-top button{border-radius:0;min-height:42px}.geo-sidebar{background:#eaece4;max-height:530px;border-left:1px solid #31493d26}.geo-sidebar-head{padding:20px}.geo-sidebar-head .eyebrow{margin:0}.geo-sidebar-head select{border-radius:0;min-height:44px}.geo-city-list{max-height:none;flex:1}.geo-city{padding:15px 20px}.geo-city.active{background:#31493d;color:#f3f0e7}.geo-city.active small,.geo-city.active>span:last-child>span{color:#f3f0e7}.geo-zoom button{box-shadow:none;width:44px;height:44px}.geo-map-bottom{font-size:9px}.geo-notes{margin-top:35px;border-top:1px solid #31493d26;padding-top:14px}.geo-notes p{font-size:10px}
.geo-selection{padding:0;margin-top:44px;border:0;max-height:none;overflow:visible}.geo-selection-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:25px}.geo-selection h2{font:500 clamp(32px,3.2vw,48px)/1.08 'DM Sans',sans-serif;letter-spacing:-.04em;margin:10px 0 0}.geo-selection-heading>p{font-size:12px;line-height:1.6;max-width:240px;margin:0}.geo-project-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);gap:22px;overflow-x:auto;padding:0 0 18px;scroll-snap-type:x proximity;scrollbar-color:#819782 #e5e9e0;scrollbar-width:thin}.geo-project-card{display:block;scroll-snap-align:start;min-width:0}.geo-project-card figure{margin:0;aspect-ratio:1.6;overflow:hidden;background:#e5e9e0}.geo-project-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}.geo-project-card:hover figure img{transform:scale(1.035)}.geo-project-card h3{font:500 19px/1.3 'DM Sans',sans-serif;letter-spacing:-.02em;margin:14px 0 7px}.geo-project-card p{font-size:10px;margin:0}.geo-selection .geo-no-photos{font-size:14px;padding:26px 0;border-top:1px solid #31493d26;color:#586b5d}.studio-page a:focus-visible{outline:2px solid #925f49;outline-offset:5px}
@media(max-width:1000px){.studio-lead{grid-template-columns:.85fr 1fr;gap:30px;padding-top:35px}.studio-manifesto h1{font-size:46px}.studio-opening-text{font-size:14px}.team-portraits{gap:14px}.geo-workspace{grid-template-columns:minmax(0,1fr) 250px}.geo-heading{gap:30px}.geo-totals strong{font-size:34px}.foundation-principles{gap:26px}}
@media(max-width:700px){.studio-lead{grid-template-columns:1fr;padding:30px var(--page-gutter) 42px;gap:32px}.studio-manifesto{padding:0}.studio-manifesto .eyebrow{margin-bottom:22px}.studio-manifesto h1{font-size:clamp(39px,10vw,58px);max-width:550px;margin-bottom:23px}.studio-opening-text{max-width:none;font-size:14px}.studio-location{margin:22px 0 12px}.team-person h2{font-size:20px}.team-role{font-size:10px}.team-additional{margin-top:22px;padding-top:20px}.foundation-heading{grid-template-columns:1fr;gap:20px}.studio-foundation,.studio-method{padding:45px var(--page-gutter)}.foundation-principles{grid-template-columns:1fr;gap:24px;margin-top:32px}.foundation-principles h3{font-size:31px;margin:14px 0 9px}.foundation-principles p{max-width:100%;margin-bottom:0}.studio-method{grid-template-columns:1fr;gap:28px}.method-facts{gap:50px}.method-facts strong{font-size:52px}.geo-page{padding-top:30px}.geo-heading{grid-template-columns:1fr;gap:22px;margin-bottom:24px}.geo-heading h1{font-size:43px}.geo-totals{justify-content:space-between;padding-top:18px}.geo-totals strong{font-size:33px}.geo-totals span{font-size:10px}.geo-workspace{grid-template-columns:1fr}.geo-canvas{min-height:360px}.geo-sidebar{border-left:0;border-top:1px solid #31493d26;max-height:none}.geo-sidebar-head{padding:18px}.geo-city-list{display:flex;flex:0 0 auto;max-height:none;min-height:0;overflow-x:auto;scroll-snap-type:x proximity}.geo-city{min-width:190px;width:190px;flex-shrink:0;padding:16px;scroll-snap-align:start;border-right:1px solid #31493d26;min-height:72px}.geo-map-top{padding:12px}.geo-map-top>span{display:none}.geo-map-top>div{display:flex;gap:8px}.geo-map-top button{margin:0}.geo-map-bottom{padding:12px;gap:10px}.geo-selection{margin-top:32px}.geo-selection-heading{display:block;margin-bottom:22px}.geo-selection-heading>p{max-width:none;margin-top:14px}.geo-project-strip{grid-auto-columns:83%;gap:16px}.geo-project-card h3{font-size:18px}.geo-notes{display:block;margin-top:22px}}
@media(prefers-reduced-motion:reduce){.team-person figure img,.geo-project-card img{transition:none;transform:none!important}}
.studio-page .text-link{width:max-content;max-width:100%;white-space:nowrap}.studio-page .text-link img{width:20px!important;height:20px!important;min-width:20px;flex:0 0 20px;object-fit:contain}
.geo-sidebar,.geo-city-list{min-width:0}.geo-city-list{max-width:100%}@media(max-width:700px){.geo-workspace{grid-template-columns:minmax(0,1fr)}}
