@font-face{font-family:Studio;src:local('Arial');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#23211e;background:#f9f7f4;font-family:Studio,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ed4e28;outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h2{font-size:clamp(38px,4.4vw,76px);line-height:1.06;letter-spacing:-.055em}h3{font-size:clamp(26px,2.2vw,38px);line-height:1.12;letter-spacing:-.04em}.serif,em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.055em}.eyebrow{text-transform:uppercase;letter-spacing:.055em;font-size:12px;font-weight:500}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:#ed4e28;padding:12px}.skip-link:focus{top:10px}.site-header{height:104px;padding:0 3.4%;display:flex;align-items:center;gap:4%;background:#f9f7f4;position:relative;z-index:50;border-bottom:1px solid #d6d4d1}.wordmark{display:block;width:178px;flex-shrink:0;line-height:0;color:#23211e}.hdrv-mark{display:block;width:100%;height:auto;overflow:visible}.header-descriptor{font-size:12px;line-height:1.35}.site-header nav{margin-left:auto;display:flex;gap:38px;align-items:center;font-size:14px}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:#c63d1b}sup{font-size:12px;margin-left:4px}.contact-nav{border-bottom:1px solid currentColor;padding:8px 0}.contact-nav span{padding-left:28px}.menu-toggle{display:none}.hero{padding:0 20px}.hero-topline,.hero-bottomline{display:flex;justify-content:space-between;gap:16px;padding:17px 1.5%;font-size:12px}.hero-topline>span:last-child{font-variant-numeric:tabular-nums}.hero-topline #london-time{margin-left:15px}.hero-stage{height:min(760px,76vh);min-height:570px;position:relative;isolation:isolate;overflow:hidden;background:#333d3f;color:white}.hero-images,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease,transform 8s linear;transform:scale(1.035);object-position:center 52%}.hero-images img.active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 85%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.hero-copy{padding:clamp(32px,4vw,70px);padding-top:clamp(60px,7vw,120px)}.hero-copy .eyebrow{margin-bottom:25px}.hero-copy h1{font-size:clamp(66px,8.6vw,156px);line-height:.94;letter-spacing:-.065em}.hero-copy h1 em{color:#ff9a78;letter-spacing:-.065em}.hero-explore{margin-top:36px;display:flex;align-items:center;gap:32px;font-size:14px;width:max-content;border-bottom:1px solid #ffffff85;padding-bottom:12px}.hero-explore span{font-size:24px}.hero-footer{position:absolute;bottom:28px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}.hero-project{font-size:13px;display:flex;gap:23px;align-items:center}.hero-project-index{opacity:.7;font-variant-numeric:tabular-nums;font-size:12px}.hero-project-title{max-width:320px}.hero-project>span:last-child{margin-left:8px}.hero-controls{display:flex;gap:5px}.hero-controls button{width:40px;height:40px;background:transparent;border:1px solid #ffffff75;border-radius:50%;font-size:18px;transition:.2s}.hero-controls button:hover{background:white;color:#23211e}.hero-controls #hero-pause{font-size:13px}.slide-progress{height:3px;position:absolute;bottom:0;left:0;right:0;background:#ffffff24}.slide-progress>span{display:block;background:#f26940;height:100%;width:33.33%;transition:width .5s}.hero-bottomline{padding-top:18px;padding-bottom:22px}.hero-bottomline a>span{margin-left:28px}.section-pad{padding:110px 4.8%}.intro{display:grid;grid-template-columns:24% 1fr;border-bottom:1px solid #d5d3d0;padding-top:115px;padding-bottom:115px}.section-label{padding-top:10px}.intro-bottom{margin-top:44px;display:grid;grid-template-columns:80px minmax(230px,430px) auto;gap:30px;align-items:center}.intro-bottom p{font-size:17px;line-height:1.55}.asterisk{color:#e94e29;font-size:73px;line-height:1}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid;padding-bottom:8px;justify-self:end;white-space:nowrap}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:54px}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p{font-size:14px;line-height:1.6;max-width:300px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px;align-items:start}.project-card:nth-child(even){margin-top:135px}.project-card-image{position:relative;overflow:hidden;background:#e1dfdc;aspect-ratio:1.38}.project-card:nth-child(3n+2) .project-card-image{aspect-ratio:1.14}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.project-card:hover img{transform:scale(1.045)}.project-open{position:absolute;right:20px;bottom:20px;background:#f9f7f4;color:#23211e;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;font-size:24px;transition:background .3s,transform .3s}.project-card:hover .project-open{background:#ed4e28;transform:rotate(45deg)}.project-card-topline{display:flex;justify-content:space-between;margin-top:20px;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.project-card h3{font-size:clamp(26px,2.3vw,39px);margin-bottom:8px}.project-card-type{font-size:14px;color:#63615e}.portfolio-note{max-width:560px;margin-top:60px;font-size:13px;color:#6b6966;line-height:1.6}.studio{background:#292724;color:#f9f7f4;display:grid;grid-template-columns:24% 1fr}.studio-content{display:grid;grid-template-columns:35% 1fr;gap:45px;margin-top:65px;align-items:start}.founder-figure img{aspect-ratio:1/1.05;object-fit:cover;filter:grayscale(100%);width:100%}.founder-figure figcaption{margin-top:16px;font-size:14px}.founder-figure figcaption span{display:block;font-size:12px;color:#b7b5b2;margin-top:3px}.studio-text .lead{font-size:clamp(22px,2vw,30px);line-height:1.35;letter-spacing:-.025em;color:#f9f7f4}.studio-text p{font-size:16px;line-height:1.6;margin-bottom:24px;color:#c8c6c3}.credentials{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px}.credentials span{font-size:12px;border:1px solid #6d6b68;border-radius:100px;padding:6px 10px;color:#dad8d5}.approach .section-heading{margin-bottom:70px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.principles article{border-top:1px solid #b1afac;padding-top:22px;display:flex;flex-direction:column}.principle-no{font-size:13px;color:#d94620;margin-bottom:45px}.principles h3{margin-bottom:25px}.principles p{font-size:16px;line-height:1.65;max-width:340px;margin-bottom:40px}.principle-tag{font-size:12px;letter-spacing:.03em;text-transform:uppercase;border-top:1px solid #d7d5d2;padding-top:16px;margin-top:auto}.contact{background:#ed4e28;padding-top:50px;padding-bottom:50px;color:#211f1c}.contact-top,.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}.contact-top>span{font-size:12px}.contact h2{font-size:clamp(54px,8.6vw,146px);margin:70px 0;line-height:.99}.contact h2>a{display:block;width:100%;position:relative}.contact-arrow{position:absolute;right:0;font-family:Arial;font-size:.9em;transition:transform .3s}.contact h2>a:hover .contact-arrow{transform:translate(6px,-6px)}.contact-bottom>p{font-size:14px;line-height:1.6}.contact-bottom>a{font-size:20px}.site-footer{padding:30px 4.8% 20px;background:#252320;color:#f9f7f4;overflow:hidden}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px}.footer-top{align-items:center}.footer-wordmark{width:100%;padding:60px 0 50px;color:#f9f7f4}.footer-bottom{border-top:1px solid #575552;padding-top:15px}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s,transform .75s}.motion-ready .reveal.visible{opacity:1;transform:none}
@media(min-width:1700px){.hero-stage{height:800px;max-height:none}.section-pad{padding-left:max(5%,calc((100vw - 1700px)/2));padding-right:max(5%,calc((100vw - 1700px)/2))}}
@media(max-width:1000px){.header-descriptor{display:none}.site-header nav{gap:24px}.hero-stage{min-height:590px;height:75vh}.hero-copy{padding-top:85px}.intro,.studio{grid-template-columns:1fr}.section-label{margin-bottom:35px}.intro-bottom{grid-template-columns:65px 1fr auto;gap:20px}.studio-content{grid-template-columns:33% 1fr}.principles{gap:25px}.section-pad{padding-top:80px;padding-bottom:80px}.contact-arrow{font-size:.65em;top:15px}.project-card:nth-child(even){margin-top:90px}}
@media(max-width:680px){html{scroll-padding-top:76px}.site-header{height:80px;padding:0 22px;justify-content:space-between}.wordmark{width:145px}.menu-toggle{display:flex;align-items:center;gap:18px;background:transparent;font-size:14px;padding:12px 0}.menu-toggle span{font-size:24px;line-height:1}.site-header nav{display:none;position:absolute;left:0;right:0;top:80px;background:#f9f7f4;padding:30px 24px 45px;box-shadow:0 20px 35px #0002;align-items:flex-start}.site-header nav.is-open{display:flex;flex-direction:column;gap:22px;font-size:28px}.site-header nav sup{font-size:12px}.hero{padding:0 10px}.hero-topline{font-size:12px;padding:13px 12px}.hero-topline>span:first-child{max-width:180px}.hero-topline>span:last-child{white-space:nowrap;align-self:end}.hero-topline #london-time{display:none}.hero-stage{height:calc(100svh - 180px);min-height:510px;max-height:780px}.hero-copy{padding:80px 24px 30px}.hero-copy h1{font-size:clamp(61px,15vw,104px);letter-spacing:-.07em}.hero-copy .eyebrow{font-size:12px}.hero-explore{margin-top:32px;font-size:13px}.hero-footer{bottom:22px;left:24px;right:24px;align-items:flex-end;gap:8px}.hero-project{gap:8px;align-items:flex-start;flex-direction:column;font-size:12px}.hero-project>span:last-child{display:none}.hero-project-title{max-width:190px}.hero-controls{gap:4px}.hero-controls button{width:34px;height:34px;font-size:15px}.hero-bottomline{font-size:12px;padding:15px 12px}.hero-bottomline>a{display:none}.section-pad{padding:65px 24px}.intro-bottom{grid-template-columns:1fr;gap:26px;margin-top:28px}.asterisk{font-size:58px}.intro-bottom .text-link{justify-self:start}.intro-bottom p{font-size:16px}.section-label{margin-bottom:28px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:25px;font-size:13px}.section-heading .eyebrow{margin-bottom:24px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card:nth-child(even){margin-top:0}.project-card-image,.project-card:nth-child(3n+2) .project-card-image{aspect-ratio:1.2}.project-card-topline{margin-top:15px;font-size:12px}.project-card h3{font-size:29px}.project-card-type{font-size:13px}.portfolio-note{margin-top:38px;font-size:12px}.studio-content{grid-template-columns:1fr;gap:35px;margin-top:36px}.founder-figure{max-width:290px}.studio-text .lead{font-size:25px}.studio-text p{font-size:16px}.principles{grid-template-columns:1fr;gap:36px}.principle-no{margin-bottom:27px}.principles h3{font-size:32px;margin-bottom:20px}.principles p{max-width:none;margin-bottom:25px}.approach .section-heading{margin-bottom:35px}.contact-top{align-items:flex-start}.contact-top>span{max-width:130px;text-align:right;font-size:12px}.contact .eyebrow{max-width:130px;font-size:12px}.contact h2{font-size:clamp(44px,11.8vw,80px);margin:60px 0 40px;letter-spacing:-.06em}.contact-arrow{position:static;display:block;text-align:right;line-height:1;font-size:50px;margin-top:12px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:30px}.contact-bottom>a{font-size:17px}.site-footer{padding:28px 24px 18px}.footer-top{flex-wrap:wrap;font-size:12px}.footer-top>span:nth-child(2){display:none}.footer-wordmark{padding:42px 0 36px}.footer-bottom{font-size:12px}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
.project-card-type>span{color:#7a7875;font-size:12px}.project-introduction{padding:48px 4.8% 65px}.project-back{display:inline-block;font-size:13px;margin-bottom:55px;border-bottom:1px solid #b9b7b4;padding-bottom:7px}.project-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.project-title-row>div{max-width:76%}.project-title-row .eyebrow{margin-bottom:22px}.project-title-row h1{font-size:clamp(46px,6.4vw,108px);line-height:1.04;letter-spacing:-.06em}.project-title-row>p{font-size:13px;line-height:1.7;min-width:200px}.project-hero{padding:0 20px}.zoom-image{padding:0;display:block;position:relative;width:100%;background:#e6e4e1;cursor:zoom-in;overflow:hidden}.zoom-image img{width:100%;height:auto}.project-hero .zoom-image img{height:min(73vh,850px);min-height:360px;object-fit:cover}.image-enlarge{position:absolute;right:25px;bottom:25px;background:#f9f7f4;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;transition:.3s}.zoom-image:hover .image-enlarge{background:#ed4e28}.project-hero figcaption,.project-gallery-item figcaption{display:flex;justify-content:space-between;gap:20px;padding:17px 0;font-size:12px}.project-hero figcaption{padding-left:3%;padding-right:3%}.project-story{display:grid;grid-template-columns:26% 1fr;gap:8%}.project-story dl{font-size:14px;margin-top:34px}.project-story dl>div{border-top:1px solid #d1cfcc;padding:14px 0}.project-story dt{color:#74726f;font-size:12px;margin-bottom:5px}.project-story dd{margin:0}.project-story h2{font-size:clamp(36px,4.2vw,68px);max-width:700px;margin-bottom:35px}.project-story p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:710px;margin-top:24px}.project-story .project-lead{font-size:23px!important;line-height:1.5!important;letter-spacing:-.02em}.project-gallery{display:grid;grid-template-columns:1fr;gap:45px;padding:0 4.8%}.project-gallery-item img{max-height:85vh;object-fit:cover}.project-gallery-item:only-child img{max-height:none}.project-credits{margin:65px 4.8% 90px;max-width:720px;border-top:1px solid #d1cfcc;padding-top:25px}.project-credits>p:not(.eyebrow){font-size:14px;line-height:1.65;margin-top:16px;color:#64625f}.project-credits .render-note{font-size:12px!important}.next-project{padding:50px 4.8% 70px;display:grid;grid-template-columns:1fr 80px;gap:30px;background:#ed4e28;align-items:center}.next-project>.eyebrow{grid-column:1/-1}.next-title{font-size:clamp(36px,5.1vw,86px);line-height:1.07;letter-spacing:-.06em;max-width:1100px}.next-arrow{font-size:70px;justify-self:end;transition:transform .3s}.next-project:hover .next-arrow{transform:translate(5px,-5px)}.image-viewer{border:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:80px 6% 70px;background:#1c1a17f5;color:white;margin:0;overflow:hidden}.image-viewer::backdrop{background:#1c1a17}.image-viewer[open]{display:flex;align-items:center;justify-content:center}.viewer-open{overflow:hidden}.viewer-close{position:absolute;right:5%;top:22px;padding:10px 0;background:transparent;color:white;border-bottom:1px solid #ffffff66;font-size:14px}.viewer-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-bottom{position:absolute;bottom:20px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:20px}.viewer-caption{font-size:14px}.viewer-controls{display:flex;align-items:center;gap:18px}.viewer-controls button{min-width:70px;min-height:42px;padding:8px 12px;font-size:14px;border:1px solid #ffffff66;background:transparent;border-radius:0}.viewer-controls button:hover{background:#ed4e28;color:#1c1a17}.viewer-count{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.project-title-row{display:block}.project-title-row>div{max-width:none}.project-title-row>p{margin-top:25px}.project-story{gap:6%;grid-template-columns:29% 1fr}}
@media(max-width:680px){.project-introduction{padding:30px 24px 35px}.project-back{margin-bottom:38px;font-size:12px}.project-title-row h1{font-size:clamp(42px,11.5vw,66px);letter-spacing:-.055em}.project-title-row>p{font-size:12px}.project-title-row .eyebrow{font-size:12px;line-height:1.5}.project-hero{padding:0 10px}.project-hero .zoom-image img{height:55svh;min-height:300px;max-height:550px}.project-hero figcaption,.project-gallery-item figcaption{font-size:12px;padding-top:12px}.project-hero figcaption>span:last-child,.project-gallery-item figcaption>span:last-child{display:none}.project-story{grid-template-columns:1fr;gap:28px;padding-top:50px;padding-bottom:50px}.project-story dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:22px}.project-story h2{font-size:40px;margin-bottom:25px}.project-story .project-lead{font-size:22px!important}.project-story p:not(.eyebrow){font-size:16px}.project-gallery{padding:0 24px;gap:30px}.project-gallery-item img{max-height:none}.project-credits{margin:38px 24px 60px}.project-credits>p:not(.eyebrow){font-size:13px}.image-enlarge{right:16px;bottom:16px;width:40px;height:40px}.next-project{padding:35px 24px 45px;grid-template-columns:1fr 45px;gap:25px}.next-title{font-size:37px}.next-arrow{font-size:44px}.image-viewer{padding:75px 12px 90px}.viewer-bottom{bottom:20px;left:20px;right:20px}.viewer-caption{font-size:12px;max-width:45%}.viewer-controls{gap:10px}.viewer-close{right:20px}}
/* HDRV: a compact, project-led editorial system. */
:root{--ink:#22201d;--line:#dddbd8;--paper:#fff;--accent:#c94c2c}body{background:var(--paper);color:var(--ink)}h2{font-size:clamp(32px,3.2vw,54px);line-height:1.12;letter-spacing:-.045em}.serif,em{font-family:inherit;font-style:normal;font-weight:inherit}.site-header{height:88px;background:#fff;padding:0 3.5%;gap:40px;position:sticky;top:0}.wordmark{width:148px}.site-header nav{gap:32px;font-size:13px}.header-descriptor{font-size:11px;color:#62605d}.contact-nav{border:0}.hero{padding:0}.hero-stage{height:76vh;min-height:510px;max-height:850px}.hero-copy{position:absolute;left:0;right:0;bottom:100px;padding:0 3.5%}.hero-copy .eyebrow{margin-bottom:20px}.hero-copy h1{font-size:clamp(44px,5.7vw,100px);line-height:1.02;letter-spacing:-.055em}.hero-shade{background:linear-gradient(0deg,#181613aa,transparent 75%)}.hero-footer{left:3.5%;right:3.5%;bottom:24px}.hero-controls button{border-radius:0;border-color:#ffffff60;width:36px;height:36px}.hero-project-title{max-width:none}.hero-bottomline{padding:15px 3.5%;border-bottom:1px solid var(--line);font-size:12px}.hero-bottomline a>span{margin-left:30px}.hero-bottomline>span{font-variant-numeric:tabular-nums}.hero-bottomline #london-time{margin-left:16px}.slide-progress{height:2px}.slide-progress>span{background:#e37451}.section-pad{padding:76px 3.5%}.intro{grid-template-columns:23% 1fr;gap:0;padding-top:65px;padding-bottom:65px}.intro h2{font-size:clamp(28px,2.8vw,46px)}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-top:28px}.intro-bottom p{max-width:650px;font-size:16px;line-height:1.6;color:#595754}.text-link{font-size:13px;white-space:normal}.section-heading{margin-bottom:34px;gap:50px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{max-width:360px;font-size:14px;color:#62605d}.portfolio-toolbar{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-top:36px;align-items:center}.project-filters{display:flex;flex-wrap:wrap;gap:6px 20px}.project-filters button,.view-options button{background:transparent;padding:5px 0;font-size:12px;color:#706e6b;border-bottom:1px solid transparent}.project-filters button[aria-pressed=true],.view-options button[aria-pressed=true]{color:#22201d;border-bottom-color:#22201d}.view-options{display:flex;gap:16px;flex-shrink:0}.filter-count{font-size:11px;color:#7a7875;padding:14px 0 20px;min-height:48px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.project-card:nth-child(even){margin-top:0}.project-card-image,.project-card:nth-child(3n+2) .project-card-image{aspect-ratio:1.5}.project-card-topline{font-size:10px;margin-top:14px;margin-bottom:6px}.project-card h3{font-size:clamp(20px,1.7vw,29px);margin-bottom:6px;letter-spacing:-.025em}.project-card-type{font-size:12px;line-height:1.5}.project-card-type>span{font-size:11px}.project-open{background:#fff;width:34px;height:34px;right:12px;bottom:12px;font-size:20px;border-radius:0}.project-card:hover .project-open{background:#fff;transform:translate(2px,-2px)}[hidden]{display:none!important}.portfolio-note{font-size:12px;max-width:640px;margin-top:32px}.project-grid.index-view{display:block}.index-view .project-card{display:grid;grid-template-columns:120px 1fr 1.35fr 1.1fr;gap:24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.index-view .project-card-image{aspect-ratio:1.65}.index-view .project-open{display:none}.index-view .project-card-topline{margin:0;display:block}.index-view .project-card-topline span{display:block}.index-view .project-card h3{margin:0;font-size:22px}.index-view .project-card-type{margin:0}.services{background:#f6f4f1;border-top:1px solid var(--line)}.services .section-heading>p{max-width:400px}.service-location-nav{display:flex;gap:34px;font-size:13px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-location-nav a:hover{color:var(--accent)}.service-group{display:grid;grid-template-columns:30% 1fr;gap:10%;padding-top:56px;scroll-margin-top:100px}.service-group-intro .eyebrow{font-size:10px;margin-bottom:22px;color:#6e6c69}.service-group-intro h3{font-size:32px;line-height:1.2;margin-bottom:20px}.service-group-intro>p:not(.eyebrow){font-size:14px;line-height:1.65;color:#5f5d5a;max-width:330px}.service-group-intro>.text-link{margin-top:26px}.service-list{border-top:1px solid #a6a4a1}.service-row{border-bottom:1px solid #d0cecb}.service-row summary{list-style:none;display:grid;grid-template-columns:30px 1fr 28px;gap:15px;padding:20px 0;cursor:pointer;align-items:start}.service-row summary::-webkit-details-marker{display:none}.service-number{font-size:10px;padding-top:5px;color:#817f7c}.service-row strong{display:block;font-weight:500;font-size:20px;letter-spacing:-.02em;line-height:1.3}.service-row small{display:block;font-size:12px;color:#74726f;margin-top:6px}.service-plus{font-size:24px;font-weight:300;line-height:1.1;transition:transform .2s}.service-row[open] .service-plus{transform:rotate(45deg)}.service-detail{padding:4px 40px 25px 45px;display:grid;grid-template-columns:1fr 1fr;gap:30px;font-size:13px;line-height:1.65;color:#53514e}.service-detail .eyebrow{font-size:10px;margin-bottom:12px;color:#64625f}.service-detail ul{padding-left:16px;margin:0}.service-detail li{margin:5px 0}.scope-note{font-size:12px;color:#767471;margin-top:35px;max-width:650px}.sectors{border-top:1px solid #cdcbc8;margin-top:50px;padding-top:32px;scroll-margin-top:110px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 40px;margin-top:28px}.sector-grid h3{font-size:20px;line-height:1.3;margin-bottom:10px}.sector-grid p{font-size:12px;color:#696764;line-height:1.6;max-width:310px}.studio{display:block;background:#292724;color:#fff}.studio .section-heading>p{color:#c0bebb}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:48px}.person{display:block;max-width:660px}.person .eyebrow{color:#c0bebb;font-size:10px;margin-bottom:15px}.person h3{font-size:clamp(23px,2vw,32px);line-height:1.14;letter-spacing:-.025em}.person .person-qualification{font-size:11px;color:#c3c1be;margin:10px 0 24px}.person p:not(.eyebrow):not(.person-qualification){font-size:14px;line-height:1.65;color:#ceccc9;margin-top:18px}.research-link{display:inline-block;font-size:11px;border-bottom:1px solid #807e7b;padding-bottom:4px;margin-top:20px}.approach .section-heading{margin-bottom:40px}.principles{gap:40px}.principle-no{margin-bottom:30px;color:var(--accent);font-size:11px}.principles h3{font-size:25px;margin-bottom:20px}.principles p{font-size:14px;line-height:1.65;max-width:440px;margin-bottom:30px;color:#62605d}.principle-tag{font-size:10px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#e9e6e1;color:#292825;border-top:1px solid #d3cec7;align-items:center}.contact h2{font-size:clamp(34px,4.1vw,68px);margin:24px 0 0}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:24px;justify-self:end}.contact-details p{font-size:15px;line-height:1.7}.contact-details .email-text{font-size:clamp(16px,1.6vw,23px)}.contact-details>span{font-size:11px;color:#6a6865}.site-footer{background:#f3f1ee;color:#292825;padding:28px 3.5% 20px}.footer-top,.footer-bottom{font-size:11px}.footer-wordmark{width:230px;color:#292825;padding:35px 0}.footer-bottom{border-color:var(--line)}.next-project{background:#e9e6e1;grid-template-columns:minmax(0,1fr)}.next-title{font-size:clamp(34px,4vw,64px)}.project-introduction{padding:34px 3.5% 45px}.project-back{margin-bottom:35px}.project-title-row h1{font-size:clamp(40px,5vw,80px)}.project-hero{padding:0 3.5%}.project-hero .zoom-image img{height:auto;max-height:78vh;object-fit:contain;background:#f1efec;min-height:0}.project-story{padding-top:55px;padding-bottom:55px}.project-story h2{font-size:clamp(30px,3vw,48px);margin-bottom:25px}.project-story .project-lead{font-size:20px!important}.project-story p:not(.eyebrow){font-size:15px}.project-story dl{font-size:13px}.project-gallery{padding:0 3.5%;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.project-gallery-item img{height:auto;max-height:none;object-fit:contain}.project-gallery-item:only-child{grid-column:1/-1}.project-credits{margin:40px 3.5% 55px}.image-enlarge{width:34px;height:34px;font-size:19px;border-radius:0;bottom:14px;right:14px}.project-hero figcaption,.project-gallery-item figcaption{font-size:11px}.project-hero figcaption{padding-left:0;padding-right:0}
@media(min-width:1700px){.hero-stage{height:76vh;max-height:920px}.section-pad{padding-left:5%;padding-right:5%}}
@media(max-width:1100px){.header-descriptor{display:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-grid{gap:40px}.person{display:block;max-width:660px}.service-group{grid-template-columns:28% 1fr;gap:6%}.service-detail{grid-template-columns:1fr;gap:20px}.intro-bottom{gap:25px}.project-card h3{font-size:26px}}
@media(max-width:800px){.people-grid{grid-template-columns:1fr}.person{display:block;max-width:660px}.sector-grid{grid-template-columns:1fr 1fr}.portfolio-toolbar{display:block}.view-options{margin-top:12px}.intro{grid-template-columns:1fr}.intro-bottom{display:block}.intro-bottom .text-link{margin-top:22px}.service-group{grid-template-columns:1fr;gap:30px}.service-group-intro>p:not(.eyebrow){max-width:580px}.service-detail{grid-template-columns:1fr 1fr}.principles{gap:25px}.contact{gap:35px}.contact-details{justify-self:start}.index-view .project-card{grid-template-columns:85px 1fr 1.3fr;gap:20px}.index-view .project-card-type{grid-column:2/-1}.index-view .project-card h3{font-size:20px}}
@media(max-width:680px){.site-header{height:74px;padding:0 22px}.wordmark{width:127px}.site-header nav{top:74px;background:white}.hero-stage{height:72svh;min-height:465px;max-height:680px}.hero-copy{bottom:125px;padding:0 24px}.hero-copy h1{font-size:clamp(40px,10.4vw,68px)}.hero-copy .eyebrow{font-size:10px;margin-bottom:16px}.hero-footer{left:24px;right:24px;bottom:25px}.hero-controls button{width:31px;height:33px}.hero-project{max-width:210px}.hero-project-title{max-width:195px}.hero-bottomline{padding:14px 24px}.hero-bottomline>a{display:block}.section-pad{padding:54px 24px}.section-heading{margin-bottom:28px}.section-heading>p{font-size:13px;max-width:340px}.section-heading .eyebrow{margin-bottom:18px}.intro h2{font-size:29px}.intro-bottom p{font-size:15px}.section-label{margin-bottom:22px}.project-grid{grid-template-columns:1fr;gap:30px}.project-filters{gap:6px 16px}.project-filters button{font-size:11px}.project-card-image,.project-card:nth-child(3n+2) .project-card-image{aspect-ratio:1.5}.project-card h3{font-size:25px}.project-card-topline{font-size:10px}.portfolio-note{font-size:11px}.service-location-nav{gap:18px;flex-wrap:wrap;font-size:12px}.service-group{padding-top:40px}.service-group-intro h3{font-size:29px}.service-group-intro .eyebrow{margin-bottom:13px}.service-row summary{grid-template-columns:20px 1fr 20px;gap:10px;padding:18px 0}.service-row strong{font-size:18px}.service-row small{font-size:11px}.service-detail{display:block;padding:0 15px 22px 30px}.service-detail>div{margin-top:20px}.sector-grid{gap:24px;grid-template-columns:1fr 1fr}.sector-grid h3{font-size:18px}.sector-grid p{font-size:11px}.person{display:block;max-width:660px}.person h3{font-size:28px}.people-grid{gap:42px;margin-top:35px}.person p:not(.eyebrow):not(.person-qualification){font-size:14px}.principles{grid-template-columns:1fr;gap:30px}.principle-no{margin-bottom:18px}.principles h3{font-size:25px}.principles p{font-size:14px}.contact{grid-template-columns:1fr;gap:30px}.contact h2{font-size:40px;margin:20px 0 0}.contact-details{gap:20px}.contact-details .email-text{font-size:17px}.footer-wordmark{width:165px;padding:28px 0}.footer-top{font-size:10px}.footer-bottom{font-size:10px}.site-footer{padding:25px 24px 18px}.index-view .project-card{grid-template-columns:72px 1fr;gap:8px 16px}.index-view .project-card-image{grid-row:1/3}.index-view .project-card-topline{display:flex;justify-content:flex-start;gap:12px;font-size:9px}.index-view .project-card h3{grid-column:2;font-size:20px}.index-view .project-card-type{grid-column:2;font-size:11px}.project-introduction{padding:28px 24px 35px}.project-title-row h1{font-size:43px}.project-hero{padding:0 12px}.project-hero .zoom-image img{height:auto;min-height:0;max-height:none}.project-story{padding:40px 24px}.project-story .project-lead{font-size:19px!important}.project-story h2{font-size:32px}.project-gallery{padding:0 24px;grid-template-columns:1fr;gap:25px}.project-credits{margin:35px 24px 45px}.project-hero figcaption>span:last-child,.project-gallery-item figcaption>span:last-child{display:block;font-size:9px}.project-hero figcaption,.project-gallery-item figcaption{font-size:10px}.next-project{padding:32px 24px}.next-title{font-size:33px}}

/* Film opening: one quiet moving canvas, with full playback on request. */
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;background:#262421}.film-hero .hero-stage{height:72vh;max-height:820px;min-height:510px}.film-hero .hero-copy h1{font-size:clamp(44px,5.2vw,88px)}.film-hero .hero-shade{background:linear-gradient(0deg,#161411ad,transparent 78%)}.film-open{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #ffffff88;font-size:15px;transition:border-color .2s}.film-open:hover{border-color:#fff}.film-open small{font-size:12px;opacity:.7;margin-left:13px}#film-motion{color:white;background:transparent;border:0;border-bottom:1px solid #ffffff88;padding:8px 0;font-size:13px}.film-viewer{padding:22px 3%;margin:auto;width:96vw;max-width:1800px;max-height:96dvh;background:#161411;color:#fff;border:0}.film-viewer::backdrop{background:#0f0d0aed}.film-viewer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:18px;font-size:15px}.film-viewer-top p span{margin-left:22px;font-size:12px;color:#bcbab7}.film-close{background:transparent;color:white;font-size:14px;padding:8px 0;border-bottom:1px solid #969491}.full-film{display:block;width:100%;max-height:calc(90dvh - 75px);background:#000}.project-hero figcaption,.project-gallery-item figcaption{font-size:12px;gap:12px}.project-card h3{font-size:clamp(21px,1.65vw,28px)}.project-card-type{font-size:13px}.project-filters button,.view-options button{font-size:13px}.person p:not(.eyebrow):not(.person-qualification){font-size:16px}.service-detail,.service-group-intro>p:not(.eyebrow),.principles p{font-size:16px}.service-row small{font-size:14px}.service-row strong{font-size:20px}.research-link,.scope-note,.portfolio-note{font-size:13px}.person .eyebrow,.person .person-qualification,.project-card-topline,.service-number,.principle-tag,.principle-no,.service-group-intro .eyebrow{font-size:12px}
@media(max-width:680px){.film-hero .hero-stage{height:70svh;min-height:470px}.film-hero .hero-copy h1{font-size:clamp(40px,10.4vw,68px)}.film-open{gap:12px;font-size:14px}.film-open small{font-size:12px;margin-left:8px}.film-hero .hero-footer{align-items:center}#film-motion{font-size:12px}.film-viewer{padding:16px;width:100vw;max-height:100dvh}.film-viewer-top{align-items:flex-start}.film-viewer-top p span{display:block;margin:5px 0 0}.person p:not(.eyebrow):not(.person-qualification),.service-detail,.principles p{font-size:16px}.service-row strong{font-size:18px}.project-filters button{font-size:13px}.project-card-topline,.person .person-qualification{font-size:12px}}

.project-hero figcaption>span:last-child,.project-gallery-item figcaption>span:last-child{font-size:12px}

/* An edge-to-edge opening canvas, with the navigation over the film. */
:root{--header-height:88px}
.site-header{height:var(--header-height)}
.site-header nav,.header-descriptor{font-size:14px}
.home-page .site-header{position:fixed;inset:0 0 auto;height:var(--header-height);background:transparent;color:#fff;border:0;transition:background .25s,color .25s,box-shadow .25s}
.home-page .site-header .wordmark,.home-page .header-descriptor{color:inherit}
.home-page .header-descriptor{opacity:.85}
.home-page .site-header nav a:hover{color:inherit;opacity:.7}
.home-page .site-header.is-scrolled,.home-page.menu-open .site-header{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--line)}
.film-hero{position:relative;isolation:isolate;min-height:100svh;height:auto;display:flex;flex-direction:column;background:#161411;color:#fff}
.film-hero .hero-stage{position:static;isolation:auto;flex:1;height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--header-height) + 40px) 3.5% 30px;background:transparent;overflow:visible}
.film-hero .hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;background:#161411}
.film-hero .hero-shade{display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,12,9,.7) 0%,rgba(6,12,9,.12) 25%,rgba(6,12,9,.12) 38%,rgba(6,12,9,.67) 76%,rgba(6,12,9,.82) 100%)}
.film-hero .hero-copy{position:static;padding:0;min-width:0}
.film-hero .hero-copy .eyebrow{font-size:14px;line-height:1.4;margin-bottom:18px;color:#fff}
.film-hero .hero-copy h1{font-size:clamp(48px,6.2vw,104px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.film-hero .hero-footer{position:static;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:0;flex-wrap:wrap}
.film-hero .hero-bottomline{position:relative;background:transparent;color:#fff;border-top:1px solid #ffffff45;border-bottom:0;font-size:14px;line-height:1.4;padding:18px 3.5%;min-height:56px;align-items:center}
.film-open{font-size:16px;white-space:nowrap}
.film-open small{font-size:13px;opacity:.85;color:#fff}
#film-motion{font-size:14px;min-height:44px;white-space:nowrap}
.section-heading>p,.intro-bottom p,.sector-grid p,.contact-details p,.project-story p:not(.eyebrow){font-size:16px}
.project-filters button,.view-options button,.project-card-type,.service-location-nav,.research-link{font-size:14px}
@media(max-width:680px){
 :root{--header-height:74px}
 .site-header nav{top:var(--header-height)}
 .home-page .site-header nav{background:#fff;color:var(--ink);max-height:calc(100svh - var(--header-height));overflow:auto}
 .film-hero .hero-stage{padding:calc(var(--header-height) + 32px) 24px 24px}
 .film-hero .hero-copy h1{font-size:clamp(40px,10.4vw,68px)}
 .film-hero .hero-copy .eyebrow{font-size:14px;margin-bottom:16px}
 .film-hero .hero-footer{margin-top:24px;gap:12px}
 .film-hero .hero-bottomline{padding:16px 24px;flex-wrap:wrap;gap:8px 16px}
 .film-hero .hero-bottomline>a{display:block}
 .film-hero .hero-bottomline #london-time{margin-left:8px}
 .film-open{font-size:14px}
}
@media(max-height:560px){
 :root{--header-height:68px}
 .film-hero .hero-stage{padding-top:calc(var(--header-height) + 20px);padding-bottom:16px}
 .film-hero .hero-copy h1{font-size:clamp(32px,7vh,44px)}
 .film-hero .hero-copy .eyebrow{margin-bottom:10px}
 .film-hero .hero-footer{margin-top:16px}
 .film-hero .hero-bottomline{min-height:48px;padding-top:12px;padding-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.home-page .site-header{transition:none}}

/* Richmond studio: a building study and a custom geographic street plan. */
.contact-details address{font-size:16px;line-height:1.7;font-style:normal}
.contact-details .email-text{font-size:clamp(22px,2.5vw,36px);overflow-wrap:anywhere}
.office-directions{font-size:14px}
.office-location{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.15fr;gap:24px;width:100%;align-items:stretch;margin-top:16px}
.office-exterior,.office-map{min-width:0;display:flex;flex-direction:column}
.office-exterior img{width:100%;height:100%;min-height:320px;object-fit:cover;flex:1}
.office-exterior figcaption,.office-map figcaption{font-size:12px;line-height:1.5;padding-top:12px;color:#5c5751}
.office-map-canvas{position:relative;display:block;flex:1;min-height:360px;overflow:hidden;background:#f4f3f1;color:#36332f}
.office-map-canvas>img{width:100%;height:100%;min-height:360px;object-fit:contain;aspect-ratio:1000/720}
.map-heading{position:absolute;top:24px;left:24px;display:grid;gap:4px;background:#f4f3f1eb;padding:10px 14px;text-shadow:none}
.map-heading .eyebrow{font-size:12px;letter-spacing:.1em}
.map-heading strong{font-size:22px;letter-spacing:-.035em;font-weight:400}
.map-direction{position:absolute;right:24px;bottom:24px;background:#fff;color:#36332f;border:1px solid #d6d3cd;padding:12px 16px;font-size:14px;transition:background .2s}
.office-map-canvas:hover .map-direction{background:#e7e3dc}
.office-map figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px}
.office-map figcaption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.office-location{grid-template-columns:1fr;gap:30px}.office-exterior img{height:auto;aspect-ratio:3/2;min-height:0}.office-map-canvas,.office-map-canvas>img{height:390px;min-height:0}.contact-details .email-text{font-size:26px}.map-heading{top:20px;left:20px}.map-direction{right:20px;bottom:20px}}

/* Text navigation without decorative arrows. */
/* Warm stone and drawing-grid detail across the studio. */
:root{--ink:#292624;--line:#ddd8d2;--paper:#fff;--accent:#8d6751}
.wordmark{width:174px}
.home-page:not(.menu-open) .site-header:not(.is-scrolled){background:linear-gradient(180deg,#211d1966,transparent)}
.header-descriptor,.intro-bottom p,.section-heading>p,.project-card-type,.portfolio-note,.filter-count{color:#67605a}
.services{background:#f5f3f0}
.project-filters button,.view-options button{color:#706963}
.project-filters button[aria-pressed=true],.view-options button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.studio{background-color:#393531;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:96px 96px;color:#fff}
.studio .section-heading>p,.studio .person .eyebrow,.studio .person .person-qualification{color:#d0c8c0}
.studio .person p:not(.eyebrow):not(.person-qualification){color:#e0d9d2}
.studio .research-link{border-color:#aaa098;color:#fff}
.contact{background:#e9e5e0;color:#292624;border-color:#d4cdc5}
.site-footer{background:#f3f0ec;color:#292624}
.footer-bottom{border-color:#d4cdc5}
.film-hero .hero-shade{background:linear-gradient(0deg,#191715b8,transparent 78%)}
.film-viewer{background:#252220}.film-viewer::backdrop{background:#211e1bf0}
.film-viewer-top p span{color:#c9c1b8}.film-close{border-color:#b5aaa0}
@media(max-width:680px){.wordmark{width:145px}.studio{background-size:64px 64px}}
/* Broad service disciplines with a clear, expandable scope. */
.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 6%;margin-top:52px}
.service-card{border-top:1px solid #c8bfb5;padding:28px 0 34px;min-width:0}
.service-card summary{display:grid;grid-template-columns:30px 1fr 24px;gap:18px;cursor:pointer;list-style:none;align-items:start}
.service-card summary::-webkit-details-marker{display:none}
.service-card h3{font-size:clamp(25px,2.2vw,36px);line-height:1.12;letter-spacing:-.035em;max-width:420px}
.service-card .service-number{font-size:13px;color:#7a6c60;padding-top:5px}
.service-card .service-summary{display:block;margin-top:15px;max-width:420px;font-size:16px;line-height:1.55;color:#6a625b}
.service-card .service-plus{font-size:27px;font-weight:300;line-height:1;transition:transform .2s;display:block;text-align:center}
.service-card[open] .service-plus{transform:rotate(45deg)}
.service-card-content{padding:25px 25px 0 48px;font-size:16px;line-height:1.65;color:#514b45}
.service-card-content .eyebrow{margin-top:26px;font-size:12px;color:#75695e}
.service-card-content ul{list-style:none;margin:12px 0 0;padding:0}
.service-card-content li{padding:10px 0;border-top:1px solid #dfd8d0}
.service-scope{display:flex;justify-content:space-between;gap:40px;align-items:flex-start;border-top:1px solid #c8bfb5;padding-top:26px;margin-top:12px}
.service-scope>p{max-width:760px;font-size:14px;line-height:1.7;color:#71675e}
.service-scope .text-link{flex-shrink:0}
.services .sector-grid{border-color:#d5cdc4}.sector-grid p{color:#6f665e}
.approach-intro{max-width:1040px;font-size:clamp(18px,1.7vw,24px);line-height:1.6;letter-spacing:-.015em;color:#675e56;margin:-20px 0 58px}
.principle-no{color:#89715e}.principles article,.principle-tag{border-color:#d4cbc2}
.office-image-panel{position:relative;flex:1;isolation:isolate;overflow:hidden;min-height:360px;background:#dedbd7}
.office-image-panel img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;filter:grayscale(.8)contrast(.8);opacity:.8}
.office-image-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffffe0 0%,#ffffff50 40%,#70685f73 100%);z-index:1}
.office-image-title{position:absolute;z-index:2;left:7%;bottom:9%;right:7%;color:#fff;text-shadow:0 2px 18px #39312a30}
.office-image-title strong{display:block;font-size:clamp(68px,8vw,142px);font-weight:750;line-height:.86;letter-spacing:-.035em}
.office-image-title span{display:block;font-size:clamp(15px,1.5vw,22px);font-weight:700;letter-spacing:.18em;margin-top:20px}
@media(max-width:800px){.service-cards{gap:0 32px}.service-card summary{grid-template-columns:22px 1fr 18px;gap:10px}.service-card-content{padding-left:32px;padding-right:0}.service-scope{flex-direction:column;gap:22px}.office-image-panel{min-height:0;aspect-ratio:3/2}.office-image-title strong{font-size:clamp(82px,18vw,146px)}}
@media(max-width:680px){.service-cards{grid-template-columns:1fr;margin-top:32px}.service-card{padding:24px 0 28px}.service-card h3{font-size:28px}.service-card-content{padding-top:20px}.approach-intro{margin:0 0 38px;font-size:18px}.office-image-title span{font-size:15px}.services .section-heading>p{font-size:16px}}
.next-project{grid-template-columns:minmax(0,1fr)}
@media(max-width:680px){.viewer-bottom{align-items:flex-start;flex-direction:column;gap:10px}.viewer-caption{max-width:100%}.viewer-controls{width:100%;justify-content:space-between}.image-viewer{padding-bottom:140px}}

/* Selected projects, composed as an unhurried photographic sequence. */
.showreel-frame{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease;overflow:hidden;pointer-events:none}
.showreel-frame.is-active{opacity:1;z-index:1}
.showreel-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);animation:portfolio-drift 8s ease-out both;animation-play-state:paused}
.showreel-frame:not(.is-active) img{animation:none}
.is-running .showreel-frame.is-active img{animation-play-state:running}
@keyframes portfolio-drift{from{transform:scale(1.015)}to{transform:scale(1.065)}}
.film-hero .hero-shade{background:linear-gradient(180deg,#1917158c 0%,#19171508 33%,#19171529 53%,#191715d4 100%)}
.showreel-screen{position:relative;aspect-ratio:16/9;max-height:calc(90svh - 130px);background:#211e1b;overflow:hidden}
.showreel-screen .showreel-frame img{object-fit:contain;transform:none;animation:none}
.showreel-controls{display:flex;align-items:center;gap:24px;padding-top:18px;font-size:14px}
.showreel-caption{margin-inline-end:auto}
.showreel-motion{background:none;color:inherit;border-bottom:1px solid #aca49c;padding:5px 0;font-size:13px}
.showreel-counter{font-variant-numeric:tabular-nums;white-space:nowrap;direction:ltr}
@media(prefers-reduced-motion:reduce){.showreel-frame{transition:none}.showreel-frame img{animation:none!important;transform:none!important}}

/* Careers belong to the same warm, quiet architectural language. */
.careers{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);background:#eeebe7}
.careers .eyebrow{margin-bottom:28px}
.careers-copy{max-width:640px}
.careers-copy p{margin-bottom:22px;font-size:16px;line-height:1.65}
.careers-copy .careers-lead{font-size:26px;line-height:1.35;letter-spacing:-.02em}
.careers-copy .text-link{margin-top:16px}

/* All editions share real page routes; the native names remain recognisable. */
.language-picker{position:relative;flex-shrink:0;font-size:13px;z-index:55;direction:ltr}
.language-picker summary{cursor:pointer;list-style:none;border:1px solid currentColor;padding:8px 11px;line-height:1.1}
.language-picker summary::-webkit-details-marker{display:none}
.language-options{position:absolute;inset-inline-end:0;top:calc(100% + 12px);padding:9px;min-width:160px;background:#fff;color:#302b26;box-shadow:0 8px 30px #211d1926;border:1px solid #d9d3cd;display:grid;gap:2px}
.language-options a{padding:9px 12px;display:block;white-space:nowrap}
.language-options a:hover,.language-options a[aria-current]{background:#eeeae5}
.site-header{gap:28px}.site-header nav{gap:24px}
.email-text{direction:ltr;unicode-bidi:isolate}
[dir=rtl] .site-header nav{margin-left:0;margin-right:auto}
[dir=rtl] .service-card-content{padding-left:25px;padding-right:44px}
[dir=rtl] .service-card summary,[dir=rtl] .project-title-row,[dir=rtl] .section-heading{text-align:right}
[dir=rtl] .project-introduction,[dir=rtl] .project-story,[dir=rtl] .project-card{text-align:right}
[dir=rtl] .service-plus{margin-left:0;margin-right:auto}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .eyebrow{letter-spacing:0;line-height:1.25}
[lang=zh-Hans] h1,[lang=zh-Hans] h2,[lang=zh-Hans] h3{letter-spacing:0;line-height:1.25}
html:not([lang=en]) .film-hero .hero-copy h1{font-size:clamp(42px,5.5vw,92px);max-width:1150px}
html:not([lang=en]) .text-link{white-space:normal}
@media(max-width:1400px){.header-descriptor{display:none}}
@media(max-width:980px){
 .site-header{justify-content:flex-start;gap:22px}
 .site-header .wordmark{margin-inline-end:auto}
 .menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;padding:12px 0;order:3}
 .language-picker{order:2}
 .site-header nav{display:none;position:absolute;left:0;right:0;top:var(--header-height);margin:0;padding:30px 24px;background:#fff;color:var(--ink);box-shadow:0 20px 35px #0002;max-height:calc(100svh - var(--header-height));overflow:auto}
 .site-header nav.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:26px}
 .home-page.menu-open .site-header{background:#fff;color:var(--ink)}
 [dir=rtl] .site-header nav{margin:0}
}
@media(max-width:680px){
 .careers{grid-template-columns:1fr;gap:35px}.careers-copy .careers-lead{font-size:24px}
 .site-header{gap:16px}.language-picker summary{padding:8px}
 .menu-toggle{gap:9px;font-size:13px}.menu-toggle span{font-size:21px}
 .showreel-screen{aspect-ratio:3/4;max-height:70svh}
 .showreel-controls{flex-wrap:wrap;gap:12px}.showreel-caption{width:100%;font-size:16px}
 .showreel-counter{margin-inline-start:auto}
 html:not([lang=en]) .film-hero .hero-copy h1{font-size:clamp(32px,8vw,52px)}
 [dir=rtl] .service-card-content{padding-right:32px;padding-left:0}
}
@media(max-width:370px){.site-header .wordmark{width:120px}.site-header{gap:12px;padding-inline:18px}}
html[lang=ar] body{font-family:Tahoma,'Geeza Pro',Arial,sans-serif}
html[lang=zh-Hans] body{font-family:'PingFang SC','Microsoft YaHei',Arial,sans-serif}
.showreel-prev,.showreel-next{background:none;color:inherit;font-size:13px;padding:7px 0;border-bottom:1px solid #aca49c}
.showreel-controls button{white-space:nowrap}

/* Align the Careers and Contact content columns. */
.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8%;align-items:start}.contact-details{justify-self:start;width:100%;max-width:640px}
@media(max-width:680px){.contact{grid-template-columns:1fr;row-gap:35px}.contact-details{max-width:none}}
