@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;550;600;650;700;750&display=swap');
:root{color-scheme:dark;--ink:#f6f4ed;--muted:#b7c0c4;--teal:#8accc4;--navy:#111b23;--line:rgba(224,234,231,.19);--font:'DM Sans','Segoe UI',sans-serif;--display:'Manrope','Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--font);font-size:15px}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}button:hover,a:hover{color:var(--teal)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--teal);outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--ink);color:var(--navy);padding:15px}.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 4.2%;background:linear-gradient(180deg,rgba(13,24,33,.95),rgba(13,24,33,.65));border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font-family:var(--display);font-size:31px;font-weight:650;letter-spacing:-2px}.brand-mark span{color:var(--teal)}.brand-copy{font-weight:550;font-size:14px}.brand-copy small{display:block;font-size:8px;letter-spacing:1.7px;color:#b7c2c9;margin-top:6px}.primary-navigation{display:flex;align-items:center;gap:30px;font-size:12px}.primary-navigation button{padding:10px 0}.primary-navigation .nav-contact{padding:11px 19px;border:1px solid #76878c;border-radius:3px}.primary-navigation span{margin-left:8px}
.city-hero{position:relative;min-height:850px;height:100svh;max-height:1200px;isolation:isolate;overflow:hidden;background:#19262e}.city-backdrop,#city-map{position:absolute;inset:0}.city-backdrop{z-index:-3;background:radial-gradient(ellipse at 80% 20%,#536064,transparent 64%),linear-gradient(140deg,#121f29,#2a434b)}.city-backdrop img{width:100%;height:100%;object-fit:cover;opacity:1}#city-map{z-index:-2;transition:opacity 1.3s;opacity:0}body.map-ready #city-map{opacity:1}
.hero-copy{position:relative;width:min(51%,730px);padding-top:clamp(170px,19vh,230px);padding-left:8%;pointer-events:none}.hero-copy a,.hero-copy button{pointer-events:auto}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;line-height:1.6;color:var(--teal)}.hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 25px}.status-dot{width:5px;height:5px;flex:none;background:var(--teal);border-radius:50%}h1{font-family:var(--display);font-size:clamp(46px,4.65vw,75px);font-weight:500;line-height:1.14;letter-spacing:-3px;margin:0;white-space:nowrap}h1>span:not(.heading-dot){color:#bfddd9}.heading-dot{color:var(--teal)}.hero-description{max-width:410px;font-size:14px;line-height:1.9;color:#c3cbd0;margin:26px 0 29px}.hero-actions{display:flex;gap:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border-radius:3px;padding:15px 20px;font-size:11px;font-weight:600;line-height:1.3;min-height:45px}.button-primary{background:#d7e9e4;color:#142b30;border:1px solid #d7e9e4}.button-primary:hover{background:#eff8f3;color:#142b30}.button-secondary{border:1px solid #829398;background:rgba(16,29,38,.3)}.hero-role{font-size:8px;letter-spacing:1.7px;color:#adb9bf;margin-top:31px}.hero-role span{margin:0 12px;color:#66868a}.city-caption{position:absolute;right:5%;top:145px;display:flex;gap:13px;align-items:center;text-align:right}.caption-rule{height:35px;width:1px;background:#abbcb8}.city-caption p{margin:0}.city-caption strong{display:block;font-size:8px;letter-spacing:1.8px}.city-caption p span{display:block;font-size:10px;color:#d9dedc;margin-top:7px}.city-toolbar{position:absolute;right:5%;bottom:234px;display:flex;gap:8px}.city-toolbar button{font-size:10px;padding:10px 13px;min-height:38px;border:1px solid rgba(222,235,231,.26);border-radius:3px;background:rgba(16,30,39,.85);backdrop-filter:blur(10px)}.city-toolbar button span{margin-right:5px}.map-status{position:absolute;right:5%;top:207px;max-width:260px;font-size:10px;line-height:1.7;text-align:right;color:#d1dbdd;background:rgba(17,27,35,.8);padding:10px 13px;border-radius:3px}.map-status:empty{display:none}
.city-footer{position:absolute;bottom:34px;left:8%;right:5%}.destination-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.destination-heading .eyebrow{font-size:8px;letter-spacing:1.7px;color:#b2c2c5}.destination-hint{font-size:9px;color:#a7b8bd}.destination-hint>span{margin-left:15px;color:var(--teal)}.city-destinations{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.destination-button{text-align:left;position:relative;padding:18px 16px 20px;min-height:100px;border-right:1px solid var(--line);transition:background .2s}.destination-button:first-child{padding-left:0}.destination-button:last-child{border-right:0}.destination-button:hover,.destination-button[aria-pressed=true]{background:rgba(136,203,194,.08);color:var(--ink)}.destination-button[aria-pressed=true]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--teal)}.destination-number{display:block;color:var(--teal);font-size:8px;letter-spacing:1px;margin-bottom:12px}.destination-button strong{display:block;font-family:var(--display);font-weight:550;font-size:11px}.destination-button small{display:block;font-size:9px;line-height:1.5;color:#aebdc2;margin-top:5px}.destination-arrow{position:absolute;right:13px;top:19px;color:#819b9d;font-size:10px}.city-footnote{display:flex;justify-content:space-between;margin-top:17px;color:#8e9fa7;font-size:8px}.city-footnote a{color:#b8c7c8}.city-footnote a span{margin-left:10px}.static-attribution{position:absolute;right:0;bottom:0;font-size:10px;background:#ffffffda;color:#28363a;padding:3px 6px}.mapboxgl-ctrl-bottom-left{bottom:3px!important}.mapboxgl-ctrl-bottom-right{bottom:2px!important}.mapboxgl-ctrl-attrib{font-size:10px!important}.mapboxgl-canvas:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}
.work-section{padding:100px 8% 0;background:#f0f0e9;color:#223239}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}.section-heading .eyebrow{color:#467a76}h2{font-family:var(--display);font-size:45px;font-weight:500;line-height:1.18;letter-spacing:-1.8px;margin:15px 0}h2 span{color:#568e85}.section-heading>p{max-width:320px;font-size:13px;line-height:1.9;color:#5e6d70}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#cbd3cd;border:1px solid #cbd3cd}.work-card{padding:32px;display:flex;flex-direction:column;align-items:start;background:#f4f4ee;min-height:265px;position:relative}.work-card .eyebrow{color:#4d7876;font-size:8px}.work-card h3{font-family:var(--display);font-size:24px;font-weight:550;letter-spacing:-.6px;margin:14px 0}.work-card p{font-size:13px;line-height:1.9;color:#596b6e;max-width:470px}.work-card .text-link{margin-top:auto;padding-top:15px}.text-link{font-size:11px;font-weight:600;color:#346b65;padding:0}.work-card .case-number{position:absolute;right:30px;top:33px;color:#8b9e9f;font-size:10px}.case-status{display:inline-block;font-size:9px;color:#576e6d;border:1px solid #ced9d3;border-radius:2px;padding:4px 7px;margin:0 0 5px}.career-billboard{margin:80px 0 50px;padding:35px 0;border-top:1px solid #c8d1cb;border-bottom:1px solid #c8d1cb}.career-billboard .eyebrow{color:#5a817b}.career-billboard h3{font-family:var(--display);font-size:23px;letter-spacing:-.5px;font-weight:500}.career-billboard p:not(.eyebrow){font-size:12px;color:#637574}.logo-strip{display:flex;justify-content:space-between;align-items:center;gap:35px;margin:35px 0}.logo-tile{height:70px;min-width:110px;display:flex;align-items:center;justify-content:center;border-radius:3px;padding:14px 20px;background:#fff}.logo-tile img{max-width:120px;max-height:40px;width:auto;height:auto;object-fit:contain}.logo-dubai,.company-logo-dubai{background:#223e44!important}.page-footer{display:flex;gap:25px;padding:25px 0;font-size:10px;line-height:1.7;color:#5c726e}.page-footer>span{margin-right:auto}
.project-preview{position:absolute;right:5%;bottom:290px;width:340px;padding:24px;background:rgba(16,30,39,.96);border:1px solid #728c8b;border-radius:4px;box-shadow:0 18px 50px #09101755;backdrop-filter:blur(20px);z-index:4}.project-preview h2{font-size:27px;letter-spacing:-.8px;margin:12px 0}.project-preview .preview-theme{font-size:8px;letter-spacing:1.5px;color:var(--teal);padding-right:25px}.project-preview p{font-size:12px;line-height:1.85;color:#bdc9cc}.preview-close{position:absolute;right:13px;top:10px;font-size:25px;min-width:35px;min-height:35px}.preview-facts{display:flex;gap:20px;border-top:1px solid var(--line);padding:16px 0}.preview-facts strong{display:block;font-family:var(--display);font-size:20px;font-weight:500}.preview-facts small{display:block;color:#b1c2c4;font-size:9px;margin-top:6px;line-height:1.5}.project-preview .button{width:100%}.preview-return{margin-top:14px;text-align:center;width:100%;font-size:10px;color:#c0d1d2}
.map-marker{display:flex;align-items:center;gap:7px;position:relative;min-height:32px;padding:6px 10px 6px 6px;background:#142a35ee;border:1px solid #8cb4b2a6;border-radius:3px;box-shadow:0 4px 14px #0b192777;color:#f1f3e9;font-size:9px;white-space:nowrap}.map-marker:after{content:'';position:absolute;top:100%;left:15px;height:28px;width:1px;background:linear-gradient(#a3d0c6,transparent)}.map-marker b{display:grid;place-items:center;width:22px;height:22px;background:#b9dcd2;color:#16352f;font-size:8px;border-radius:2px}.map-marker:hover,.map-marker[aria-pressed=true]{background:#2d5559;color:#fff;z-index:5}.billboard-marker{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 11px;background:#f4f3e9;border:3px solid #38484b;box-shadow:3px 5px 0 #142b30a0,0 7px 20px #10212744;border-radius:2px;color:#263d43;min-width:86px;cursor:pointer}.billboard-marker:after{content:'';height:35px;width:3px;background:linear-gradient(#4c6062,#36464b44);position:absolute;top:100%;left:50%}.billboard-marker img{width:65px;height:26px;object-fit:contain}.billboard-marker small{font-size:5px;letter-spacing:1.2px;color:inherit}.billboard-marker.billboard-dubai{background:#29434a;color:#e5f2ee}.billboard-marker:hover{border-color:var(--teal);color:#20373b}.billboard-marker.billboard-dubai:hover{color:#fff}.city-markers-hidden .map-marker,.city-markers-hidden .billboard-marker{visibility:hidden}
dialog{border:1px solid #6d8383;background:#f3f3ec;color:#21343b;border-radius:5px;padding:0;width:min(1040px,calc(100vw - 40px));max-height:calc(100dvh - 65px);overscroll-behavior:contain}dialog::backdrop{background:rgba(4,14,22,.72);backdrop-filter:blur(9px)}body:has(dialog[open]){overflow:hidden}.dialog-shell{padding:30px 45px 45px}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #cbd4ce;padding-bottom:16px;margin-bottom:30px}.dialog-header .eyebrow{color:#487570;margin:0}.close-button{font-size:30px;min-width:44px;min-height:44px;color:#365e61}.panel-intro,.case-summary{font-size:16px;line-height:1.85;color:#546b6e;max-width:750px}.panel-actions,.contact-links,.case-actions{display:flex;flex-wrap:wrap;gap:13px;margin:25px 0}.dialog-shell .button-secondary{color:#335b5d;background:transparent;border-color:#a3b7b2}.dialog-shell .button-primary{color:#f3f5ec;background:#254e51;border-color:#254e51}.dialog-shell .button:hover{background:#42716a;color:white}.case-kicker,.employment{font-size:11px;line-height:1.9;color:#456f6c}.case-title{font-size:43px}.tags,.technical-tags{display:flex;flex-wrap:wrap;gap:6px;margin:15px 0}.tags span,.technical-tags span{font-size:10px;padding:6px 9px;border:1px solid #c9d5cf;border-radius:2px;color:#466b65}.case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:22px 0;border-top:1px solid #c4d1c9;border-bottom:1px solid #c4d1c9;margin:25px 0}.fact strong{display:block;font-size:26px;line-height:1.2;font-weight:500;font-family:var(--display);letter-spacing:-1px}.fact span{display:block;font-size:10px;line-height:1.65;color:#607770;margin-top:7px}.case-section{margin-top:32px;scroll-margin-top:20px}.case-section h3,.career-section h3{font-family:var(--display);font-size:22px;font-weight:550;letter-spacing:-.5px}.case-section p,.case-section li{font-size:14px;color:#50656b;line-height:1.95}.case-section li{margin:8px 0}.case-subnav{display:flex;flex-wrap:wrap;gap:10px 20px;border-bottom:1px solid #c6d2cc;padding:20px 0;font-size:11px;color:#477970}.case-subnav a{text-decoration:underline;text-underline-offset:4px}.system-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.system-flow>div{padding:15px;background:#e4eae4;border:1px solid #c6d4cb}.system-flow span{font-size:10px;display:block;color:#698b81;margin-bottom:10px}.system-flow strong{font-size:12px}.system-flow p{font-size:11px}.career-list article{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;border-top:1px solid #c8d3cc;padding:22px 0}.career-list h4{font-size:16px;margin:0}.career-list p{font-size:12px;line-height:1.9;color:#5c7474;margin:8px 0}.career-list article>p{margin:0}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.activity-card{padding:24px;border:1px solid #c8d4cc}.activity-card .eyebrow{color:#4d7c71;font-size:8px}.activity-card h3{font-family:var(--display);font-size:20px;font-weight:550;line-height:1.5}.activity-card p{color:#5c7373;font-size:12px;line-height:1.85}.activity-card a{color:#306c63;font-size:11px;text-decoration:underline;text-underline-offset:4px}.panel-note{font-size:11px;color:#687f7c;line-height:1.8;margin-top:25px}.contact-card{padding:26px 0;border-top:1px solid #c6d3cb;border-bottom:1px solid #c6d3cb;margin:30px 0}.contact-card span{display:block;font-size:10px;color:#64867c;margin-bottom:14px}.contact-email{font-size:clamp(16px,3vw,30px);overflow-wrap:anywhere}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.company-card{padding:22px;border:1px solid #c4d1c9}.company-logo{display:flex;align-items:center;justify-content:center;background:#fff;padding:16px;height:90px;border-radius:3px}.company-logo img{max-height:55px;max-width:140px;object-fit:contain}.company-card .eyebrow{font-size:8px;color:#5b7f75;margin-top:20px}.company-card h3{font-size:17px}.company-card p:not(.eyebrow){font-size:12px;line-height:1.8;color:#57716c}.noscript-message{position:relative;background:#eef1e8;color:#18353a;padding:40px}.noscript-message a{text-decoration:underline}
@media(min-width:1600px){.hero-copy{padding-left:9%;padding-top:20vh}.hero-description{font-size:16px;max-width:440px}.city-footer{left:9%}.destination-button strong{font-size:13px}.destination-button small{font-size:10px}}
@media(max-height:850px) and (min-width:901px){.city-hero{min-height:770px}.hero-copy{padding-top:140px}h1{font-size:56px}.hero-copy>.eyebrow{margin-bottom:18px}.hero-description{margin:20px 0;font-size:13px;line-height:1.8}.hero-role{margin-top:23px}.city-toolbar{bottom:227px}.project-preview{bottom:282px}.city-caption{top:125px}}
@media(max-width:1100px){.site-header{padding:20px 4%}.brand-copy small{font-size:7px}.primary-navigation{gap:20px}.hero-copy{padding-left:6%;width:57%}h1{font-size:55px}.hero-description{max-width:355px}.hero-actions{gap:9px}.button{gap:15px;padding:14px}.city-footer{left:6%;right:4%}.destination-button{padding:16px 10px}.destination-button strong{font-size:10px}.destination-button small{font-size:8px}.destination-arrow{right:9px}.project-preview{width:305px;right:4%}.work-section{padding:75px 6% 0}}
@media(max-width:900px){.brand-copy{display:none}.primary-navigation{gap:20px}.city-hero{height:auto;min-height:1030px;max-height:none}.hero-copy{padding:155px 6% 0;width:100%;max-width:560px}.hero-copy>.eyebrow{font-size:8px}h1{font-size:61px}.hero-description{max-width:400px}.city-caption{top:108px;right:6%}.city-caption strong{font-size:7px}.city-caption p span{font-size:9px}.city-toolbar{bottom:338px;right:6%;left:6%;flex-wrap:wrap}.city-toolbar button{font-size:9px;padding:9px}.map-status{top:620px;right:6%;max-width:320px}.city-footer{bottom:39px;left:6%;right:6%}.city-destinations{grid-template-columns:repeat(3,1fr)}.destination-button{min-height:98px;border-bottom:1px solid var(--line)}.destination-button:first-child{padding-left:12px}.destination-button:nth-child(3){border-right:0}.destination-button:nth-child(4),.destination-button:nth-child(5){border-bottom:0}.destination-button strong{font-size:11px}.destination-button small{font-size:9px}.destination-hint{display:none}.city-footnote{font-size:7px}.project-preview{position:fixed;z-index:30;bottom:25px;left:6%;right:6%;width:auto;max-height:70dvh;overflow:auto}.map-marker,.billboard-marker{display:none}.section-heading h2{font-size:36px}.section-heading{gap:25px}.section-heading>p{max-width:240px;font-size:12px}.work-card{padding:25px}.work-card h3{font-size:21px}.logo-strip{gap:15px;flex-wrap:wrap;justify-content:flex-start}.logo-tile{min-width:105px}.logo-tile img{max-width:95px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.site-header{padding:17px 5%;gap:10px}.brand-mark{font-size:27px}.primary-navigation{gap:14px;font-size:10px}.primary-navigation .nav-contact{padding:9px 10px}.primary-navigation span{margin-left:3px}.nav-work{display:none}.city-hero{min-height:1070px}.hero-copy{padding:147px 7% 0}h1{font-size:clamp(38px,10.4vw,57px);letter-spacing:-2px;line-height:1.2}.hero-copy>.eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:23px}.hero-description{font-size:13px;line-height:1.9;margin:25px 0}.hero-actions{gap:10px}.button{font-size:10px;padding:14px 15px;gap:12px}.hero-role{font-size:7px;letter-spacing:1.3px;margin-top:25px}.city-caption{top:96px;right:7%}.caption-rule{height:25px}.city-caption strong{font-size:6px;letter-spacing:1.5px}.city-caption p span{font-size:8px}.city-footer{bottom:40px;left:7%;right:7%}.city-toolbar{bottom:393px;left:7%;right:7%}.map-status{top:570px;left:7%;right:7%;max-width:unset;text-align:left;padding:0;background:transparent;font-size:9px}.destination-heading{margin-bottom:16px}.destination-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.city-destinations{grid-template-columns:repeat(2,1fr)}.destination-button{min-height:90px;padding:14px 10px}.destination-button:nth-child(2),.destination-button:nth-child(4){border-right:0}.destination-button:nth-child(3){border-right:1px solid var(--line)}.destination-button:nth-child(4){border-bottom:1px solid var(--line)}.destination-button:last-child{grid-column:1/-1}.destination-button strong{font-size:10px}.destination-button small{font-size:8px}.destination-number{margin-bottom:7px}.city-footnote{display:block;line-height:1.7;font-size:7px}.city-footnote a{display:none}.section-heading{display:block}.section-heading h2{font-size:35px}.section-heading>p{max-width:100%;margin:20px 0 30px}.work-section{padding:55px 7% 0}.work-grid{grid-template-columns:1fr}.work-card{min-height:255px}.career-billboard{margin:45px 0 20px}.logo-strip{gap:10px}.logo-tile{flex:1;min-width:85px;max-width:130px;height:65px;padding:12px}.logo-tile img{max-width:80px}.page-footer{flex-wrap:wrap;gap:15px;font-size:9px}.page-footer>span{width:100%}.dialog-shell{padding:15px 22px 25px}dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.dialog-header{margin-bottom:20px}.dialog-header .eyebrow{font-size:7px}h2,.case-title{font-size:30px;letter-spacing:-1px}.panel-intro,.case-summary{font-size:13px}.case-facts{grid-template-columns:repeat(2,1fr);gap:22px}.fact strong{font-size:24px}.case-section h3{font-size:19px}.case-section p,.case-section li{font-size:12px}.case-section ul{padding-left:20px}.activity-grid,.company-grid,.system-flow{grid-template-columns:1fr}.career-list article{grid-template-columns:1fr;gap:8px}.activity-card{padding:20px}.company-logo{height:80px}.project-preview{bottom:12px;left:12px;right:12px;padding:22px}.static-attribution{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Original V&A and ESA marks are white, so retain a dark sign face. */

.billboard-va,.billboard-esa{background:#203d45;color:#edf5eb}.billboard-va:hover,.billboard-esa:hover{color:white}.logo-va,.logo-esa,.company-logo-va,.company-logo-esa{background:#203d45!important}.billboard-marker small{line-height:1.15}.work-grid>.work-card:last-child:nth-child(odd){grid-column:1/-1}

/* The city is the navigation surface; the identity stays compact and readable. */
.city-hero{min-height:720px;max-height:1200px}

.hero-copy{position:absolute;left:3.5%;top:135px;width:340px;padding:26px;background:rgba(13,29,38,.88);border:1px solid rgba(181,210,200,.25);border-radius:5px;backdrop-filter:blur(16px);transition:width .3s,background .3s}
.hero-copy>.eyebrow{font-size:8px;margin-bottom:18px;letter-spacing:1.7px}
.hero-copy h1{font-size:38px;line-height:1.18;letter-spacing:-1.6px}
.hero-description{font-size:12px;line-height:1.85;margin:20px 0;max-width:none}
.hero-actions{flex-direction:column;gap:9px}.hero-actions .button{font-size:10px;min-height:41px;padding:12px 14px;justify-content:space-between}
.hero-role{font-size:7px;letter-spacing:1.2px;margin:22px 0 0}.hero-role span{margin:0 7px}
.city-exploring .hero-copy{width:245px;padding:19px;background:rgba(13,29,38,.80)}
.city-exploring .hero-copy h1{font-size:23px;letter-spacing:-.6px}.city-exploring .hero-copy>.eyebrow{margin-bottom:12px;font-size:7px}
.city-exploring .hero-description,.city-exploring .hero-actions{display:none}.city-exploring .hero-role{font-size:6px;letter-spacing:.8px;margin-top:15px}
.city-caption{right:3.5%;top:125px}.city-caption strong{font-size:8px}.city-caption p span{font-size:10px}
.city-footer{left:3.5%;right:3.5%;bottom:42px;background:rgba(13,27,36,.92);padding:18px 20px 13px;border:1px solid rgba(181,210,200,.24);border-radius:5px;backdrop-filter:blur(14px)}
.destination-heading{margin-bottom:12px}.destination-heading .eyebrow{font-size:7px;letter-spacing:1.6px}.destination-hint{font-size:8px}
.city-destinations{grid-template-columns:repeat(9,minmax(0,1fr));border:0;gap:4px}
.destination-button,.destination-button:first-child{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:10px 5px;min-height:58px;border:1px solid transparent!important;border-radius:3px}
.destination-button strong{font-size:10px;line-height:1.5;font-weight:550}.destination-number{font-size:8px;margin-bottom:5px;color:#94b9b6}
.destination-button small{display:none}.destination-button:hover,.destination-button[aria-pressed=true]{background:rgba(129,190,177,.16);border-color:#78a79a!important}
.destination-button[aria-pressed=true]:after{display:none}.city-footnote{margin-top:10px;font-size:7px;color:#a3b6bd}
.city-toolbar{left:3.5%;right:auto;bottom:203px;flex-wrap:wrap}.city-toolbar button{font-size:9px;background:rgba(13,27,36,.92);min-height:36px}
.zoom-controls{position:absolute;right:3.5%;bottom:203px;display:flex;border:1px solid #829b99;border-radius:4px;overflow:hidden;background:rgba(13,27,36,.92)}
.zoom-controls button{height:38px;width:40px;font-size:21px}.zoom-controls button+button{border-left:1px solid var(--line)}

.map-status{top:185px;right:3.5%;font-size:10px;max-width:280px}
.project-preview{right:3.5%;top:193px;bottom:auto;width:355px;max-height:calc(100svh - 403px);overflow:auto;padding:25px;border-color:#8eada3;scrollbar-width:thin;scrollbar-color:#5d7b76 #192d36}
.project-preview h2{font-size:28px}.project-preview p{font-size:12px}.project-preview .button{min-height:43px}.preview-return{display:block;font-size:10px;line-height:1.7}
.preview-links{display:flex;flex-direction:column;align-items:center;gap:15px;margin:20px 0}.project-preview .text-link{color:#bedbd2}
.preview-subheading{font-size:11px;font-weight:500;letter-spacing:1px;margin:24px 0 10px;color:#d4e5df}
.city-posts article{border-top:1px solid var(--line);padding:17px 0}.city-posts .eyebrow{font-size:7px;letter-spacing:1.3px}.city-posts h3{font-family:var(--display);font-size:16px;font-weight:500;line-height:1.5;margin:9px 0}.city-posts p{font-size:11px;line-height:1.85;margin:10px 0}.city-posts a{font-size:10px;color:#bedbd2;text-decoration:underline;text-underline-offset:4px}
.project-preview .preview-note{font-size:9px;line-height:1.7;color:#9fb6b9}.preview-employment{border-top:1px solid var(--line);padding-top:17px}.preview-contact{padding:20px 0;border-top:1px solid var(--line);margin-top:20px}.preview-contact small{display:block;color:#a9c9bf;font-size:9px;margin-bottom:10px}.preview-contact a{font-size:14px;overflow-wrap:anywhere}
.preview-companies{margin:20px 0}.preview-company{width:100%;text-align:left;display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:12px 0}.preview-company .company-logo{width:85px;height:52px;padding:10px;flex:none}.preview-company img{width:65px;max-height:32px;object-fit:contain}.preview-company strong{display:block;font-size:12px;font-weight:500}.preview-company small{display:block;font-size:9px;line-height:1.5;color:#a9bfbc;margin-top:5px}
.map-marker{min-height:28px;padding:4px 8px 4px 4px;gap:6px;font-size:9px;background:#183039e8}.map-marker b{width:19px;height:19px;font-size:7px}.map-marker:after{height:18px;left:14px}.map-marker.building-hover{background:#46756b;border-color:#dbecdf;color:white}
.city-section-selected .map-marker:not([aria-pressed=true]){opacity:.35}.city-section-selected .map-marker:hover,.city-section-selected .map-marker:focus-visible{opacity:1}.city-section-selected .map-marker[aria-pressed=true]{background:#a3d9cc;color:#123a35;border-color:#e1f1e3}.city-section-selected .map-marker[aria-pressed=true] b{background:#234b46;color:#e8f3e9}
@media(min-width:901px) and (max-height:800px){.hero-copy{top:115px;padding:20px;width:300px}.hero-copy h1{font-size:33px}.hero-description{font-size:11px;margin:16px 0}.hero-role{margin-top:16px}.city-caption{top:118px}.project-preview{top:180px;max-height:calc(100svh - 390px)}}
@media(min-width:901px) and (max-width:1150px){.hero-copy{left:3%;width:300px;padding:22px}.hero-copy h1{font-size:33px}.hero-description{font-size:11px}.project-preview{right:3%;width:315px}.destination-button strong{font-size:9px}.city-footer{left:3%;right:3%;padding:14px}.destination-hint{display:none}}
@media(max-width:900px){
  .city-hero{min-height:0;height:auto;max-height:none;padding:135px 6% 50px;overflow:hidden}.city-backdrop,#city-map{height:650px}
  
  .hero-copy,.city-exploring .hero-copy{position:relative;top:auto;left:auto;width:100%;max-width:510px;margin:0;padding:24px;background:rgba(13,29,38,.85)}
  .hero-copy h1,.city-exploring .hero-copy h1{font-size:42px;letter-spacing:-1.6px}.hero-copy>.eyebrow,.city-exploring .hero-copy>.eyebrow{font-size:8px;margin-bottom:18px}
  .hero-description,.city-exploring .hero-description{display:block;font-size:12px;max-width:400px}.hero-actions,.city-exploring .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap}.hero-actions .button{font-size:10px;gap:12px}
  .hero-role,.city-exploring .hero-role{font-size:7px;letter-spacing:1px;margin:20px 0 0}.city-caption{top:100px;right:6%}.city-caption strong{font-size:6px}.city-caption p span{font-size:8px}.caption-rule{height:25px}
  .city-toolbar{position:relative;bottom:auto;left:auto;right:auto;margin:24px 0 12px;gap:8px}.city-toolbar button{font-size:9px}
  .map-status{position:relative;top:auto;left:auto;right:auto;max-width:none;text-align:left;font-size:10px;padding:0;background:transparent;line-height:1.8}
  .city-footer{position:relative;bottom:auto;left:auto;right:auto;margin-top:26px;padding:18px 12px 14px}.destination-heading{margin:0 7px 14px}.destination-heading .eyebrow{font-size:7px;letter-spacing:1.2px}.destination-hint{display:none}
  .city-destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.destination-button,.destination-button:first-child{min-height:74px;padding:10px 6px;background:rgba(50,79,84,.21);border:1px solid rgba(163,199,187,.2)!important}.destination-button strong{font-size:10px}.destination-button:last-child{grid-column:auto}.destination-number{font-size:8px;margin-bottom:7px}
  .city-footnote{margin:15px 7px 0;font-size:8px;line-height:1.8}.city-footnote a{display:none}.zoom-controls{display:none}.static-attribution{font-size:8px}
  .project-preview{position:fixed;z-index:30;top:auto;bottom:12px;left:12px;right:12px;width:auto;max-height:75dvh;padding:24px;background:rgba(16,30,39,.98)}
}
@media(max-width:560px){.city-hero{padding:135px 5% 40px}.hero-copy,.city-exploring .hero-copy{padding:22px}.hero-copy h1,.city-exploring .hero-copy h1{font-size:clamp(33px,8.8vw,44px)}.hero-copy>.eyebrow,.city-exploring .hero-copy>.eyebrow{font-size:7px}.hero-actions{gap:8px}.hero-actions .button{font-size:9px;padding:12px 11px}.city-caption{right:5%}.destination-button strong{font-size:9px}.city-footer{padding:16px 9px}.city-posts h3{font-size:15px}}
/* Mouse-driven desktop side panels keep the city as the working surface. */
@media(min-width:601px) and (max-width:900px) and (pointer:fine){
  .city-hero{height:100svh;min-height:800px;padding:0;max-height:1200px}.city-backdrop,#city-map{height:100%}
  .hero-copy{position:absolute;left:3%;top:125px;width:280px;max-width:none;padding:22px}.hero-copy h1{font-size:32px;letter-spacing:-1.2px}.hero-actions{flex-direction:column}.hero-description{font-size:11px}.hero-actions .button{font-size:10px}
  .city-exploring .hero-copy{position:absolute;left:3%;top:125px;width:210px;padding:18px}.city-exploring .hero-copy h1{font-size:21px;letter-spacing:-.5px}.city-exploring .hero-description,.city-exploring .hero-actions{display:none}.city-exploring .hero-role{font-size:6px;letter-spacing:.7px}
  .city-caption{top:110px;right:3%}.map-status{position:absolute;top:160px;left:auto;right:3%;max-width:230px;padding:10px;text-align:right;background:rgba(17,27,35,.8)}
  .city-toolbar{position:absolute;left:3%;right:auto;bottom:258px;margin:0;gap:6px}.city-toolbar button{font-size:9px;padding:9px}.zoom-controls{display:flex;right:3%;bottom:258px}
  .city-footer{position:absolute;left:3%;right:3%;bottom:42px;margin:0;padding:16px 12px}.city-destinations{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.destination-button,.destination-button:first-child{min-height:58px;padding:8px 4px}.destination-button strong{font-size:10px}.city-footnote{font-size:8px}
  .project-preview{position:absolute;top:165px;left:auto;right:3%;bottom:auto;width:315px;max-height:calc(100svh - 445px);padding:22px}.project-preview h2{font-size:25px}.map-marker,.billboard-marker{display:flex}
}
.lighting-control{display:flex;align-items:center;gap:7px;padding:6px 10px;min-height:38px;border:1px solid rgba(222,235,231,.26);border-radius:3px;background:rgba(16,30,39,.9);backdrop-filter:blur(10px)}.lighting-control>span{font-size:11px;color:#b9cdcb}.lighting-control select{max-width:95px;font:inherit;font-size:14px;color:#e7f0ed;background:#10232c;border:0;padding:3px;cursor:pointer}.lighting-control select:focus-visible{outline:2px solid var(--teal);outline-offset:3px}

.company-card{display:flex;flex-direction:column}.company-card .company-logo{flex:none}.company-experience{margin-top:auto;padding-top:16px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}.career-list article:focus{outline:2px solid #568e85;outline-offset:6px}
.public-evidence{margin-top:80px;padding-top:45px;border-top:1px solid #c8d1cb}.public-evidence .section-heading h2{font-size:36px}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.evidence-card{padding:28px;border:1px solid #c8d4cc;display:flex;flex-direction:column;align-items:start;min-width:0}.evidence-card .eyebrow{color:#4d7c71;font-size:8px;margin:0 0 12px}.evidence-card h3{font-family:var(--display);font-size:22px;font-weight:500;line-height:1.4;margin:0 0 12px}.evidence-card>p:not(.eyebrow){font-size:12px;color:#5c7373;line-height:1.9;margin:0 0 22px}.evidence-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:auto}.evidence-case{margin-top:18px;font-size:10px;line-height:1.7}.evidence-web{line-height:1.8;text-decoration:underline;text-underline-offset:4px}.store-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:48px}.store-badge img{display:block;width:auto;height:40px;max-width:none}.store-android img{height:60px}.store-android{margin:-10px -10px}.linkedin-link{display:inline-flex;align-items:center;gap:8px}.linkedin-icon{width:18px;height:18px;flex:none;object-fit:contain}.button-primary .linkedin-icon,.preview-links .linkedin-icon{filter:brightness(0) invert(1)}.preview-evidence{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.preview-evidence .evidence-web{color:#bedbd2;font-size:11px}.preview-evidence .linkedin-icon{filter:brightness(0) invert(1)}.case-evidence .evidence-card h3{font-size:20px}.case-evidence .evidence-card p{font-size:12px}.preview-evidence .evidence-links{gap:10px 12px}
@media(max-width:600px){.public-evidence{margin-top:45px;padding-top:30px}.evidence-grid{grid-template-columns:1fr}.evidence-card{padding:22px}.evidence-card h3{font-size:20px}.public-evidence .section-heading h2{font-size:30px}}
.linkedin-map-label{display:inline-flex;align-items:center;gap:5px}.linkedin-map-label img{filter:brightness(0) invert(1)}.map-marker[aria-pressed=true] .linkedin-map-label img{filter:none}

/* The controls belong to the card's normal flow, not a second absolute rail. */
.hero-copy .city-toolbar{position:static;inset:auto;transform:none;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px;pointer-events:auto}.hero-copy .city-toolbar button{font-size:9px;padding:9px 11px}.hero-copy select{pointer-events:auto}.hero-disclaimer{font-size:10px;line-height:1.65;color:#bdc9cc;border-top:1px solid var(--line);padding-top:12px;margin:16px 0 0}.city-caption{padding:10px 13px;background:rgba(13,29,38,.88);border-radius:3px}.caption-rule{display:none}.primary-navigation{gap:20px}
.certifications{margin-top:65px;padding-top:40px;border-top:1px solid #c8d1cb}.certifications .section-heading h2{font-size:36px}.certifications-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.certification-card{padding:28px;border:1px solid #c8d4cc;display:flex;flex-direction:column;align-items:start;min-width:0}.certification-mark{font-size:9px;letter-spacing:1.5px;color:#467a76;border:1px solid #b5c9bf;padding:10px 13px;margin-bottom:12px}.certification-card h3{font-family:var(--display);font-size:21px;font-weight:500;line-height:1.45;margin:8px 0 12px}.certification-card p{font-size:12px;color:#5c7373;line-height:1.8;margin:0 0 25px}.certification-card a{margin-top:auto;line-height:1.7}
@media(min-width:601px){.city-hero{min-height:780px;max-height:none}.hero-copy{top:110px}.city-exploring .hero-copy .city-toolbar{gap:7px}.city-exploring .hero-disclaimer{font-size:9px}}
@media(min-width:601px) and (max-height:900px){.hero-copy{padding:19px;width:295px}.hero-copy h1{font-size:30px}.hero-description{font-size:11px;line-height:1.75;margin:13px 0}.hero-copy>.eyebrow{margin-bottom:12px}.hero-actions{gap:7px}.hero-actions .button{min-height:38px;padding:10px 12px}.hero-role{margin-top:16px}.hero-disclaimer{font-size:9px;margin-top:12px;padding-top:10px}.hero-copy .city-toolbar{margin-top:12px}.city-exploring .hero-copy{width:230px}.city-exploring .hero-copy h1{font-size:23px}}
@media(max-width:1200px){.brand-copy{display:none}.site-header{gap:16px}.primary-navigation{gap:17px;font-size:11px}}
@media(max-width:600px){html{scroll-padding-top:130px}.site-header{align-items:flex-start;padding:15px 5%;gap:14px}.primary-navigation{flex:1;justify-content:flex-end;flex-wrap:wrap;gap:3px 13px;font-size:10px}.primary-navigation a,.primary-navigation button{min-height:34px;display:inline-flex;align-items:center}.primary-navigation .nav-contact{padding:8px 11px}.city-hero{padding-top:175px}.city-caption{top:122px;right:5%}.hero-copy .city-toolbar{margin-top:16px}.certifications{margin-top:45px;padding-top:30px}.certifications .section-heading h2{font-size:30px}.certifications-grid{grid-template-columns:1fr}.certification-card{padding:22px}}
@media(min-width:750px) and (max-width:900px) and (pointer:fine){.city-destinations{grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}.destination-button strong{font-size:8px}.destination-button,.destination-button:first-child{min-height:58px;padding:8px 2px}}
@media(min-width:601px) and (max-width:749px) and (pointer:fine){.city-hero{min-height:850px}}
.certifications-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.certifications-grid{grid-template-columns:1fr}}

/* Readable text and content-driven spacing share one scale on every screen. */
:root{--header-clearance:130px}
html{scroll-padding-top:var(--header-clearance)}
body{font-size:16px;line-height:1.65}
.brand-copy small{font-size:11px;letter-spacing:1.2px}
.primary-navigation{font-size:14px;gap:18px;line-height:1.45}
.primary-navigation a,.primary-navigation button{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.primary-navigation .nav-contact{text-decoration:none}
.nav-work{display:inline-flex}
.eyebrow,.hero-copy>.eyebrow,.city-exploring .hero-copy>.eyebrow,.work-card .eyebrow,.activity-card .eyebrow,.company-card .eyebrow,.evidence-card .eyebrow,.dialog-header .eyebrow{font-size:11px;line-height:1.65;letter-spacing:1.5px}
.button,.hero-actions .button{font-size:14px;line-height:1.45;min-height:44px;padding:12px 16px;gap:12px}
.text-link,.activity-card a,.evidence-case,.preview-evidence .evidence-web,.city-posts a,.preview-return{font-size:14px;line-height:1.7;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.company-experience,.page-footer a,.city-footnote a,.preview-contact a,.contact-email{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.text-link:hover,a:hover{text-decoration-thickness:2px}
.city-hero{height:auto;min-height:100svh;max-height:none;padding:var(--header-clearance) 3.5% 38px;display:flex;flex-direction:column;gap:32px}
.city-backdrop,#city-map{height:100%}
.hero-copy,.city-exploring .hero-copy{position:relative;inset:auto;width:350px;max-width:100%;padding:24px;flex:none}
.hero-copy h1{font-size:36px;line-height:1.18;letter-spacing:-1.4px;white-space:normal}
.hero-copy>.eyebrow{margin-bottom:16px}
.hero-description{font-size:15px;line-height:1.75;margin:20px 0;max-width:none}
.hero-role,.city-exploring .hero-role{font-size:11px;line-height:1.7;letter-spacing:.7px;margin-top:20px}
.hero-disclaimer,.city-exploring .hero-disclaimer{font-size:13px;line-height:1.65;margin-top:16px;padding-top:12px}
.hero-copy .city-toolbar{gap:8px;margin-top:16px}
.hero-copy .city-toolbar button{font-size:13px;line-height:1.45;min-height:44px;padding:9px 12px}
.lighting-control{min-height:44px}.lighting-control>span{font-size:13px}.lighting-control select{font-size:15px}
.city-exploring .hero-copy{width:260px;padding:20px}
.city-exploring .hero-copy h1{font-size:27px}
.city-caption{top:var(--header-clearance)}.city-caption strong{font-size:11px;line-height:1.6;letter-spacing:1.2px}.city-caption p span{font-size:13px;line-height:1.5}
.map-status{top:calc(var(--header-clearance) + 85px);font-size:13px;line-height:1.7}
.city-footer{position:relative;inset:auto;margin-top:auto;padding:20px 18px 16px;flex:none}
.destination-heading{gap:16px;flex-wrap:wrap;margin-bottom:14px}
.destination-heading .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.2px}.destination-hint{font-size:12px}
.destination-button,.destination-button:first-child{min-height:78px;padding:10px 6px}
.destination-button strong{font-size:13px;line-height:1.45}.destination-number{font-size:11px;margin-bottom:7px}
.city-footnote{font-size:12px;line-height:1.7;gap:10px 25px;flex-wrap:wrap;margin-top:14px}
.zoom-controls{top:calc(var(--header-clearance) + 80px);right:3.5%;bottom:auto}

.section-heading>p,.career-billboard p:not(.eyebrow),.career-list p,.activity-card p,.company-card p:not(.eyebrow),.certification-card p{font-size:15px;line-height:1.8}
.work-card p,.case-section p,.case-section li,.evidence-card>p:not(.eyebrow),.case-evidence .evidence-card p{font-size:16px;line-height:1.8}
.work-card{min-height:290px}.work-card .case-number,.case-status{font-size:12px;line-height:1.6}
.page-footer{font-size:13px;line-height:1.8}
.panel-intro,.case-summary{font-size:16px;line-height:1.85}
.case-kicker,.employment,.tags span,.technical-tags span,.fact span,.system-flow span,.contact-card span{font-size:12px;line-height:1.7}
.case-subnav{font-size:14px;line-height:1.65}
.system-flow strong{font-size:15px}.system-flow p{font-size:14px;line-height:1.75}
.panel-note{font-size:14px;line-height:1.8}.certification-mark{font-size:12px;line-height:1.65;letter-spacing:1px}
.project-preview{position:fixed;z-index:40;inset:var(--header-clearance) 3.5% auto auto;width:380px;max-width:calc(100vw - 40px);max-height:calc(100dvh - var(--header-clearance) - 210px);padding:25px;overflow:auto;overscroll-behavior:contain}
.project-preview h2{font-size:29px;line-height:1.25}.project-preview p,.city-posts p{font-size:15px;line-height:1.8}
.project-preview .preview-theme,.city-posts .eyebrow{font-size:11px;line-height:1.65;letter-spacing:1.2px}
.preview-facts small,.project-preview .preview-note,.preview-contact small,.preview-company small{font-size:13px;line-height:1.7}
.preview-subheading,.preview-company strong{font-size:15px;line-height:1.6}.city-posts h3{font-size:19px;line-height:1.5}.preview-contact a{font-size:16px}.preview-return{display:block}
.map-marker{font-size:11px;line-height:1.4}.map-marker b{font-size:9px}
@media(max-width:1200px){.primary-navigation{gap:15px;font-size:14px}}
@media(max-width:1100px){.city-destinations{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.destination-button strong{font-size:13px}.project-preview{right:3%;width:350px}}
@media(max-width:900px){
  :root{--header-clearance:140px}
  .site-header{align-items:flex-start;padding:14px 5%;gap:16px}
  .primary-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;gap:4px 16px;font-size:14px;justify-content:normal}
  .primary-navigation a,.primary-navigation button{justify-content:flex-end;text-align:right;padding:6px 0;min-height:44px}
  .primary-navigation .nav-contact{justify-content:center;padding:8px 10px}
  .city-hero{padding:calc(var(--header-clearance) + 80px) 6% 40px;gap:28px}
  .hero-copy,.city-exploring .hero-copy{width:100%;max-width:510px;padding:24px}
  .hero-copy h1,.city-exploring .hero-copy h1{font-size:38px;line-height:1.18}
  .hero-description,.city-exploring .hero-description{display:block;font-size:15px;line-height:1.75;max-width:none}
  .hero-actions,.city-exploring .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap}
  .hero-actions .button{font-size:14px;flex:1 1 160px}
  .city-caption{top:var(--header-clearance);right:6%}
  .map-status{position:relative;inset:auto;font-size:13px;margin:0;max-width:none;text-align:left;background:rgba(17,27,35,.8);padding:10px 13px}
  .city-footer{margin-top:0}.city-destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .destination-heading .eyebrow{font-size:11px}.destination-button strong{font-size:13px}.city-footnote{font-size:12px}
  .project-preview{inset:var(--header-clearance) 16px auto;max-width:none;width:auto;max-height:calc(100dvh - var(--header-clearance) - 24px - env(safe-area-inset-bottom));padding:24px}
  .section-heading>p{max-width:100%;font-size:15px}
}
@media(max-width:600px){
  :root{--header-clearance:186px}
  .site-header{gap:12px}.primary-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-size:14px}
  .city-hero{padding:calc(var(--header-clearance) + 80px) 5% 35px}
  .hero-copy,.city-exploring .hero-copy{padding:22px}.hero-copy h1,.city-exploring .hero-copy h1{font-size:clamp(30px,8.7vw,38px)}
  .hero-copy>.eyebrow,.city-exploring .hero-copy>.eyebrow{font-size:11px}
  .hero-actions,.city-exploring .hero-actions{flex-direction:column}.hero-actions .button{flex:auto}
  .hero-role,.city-exploring .hero-role{font-size:11px}.hero-role span{margin:0 5px}
  .city-caption{right:5%}.city-caption strong{font-size:11px}.city-caption p span{font-size:13px}
  .city-footer{padding:18px 12px}.destination-button,.destination-button:first-child{min-height:88px;padding:10px 4px}
  .destination-button strong{font-size:12px}.destination-number{font-size:11px}.city-footnote{font-size:12px}
  .project-preview{left:12px;right:12px;padding:22px}.project-preview h2{font-size:28px}
  .dialog-header .eyebrow{font-size:11px}.case-section h3{font-size:21px}.panel-intro,.case-summary,.case-section p,.case-section li{font-size:16px}
  .page-footer{font-size:13px}.work-card{min-height:290px}
}
@media(max-width:360px){.city-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-button:last-child{grid-column:1/-1}}
@media(min-width:901px){.city-exploring .zoom-controls{right:calc(3.5% + 396px)}}
@media(min-width:901px) and (max-width:1100px){.city-exploring .zoom-controls{right:calc(3% + 366px)}}
.city-navigation{display:flex;flex-direction:column;gap:16px;flex:none}.city-navigation .city-footer{margin-top:0}
.map-help{position:static;transform:none;max-width:100%;margin:0;padding:0;background:none;color:#d0ddda;border:0;font-size:14px;line-height:1.7;text-align:center}
.map-help span{display:inline-block;max-width:100%;padding:8px 12px;background:rgba(13,27,36,.88);border-radius:3px}
@media(min-width:901px){.city-hero{display:grid;grid-template-columns:350px minmax(0,1fr);grid-template-rows:minmax(min-content,1fr) auto}.hero-copy{grid-column:1;grid-row:1;align-self:start}.city-navigation{display:contents}.map-help{grid-column:2;grid-row:1;align-self:end;justify-self:center}.city-navigation .city-footer{grid-column:1/-1;grid-row:2}}
