/* Fieldwork's own architectural system: a measured grid, technical blue, sans type. */
:root{--paper:#f7f8f8;--ink:#20272b;--muted:#616b72;--line:#cdd2d5;--white:#fff;--moss:#c7d0d5;--blue:#164ecb;--font-ui:'Manrope',Arial,Helvetica,sans-serif;--font-display:var(--font-ui);font-synthesis:none}
body{font-family:var(--font-ui);font-size:15px;line-height:1.65;background:var(--paper)}
button,input,select,textarea{font-family:var(--font-ui)}
button{appearance:none;-webkit-appearance:none;border-radius:0}
h1,h2,h3,.hero h1,.project-tab strong,.project-note p,summary{font-family:var(--font-ui);font-style:normal;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
h1,h2{text-transform:uppercase}em{font:inherit;letter-spacing:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:#164ecb;color:#fff}
.concept-bar{background:var(--ink);min-height:35px;font-size:10px;letter-spacing:.02em;padding:8px 4%;color:#f4f6f7}.concept-bar>span{color:#c5cdd2}.section-shell{padding-left:4%;padding-right:4%}.eyebrow,.section-index{font:500 10px/1.6 var(--font-ui);letter-spacing:.1em;color:var(--muted)}
.hero{min-height:770px;height:calc(100svh - 35px);max-height:1050px;background:#d7d3c7;color:var(--ink)}.hero:before,.hero:after{display:none}.hero-image{top:102px;height:calc(100% - 102px);object-position:center 46%}.site-header{height:102px;padding:0 4%;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);position:relative;z-index:2}.wordmark,.footer-wordmark{font-family:var(--font-ui);font-weight:650;text-transform:uppercase;letter-spacing:-.045em;line-height:1}.wordmark{font-size:31px;display:flex;align-items:center;gap:13px}.wordmark>span{font:300 34px/.8 var(--font-ui);color:var(--blue);border:1px solid var(--blue);height:27px;width:27px;display:grid;place-items:center;margin:0;padding-bottom:4px;letter-spacing:0}.site-header nav{font-size:12px;gap:0;height:100%}.site-header nav a{padding:18px 30px;border:0;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:start;gap:6px;min-width:136px;height:100%;transition:background .2s,color .2s}.site-header nav a:before{content:'01';font-size:9px;line-height:1;color:var(--blue);letter-spacing:.04em}.site-header nav a:nth-child(2):before{content:'02'}.site-header nav a:nth-child(3):before{content:'03'}.site-header nav a:hover{background:#e9edf0;color:var(--blue)}.site-header nav .nav-contact{margin:0;min-width:136px;position:relative;padding-right:51px;border-right:1px solid var(--line)}.nav-contact>span{position:absolute;right:22px;bottom:22px;font-size:20px;color:var(--blue)}
.hero-reference{position:absolute;top:127px;left:4%;right:4%;display:flex;align-items:center;gap:0;color:var(--ink);font-size:9px;letter-spacing:.055em;text-transform:uppercase;z-index:1}.hero-reference>span{background:#f7f8f8f0;padding:9px 15px;border-right:1px solid var(--line)}.hero-reference>span:first-child{color:#fff;background:var(--blue);border-color:var(--blue);font-weight:600}.hero-content{left:0;bottom:0;width:59%;max-width:800px;background:var(--paper);padding:37px 44px 39px 6.8%;border-right:1px solid var(--line)}.hero-content>.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.09em;margin-bottom:21px;color:var(--blue)}.hero h1{font-size:clamp(43px,4.8vw,74px);font-weight:600;line-height:1.02;letter-spacing:-.057em;margin-bottom:26px;text-wrap:initial}.hero-bottom{max-width:none;gap:28px;align-items:center}.hero-bottom>p{font-size:12px;line-height:1.75;max-width:300px}.explore-link{font:500 11px/1.5 var(--font-ui);gap:30px;color:var(--blue);border-color:var(--blue);padding:10px 0;flex-shrink:0}.explore-link>span{font-size:22px}.hero-caption{bottom:26px;right:4%;max-width:32%;color:#fff;background:#20272be8;display:block;font-size:9px;line-height:1.7;padding:13px 18px;border-left:3px solid var(--blue);letter-spacing:.01em}.hero-caption>span{display:block}.hero-caption>span+span{opacity:.75;font-size:8px;margin-top:3px}
.section-index{align-items:center;gap:13px}.tiny-star{display:none}.introduction>.section-index:before{content:'+';font-size:25px;color:var(--blue);font-weight:300;line-height:1}.introduction{grid-template-columns:.8fr 2.2fr;gap:65px;padding-top:91px;padding-bottom:88px;border-bottom:1px solid var(--line);position:relative}.introduction>.section-index{align-self:start;padding-top:8px}.intro-body h2{font-size:clamp(37px,4vw,64px);line-height:1.07;letter-spacing:-.055em;margin-bottom:33px;max-width:850px}.intro-copy{grid-template-columns:1fr 1fr;gap:45px}.intro-copy>p{font-size:20px;line-height:1.55;font-weight:400;max-width:330px;letter-spacing:-.025em}.intro-copy>div>p{font-size:13px;line-height:1.9;letter-spacing:0}.text-link,.stage-caption .text-link{font-family:var(--font-ui);font-size:11px;line-height:1.5;color:var(--blue);font-weight:500;border-color:var(--blue);padding-bottom:7px}.text-link>span{font-size:20px}.text-link:hover{color:#103892}
.work{padding-top:32px;padding-bottom:84px}.section-heading{border:0;padding-top:0}.section-heading>p{font-size:11px;line-height:1.65;color:var(--muted)}.work-title{margin:28px 0 35px;border-bottom:1px solid var(--ink);padding-bottom:26px;align-items:end}.work-title h2{font-size:clamp(42px,5vw,77px);line-height:1.05;letter-spacing:-.055em}.work-title>span{font-size:10px;line-height:1.7;letter-spacing:.025em;color:var(--muted);padding-bottom:5px}.project-layout{grid-template-columns:minmax(235px,.73fr) minmax(0,2fr);gap:28px;align-items:stretch}.project-tabs{border-top:0}.project-tab{padding:26px 18px 26px 0;gap:15px;align-items:start;border-bottom:1px solid var(--line);border-left:3px solid transparent}.project-tab strong{font-size:20px;font-weight:600;letter-spacing:-.04em;line-height:1.18}.project-tab small{font-size:10px;letter-spacing:0;line-height:1.6;color:var(--muted);margin-top:10px}.tab-number{font:500 10px/1.3 var(--font-ui);padding-top:3px;color:var(--blue)}.project-tab b{font-size:19px;font-weight:400;transform:none;opacity:1;color:var(--blue);margin-top:-3px}.project-tab.active{background:var(--blue);color:#fff;border-color:var(--blue);padding:26px 17px 26px 16px}.project-tab.active .tab-number,.project-tab.active b,.project-tab.active small{color:#fff}.project-tab.active small{opacity:.82}.project-tab:hover:not(.active){background:#e7edf8;padding:26px 17px 26px 16px;border-left-color:var(--blue)}.project-note{margin:33px 0 25px;gap:13px}.project-note>span{font-size:25px;color:var(--blue)}.project-note p{font-size:14px;line-height:1.6;font-weight:400;letter-spacing:0}.study-disclosure{font-size:10px;line-height:1.8;max-width:260px;margin-top:auto;padding-top:27px}.stage-toolbar{font-size:10px;line-height:1.5;border:1px solid var(--line);padding-left:14px;margin:0;min-height:45px;align-items:stretch;gap:15px}.stage-toolbar>span{display:flex;align-items:center;color:var(--muted);letter-spacing:.025em}.view-switch{padding:0;background:transparent;gap:0}.view-switch button{border:0;border-left:1px solid var(--line);background:#edf0f2;min-height:44px;padding:10px 18px;font-size:11px;line-height:1.5;color:var(--muted)}.view-switch button[aria-pressed=true]{background:var(--ink);color:white}.view-switch button:disabled{opacity:.4;background:#eef0f1}.visual{aspect-ratio:1.45;background:#e0e4e6}.visual>img{object-position:53% center}.stage-caption{margin:0;border:1px solid var(--line);border-top:0;padding:12px 14px;font-size:10px;line-height:1.6;align-items:center;color:var(--muted)}.stage-caption .text-link{font-size:10px;border:0;padding:0;gap:15px}.project-info{margin-top:36px;padding-top:27px;grid-template-columns:1fr 1fr 1.1fr;gap:39px;border-top:1px solid var(--line)}.project-info h3{font-size:31px;line-height:1.12;letter-spacing:-.045em;margin-top:16px}.project-info>.eyebrow{color:var(--blue)}.project-info>p{font-size:13px;line-height:1.85;margin-top:23px;max-width:340px}.project-info dl{font-size:11px;line-height:1.65;margin-top:23px}.project-info dl>div{padding:10px 0;gap:20px}.project-info dl>div:first-child{padding-top:0}.project-info dt{font-size:10px}.project-info dd{line-height:1.65}
.materials{background:#edf0f2;color:var(--ink);padding:39px 0 35px;position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-image:linear-gradient(#dbe0e433 1px,transparent 1px),linear-gradient(90deg,#dbe0e433 1px,transparent 1px);background-size:48px 48px}.material-label{font-size:11px;color:var(--muted);letter-spacing:0}.materials-intro{grid-template-columns:1.4fr 1fr;gap:70px;margin:46px 0 39px;align-items:end}.materials-intro h2{font-size:clamp(39px,4.6vw,72px);line-height:1.06;letter-spacing:-.055em}.materials-intro>p{font-size:13px;line-height:1.85;max-width:355px;color:var(--muted)}.material-grid{gap:25px}.material{border:1px solid #bfc8cf;padding:18px;position:relative;background:#f7f8f8d9}.material:before,.material:after{content:'+';font:300 22px/1 var(--font-ui);position:absolute;color:var(--blue);top:-12px;left:-6px;z-index:2}.material:after{left:auto;top:auto;bottom:-9px;right:-6px}.material-sample{height:230px}.material-sample>span{top:0;left:0;padding:6px 12px;background:var(--blue);color:#fff;font-size:10px;line-height:1.5;letter-spacing:.04em;mix-blend-mode:normal}.material-heading{margin:20px 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:13px}.material-heading h3{font-size:23px;font-weight:600;line-height:1.1;letter-spacing:-.035em}.material-heading>span{font-size:9px;color:var(--muted);white-space:nowrap}.material>p{font-size:12px;line-height:1.85;max-width:none;color:var(--muted)}.materials-foot{margin-top:27px;padding-top:18px;border-color:#bfc8cf;color:var(--muted);font-size:10px;letter-spacing:.02em}
.principles{padding-top:84px;padding-bottom:84px;grid-template-columns:.8fr 2.2fr;gap:65px}.principles h2{font-size:clamp(36px,4vw,62px);line-height:1.08;letter-spacing:-.055em;margin-bottom:36px}.principles summary{font-size:23px;line-height:1.3;letter-spacing:-.025em;font-weight:500;padding:24px 0;gap:20px}.principles summary>span{font-family:var(--font-ui);font-size:10px;line-height:1.5;color:var(--blue);letter-spacing:0}.principles summary>b{font-family:var(--font-ui);font-size:24px;line-height:1;color:var(--blue);font-weight:300}.principles details>p{font-size:13px;line-height:1.85;letter-spacing:0;margin-left:36px;max-width:640px}.enquiry{grid-template-columns:.8fr 2.2fr;gap:65px;padding-top:63px;padding-bottom:63px;background:var(--blue);color:#fff;border:0}.enquiry>.section-index{max-width:200px;color:#d1deff;align-self:start;padding-top:6px}.enquiry h2{font-size:clamp(35px,4vw,62px);line-height:1.08;letter-spacing:-.055em;margin-bottom:28px}.enquiry-link{font-family:var(--font-ui);font-size:12px;line-height:1.5;font-weight:500;border-color:#b6cbff;padding-bottom:13px;gap:75px}.footer{background:var(--paper);color:var(--ink);padding:35px 4% 29px;display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;border-top:1px solid var(--line)}.footer-wordmark{font-size:34px;letter-spacing:-.045em;padding:0;display:flex;align-items:center;gap:12px}.footer-wordmark>span{font:300 34px/.8 var(--font-ui);letter-spacing:0;color:var(--blue);margin:0;padding:0}.footer-bottom{padding-top:0;border:0;display:grid;grid-template-columns:1fr auto;align-items:start;gap:21px 40px;font-size:11px;line-height:1.7}.footer-bottom>p{font-size:10px;line-height:1.85;color:var(--muted);grid-column:1/-1}.footer-bottom>a:last-child{text-align:right}.footer-bottom a:hover{color:var(--blue)}
dialog{background:var(--paper);border:1px solid var(--line);padding:23px}dialog::backdrop{background:#16212ada;backdrop-filter:blur(4px)}.dialog-header{padding-bottom:20px}.dialog-header>button{font-family:var(--font-ui);font-size:12px;line-height:1.5}.dialog-header>button span{color:var(--blue)}.dialog-copy h2{font-size:35px;line-height:1.08;letter-spacing:-.04em;margin-top:13px}.dialog-copy p{font-size:13px;line-height:1.85}.dialog-copy .dialog-disclosure{font-size:10px;line-height:1.75}.dialog-footer,.dialog-footer>button{font-size:11px;line-height:1.5}.dialog-footer>button{color:var(--blue)}
@media(min-width:1800px){.section-shell{padding-left:max(4%,calc((100vw - 1650px)/2));padding-right:max(4%,calc((100vw - 1650px)/2))}}
@media(max-width:1100px){.hero{min-height:760px}.site-header nav a,.site-header nav .nav-contact{min-width:114px;padding-left:22px}.hero-content{width:67%;padding-left:6%;padding-right:33px}.hero h1{font-size:58px}.hero-bottom{display:block}.hero-bottom>p{font-size:13px;max-width:none}.explore-link{display:inline-flex;margin-top:20px;gap:45px}.hero-caption{max-width:29%;padding:12px 14px;font-size:8px}.hero-caption>span+span{font-size:7px}.introduction,.principles,.enquiry{grid-template-columns:.65fr 2.2fr;gap:40px}.intro-copy{gap:30px}.intro-body h2{font-size:45px}.project-layout{grid-template-columns:260px minmax(0,1fr);gap:23px}.project-tab strong{font-size:20px}.project-tab{gap:13px}.project-info{gap:25px}.project-info dl>div{display:block}.project-info dd{text-align:left;margin-top:5px}.material-grid{gap:19px}.material{padding:13px}.material-heading{display:block}.material-heading h3{font-size:22px;margin-bottom:9px}.material-sample{height:215px}.materials-intro h2{font-size:54px}.principles h2,.enquiry h2{font-size:45px}.footer{grid-template-columns:1fr 1.7fr}}
@media(max-width:780px){.site-header{height:88px}.hero-image{top:88px;height:calc(100% - 88px)}.wordmark{font-size:25px;gap:10px}.wordmark>span{font-size:30px;width:24px;height:24px}.site-header nav a,.site-header nav .nav-contact{padding:15px 15px;min-width:89px;font-size:11px;gap:7px}.site-header nav a:before{font-size:8px}.nav-contact>span{right:12px;bottom:16px;font-size:17px}.site-header nav .nav-contact{padding-right:34px}.hero-reference{top:109px;font-size:8px}.hero-reference>span{padding:8px 11px}.hero{height:88svh;min-height:760px}.hero-content{width:77%;padding:28px 27px 31px 5.2%}.hero h1{font-size:52px}.hero-caption{bottom:340px;max-width:35%;font-size:8px}.hero-content>.eyebrow{font-size:9px}.hero-bottom>p{font-size:13px;line-height:1.65}.explore-link{margin-top:18px;font-size:11px}.introduction,.principles,.enquiry{grid-template-columns:1fr;gap:30px}.introduction{padding-top:60px;padding-bottom:62px}.intro-body h2{font-size:44px;max-width:630px}.intro-copy{gap:40px}.intro-copy>p{font-size:19px;max-width:none}.intro-copy>div>p{font-size:13px}.work{padding-top:27px;padding-bottom:65px}.work-title h2{font-size:57px}.work-title>span{max-width:none;font-size:9px}.project-layout{grid-template-columns:1fr;gap:22px}.project-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}.project-tab,.project-tab.active,.project-tab:hover:not(.active){padding:18px 13px;border:0;gap:10px}.project-tab:not(:last-child){border-right:1px solid var(--line)}.project-tab strong{font-size:18px;line-height:1.2}.project-tab small{font-size:9px;line-height:1.6;margin-top:9px}.project-tab b{display:none}.tab-number{font-size:9px}.project-note,.study-disclosure{display:none}.project-info{grid-template-columns:1fr 1fr;gap:24px 35px;margin-top:27px}.project-info h3{font-size:32px}.project-info>p{font-size:13px;max-width:none}.project-info dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin-top:0}.project-info dl>div,.project-info dl>div:first-child{padding:14px 0 0;border-top:1px solid var(--line);border-bottom:0}.project-info dt{font-size:10px}.project-info dd{font-size:11px;margin-top:8px}.materials{padding-top:29px;padding-bottom:29px}.materials-intro{gap:35px;grid-template-columns:1.2fr 1fr;margin-top:34px}.materials-intro h2{font-size:43px}.materials-intro>p{font-size:12px;line-height:1.75}.material-grid{gap:15px}.material-sample{height:175px}.material-heading h3{font-size:20px}.material>p{font-size:11px;line-height:1.8}.materials-foot{font-size:9px}.principles{padding-top:64px;padding-bottom:62px}.principles h2{font-size:44px}.principles summary{font-size:23px}.enquiry{padding-top:44px;padding-bottom:44px}.enquiry>.section-index{max-width:none;padding:0}.enquiry h2{font-size:44px}.footer-wordmark{font-size:29px}.footer{gap:30px;grid-template-columns:1fr 1.8fr}.footer-bottom{font-size:10px;gap:20px}.footer-bottom>p{font-size:10px}.dialog-copy{gap:25px}.dialog-copy h2{font-size:29px}}
@media(max-width:520px){.concept-bar{font-size:9px;padding:9px 4%;min-height:35px}.site-header{height:81px;padding:0 4%;gap:15px}.wordmark{font-size:23px;gap:7px}.wordmark>span{width:21px;height:21px;font-size:27px;padding-bottom:4px}.site-header nav{gap:0}.site-header nav a,.site-header nav .nav-contact{min-width:67px;padding:16px 10px;font-size:10px;line-height:1.3;gap:7px}.site-header nav a:nth-child(2){display:none}.site-header nav .nav-contact{padding-right:10px;border-right:0}.nav-contact>span{display:none}.site-header nav a:before{font-size:8px}.hero{height:calc(100svh - 35px);min-height:730px;max-height:900px}.hero-image{top:81px;height:calc(100% - 81px);object-position:55% center}.hero-reference{top:100px;left:4%;right:4%;font-size:7px}.hero-reference>span{padding:8px 10px}.hero-reference>span:last-child{display:none}.hero-content{width:100%;max-width:none;padding:25px 5% 31px;border-right:0;border-top:3px solid var(--blue);bottom:0;left:0}.hero-content>.eyebrow{font-size:8px;line-height:1.6;letter-spacing:.065em;margin-bottom:18px}.hero h1{font-size:clamp(29px,7.7vw,40px);line-height:1.06;letter-spacing:-.055em;margin-bottom:19px}.hero-bottom{display:flex;align-items:end;gap:22px;flex-wrap:wrap}.hero-bottom>p{font-size:12px;line-height:1.65;max-width:275px}.explore-link{font-size:10px;gap:43px;margin-top:0;padding:9px 0;line-height:1.5}.hero-caption{left:auto;right:4%;bottom:324px;max-width:75%;padding:9px 12px;font-size:8px}.hero-caption>span+span{font-size:7px;line-height:1.6;margin-top:2px}.section-index{font-size:9px;letter-spacing:.07em;gap:10px}.introduction{padding-top:44px;padding-bottom:48px;gap:24px}.introduction>.section-index{padding:0}.introduction>.section-index:before{font-size:22px}.intro-body h2{font-size:clamp(29px,8vw,38px);line-height:1.08;letter-spacing:-.05em;margin-bottom:25px}.intro-copy{grid-template-columns:1fr;gap:21px}.intro-copy>p{font-size:18px;line-height:1.6;letter-spacing:-.02em}.intro-copy>div>p{font-size:13px;line-height:1.8;margin-bottom:22px}.text-link{font-size:11px}.work{padding-top:23px;padding-bottom:48px}.section-heading{gap:20px;padding:0}.section-heading>p{font-size:9px;line-height:1.7}.work-title{margin:25px 0 25px;padding-bottom:23px;display:block}.work-title h2{font-size:clamp(34px,9.6vw,48px);line-height:1.08;letter-spacing:-.06em}.work-title>span{font-size:9px;margin-top:13px;text-align:left;padding:0}.project-tabs{display:block}.project-tab,.project-tab.active,.project-tab:hover:not(.active){padding:17px 13px;align-items:start;gap:13px;border:0;border-bottom:1px solid var(--line)}.project-tab:last-child{border-bottom:0}.project-tab:not(:last-child){border-right:0}.project-tab strong{font-size:20px;line-height:1.15}.project-tab>span:nth-child(2){display:block;min-width:0}.project-tab small{font-size:10px;max-width:none;text-align:left;margin-top:5px}.project-tab b{display:block;font-size:19px;padding:0;margin-top:0}.tab-number{padding-top:3px;font-size:9px}.project-layout{gap:19px}.stage-toolbar{font-size:9px;gap:9px;flex-wrap:nowrap;padding-left:11px;min-height:43px}.view-switch button{font-size:10px;min-height:43px;padding:9px 11px}.visual{aspect-ratio:1.12}.stage-caption{font-size:9px;padding:11px;gap:12px;align-items:start;line-height:1.55}.stage-caption .text-link{font-size:10px;gap:8px;flex:none}.stage-caption .text-link>span{font-size:17px}.project-info{grid-template-columns:1fr;gap:18px;margin-top:23px;padding-top:22px}.project-info h3{font-size:29px;margin-top:14px;line-height:1.15}.project-info>.eyebrow{font-size:9px}.project-info>p{font-size:13px;line-height:1.8;margin:0}.project-info dl{display:block;margin-top:1px;font-size:11px}.project-info dl>div,.project-info dl>div:first-child{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;gap:22px;border-top:1px solid var(--line)}.project-info dt{font-size:10px}.project-info dd{font-size:11px;text-align:right;margin-top:0}.materials{padding-top:26px;padding-bottom:27px;background-size:32px 32px}.material-label{font-size:10px;line-height:1.5}.materials-intro{grid-template-columns:1fr;gap:22px;margin:30px 0}.materials-intro h2{font-size:clamp(32px,8.6vw,43px);line-height:1.07;letter-spacing:-.055em}.materials-intro>p{font-size:13px;max-width:none;margin:0;line-height:1.8}.material-grid{grid-template-columns:1fr;gap:22px}.material{grid-template-columns:112px minmax(0,1fr);gap:0 18px;padding:15px;display:grid}.material-sample{height:180px;grid-row:1/3}.material-sample>span{font-size:9px;padding:5px 9px;left:0;top:0}.material-heading{margin:3px 0 9px;padding-bottom:10px;display:block}.material-heading h3{font-size:22px;line-height:1.1;margin-bottom:7px}.material-heading>span{font-size:9px}.material>p{font-size:11px;line-height:1.75;max-width:none;color:var(--muted)}.materials-foot{font-size:8px;gap:20px;margin-top:24px;padding-top:16px;line-height:1.7}.principles{padding-top:46px;padding-bottom:47px;gap:24px}.principles>.section-index{padding-top:0}.principles h2{font-size:clamp(28px,7.5vw,37px);line-height:1.09;letter-spacing:-.055em;margin-bottom:27px}.principles summary{font-size:19px;line-height:1.35;letter-spacing:-.03em;gap:13px;padding:20px 0}.principles summary>span{font-size:9px}.principles summary>b{font-size:24px}.principles details>p{font-size:13px;line-height:1.8;margin-left:0;margin-bottom:24px}.enquiry{gap:24px;padding-top:37px;padding-bottom:40px}.enquiry>.section-index{font-size:9px}.enquiry h2{font-size:clamp(27px,7.6vw,38px);line-height:1.1;letter-spacing:-.045em;margin-bottom:22px}.enquiry-link{font-size:11px;gap:65px}.footer{grid-template-columns:1fr;gap:27px;padding:30px 4% 24px}.footer-wordmark{font-size:30px;padding:0;gap:11px}.footer-wordmark>span{font-size:30px}.footer-bottom{font-size:10px;padding:0;gap:23px}.footer-bottom>p{font-size:10px;line-height:1.8}.dialog-header>.eyebrow{font-size:9px}.dialog-header>button{font-size:11px}.dialog-copy{grid-template-columns:1fr;gap:17px}.dialog-copy h2{font-size:29px;line-height:1.1}.dialog-copy p{font-size:13px;line-height:1.75}.dialog-copy .dialog-disclosure{font-size:10px}.dialog-footer,.dialog-footer>button{font-size:11px}dialog{padding:17px}.dialog-visual{height:270px}}
@media(max-width:350px){.site-header{gap:8px}.wordmark{font-size:20px;gap:6px}.wordmark>span{font-size:24px;width:19px;height:19px}.site-header nav a,.site-header nav .nav-contact{min-width:58px;font-size:9px;padding:16px 8px}.hero-content{padding-top:24px;padding-bottom:29px}.hero-content>.eyebrow{font-size:7px}.hero h1{font-size:29px}.hero-caption{bottom:327px}.hero-bottom{gap:10px}.hero-bottom>p{font-size:11px}.intro-body h2{font-size:27px}.work-title h2{font-size:31px}.project-tab strong{font-size:19px}.stage-toolbar{font-size:8px}.view-switch button{font-size:9px;padding:9px}.stage-caption{font-size:8px}.stage-caption .text-link{font-size:9px}.material{grid-template-columns:91px minmax(0,1fr);gap:0 14px;padding:12px}.material-sample{height:202px}.material-heading h3{font-size:21px}.material>p{font-size:11px}.principles h2{font-size:26px}.principles summary{font-size:18px}.enquiry h2{font-size:26px}.project-info dl>div{gap:18px}}

/* Control geometry: fixed icon boxes and stable rows at every viewport. */
html{scrollbar-gutter:stable}
.concept-bar{min-height:44px;padding-top:0;padding-bottom:0}
.concept-bar>a{min-height:44px;display:inline-flex;align-items:center}
.concept-bar a:focus-visible,.enquiry a:focus-visible{outline-color:#fff}
.hero{height:calc(100svh - 44px)}
.wordmark,.footer-wordmark{min-height:44px;flex-shrink:0}
.wordmark>span,.footer-wordmark>span{position:relative;display:block;flex:none;font-size:0;line-height:0;padding:0}
.footer-wordmark>span{width:23px;height:23px}
.wordmark>span:before,.wordmark>span:after,.footer-wordmark>span:before,.footer-wordmark>span:after{content:'';position:absolute;top:50%;left:50%;background:currentColor;transform:translate(-50%,-50%)}
.wordmark>span:before,.footer-wordmark>span:before{width:12px;height:1.5px}
.wordmark>span:after,.footer-wordmark>span:after{width:1.5px;height:12px}
.nav-contact>span{top:50%;bottom:auto;transform:translateY(-50%);width:20px;height:20px;line-height:1;display:grid;place-items:center}
.explore-link,.text-link,.enquiry-link{min-height:44px;align-items:center}
.explore-link>span,.text-link>span,.enquiry-link>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;line-height:1}
.project-tab,.project-tab.active,.project-tab:hover:not(.active){display:grid;grid-template-columns:18px minmax(0,1fr) 20px;align-items:start;gap:13px;padding:24px 16px}
.project-tab>span:nth-child(2){min-width:0}
.project-tab .tab-number,.project-tab b{min-width:0;display:grid;place-items:center;height:24px;line-height:1;padding:0;margin:0;transform:none}
.project-tab b{width:20px;font-size:19px}
.project-tab:focus-visible{position:relative;z-index:1;outline-color:var(--ink)}
.view-switch button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.3}
.view-switch button:focus-visible{position:relative;z-index:1;outline-offset:-4px;outline-color:var(--blue)}
.view-switch button[aria-pressed=true]:focus-visible{outline-color:#fff}
.stage-caption{align-items:center;padding-top:6px;padding-bottom:6px}
.stage-caption .text-link{min-height:44px;justify-content:center;gap:10px;flex:none}
.stage-caption>span{min-width:0}
.principles summary{min-height:56px;display:grid;grid-template-columns:18px minmax(0,1fr) 24px;align-items:center}
.principles summary>b{width:24px;height:24px;display:grid;place-items:center;font-size:24px;line-height:1;transform-origin:center;margin:0}
.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center;gap:12px}
.footer-bottom>a:last-child{justify-content:flex-end}
.dialog-header{gap:18px}
.dialog-header>button,.dialog-footer>button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;min-width:44px;flex:none;padding:10px 8px;line-height:1.3}
.dialog-header>button>span,.dialog-footer>button>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;line-height:1;margin:0}
.dialog-header>button>span{font-size:24px}
.dialog-footer>button>span{font-size:20px}
.dialog-footer{align-items:center;padding-top:9px}
.dialog-copy h2:focus{outline:none}
@media(max-width:780px) and (min-width:521px){.project-tab,.project-tab.active,.project-tab:hover:not(.active){grid-template-columns:16px minmax(0,1fr);padding:18px 13px;gap:10px}.project-tab b{display:none}}
@media(max-width:520px){.nav-contact>span{display:none}.project-tab,.project-tab.active,.project-tab:hover:not(.active){padding:17px 13px}.stage-caption .text-link{gap:6px}.stage-caption .text-link>span{width:18px;flex-basis:18px}.dialog-header{gap:12px}.dialog-header>button{gap:10px;padding-left:5px;padding-right:5px}.hero-caption{bottom:338px}}
