@import url('/fonts.css');
:root{--paper:#e4e4e4;--ink:#101211;--muted:#646662;--white:#f4f4f1;--teal:#209f9d;--yellow:#dcc53d;--pad:5rem;--sans:'Inter Tight',Arial,sans-serif;--serif:'DM Serif Display',Georgia,serif;font-size:calc(.5rem + .416667vw)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.125rem;line-height:1.35;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:6px}button{border:0}img,video{display:block;max-width:100%}img{height:auto}h1,h2,h3,p{margin:0;font-weight:400}ul{margin:0;padding:0;list-style:none}::selection{background:var(--teal);color:#fff}[hidden]{display:none!important}.wrap{padding-inline:var(--pad)}.section{margin-top:8rem}.small{font-size:1rem}.eyebrow{font-size:1rem;line-height:1.2;display:block;margin-bottom:2rem}.muted{color:var(--muted)}.serif{font-family:var(--serif)}.skip{position:fixed;top:-10rem;left:1rem;z-index:1000;background:var(--ink);color:#fff;padding:1rem}.skip:focus{top:1rem}
#site-header{position:fixed;z-index:100;top:0;left:0;width:100%;padding:1.75rem var(--pad);display:flex;justify-content:space-between;align-items:center;background:var(--paper);transition:transform .4s ease;min-height:6.5rem}.brand{width:8rem;display:block}.brand img{width:100%;height:auto}.header-symbol{position:absolute;left:calc(50% - 1.55rem);width:3.1rem;height:3.1rem;object-fit:contain;animation:turn 15s linear infinite}.nav-links{display:flex;gap:.55rem}.pill,.btn{display:inline-flex;align-items:center;justify-content:center;gap:2rem;border:1px solid currentColor;border-radius:1rem;padding:1rem 1.5rem;line-height:1.1;transition:border-radius 1s ease,background .3s,color .3s}.pill{padding:.7rem 1.15rem;font-size:.95rem;gap:1rem}.btn{min-height:3.75rem}.btn:hover,.pill:hover{border-radius:3rem}.btn .arrow,.pill .arrow{display:inline-block;font-size:1.4em;transition:transform .4s ease}.btn:hover .arrow,.pill:hover .arrow{transform:rotate(35deg) scale(1.2)}.solid{background:var(--ink);color:var(--white);border-color:var(--ink)}.nav-links [aria-current=page]{background:var(--ink);color:var(--white)}.menu-toggle{display:none;background:transparent;padding:.6rem 0}.toggle-label{display:block}.menu-label-close{display:none}body.menu-open .menu-label-open{display:none}body.menu-open .menu-label-close{display:block}#mobile-menu{display:none}
.hero{padding-top:10rem;display:grid;grid-template-columns:1fr 28ch;gap:4rem;align-items:end}.hero h1{font-family:var(--serif);font-size:8.4rem;letter-spacing:-.045em;line-height:.94}.hero h1 .hero-line{display:block}.hero-copy{padding-bottom:.5rem;font-size:1.2rem}.hero-copy p{margin-bottom:2rem}.hero-inline-symbol{display:inline-block;width:.65em;height:.65em;vertical-align:baseline;margin-left:.1em;animation:turn 19s linear infinite}.hero-rail{margin-top:6rem;width:100%;overflow:hidden;padding-block:1rem}.hero-track{display:flex;gap:2rem;width:max-content;transform:translateX(-2rem);will-change:transform}.rail-item{position:relative;display:block;flex:0 0 34.625rem;width:34.625rem;height:45rem;border-radius:10rem;overflow:hidden}.rail-item img,.rail-item video{width:100%;height:100%;object-fit:cover;transition:transform .7s}.rail-item:hover img{transform:scale(1.05)}.rail-caption{position:absolute;bottom:2rem;left:2rem;right:2rem;display:flex;justify-content:space-between;align-items:center;color:#fff;text-shadow:0 1px 10px #000}.rail-caption span{background:#111b;padding:.55rem .85rem;border-radius:2rem;font-size:.9rem}.rail-item::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0004);pointer-events:none}.rail-caption{z-index:1}
.manifesto{font-size:2.6rem;line-height:1.25;letter-spacing:-.025em;max-width:66ch}.intro-meta{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-top:3rem}.intro-meta p{max-width:37ch;font-size:1rem}.projects-heading{text-align:center;position:relative;max-width:75rem;margin:0 auto 5rem}.display-heading{font-weight:600;font-size:9.5rem;line-height:.88;letter-spacing:-.065em;text-transform:uppercase}.projects-heading .eyebrow{margin-bottom:2.5rem}.sticker{position:absolute;right:0;top:1rem;background:var(--teal);width:10rem;height:10rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(15deg);font-size:1rem;line-height:1.15}.sticker .arrow{font-size:2rem}.project-grid{display:grid;grid-template-columns:repeat(6,1fr);column-gap:1.5rem;row-gap:4rem}.project-card{grid-column:span 3;min-width:0}.project-card.featured{grid-column:span 6}.project-visual{height:40rem;position:relative;overflow:hidden;border-radius:2.5rem;transition:border-radius .4s cubic-bezier(.39,.575,.565,1);isolation:isolate}.project-card.featured .project-visual{height:46rem}.project-card:nth-child(3) .project-visual{height:49rem}.project-visual>img,.project-visual>video{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.39,.575,.565,1)}.project-visual .project-overlay{position:absolute;width:55%;height:65%;left:50%;top:50%;transform:translate(-50%,-45%) scale(.94);border-radius:5rem;opacity:0;object-fit:cover;box-shadow:0 1rem 3rem #0002;transition:opacity .4s ease,transform .4s ease}.project-card:hover .project-visual,.project-card:focus-within .project-visual{border-radius:9rem}.project-card:hover .project-visual>img:first-child{transform:scale(1.08)}.project-card:hover .project-overlay,.project-card:focus-within .project-overlay{opacity:1;transform:translate(-50%,-50%) scale(1)}.view-case{position:absolute;right:1.5rem;bottom:1.5rem;background:var(--white);border-radius:50%;width:4rem;height:4rem;display:grid;place-items:center;font-size:2rem}.project-info{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-top:1.3rem}.project-name{font-family:var(--serif);font-size:1.5rem;color:var(--muted);margin-bottom:.25rem}.project-info :is(h2,h3){font-size:1.65rem;line-height:1.2;letter-spacing:-.025em}.tag{border:1px solid currentColor;padding:.35rem .65rem;border-radius:3rem;font-size:.7rem;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-info .tag{margin-top:.25rem}.cta-strip{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--white);padding:2.5rem 3rem;border-radius:2.5rem;margin-top:4rem}.cta-strip p{font-size:1.65rem;max-width:35ch;letter-spacing:-.02em}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3rem}.section-intro h2{font-size:2.6rem;letter-spacing:-.04em;max-width:30ch;line-height:1.2}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.service-visual{height:20rem;border-radius:2rem 2rem 0 0;overflow:hidden;transition:border-radius .3s cubic-bezier(.47,0,.745,.715)}.service-visual img{height:100%;width:100%;object-fit:cover}.service-body{min-height:23rem;display:flex;flex-direction:column;align-items:start;padding:2.5rem 2rem;border-radius:0 0 2rem 2rem;transition:border-radius .3s cubic-bezier(.47,0,.745,.715)}.service-card:nth-child(1) .service-body{background:var(--teal)}.service-card:nth-child(2) .service-body{background:var(--white)}.service-card:nth-child(3) .service-body{background:var(--yellow)}.service-card:nth-child(4) .service-body{background:#b9c2b0}.service-body h3{font-size:1.75rem;letter-spacing:-.025em;line-height:1.1;margin-bottom:2.5rem}.service-body p{font-size:1rem;max-width:25ch}.service-body .arrow{font-size:2rem;margin-top:auto;padding-top:2rem;transition:transform .4s}.service-card:hover .service-visual{border-radius:5.5rem}.service-card:hover .service-body{border-radius:5.5rem}.service-card:hover .arrow{transform:translateX(.5rem) rotate(30deg)}
.belief{position:relative}.belief .manifesto{margin-bottom:5rem}.belief .display-heading{font-size:8rem;max-width:15ch}.round-link{width:12rem;height:12rem;position:relative;display:grid;place-items:center}.round-link svg{position:absolute;inset:0;width:100%;height:100%;animation:turn 19s linear infinite;fill:currentColor}.round-link span{font-size:4rem}.belief .round-link{position:absolute;right:5rem;bottom:1rem}.process-image{position:relative;height:60rem;overflow:hidden;border-radius:10rem}.process-image img,.process-image video{width:100%;height:100%;object-fit:cover}.process-image .process-label{position:absolute;left:3rem;bottom:3rem;background:var(--white);border-radius:2rem;padding:.75rem 1.25rem;font-size:1rem}.process-bottom{display:flex;justify-content:space-between;align-items:start;gap:4rem;margin-top:2rem}.process-bottom p{font-size:1.5rem;max-width:43ch;letter-spacing:-.02em}.client-row{border-top:1px solid #a6a8a4;padding-top:3rem;margin-bottom:7rem}.client-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;font-size:1.8rem;text-transform:uppercase;letter-spacing:-.02em;color:var(--muted)}
footer{background:var(--ink);color:var(--white);padding:5rem var(--pad) 2rem;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.7fr 1fr;gap:8rem}.footer-cta h2{font-size:3.75rem;line-height:1.05;letter-spacing:-.045em;max-width:17ch;margin-bottom:2.5rem}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.footer-links span{display:block;color:#949892;font-size:1rem;margin-bottom:1.5rem}.footer-links a{display:table;font-size:1.15rem;margin-bottom:.8rem;position:relative}.footer-links a:after{content:'';position:absolute;left:0;bottom:-.1rem;width:0;height:1px;background:currentColor;transition:width .4s}.footer-links a:hover:after{width:100%}.footer-wordmark-wrap{overflow:hidden;margin-top:7rem}.footer-wordmark{width:100%;height:auto}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:3rem;font-size:.85rem;color:#aeb0ab}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
.page-hero{padding-top:11rem;padding-bottom:5rem}.page-hero .serif{font-size:8.5rem;line-height:.95;letter-spacing:-.045em;max-width:13ch}.page-hero .page-intro{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-top:3rem}.page-hero p{font-size:1.5rem;max-width:35ch}.filters{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 3rem}.filter{background:none;border:1px solid currentColor;border-radius:2rem;padding:.6rem 1rem;font-size:1rem}.filter[aria-pressed=true]{background:var(--ink);color:var(--white)}.projects-page .project-card.featured{grid-column:span 3}.projects-page .project-card .project-visual{height:39rem}.projects-page .project-card:nth-child(even){padding-top:6rem}.projects-page .project-card[hidden]+.project-card{padding-top:0}.dark-page{--paper:#111410;--ink:#f4f4f1;--muted:#aeb6ad;--white:#252b24}.dark-page .solid{background:var(--ink);color:var(--paper)}.dark-page .btn:not(.solid){color:var(--ink)}.dark-page .header-symbol{filter:saturate(.8)}.dark-page .brand img{content:url('/assets/logo-negative.png')}.dark-page footer{background:#070a07;color:#f4f4f1}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.about-photo{height:52rem;object-fit:cover;width:100%;border-radius:8rem}.about-copy{padding-top:3rem}.about-copy h2{font-family:var(--serif);font-size:4rem;letter-spacing:-.035em;line-height:1.05;margin-bottom:2.5rem}.about-copy p{font-size:1.4rem;max-width:38ch;margin-bottom:1.8rem}.about-copy .tag{margin-bottom:2.5rem}.bts-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem}.bts-grid figure{margin:0}.bts-grid figure:nth-child(even){padding-top:6rem}.bts-grid img{width:100%;height:35rem;object-fit:cover;border-radius:4rem}.bts-grid figcaption{margin-top:1.3rem;color:var(--muted);font-size:1rem}.accordion-list{max-width:66rem;margin-left:auto}.accordion-item{border-top:1px solid #8d958a}.accordion-item:last-child{border-bottom:1px solid #8d958a}.accordion-trigger{background:none;width:100%;display:flex;justify-content:space-between;gap:2rem;text-align:left;padding:2rem 0;font-size:2.3rem;letter-spacing:-.03em}.accordion-trigger .arrow{transition:transform .3s}.accordion-trigger[aria-expanded=true] .arrow{transform:rotate(45deg)}.accordion-panel{padding:0 4rem 2rem 0;font-size:1.3rem;max-width:56ch;color:var(--muted)}
.contact-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:6rem;align-items:end;padding-top:12rem}.contact-hero h1{font-family:var(--serif);font-size:8rem;letter-spacing:-.05em;line-height:.95}.contact-details{font-size:1.3rem}.contact-details p{margin-bottom:2rem}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-option{padding:4rem;background:var(--white);border-radius:3rem;min-height:26rem;display:flex;flex-direction:column;align-items:start}.contact-option:first-child{background:var(--teal)}.contact-option h2{font-family:var(--serif);font-size:3.2rem;line-height:1.1;margin-bottom:2rem}.contact-option p{max-width:32ch;margin-bottom:2rem}.contact-option .btn{margin-top:auto}.contact-note{font-size:1rem;max-width:55ch;margin-top:2rem;color:var(--muted)}
.case-page{background:var(--case-bg,var(--paper));color:var(--case-ink,var(--ink))}.case-page #site-header{background:var(--case-bg,var(--paper));color:var(--case-ink,var(--ink))}.case-heading{text-align:center;padding:11rem var(--pad) 5rem}.case-heading .eyebrow{margin-bottom:2rem}.case-heading h1{font-family:var(--serif);font-size:8rem;letter-spacing:-.04em;line-height:1;margin:0 auto 1.5rem}.case-heading>p{font-size:2rem;margin-bottom:2rem;letter-spacing:-.02em}.case-heading .tags{justify-content:center}.case-cover{width:100%;height:110svh;min-height:45rem;max-height:75rem;border-radius:7.5rem 7.5rem 0 0;object-fit:cover}.case-story{display:grid;grid-template-columns:1fr 1.4fr;gap:7rem;padding-block:6rem}.case-story h2{font-family:var(--serif);font-size:4rem;line-height:1.05;letter-spacing:-.035em}.case-story p{font-size:1.6rem;max-width:42ch}.case-story .eyebrow{font-size:1rem;margin-bottom:2rem}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.case-gallery figure{margin:0;overflow:hidden;border-radius:2.5rem;align-self:start}.case-gallery figure.wide{grid-column:span 2}.case-gallery img{width:100%;height:auto}.case-gallery figure:not(.wide) img{aspect-ratio:4/5;object-fit:cover}.case-gallery video{width:100%;background:#111;max-height:85vh}.case-credits{display:flex;justify-content:space-between;gap:4rem;margin-block:3rem;font-size:1rem}.next-case{position:relative;display:block;height:47rem;overflow:hidden;margin-top:8rem;border-radius:7rem 7rem 0 0;background:#111;color:white}.next-case>img{width:100%;height:100%;object-fit:cover;filter:brightness(.6);transition:transform .7s}.next-case:hover>img{transform:scale(1.05)}.next-case-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.next-case-copy h2{font-family:var(--serif);font-size:7rem;line-height:1;letter-spacing:-.04em}.case-cursor{position:absolute;left:0;top:0;width:7rem;height:7rem;border-radius:50%;background:var(--teal);color:#101211;display:grid;place-items:center;pointer-events:none;opacity:0;font-size:1rem}.case-page footer{background:#101211;color:#f4f4f1}.error-page{text-align:center;min-height:75vh;padding-top:15rem}.error-page h1{font-family:var(--serif);font-size:8rem}.error-page p{margin:2rem}.error-page .btn{margin-bottom:5rem}
@keyframes turn{to{transform:rotate(360deg)}}
@media(max-width:1680px){:root{font-size:calc(.439315rem + .414938vw)}}
@media(max-width:1439px){:root{font-size:calc(.250391rem + .625vw)}}
@media(max-width:1279px){:root{font-size:calc(.800156rem + .25vw)}.hero h1{font-size:7.15vw}.hero{grid-template-columns:1fr 24ch;gap:3rem}.display-heading{font-size:8rem}}
@media(max-width:991px){:root{--pad:2.5rem;font-size:16px}.nav-links{display:none}.menu-toggle{display:block;font-size:1rem}#mobile-menu{display:block;position:fixed;inset:0 0 auto;z-index:90;background:#0a0b0c;color:#f4f4f1;border-radius:0 0 4rem 4rem;padding:9rem 2.5rem 3rem;box-shadow:0 20rem 0 20rem #0008}.mobile-links a{font-family:var(--serif);font-size:3.25rem;display:block;line-height:1.3}.mobile-social{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #555;display:flex;justify-content:space-between}.menu-open #site-header{background:#0a0b0c;color:#fff}.menu-open .brand img{content:url('/assets/logo-negative.png')}.header-symbol{width:2.5rem;height:2.5rem}.hero{grid-template-columns:1fr;gap:3rem;padding-top:9rem}.hero h1{font-size:6.7rem}.hero-copy{max-width:42ch;margin-left:auto}.hero-rail{margin-top:5rem}.rail-item{width:20rem;height:30rem;flex-basis:20rem;border-radius:5rem}.hero-track{gap:1.5rem;transform:translateX(-.75rem)}.manifesto{font-size:2rem}.display-heading{font-size:6.7rem}.projects-heading{padding-top:2rem}.sticker{width:7rem;height:7rem;right:-1rem;top:0;font-size:.8rem}.project-visual,.project-card.featured .project-visual,.project-card:nth-child(3) .project-visual{height:31rem}.project-visual .project-overlay{display:none}.project-info{flex-direction:column}.service-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.service-visual{height:21rem}.service-body{min-height:22rem}.section-intro{grid-template-columns:1fr 2fr;gap:2rem}.section-intro h2{font-size:2rem}.belief .display-heading{font-size:5.5rem}.belief .round-link{right:2.5rem;width:9rem;height:9rem}.process-image{height:43rem;border-radius:6rem}.footer-top{gap:3rem;grid-template-columns:1.3fr 1fr}.footer-cta h2{font-size:3rem}.footer-links{gap:1.5rem}.about-intro{gap:3rem}.about-photo{height:40rem;border-radius:5rem}.about-copy{padding-top:0}.about-copy h2{font-size:3rem}.about-copy p{font-size:1.2rem}.page-hero .serif{font-size:6.7rem}.contact-hero{gap:3rem}.contact-hero h1{font-size:6rem}.contact-option{padding:2.5rem}.case-heading h1{font-size:6rem}.case-cover{min-height:35rem;height:75vh}.case-story{gap:4rem}.case-story h2{font-size:3rem}.case-story p{font-size:1.3rem}.case-cursor{display:none!important}}
@media(max-width:767px){:root{--pad:1.25rem}.section{margin-top:5rem}#site-header{padding:1.3rem var(--pad);min-height:5rem}.brand{width:6.5rem}.header-symbol{width:2.15rem;height:2.15rem;left:calc(50% - 1rem)}.hero{padding-top:8rem;gap:2.5rem}.hero h1{font-size:5rem;letter-spacing:-.05em;line-height:.97}.hero-copy{margin-left:0;max-width:32ch;font-size:1.125rem}.hero-copy p{margin-bottom:1.5rem}.hero-rail{margin-top:3rem}.rail-item{height:28rem}.rail-caption{left:1.5rem;right:1.5rem;bottom:1.5rem}.manifesto{font-size:1.8rem}.intro-meta{align-items:start;gap:2rem;flex-direction:column;margin-top:2rem}.projects-heading{margin-bottom:3rem;padding-top:3rem}.display-heading{font-size:4.6rem}.projects-heading .eyebrow{margin-bottom:2rem}.sticker{right:.5rem;width:5.5rem;height:5.5rem;font-size:.65rem;top:0}.project-grid{display:block}.project-card{display:block;margin-bottom:3rem}.project-visual,.project-card.featured .project-visual,.project-card:nth-child(3) .project-visual{height:28rem;border-radius:2rem}.project-card:nth-child(2) .project-visual{height:22rem}.project-card:hover .project-visual{border-radius:4rem}.project-info{flex-direction:row}.project-info :is(h2,h3){font-size:1.3rem}.project-name{font-size:1.2rem}.project-info .tag{font-size:.6rem;white-space:normal;max-width:8rem}.view-case{width:3rem;height:3rem;font-size:1.4rem}.cta-strip{padding:2rem;flex-direction:column;gap:2rem;align-items:start;margin-top:2rem;border-radius:2rem}.cta-strip p{font-size:1.4rem}.section-intro{grid-template-columns:1fr;gap:0}.section-intro .eyebrow{margin-bottom:1.5rem}.section-intro h2{font-size:2rem}.service-grid{grid-template-columns:1fr;gap:2rem}.service-visual{height:22rem}.service-body{min-height:20rem;padding:2rem}.service-body h3{font-size:2rem;margin-bottom:2rem}.service-body p{font-size:1.1rem;max-width:30ch}.belief .manifesto{margin-bottom:3rem}.belief .display-heading{font-size:4rem}.belief .round-link{position:relative;right:auto;bottom:auto;margin-top:2.5rem;margin-left:auto}.process-image{height:30rem;border-radius:4rem}.process-image .process-label{left:1.25rem;bottom:1.5rem;font-size:.8rem;max-width:80%}.process-bottom{flex-direction:column;gap:2rem}.process-bottom p{font-size:1.3rem}.client-list{grid-template-columns:repeat(2,1fr);font-size:1.35rem;gap:1.8rem}.client-row{margin-bottom:5rem}.footer-top{grid-template-columns:1fr;gap:4rem}.footer-cta h2{font-size:3.3rem}.footer-links{gap:2rem}.footer-wordmark-wrap{margin-top:4rem}.footer-bottom{flex-direction:column;gap:.5rem;margin-top:2rem}.page-hero{padding-top:9rem;padding-bottom:3rem}.page-hero .serif{font-size:5.1rem}.page-hero .page-intro{flex-direction:column;align-items:start;gap:2rem}.page-hero p{font-size:1.25rem}.projects-page .project-card:nth-child(even){padding-top:0}.projects-page .project-card .project-visual{height:29rem}.about-intro{grid-template-columns:1fr;gap:3rem}.about-photo{height:34rem;border-radius:4rem}.about-copy h2{font-size:3.2rem}.about-copy p{font-size:1.2rem}.bts-grid{grid-template-columns:1fr;gap:2.5rem}.bts-grid figure:nth-child(even){padding-top:0}.bts-grid img{height:28rem;border-radius:3rem}.accordion-trigger{font-size:1.7rem;padding:1.5rem 0}.accordion-panel{font-size:1.15rem;padding-right:0}.contact-hero{grid-template-columns:1fr;gap:3rem;padding-top:9rem}.contact-hero h1{font-size:5.5rem}.contact-details{font-size:1.2rem}.contact-options{grid-template-columns:1fr}.contact-option{padding:2.5rem;min-height:27rem}.case-heading{padding-top:9rem;padding-bottom:3rem}.case-heading h1{font-size:4.5rem}.case-heading>p{font-size:1.5rem}.case-cover{height:70vh;min-height:28rem;border-radius:4rem 4rem 0 0}.case-story{grid-template-columns:1fr;gap:2.5rem;padding-block:4rem}.case-story h2{font-size:3.2rem}.case-gallery{grid-template-columns:1fr;gap:1.25rem}.case-gallery figure.wide{grid-column:span 1}.case-gallery figure{border-radius:1.5rem}.case-gallery figure:not(.wide) img{aspect-ratio:auto;object-fit:contain}.case-credits{flex-direction:column;gap:1rem}.next-case{height:32rem;border-radius:4rem 4rem 0 0;margin-top:4rem}.next-case-copy h2{font-size:4rem;text-align:center}.round-link{width:9rem;height:9rem}}
@media(max-width:479px){:root{font-size:calc(.749477rem + .83682vw)}.hero h1{font-size:4.25rem}.hero{gap:2rem}.hero-copy{max-width:30ch}.display-heading{font-size:4.2rem}.belief .display-heading{font-size:3.7rem}.page-hero .serif{font-size:4.5rem}.case-heading h1{font-size:3.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-rail{overflow-x:auto}.hero-track{transform:none!important;width:max-content;padding-inline:var(--pad)}[data-reveal]{opacity:1!important;transform:none!important}}
.featured-duo{display:grid;grid-template-columns:1fr 1fr;gap:0;height:100%;width:100%}.featured-duo img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.project-card:hover .featured-duo img{transform:scale(1.03)}.case-cover-grid{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:7.5rem 7.5rem 0 0;height:62rem;max-height:120svh}.case-cover-grid img{height:100%;width:100%;object-fit:cover}.process-image{display:block}.case-cursor{transform:translate(-50%,-50%)}.motion-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.motion-grid figure{margin:0}.motion-grid video{width:100%;max-height:42rem;border-radius:3rem;background:#000;object-fit:contain}.motion-grid figcaption{margin-top:1.3rem;font-size:1rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:767px){.featured-duo{grid-template-columns:1fr}.featured-duo img:nth-child(2){display:none}.case-cover-grid{height:34rem;max-height:none;border-radius:4rem 4rem 0 0;grid-template-columns:1fr}.case-cover-grid img:nth-child(2){display:none}.motion-grid{grid-template-columns:1fr;gap:3rem}.motion-grid video{max-height:38rem}}

.keep{white-space:nowrap}@media(max-width:991px){#mobile-menu{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}}@media(max-width:479px){.hero h1{font-size:3rem}}

/* Personal site revision: monochrome identity on light navigation surfaces. */
#site-header,.case-page #site-header,.dark-page #site-header,body.menu-open #site-header{background:#e4e4e4;color:#101211}
.brand img,.header-symbol,.footer-wordmark{filter:brightness(0)}
.dark-page .brand img,.menu-open .brand img{content:normal}
footer,.dark-page footer,.case-page footer{background:#f4f4f1;color:#101211}
footer .footer-links span,footer .footer-bottom{color:#5d625a}
.dark-page footer .btn{color:#101211}
.hero-copy .personal-label{font-size:.9rem;display:block;margin-bottom:1.3rem}
.hero-rail.people-rail .rail-item img{object-position:var(--photo-position,50% 50%)}
.rail-item picture{display:block;width:100%;height:100%}
.hero-rail.people-rail .rail-caption{justify-content:flex-start}

#site-header .header-symbol{filter:brightness(0)}

.case-prazmatec .case-cover-grid{height:auto;max-height:none}.case-prazmatec .case-cover-grid img{height:auto;aspect-ratio:1800/1324;object-fit:contain}.process-image img{object-position:49% 50%}
.dark-page footer .btn:not(.solid){color:#101211}

/* Static film grain is a surface treatment, with no animated noise or extra motion. */
body::before{content:"";position:fixed;inset:0;z-index:110;pointer-events:none;background:url('/assets/grain.svg?v=2') repeat;background-size:180px 180px;opacity:.08;mix-blend-mode:multiply}
.photo-grain{position:relative;isolation:isolate;overflow:hidden}
.photo-grain::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:url('/assets/grain.svg?v=2') repeat;background-size:160px 160px;opacity:.55;mix-blend-mode:soft-light;border-radius:inherit}
.photo-grain .rail-caption,.photo-grain .process-label{z-index:2}
.monochrome>img{filter:grayscale(1) contrast(1.1) brightness(.98)}
.portrait-frame{border-radius:8rem}.bts-photo{border-radius:4rem}
.footer-top{grid-template-columns:1.3fr 1fr;gap:7rem}
.footer-cta h2{font-family:var(--serif);font-weight:400;font-size:4.4rem;max-width:15ch;letter-spacing:-.035em}
.footer-contact{display:flex;flex-direction:column;gap:3.5rem;padding-top:.4rem}
.footer-contact .eyebrow{display:block;margin-bottom:1rem;color:#5d625a}
.footer-phone{display:flex;align-items:center;gap:1.3rem;font-size:2.65rem;line-height:1.1;letter-spacing:-.04em;white-space:nowrap;width:fit-content}
.footer-phone .arrow{transition:transform .3s}.footer-phone:hover .arrow{transform:translate(.2rem,-.2rem)}
address{font-style:normal;line-height:1.6}.footer-office address{font-size:1.2rem}.office-map{display:inline-block;margin-top:1.1rem;text-decoration:underline;text-underline-offset:4px}
.footer-navigation{display:flex;justify-content:space-between;gap:2rem;margin-top:4.5rem}.footer-navigation nav,.footer-navigation>div{display:flex;flex-wrap:wrap;gap:1.8rem}.footer-navigation a{font-size:1rem}
.footer-bottom{margin-top:3rem}.contact-option address{margin-bottom:2.5rem;font-size:1.2rem}
@media(max-width:991px){.portrait-frame{border-radius:5rem}.footer-top{gap:3rem}.footer-cta h2{font-size:3.8rem}.footer-phone{font-size:2.1rem;gap:1rem}}
@media(max-width:767px){.portrait-frame{border-radius:4rem}.bts-photo{border-radius:3rem}.footer-top{grid-template-columns:1fr;gap:3.5rem}.footer-cta h2{font-size:3.4rem}.footer-contact{gap:2.5rem}.footer-phone{font-size:2.15rem;gap:.9rem}.footer-navigation{flex-direction:column;margin-top:3.5rem;gap:1.5rem}.footer-navigation nav,.footer-navigation>div{gap:1.3rem}}

.logo-films .motion-grid{max-width:52.5rem;margin-inline:auto;gap:3rem}.logo-films video{display:block;width:100%;height:auto;max-height:44rem;aspect-ratio:9/16;object-fit:contain;background:transparent;border-radius:3rem}.logo-films figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.25rem;font-size:.95rem}.logo-films figcaption a{text-decoration:underline;text-underline-offset:4px}.case-film{padding-bottom:5rem}.case-film>figure{margin:0 auto;max-width:26rem}.case-film figcaption a{display:none}
@media(max-width:767px){.logo-films .motion-grid{gap:3rem}.logo-films video{max-height:none;border-radius:2rem}.case-film{padding-bottom:3rem}}

/* Keep the rotating mark clear of all four desktop navigation links. */
@media(min-width:992px){
  #site-header{display:grid;grid-template-columns:minmax(8rem,1fr) 3.1rem minmax(max-content,1fr);column-gap:1.25rem}
  #site-header .header-symbol{position:static;left:auto;grid-column:2;justify-self:center}
  #site-header .nav-links{grid-column:3;justify-self:end;white-space:nowrap}
}
