:root{--ink:#232323;--paper:#f9f9f9;--gutter:30px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.4 Arial,Helvetica,sans-serif}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;padding:0;background:none;cursor:pointer}button:disabled{opacity:.4;cursor:default}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}a:hover,button:hover{text-decoration:underline;text-underline-offset:4px}img{display:block;max-width:100%}h1,h2,p{margin:0;font-weight:400}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;top:15px;left:15px;width:auto;height:auto;clip:auto;background:white;padding:12px;z-index:100}.logo{width:100%;height:auto;mix-blend-mode:multiply}.logo.white{filter:invert(1);mix-blend-mode:screen}.home{position:relative;width:100%;height:100svh;min-height:580px;overflow:hidden;color:#f9f9f9;background:#232323}.home-images,.home-images a,.home-images img{position:absolute;inset:0;width:100%;height:100%}.home-images img{object-fit:cover;object-position:center}.home-images:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#0003);pointer-events:none}.home-rail{position:absolute;left:72.2%;right:30px;top:0;bottom:0;pointer-events:none}.home-rail>*{pointer-events:auto}.home-approach{position:absolute;top:30px}.home-brand{position:absolute;top:30.5%;width:235px;max-width:100%}.home-caption{position:absolute;top:68%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;width:100%;max-width:320px}.home-caption>a{line-height:1.3}.home-counter{display:flex;gap:3px;font-variant-numeric:tabular-nums;white-space:nowrap}.home-caption #pause{grid-column:2;font-size:12px;text-align:left;opacity:.8}.nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.home-rail>.nav-links{position:absolute;bottom:30px}.mobile-top{display:none}.page-header{position:fixed;inset:0 0 auto;height:80px;z-index:10;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:30px;background:var(--paper);gap:12px}.page-title{width:fit-content;max-width:100%;overflow-wrap:anywhere}.header-right{display:flex;justify-content:flex-end;gap:65px}.header-right button[aria-pressed=false]{opacity:.42}.header-center{position:relative}.filter-wrap{position:relative}#filters{position:absolute;top:30px;left:-14px;background:var(--paper);padding:14px;min-width:175px;box-shadow:0 10px 22px #0001}#filters[hidden]{display:none}#filters button{display:block;line-height:2;text-align:left}#filters button[aria-pressed=true]{text-decoration:underline;text-underline-offset:4px}.projects-page{padding:100px var(--gutter) 70px;min-height:100vh}.portfolio.grid{width:66%;columns:2;column-gap:12px}.grid .project{display:block;break-inside:avoid;margin-bottom:12px;position:relative}.project-photo img{width:100%;height:auto}.grid .project-row{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:20px;color:#fff;background:linear-gradient(transparent 45%,#0009);opacity:0;transition:opacity .2s}.grid .project:hover .project-row,.grid .project:focus-visible .project-row{opacity:1}.grid .index-number{display:none}#hover-caption{position:fixed;left:72.2%;right:30px;top:42%;pointer-events:none;max-width:270px}#hover-caption span{display:block;margin-bottom:7px}.portfolio.index{width:100%}.index .project-photo{display:none}.index .project-row{display:grid;grid-template-columns:34% 25% 1fr;gap:15px;padding:5px 0;min-height:28px;max-width:1000px}.index .project:hover{opacity:.55}.index~#hover-caption{display:none}.index-number{font-variant-numeric:tabular-nums}footer{padding:50px var(--gutter) 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}footer>div a{display:block}.footer-brand{grid-column:1/-1;margin-top:100px;max-width:100%;width:100%}body[data-page=project]{--paper:#f9f9f9}body[data-page=studio]{--paper:#232323;color:#f9f9f9}.detail-page{padding:80px var(--gutter) 30px}.project-gallery{width:83%;display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery-photo{display:block;width:100%;align-self:start}.gallery-photo:first-child,.gallery-photo:nth-child(3n+4){grid-column:1/-1}.gallery-photo img{width:100%;height:auto}.detail-description{font:32px/1.35 Arial,Helvetica,sans-serif;max-width:83%;margin:90px 0;white-space:pre-line}.next-project{display:block;font:clamp(32px,5vw,70px)/1.1 Arial,Helvetica,sans-serif;padding:80px 0 40px;max-width:1000px}.next-project span{display:block;font:14px Arial,sans-serif;margin-bottom:20px}.studio-page{padding:160px var(--gutter) 100px}.studio-page h1{font:clamp(35px,4.6vw,70px)/1.12 Arial,Helvetica,sans-serif;max-width:1000px;letter-spacing:-.025em}.studio-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;margin-top:150px;font-size:16px;line-height:1.6}.studio-columns h2{font-size:14px;margin-bottom:30px}body[data-page=studio] footer .logo{filter:invert(1);mix-blend-mode:screen}dialog{border:0;color:var(--ink);padding:0}#panel{position:fixed;inset:0 0 0 auto;margin:0;width:35vw;min-width:340px;height:100%;max-height:100%;max-width:100%;background:#fff;overflow:auto;padding:90px 30px 40px}#panel.panel-menu{width:220px;min-width:220px}#panel::backdrop{background:#0002}.panel-close{position:absolute;right:30px;top:30px;z-index:2}#panel h2{font-size:20px;margin-bottom:35px;max-width:85%;overflow-wrap:anywhere}#panel.panel-menu .nav-links{position:absolute;bottom:30px;left:30px}.panel-approach{position:absolute;top:30px;left:30px}.panel-menu .panel-close{top:65px}#panel .description{font-size:16px;line-height:1.6;white-space:pre-line}#panel .project-type{margin-bottom:30px}.contact-content{display:flex;flex-direction:column;align-items:start;gap:6px}.contact-content p{margin-top:60px}dl{display:grid;grid-template-columns:1fr 2fr;gap:30px 20px;font-size:16px}dt,dd{margin:0}#lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;background:#232323;color:#fff;margin:0;padding:70px 30px}#lightbox img{width:100%;height:calc(100svh - 160px);object-fit:contain}.lightbox-close{position:absolute;right:30px;top:25px}.lightbox-controls{display:flex;gap:35px;justify-content:center;margin-top:25px}
@media(min-width:1800px){.home-brand{width:280px}.home-caption{max-width:360px}}
@media(max-width:1000px){.header-right{gap:30px}.home-rail{left:68%}.portfolio.grid{width:70%}#hover-caption{left:75%;font-size:14px}.detail-description{font-size:26px}.project-gallery{width:88%}.studio-columns{gap:30px}}
@media(max-width:650px){:root{--gutter:20px}.home{min-height:600px}.home-images img{object-position:45% center}.home-images:after{background:linear-gradient(0deg,#0008,transparent 65%)}.home-rail{left:20px;right:20px}.home-approach,.home-brand{display:none}.mobile-top{position:absolute;top:25px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between}.mobile-top .logo{width:170px}.home-caption{top:auto;bottom:150px;width:100%;max-width:100%;font-size:16px;grid-template-columns:1fr auto}.home-rail>.nav-links{bottom:30px;gap:5px}.home-caption #pause{font-size:14px}.page-header{padding:25px 20px;grid-template-columns:minmax(0,1fr) auto;height:100px;gap:16px}.header-center{grid-row:2;grid-column:1}.header-right{grid-row:1;grid-column:2;gap:20px}.page-title{font-size:14px}.projects-page{padding-top:110px}.portfolio.grid{width:100%;columns:2;column-gap:10px}.grid .project{margin-bottom:20px}.grid .project-row{position:static;opacity:1;background:none;color:inherit;padding:8px 0 0;font-size:14px}.grid .project-row>span:not(.project-name){display:none}#hover-caption{display:none}.index .project-row{grid-template-columns:minmax(0,1fr) 90px;gap:12px;padding:9px 0}.index .index-number{display:none}.detail-page{padding-top:110px}.project-gallery{width:100%;gap:15px}.detail-description{max-width:100%;font-size:23px;margin:55px 0}.next-project{padding:50px 0 25px;font-size:32px}.studio-page{padding-top:140px;padding-bottom:60px}.studio-page h1{font-size:39px}.studio-columns{grid-template-columns:1fr;margin-top:80px;gap:45px}.studio-columns h2{margin-bottom:20px}footer{grid-template-columns:1fr 1fr;font-size:14px;gap:25px;padding:35px 20px 25px}.footer-brand{margin-top:60px}#panel{width:100%;min-width:0;padding:90px 25px 35px}#panel.panel-menu{width:75%;min-width:0}.panel-close{right:25px}#lightbox{padding:75px 15px}.lightbox-controls{gap:30px}}
@media(max-width:380px){.portfolio.grid{columns:1}.header-right{gap:13px}.studio-page h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Archistudio palette: white, charcoal, concrete grey and electric blue */
:root{--ink:#232323;--paper:#f9f9f9;--accent:#0067ff}.page-header{border-bottom:1px solid #23232312}.header-right button[aria-pressed=true],#filters button[aria-pressed=true]{color:var(--accent)}.portfolio.grid{width:100%;columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px}.grid .project{margin:0;min-width:0}.grid .project-photo{aspect-ratio:1.45;overflow:hidden;background:#e7e5e5}.grid .project-photo img{width:100%;height:100%;object-fit:cover}.grid .project-row{position:static;opacity:1;background:none;color:var(--ink);padding:10px 0 0;display:block;font-size:14px}.grid .project-row>span{display:block}.grid .project-row>span:nth-child(2){color:#6e7174;margin-top:4px}.grid .project-row .index-number{display:none}#hover-caption{display:none}body[data-page=project]{--paper:#f9f9f9}body[data-page=studio]{--paper:#232323;color:#f9f9f9}.home{background:#232323}.home-rail{color:#fff}.studio-columns h2{color:#c8cacc}a:hover,button:hover{color:var(--accent)}.home a:hover,.home button:hover,body[data-page=studio] a:hover{color:#91baff}.project-details{border-top:1px solid #e7e5e5;margin-top:35px;padding-top:30px}.credits-title{font-size:14px;font-weight:400;margin-top:35px}.credits{font-size:14px;line-height:1.6;white-space:pre-line;color:#626568}.detail-description{font-family:Arial,Helvetica,sans-serif;font-size:20px;line-height:1.6;max-width:800px}.contact-content a{overflow-wrap:anywhere}
@media(max-width:1100px){.portfolio.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.portfolio.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.grid .project-row>span:nth-child(2){display:block}}
@media(max-width:420px){.portfolio.grid{grid-template-columns:1fr}.detail-description{font-size:18px}}

.page-heading{font:inherit;margin:0}.project-context,.portfolio-intro{font-size:14px;line-height:1.6;margin:0 0 25px;max-width:760px;color:#626568}.home-approach{max-width:230px;line-height:1.5}

/* Arial typography and expanded Studio */
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;font-weight:400}.studio-page{padding-top:145px}.studio-opening{max-width:1050px;margin-bottom:85px}.studio-kicker{font-size:14px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:30px;color:#c8cacc}.studio-page .studio-opening h1{font-size:clamp(42px,6.4vw,92px);line-height:1.02;letter-spacing:-.055em;margin:0 0 35px;max-width:1050px}.studio-lead{font-size:clamp(18px,2vw,25px);line-height:1.5;max-width:760px}.studio-jump{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:40px;font-size:14px}.studio-jump a{padding-bottom:5px;border-bottom:1px solid #6e7174}.studio-section{display:grid;grid-template-columns:1fr 2fr;gap:50px;border-top:1px solid #6e7174;padding:55px 0 75px;scroll-margin-top:100px}.studio-section h2{font-size:14px;line-height:1.5;margin:0;color:#c8cacc}.studio-section h3{font-size:clamp(30px,3.4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:0 0 30px}.studio-section-body{max-width:920px;min-width:0}.studio-prose{max-width:730px}.studio-prose p,.studio-section-body>p{font-size:17px;line-height:1.7;margin-bottom:22px}.studio-section-body .studio-role{font-size:14px;color:#c8cacc;margin:-12px 0 32px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:36px 35px;margin-top:45px}.service-list article{border-top:1px solid #6e7174;padding-top:23px}.service-list h4,.process-list h4{font-size:20px;letter-spacing:-.02em;line-height:1.3;margin:0 0 13px}.service-list p,.process-list p{font-size:16px;line-height:1.65;margin:0}.process-intro{max-width:690px}.process-list{list-style:none;counter-reset:stages;padding:0;margin:38px 0 0}.process-list li{counter-increment:stages;display:grid;grid-template-columns:50px 1fr;gap:20px;padding:27px 0;border-top:1px solid #6e7174}.process-list li:before{content:counter(stages,decimal-leading-zero);font-size:14px;color:#c8cacc;font-variant-numeric:tabular-nums;padding-top:4px}.studio-enquiry{padding-bottom:10px}.studio-contact{display:block;font-size:clamp(19px,2.2vw,30px);letter-spacing:-.025em;width:fit-content;border-bottom:1px solid #c8cacc;padding-bottom:6px;margin:30px 0;overflow-wrap:anywhere;max-width:100%}.studio-work{display:inline-block;font-size:14px}.next-project{letter-spacing:-.035em}.detail-description{font-family:Arial,Helvetica,sans-serif}
@media(max-width:800px){.studio-section{grid-template-columns:1fr;gap:28px;padding:38px 0 55px}.studio-opening{margin-bottom:60px}.studio-page{padding-top:125px}.studio-page .studio-opening h1{font-size:clamp(38px,8vw,62px)}.studio-section-body{max-width:100%}.studio-prose p,.studio-section-body>p{font-size:16px}}
@media(max-width:520px){.service-list{grid-template-columns:1fr;gap:28px;margin-top:30px}.studio-jump{gap:15px 22px}.process-list li{grid-template-columns:30px 1fr;gap:15px}.studio-kicker{font-size:12px;letter-spacing:.035em}.studio-section h3{font-size:32px}.studio-opening{margin-bottom:45px}}

/* Portfolio typography: clear forms, generous scale, precise rules. */
.home-images:after{background:linear-gradient(0deg,#0009,transparent 45%),linear-gradient(270deg,#0003,transparent 45%)}
.home-caption{left:var(--gutter);right:auto;top:auto;bottom:30px;width:min(560px,60%);max-width:none;grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;font-size:18px;text-shadow:0 1px 8px #0008}
.home-caption>a{font-weight:700}.home-caption #pause{font-size:14px;opacity:1}.home-counter button{min-height:28px;min-width:28px}.home-navigation{position:absolute;left:72.2%;bottom:30px;color:#fff}.home-navigation a:hover,.home-navigation button:hover{color:#91baff}
.panel-menu .panel-close{top:30px}
body[data-page=projects] .page-header,body[data-page=project] .page-header{position:relative;min-height:80px;height:auto;align-items:center}
.projects-page{padding-top:50px}.portfolio-opening{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:end;padding:15px 0 60px}.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6;margin:0 0 24px;color:#626568}
.portfolio-opening h1{font-weight:700;font-size:clamp(44px,5.8vw,92px);letter-spacing:-.06em;line-height:1.02;margin:0}.portfolio-statement{max-width:620px}.portfolio-statement p{font-size:17px;line-height:1.6;margin-bottom:18px}.portfolio-statement p:first-child{font-size:clamp(19px,1.7vw,25px);line-height:1.4;letter-spacing:-.02em}.portfolio-statement a{display:inline-block;font-size:14px;padding-bottom:4px;border-bottom:1px solid var(--ink)}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #d2d0d0;border-bottom:1px solid #d2d0d0;padding:0;margin-bottom:30px}.category-tabs{display:flex;flex-wrap:wrap;gap:0 30px}.category-tabs button{font-size:14px;min-height:64px;position:relative;text-align:left}.category-tabs button[aria-pressed=true]{font-weight:700;color:var(--ink)}.category-tabs button[aria-pressed=true]:after{content:'';height:3px;background:var(--ink);position:absolute;bottom:0;left:0;right:0}#result-count{font-size:14px;white-space:nowrap;color:#626568}.grid .project-name{font-weight:700;line-height:1.35}.grid .project-row{padding-top:14px}.portfolio.grid{row-gap:36px}
.detail-page{padding-top:45px}.project-opening{padding:0 0 40px}.detail-title{font-size:clamp(42px,7.5vw,120px);font-weight:700;line-height:1.02;letter-spacing:-.055em;max-width:1400px;overflow-wrap:break-word;margin:0 0 28px}.project-context{font-size:16px;margin:0;max-width:none}.project-gallery{width:100%;gap:24px}.project-story{max-width:1000px;padding:65px 0 50px}.project-story .detail-description{font-size:clamp(21px,2.2vw,32px);line-height:1.5;letter-spacing:-.02em;margin:0 0 40px;max-width:none}.project-story .project-details{font-size:16px;line-height:1.5;grid-template-columns:minmax(100px,1fr) 3fr;gap:20px 28px;margin:0;padding-top:28px}.project-details dt{color:#626568}.project-details dd{overflow-wrap:anywhere}.project-story .credits-title{font-weight:700;margin:30px 0 10px}.project-story .credits{font-size:16px}.next-project{border-top:1px solid #d2d0d0;max-width:none;font-weight:700;padding-top:35px}
.design-method{margin:35px 0}.design-method article{border-top:1px solid #6e7174;padding:25px 0}.design-method span{font-size:12px;letter-spacing:.08em;color:#c8cacc}.design-method h4{font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.1;letter-spacing:-.035em;margin:15px 0}.design-method p{font-size:17px;line-height:1.65;max-width:730px}.studio-section#approach h3{font-weight:700}
@media(min-width:1800px){.home-caption{max-width:none}}
@media(max-width:1000px){.home-navigation{left:68%}.portfolio-opening{gap:35px}.category-tabs{gap:0 20px}.portfolio-statement p{font-size:16px}}
@media(max-width:800px){.portfolio-opening{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.portfolio-opening h1{font-size:clamp(44px,9vw,72px)}.portfolio-statement{max-width:670px}.portfolio-toolbar{align-items:flex-start;gap:12px;flex-direction:column;padding-bottom:16px}.category-tabs{gap:0 24px;width:100%}.category-tabs button{min-height:52px}.projects-page{padding-top:30px}.project-story{padding:40px 0}.detail-title{font-size:clamp(42px,8vw,64px)}.detail-page{padding-top:30px}}
@media(max-width:650px){.home-caption{left:20px;bottom:25px;width:calc(100% - 40px);font-size:18px;gap:10px 20px}.home-navigation{display:none}.home{min-height:480px}.portfolio-opening .eyebrow{margin-bottom:18px}.project-opening{padding-bottom:30px}.project-gallery{gap:15px}.project-story .project-details{grid-template-columns:90px minmax(0,1fr);gap:18px}.project-context{font-size:14px}.design-method p{font-size:16px}}

/* Restrained electric-blue accents across the approved palette. */
:root{--accent:#0067ff;--link:#0055d4;--muted:#6e7174;--line:#e7e5e5}
.portfolio-opening h1 .type-accent{color:var(--accent)}
.category-tabs button[aria-pressed=true]{color:var(--link)}
.category-tabs button[aria-pressed=true]:after{background:var(--accent)}
a:hover,button:hover{color:var(--link)}
.portfolio-statement a,.header-center a,.studio-work{color:var(--link)}
.portfolio-statement a{border-bottom-color:var(--accent)}
body[data-page=studio] .studio-work,body[data-page=studio] .studio-contact{color:#91baff}
body[data-page=studio] .studio-contact{border-bottom-color:#91baff}
.design-method span,.process-list li:before{color:#91baff}
.home a:hover,.home button:hover,.home-navigation a:hover,.home-navigation button:hover,body[data-page=studio] a:hover{color:#91baff}
#panel a:hover,#panel button:hover{color:var(--link)}
#lightbox button:hover{color:#91baff}
::selection{background:#0067ff;color:#fff}

/* Shared brand, navigation and type hierarchy. */
:root{--type-label:14px;--type-body:17px;--type-heading-weight:700}
.page-header,body[data-page=projects] .page-header,body[data-page=project] .page-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:26px var(--gutter);height:auto;min-height:80px;gap:20px}
.header-brand{display:block;width:180px;max-width:100%}.header-center{grid-column:2;grid-row:1;justify-self:center;text-align:center;font-size:var(--type-label);letter-spacing:normal}.header-center a{color:inherit}.header-right{grid-column:3;grid-row:1;justify-self:end;font-size:var(--type-label)}
.home>.home-brand{display:block;position:absolute;top:28px;left:var(--gutter);width:180px;max-width:calc(100% - 60px);z-index:2}
.home-navigation{display:block;position:absolute;left:auto;right:var(--gutter);bottom:30px;font:400 var(--type-label)/1.4 Arial,Helvetica,sans-serif}.home-navigation .nav-links{align-items:flex-end;text-align:right;gap:6px}
.home-caption{display:block;left:var(--gutter);right:150px;bottom:30px;width:auto;max-width:none;font:400 var(--type-label)/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal}.home-caption>a{font:inherit;letter-spacing:normal}.home-images:after{background:linear-gradient(0deg,#0009,transparent 45%),linear-gradient(180deg,#0004,transparent 25%)}
.home-images a:focus-visible{outline-offset:-6px}.eyebrow,.studio-kicker,.design-method span{text-transform:none;letter-spacing:normal;font-size:var(--type-label);line-height:1.5}
.portfolio-opening h1,.detail-title,.studio-page .studio-opening h1{font-family:Arial,Helvetica,sans-serif;font-weight:var(--type-heading-weight);letter-spacing:-.045em;line-height:1.08}
.studio-page{padding-top:65px}.studio-page .type-accent{color:#3989ff}.studio-section h3{font-weight:700;letter-spacing:-.035em;line-height:1.15}.service-list h4,.process-list h4{font-weight:700;letter-spacing:-.015em;line-height:1.3}
.studio-section h2,.studio-role,.studio-jump,.studio-work{font-size:var(--type-label);letter-spacing:normal}.studio-prose p,.studio-section-body>p,.design-method p{font-size:var(--type-body);line-height:1.65;letter-spacing:normal}.studio-section{scroll-margin-top:30px}
.next-project{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.15;overflow-wrap:break-word}.next-project>span{display:block;font:400 var(--type-label)/1.5 Arial,Helvetica,sans-serif;letter-spacing:normal;margin:0 0 20px}
.testimonial-slide{margin:0}.testimonial-slide[hidden]{display:none}.testimonial-slide blockquote{margin:0 0 30px}.testimonial-slide blockquote p{font-size:clamp(22px,2.5vw,34px);font-weight:400;line-height:1.45;letter-spacing:-.015em;margin:0}.testimonial-slide figcaption{font-size:var(--type-label);line-height:1.6}.testimonial-slide figcaption strong{display:block;font-weight:700;color:#91baff}.testimonial-slide figcaption span{display:block;color:#c8cacc}.testimonial-controls{display:flex;align-items:center;gap:30px;margin-top:32px;border-top:1px solid #6e7174;padding-top:15px}.testimonial-controls button{font:400 var(--type-label)/1.5 Arial,Helvetica,sans-serif;min-height:44px}.testimonial-controls span{font-size:var(--type-label);color:#c8cacc;font-variant-numeric:tabular-nums}.testimonial-controls button:hover{color:#91baff}
@media(max-width:650px){.page-header,body[data-page=projects] .page-header,body[data-page=project] .page-header{padding:24px var(--gutter);gap:14px;min-height:76px}.header-brand,.home>.home-brand{width:120px}.home-caption{right:120px;bottom:25px}.home-navigation{bottom:25px}.home-navigation .nav-links{gap:8px}.studio-page{padding-top:40px}.studio-prose p,.studio-section-body>p,.design-method p{font-size:16px}}
@media(max-width:380px){.header-brand,.home>.home-brand{width:105px}.page-header{gap:10px}.header-center,.header-right{font-size:13px}}

/* Supplied transparent brand assets: no inversion or blend effects. */
.logo,.logo.white,body[data-page=studio] footer .logo{filter:none;mix-blend-mode:normal;background:transparent}

/* Compact, full-resolution footer wordmark and layered portfolio filters. */
.footer-brand{width:25%;max-width:25%;margin-top:55px}.footer-brand .logo{width:100%;height:auto}
.portfolio-toolbar{display:block;margin-bottom:0}.category-tabs{gap:0 24px}.category-tabs button{min-height:54px;line-height:1.4}
.portfolio-refine{display:flex;align-items:center;flex-wrap:wrap;gap:12px 30px;padding:18px 0 25px}.subtype-tabs,.status-filters{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}.subtype-tabs[hidden]{display:none}.portfolio-refine button{font-size:14px;min-height:32px;text-align:left}.portfolio-refine button[aria-pressed=true]{color:var(--link);text-decoration:underline;text-underline-offset:6px}.status-filters{margin-left:auto}.portfolio-refine #result-count{min-width:85px;text-align:right}.project-details dd{line-height:1.65}
@media(max-width:650px){.footer-brand{margin-top:35px}.category-tabs{gap:0 20px}.category-tabs button{min-height:48px}.portfolio-refine{gap:16px 20px}.subtype-tabs{width:100%}.status-filters{margin-left:0}.portfolio-refine #result-count{margin-left:auto}}
.portfolio-empty{grid-column:1/-1;font-size:16px;line-height:1.6;padding:30px 0;color:#626568}

/* Visible portfolio classification for review. */
.grid .project-row .project-category-label,.grid .project-row .project-tag-label{display:block;font:400 14px/1.5 Arial,Helvetica,sans-serif;letter-spacing:normal;color:#6e7174;margin-top:5px;overflow-wrap:anywhere}.grid .project-row .project-tag-label{margin-top:2px}

.home-slogan{position:absolute;z-index:1;left:7.6%;top:47.5%;width:70%;max-width:1040px;pointer-events:none;color:#fff;text-shadow:0 2px 20px #0009}
.home-slogan h1{font:700 clamp(32px,3.5vw,64px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin:0 0 20px}.home-slogan p{font-size:clamp(16px,1.35vw,22px);line-height:1.4}
.home-images:after{background:linear-gradient(0deg,#0009,transparent 40%),linear-gradient(90deg,#0005,transparent 75%),linear-gradient(180deg,#0004,transparent 25%)}
.testimonial-slide:not([hidden]){animation:testimonial-enter .45s ease-out}.testimonial-controls{flex-wrap:wrap;gap:18px}#testimonial-toggle{margin-left:auto}
@keyframes testimonial-enter{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:650px){.home-slogan{left:var(--gutter);top:43%;width:calc(100% - 2 * var(--gutter))}.home-slogan h1{font-size:clamp(28px,6.8vw,42px);margin-bottom:16px}.home-slogan p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.testimonial-slide:not([hidden]){animation:none}}

.home-slogan p{max-width:740px;line-height:1.5;text-wrap:pretty}

.project-details dd a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a5a7aa}

.credits a{text-decoration:underline;text-underline-offset:.18em}.credits a:hover{color:#0067ff}

/* Homepage trial: a photographic opening with an editorial scroll. */
.home-page{isolation:isolate}.home-page>.home{position:sticky;top:0;z-index:0}.home-content{position:relative;z-index:2;background:#f9f9f9;color:#232323;padding:0 5.5vw}.home-content section{padding:110px 0;border-top:1px solid #23232330}.home-content .home-intro{border-top:0;padding-top:100px}.home-editorial{display:grid;grid-template-columns:23% 1fr;gap:30px}.home-section-label{font-size:14px;line-height:1.5;margin:0;color:#6e7174}.home-content h2{font-size:clamp(34px,5.3vw,86px);font-weight:700;letter-spacing:-.055em;line-height:1.02;margin:0 0 42px;overflow-wrap:break-word}.home-content h2 span{color:#0067ff}.home-copy{max-width:650px;margin-left:auto}.home-content p{font-size:17px;line-height:1.65}.home-copy p+p{margin-top:22px}.home-content .home-section-label{font-size:14px;line-height:1.5}.home-text-link{display:inline-block;position:relative;font-size:16px;line-height:1.5;padding-bottom:5px;margin-top:26px;text-decoration:none!important;border-bottom:1px solid #23232355}.home-text-link:after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:#0067ff;transform:scaleX(0);transform-origin:left;transition:transform .3s}.home-text-link:hover:after,.home-text-link:focus-visible:after{transform:scaleX(1)}.home-section-heading{display:grid;grid-template-columns:23% 1fr;gap:30px}.home-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw;margin-top:32px}.home-service-number{display:block;color:#0067ff;font-size:14px;margin-bottom:30px}.home-content h3{font-size:clamp(23px,2.3vw,36px);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin:0 0 24px}.home-services-grid p{max-width:400px}.home-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:25px}.home-work-card{text-decoration:none!important}.home-work-photo{overflow:hidden;aspect-ratio:4/3;margin-bottom:24px;background:#e7e5e5}.home-work-photo img{height:100%;width:100%;object-fit:cover;transition:transform .65s ease}.home-work-card:hover img,.home-work-card:focus-visible img{transform:scale(1.035)}.home-work-card:hover h3{color:#0067ff}.home-work-card h3{font-size:24px;margin-bottom:8px}.home-content .home-work-location{font-size:14px;color:#6e7174;margin-bottom:12px}.home-work-card p{font-size:16px}.home-quote{display:grid;grid-template-columns:23% 1fr;gap:30px}.home-quote figure{margin:0}.home-quote blockquote{font-size:clamp(24px,2.5vw,40px);line-height:1.35;letter-spacing:-.025em;margin:0;max-width:1000px}.home-quote figcaption{margin-top:30px;font-size:16px}.home-quote figcaption span{display:block;color:#6e7174;margin-top:5px}.home-content .home-enquiry{padding-bottom:80px}.home-enquiry h2{margin-top:38px}.home-enquiry>p:not(.home-section-label){max-width:550px}.home-social{display:flex;justify-content:space-between;align-items:baseline;margin-top:90px;border-top:1px solid #23232330;padding-top:28px;gap:20px}.home-social .home-text-link{margin-top:0}body[data-page=home]>#app>footer{position:relative;z-index:2;background:#f9f9f9}.home-scroll-cue{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);font-size:13px;z-index:2;text-align:center}.home-scroll-cue span{display:block;width:1px;height:28px;background:#fff;margin:12px auto 0}.home-caption{max-width:38%}#home-introduction{scroll-margin-top:0}.home-reveal.will-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.home-reveal.will-reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){.home-page>.home{position:relative}.home-content{padding:0 24px}.home-content section{padding:65px 0}.home-editorial,.home-section-heading,.home-quote{grid-template-columns:1fr;gap:28px}.home-content h2{font-size:clamp(36px,7vw,58px);margin-bottom:28px}.home-services-grid{grid-template-columns:1fr;gap:38px}.home-services-grid article{border-top:1px solid #23232325;padding-top:24px}.home-service-number{margin-bottom:18px}.home-services-grid p{max-width:650px}.home-work-grid{grid-template-columns:1fr;gap:40px}.home-work-card h3{font-size:28px}.home-copy{margin:0}.home-scroll-cue{top:110px;bottom:auto;left:var(--gutter);transform:none;text-align:left}.home-scroll-cue span{display:none}.home-caption{max-width:calc(100% - 150px)}.home-social{flex-direction:column;margin-top:60px}.home-content .home-intro{padding-top:65px}}
@media(prefers-reduced-motion:reduce){.home-page>.home{position:relative}.home-reveal.will-reveal{opacity:1;transform:none;transition:none}.home-work-photo img,.home-text-link:after{transition:none}.home-work-card:hover img{transform:none}}

/* Mobile homepage controls: separate menu and bottom scroll cue. */
.home-mobile-menu{display:none}
@media(max-width:800px){
 .home-page>.home{height:100svh;min-height:480px}
 .home>.home-navigation{display:none}
 .home>.home-mobile-menu{display:flex;position:absolute;z-index:3;top:20px;right:var(--gutter);width:44px;height:44px;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;color:#fff}
 .home-mobile-menu span{display:block;width:28px;height:2px;background:currentColor}
 .home>.home-scroll-cue{top:auto;left:auto;right:var(--gutter);bottom:max(18px,env(safe-area-inset-bottom));transform:none;display:flex;align-items:center;min-height:44px;font:400 14px/1.4 Arial,Helvetica,sans-serif;text-align:right;white-space:nowrap}
 .home-scroll-cue span{display:none}
 .home>.home-caption{top:auto;left:var(--gutter);bottom:max(18px,env(safe-area-inset-bottom));min-height:44px;display:flex;align-items:center;width:calc(100% - 2 * var(--gutter) - 150px);max-width:none}
 .home-caption a{overflow-wrap:anywhere}
}

.home-slogan h1 .home-title-accent{color:var(--accent)}
