@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f6f5f1;--ink:#252921;--muted:#62675d;--line:#d2d4c9;--olive:#4b5546;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}p{margin:0 0 1.25em}h1,h2,h3{font-weight:400;line-height:1.05;margin:0;letter-spacing:-.045em}h1{font-size:clamp(52px,6.8vw,108px)}h2{font-size:clamp(36px,4.3vw,66px)}h3{font-size:27px;letter-spacing:-.025em}em,.serif{font-family:var(--serif);font-weight:400}em{font-style:italic}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;line-height:1.6;font-weight:500}.preview{background:#e5e7de;text-align:center;font-size:10px;letter-spacing:.08em;padding:7px 16px}.preview span{padding:0 10px;color:var(--olive)}header{display:flex;align-items:center;justify-content:space-between;margin:0 4.5%;min-height:130px;border-bottom:1px solid var(--line);gap:30px}.brand{width:182px;flex-shrink:0}.brand img{mix-blend-mode:multiply}nav{display:flex;gap:34px}nav a{font-size:13px;padding:12px 0;position:relative}nav a[aria-current]:after{content:'';height:1px;position:absolute;bottom:6px;left:0;right:0;background:var(--ink)}nav a:hover{color:#66745b}.menu{display:none}.skip{position:absolute;left:20px;top:-60px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:2px solid #647b44;outline-offset:5px}.home-title{padding:64px 8% 42px}.home-title .eyebrow{margin-bottom:24px}.intro-line{display:flex;align-items:end;justify-content:space-between;margin-top:34px}.intro-line p{font-size:14px;margin:0;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:13px}.text-link span{margin-left:60px}.hero{margin:0 4.5%}.hero img{height:min(65vw,650px);object-fit:cover}.hero figcaption{display:flex;align-items:center;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.hero figcaption strong{font-size:16px;font-weight:400}.hero figcaption span:last-child{margin-left:auto}.section{padding:100px 8%}.studio-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px}.studio-intro h2{margin-bottom:35px}.lead{font-size:20px;line-height:1.65;max-width:680px;color:var(--muted)}.studio-intro .lead{font-size:21px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.image-wrap{overflow:hidden;position:relative;background:#dfe0d6}.image-wrap img{aspect-ratio:1.45;object-fit:cover;transition:transform .7s}.project-card a:hover img{transform:scale(1.035)}.view{position:absolute;bottom:18px;right:18px;background:var(--paper);padding:10px 14px;font-size:11px;opacity:0;transition:opacity .2s}.project-card a:hover .view,.project-card a:focus-visible .view{opacity:1}.card-info{display:flex;justify-content:space-between;gap:15px;padding-top:18px}.card-info h3{margin-top:8px}.card-info .eyebrow{font-size:9px;color:var(--muted)}.card-index{font-size:11px;color:var(--muted);padding-top:5px}.credit-small{font-size:10px;color:var(--muted);margin-top:10px}.service-band{background:#e6e8de;padding:76px 8%;display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:30px;align-items:start}.service-band h2{font-size:clamp(35px,3.8vw,58px)}.service-band p:not(.eyebrow){font-size:14px}.page-title{padding:80px 8% 55px}.page-title h1{margin:22px 0 35px}.page-title .lead{font-size:18px;max-width:590px}.projects-section{padding-top:16px}.filters{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}.filters button{border:1px solid var(--line);background:transparent;padding:9px 17px;font-size:12px;border-radius:30px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.count{font-size:11px;color:var(--muted);margin:20px 0 35px}.project-card[hidden]{display:none}.service-list{padding-top:0}.service-list article{display:grid;grid-template-columns:.25fr 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:45px 0}.service-list h2{font-size:36px}.service-list h3{font-size:19px;line-height:1.4;margin-bottom:18px}.service-list p{color:var(--muted);font-size:15px}.team{padding-top:20px}.team article{display:grid;grid-template-columns:1fr 1.65fr;gap:9%;padding:50px 0 80px;border-top:1px solid var(--line)}.portrait img{aspect-ratio:.86;object-fit:cover}.team h2{margin:15px 0}.credentials{font-size:12px;color:var(--muted);margin-bottom:25px}.team article p:not(.eyebrow):not(.credentials){font-size:15px;color:var(--muted)}.collaboration{border-top:1px solid var(--line);padding-top:35px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.collaboration p:last-child{font-size:20px}.contact-grid{padding-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.email{font-size:clamp(21px,2.6vw,38px);letter-spacing:-.035em;display:block;margin:24px 0 10px}.address{margin-top:64px}.enquiry{background:#e6e8de;padding:40px}.enquiry h2{font-size:36px;margin-bottom:24px}.enquiry p,.enquiry li{font-size:14px}.enquiry ul{padding-left:18px;line-height:2}.button{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;padding:16px 22px;margin:30px 0 12px;font-size:13px}.small{font-size:11px!important;color:var(--muted)}.project-title{padding:60px 8% 40px}.project-title h1{font-size:clamp(45px,6.5vw,92px);margin:35px 0}.project-meta{display:flex;gap:38px;font-size:12px;color:var(--muted)}.project-hero{margin:0 4.5%}.project-hero img{max-height:760px;object-fit:cover}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:9%}.project-story h2{font-size:clamp(34px,3.5vw,52px)}.project-story .lead{font-size:18px}.project-credit{border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-size:12px;color:var(--muted)}.project-credit strong{font-weight:500;color:var(--ink)}.gallery{padding-top:0}.gallery>div{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery-image{padding:0;border:0;background:transparent;text-align:left}.gallery-image img{aspect-ratio:1.5;object-fit:cover}.gallery-image span{display:block;font-size:11px;padding-top:12px}.next-project{display:grid;grid-template-columns:1fr 3fr auto;align-items:center;gap:25px;padding:45px 8%;border-top:1px solid var(--line)}.next-project strong{font-size:clamp(24px,3.7vw,50px);font-weight:400;letter-spacing:-.04em}.next-project>span:last-child{font-size:40px}footer{background:#30392e;color:#f4f3ec;padding:65px 8% 20px}.footer-top{border-bottom:1px solid #66705f;padding-bottom:50px;margin-bottom:45px}.footer-top .eyebrow{color:#c7cdbe}.footer-cta{font-size:clamp(44px,5.8vw,88px);letter-spacing:-.05em;line-height:1.05;display:block}.footer-cta span{float:right}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .5fr;gap:24px;font-size:12px;color:#d7dccf}.footer-grid strong{font-weight:500;color:#fff}.footer-grid p{margin-top:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #66705f;margin-top:30px;padding-top:18px;font-size:10px;color:#d7dccf}dialog{border:0;background:var(--paper);padding:55px 20px 14px;max-width:95vw;width:1200px;max-height:95vh}dialog::backdrop{background:#111d}dialog img{max-height:75vh;object-fit:contain}dialog p{font-size:12px;margin:12px 0 0}.close{position:absolute;right:20px;top:12px;background:transparent;border:0;padding:7px}
@media(min-width:1500px){body{max-width:1800px;margin:auto}.home-title{padding-top:80px}}
@media(max-width:900px){header{min-height:110px}.brand{width:150px}nav{gap:20px}.section{padding:65px 6%}.home-title,.page-title{padding-left:6%;padding-right:6%}.service-band{grid-template-columns:1fr 2fr;padding:55px 6%}.service-band>div{grid-column:2}.studio-intro{grid-template-columns:1fr 2fr}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.service-list article{grid-template-columns:35px 1fr;gap:20px}.service-list article>div{grid-column:2}.contact-grid{gap:5%}.enquiry{padding:28px}.team article{gap:6%}.lead{font-size:18px}}
@media(max-width:620px){header{min-height:96px;position:relative;margin:0 6%}.brand{width:130px}.menu{display:block;border:0;background:transparent;font-size:13px;padding:15px 0 15px 20px}.menu span{margin-left:20px}nav{display:none;position:absolute;top:100%;left:-7%;right:-7%;background:var(--paper);z-index:5;padding:20px 7% 30px;box-shadow:0 12px 12px #0001}nav.open{display:flex;flex-direction:column;gap:8px}nav a{font-size:20px;align-self:start}.preview{font-size:9px}.home-title{padding-top:40px;padding-bottom:28px}.home-title .eyebrow{font-size:9px;letter-spacing:.1em}h1{font-size:53px}.intro-line{gap:22px;align-items:start;flex-direction:column;margin-top:25px}.intro-line p{font-size:13px}.hero{margin:0}.hero img{height:330px}.hero figcaption{margin:0 6%;flex-wrap:wrap;gap:4px 15px;padding:13px 0}.hero figcaption strong{font-size:14px}.hero figcaption span:last-child{margin-left:0;width:100%;font-size:10px}.section{padding:52px 6%}.studio-intro{grid-template-columns:1fr;gap:14px}.studio-intro h2{font-size:39px;margin-bottom:25px}.studio-intro .lead{font-size:17px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:38px}.section-heading .text-link{margin-top:25px}.project-grid{grid-template-columns:1fr;gap:36px}.card-info h3{font-size:26px}.image-wrap img{aspect-ratio:1.35}.view{display:none}.service-band{display:block;padding:45px 6%}.service-band h2{font-size:40px;margin:24px 0}.service-band>div{max-width:330px}.page-title{padding-top:45px;padding-bottom:35px}.page-title h1{font-size:50px}.page-title .lead{font-size:17px}.projects-section{padding-top:5px}.filters{gap:7px}.filters button{font-size:11px;padding:8px 12px}.service-list{padding-top:0}.service-list article{padding:28px 0;grid-template-columns:25px 1fr;gap:15px}.service-list h2{font-size:31px}.team{padding-top:0}.team article{grid-template-columns:1fr;gap:28px;padding:35px 0 50px}.portrait{max-width:340px}.team h2{font-size:42px}.collaboration{grid-template-columns:1fr;gap:10px}.collaboration p:last-child{font-size:18px}.contact-grid{grid-template-columns:1fr;gap:35px;padding-top:0}.email{font-size:30px}.address{margin-top:35px}.enquiry{padding:27px}.project-title{padding:35px 6%}.project-title h1{font-size:50px;margin:25px 0}.project-meta{flex-wrap:wrap;gap:10px 22px}.project-hero{margin:0}.project-hero img{min-height:270px;object-fit:cover}.project-story{grid-template-columns:1fr;gap:25px}.project-story h2{font-size:38px}.gallery{padding-top:0}.gallery>div{grid-template-columns:1fr}.next-project{padding:30px 6%;grid-template-columns:1fr auto;gap:12px}.next-project .eyebrow{grid-column:1/-1}.next-project strong{font-size:30px}footer{padding:45px 6% 18px}.footer-top{padding-bottom:30px;margin-bottom:30px}.footer-cta{font-size:50px}.footer-cta span{font-size:40px}.footer-grid{grid-template-columns:1fr;gap:22px}.footer-grid p{margin-bottom:0}.footer-bottom{font-size:9px;gap:15px}.footer-top .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Image captions stay hidden; accessible image descriptions remain. */
.gallery-image span, #lightbox p { display: none; }

/* Compact team portraits, aligned with DTA profile proportions */
.team article{grid-template-columns:180px minmax(0,1fr);gap:clamp(32px,6vw,88px)}
.team .portrait{width:180px;max-width:100%}
.team .portrait img{display:block;width:180px;height:225px;aspect-ratio:4/5;object-fit:cover}
@media(max-width:700px){.team article{grid-template-columns:1fr;gap:28px}}

/* Compact Projects portfolio */
.portfolio-page .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}
.portfolio-page .card-info{padding-top:12px;gap:10px}
.portfolio-page .card-info h3{font-size:clamp(20px,1.7vw,27px);line-height:1.2;margin-top:6px}
.portfolio-page .image-wrap img{aspect-ratio:1.5}
.portfolio-page .count{margin-bottom:22px}
@media(max-width:1000px){.portfolio-page .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}}
@media(max-width:600px){.portfolio-page .project-grid{grid-template-columns:1fr;gap:28px}}

/* Professional memberships */
.memberships{padding-top:0;padding-bottom:72px}.memberships h2{font-size:12px;margin:0 0 16px}.memberships>p{font-size:16px;margin:0 0 36px}.membership-logos{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:64px;border-top:1px solid #d5d5cb;padding-top:32px}.membership-logos img{display:block;width:100%;max-width:320px;height:100px;object-fit:contain;mix-blend-mode:multiply}.membership-logos img:nth-child(2){max-width:250px}.membership-logos img:nth-child(3){max-width:250px}@media(max-width:650px){.membership-logos{grid-template-columns:1fr;gap:30px}.membership-logos img{height:auto;max-height:100px;max-width:270px}.memberships{padding-bottom:48px}}

/* Supplied 2027 MAS logos */
header .brand{width:210px}header .brand img{width:100%;height:auto;mix-blend-mode:normal}.footer-brand{display:block;width:180px;max-width:100%;margin-bottom:20px}.footer-brand img{width:100%;height:auto}@media(max-width:620px){header .brand{width:155px}}
