:root{--ink:#102633;--paper:#efede7;--white:#f8f7f2;--line:#9aa5a9;--surface:#f7f5ef;--surface-2:#ebe8e1;--overlay:#0a151c;--scrim:#0a151cd1;--hairline:#10263324;--paper-2:#f0ede6;--paper-3:#eeeae3;--cream:#f2eee6;--font-body:"Montserrat", "Segoe UI", Arial, sans-serif;--font-display:"Cormorant Garamond", Georgia, serif;font-family:var(--font-body);color:var(--ink);background:var(--paper);font-synthesis:none;font-size:100%;line-height:1.5}b,strong{font-weight:600}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:1100px;font-family:var(--font-body);margin:0;padding-top:68px}a{color:inherit;text-decoration:none}button{font:inherit}main{background:var(--paper);max-width:1920px;margin:auto;overflow:hidden;box-shadow:0 0 40px #1112}h1,h2,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;font-weight:500}.eyebrow{letter-spacing:.42em;font-size:11px;font-weight:600}.short-rule{background:currentColor;width:34px;height:1px;margin:18px 0;display:block}.hero{height:28.5vw;min-height:330px;max-height:560px;color:var(--ink);background:#e9e8e3;position:relative;overflow:hidden}.hero>picture{display:block;position:absolute;inset:0}.hero>picture img,.hero>img{object-fit:cover;object-position:center 62%;filter:saturate(.72)contrast(.9)brightness(1.08);width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(90deg,#f4f2ecf2 0%,#f4f2ecc7 26%,#0000 54%,#0b1f2a29);position:absolute;inset:0}header{z-index:200;background:#f8f7f2eb;border-bottom:1px solid #10263314;align-items:center;gap:46px;height:68px;padding:0 5%;display:flex;position:fixed;top:0;left:0;right:0}header:before{content:"";z-index:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:absolute;inset:0}header>:not(.nav-sheet){z-index:1;position:relative}section[id],footer[id]{scroll-margin-top:80px}.brand{align-items:center;gap:15px;width:280px;display:flex}.brand span:last-child{flex-direction:column;gap:7px;display:flex}.brand b{letter-spacing:.28em;white-space:nowrap;font-size:20px}.brand small{letter-spacing:.36em;font-size:.625rem}header .brand{flex:auto;align-self:stretch;width:auto;min-width:280px;margin-right:28px}.mark{gap:5px;width:42px;height:50px;display:flex}.mark i{clip-path:polygon(0 0,100% 18%,100% 100%,0 82%);background:currentColor;width:18px;display:block}.mark i:last-child{transform:scaleX(-1)}.nav-sheet{align-self:stretch;align-items:stretch;gap:46px;min-width:0;margin-left:auto;display:flex}nav{align-self:stretch;align-items:center;gap:0;margin-left:0;font-size:14px;display:flex}nav a{border-radius:0;align-self:stretch;align-items:center;margin:0;padding:0 20px;display:flex;position:relative}nav a span{z-index:1;position:relative}nav a+a:before{content:"";z-index:1;background:#10263329;width:1px;height:16px;position:absolute;top:50%;left:0;translate:0 -50%}nav a:after{content:"";opacity:0;background:linear-gradient(#fff,#fff0);transition:opacity .25s;position:absolute;inset:0 2px}nav a:hover:after{opacity:1}nav a.is-active:after{opacity:1;background:linear-gradient(#10263326,#10263300)}nav a.is-active:hover:after{background:linear-gradient(#10263333,#10263300)}.top-cta,.light-pill{border-radius:24px;justify-content:center;align-items:center;gap:17px;display:inline-flex}.top-cta{background:var(--ink);color:#fff;padding:13px 23px;font-size:12px}.menu{color:var(--ink);visibility:hidden;pointer-events:none;background:0 0;border:0;width:28px;height:28px;font-size:0;position:relative}.menu:before,.menu:after{content:"";background:currentColor;width:19px;height:1px;position:absolute;right:0}.menu:before{top:9px}.menu:after{width:14px;top:17px}header.is-open .menu:before{top:13px;transform:rotate(45deg)}header.is-open .menu:after{width:19px;top:13px;transform:rotate(-45deg)}body.menu-open,body.viewer-open{overflow:hidden}.hero-copy{z-index:2;width:410px;position:absolute;top:84px;left:5.5%}.hero-copy h1{margin:17px 0 10px;font-size:clamp(3rem,3.2vw,3.8125rem);line-height:1.02}.hero-copy h1 em{font-weight:400}.hero-copy>p:not(.eyebrow){width:365px;font-size:1rem;line-height:1.55}.selected{background:#f8f7f2;position:relative}.selected-scrim{z-index:40;background:0 0;position:fixed;inset:0}.selected.is-open{z-index:41;position:relative}.selected-overview{opacity:1;grid-template-rows:1fr;transition:grid-template-rows .5s cubic-bezier(.22,.8,.24,1),opacity .35s;display:grid}.selected-overview-inner{grid-template-columns:17.5% 1fr;gap:11px;height:29.3vw;min-height:322px;max-height:563px;padding:12px 2.2% 14px 4.6%;display:grid;position:relative;overflow:hidden}.selected.is-playing .selected-overview{opacity:0;grid-template-rows:0fr}.selected.is-playing .selected-overview-inner{height:auto;min-height:0;max-height:none;padding:0}.selected-viewer{opacity:0;grid-template-rows:0fr;scroll-margin-top:76px;transition:grid-template-rows .5s cubic-bezier(.22,.8,.24,1),opacity .35s,transform .5s cubic-bezier(.22,.8,.24,1);display:grid;position:relative;transform:translateY(16px)}.selected.is-playing .selected-viewer{opacity:1;grid-template-rows:1fr;transform:none}.selected-viewer-inner{-webkit-backdrop-filter:blur(16px)saturate(1.05);backdrop-filter:blur(16px)saturate(1.05);width:100%;min-height:0;color:var(--ink);background:#efede7b8;grid-template-columns:minmax(0,1fr) 360px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #1026332e}.selected-viewer-inner:not(.has-rail){grid-template-columns:minmax(0,1fr)}.selected aside{padding-top:20px;position:relative}.selected h2{margin:15px 0;font-size:clamp(2rem,2.05vw,2.4375rem);line-height:1.02}.selected aside a,.services a,.ph-copy a{letter-spacing:.12em;border-bottom:1px solid;padding-bottom:5px;font-size:.625rem;font-weight:600}.selected aside a span,.services a span,.ph-copy a span{margin-left:12px;font-size:16px}.work-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:1.15fr .95fr .9fr .95fr;gap:6px;min-height:0;display:grid}.work-card{color:#fff;position:relative;overflow:hidden}.work-card picture{width:100%;height:100%;display:block}.work-card img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.work-card:hover img{transform:scale(1.025)}.work-card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#07141d99);position:absolute;inset:45% 0 0}.work-card-btn{width:100%;height:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;display:block}.work-card-btn:focus-visible{outline-offset:-2px;outline:2px solid #fff}.work-card-play{z-index:3;opacity:0;background:#0a1a24aa;border:1px solid #fffa;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;transition:opacity .25s;display:grid;position:absolute;top:12px;right:12px}.work-card-btn:hover .work-card-play,.work-card-btn:focus-visible .work-card-play{opacity:1}.work-card-text{z-index:2;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:12px;left:16px;right:16px}.work-card b{letter-spacing:.2em;font-size:10px}.work-card-text strong{letter-spacing:.04em;font-size:13px}.work-card-text span:last-child{letter-spacing:.02em;opacity:.9;font-size:11px}.selected-body{opacity:.85;margin:0 0 10px;font-size:.875rem;line-height:1.55}.work-xwide{grid-column:3/5}.work-tall{grid-column:1/2}.work-mid{grid-column:auto}.showreel{color:#fff;background:#132733;height:14.1vw;min-height:155px;max-height:271px;position:relative;overflow:hidden}.showreel.is-open{height:auto;min-height:155px;max-height:none}.showreel.is-open>img,.showreel.is-open>picture,.showreel.is-open .show-copy,.showreel.is-open .play,.showreel.is-open .watch{opacity:0;visibility:hidden;pointer-events:none}.showreel>img,.showreel>picture,.showreel .show-copy,.showreel .play,.showreel .watch{transition:opacity .3s,visibility 0s linear .3s}.showreel.is-playing>img,.showreel.is-playing>picture,.showreel.is-playing .show-copy,.showreel.is-playing .play,.showreel.is-playing .watch{transition:opacity .3s,visibility}.showreel.is-open:after{opacity:0;transition:opacity .3s}.showreel-player{z-index:2;background:var(--overlay);opacity:0;grid-template-rows:0fr;width:100%;transition:grid-template-rows .5s cubic-bezier(.22,.8,.24,1),opacity .35s,transform .5s cubic-bezier(.22,.8,.24,1);display:grid;position:relative;transform:translateY(16px)}.showreel.is-playing .showreel-player{opacity:1;grid-template-rows:1fr;transform:none}.showreel-player-inner{grid-template-columns:minmax(230px,330px) minmax(0,1fr);align-items:center;gap:28px;min-height:0;padding:18px 4.8%;display:grid;overflow:hidden}.showreel-x{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:0;padding:2px 0 2px 8px;font-size:22px;line-height:1;position:absolute;top:0;right:0}.showreel-x:hover{opacity:1}.showreel-x:focus-visible{outline-offset:2px;outline:2px solid #fff}.showreel-side{color:var(--cream)}.showreel-brand{letter-spacing:.42em;margin:0 0 8px;font-size:11px;font-weight:600}.showreel-side h3{letter-spacing:-.02em;margin:0;font-size:1.5rem}.showreel-side .short-rule{margin:12px 0}.showreel-side p{opacity:.9;margin:0;font-size:.875rem;line-height:1.55}.showreel-side ul{letter-spacing:.1em;opacity:.85;border-top:1px solid #ffffff2e;flex-direction:column;gap:8px;margin:14px 0 0;padding:14px 0 0;font-size:11px;list-style:none;display:flex}.showreel-media{min-width:0;padding:32px 0;position:relative}.showreel-video{aspect-ratio:16/9;background:var(--overlay);border:0;border-radius:4px;width:min(100%,96vh);max-height:54vh;margin:0 auto;display:block}.showreel-bar{align-items:center;gap:12px;padding:10px 0 0;display:flex}.showreel-bar .viewer-unmute{position:static}.showreel-bar:empty{display:none}.showreel-scrim{z-index:40;background:0 0;position:fixed;inset:0}.showreel.is-open{z-index:41;position:relative}.showreel>picture{display:block;position:absolute;inset:0}.showreel>picture img,.showreel>img{object-fit:cover;object-position:center 42%;filter:saturate(.55)brightness(.74);width:100%;height:100%;transition:transform 6s;position:absolute;inset:0}.showreel:hover>picture img,.showreel:focus-within>picture img,.showreel:hover>img,.showreel:focus-within>img{transform:scale(1.06)}.showreel:after{content:"";background:linear-gradient(90deg,#102633dd,#0000 48%,#08182222);position:absolute;inset:0}.show-copy{z-index:2;position:absolute;top:18%;left:6.2%}.show-copy h2{margin:10px 0 0;font-size:clamp(2rem,1.9vw,2.25rem);line-height:1.02}.show-copy .short-rule{margin:10px 0}.show-copy>p:last-child{font-size:.875rem;line-height:1.5}.play{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff80;border-radius:50%;width:88px;height:88px;font-size:26px;transition:transform .35s,background .35s,box-shadow .35s;animation:2.6s ease-out infinite play-pulse;position:absolute;top:50%;left:31%;translate:0 -50%;box-shadow:0 0 8px #f6dccf8c}@keyframes play-pulse{0%{box-shadow:0 0 #f6dccf59,0 0 8px #f6dccf8c}70%{box-shadow:0 0 0 18px #f6dccf00,0 0 8px #f6dccf8c}to{box-shadow:0 0 #f6dccf00,0 0 8px #f6dccf8c}}.showreel:hover .play,.showreel:focus-within .play{background:#ffffff29;animation:none;transform:scale(1.1);box-shadow:0 0 26px #f6dccf}.watch{z-index:2;letter-spacing:.12em;font-size:13px;line-height:1.7;position:absolute;top:37%;left:40.5%}.philosophy{background:#f8f7f2;grid-template-columns:26% 322px 1fr 20%;height:12.9vw;min-height:142px;max-height:248px;margin-top:10px;display:grid}.ph-image{position:relative;overflow:hidden}.ph-image picture{width:100%;height:100%;display:block}.ph-image img{object-fit:cover;object-position:center 28%;filter:saturate(.55)brightness(1.18);width:100%;height:100%}.ph-image:after{content:"";background:linear-gradient(90deg,#0000,#f8f7f2);position:absolute;inset:0}.ph-title{padding:22px 10px 22px 14px}.ph-title-btn{text-align:left;cursor:pointer;width:100%;font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);transform-origin:0;background:0 0;border:0;margin:9px 0 0;padding:0;font-size:2rem;font-weight:500;line-height:1.02;transition:transform .35s cubic-bezier(.22,.8,.24,1),color .3s;display:block}.ph-title-btn:hover{color:#000;transform:translate(6px)}.ph-title-btn:focus-visible{outline-offset:4px;outline:1px solid #10263366;transform:translate(6px)}@keyframes ph-rise{0%{opacity:.3;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes ph-space{0%{opacity:0;letter-spacing:.68em}to{opacity:1;letter-spacing:.42em}}.philosophy.at-top .ph-title .eyebrow{animation:.9s cubic-bezier(.22,.8,.24,1) both ph-space}.philosophy.at-top .ph-title-btn{animation:.9s cubic-bezier(.22,.8,.24,1) backwards ph-rise}.ph-copy{border-left:1px solid #89959a;border-right:1px solid #89959a;flex-direction:column;min-height:0;margin:18px 0;padding:2px 8px 2px 24px;font-size:.875rem;line-height:1.6;display:flex;position:relative}.ph-copy-scroll{flex:auto;min-height:0;position:relative;overflow:hidden}.ph-copy-scroll:focus-visible{outline-offset:3px;outline:1px solid #10263359}.ph-card{box-sizing:border-box;opacity:0;pointer-events:none;scrollbar-width:thin;scrollbar-color:#10263338 transparent;background:#f8f7f2;border:0;border-radius:3px;padding:12px 14px;transition:opacity .45s,transform .5s cubic-bezier(.22,.8,.24,1);position:absolute;inset:0;overflow-y:auto;transform:translateY(-22px);box-shadow:0 10px 24px #10263314}.ph-card.is-in{opacity:1;pointer-events:auto;transform:none}.ph-card h3{font-family:var(--font-body);letter-spacing:.24em;margin:0 0 6px;font-size:.625rem;font-weight:600;line-height:1.2}.ph-card p{margin:0}.ph-card::-webkit-scrollbar{width:5px}.ph-card::-webkit-scrollbar-track{background:0 0}.ph-card::-webkit-scrollbar-thumb{background:#1026332e;border-radius:99px}.ph-card::-webkit-scrollbar-thumb:hover{background:#10263361}.ph-copy a{font-family:var(--font-body);flex:none;align-self:flex-start;margin-top:10px;display:inline-block}.ph-menu{background:linear-gradient(90deg,#f8f7f2 0%,#f8f7f2f0 30%,#f8f7f2c7 100%),url(../images/hero-portal.png) 50%/cover;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;margin-left:0;padding:10px 10px 10px 20px;display:flex}.ph-menu-item{text-align:left;cursor:pointer;width:auto;max-width:100%;font-family:var(--font-body);letter-spacing:.2em;color:var(--ink);opacity:.55;transform-origin:0;background:0 0;border:0;border-radius:2px;align-items:center;gap:12px;padding:6px 10px 6px 12px;font-size:.6875rem;font-weight:600;line-height:1.2;transition:opacity .3s,background .3s,transform .35s cubic-bezier(.22,.8,.24,1);display:inline-flex;position:relative}.ph-menu-item:before{content:"";opacity:.6;background:currentColor;width:5px;height:1px;transition:width .35s cubic-bezier(.22,.8,.24,1),height .35s;position:absolute;top:50%;left:0;translate:0 -50%}.ph-menu-item:after{content:"→";letter-spacing:0;opacity:0;font-size:10px;transition:opacity .3s,transform .3s;transform:translate(-5px)}.ph-menu-item:hover,.ph-menu-item:focus-visible{opacity:1;background:#10263312;outline:none;transform:scale(1.05)translate(3px)}.ph-menu-item:hover:before,.ph-menu-item:focus-visible:before{width:9px;height:2px}.ph-menu-item:hover:after,.ph-menu-item:focus-visible:after{opacity:.7;transform:none}.ph-menu-item.is-active{opacity:1;background:#10263314;transform:scale(1.05)}.ph-menu-item.is-active:before{width:12px;height:2px}.ph-menu-item.is-active:after{opacity:.7;transform:none}.services{background:#eeede6;grid-template-rows:minmax(0,1fr);grid-template-columns:25% 1fr;height:15.5vw;min-height:200px;max-height:300px;padding-left:4.8%;transition:height .5s cubic-bezier(.22,.8,.24,1);display:grid}.services.is-open{grid-template-rows:15.5vw minmax(0,1fr);height:29.5vw;min-height:400px;max-height:575px}.services-intro{padding-top:18px}.services-intro h2{margin:9px 0;font-size:31px;line-height:1.02}.services-intro>p:not(.eyebrow){margin-bottom:8px;font-size:.875rem;line-height:1.55}.service-list{padding:8px 4.5% px 0;grid-template-columns:repeat(7,1fr);gap:8px;min-height:0;display:grid}.services.is-open .service-list{padding:8px 2.5% 8px 0}.service-card{text-align:center;cursor:pointer;font:inherit;color:inherit;transform-origin:50%;background:#eeede6;border:0;flex-direction:column;justify-content:flex-start;align-items:center;min-height:0;padding:36px 4px 14px;transition:background .3s,box-shadow .3s,transform .45s cubic-bezier(.22,.8,.24,1);display:flex;position:relative;overflow:hidden;transform:scale(.96)}.service-card b{justify-content:center;align-items:flex-start;min-height:2.6em;margin-top:6px;font-size:13px;line-height:1.8;display:flex}.service-card b,.service-card span{z-index:1;position:relative}.service-card span{margin-top:14px;font-size:11px}.service-card:hover,.service-card:focus-visible{outline:none}.service-card:focus-visible{box-shadow:0 0 0 1px #10263380}.service-card.is-active{z-index:2;background:#eeede6;transform:scale(1);box-shadow:0 12px 22px -8px #10263347}.service-card .shape{transition:transform .45s cubic-bezier(.22,.8,.24,1)}.service-card:hover .shape,.service-card:focus-visible .shape{transform:scale(1.34)translateY(-6px)}.service-card.is-active .shape{transform:scale(1.3)}.shape{flex:none;width:100%;height:clamp(85px,7.5vw,160px);margin:0 auto -12px;display:block;transform:scale(1.4)}.shape img{object-fit:contain;object-position:center;object-view-box:inset(10% 9% 12% 9%);width:100%;height:100%;display:block}.service-detail-info.is-first,.service-detail-row.is-first{animation:.45s both panel-first}@keyframes panel-first{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.service-detail-info.is-leaving,.service-detail-row.is-leaving{animation:.22s both panel-leave}@keyframes panel-leave{to{opacity:0}}.service-detail-info.is-swap-info{animation:.3s both panel-fade}@keyframes panel-fade{0%{opacity:0}to{opacity:1}}.service-example.is-swap-fig{animation:.38s cubic-bezier(.22,.8,.24,1) both fig-zoom}@keyframes fig-zoom{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.service-detail-info{grid-area:2/1;align-self:center;min-width:0;padding:8px 0 16px;overflow:hidden}.service-detail-info h3{margin:0 0 10px;font-size:22px;line-height:1.1}.service-detail-info p{max-width:340px;margin:0;font-size:.875rem;line-height:1.6}.service-detail-row{flex-direction:row;grid-area:2/2;justify-content:flex-start;align-self:stretch;align-items:stretch;gap:10px;min-width:0;height:100%;min-height:0;padding:2px 4.5% 8px 0;display:flex;overflow:hidden}.service-thumbs{scrollbar-width:thin;scrollbar-color:#10263340 transparent;flex-direction:column;flex:0 0 84px;gap:6px;width:84px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden auto}.service-thumbs::-webkit-scrollbar{width:4px}.service-thumbs::-webkit-scrollbar-track{background:0 0}.service-thumbs::-webkit-scrollbar-thumb{background:#10263333;border-radius:99px}.service-thumbs li{flex:none;margin:0}.service-thumb{cursor:pointer;width:84px;height:54px;font:inherit;color:inherit;background:#d8d3c4;border:1px solid #1026331f;border-radius:2px;padding:0;display:block;overflow:hidden}.service-thumb picture,.service-thumb img{object-fit:cover;width:100%;height:100%;display:block}.service-thumb:hover,.service-thumb:focus-visible{border-color:#10263359}.service-thumb:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.service-thumb.is-active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.service-example{border-radius:3px;flex:0 360px;width:min(360px,100%);height:100%;max-height:100%;margin:0;position:relative;overflow:hidden}.service-detail-row:not(.has-thumbs) .service-example{width:min(360px,100%)}.service-example picture{width:100%;height:100%;display:block}.service-example img{object-fit:cover;width:100%;height:100%;display:block}.service-example figcaption{background:linear-gradient(transparent, var(--scrim));color:#fff;padding:14px 8px 6px;position:absolute;inset:auto 0 0}.service-example figcaption b{font-size:10px;display:block}.service-example figcaption span{opacity:.8;margin-top:2px;font-size:.625rem;display:block}footer{color:#fff;background:var(--ink);border-top:1px solid #728087;flex-wrap:wrap;align-items:center;gap:45px;height:auto;min-height:121px;max-height:none;padding:32px 5% 48px;display:flex;position:relative}.footer-bg{opacity:.14;background:url(../images/hero-portal.png) 50% 77%/cover;position:absolute;inset:0}footer>:not(.footer-bg){z-index:2;position:relative}.brand-light{width:255px}.brand-light b{font-size:18px}.brand-light .mark{width:42px;height:44px}footer h2{border-right:1px solid #abb4b7;padding-right:30px;font-size:1.9375rem;font-weight:400;line-height:1.02}.footer-message{max-width:44ch;font-size:.75rem;line-height:1.5}.footer-blog{margin-top:12px}.footer-blog a{text-underline-offset:3px;text-decoration:underline}.footer-contact{overflow-wrap:anywhere;gap:8px;margin-top:16px;font-style:normal;display:grid}.footer-contact a{text-underline-offset:3px;text-decoration:underline}.footer-contact a:focus-visible{outline-offset:3px;outline:2px solid}.light-pill{background:var(--cream);color:var(--ink);padding:12px 22px;font-size:.6875rem;font-weight:600}.social{margin-left:auto;font-weight:600}.social a:focus-visible{outline-offset:3px;outline:2px solid}.social+small{letter-spacing:.08em;opacity:.7;font-size:.625rem;position:absolute;bottom:14px;right:5%}.showreel:not(.is-open){cursor:pointer}.viewer-tabs{z-index:6;scrollbar-width:none;gap:0;width:100%;max-width:none;display:flex;position:absolute;bottom:100%;left:0;right:0;overflow-x:auto}.viewer-tabs::-webkit-scrollbar{display:none}.viewer-tab{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#10263394;letter-spacing:.12em;text-align:center;cursor:pointer;white-space:normal;text-wrap:balance;background:#efede780;border-top:0;border-bottom:0;border-radius:0;flex:1 1 0;min-width:0;padding:12px 5px;font-size:clamp(.625rem,.55vw,.75rem);font-weight:600;line-height:1.25;transition:background .2s,box-shadow .2s;position:relative}.viewer-tab+.viewer-tab{border-left:0}.viewer-tab:hover{color:var(--ink);background:#f8f7f2b3}.viewer-tab.is-disabled,.viewer-tab:disabled{cursor:default;opacity:.38}.viewer-tab.is-disabled:hover,.viewer-tab:disabled:hover{color:#10263394;background:#efede780}.viewer-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.viewer-tab.is-active{z-index:2;color:var(--ink);background:#fffffff5;margin:0;padding:12px 5px;box-shadow:0 14px 26px #1026334d}.viewer-close{z-index:5;width:40px;height:40px;color:var(--ink);cursor:pointer;background:#f8f7f2f0;border:1px solid #10263352;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:16px}.viewer-close:hover,.viewer-close:focus-visible{border-color:var(--ink);background:#fff}.viewer-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.close-mark{width:14px;height:14px;display:block;position:relative}.close-mark i{transform-origin:50%;background:currentColor;width:1.5px;height:14px;position:absolute;top:0;left:50%}.close-mark i:first-child{transform:translate(-50%)rotate(45deg)}.close-mark i:last-child{transform:translate(-50%)rotate(-45deg)}.viewer-main{grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:start;gap:24px;min-width:0;padding:16px 0 18px 4.6%;display:grid}.viewer-stage{background:#e3ded2;border-radius:4px;place-items:center;width:100%;min-height:300px;max-height:62vh;display:grid;position:relative;overflow:hidden}.viewer-blurbg{filter:blur(28px)brightness(1.02)saturate(.72);opacity:.55;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.15)}.viewer-video,.viewer-fallback,.viewer-fallback img{z-index:2;object-fit:cover;background:0 0;width:100%;height:100%;max-height:62vh;position:relative}.viewer-fallback{display:block}.viewer-gallery{z-index:2;background:0 0;flex-direction:column;gap:14px;width:100%;max-height:62vh;padding:14px;display:flex;position:relative;overflow-y:auto}.viewer-gallery figure{background:var(--white);border:1px solid #1026331a;border-radius:4px;margin:0;overflow:hidden}.viewer-gallery picture{width:100%;display:block}.viewer-gallery img{object-fit:cover;width:100%;display:block}.viewer-gallery figcaption{color:var(--ink);opacity:.85;padding:10px 14px;font-size:.75rem;line-height:1.5}.viewer-frame-thumbs{margin:0;padding:0;list-style:none;display:none}.viewer-kind{z-index:4;color:var(--ink);letter-spacing:.18em;background:#f8f7f2e6;border:1px solid #10263326;border-radius:20px;padding:6px 12px;font-size:.625rem;font-weight:600;position:absolute;top:12px;left:12px}.viewer-unmute{z-index:4;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:20px;padding:10px 16px;font-size:.75rem;font-weight:600;position:absolute;bottom:14px;left:14px}.viewer-fullscreen{z-index:4;width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f8f7f2eb;border:1px solid #10263333;border-radius:8px;font-size:17px;position:absolute;bottom:12px;right:12px}.viewer-fullscreen:hover{background:#fff}.viewer-stage:fullscreen{border-radius:0;max-height:none}.viewer-stage:fullscreen .viewer-video{max-height:100vh}.viewer-info{margin-top:0}.viewer-info h3{letter-spacing:-.02em;margin:8px 0 4px;font-size:1.375rem;line-height:1.08}.viewer-sub{letter-spacing:.14em;opacity:.8;font-size:11px;font-weight:600}.viewer-desc{border-top:1px solid var(--hairline);opacity:.9;max-width:62ch;margin:12px 0 0;padding-top:12px;font-size:.875rem;line-height:1.55}.viewer-related{border-left:1px solid var(--hairline);background:0 0;max-height:70vh;padding:16px 4.6vw 20px 16px;overflow-y:auto}.viewer-related-title{letter-spacing:.28em;opacity:.85;margin:0 0 12px;font-size:.625rem;font-weight:600}.viewer-related ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.viewer-thumb{background:var(--white);width:100%;color:inherit;cursor:pointer;text-align:left;border:1px solid #1026331f;border-radius:4px;grid-template-columns:132px 1fr;align-items:center;gap:10px;padding:8px;display:grid}.viewer-thumb:hover{background:#fff;border-color:#1026334d}.viewer-thumb:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.viewer-thumb.is-active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:#fff}.viewer-thumb-img{background:#d8d3c4;border-radius:2px;width:132px;display:block;position:relative;overflow:hidden}.viewer-thumb-img picture{width:100%;height:100%;display:block}.viewer-thumb-img img{object-fit:cover;width:100%;height:100%;display:block}.viewer-thumb-img i{color:#fff;background:#102633cc;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-style:normal;display:grid;position:absolute;top:6px;right:6px}.viewer-thumb-text{flex-direction:column;gap:4px;display:flex}.viewer-thumb-text b{font-size:11px}.viewer-thumb-text span{letter-spacing:.02em;opacity:.75;font-size:10px}nav a:focus-visible,.top-cta:focus-visible,.light-pill:focus-visible,.menu:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.play:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=1200px){nav{gap:22px}.hero-copy{left:4.5%}.brand{width:235px}.services{grid-template-columns:24% 1fr}}@media (width<=1100px){body{min-width:0}main{overflow:visible}header{gap:12px;padding:0 16px}header .brand{flex:auto;width:auto;min-width:0;margin-right:0}.menu{visibility:visible;pointer-events:auto;cursor:pointer;flex:0 0 28px;margin-left:auto}.nav-sheet{z-index:201;background:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;align-items:stretch;gap:0;margin:0;padding:12px 20px 40px;display:none;position:fixed;inset:68px 0 0;overflow-y:auto}header.is-open .nav-sheet{display:flex}header nav{flex-direction:column;align-self:stretch;align-items:stretch;margin:0}nav a{border-bottom:1px solid var(--hairline);padding:16px 4px}nav a+a:before,nav a:after{display:none}header .top-cta{align-self:flex-start;margin-top:20px}.hero{height:auto;min-height:0;max-height:none}.hero>picture{aspect-ratio:16/10;min-height:420px;position:relative}.hero-copy{width:auto;max-width:28rem;top:84px;left:24px;right:24px}.hero-copy>p:not(.eyebrow){width:auto;max-width:38ch}.selected-overview-inner{grid-template-columns:1fr;height:auto;min-height:0;max-height:none;padding:28px 20px}.work-grid{grid-template-rows:none;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.work-xwide{grid-column:1/-1}.work-tall,.work-mid{grid-column:auto}.work-card{min-height:220px}.showreel{height:auto;min-height:0;max-height:none}.showreel>picture{aspect-ratio:12/5;min-height:360px;position:relative}.showreel.is-open>picture,.showreel.is-open .show-copy,.showreel.is-open .play,.showreel.is-open .watch{display:none}.show-copy{width:auto;top:24px;left:24px;right:110px}.play{width:80px;height:80px;inset:58% auto auto 50%;translate:-50% -50%}.watch{top:auto;bottom:28px;left:24px}.showreel-player-inner{grid-template-columns:1fr;gap:16px}.showreel-video{width:min(100%,81.7778vh);max-height:46vh}.philosophy{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.ph-image{min-height:240px}.ph-title{padding:24px 20px}.ph-copy{border:0;min-height:0;margin:0;padding:10px 20px 20px}.ph-copy-scroll{height:auto;overflow:visible}.ph-card{display:none;position:relative;inset:auto;transform:none}.ph-card.is-in{display:block}.ph-menu{padding:18px 20px}.services,.services.is-open{grid-template-rows:none;height:auto;min-height:0;max-height:none;padding:28px 0 0;display:block}.services-intro{padding:0 20px 24px}.service-list{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:clamp(10px,2vw,18px);padding:0 clamp(12px,4vw,32px) 32px;display:flex}.service-card{flex:calc(50% - 12px);min-width:0;max-width:none;min-height:0;padding:clamp(16px,3.5vw,32px) clamp(6px,1.6vw,14px) clamp(12px,2.2vw,20px)}.service-card b{min-height:2.6em;margin-top:4px;font-size:clamp(11px,2.7vw,15px);line-height:1.35}.service-card span{margin-top:clamp(6px,1.6vw,12px);font-size:clamp(10px,2.2vw,12px)}.service-card .shape,.shape{width:min(100%,220px);height:clamp(100px,28vw,180px)}.service-detail-info,.service-detail-row{grid-area:auto}.service-detail-info{padding:20px}.service-detail-row{height:min(42vh,240px);min-height:160px;max-height:240px;padding:0 20px 20px;overflow:hidden}footer{flex-direction:column;align-items:flex-start;gap:20px;height:auto;min-height:0;max-height:none;padding:32px 20px 46px}footer h2{border-bottom:1px solid #abb4b7;border-right:0;padding:0 0 18px}.footer-message{max-width:34ch}.social{margin-left:0}.social+small{position:static}.selected.is-playing .selected-overview{opacity:1;grid-template-rows:1fr}.selected.is-playing .selected-overview-inner{height:auto;min-height:0;max-height:none;padding:28px 20px}.selected.is-open .selected-viewer,.selected.is-playing .selected-viewer,.services.is-open .selected-viewer,.services.is-playing .selected-viewer{z-index:180;opacity:1;background:var(--paper);flex-direction:column;grid-template-rows:none;scroll-margin-top:0;display:flex;position:fixed;inset:68px 0 0;overflow:hidden;transform:none}.viewer-tabs{display:none}.selected-viewer-inner{height:100%;min-height:0;box-shadow:none;background:var(--paper);flex-direction:column;flex:1;padding:0 12px 12px;display:flex;overflow:hidden}.viewer-close{z-index:6;background:#f8f7f2;flex:none;width:40px;height:40px;margin:8px 0 4px auto;padding:0;position:static}.viewer-main{flex-direction:column;flex:0 auto;min-height:0;max-height:100%;padding:0;display:flex;overflow:hidden}.viewer-info{flex:none;min-width:0}.viewer-info h3{margin:4px 0 2px;font-size:1.125rem}.viewer-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;padding-top:8px;display:-webkit-box;overflow:hidden}.viewer-stage{background:0 0;flex:0 auto;width:100%;height:auto;min-height:0;max-height:none;display:block;position:relative;overflow:hidden}.viewer-blurbg,.viewer-related{display:none}.selected-viewer-inner.has-rail:not(.has-frames) .viewer-related{border:0;flex:none;min-height:0;max-height:none;padding:10px 0 0;display:block;overflow:hidden}.viewer-related-title{display:none}.viewer-related ul{flex-flow:wrap;gap:6px;height:auto;min-height:0;max-height:180px;padding:0;overflow:hidden auto}.viewer-related li{flex:0 0 calc(50% - 3px);width:auto;min-width:0}.viewer-thumb{grid-template-columns:1fr;gap:0;padding:0}.viewer-thumb-text{display:none}.viewer-thumb-img{width:100%;max-height:84px;aspect-ratio:16/10!important}.viewer-video,.viewer-fallback,.viewer-fallback img{width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 68px - 16.75rem - var(--strip-reserve,0px));object-fit:contain;aspect-ratio:auto;background:#e3ded2;margin:0 auto;display:block}.viewer-gallery{flex-direction:column;gap:8px;height:auto;min-height:0;max-height:none;padding:0;display:flex;overflow:hidden}.viewer-frame-thumbs{flex-flow:wrap;gap:6px;min-height:0;max-height:180px;padding:2px 0 0;display:none;overflow:hidden auto}.viewer-gallery.has-frames .viewer-frame-thumbs{display:flex}.viewer-frame-thumbs li{flex:0 0 calc(50% - 3px);min-width:0}.viewer-frame-thumb{aspect-ratio:16/10;cursor:pointer;background:#d8d3c4;border:1px solid #1026331f;border-radius:2px;width:100%;height:auto;max-height:84px;padding:0;display:block;overflow:hidden}.viewer-frame-thumb picture,.viewer-frame-thumb img{object-fit:cover;width:100%;height:100%;display:block}.viewer-frame-thumb.is-active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.viewer-gallery figure{background:#e3ded2;height:auto;min-height:0;display:none;overflow:hidden}.viewer-gallery figure.is-current{display:block}.viewer-gallery figure.is-current picture,.viewer-gallery figure.is-current img{width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 68px - 16.75rem - var(--strip-reserve,0px));object-fit:contain;margin:0 auto;display:block}.viewer-gallery.has-frames~.viewer-fullscreen{display:none}.selected-viewer-inner.strip-rows-1{--strip-reserve:100px}.selected-viewer-inner.strip-rows-2{--strip-reserve:190px}}@media (width>=720px) and (width<=1100px){.service-card{flex:calc(25% - 16px);max-width:none}.service-card .shape,.shape{height:clamp(112px,14vw,168px)}}@media (width<=700px){header{gap:8px;padding:0 12px}header .brand{gap:10px}header .mark{gap:4px;width:32px;height:44px}header .mark i{width:14px}header .brand b{letter-spacing:.2em;font-size:.875rem}header .brand small{letter-spacing:.28em;font-size:.5rem}.hero>picture{aspect-ratio:3/4;min-height:520px}.hero-copy{top:96px;left:20px;right:20px}.work-grid{grid-template-columns:1fr}.work-xwide,.work-tall,.work-mid{grid-column:auto}.work-card{min-height:240px}.showreel>picture{aspect-ratio:4/5;min-height:380px}.show-copy{left:20px;right:20px}.play{top:60%;left:38%}.hero-copy h1{font-size:2.6rem}}@media (width<=480px){.service-list{padding:0 10px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-card img,.selected-overview,.selected-viewer,.showreel-player,.showreel>img,.showreel>picture,.showreel .show-copy,.showreel .play,.showreel .watch{transition:none}.play{animation:none}.philosophy,.ph-menu-item,.ph-menu-item:before{transition:none}.philosophy.at-top .ph-title .eyebrow,.philosophy.at-top .ph-title-btn{animation:none}.ph-card,.services,.service-card .shape,nav a:after{transition:none}.service-detail-info,.service-detail-row,.service-example{animation:none}}
