/* Buba editorial system. Motion supports hierarchy; content stays readable without it. */
:root{--ease:cubic-bezier(.22,.61,.36,1);--section:clamp(60px,7vw,118px)}
html{scroll-padding-top:115px}body{overflow-x:clip}figure{margin:0}button{min-height:44px}summary{cursor:pointer}select{font:inherit;color:inherit;width:100%;min-height:48px;padding:12px;border:1px solid #ffffff55;border-radius:3px;background:#382522}summary:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:5px}a,button,summary{text-underline-offset:6px}.eyebrow{font-size:14px}.text-link{font-size:16px;line-height:1.5;padding:10px 0 6px;display:inline-block;border-bottom:1px solid currentColor}
.quiet-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;border:1px solid currentColor;border-radius:3px;line-height:1.5;font-size:16px;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}.quiet-button:hover{background:#f0ede412}.quiet-button:active{background:#f0ede422}
/* The navigation keeps its distinctive outline; other controls stay understated. */
.nav-dock{gap:15px;overflow:visible}.nav-dock nav>a{padding:10px 12px;transition:background .4s var(--ease),color .4s var(--ease)}.nav-dock .motion-toggle{border-radius:3px;width:84px;height:42px;padding:5px;font-size:12px;line-height:1.2}.nav-dock .motion-toggle[aria-pressed=false]{background:#d4dfb9;color:#17342a}.mobile-work,.menu-toggle{display:none}.menu-open{overflow:hidden}.menu-dialog{inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;border:0;background:#193e33;color:#eef1dd;padding:26px 6vw;overflow:auto}.menu-dialog::backdrop{background:#173c33}.menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.menu-top button{padding:10px 0 10px 24px;background:none;font-size:16px}.menu-dialog nav{padding:35px 0;display:grid}.menu-dialog nav>a{padding:8px 0;font-size:clamp(30px,7.5vh,66px);line-height:1.35;border-bottom:1px solid #ffffff30;letter-spacing:-.045em}.menu-dialog nav>a[aria-current]{color:#d7ea9f}.menu-email{display:block;font-size:clamp(14px,3.8vw,23px);overflow-wrap:anywhere}
.hero-bottom>div>p:last-child{font-size:16px;max-width:450px}.hero-watch small{font-size:13px}.hero-watch:hover .play-orbit{transform:none;background:#f0ede420;color:inherit}.play-orbit{transition:background .5s var(--ease)}.page-leaving .page-curtain{transition-duration:.36s}
.home-introduction{padding:var(--section) var(--edge);display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#173c33;color:#eceddc}.home-introduction h2{font-size:clamp(48px,6vw,95px);letter-spacing:-.055em;line-height:1.08}.home-introduction>div{max-width:580px;align-self:center}.home-introduction p{font-size:clamp(17px,1.45vw,22px);line-height:1.8}.home-introduction p+p{margin-top:24px}
.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:55px}.section-heading h2{font-size:clamp(43px,5vw,78px);line-height:1.1;letter-spacing:-.05em}.section-heading>a{white-space:nowrap}.home-work{padding:40px var(--edge) var(--section);background:#173c33}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,7vw,110px) 5vw;align-items:start}.project-card:nth-child(even){margin-top:18%}.project-card .card-image{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:#061a15}.card-image>img,.card-image>video{position:absolute;inset:0;object-fit:cover}.card-image>img{transition:transform 1s var(--ease)}.theme-artero .card-image>img,.theme-artero .card-image>video{object-fit:contain;background:#d8a0b0}.card-action{position:absolute;inset:auto 24px 24px auto;padding:10px 17px;background:#142d25dc;color:#f0ede4;border-radius:3px;font-size:14px;opacity:0;transform:translateY(5px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.card-image:hover .card-action,.card-image:focus-visible .card-action{opacity:1;transform:none}.card-image:hover>img{transform:scale(1.012)}.card-caption{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:22px 0}.card-caption h3{font-size:clamp(27px,2.6vw,42px);letter-spacing:-.04em;line-height:1.2}.card-caption>span{font-size:14px;opacity:.75;text-align:right}.home-studio{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;padding:var(--section) var(--edge);background:#bacaab;color:#1c3b2c}.home-studio h2{font-size:clamp(50px,6.8vw,108px);line-height:1.08;letter-spacing:-.06em}.home-studio>div{align-self:center;max-width:520px}.home-studio p{font-size:22px;line-height:1.65}.studio-links{display:grid;margin-top:35px}.studio-links>a{position:relative;padding:19px 0;font-size:18px;border-bottom:1px solid #1c3b2c45;transition:color .55s var(--ease)}.studio-links>a:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}.studio-links>a:hover{padding-left:0;color:#476444}.studio-links>a:hover:after,.studio-links>a:focus-visible:after{transform:scaleX(1)}
/* One-time cascading reveals; opt-in JS adds the hidden state only when observed. */
html[data-motion=on] [data-reveal].reveal-pending{opacity:0;transform:translateY(22px)}
html[data-motion=on] [data-reveal]{transition:opacity .9s var(--ease) var(--reveal-delay,0ms),transform .95s var(--ease) var(--reveal-delay,0ms)}
[data-reveal]:focus-within{opacity:1!important;transform:none!important}
/* The film sequence keeps native scroll and direct playback. */
.work-heading{padding:135px var(--edge) 42px;background:#14392e}.work-heading h1{font-size:clamp(52px,7vw,110px);line-height:1.1;letter-spacing:-.05em}.panel-title h2{font-size:clamp(80px,12vw,200px);line-height:1.06;letter-spacing:-.065em}.panel-title .project-link{pointer-events:auto;display:inline-block;margin-top:24px;padding:8px 0;border-bottom:1px solid;font-size:16px}.panel-title,.panel-invictus .panel-title,.panel-artero .panel-title{bottom:135px}.film-category{font-size:14px;margin-bottom:18px}.reel-arrows button{font-size:13px;border-radius:3px;width:48px;min-height:44px}.reel-tabs span{font-size:14px}.reel-tabs button{min-height:44px}.sequence-enabled .sequence-track{width:400%}.sequence-enabled .film-panel{flex-basis:25%}.vertical-media,.animation-media{transform:none;box-shadow:none}.panel-media:hover>img,.panel-media:hover>video{transform:scale(1.005)}
/* Individual case studies: one film, a visual reading of the work, and a considered next step. */
.theme-hive{--project-bg:#173c33;--project-ink:#f0ede4}.theme-invictus{--project-bg:#092e29;--project-ink:#dbeaac}.theme-artero{--project-bg:#d8a0b0;--project-ink:#422139}.theme-mp{--project-bg:#b9aed8;--project-ink:#30234d}.project-page{background:var(--project-bg);color:var(--project-ink)}.project-intro{padding:140px var(--edge) 0}.project-heading>p{display:flex;justify-content:space-between;gap:20px;font-size:15px}.project-heading h1{font-size:clamp(66px,12vw,190px);line-height:1.1;letter-spacing:-.07em;margin:14px 0 45px}.project-screen{position:relative;display:block;isolation:isolate;aspect-ratio:16/8;overflow:hidden;background:#081510}.project-screen>img,.project-screen>video{position:absolute;inset:0;object-fit:cover}.project-screen .media-watch{top:auto;bottom:28px;right:28px}.portrait-screen{aspect-ratio:16/8;background:#bd7f94}.portrait-screen>img,.portrait-screen>video{object-fit:contain}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:65px 0 0}.project-story h2{font-size:clamp(42px,5vw,78px);line-height:1.12;letter-spacing:-.05em}.project-story>p{font-size:18px;line-height:1.9;max-width:580px}.case-study{padding:var(--section) var(--edge)}.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-bottom:50px;align-items:end}.case-heading h2{font-size:clamp(36px,4.2vw,66px);line-height:1.15;letter-spacing:-.04em}.case-heading p{font-size:18px;line-height:1.75;max-width:480px}.case-spread{display:grid;grid-template-columns:1.3fr .7fr;gap:6vw;align-items:start}.case-tabs{display:none;gap:25px;margin-bottom:22px}.has-js .case-tabs{display:flex}.case-tabs button{padding:10px 0;background:none;font-size:16px;border-bottom:1px solid transparent;opacity:.58;transition:opacity .4s var(--ease),border-color .4s var(--ease)}.case-tabs button[aria-pressed=true]{opacity:1;border-color:currentColor}.case-tabs button:hover{opacity:1}.case-frame{margin:0 0 30px}.case-frame img{height:auto;aspect-ratio:16/10;object-fit:cover}.case-frame figcaption{font-size:15px;line-height:1.7;margin-top:20px}.has-js .case-images{position:relative;aspect-ratio:16/12}.has-js .case-frame{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .65s var(--ease),visibility .65s}.has-js .case-frame.is-selected{opacity:1;visibility:visible}.has-js .case-frame img{height:0;flex:1;min-height:0}.has-js .case-frame figcaption{min-height:52px;flex-shrink:0}.case-detail{margin-top:130px}.case-detail>img{height:auto;aspect-ratio:4/5;object-fit:cover}.case-detail figcaption{padding-top:25px}.case-detail h3{font-size:27px;line-height:1.3;letter-spacing:-.035em;margin-bottom:14px}.case-detail p{font-size:16px;line-height:1.85}.portrait-spread .case-frame img,.portrait-spread .case-detail>img{object-fit:contain;background:#bd7f94}.portrait-spread .case-images{aspect-ratio:4/5}.portrait-spread .case-frame img{aspect-ratio:9/16}.case-next{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:60px var(--edge) var(--section);align-items:center;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent)}.related-image{display:block;overflow:hidden;aspect-ratio:16/11}.related-image img{object-fit:cover;transition:transform .85s var(--ease)}.related-image:hover img{transform:scale(1.015)}.case-next-copy>p{font-size:16px;line-height:1.7}.case-next-copy h2{font-size:clamp(50px,6vw,95px);letter-spacing:-.05em;line-height:1.12;margin:18px 0}.next-actions{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap;margin-top:35px}
.player-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px}.player-actions button{padding:10px 16px;border:1px solid #ffffff70;background:none;border-radius:3px;font-size:14px}.player-actions button[aria-pressed=false]{background:#d4dfb9;color:#17342a}.player-actions .film-contact{margin:0 0 0 auto;font-size:14px}.film-player-wrap video{height:auto;max-height:70svh;width:100%}
/* Editorial service imagery is distinct from the actual portfolio. */
.services-page{background:#c6ceb3;color:#213b2c}.editorial-heading{padding:145px var(--edge) 80px;display:grid;grid-template-columns:1.25fr 1fr;gap:30px 7vw}.editorial-heading>p{grid-column:1/-1;font-size:16px}.editorial-heading h1{font-size:clamp(57px,7.5vw,122px);line-height:1.09;letter-spacing:-.06em}.editorial-heading>div{font-size:clamp(18px,2vw,27px);line-height:1.75;align-self:end;padding-bottom:10px}.services-list{padding:0 var(--edge) 50px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:55px 0 80px;border-top:1px solid #24453240}.service-row:nth-child(even) .service-visual{order:2}.service-visual{position:relative;overflow:hidden;aspect-ratio:4/5;min-height:0;background:#18352b}.service-visual>img{position:absolute;inset:0;object-fit:cover;transition:transform 1.3s var(--ease)}.service-row:hover .service-visual>img{transform:scale(1.012)}.service-row:nth-child(2) .service-visual{aspect-ratio:1/1}.service-row:nth-child(3) .service-visual{aspect-ratio:4/5}.service-row:nth-child(3) img{object-position:37% center}.service-row:nth-child(4) .service-visual{aspect-ratio:4/5}.service-copy h2{font-size:clamp(42px,4.5vw,72px);line-height:1.13;letter-spacing:-.045em;margin-bottom:30px}.service-copy p{font-size:17px;line-height:1.9;margin-top:18px}.service-copy .service-intro{font-size:24px;line-height:1.6}.service-copy .service-capabilities{font-size:14px;line-height:1.8;padding-top:10px}.service-details{border-block:1px solid #24453240;margin:30px 0 20px;padding:15px 0}.service-details summary{font-size:16px;padding:5px 0}.service-details p{font-size:16px;margin:15px 0 8px}.service-copy .text-link{font-size:16px}
/* The process keeps four stages, with a scroll-linked index and optional detail. */
.process-page{background:#1b3b33;color:#e7ebd3}.process-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;padding:145px var(--edge) 85px}.process-heading h1{font-size:clamp(58px,7.8vw,125px);line-height:1.09;letter-spacing:-.065em;margin-top:25px}.process-lead{align-self:end;max-width:530px}.process-lead p{font-size:20px;line-height:1.8;margin-top:22px}.workflow-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:9vw;padding:0 var(--edge) var(--section);align-items:start}.workflow-nav{position:sticky;top:125px;padding-top:15px}.workflow-nav>a{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:20px 0;border-bottom:1px solid #e7ebd330;font-size:31px;letter-spacing:-.035em;opacity:.5;transition:opacity .55s var(--ease),border-color .55s var(--ease)}.workflow-nav>a span{font-size:14px;letter-spacing:0}.workflow-nav>a[aria-current]{opacity:1;border-color:#d7e5b7}.workflow-nav>a:hover{opacity:1}.workflow-nav>p{font-size:15px;line-height:1.8;max-width:340px;margin-top:35px;color:#c8d4bb}.process-steps{display:block;padding:0}.workflow-step{padding:60px 0 70px;border-top:1px solid #e7ebd330;scroll-margin-top:120px;transition:border-color .6s var(--ease)}.workflow-step.is-current{border-color:#e7ebd3a0}.step-body>p:first-child{font-size:15px;opacity:.7}.step-body h2{font-size:clamp(56px,6vw,94px);line-height:1.08;letter-spacing:-.05em;margin:18px 0 30px}.step-body>p{font-size:18px;line-height:1.85;max-width:650px}.step-body .step-result{font-size:17px;color:#d3e2b6;margin-top:26px}.stage-details{margin-top:32px;font-size:16px}.stage-details summary{padding:12px 0;display:list-item}.stage-details>div{padding-top:15px;display:grid;grid-template-columns:1fr 2.2fr;gap:16px 25px}.stage-details h3{font-size:15px;line-height:1.8;font-weight:600}.stage-details p{font-size:16px;line-height:1.8}.timing-section{background:#d4dfb4;color:#243b2b;padding:var(--section) var(--edge);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.timing-section h2{font-size:clamp(43px,5vw,78px);line-height:1.12;letter-spacing:-.05em;margin:30px 0}.timing-section p{font-size:18px;line-height:1.85}.timing-section a{margin-top:30px}.timing-bands>div{display:grid;grid-template-columns:1fr 1.5fr;gap:25px;padding:30px 0;border-bottom:1px solid #243b2b50}.timing-bands strong{font-size:30px;line-height:1.25;font-weight:400;letter-spacing:-.04em}.timing-bands span{font-size:17px;line-height:1.7}.timing-bands>p{font-size:15px;margin-top:25px}.feedback-section{padding:var(--section) var(--edge);display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.feedback-section h2{font-size:52px;line-height:1.15;grid-column:1/-1;letter-spacing:-.04em;margin-bottom:10px}.feedback-section h3{font-size:25px;line-height:1.35;margin-bottom:20px}.feedback-section p{font-size:17px;line-height:1.8}
/* A compact, scene-led estimator. Numbers here describe the actual project. */
.timeline-page{background:#d9dfbc;color:#203b30}.estimator-heading{padding:130px var(--edge) 25px;display:flex;justify-content:space-between;align-items:end;gap:25px}.estimator-heading h1{font-size:clamp(46px,6vw,94px);line-height:1.12;letter-spacing:-.06em}.estimator-heading>p{font-size:17px;line-height:1.7;max-width:270px}.estimator-context{padding:0 var(--edge) 40px}.estimator-context p{font-size:17px;line-height:1.85;max-width:860px}.estimator-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;padding:15px var(--edge) 65px;align-items:start}.estimate-form{display:block}.estimate-form fieldset{padding:26px 0 32px;border-top:1px solid #203b3040}.estimate-form legend{font-size:24px;letter-spacing:-.025em;margin:0;padding:0 20px 0 0}.estimate-form label{font-size:16px;display:block;margin:16px 0 0}.estimate-form .form-pair{gap:22px}.estimate-form select{color:#203b30;border:1px solid #203b3055;background:#e7eccf;padding:12px;min-height:50px;margin-top:10px}.estimate-form input:not([type=range]){border:1px solid #203b3055;padding:10px 12px;border-radius:3px;background:#e7eccf;color:#203b30;min-height:48px;font-size:20px;margin-top:10px}.estimate-form input:invalid{border-color:#963c31;box-shadow:0 0 0 1px #963c31}.length-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px}.length-heading label{margin:0}.length-heading>div{display:flex;align-items:baseline;gap:10px}.length-heading #seconds{width:95px;margin:0}.length-heading>div>span{font-size:14px}.estimate-form input[type=range]{width:100%;padding:0;margin:20px 0 0;height:28px;border:0;accent-color:#254f3f;cursor:pointer;background:transparent}.estimate-form label.scene-input{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.scene-input input{max-width:95px}.field-note{font-size:15px;line-height:1.8;opacity:.8;margin-top:15px;max-width:500px}.estimate-inclusions{font-size:15px;line-height:1.8;margin-top:6px;opacity:.8}.mobile-estimate-link{display:none}.estimate-result{scroll-margin-top:110px;position:sticky;top:110px;background:#173d32;color:#e8ecd7;padding:35px 38px 38px;border-radius:3px;overflow:hidden}.estimate-result>p:first-child{font-size:16px}.estimate-reading{display:flex;align-items:baseline;gap:16px;margin:12px 0}.estimate-reading>span:first-child{font-size:clamp(68px,7vw,120px);letter-spacing:-.075em;line-height:1.12;font-variant-numeric:tabular-nums}.estimate-reading>span:last-child{font-size:22px;font-family:var(--serif);font-style:italic}.estimate-result #estimate-caption{font-size:15px;line-height:1.7;color:#d0ddc4}.scope-summary{border-top:1px solid #e8ecd73a;margin-top:30px;padding-top:25px}.scope-summary h2{font-size:22px;line-height:1.4;letter-spacing:-.03em}.scope-summary p{font-size:14px;line-height:1.8;color:#d0ddc4;margin-top:12px}.scope-summary #pacing-note{color:#f0d5ad}.effort-details{margin-top:24px}.effort-details summary{font-size:14px;padding:8px 0}.phase-list{display:grid;gap:19px;list-style:none;padding:0;margin:20px 0 0}.phase-list li{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:14px}.phase-list li>span:nth-child(2){opacity:.7}.effort-bar{grid-column:1/-1;height:3px;background:#c6d6b51a;position:relative}.effort-bar:after{content:'';position:absolute;inset:0;background:#c6d6b5;transform:scaleX(var(--share));transform-origin:left;transition:transform .6s var(--ease)}.estimate-assumption{font-size:14px;line-height:1.8;color:#d0ddc4;margin-top:25px}.estimate-contact{display:block;text-align:center;background:#d9e4ab;color:#203b30;padding:15px 20px;font-size:16px;border-radius:3px;margin-top:27px;transition:background .45s var(--ease)}.estimate-contact:hover{background:#e7edca}.estimate-contact[aria-disabled=true]{opacity:.5;pointer-events:none}.scope-note{padding:18px 0;border-block:1px solid #e4d2ae66;font-size:15px;line-height:1.8;margin-top:23px;color:#f5dab1}.estimate-result #estimate-error{margin-top:15px;color:#f5dab1}.estimate-method{padding:0 var(--edge) 65px}.estimate-method details{border-top:1px solid #203b3040;padding:25px 0}.estimate-method summary{font-size:18px}.estimate-method details>div{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:25px}.estimate-method p{font-size:16px;line-height:1.85}
.contact-layout{padding-top:145px;padding-bottom:80px;gap:8vw}.contact-intro h1{margin-top:15px}.contact-page select{margin-top:12px}.contact-page #inquiry-estimate textarea{font-size:14px;line-height:1.8;color:#e6ccbd}.contact-page form{gap:26px}.contact-page .send-brief{border-radius:3px;transition:background .45s var(--ease)}
/* A complete directory, with no invented social profiles. */
.site-footer,.contact-page .site-footer{display:block;background:#102b24;color:#e9edd9;padding:var(--section) var(--edge) 30px;min-height:0;border:0;font-size:16px}.footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-bottom:70px;border-bottom:1px solid #e9edd930}.footer-invitation h2{font-size:clamp(43px,5.5vw,84px);line-height:1.13;letter-spacing:-.045em}.footer-invitation .quiet-button{flex-shrink:0}.footer-directory{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:4vw;padding:65px 0}.footer-brand .dog-mark{width:160px;height:80px;margin-bottom:16px}.footer-brand>p{font-size:23px;letter-spacing:-.025em;margin-bottom:22px}.footer-email{font-size:15px;overflow-wrap:anywhere}.footer-directory h3{font-size:14px;font-weight:400;opacity:.6;margin-bottom:20px}.footer-directory nav,.footer-enquiries{display:flex;flex-direction:column;align-items:flex-start}.footer-directory nav>a,.footer-enquiries>a{font-size:16px;line-height:1.6;padding:7px 0;transition:color .45s var(--ease)}.footer-directory a:hover{color:#bfce9f}.footer-enquiries>p{font-size:14px;line-height:1.8;opacity:.6;margin-top:24px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e9edd930;padding-top:25px;font-size:13px;color:#bdcdb7}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}html[data-motion=off] .hero-wordmark{transform:none;opacity:1}html[data-motion=off] .page-curtain{display:none}html[data-motion=off] .ambient-video{display:none}html[data-motion=on] .ambient-video{display:block}html[data-motion=on] .hero-film{animation:film-open 1.4s var(--ease) both}html[data-motion=on] .hero-wordmark>span{animation:letter-open 1.2s var(--ease) both}html[data-motion=on] .hero-wordmark>span:nth-child(2){animation-delay:.07s}html[data-motion=on] .hero-wordmark>span:nth-child(3){animation-delay:.14s}html[data-motion=on] .hero-wordmark>span:nth-child(4){animation-delay:.21s}
@keyframes film-open{from{clip-path:inset(10% 7%);transform:scale(1.06)}to{clip-path:inset(0);transform:scale(1.025)}}@keyframes letter-open{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.nav-dock{gap:12px}.nav-dock nav>a{padding:10px;font-size:13px}.nav-brand .dog-mark{width:70px}.nav-brand>span{display:none}.card-caption{align-items:flex-start;flex-direction:column;gap:9px}.card-caption>span{text-align:left}.footer-directory{grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-enquiries{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px 25px}.footer-enquiries h3{grid-column:1/-1;margin-bottom:0}.footer-enquiries>p{margin-top:0}.estimate-form .form-pair{grid-template-columns:1fr}.estimate-result{padding:30px}.estimate-reading>span:first-child{font-size:80px}.case-spread{gap:4vw}.case-detail{margin-top:110px}.has-js .case-images{aspect-ratio:16/13}}
@media(max-width:899px){.panel-title h2{font-size:13vw}.home-introduction{gap:6vw}.home-introduction h2{font-size:58px}.home-introduction p{font-size:17px}.editorial-heading{grid-template-columns:1fr;gap:25px}.editorial-heading>div{font-size:21px}.service-row{gap:6vw}.service-copy h2{font-size:41px}.service-copy .service-intro{font-size:21px}.service-copy p{font-size:16px}.workflow-layout{grid-template-columns:1fr 1.7fr;gap:6vw}.workflow-nav>a{font-size:25px;display:block}.workflow-nav>a span{display:block;font-size:13px;margin-top:5px}.process-heading{gap:5vw}.process-lead p{font-size:17px}.process-heading h1{font-size:72px}.timing-section{gap:5vw}.timing-bands>div{grid-template-columns:1fr;gap:15px}.project-story>p{font-size:17px}.estimator-heading>p{display:none}.estimate-reading>span:first-child{font-size:66px}.estimate-reading{gap:12px}.estimate-result{padding:25px}.estimator-layout{gap:4vw}.footer-invitation{align-items:flex-start;flex-direction:column;gap:30px}.footer-invitation h2{font-size:63px}.case-next{gap:5vw}.next-actions{gap:20px}.project-heading h1{font-size:14vw}}
@media(max-width:760px){:root{--section:65px}.nav-dock{width:calc(100% - 24px);max-width:420px;justify-content:space-between;gap:10px;padding:7px 10px 7px 13px;height:62px;top:12px}.has-js .nav-dock>nav{display:none}.nav-dock>nav{overflow:auto;max-width:100%;gap:0}.nav-brand .dog-mark{width:67px;height:34px}.nav-dock .motion-toggle{width:78px;font-size:12px;min-height:44px}.has-js .menu-toggle,.has-js .mobile-work{display:block;font-size:14px;background:none;padding:10px 3px}.nav-brand>span{display:none}.hero-bottom>div>p:last-child{font-size:15px;line-height:1.7;max-width:280px}.home-introduction{grid-template-columns:1fr;gap:28px;padding:65px 24px}.home-introduction h2{font-size:58px}.home-introduction p{font-size:18px}.home-work{padding:15px 24px 70px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:45px}.section-heading>a{font-size:15px}.project-grid{gap:45px 20px}.project-card:nth-child(even){margin-top:16%}.card-caption h3{font-size:28px}.card-caption>span{font-size:14px}.card-caption{padding-top:18px}.card-action{display:none}.home-studio{grid-template-columns:1fr;gap:35px;padding:60px 24px}.home-studio h2{font-size:62px}.home-studio p{font-size:20px}.studio-links{margin-top:22px}.studio-links>a{font-size:17px;padding:20px 0}.project-intro{padding:115px 24px 0}.project-heading h1{font-size:clamp(64px,14vw,105px);margin:15px 0 30px}.project-heading>p{font-size:14px}.project-screen{aspect-ratio:4/3}.project-screen .media-watch{bottom:16px;right:16px;font-size:13px}.portrait-screen{aspect-ratio:1/1}.project-story{grid-template-columns:1fr;gap:25px;padding-top:40px}.project-story h2{font-size:46px}.project-story>p{font-size:17px}.case-study{padding:65px 24px}.case-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.case-heading h2{font-size:38px}.case-heading p{font-size:17px}.case-spread{grid-template-columns:1fr;gap:35px}.case-tabs{margin-bottom:18px}.case-tabs button{font-size:16px}.has-js .case-images{aspect-ratio:4/3}.has-js .case-frame figcaption{font-size:14px;margin-top:15px;min-height:48px}.case-detail{margin-top:0;max-width:80%;margin-left:auto}.case-detail>img{aspect-ratio:4/3}.case-detail h3{font-size:26px}.case-detail figcaption{padding-top:20px}.case-detail p{font-size:16px}.portrait-spread .case-images{aspect-ratio:4/5}.portrait-spread .case-detail>img{aspect-ratio:4/5}.case-next{grid-template-columns:1fr;gap:30px;padding:45px 24px 65px}.case-next-copy h2{font-size:57px;margin:15px 0}.case-next-copy>p{font-size:16px}.next-actions{margin-top:26px;gap:20px}.related-image{aspect-ratio:16/10}.editorial-heading{padding:115px 24px 45px}.editorial-heading h1{font-size:63px}.editorial-heading>div{font-size:20px}.services-list{padding:0 24px 15px}.service-row{grid-template-columns:1fr;gap:35px;padding:40px 0 60px}.service-row:nth-child(even) .service-visual{order:0}.service-visual,.service-row:nth-child(3) .service-visual{aspect-ratio:4/3}.service-row:nth-child(4) .service-visual{aspect-ratio:4/3}.service-visual>img{object-position:center 62%}.service-copy h2{font-size:43px;line-height:1.15;margin-bottom:22px}.service-copy .service-intro{font-size:23px}.service-copy p{font-size:17px;line-height:1.8}.service-details{margin-top:25px}.process-heading{grid-template-columns:1fr;gap:26px;padding:115px 24px 50px}.process-heading h1{font-size:70px}.process-lead p{font-size:18px;line-height:1.8}.workflow-layout{display:block;padding:0 24px 65px}.workflow-nav{top:86px;z-index:10;display:flex;justify-content:space-between;gap:12px;background:#1b3b33f5;backdrop-filter:blur(10px);padding:10px 0;border-bottom:1px solid #e7ebd330}.workflow-nav>a{font-size:16px;padding:10px 0;flex:1;text-align:center;border-bottom:2px solid transparent;letter-spacing:0}.workflow-nav>a span,.workflow-nav>p{display:none}.workflow-step{scroll-margin-top:160px;padding:45px 0 55px}.step-body h2{font-size:64px;margin:18px 0 25px}.step-body>p{font-size:18px}.stage-details>div{grid-template-columns:1fr;gap:8px}.stage-details h3:not(:first-child){margin-top:15px}.timing-section{grid-template-columns:1fr;padding:60px 24px;gap:30px}.timing-section h2{font-size:47px}.timing-section p{font-size:17px}.timing-bands>div{grid-template-columns:1fr 1.5fr;gap:24px}.timing-bands strong{font-size:27px}.timing-bands span{font-size:16px}.feedback-section{grid-template-columns:1fr;padding:60px 24px;gap:35px}.feedback-section h2{font-size:42px}.feedback-section h3{font-size:25px;margin-bottom:13px}.feedback-section p{font-size:17px}.estimator-heading{padding:115px 24px 20px}.estimator-heading h1{font-size:clamp(43px,8.5vw,64px)}.estimator-context{padding:0 24px 30px}.estimator-context p{font-size:16px;line-height:1.8}.estimator-layout{grid-template-columns:1fr;padding:0 24px 40px;gap:35px}.has-js .mobile-estimate-link{position:sticky;top:86px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#173d32;color:#e8ecd7;padding:16px;margin-bottom:25px;border-radius:3px;font-size:14px;box-shadow:0 4px 12px #203b3010}.mobile-estimate-link>span:last-child{font-weight:600;text-decoration:underline;text-underline-offset:4px}.estimate-result{position:static;grid-row:auto;display:block;padding:26px;border-radius:3px}.estimate-reading{margin:5px 0 10px}.estimate-reading>span:first-child{font-size:76px}.estimate-reading>span:last-child{font-size:22px}.estimate-result>p:first-child{font-size:15px}.estimate-result #estimate-caption{font-size:14px}.scope-summary{margin-top:20px;padding-top:18px}.scope-summary h2{font-size:20px}.scope-summary p{font-size:14px}.effort-details{margin-top:18px}.estimate-assumption{font-size:14px;margin-top:20px}.estimate-contact{margin-top:22px}.estimate-form .form-pair{grid-template-columns:1fr 1fr;gap:18px}.estimate-form legend{font-size:23px}.estimate-form label{font-size:15px}.estimate-form select{font-size:16px;padding:12px 9px}.estimate-method{padding:0 24px 45px}.estimate-method details>div{grid-template-columns:1fr;gap:22px}.estimate-method p{font-size:16px}.estimate-method summary{font-size:17px}.contact-layout{padding:115px 24px 65px;gap:45px}.contact-intro h1{margin-top:0}.contact-page form{gap:25px}.site-footer,.contact-page .site-footer{padding:65px 24px 26px}.footer-invitation{padding-bottom:42px;gap:28px}.footer-invitation h2{font-size:clamp(39px,7.5vw,60px)}.footer-directory{grid-template-columns:1fr 1fr;gap:40px 24px;padding:45px 0}.footer-brand{grid-column:1/-1}.footer-brand .dog-mark{width:135px;height:68px}.footer-brand>p{font-size:23px;margin-bottom:15px}.footer-email{font-size:16px}.footer-directory nav>a,.footer-enquiries>a{font-size:15px;padding:8px 0}.footer-enquiries{grid-column:1/-1;display:flex;gap:0}.footer-enquiries h3{margin-bottom:16px}.footer-enquiries>p{margin-top:20px;font-size:14px}.footer-bottom{font-size:12px;flex-wrap:wrap;gap:10px}.player-actions button{font-size:14px}.player-actions .film-contact{font-size:13px}.film-player-wrap video{max-height:62svh}}
@media(max-width:480px){.hero{min-height:660px}.hero-bottom>div>p:first-child{font-size:34px;max-width:270px}.project-grid{grid-template-columns:1fr;gap:35px}.project-card:nth-child(even){margin-top:0}.project-card .card-image{aspect-ratio:16/11}.card-caption{flex-direction:row;align-items:baseline;gap:20px}.card-caption h3{font-size:28px}.card-caption>span{font-size:13px;max-width:130px;text-align:right}.home-introduction h2{font-size:51px}.home-studio h2{font-size:57px}.panel-title h2{font-size:clamp(57px,15vw,75px)}.panel-title .project-link{margin-top:16px;font-size:16px}.reel-arrows button{font-size:12px;width:42px;min-height:44px}.reel-tabs img{height:32px}.reel-controls{gap:6px;left:12px;right:12px;padding:8px}.panel-title,.panel-invictus .panel-title,.panel-artero .panel-title{bottom:130px}.work-heading{padding:115px 24px 32px}.project-heading>p{font-size:13px}.project-story h2{font-size:42px}.has-js .case-images{aspect-ratio:1/1}.case-detail{max-width:90%}.case-detail>img{aspect-ratio:4/3}.case-next-copy h2{font-size:53px}.next-actions{flex-direction:column}.editorial-heading h1{font-size:54px}.process-heading h1{font-size:63px}.workflow-nav{gap:8px}.workflow-nav>a{font-size:15px}.timing-bands>div{grid-template-columns:1fr;gap:15px}.contact-intro h1{font-size:58px}.estimate-form .form-pair{grid-template-columns:1fr;gap:8px}.estimate-result{padding:23px}.estimate-reading>span:first-child{font-size:69px}.estimate-reading{gap:13px}.estimate-assumption{margin-top:18px}.estimate-contact{margin-top:20px}.estimator-layout{gap:30px}.field-note{font-size:14px}.estimate-form select{font-size:16px}.estimator-context p{font-size:16px}.quiet-button{font-size:15px}.footer-invitation h2{font-size:43px}.footer-email{font-size:15px}}
@media(max-width:360px){.nav-dock{gap:7px}.nav-brand .dog-mark{width:52px}.nav-dock .motion-toggle{width:71px;font-size:12px}.menu-toggle,.mobile-work{font-size:13px!important}.menu-dialog nav>a{font-size:35px}.home-introduction h2{font-size:47px}.section-heading h2{font-size:39px}.card-caption h3{font-size:25px}.card-caption>span{max-width:115px;font-size:12px}.estimator-heading h1{font-size:43px}.estimate-result{padding:20px}.estimate-reading>span:first-child{font-size:63px}.contact-email{font-size:16px}.project-heading h1{font-size:61px}.footer-invitation h2{font-size:37px}.footer-email{font-size:14px}.workflow-nav>a{font-size:14px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=on]) *,html:not([data-motion=on]) *:before,html:not([data-motion=on]) *:after{animation:none!important;transition:none!important}html:not([data-motion=on]){scroll-behavior:auto}}
