:root{--paper:#fffbf7;--ink:#1c1c22;--muted:#62616a;--line:#1c1c2233;--lavender:#bbbcf4;--soft:#eeedf9;--lime:#dfe958;--purple:#5852a5;--sage:#c1cbb4;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'DM Sans',Arial,sans-serif}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.08}h2{font-size:clamp(45px,5.5vw,80px)}h2 em,h3 em{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:5px}::selection{background:var(--lavender);color:var(--ink)}.wrap{width:min(100% - 100px,1380px);margin-inline:auto}.eyebrow,.section-top>span{font-size:10px;letter-spacing:.085em;line-height:1.5}.small{font-size:11px;line-height:1.7;color:var(--muted)}.skip{position:fixed;left:10px;top:-100px;padding:12px 18px;background:var(--ink);color:#fff;z-index:30}.skip:focus{top:10px}
.header{height:100px;padding-inline:50px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand>img{width:39px;height:48px;object-fit:contain}.brand>span{font-family:Manrope;font-size:26px;font-weight:800;letter-spacing:-1.3px;line-height:1.1}.brand small{display:block;font:7px/1.5 'DM Sans';letter-spacing:.13em;margin-top:8px}.desktop-nav{display:flex;gap:32px;font-size:13px}.desktop-nav a:hover{color:var(--purple)}.nav-cta{font-size:13px;border:1px solid var(--ink);border-radius:30px;background:var(--lime);padding:12px 22px;display:flex;gap:30px;align-items:center;transition:background .2s}.nav-cta:hover{background:var(--lavender)}.menu-toggle,#mobile-nav{display:none}
.hero{padding-top:35px;padding-bottom:45px}.hero-kicker{display:flex;justify-content:space-between;gap:30px}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 205px;align-items:center;gap:60px;margin-top:58px}.hero h1{font-size:clamp(75px,10.7vw,164px);letter-spacing:-.075em;line-height:1.02}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em}.hero-mark{display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;isolation:isolate;padding-top:10px}.hero-mark:before{content:'';position:absolute;z-index:-1;width:210px;aspect-ratio:1;border-radius:50%;top:45px;background:var(--soft)}.hero-mark>img{width:156px;height:auto}.hero-mark>span{font-size:7px;letter-spacing:.06em;white-space:nowrap;margin-top:20px}.hero-bottom{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:50px;align-items:end;margin-top:55px}.hero-bottom>p:first-child{font-size:16px;line-height:1.7;max-width:410px}.round-link{width:104px;height:104px;border:1px solid var(--line);border-radius:50%;justify-self:center;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .25s}.round-link>span{font-size:8px;letter-spacing:.05em;line-height:1.4}.round-link>b{font-weight:400;font-size:30px;color:var(--purple)}.round-link:hover{background:var(--lime)}.hero-disciplines{font-size:10px;letter-spacing:.05em;justify-self:end;line-height:1.9}.ribbon{overflow:hidden;background:var(--lime);border-block:1px solid var(--ink);padding-block:14px}.ribbon-track{display:flex;align-items:center;gap:38px;width:max-content;animation:marquee 42s linear infinite}.ribbon-track>span{font-family:Manrope;font-size:19px;letter-spacing:-.025em;white-space:nowrap}.ribbon-track>i{font-size:23px;font-style:normal;color:var(--purple)}@keyframes marquee{to{transform:translateX(-50%)}}
.services{padding-block:90px}.section-top{display:flex;justify-content:space-between;gap:25px;align-items:start;margin-bottom:35px}.section-top>span{text-align:right}.section-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:75px;align-items:end;margin-bottom:50px}.section-intro>p{font-size:16px;line-height:1.75;max-width:480px;padding-bottom:5px}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.focus-card{border:1px solid var(--line);background:#f4f1eb;min-width:0}.focus-card:nth-child(2){background:var(--soft)}.focus-image{aspect-ratio:4/3;overflow:hidden}.focus-image>img{width:100%;height:100%;object-fit:cover}.focus-copy{padding:25px}.focus-copy .eyebrow{font-size:9px;color:var(--purple)}.focus-copy>h3{font-size:29px;line-height:1.15;margin-top:16px;letter-spacing:-.05em}.focus-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;margin-top:18px;min-height:72px}.focus-stat{border-top:1px solid var(--line);padding-top:24px;margin-top:26px;display:flex;flex-direction:column;gap:12px}.focus-stat>strong{font-family:Manrope;font-size:55px;font-weight:500;letter-spacing:-.06em;line-height:1}.focus-stat>span{font-size:11px;line-height:1.6;max-width:280px}.stats-note{margin-top:16px}.service-overview{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;border-top:1px solid var(--line);padding-top:45px;margin-top:65px}.service-overview>div>h3{font-size:34px;line-height:1.2;margin-top:22px}.text-link{font-size:12px;border-bottom:1px solid var(--ink);display:inline-flex;justify-content:space-between;gap:35px;padding-bottom:8px;line-height:1.5}.text-link>span{color:var(--purple)}.text-link:hover{color:var(--purple)}.service-overview .text-link{margin-top:30px}.service-overview>ol{list-style:none;padding:0;margin:0}.service-overview li{display:grid;grid-template-columns:30px 1fr 20px;gap:18px;border-bottom:1px solid var(--line);padding:20px 0}.service-overview li:first-child{padding-top:0}.service-num{font-size:10px;color:var(--purple);padding-top:4px}.service-arrow{font-size:22px;line-height:1.3;color:var(--purple)}.service-overview li h3{font-size:23px;letter-spacing:-.04em}.service-overview li p{font-size:13px;line-height:1.7;margin-top:11px}
.production{background:#eeece7;border-block:1px solid var(--line);padding-block:75px}.campaign-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:25px 30px;align-items:start}.shot{display:block;min-width:0;width:100%;padding:0;background:none;text-align:left}.shot-frame{display:block;overflow:hidden;background:#e3dfd7}.shot-frame>img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.shot:hover .shot-frame>img{transform:scale(1.025)}.shot-caption{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.6;margin-top:12px;letter-spacing:.025em}.shot-caption>span:last-child{color:var(--purple);font-size:17px;line-height:1}.shot-main{grid-row:span 2}.shot-main .shot-frame{aspect-ratio:6/5}.shot-side .shot-frame{aspect-ratio:8/5}.social-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-top:65px;margin-bottom:30px}.social-heading>h3{font-size:44px;line-height:1.1}.social-heading>p{font-size:15px;line-height:1.7;max-width:440px}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:790px;margin-left:auto}.social-grid .shot-frame{aspect-ratio:3/4}.production-bottom{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-top:35px}.production-bottom>.small{max-width:550px}
.studio{padding-block:90px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.person{padding-top:25px;border-top:1px solid var(--ink);min-width:0;display:flex;flex-direction:column}.person h3{font-size:30px;line-height:1.2;letter-spacing:-.045em}.person-role{font-size:8px;letter-spacing:.04em;margin-top:10px;min-height:30px}.person h4{font-size:26px;line-height:1.2;letter-spacing:-.045em;margin-top:28px}.person-bio{font-size:14px;line-height:1.8;margin-top:20px;max-width:390px}.person-tags{font-size:8px;line-height:1.6;letter-spacing:.045em;border-top:1px solid var(--line);padding-top:18px;margin-top:25px;color:var(--muted)}
.contact{background:var(--soft);padding-block:70px 75px;border-block:1px solid var(--line)}.contact h2{font-size:clamp(65px,8vw,116px);line-height:1.02;letter-spacing:-.065em;margin-top:35px}.contact h2 em{padding-left:8%}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-top:45px}.contact-bottom>p{font-size:16px;line-height:1.8}.email-link{font-family:Manrope;font-size:43px;line-height:1.15;letter-spacing:-.05em;border-bottom:1px solid var(--ink);padding-bottom:16px}.email-link>span{float:right;color:var(--purple)}.email-link>small{font-family:'DM Sans';font-size:clamp(16px,1.7vw,24px);letter-spacing:-.015em;display:block;margin-top:19px;overflow-wrap:anywhere}.email-link:hover{color:var(--purple)}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:30px}.footer-brand{font-family:Manrope;font-weight:800;font-size:24px;line-height:1.1;letter-spacing:-1px}.footer-brand>small{font-family:var(--serif);font-size:13px;font-style:italic;letter-spacing:0;display:block;margin-top:8px;font-weight:400}.footer>p,.footer>div{font-size:8px;line-height:1.8;letter-spacing:.05em}.footer>div{display:flex;flex-direction:column;gap:10px;text-align:right}.footer>div>a{text-decoration:underline;text-underline-offset:4px}
dialog{width:min(970px,calc(100% - 32px));border:1px solid var(--ink);border-radius:2px;padding:0;background:var(--paper);color:var(--ink);max-height:93dvh}dialog::backdrop{background:#17171cd9;backdrop-filter:blur(4px)}.photo-inner{padding:28px}.photo-close{background:none;display:block;margin:0 0 20px auto;font-size:13px;text-decoration:underline;text-underline-offset:4px}.photo-inner>h2{font-size:29px;letter-spacing:-.04em;margin-bottom:25px}#photo-image{background:#ece9e2;display:flex;justify-content:center;align-items:center;padding:15px}#photo-image>img{max-width:100%;max-height:65dvh;width:auto;height:auto;object-fit:contain}.photo-inner>.small{margin-top:16px}.photo-inner>.text-link{margin-top:20px}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.header{padding-inline:30px;gap:20px}.desktop-nav{gap:20px}.brand>span{font-size:23px}.hero-layout{grid-template-columns:minmax(0,1fr) 170px;gap:30px}.hero-mark>img{width:130px}.hero-mark:before{width:170px;top:35px}.hero-bottom{gap:25px}.hero-disciplines{font-size:8px}.focus-copy{padding:20px}.focus-copy>h3{font-size:25px}.focus-copy>p:not(.eyebrow){font-size:13px;min-height:90px}.focus-stat>strong{font-size:46px}.section-intro{gap:45px}.service-overview{gap:40px}.service-overview>div>h3{font-size:30px}.service-overview li h3{font-size:21px}.campaign-grid{gap:22px}.team-grid{gap:23px}.person h3{font-size:27px}.person h4{font-size:23px}.person-bio{font-size:13px}.contact-bottom{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 36px)}.header{height:82px;padding-inline:18px;gap:15px}.brand>img{width:30px;height:37px}.brand>span{font-size:22px}.brand small{font-size:6px;letter-spacing:.12em}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:17px;padding:10px 0 10px 10px;font-size:12px;background:none}.menu-toggle>span{font-size:25px;line-height:1;transition:transform .2s}.menu-toggle[aria-expanded=true]>span{transform:rotate(45deg)}#mobile-nav:not([hidden]){display:flex;position:absolute;top:81px;left:0;right:0;padding:25px 20px;background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column;gap:18px}#mobile-nav>a{font-size:25px;letter-spacing:-.04em}.hero{padding-top:26px;padding-bottom:30px}.hero-kicker>.eyebrow:last-child{display:none}.eyebrow,.section-top>span{font-size:9px}.hero-layout{display:block;margin-top:40px;position:relative;padding-bottom:182px}.hero h1{font-size:clamp(57px,13.2vw,98px);line-height:1.06;letter-spacing:-.065em}.hero-mark{position:absolute;bottom:0;right:15px;padding-top:0}.hero-mark>img{width:98px}.hero-mark:before{width:135px;top:20px}.hero-mark>span{font-size:6px;margin-top:10px}.hero-bottom{grid-template-columns:1fr 80px;align-items:center;gap:22px;margin-top:25px}.hero-bottom>p:first-child{font-size:14px}.round-link{width:80px;height:80px;gap:6px}.round-link>span{font-size:6px}.round-link>b{font-size:26px}.hero-disciplines{grid-column:1/-1;justify-self:start;font-size:8px}.ribbon{padding-block:12px}.ribbon-track{gap:25px}.ribbon-track>span{font-size:15px}.ribbon-track>i{font-size:18px}.services,.studio{padding-block:60px}.section-top{margin-bottom:25px}.section-top>span{max-width:130px;font-size:8px}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.section-intro>h2{font-size:45px}.section-intro>p{font-size:14px;max-width:450px}.focus-grid{grid-template-columns:1fr;gap:25px}.focus-image{aspect-ratio:3/2}.focus-copy{padding:24px}.focus-copy>h3{font-size:30px}.focus-copy>p:not(.eyebrow){font-size:14px;min-height:0;margin-top:16px}.focus-stat{flex-direction:row;align-items:center;gap:22px;margin-top:23px;padding-top:22px}.focus-stat>strong{font-size:44px;white-space:nowrap}.focus-stat>span{font-size:10px}.stats-note{font-size:10px}.service-overview{grid-template-columns:1fr;gap:35px;margin-top:40px;padding-top:30px}.service-overview>div>h3{font-size:30px}.service-overview .text-link{margin-top:20px}.service-overview li{grid-template-columns:22px 1fr 18px;gap:12px;padding-block:20px}.service-overview li h3{font-size:21px}.service-overview li p{font-size:12px;margin-top:9px}.production{padding-block:50px}.campaign-grid{grid-template-columns:1fr 1fr;gap:22px 12px}.shot-main{grid-column:1/-1;grid-row:auto}.shot-main .shot-frame{aspect-ratio:3/2}.shot-side .shot-frame{aspect-ratio:4/5}.shot-caption{font-size:9px;gap:10px}.shot-caption>span:last-child{font-size:15px}.social-heading{grid-template-columns:1fr;gap:20px;margin-top:40px;margin-bottom:25px}.social-heading>h3{font-size:36px}.social-heading>p{font-size:14px}.social-grid{gap:12px;margin-left:0}.social-grid .shot-frame{aspect-ratio:3/5}.social-grid .shot-caption{font-size:8px;gap:4px}.social-grid .shot-caption>span:last-child{font-size:12px}.production-bottom{display:block;margin-top:25px}.production-bottom>.small{font-size:10px}.production-bottom>.text-link{margin-top:23px}.team-grid{grid-template-columns:1fr;gap:38px}.person h3{font-size:30px}.person-role{min-height:0;font-size:8px}.person h4{font-size:28px;margin-top:25px}.person-bio{font-size:14px;max-width:500px;margin-top:18px}.person-tags{font-size:8px;margin-top:20px}.contact{padding-block:50px}.contact h2{font-size:clamp(54px,12.7vw,89px);margin-top:28px}.contact h2 em{padding-left:0}.contact-bottom{grid-template-columns:1fr;gap:32px;margin-top:30px}.contact-bottom>p{font-size:14px}.email-link{font-size:38px}.email-link>small{font-size:18px;margin-top:16px}.footer{flex-wrap:wrap;align-items:start;gap:25px;padding-block:25px}.footer-brand{font-size:23px}.footer>p{font-size:7px}.footer>div{width:100%;flex-direction:row;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line);font-size:8px}.photo-inner{padding:20px}.photo-inner>h2{font-size:24px}#photo-image{padding:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Service concepts share a simple line-illustration language. */
.focus-image{background:transparent;aspect-ratio:4/3}
.focus-image>img{width:100%;height:100%;object-fit:contain;padding:20px 22px}
.person>h3{font-size:34px;letter-spacing:-.045em}
.hero-mark>span{font-size:9px;letter-spacing:.025em}
@media(max-width:760px){.focus-image{aspect-ratio:4/3}.focus-image>img{padding:20px 24px}.person>h3{font-size:32px}.hero h1{font-size:clamp(52px,13.2vw,98px)}.hero-mark>span{font-size:8px}}

.contact-emails{display:grid;grid-template-columns:1fr 1fr;gap:25px;min-width:0}
.contact-emails .email-link{font-size:32px;min-width:0}
.contact-emails .email-link>small{font-size:15px;letter-spacing:-.02em;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:760px){.contact-emails{grid-template-columns:1fr;gap:28px}.contact-emails .email-link{font-size:34px}.contact-emails .email-link>small{font-size:17px}}
