:root{--body-copy-size:17px;--navy:#1c202d;--paper:#fafaf8;--line:#d8d9dc;--muted:#626770;--accent:#d6e3c1;--gutter:4.3vw;font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:var(--navy);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:145px}body{margin:0}a{color:inherit}button{font:inherit;color:inherit}img{display:block;width:100%}h1,h2,h3,p,figure{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #809c55;outline-offset:6px}::selection{background:var(--accent);color:var(--navy)}.skip-link{position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px;z-index:99;background:white;padding:16px}.header{height:88px;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;background:rgba(250,250,248,.96);backdrop-filter:blur(16px)}.wordmark{display:block;width:150px;text-decoration:none;flex-shrink:0}.wordmark img{height:auto}.wordmark span{display:block;font-size:12px;letter-spacing:1.8px;margin-top:8px;text-align:center}.header nav{display:flex;align-items:center;gap:38px;font-size:14px}.header nav a{text-decoration:none;position:relative}.header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover::after{transform:scaleX(1)}.header nav a:last-child{font-weight:700}.menu-toggle{display:none}.hero{padding:42px var(--gutter) 0}.hero-top,.archive-caption{display:flex;justify-content:space-between;gap:24px}.eyebrow,.index-label{font-size:12px;letter-spacing:1.6px;line-height:1.5;font-weight:500}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:42px;padding:28px 0 48px}h1{font-size:clamp(58px,8.55vw,136px);font-weight:300;letter-spacing:-.066em;line-height:1.035}h1 span{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.059em}.hero-note{max-width:280px;flex-shrink:0;padding:0 0 12px;}.text-link{display:inline-block;margin-top:24px;font-size:14px;text-decoration-thickness:1px;text-underline-offset:6px}.archive{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow:hidden}.archive img{aspect-ratio:1.6;object-fit:cover;filter:saturate(.52);height:100%;min-width:0}.archive-caption{padding:20px 0 32px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.archive-caption>p:first-child{letter-spacing:1.3px;font-size:12px}.archive-caption p:last-child{max-width:450px;color:var(--muted)}.section-pad{padding:104px var(--gutter)}.intro{display:grid;grid-template-columns:.8fr 1.8fr 1.25fr;gap:40px;align-items:start}h2{font-size:clamp(38px,4.35vw,68px);letter-spacing:-.05em;line-height:1.08;font-weight:300}h2 em,h3 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.intro>div{padding-top:4px}.intro>div p+p{margin-top:22px;color:var(--muted)}.intro>.eyebrow{padding-top:9px}.work{background:var(--navy);color:white}.section-heading{display:grid;grid-template-columns:.8fr 1.8fr 1.25fr;gap:40px;align-items:end}.section-heading>p:last-child{color:#bcbfc7}.section-heading>.eyebrow{align-self:start;padding-top:8px}.project-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #464953;border-bottom:1px solid #464953;padding:0 var(--gutter);background:#1c202d;position:sticky;top:87px;z-index:20}.project-nav a{padding:20px 0;text-decoration:none;font-size:14px;color:#c4c7ce;transition:color .2s}.project-nav a span{color:#b2b6c0;font-size:12px;margin-right:18px}.project-nav a[aria-current],.project-nav a:hover{color:var(--accent)}.case{padding:42px var(--gutter) 0;scroll-margin-top:0}.case-topline{display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:1.4px;padding-bottom:24px;color:#c7cad1;text-transform:uppercase}.case-topline p:first-child span{color:var(--accent)}.case-feature{display:grid;grid-template-columns:minmax(0,1.67fr) minmax(0,1fr);gap:5vw;align-items:center}.case-image{min-width:0}.photo-button{display:block;width:100%;position:relative;padding:0;border:0;cursor:zoom-in;background:transparent;overflow:hidden;text-align:left}.photo-button img{height:auto;transition:transform .65s cubic-bezier(.22,1,.36,1)}.hero-photo img{aspect-ratio:1.36;object-fit:cover}.photo-button:hover img{transform:scale(1.02)}.photo-hint{position:absolute;right:14px;bottom:14px;background:rgba(28,32,45,.84);color:white;font-size:12px;letter-spacing:.25px;padding:10px 13px;display:flex;align-items:center;gap:18px;opacity:0;transition:opacity .2s}.photo-hint>span{font-size:19px;line-height:1}.photo-button:hover .photo-hint,.photo-button:focus-visible .photo-hint{opacity:1}.case-client{font-size:14px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:22px;color:#d1d4db}.case-copy h3{font-size:clamp(35px,3.5vw,57px);font-weight:300;line-height:1.12;letter-spacing:-.045em}.case-intro{color:#c7cbd3;margin-top:30px;max-width:410px}.award{border-top:1px solid #555964;padding-top:22px;margin-top:32px;display:flex;align-items:center;gap:16px;color:var(--accent)}.award-mark{font-size:38px;line-height:1}.award>div>span{font-size:12px;letter-spacing:1.5px}.award p{font-size:14px;line-height:1.5;margin-top:5px}.case-story{border-top:1px solid #555963;border-bottom:1px solid #555963;margin:40px 0 0}summary::-webkit-details-marker{display:none}.toggle-sign{position:relative;width:16px;height:16px;flex-shrink:0}.toggle-sign::before,.toggle-sign::after{content:'';background:currentColor;position:absolute;left:0;right:0;top:7px;height:1px;transition:transform .2s}.toggle-sign::after{transform:rotate(90deg)}details[open]>summary .toggle-sign::after{transform:rotate(0)}.case-details{padding:32px 0 45px}.case-story-text{max-width:850px;color:#d4d7dd;margin-bottom:36px}.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.case-gallery img{aspect-ratio:1.5;object-fit:cover}.case-gallery figcaption{font-size:13px;line-height:1.5;margin-top:15px;color:#bfc3cc;display:flex;gap:16px}.case-gallery figcaption>span{color:var(--accent);font-size:12px}.film-link{display:flex;width:max-content;max-width:100%;align-items:center;gap:18px;padding:19px 26px;background:var(--accent);color:var(--navy);border:1px solid var(--accent);text-decoration:none;margin-top:36px;font-size:14px;font-weight:700;letter-spacing:1.1px;transition:background .2s}.film-link:hover{background:#e5eed8}.film-play{font-size:16px;line-height:1}.case:last-child{padding-bottom:70px}.case:nth-child(2) .case-feature{grid-template-columns:1fr 1.67fr}.case:nth-child(2) .case-image{order:2}.case:nth-child(2) .case-copy{order:1}.approach{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;padding-top:120px;padding-bottom:120px}.approach-title h2{margin-top:32px}.approach-title>p:last-child{max-width:400px;margin-top:32px;color:var(--muted)}.process details{border-top:1px solid #bfc2c8}.process details:last-child{border-bottom:1px solid #bfc2c8}.process summary{display:flex;gap:22px;align-items:center;list-style:none;cursor:pointer;padding:26px 0;font-size:21px;line-height:1.4}.process-number{color:var(--muted);font-size:12px;margin-right:5px;align-self:center}.process summary>.toggle-sign{margin-left:auto}.process-body{padding:0 40px 28px 43px}.process-body p{color:var(--muted)}.contact{background:var(--accent);display:grid;grid-template-columns:1.35fr 1fr;gap:10vw;padding-top:100px;padding-bottom:100px}.contact h2{margin:30px 0}.contact-intro>p:not(.eyebrow){margin-bottom:30px}.contact a{display:block;width:max-content;max-width:100%}.contact-email{font-size:clamp(22px,2.8vw,43px);letter-spacing:-.035em;text-underline-offset:7px;text-decoration-thickness:1px;overflow-wrap:anywhere}.phone{font-size:16px;text-decoration:none;margin-top:20px}.brochure-link{font-size:14px;border-top:1px solid #a4b291;padding-top:22px;margin-top:42px!important;display:flex!important;gap:32px;justify-content:space-between;width:100%!important;text-decoration:none}.brochure-link span{font-size:12px;color:#4b5840}.brief{padding-top:8px}.brief ol{list-style:none;padding:0;margin:26px 0 0;counter-reset:brief}.brief li{counter-increment:brief;position:relative;padding:20px 0 20px 36px;border-top:1px solid #a4b291}.brief li::before{content:'0' counter(brief);position:absolute;top:24px;left:0;font-size:12px;color:#526041}.brief li>span{display:block;font-size:18px;line-height:1.4}.brief li p{color:#46543b;margin-top:7px;max-width:380px}.brief-note{color:#46543b;margin-top:20px;padding-left:36px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px var(--gutter);font-size:13px}footer>div{display:flex;flex-direction:column;gap:5px}footer>div>span:first-child{font-size:16px}footer>div>span:last-child{font-size:12px;color:var(--muted)}footer>a{text-underline-offset:5px}.dialog-open{overflow:hidden}.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:24px 3%;border:0;background:#151821;color:white}.lightbox::backdrop{background:#151821}.lightbox[open]{display:flex;flex-direction:column;gap:18px}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;font-size:14px;line-height:1.5}.lightbox-top p{max-width:80%}.lightbox button{cursor:pointer;background:none;border:1px solid #70747d;color:white;font-size:14px;min-height:42px;padding:10px 22px}.lightbox-image{flex:1;min-height:0;display:flex;justify-content:center;align-items:center}.lightbox-image img{max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain}.lightbox-bottom{padding-top:8px}
@media(min-width:1600px){:root{--gutter:max(5vw,calc((100vw - 1600px)/2))}.case-feature{gap:80px}.approach,.contact{gap:130px}}
@media(max-width:1100px){.hero-note{max-width:210px;}.hero-heading{gap:28px}h1{font-size:8.5vw}.intro,.section-heading{grid-template-columns:.7fr 1.7fr 1.3fr;gap:25px}.intro>div{}.case-feature{gap:4vw}.case-copy h3{font-size:37px}.case-intro{margin-top:24px}.award{margin-top:24px}.approach,.contact{gap:6vw}.process summary{font-size:18px}.section-heading h2{font-size:46px}}
@media(max-width:760px){:root{--gutter:5vw}html{scroll-padding-top:126px}.header{height:76px}.wordmark{width:118px}.wordmark span{font-size:10px;letter-spacing:1.4px;margin-top:7px}.menu-toggle{display:block;background:none;border:0;border-bottom:1px solid;padding:6px 0;cursor:pointer;font-size:14px}.header nav{display:none;position:absolute;top:75px;left:0;right:0;padding:24px var(--gutter) 32px;gap:25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;font-size:20px}.header nav.is-open{display:flex}.hero{padding-top:27px}.hero-heading{display:block;padding:26px 0 30px}h1{font-size:10.6vw;letter-spacing:-.06em;line-height:1.06}h1 span{letter-spacing:-.063em}.hero-note{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-top:30px}.hero-note .text-link{font-size:13px;white-space:nowrap;margin:0 0 2px}.index-label{display:none}.eyebrow{font-size:12px;letter-spacing:1.15px}.archive{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.archive img{aspect-ratio:.9;filter:saturate(.55)}.archive-caption{display:block;padding:17px 0 28px}.archive-caption>p:first-child{font-size:12px}.archive-caption p:last-child{margin-top:9px;font-size:12px;max-width:440px}.section-pad{padding:64px var(--gutter)}.intro,.section-heading{grid-template-columns:1fr;gap:23px}.intro h2,h2{font-size:45px}.intro>div{max-width:540px;padding:0}.intro>div p+p{margin-top:16px}.section-heading{margin:0;padding-bottom:48px}.section-heading>p:last-child{}.section-heading h2{font-size:46px}.project-nav{top:75px;padding:0 var(--gutter);gap:12px}.project-nav a{font-size:12px;padding:16px 0;white-space:nowrap}.project-nav a span{display:none}.case{padding-top:30px}.case-topline{font-size:12px;letter-spacing:.8px;padding-bottom:18px;gap:16px}.case-feature,.case:nth-child(2) .case-feature{grid-template-columns:1fr;gap:30px}.case:nth-child(2) .case-image,.case:nth-child(2) .case-copy{order:initial}.hero-photo img{aspect-ratio:1.36}.case-client{font-size:12px;margin-bottom:16px}.case-copy h3{font-size:43px}.case-intro{max-width:570px;margin-top:20px}.award{padding-top:18px;margin-top:26px;max-width:410px}.award p{font-size:13px}.award>div>span{font-size:12px}.case-story{margin-top:26px}.case-details{padding-top:26px;padding-bottom:30px}.case-story-text{margin-bottom:26px}.case-gallery{grid-template-columns:1fr;gap:30px}.case-gallery figcaption{margin-top:10px}.case:last-child{padding-bottom:36px}.photo-hint{opacity:1;font-size:12px;padding:8px 10px;right:10px;bottom:10px}.approach,.contact{grid-template-columns:1fr;gap:40px}.approach-title h2{margin-top:24px}.approach-title>p:last-child{margin-top:24px;}.process summary{padding:23px 0;font-size:18px;gap:14px}.process-number{margin-right:5px}.process-body{padding-left:32px;padding-right:15px}.contact h2{margin:24px 0}.contact-intro>p:not(.eyebrow){margin-bottom:30px}.contact-email{font-size:clamp(20px,6.4vw,36px)}.brochure-link{margin-top:32px!important}.brief{padding-top:10px}.brief ol{margin-top:20px}.brief li>span{font-size:17px}.brief li p{}footer{flex-wrap:wrap;font-size:12px;gap:22px}footer>p{order:3;width:100%}.lightbox{padding:18px 5%}.lightbox-top{font-size:12px;align-items:flex-start}.lightbox-top p{max-width:70%}.lightbox button{padding:9px 14px;font-size:13px}.lightbox-image{min-height:140px}}
@media(max-width:360px){h1{font-size:10.4vw}.hero-note{display:block;}.hero-note .text-link{margin-top:16px}.case-copy h3{font-size:36px}h2,.intro h2,.section-heading h2{font-size:39px}.project-nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* One body-text scale across all sections. */
.hero-note>p,.intro>div>p,.section-heading>p:not(.eyebrow),.case-intro,.case-story-text,.approach-title>p:not(.eyebrow),.process-body>p,.contact-intro>p:not(.eyebrow),.brief li>p,.brief-note,.brief-intro{font-size:var(--body-copy-size);line-height:1.7}
@media(max-width:1100px){:root{--body-copy-size:16px}}

.brief-intro{margin-top:14px;max-width:420px;color:#46543b}.footer-location{line-height:1.6}.footer-location address{font-style:normal;color:var(--muted)}
