@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-1.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-2.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font-3.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-4.ttf)format("truetype")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/font-5.ttf)format("truetype")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/font-6.ttf)format("truetype")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/font-7.ttf)format("truetype")}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/font-8.ttf)format("truetype")}:root{--bg:lab(98.8433% -.330806 -.661802);--surface:lab(95.3795% -1.32528 -2.18841);--fg:lab(11.3487% 1.36151 -22.9186);--muted:lab(38.5148% -3.00713 -8.14012);--border:lab(81.4607% -2.26355 -4.60356);--accent:lab(68.874% 10.6574 69.9676);--accent-fg:var(--fg);--teal:lab(30.0619% -23.0716 -.604272);--success:var(--teal);--warning:lab(44.2101% 14.2062 48.2117);--error:lab(34.6852% 47.4343 29.205);--inverse:lab(97.7143% -.998259 -.207782);--inverse-muted:lab(82.9011% -8.45626 -.904596);--font-display:"Barlow Condensed",sans-serif;--font-body:"Source Sans 3",sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--s16:64px;--s24:96px;--radius:2px;--size-body:18px;--size-sm:15px;--size-xs:13px;--size-lg:22.5px;--size-xl:28.125px;--size-h3:35.156px;--size-h2:54.93px;--duration:.16s;--width:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--s6)}body{background:var(--bg);color:var(--fg);font:var(--size-body)/1.6 var(--font-body);margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}a,button,summary{touch-action:manipulation}:is(a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline:3px solid var(--teal);outline-offset:var(--s1)}button:disabled{opacity:.5;cursor:not-allowed}button:active,.button:active{opacity:.8}::selection{background:var(--accent);color:var(--fg)}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.08}h2{font-size:clamp(40px,4.5vw,var(--size-h2));white-space:pre-line}h3{font-size:var(--size-h3)}h4{font-size:var(--size-xl)}p{max-width:65ch}.wrap{max-width:var(--width);padding-inline:var(--s16);margin-inline:auto}.skip{top:-100px;left:var(--s6);background:var(--fg);color:var(--inverse);padding:var(--s3);z-index:20;position:absolute}.skip:focus{top:var(--s3)}.header{max-width:var(--width);padding:var(--s6) var(--s16);justify-content:space-between;align-items:center;gap:var(--s6);min-height:122px;margin:auto;display:flex}.logo{background:#fff;flex-shrink:0;width:236px;height:62px;display:block;position:relative;overflow:hidden}.logo img{width:280px;max-width:none;height:auto;position:absolute;top:-31px;left:-24px}.desktop-nav,.header-actions{align-items:center;gap:var(--s6);display:flex}.desktop-nav{font-size:var(--size-sm)}.desktop-nav a{padding-block:var(--s3)}.desktop-nav a:hover{text-underline-offset:6px;text-decoration:underline}.header-actions{gap:var(--s4);font-size:var(--size-sm)}.language{justify-content:center;align-items:center;gap:var(--s2);min-width:44px;min-height:44px;font-weight:600;display:flex}.language:hover{background:var(--surface)}.header-contact{padding:var(--s3) var(--s4);background:var(--fg);color:var(--inverse);gap:var(--s6);align-items:center;display:flex}.header-contact:hover{background:var(--teal)}.mobile-menu{display:none}.hero{max-width:var(--width);padding-left:var(--s16);gap:var(--s8);grid-template-columns:1.12fr 1fr;min-height:650px;margin:auto;display:grid}.hero-copy{padding-top:var(--s12);padding-bottom:var(--s6);flex-direction:column;align-items:flex-start;display:flex}.country{font-size:var(--size-sm);color:var(--muted);margin-bottom:var(--s8)}h1{letter-spacing:-.015em;font-size:clamp(48px,5.8vw,82px);line-height:1.02}h1 span{display:block}.hero-intro{font-size:var(--size-lg);max-width:39ch;margin-top:var(--s8);color:var(--muted);line-height:1.45}.button{justify-content:space-between;align-items:center;gap:var(--s12);padding:var(--s4) var(--s6);border:1px solid var(--fg);background:var(--fg);color:var(--inverse);border-radius:var(--radius);font-size:var(--size-body);min-height:56px;transition:background var(--duration) ease-out;font-weight:600;line-height:1.35;display:inline-flex}.button:hover{background:var(--teal);border-color:var(--teal)}.button>span{font-size:var(--size-lg)}.hero .button{margin-top:var(--s8)}.hero-foot{font-size:var(--size-xs);color:var(--muted);padding-top:var(--s12);margin-top:auto}.hero-visual{background:var(--surface);border-bottom:var(--s2) solid var(--accent);flex-direction:column;display:flex;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;width:100%;height:100%;min-height:600px;position:absolute;inset:0}.hero-visual figcaption{z-index:1;background:var(--fg);color:var(--inverse);padding:var(--s3) var(--s6);font-size:var(--size-xs);margin-top:auto;position:relative}.service-directory{padding-block:var(--s16);gap:var(--s16);grid-template-columns:.75fr 1.6fr;display:grid}.service-directory h2{font:500 var(--size-xl)/1.3 var(--font-display);max-width:15ch}.directory-links{gap:var(--s8);grid-template-columns:1fr 1fr;display:grid}.directory-links a{column-gap:var(--s4);padding-bottom:var(--s6);border-bottom:3px solid var(--fg);grid-template-columns:1fr auto;display:grid}.directory-links a:last-child{border-color:var(--teal)}.directory-links a>span:first-child{font-family:var(--font-display);font-size:var(--size-xl);line-height:1.1}.directory-links small{font-size:var(--size-sm);color:var(--muted);margin-top:var(--s3);grid-row:2}.directory-links a>span:last-child{font-size:var(--size-xl);grid-area:1/2/3}.directory-links a:hover>span:first-child{text-underline-offset:5px;text-decoration:underline}.built{padding-block:var(--s24);border-top:1px solid var(--border)}.section-intro{gap:var(--s16);grid-template-columns:1fr 1fr;align-items:end;display:grid}.section-intro>p{color:var(--muted);max-width:49ch}.disciplines{gap:var(--s16);margin-top:var(--s16);grid-template-columns:1fr 1fr;display:grid}.disciplines article{border-top:2px solid var(--fg);padding-top:var(--s6)}.discipline-tag{font-size:var(--size-xs);color:var(--muted);margin-bottom:var(--s6);display:block}.disciplines h3{margin-bottom:var(--s6)}.disciplines p{color:var(--muted)}.disciplines ul{margin:var(--s8) 0;padding:0;list-style:none}.disciplines li{padding:var(--s3) 0;border-bottom:1px solid var(--border);line-height:1.4}.text-link{justify-content:space-between;align-items:center;gap:var(--s8);min-height:44px;font-weight:600;font-size:var(--size-sm);text-underline-offset:6px;background:0 0;border:0;padding:0;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--teal)}.built-note{margin-top:var(--s16);background:var(--surface);gap:var(--s12);padding:var(--s8);grid-template-columns:1fr 1.5fr;display:grid}.built-note>span{font-family:var(--font-display);font-size:var(--size-xl);line-height:1.2}.built-note p{font-size:var(--size-sm);color:var(--muted)}.consulting{background:var(--teal);color:var(--inverse);padding-block:var(--s24)}.consulting .section-intro>p{color:var(--inverse-muted)}.section-label{font-size:var(--size-sm);margin-bottom:var(--s6)}.consulting h2{font-size:clamp(40px,4.6vw,64px)}.consult-list{gap:var(--s16);margin-top:var(--s16);padding-top:var(--s8);border-top:1px solid lab(59.9418% -15.3114 -1.61446);grid-template-columns:1fr 2fr;display:grid}.consult-list>h3{font-size:var(--size-xl)}.consult-list article{gap:var(--s8);padding-bottom:var(--s6);margin-bottom:var(--s6);border-bottom:1px solid lab(59.9418% -15.3114 -1.61446);grid-template-columns:1fr 1.3fr;display:grid}.consult-list h4{font-size:var(--size-xl)}.consult-list article p{color:var(--inverse-muted);line-height:1.5}.method{margin-top:var(--s16)}.method h3{font-size:var(--size-h3);margin-bottom:var(--s8)}.method ol{gap:var(--s8);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.method li{border-top:2px solid var(--accent);padding-top:var(--s6)}.step{font-size:var(--size-xs);font-variant-numeric:tabular-nums;color:var(--inverse-muted)}.method h4{margin-top:var(--s4);margin-bottom:var(--s3)}.method li p{color:var(--inverse-muted);font-size:var(--size-sm)}.method-note{font-size:var(--size-sm);color:var(--inverse-muted);margin-top:var(--s8);max-width:85ch}.experience{padding-block:var(--s24)}.experience-context{margin-top:var(--s8);font-size:var(--size-sm);color:var(--muted);max-width:85ch}.filters{gap:var(--s2);margin-top:var(--s12);flex-wrap:wrap;display:flex}.filters button{border:1px solid var(--border);background:var(--bg);color:var(--fg);padding:var(--s3) var(--s4);min-height:48px;font-size:var(--size-sm);border-radius:var(--radius)}.filters button:hover{background:var(--surface)}.filters button[aria-pressed=true]{background:var(--fg);border-color:var(--fg);color:var(--inverse);text-underline-offset:4px;font-weight:700;text-decoration:underline}.result-count{font-size:var(--size-xs);color:var(--muted);margin:var(--s6) 0 var(--s3);font-variant-numeric:tabular-nums}.project-register{border-top:1px solid var(--border)}.project-register details{border-bottom:1px solid var(--border)}.project-register summary{cursor:pointer;align-items:center;gap:var(--s6);padding:var(--s6) 0;grid-template-columns:190px 1fr auto;min-height:88px;list-style:none;display:grid}.project-register summary::-webkit-details-marker{display:none}.project-register summary:hover h3{color:var(--teal)}.project-category{font-size:var(--size-xs);color:var(--muted)}.project-register h3{font-size:var(--size-xl);line-height:1.2}.disclosure{font-size:var(--size-xl);background:var(--surface);justify-content:center;align-items:center;width:32px;height:32px;display:flex}details[open] .disclosure{transform:rotate(45deg)}.project-register details>p{color:var(--muted);padding-bottom:var(--s6);max-width:65ch;margin-left:214px}.contact{background:var(--surface);padding-block:var(--s24)}.contact-layout{gap:var(--s24);grid-template-columns:1fr 1fr;display:grid}.contact h2{margin-bottom:var(--s8)}.contact-layout>div>p{color:var(--muted)}.email-block{margin-top:var(--s12)}.email-block>span{font-size:var(--size-sm);margin-bottom:var(--s3);color:var(--muted);display:block}.email-block a{gap:var(--s4);text-underline-offset:6px;overflow-wrap:anywhere;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;display:inline-flex}.contact-country{margin-top:var(--s8);font-size:var(--size-sm)}form{flex-direction:column;display:flex}form label{font-size:var(--size-sm);margin-bottom:var(--s2);font-weight:600}input,textarea,select{border:1px solid var(--muted);background:var(--bg);border-radius:var(--radius);width:100%;max-width:100%;padding:var(--s3) var(--s4);font-size:var(--size-body);color:var(--fg);margin-bottom:var(--s6);min-height:48px}textarea{resize:vertical}:is(input:user-invalid,textarea:user-invalid){border:2px solid var(--error)}.form-note,.form-status{font-size:var(--size-sm);color:var(--muted);margin-top:var(--s4)}.enquiry-result{margin-top:var(--s8)}.enquiry-result label{display:block}.form-status:empty{display:none}footer{padding-block:var(--s12) var(--s8)}.footer-top,.footer-bottom{justify-content:space-between;align-items:center;gap:var(--s6);display:flex}.footer-top>p{font-size:var(--size-sm);color:var(--muted)}.footer-bottom{border-top:1px solid var(--border);margin-top:var(--s8);padding-top:var(--s6);font-size:var(--size-xs);color:var(--muted)}.footer-bottom a{align-items:center;min-height:44px;display:flex}.footer-bottom a:hover{text-decoration:underline}.privacy-note{font-size:var(--size-xs);color:var(--muted);margin-top:var(--s3)}@media (min-width:1441px){.hero{padding-right:var(--s16)}}@media (max-width:1150px){.header,.wrap{padding-inline:var(--s8)}.hero{padding-left:var(--s8);gap:var(--s6)}.desktop-nav{gap:var(--s4);font-size:14px}.logo{width:205px;height:56px}.logo img{width:245px;top:-27px;left:-21px}.header-actions{gap:var(--s2)}.header-contact{display:none}.hero,.hero-visual>img{min-height:620px}h1{font-size:clamp(46px,6.1vw,70px)}.hero-intro{font-size:var(--size-body)}.section-intro,.disciplines,.contact-layout{gap:var(--s12)}.service-directory{gap:var(--s8)}.email-block a{font-size:var(--size-sm)}}@media (max-width:760px){.wrap{padding-inline:var(--s6)}.header{padding:var(--s4) var(--s6);min-height:96px}.desktop-nav{display:none}.header-actions{gap:var(--s3)}.mobile-menu{display:block}.mobile-menu>summary{cursor:pointer;min-height:44px;font-size:var(--size-sm);text-underline-offset:5px;align-items:center;text-decoration:underline;list-style:none;display:flex}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu nav{z-index:4;background:var(--bg);border-bottom:2px solid var(--fg);padding:var(--s4) var(--s6);flex-direction:column;display:flex;position:absolute;top:96px;left:0;right:0}.mobile-menu nav a{padding-block:var(--s3);min-height:48px}.logo{width:186px;height:52px}.logo img{width:224px;top:-24px;left:-20px}.hero{grid-template-columns:1fr;gap:0;min-height:0;padding:0}.hero-copy{padding:var(--s8) var(--s6)}.country{margin-bottom:var(--s6)}h1{font-size:clamp(46px,8.7vw,65px)}.hero-intro{max-width:46ch;margin-top:var(--s6)}.hero-foot{padding-top:var(--s8)}.hero-visual{height:390px}.hero-visual>img{object-position:center 58%;min-height:0}.hero-visual figcaption{padding:var(--s3) var(--s6);font-size:12px}.service-directory{padding-block:var(--s12);gap:var(--s8);grid-template-columns:1fr}.service-directory h2{max-width:25ch;font-size:var(--size-xl)}.directory-links{gap:var(--s6)}.directory-links small{font-size:var(--size-xs)}.built,.consulting,.experience,.contact{padding-block:var(--s16)}.section-intro{gap:var(--s6);grid-template-columns:1fr}h2{font-size:46px}.section-intro>p{max-width:60ch}.disciplines{margin-top:var(--s12);gap:var(--s12);grid-template-columns:1fr}.built-note{gap:var(--s4);padding:var(--s6);margin-top:var(--s12);grid-template-columns:1fr}.consulting h2{font-size:48px}.consult-list{gap:var(--s8);margin-top:var(--s12);grid-template-columns:1fr}.consult-list article{gap:var(--s3);grid-template-columns:1fr}.method{margin-top:var(--s12)}.method ol{gap:var(--s8);grid-template-columns:1fr 1fr}.project-register summary{gap:var(--s2);padding-block:var(--s6);grid-template-columns:1fr auto}.project-category{grid-column:1}.project-register h3{grid-area:2/1}.disclosure{grid-area:1/2/3}.project-register details>p{margin-left:0}.filters{gap:var(--s2);margin-top:var(--s8)}.filters button{padding:var(--s2) var(--s3);font-size:var(--size-xs)}.contact-layout{gap:var(--s12);grid-template-columns:1fr}.email-block a{font-size:var(--size-body)}.footer-top,.footer-bottom{flex-wrap:wrap;align-items:flex-start}.footer-top>p{order:3;width:100%}.footer-top .text-link{font-size:var(--size-xs);gap:var(--s2)}.footer-bottom{gap:var(--s3);font-size:var(--size-xs)}.footer-bottom>a{width:100%}}@media (max-width:360px){.header{padding-inline:var(--s4)}.logo{width:160px;height:48px}.logo img{width:194px;top:-20px;left:-17px}.header-actions{gap:var(--s2)}.wrap,.hero-copy{padding-inline:var(--s4)}h1{font-size:43px}.method ol,.directory-links{grid-template-columns:1fr}.email-block a{font-size:var(--size-sm)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}html{scroll-padding-top:180px}.masthead{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.brand-bar{align-items:center;gap:var(--s8);justify-content:space-between;min-height:98px;display:flex}.brand-location{text-align:right;font-size:var(--size-sm);color:var(--fg);margin-left:auto;line-height:1.5}.brand-location span{font-size:var(--size-xs);color:var(--muted);display:block}.navigation-band{background:var(--fg);color:var(--inverse)}.nav-inner{justify-content:space-between;align-items:center;gap:var(--s6);display:flex}.navigation-band .desktop-nav{align-items:stretch;gap:0}.navigation-band .desktop-nav a{min-height:58px;padding:var(--s4) var(--s6);font-size:var(--size-sm);border-bottom:4px solid #0000;align-items:center;display:flex}.navigation-band .desktop-nav a:first-child{padding-left:0;padding-right:var(--s8)}.navigation-band .desktop-nav a:hover{color:var(--inverse);background:lab(20.7803% -.673786 -21.078);text-decoration:none}.navigation-band .desktop-nav a[aria-current=page]{border-color:var(--accent);background:lab(18.4456% -.407115 -21.0346);font-weight:700}.navigation-band .desktop-nav a[aria-current=page]:first-child{padding-left:var(--s4)}.navigation-band a:focus-visible{outline-color:var(--accent);outline-offset:-5px}.nav-email{font-size:var(--size-xs);white-space:nowrap;padding-block:var(--s4)}.nav-email:hover{text-underline-offset:4px;text-decoration:underline}.masthead .language{border-left:1px solid var(--border);padding-left:var(--s6);min-width:72px}.breadcrumbs{gap:var(--s3);padding-block:var(--s8);font-size:var(--size-xs);color:var(--muted);flex-wrap:wrap;display:flex}.breadcrumbs a{text-underline-offset:4px;min-height:24px;text-decoration:underline}.breadcrumbs>span:last-child{color:var(--fg)}.page-construction .built{padding-top:var(--s8);border:0}.interior-title{white-space:pre-line;font-size:clamp(48px,5.6vw,76px);line-height:1.05}.page-consulting .consulting{padding-top:var(--s16)}.page-consulting .interior-title{max-width:17ch;font-size:clamp(48px,5.2vw,72px)}.page-contact .contact{padding-top:var(--s16)}.page-contact .interior-title{margin-bottom:var(--s8)}.portfolio-page{padding-top:var(--s8);padding-bottom:var(--s24)}.portfolio-heading{max-width:980px;margin-bottom:var(--s16)}.portfolio-heading h1{white-space:pre-line;max-width:22ch;font-size:clamp(52px,6.5vw,90px);line-height:1.03}.portfolio-heading .section-label{color:var(--muted);margin-bottom:var(--s6)}.portfolio-intro{font-size:var(--size-lg);color:var(--muted);max-width:58ch;margin-top:var(--s8);line-height:1.5}.portfolio-paths{gap:var(--s6);grid-template-columns:1fr 1fr;display:grid}.portfolio-paths>a{padding:var(--s12);border-top:var(--s2) solid var(--accent);flex-direction:column;align-items:flex-start;min-height:390px;display:flex;position:relative}.civil-path{background:var(--fg);color:var(--inverse)}.spaces-path{background:var(--surface);color:var(--fg)}.path-type{font-size:var(--size-sm);margin-bottom:var(--s8)}.civil-path .path-type,.civil-path p{color:var(--inverse-muted)}.spaces-path .path-type,.spaces-path p{color:var(--muted)}.portfolio-paths .path-title{white-space:pre-line;font-size:clamp(40px,4.5vw,64px);line-height:1.04}.portfolio-paths p{font-size:var(--size-body);margin-top:var(--s6);max-width:40ch}.path-bottom{width:100%;padding-top:var(--s12);font-size:var(--size-sm);justify-content:space-between;align-items:center;margin-top:auto;font-weight:600;display:flex}.path-bottom>span{font-size:var(--size-xl)}.portfolio-paths a:hover .path-bottom{text-underline-offset:6px;text-decoration:underline}.portfolio-paths a:focus-visible{outline-color:var(--teal);outline-offset:5px}.home-portfolio{padding-block:var(--s16) var(--s24);background:var(--surface)}.home-portfolio>div:first-child{align-items:end;gap:var(--s16);margin-bottom:var(--s12);grid-template-columns:1fr 1fr;display:grid}.home-portfolio>div:first-child>p{color:var(--muted)}.home-portfolio .spaces-path{background:var(--bg)}.home-portfolio .portfolio-paths>a,.related-work .portfolio-paths>a{min-height:340px;padding:var(--s8)}.related-work{padding-block:0 var(--s24)}.related-work>h2{font-size:var(--size-h3);margin-bottom:var(--s8)}.portfolio-switch{gap:var(--s2);border-bottom:1px solid var(--border);margin-bottom:var(--s16);display:flex}.portfolio-switch a{padding:var(--s4) var(--s6);border-bottom:4px solid #0000;min-height:56px;font-weight:600}.portfolio-switch a[aria-current=page]{border-color:var(--accent);background:var(--fg);color:var(--inverse)}.portfolio-switch a:hover{text-underline-offset:5px;text-decoration:underline}.portfolio-group{gap:var(--s16);padding-bottom:var(--s16);margin-bottom:var(--s16);border-bottom:1px solid var(--border);grid-template-columns:1fr 2fr;display:grid}.group-heading h2{font-size:var(--size-h3)}.group-heading p{font-size:var(--size-sm);color:var(--muted);margin-top:var(--s4);max-width:27ch}.group-projects article{padding:0 0 var(--s8);margin-bottom:var(--s8);border-bottom:1px solid var(--border)}.group-projects article:last-child{border:0;margin-bottom:0;padding-bottom:0}.group-projects h3{font-size:var(--size-xl);margin-bottom:var(--s3);line-height:1.15}.group-projects p{color:var(--muted);font-size:var(--size-body)}.portfolio-group:last-child{margin-bottom:0}.commercial-scope{background:var(--surface);padding:var(--s12);gap:var(--s12);margin-top:var(--s12);grid-template-columns:1fr 1fr;display:grid}.commercial-scope h2{font-size:var(--size-h3)}.commercial-scope p:not(.section-label){color:var(--muted)}.commercial-scope .text-link{margin-top:var(--s6)}.portfolio-attribution{font-size:var(--size-sm);color:var(--muted);max-width:95ch;margin-top:var(--s12)}.portfolio-contact,.consult-next{justify-content:space-between;align-items:center;gap:var(--s8);padding-top:var(--s12);margin-top:var(--s12);border-top:1px solid var(--border);display:flex}.portfolio-contact h2,.consult-next h2{font-size:var(--size-h3)}.consult-next{padding-block:var(--s16);border:0;margin-top:0}.footer-nav{gap:var(--s6);font-size:var(--size-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.footer-nav a{align-items:center;min-height:44px;display:flex}.footer-nav a:hover{text-underline-offset:4px;text-decoration:underline}.footer-nav a[aria-current=page]{font-weight:700}.footer-top{align-items:center}@media (max-width:1200px){.nav-email{display:none}.navigation-band .desktop-nav{justify-content:space-between;width:100%}.navigation-band .desktop-nav a{padding-inline:var(--s4)}}@media (max-width:760px){html{scroll-padding-top:105px}.brand-bar{gap:var(--s3);min-height:88px}.brand-location{display:none}.masthead .language{padding-left:var(--s3);border:0;min-width:55px}.navigation-band{background:var(--fg);border-bottom:2px solid var(--accent);height:5px}.nav-inner{display:none}.masthead .mobile-menu>summary{gap:var(--s3);background:var(--fg);min-height:44px;color:var(--inverse);padding:var(--s2) var(--s3);text-decoration:none}.menu-lines{border-top:2px solid;border-bottom:2px solid;width:16px;height:10px}.masthead .mobile-menu[open] .menu-lines{border-bottom:0;height:2px}.masthead .mobile-menu nav{background:var(--fg);color:var(--inverse);border-bottom:4px solid var(--accent);padding:var(--s3) var(--s6);top:88px}.masthead .mobile-menu nav a{padding:var(--s3) var(--s4);border-left:3px solid #0000}.masthead .mobile-menu nav a[aria-current=page]{border-left-color:var(--accent);background:lab(20.7803% -.673786 -21.078);font-weight:700}.masthead .mobile-menu nav a:focus-visible{outline-color:var(--accent);outline-offset:-3px}.breadcrumbs{padding-block:var(--s6);gap:var(--s2)}.interior-title{font-size:52px}.page-construction .built{padding-top:var(--s4)}.page-consulting .consulting,.page-contact .contact{padding-top:var(--s12)}.portfolio-page{padding-top:var(--s4);padding-bottom:var(--s16)}.portfolio-heading{margin-bottom:var(--s12)}.portfolio-heading h1{font-size:56px}.portfolio-intro{font-size:var(--size-body);margin-top:var(--s6)}.portfolio-paths{gap:var(--s4);grid-template-columns:1fr}.portfolio-paths>a,.home-portfolio .portfolio-paths>a,.related-work .portfolio-paths>a{padding:var(--s8);min-height:310px}.portfolio-paths .path-title{font-size:48px}.path-type{margin-bottom:var(--s6)}.path-bottom{padding-top:var(--s8)}.home-portfolio{padding-block:var(--s12) var(--s16)}.home-portfolio>div:first-child{gap:var(--s6);margin-bottom:var(--s8);grid-template-columns:1fr}.portfolio-switch{margin-bottom:var(--s12);gap:0}.portfolio-switch a{font-size:var(--size-sm);padding:var(--s3);flex:1;justify-content:center;align-items:center;line-height:1.3;display:flex}.portfolio-group{gap:var(--s8);padding-bottom:var(--s12);margin-bottom:var(--s12);grid-template-columns:1fr}.group-heading p{max-width:100%}.group-projects article{margin-bottom:var(--s6);padding-bottom:var(--s6)}.commercial-scope{padding:var(--s8);gap:var(--s6);grid-template-columns:1fr}.portfolio-contact,.consult-next{flex-direction:column;align-items:flex-start}.portfolio-contact h2,.consult-next h2{font-size:var(--size-h3)}.footer-top{gap:var(--s8)}.footer-nav{justify-content:flex-start;gap:var(--s2) var(--s6)}.footer-nav a{font-size:var(--size-sm)}}@media (max-width:360px){.brand-bar{padding-inline:var(--s4)}.masthead .header-actions{gap:var(--s1)}.masthead .language{min-width:40px;padding-left:0}.masthead .mobile-menu>summary{padding-inline:var(--s2);gap:var(--s2)}.portfolio-heading h1{font-size:48px}}@media (max-width:760px){.masthead .logo{width:170px;height:50px}.masthead .logo img{width:205px;top:-22px;left:-18px}.masthead .header-actions{gap:var(--s2)}.masthead .language{min-width:44px;padding-left:0}.masthead .brand-bar{gap:var(--s3)}}@media (max-width:360px){.masthead .logo{width:140px;height:44px}.masthead .logo img{width:170px;top:-18px;left:-15px}.masthead .brand-bar{gap:var(--s1)}}:root{--route-green:lab(35.1324% -32.0236 11.8319);--route-context:lab(54.7854% -3.14978 -6.53448)}.viaduct-story{padding:var(--s12) 0 var(--s16);border-bottom:1px solid var(--border);margin-bottom:var(--s16)}.viaduct-intro{gap:0 var(--s16);margin-bottom:var(--s12);grid-template-columns:1fr 1fr;align-items:end;display:grid}.viaduct-intro .section-label{color:var(--muted);grid-column:1/-1}.viaduct-intro>p:last-child{color:var(--muted);font-size:var(--size-lg)}.viaduct-layout{gap:var(--s12);grid-template-columns:1.2fr .8fr;align-items:start;display:grid}.metro-panel{background:var(--surface);padding:var(--s8);border-top:var(--s1) solid var(--route-green);min-width:0}.metro-controls{gap:var(--s2);margin-bottom:var(--s6);display:flex}.metro-controls button{min-height:48px;padding:var(--s3);font-size:var(--size-sm);color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex:1}.metro-controls button[aria-pressed=true]{background:var(--teal);color:var(--inverse);border-color:var(--teal);text-underline-offset:4px;font-weight:600;text-decoration:underline}.metro-controls button:hover{border-color:var(--teal)}.metro-legend{gap:var(--s3) var(--s6);font-size:var(--size-xs);color:var(--muted);flex-wrap:wrap;display:flex}.metro-legend>span{align-items:center;gap:var(--s2);display:flex}.metro-legend i{width:25px;display:inline-block}.legend-built{border-top:4px solid var(--route-green)}.legend-context{border-top:3px dashed var(--route-context)}.metro-schematic{width:100%;height:auto;margin:var(--s6) 0;font-family:var(--font-body);display:block;overflow:visible}.metro-built-line{fill:none;stroke:var(--route-green);stroke-width:10px;stroke-linecap:round;stroke-linejoin:round}.metro-context-line{fill:none;stroke:var(--route-context);stroke-width:6px;stroke-dasharray:8 9;stroke-linecap:round;stroke-linejoin:round}.metro-built-station{fill:var(--bg);stroke:var(--route-green);stroke-width:6px}.metro-context-station{fill:var(--surface);stroke:var(--route-context);stroke-width:4px}.metro-built-label{fill:var(--route-green);font-size:22px;font-weight:600}.metro-context-label{fill:var(--muted);font-size:20px}.metro-continuation{fill:var(--muted);font-size:18px}.metro-direction{fill:none;stroke:var(--route-context);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.metro-map-note{font-size:var(--size-xs);color:var(--muted);max-width:65ch;line-height:1.5}.viaduct-scope{padding-top:var(--s6)}.viaduct-length{padding-bottom:var(--s8);margin-bottom:var(--s8);border-bottom:1px solid var(--border)}.viaduct-length strong{font-family:var(--font-display);color:var(--route-green);font-size:96px;font-weight:500;line-height:1}.viaduct-length strong>span{font-size:48px}.viaduct-length p{font-size:var(--size-sm);color:var(--muted);max-width:32ch;margin-top:var(--s4)}.viaduct-scope h3{font-size:var(--size-xl);margin-bottom:var(--s4)}.viaduct-scope>p{font-size:var(--size-body);color:var(--muted)}.viaduct-endpoints{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--border)}.viaduct-endpoints>span{font-size:var(--size-xs);color:var(--muted)}.viaduct-endpoints>p{font-size:var(--size-body);margin-top:var(--s2);font-weight:600}.metro-source{margin-top:var(--s6);font-size:var(--size-xs)!important}.metro-source a{align-items:center;gap:var(--s2);text-underline-offset:4px;min-height:32px;text-decoration:underline;display:inline-flex}.group-projects .project-record{color:var(--fg);margin-bottom:var(--s4);font-weight:600}.group-projects .project-explanation{max-width:64ch;line-height:1.65}.archive-photo{margin-top:var(--s8);background:var(--surface)}.archive-photo>img{width:100%;height:auto;display:block}.archive-photo figcaption{padding:var(--s6)}.archive-photo figcaption>span{font-weight:600;font-size:var(--size-sm)}.archive-photo figcaption>p{font-size:var(--size-xs);margin-top:var(--s2);line-height:1.6}@media (max-width:900px){.viaduct-layout{gap:var(--s8);grid-template-columns:1fr 1fr}.metro-panel{padding:var(--s6)}.viaduct-intro{gap:var(--s6) var(--s8)}}@media (max-width:760px){.viaduct-story{padding-top:var(--s4);padding-bottom:var(--s12);margin-bottom:var(--s12)}.viaduct-intro{gap:var(--s6);margin-bottom:var(--s8);grid-template-columns:1fr}.viaduct-intro .section-label{margin-bottom:0}.viaduct-intro h2{font-size:44px}.viaduct-intro>p:last-child{font-size:var(--size-body)}.viaduct-layout{gap:var(--s8);grid-template-columns:1fr}.metro-panel{padding:var(--s4)}.metro-controls{gap:var(--s2)}.metro-controls button{font-size:var(--size-xs);padding:var(--s3) var(--s2)}.metro-schematic{margin-block:var(--s4)}.metro-schematic:not(.full-route) .metro-built-label{font-size:25px}.viaduct-scope{padding-top:0}.viaduct-length{align-items:center;gap:var(--s6);padding-bottom:var(--s6);margin-bottom:var(--s6);display:flex}.viaduct-length strong{white-space:nowrap;font-size:76px}.viaduct-length strong>span{font-size:38px}.viaduct-length p{margin-top:0}.archive-photo figcaption{padding:var(--s4)}}.mobile-station-map,.mobile-continuation{display:none}@media (max-width:760px){.metro-schematic{display:none}.mobile-station-map{margin:var(--s6) 0;padding:0;list-style:none;display:block}.mobile-station-map li{gap:var(--s4);min-height:68px;padding-block:var(--s3);font-size:var(--size-body);color:var(--route-green);grid-template-columns:28px 1fr;align-items:center;font-weight:600;line-height:1.4;display:grid;position:relative}.mobile-station-map li:before{content:"";border-left:4px solid var(--route-green);position:absolute;top:0;bottom:0;left:12px}.mobile-station-map li:first-child:before{top:50%}.mobile-station-map li:last-child:before{bottom:50%}.station-node{z-index:1;border:5px solid var(--route-green);background:var(--bg);border-radius:50%;width:22px;height:22px;margin-left:3px;display:block;position:relative}.mobile-station-map .context-station{color:var(--muted);font-weight:400}.mobile-station-map .context-station:before{border-left:3px dashed var(--route-context);left:13px}.mobile-station-map .context-station .station-node{border:3px solid var(--route-context);width:18px;height:18px;margin-left:5px}.mobile-station-map.full-route .section-boundary:before{bottom:50%}.mobile-station-map.full-route .section-boundary:after{content:"";border-left:3px dashed var(--route-context);position:absolute;top:50%;bottom:0;left:13px}.mobile-continuation{font-size:var(--size-xs);color:var(--muted);margin:0 0 var(--s6) 44px;display:block}.mobile-continuation>span{padding-left:var(--s2)}.metro-map-note{padding-top:var(--s4);border-top:1px solid var(--border)}}.privacy-page{padding-top:var(--s8);padding-bottom:var(--s24)}.privacy-heading{max-width:980px;margin-bottom:var(--s16)}.privacy-heading .section-label{color:var(--muted)}.privacy-heading h1{font-size:clamp(48px,6vw,80px);line-height:1.08}.privacy-date{font-size:var(--size-sm);color:var(--muted);margin-top:var(--s6)}.privacy-intro{font-size:var(--size-lg);color:var(--muted);margin-top:var(--s6);max-width:56ch}.privacy-layout{gap:var(--s16);grid-template-columns:280px minmax(0,1fr);align-items:start;display:grid}.privacy-index{border-top:3px solid var(--teal);padding-top:var(--s6);flex-direction:column;display:flex;position:sticky;top:190px}.privacy-index>p{font-size:var(--size-sm);margin-bottom:var(--s4);font-weight:600}.privacy-index>a{font-size:var(--size-sm);min-height:44px;padding-block:var(--s2);color:var(--muted);text-underline-offset:4px;align-items:center;text-decoration:underline;display:flex}.privacy-index>a:hover{color:var(--teal)}.privacy-content{min-width:0;max-width:76ch}.privacy-content>section{margin-bottom:var(--s12);padding-bottom:var(--s12);border-bottom:1px solid var(--border);scroll-margin-top:180px}.privacy-content>section:last-child{border:0;margin-bottom:0;padding-bottom:0}.privacy-content h2{font-size:var(--size-h3);margin-bottom:var(--s6);line-height:1.15}.privacy-content p{color:var(--muted);margin-bottom:var(--s4);overflow-wrap:anywhere;line-height:1.75}.privacy-content p:last-child{margin-bottom:0}.privacy-references ul{padding-left:var(--s6);margin-block:0 var(--s8)}.privacy-references li{margin-bottom:var(--s3)}.privacy-references li a{color:var(--teal);text-underline-offset:4px;font-size:var(--size-sm);min-height:28px;text-decoration:underline;display:inline-block}.privacy-consent{gap:var(--s3);margin:0 0 var(--s6);font-weight:400;font-size:var(--size-sm);cursor:pointer;align-items:flex-start;min-height:48px;line-height:1.6;display:flex}.privacy-consent>input{width:20px;height:20px;min-height:20px;margin:var(--s1) 0 0;accent-color:var(--teal);flex:0 0 20px;padding:0}.privacy-consent a{color:var(--teal);text-underline-offset:3px;text-decoration:underline}.footer-legal{border-top:1px solid var(--border);padding-top:var(--s4);margin-top:var(--s3);justify-content:space-between;align-items:center;gap:var(--s6);font-size:var(--size-xs);color:var(--muted);display:flex}.footer-legal>a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.footer-legal>a[aria-current=page]{color:var(--fg);font-weight:700}.trusted-organizations{padding-top:var(--s16);margin-top:var(--s16);border-top:1px solid var(--border)}.trusted-intro{gap:var(--s16);margin-bottom:var(--s12);grid-template-columns:1fr 1fr;align-items:end;display:grid}.trusted-intro>p{color:var(--muted)}.organization-list{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.organization-list li{min-height:142px;padding:var(--s8) var(--s6);border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;display:flex}.organization-name{font-family:var(--font-display);font-size:var(--size-h3);overflow-wrap:anywhere;font-weight:500;line-height:1.1}.organization-detail{font-size:var(--size-xs);color:var(--muted);margin-top:var(--s3)}.organization-list li:nth-child(3n+2){background:var(--surface)}@media (max-width:1000px){.privacy-layout{gap:var(--s8);grid-template-columns:230px minmax(0,1fr)}.privacy-index{top:180px}.organization-list{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-list li:nth-child(3n+2){background:0 0}.organization-list li:nth-child(2n){background:var(--surface)}}@media (max-width:760px){.privacy-page{padding-top:var(--s4);padding-bottom:var(--s16)}.privacy-heading{margin-bottom:var(--s12)}.privacy-heading h1{font-size:50px}.privacy-intro{font-size:var(--size-body)}.privacy-layout{gap:var(--s12);grid-template-columns:1fr}.privacy-index{padding-top:var(--s4);position:static}.privacy-index>a{padding-block:var(--s3)}.privacy-content>section{margin-bottom:var(--s8);padding-bottom:var(--s8);scroll-margin-top:110px}.privacy-content h2{font-size:32px}.privacy-content p{font-size:var(--size-body)}.footer-legal{align-items:flex-start;gap:var(--s2);flex-direction:column}.trusted-organizations{padding-top:var(--s12);margin-top:var(--s12)}.trusted-intro{gap:var(--s6);margin-bottom:var(--s8);grid-template-columns:1fr}.organization-list li{padding:var(--s6) var(--s4);min-height:120px}.organization-name{font-size:28px}}@media (max-width:360px){.organization-list{grid-template-columns:1fr}.organization-list li{min-height:100px}.privacy-heading h1{font-size:44px}}.portfolio-paths>a{min-width:0}.portfolio-paths .path-title{overflow-wrap:anywhere;max-width:100%}@media (max-width:360px){.portfolio-paths .path-title{font-size:var(--size-h3)}}
