:root{--ink:#20211f;--yellow:#ffdd00;--paper:#fff;--muted:#676863;--line:#deded8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}p{margin:0 0 1.25em}h1,h2,h3{line-height:1.08;font-weight:500;letter-spacing:0;margin:0}h1{font-size:clamp(40px,5.3vw,78px)}h2{font-size:clamp(36px,4.5vw,64px)}h3{font-size:28px}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #947d00;outline-offset:6px}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.header{min-height:116px;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand img{width:111px}.header nav{display:flex;align-items:center;gap:38px;font-size:15px}.contact-link{border-bottom:2px solid var(--yellow);padding-block:8px}.contact-link span{margin-left:24px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--yellow);padding:12px}.skip:focus{top:10px}.hero{position:relative;background:#c62933}.hero video{width:100%;height:min(70vw,720px);min-height:320px;object-fit:cover;display:block}.hero-bottom{padding:20px 48px;display:flex;gap:25px;justify-content:space-between;align-items:center;background:var(--yellow);font-size:14px}.hero-bottom p{margin:0}.hero-bottom a span{margin-left:30px}.video-toggle{background:none;border:1px solid #252525;padding:5px 14px;font-size:12px}.intro{padding-block:110px 70px;display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.intro h1{font-size:clamp(36px,4vw,58px)}.eyebrow{font-size:12px;letter-spacing:0;text-transform:uppercase;line-height:1.5;margin-bottom:22px;color:var(--muted)}.intro-copy{padding-top:35px}.text-link{display:inline-block;border-bottom:2px solid var(--yellow);padding-bottom:5px;font-size:14px}.numbers{position:relative;padding:30px 0 100px;display:flex;gap:70px;align-items:center}.asterisk{width:200px;opacity:.8}.stats{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.stats strong{display:block;font-size:clamp(28px,3vw,42px);letter-spacing:0;line-height:1.2}.stats span{font-size:12px;color:var(--muted)}.work,.team-section{background:#f5f5f2;padding:90px 0 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-heading>p{font-size:15px;margin:0;color:var(--muted)}.yellow{color:#b19a00}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px 30px}.project-image{display:block;position:relative;overflow:hidden;background:#e7e7e2;aspect-ratio:1.4}.project-image>img{width:100%;height:100%;object-fit:cover;transition:filter .25s ease}@media(hover:hover){.project-image:hover>img{filter:grayscale(1)}}
.project-image:focus-visible>img{filter:grayscale(1)}.view{position:absolute;right:12px;bottom:12px;background:var(--yellow);padding:8px 13px;font-size:12px;opacity:0;transition:opacity .2s}.project-image:hover .view,.project-image:focus-visible .view{opacity:1}.project .eyebrow{margin:22px 0 10px;font-size:10px}.project h3{font-size:27px;margin-bottom:15px}.project>p:not(.eyebrow){font-size:14px;color:#585a54;line-height:1.6}.project .text-link{font-size:12px}.page-heading{padding-block:65px 50px}.page-heading .eyebrow{margin-top:40px}.case-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}.story-section{margin-bottom:60px;font-size:16px}.story-section h2{font-size:25px;letter-spacing:0;margin-bottom:22px}.gallery{display:grid;gap:25px}.gallery figure{margin:0}.gallery img{width:100%;height:auto}.case-copy{min-width:0}.next-project{border-top:1px solid var(--line);margin-top:80px;padding-block:50px 80px}.next-project a{font-size:clamp(30px,4vw,54px);letter-spacing:0}.about-intro{padding-block:80px 60px}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;margin-top:45px;align-items:center}.lead{font-size:23px;line-height:1.5}.about-star{max-height:280px;margin:auto;object-fit:contain}.studio-images{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.studio-images img{width:100%;height:300px;object-fit:cover}.approach{padding-block:100px;display:grid;grid-template-columns:1fr 1.4fr;gap:100px}.team-section h2{margin-bottom:50px}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.team img{width:100%;aspect-ratio:1;object-fit:contain;object-position:bottom;background:#ecece6;margin-bottom:25px}.team h3{font-size:23px}.team p{font-size:13px;margin-top:8px;color:var(--muted)}footer{padding:70px 48px 25px;background:var(--yellow)}.footer-top{display:grid;grid-template-columns:.8fr 1.3fr 1fr;gap:60px;padding-bottom:65px}.footer-brand img{width:160px}.footer-top .eyebrow{color:#48483c;margin-bottom:8px}.email{font-size:clamp(40px,5vw,68px);letter-spacing:0;line-height:1.1;display:inline-block;margin-bottom:25px}.footer-top p,.footer-top address{font-size:14px;font-style:normal}.footer-top address{padding-top:34px}.footer-bottom{border-top:1px solid #b8ac43;display:flex;justify-content:space-between;gap:25px;padding-top:22px;font-size:11px}.footer-bottom div{display:flex;gap:25px}.policy{max-width:850px;padding-block:80px}.policy h1{margin-bottom:40px}.policy h2{font-size:27px;margin:40px 0 20px}.draft-note{background:#fff7cb;padding:20px;font-size:14px;border-left:3px solid #9b8300}
@media(min-width:1600px){.hero video{object-fit:contain;background:#c62933}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header{padding-inline:28px}.intro{gap:40px}.numbers{gap:30px}.asterisk{width:130px}.stats{grid-template-columns:repeat(3,1fr)}.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.case-layout{gap:35px}.footer-top{gap:35px}.intro-grid,.approach{gap:40px}.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header{min-height:88px;padding:12px 20px}.brand img{width:86px}.menu-toggle{display:flex;align-items:center;gap:20px;background:none;border:0;font-size:14px}.menu-toggle span{font-size:25px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:25px 20px 35px;box-shadow:0 15px 20px #0001;align-items:start;gap:24px}.header nav.open{display:flex;flex-direction:column}.hero video{height:auto;min-height:0;aspect-ratio:16/10;object-fit:cover}.hero-bottom{padding:15px 20px;gap:14px;flex-wrap:wrap;font-size:11px}.hero-bottom p{width:100%}.hero-bottom a{margin-right:auto}.intro{padding-block:60px 35px;display:block}.intro h1 br{display:none}.intro-copy{padding-top:30px}.numbers{padding-block:15px 60px;display:block}.asterisk{display:none}.stats{grid-template-columns:repeat(2,1fr);gap:25px 20px}.work,.team-section{padding-block:55px 65px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:22px}.projects{grid-template-columns:1fr;gap:45px}.project h3{font-size:30px}.project>p:not(.eyebrow){font-size:16px}.view{opacity:1}.page-heading{padding-block:35px}.page-heading .eyebrow{margin-top:30px}.case-layout{display:flex;flex-direction:column;gap:0}.case-copy{order:1}.gallery{order:0;gap:16px;margin-bottom:45px;width:100%}.gallery figure:not(:first-child){display:none}.gallery.expanded figure{display:block}.gallery-toggle{border:0;background:var(--yellow);padding:12px}.next-project{margin-top:10px;padding-block:35px 50px}.about-intro{padding-block:45px}.intro-grid{display:block;margin-top:30px}.lead{font-size:20px}.about-star{display:none}.studio-images{gap:10px;grid-template-columns:1fr}.studio-images img{height:auto}.studio-images img:not(:first-child){display:none}.approach{display:block;padding-block:60px}.approach h2{margin-bottom:30px}.team{gap:25px 15px}.team h3{font-size:21px}.team p{font-size:12px}footer{padding:45px 20px 25px}.footer-top{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.footer-brand img{width:110px}.footer-top address{padding:0}.footer-bottom,.footer-bottom div{flex-wrap:wrap;gap:15px}.policy{padding-block:45px}.policy h1{font-size:39px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.gallery-toggle{display:none}@media(max-width:640px){.gallery-toggle{display:block;width:100%}}
@media(max-width:640px){.hero video{aspect-ratio:16/9;object-fit:contain}}
.hero video{height:auto;min-height:0;aspect-ratio:16/9;object-fit:contain}
.menu-toggle span{display:inline-block;line-height:1;transform:rotate(0deg);transition:transform .2s ease}
.menu-toggle[aria-expanded="true"] span{transform:rotate(45deg)}
/* Let the transparent portrait edges blend into the team section. */
.team img{background:transparent}

/* Client feedback — 22 October 2026 */
body{font-weight:300}
h1,h2,h3{font-weight:300}
.header{min-height:116px;padding:24px 48px}
.header nav{font-size:16px;font-weight:300;gap:50px}
.contact-link{border:0;padding:0}
.contact-link span{margin-left:4px}
.eyebrow{text-transform:none;letter-spacing:0}
.stats strong{letter-spacing:0;font-weight:700}
.stats span{font-size:15px;letter-spacing:0}
.hero-bottom{position:relative;display:flex;justify-content:flex-end;align-items:center;min-height:58px;padding:12px 48px;background:#fff;color:var(--ink)}
.hero-bottom .discover-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;margin:0}
.discover-arrow img{width:26px;height:26px;transform:rotate(135deg);opacity:.5}
.video-toggle{display:flex;align-items:center;gap:10px;border:0;padding:5px 8px;background:transparent;font-size:16px;font-weight:300;min-height:36px}
.video-toggle img{width:24px;height:24px;opacity:.5}
.video-toggle:hover,.discover-arrow:hover{opacity:.7}
@media(max-width:1000px){.header{padding-inline:28px}.header nav{gap:30px}}
@media(max-width:640px){.header{min-height:88px;padding:12px 20px}.header nav{gap:24px;padding:25px 20px 35px}.hero-bottom{padding:10px 20px;min-height:58px;flex-wrap:nowrap}.video-toggle{font-size:14px}.hero-bottom .discover-arrow{margin:0}}
/* Black text on the yellow footer, without changing other sections. */
footer,footer .eyebrow{color:#000}

/* Consistent SVG link arrows across desktop and mobile. */
.link-arrow{display:inline-block;width:1em;height:1em;object-fit:contain;vertical-align:-.1em;flex-shrink:0}
.link-arrow--left{transform:rotate(225deg)}
.link-arrow--down{transform:rotate(135deg)}
.link-arrow--right{transform:rotate(45deg)}
.link-arrow--up{transform:rotate(-45deg)}
.link-arrow--se{transform:rotate(90deg)}

/* Use natural glyph spacing consistently, including inherited body text. */
body{letter-spacing:0}
/* Keep the yellow link rule without a second text underline on hover. */
.text-link:hover{text-decoration:none}
/* Keep arrows still; change only the underline colour on interaction. */
.text-link:hover,.text-link:focus-visible{border-bottom-color:#000;text-decoration:none}

/* Subtle project-card interaction with a compact corner affordance. */
.project-image .view{display:grid;place-items:center;width:36px;height:36px;padding:0;right:12px;bottom:12px}
.project-image .view .link-arrow{width:18px;height:18px;object-fit:contain;transform:none;vertical-align:initial}
/* CMS rich-text and reusable content sections. */
.rte h2,.rte h3{margin:1.2em 0 .6em}.rte ul,.rte ol{padding-left:1.5em}.rte a{text-decoration:underline;text-underline-offset:4px}.rte blockquote{border-left:3px solid var(--yellow);margin-left:0;padding-left:24px}.content-section{margin-block:60px}.content-section.approach{padding-block:20px}.content-section.policy{padding-block:0}.content-section>h2{margin-bottom:30px}.studio-images figure,.content-gallery figure{margin:0}.studio-images figure img{width:100%;height:300px;object-fit:cover}.content-gallery{display:grid;gap:25px;margin-block:50px}figcaption{font-size:13px;color:var(--muted);padding-top:10px}.intro-grid.image-first>.rte{order:2}.intro-grid.image-first>img{order:1}
@media(max-width:640px){.studio-images figure:not(:first-child){display:none}.studio-images figure img{height:auto}.content-section{margin-block:45px}.intro-grid.image-first>.rte{order:0}}

.content-image{width:100%;height:auto;object-fit:contain}
