/* THE SILENT CUE — shared design system and responsive components. */
@font-face{font-family:Tonos;src:url('assets/tonos-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Tonos;src:url('assets/tonos-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Tonos;src:url('assets/tonos-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{
 --blue:#083bfa;--navy:#080b4c;--ink:#111113;--paper:#f6f6f3;--white:#fff;
 --pad:4vw;--section-width:calc((100vw - 2 * var(--pad))*5/6 - 16px);
 --section-margin:calc((100vw - var(--section-width))/2);
 --compact-rail:calc((100vw - 2 * var(--pad))*2/3 - 8px);
 --section-title-size:clamp(32px,4.25vw,66px);--card-title-size:24px;--body-size:18px;
 --section-space:64px;--content-gap:89px;--copy-gap:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body-size)/1.45 Tonos,Arial,sans-serif}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:700;line-height:1.08}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
button:disabled{cursor:wait}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--blue);color:white}
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.skip{position:fixed;top:-80px;left:20px;z-index:200;background:white;color:var(--navy);padding:12px}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.section-pad{padding:var(--section-space) var(--section-margin)}
.section-pad h2{font-size:var(--section-title-size);line-height:1.08;letter-spacing:-.025em;color:var(--blue)}
.model-mobile-break,.process-title-break,.contact-title-break{display:none}

/* Header: fixed, quiet, transparent until scrolling. */
.site-header{position:fixed;inset:0 0 auto;height:72px;z-index:100;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:8px var(--pad);color:white;isolation:isolate}
.site-header.is-scrolled{background:#00000029;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.site-header.is-light{color:var(--navy)}
.site-header.is-light.is-scrolled{background:#f6f6f361}
.header-menu{display:contents}
.brand{grid-column:1/4;width:160px;max-width:100%;min-height:44px;margin-left:-1vw;position:relative;display:flex;align-items:center;color:inherit}
.brand img{width:100%;height:auto;visibility:hidden}
.brand:before{content:'';position:absolute;inset:0;background:currentColor;mask:url('assets/logo-horizontal-white.svg') center/contain no-repeat;-webkit-mask:url('assets/logo-horizontal-white.svg') center/contain no-repeat}
.site-header nav{grid-column:4/10;display:flex;justify-content:center;align-items:center;gap:28px;font-size:16px;white-space:nowrap}
.site-header nav a{display:flex;align-items:center;min-height:44px;transition:opacity .18s,color .18s}
.site-header nav a:hover{opacity:.72}
.site-header.is-light nav a:hover{color:var(--blue);opacity:1}
.site-header :focus-visible{outline-color:white}
.site-header.is-light :focus-visible{outline-color:var(--blue)}
.roster-link{grid-column:10/13;justify-self:end;display:flex;align-items:center;gap:14px;min-height:44px;font-size:16px;white-space:nowrap}
.roster-arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:4px;transition:background .18s,color .18s}
.roster-arrow svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;transition:transform .18s}
.roster-link:hover .roster-arrow,.roster-link:focus-visible .roster-arrow{background:white;color:var(--navy)}
.is-light .roster-link:hover .roster-arrow,.is-light .roster-link:focus-visible .roster-arrow{background:var(--navy);color:white}
.roster-link:hover svg{transform:translate(2px,-2px)}
.menu-toggle{display:none}

/* Hero: the only ambient video; readable still is always beneath it. */
.hero-shell{position:relative;isolation:isolate;overflow:hidden;height:700px;background:var(--navy);color:white}
.hero-film{position:absolute;inset:0;z-index:-1;background:var(--navy) url("https://cdn.sanity.io/images/cbiy8qrr/production/a186382782a3ff960fca078847cbb44572b3f7ec-2880x2160.jpg?w=1920&auto=format&q=82") center/cover no-repeat}
.hero-film video{width:100%;height:100%;object-fit:cover}
.hero-film:after{content:'';position:absolute;inset:0;background:linear-gradient(#00000085,#00000070 45%,#00000080),#083bfa0b}
.hero h1{position:absolute;top:202px;left:50%;transform:translateX(-50%);width:66.666%;font-size:clamp(48px,4.65vw,68px);line-height:1.1;letter-spacing:-.02em;text-align:center}
.hero-highlight{background:var(--blue);padding:0 .13em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-positioning{position:absolute;top:466px;left:50%;transform:translateX(-50%);width:66.666%;text-align:center;font-size:20px;line-height:1.5}
.hero :focus-visible{outline-color:white}

/* Model: aligned animation and copy, plus an accessible static reading mode. */
.model{padding-top:24px}
.model-stage{display:grid;grid-template-columns:repeat(2,calc((var(--compact-rail) - 48px)/2));justify-content:space-between;align-items:center;column-gap:48px;margin-top:var(--content-gap)}
.model-motion{min-width:0}
.tsc-pillars{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:transparent}
.tsc-pillars svg{width:100%;height:100%;display:block}
.pillar-scenes{display:grid;min-width:0}
.pillar-scene{grid-area:1/1;display:grid;grid-template-rows:28px 104px auto;row-gap:20px;align-content:start;opacity:0;visibility:hidden;pointer-events:none}
.pillar-scene.is-active{pointer-events:auto}
.pillar-index{font-size:22px;line-height:28px;color:var(--blue)}
.pillar-scene h3{font-size:clamp(32px,3.1vw,48px);line-height:1.08;color:var(--blue)}
.pillar-scene p{font-size:20px;line-height:1.5}
.model.is-reading .model-stage{align-items:start}
.model.is-reading .model-motion{position:sticky;top:104px}
.model.is-reading .pillar-scenes{display:flex;flex-direction:column;gap:32px}
.model.is-reading .pillar-scene{display:grid!important;opacity:1!important;visibility:visible!important;transform:none!important;grid-template-rows:auto auto auto;row-gap:12px}
.model.is-reading .pillar-scene h3{font-size:32px}
.model.is-reading .pillar-scene p{font-size:18px}

/* Process: four equal photo frames; header rows align within each pair. */
.process-title-space{display:inline}
.delivery-stages{list-style:none;padding:0;margin:var(--content-gap) 0 0;display:grid;grid-template-columns:repeat(2,calc((var(--compact-rail) - 48px)/2));justify-content:space-between;gap:40px 48px}
.delivery-stages li{min-width:0;display:flex;flex-direction:column;gap:20px}
.process-card-heading{display:grid;grid-template-rows:26px auto minmax(52px,auto);row-gap:8px}
.delivery-index{font-size:20px;line-height:26px;color:var(--blue)}
.process-card-heading h3{font-size:var(--card-title-size);line-height:1.15;letter-spacing:-.02em;align-self:end}
.process-card-heading p{font-size:var(--body-size);line-height:1.45;margin-top:calc(var(--copy-gap) - 8px)}
.process-photo{position:relative;aspect-ratio:16/10;width:100%;overflow:hidden;background:#080808}
.photo-crop{position:absolute;inset:0;background:center/cover no-repeat}
.photo-brief .photo-crop{background-image:url("https://cdn.sanity.io/images/cbiy8qrr/production/86c0dd5cc0e7a714e8a4caf346b71cb3ced3b0c3-543x724.webp?w=1600&auto=format&q=82");filter:grayscale(1) contrast(1.3);transform:scale(1.015)}
.photo-brief .photo-mark{position:absolute;inset:26% 10%;border-left:10px solid var(--blue);border-right:10px solid var(--blue)}
.photo-brief .photo-mark:before,.photo-brief .photo-mark:after{content:'';position:absolute;inset:-1px -10px;background:linear-gradient(var(--blue),var(--blue)) left top/28px 10px no-repeat,linear-gradient(var(--blue),var(--blue)) right top/28px 10px no-repeat}
.photo-brief .photo-mark:after{transform:rotate(180deg)}
.photo-team{background:var(--blue)}
.photo-team .photo-crop{inset:16px;background-image:url("https://cdn.sanity.io/images/cbiy8qrr/production/6608186275d509f8ae5377cabbdbb648d28f8664-1200x675.webp?w=1600&auto=format&q=82");filter:grayscale(1) contrast(1.3)}
.photo-management .photo-crop{background-image:url("https://cdn.sanity.io/images/cbiy8qrr/production/01566b449b960d437cb247e680eeab59dfdfebe9-1200x751.webp?w=1600&auto=format&q=82");filter:grayscale(1) contrast(1.3)}
.photo-management .photo-mark{position:absolute;left:24px;bottom:24px;width:8px;height:48px;background:var(--blue)}
.photo-delivery .photo-crop{background-image:url("https://cdn.sanity.io/images/cbiy8qrr/production/5aabaa3e6f68e1c0701ac26629a899971a5ad171-900x1200.webp?w=1600&auto=format&q=82")}

/* Services: one typography scale, proportional craft thumbnails. */
.services{background:var(--blue);color:white}
.services h2{color:white}
.services-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:calc(var(--content-gap) - 29px)}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #ffffff55;grid-auto-rows:1fr}
.services-grid article{display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto 1fr;gap:var(--copy-gap) 20px;padding:28px 24px;align-content:start;border-bottom:1px solid #ffffff55;border-right:1px solid #ffffff55}
.services-grid article:nth-child(odd){padding-left:0}
.services-grid article:nth-child(even){padding-right:0;border-right:0}
.services-grid h3{grid-column:2;grid-row:1;font-size:var(--card-title-size);line-height:1.2;letter-spacing:-.015em}
.services-grid p{grid-column:2;grid-row:2;font-size:var(--body-size);line-height:1.4;max-width:30ch;color:#fffffff0}
.tsc-craft{--tsc-craft-a:#fff;--tsc-craft-b:#080b4c;--tsc-craft-light:#bac4fb;--tsc-craft-mid:#667cf5;position:relative;grid-column:1;grid-row:1/3;width:88px;height:88px;align-self:start}
.tsc-craft svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.tsc-craft[data-craft=compositing] svg{transform:scale(1.14)}
.tsc-craft[data-craft=editing] svg{transform:scale(1.06)}
.tsc-craft[data-craft=support] svg{transform:scale(1.04)}
.services :focus-visible{outline-color:white}

/* Film introduction: full-bleed still. Playback lives in the shared overlay. */
.manifesto-section{position:relative;isolation:isolate;width:100%;height:clamp(440px,56.25vw,760px);overflow:hidden;color:white;background:#080808 url("https://cdn.sanity.io/images/cbiy8qrr/production/8ab9fb34278cfd0551c87dae7aaeb2b6f7c7998c-1920x1080.jpg?w=1920&auto=format&q=82") calc(50% + 1.1vw) calc(50% + 1.4vw)/cover no-repeat}
.manifesto-section:after{content:'';position:absolute;inset:0;background:#00000073;z-index:-1}
.manifesto-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:40px var(--section-margin);text-align:center}
.manifesto-overlay h2,.manifesto-overlay p{font-size:clamp(16px,1.4vw,22px);font-weight:400;line-height:1.25;letter-spacing:0}
.manifesto-start{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:grid;place-items:center;width:44px;height:44px;padding:10px;background:none;color:white;border:0;opacity:.75;transition:opacity .18s}
.manifesto-start svg{width:22px;height:22px}
.manifesto-start:hover,.manifesto-start:focus-visible{opacity:1}
.manifesto-start:focus-visible{outline-color:white}

/* Portfolio: complete mixed-format bands, quiet captions, deliberate hover. */
.projects-heading{margin-bottom:var(--content-gap)}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--work-unit,240px);gap:6px}
.work-tile{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:var(--navy)}
.work-tile>img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .22s ease}
.work-tile:after{content:'';position:absolute;inset:25% 0 0;z-index:1;pointer-events:none;background:linear-gradient(transparent,#0000001f 35%,#000c)}
.work-tile figcaption{position:absolute;inset:auto 24px 24px;z-index:2;display:flex;flex-direction:column;gap:4px;color:white;line-height:1.25}
.work-title{font-size:16px;font-weight:500}
.work-client{font-size:13px;color:#ffffffd9}
.work-open{position:absolute;inset:0;z-index:3;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:transparent;color:white}
.work-open svg{width:30px;height:30px;opacity:0;transition:opacity .22s ease}
.work-open:focus-visible{outline:2px solid white;outline-offset:-6px}
.work-tile:hover>img,.work-tile:focus-within>img{filter:brightness(.75)}
.work-tile:hover .work-open svg,.work-tile:focus-within .work-open svg{opacity:.9}

/* Shared local / YouTube / Vimeo player; orientation follows the viewport. */
.video-lightbox{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;background:#05060af7;color:white;overflow:auto}
.video-lightbox::backdrop{background:#000c}
.video-lightbox[open]{display:flex;align-items:center;justify-content:center}
.video-player-shell{width:min(1120px,100%);display:flex;flex-direction:column;align-items:center}
.video-player-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:20px;margin-bottom:12px}
.video-player-label{display:flex;flex-direction:column;gap:3px}
.player-title{font-size:16px;font-weight:500}
.player-client{font-size:13px;opacity:.75}
.video-close{margin-left:auto;display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:4px;background:transparent;color:white}
.video-close:hover{background:#ffffff12}
.video-close svg{width:26px;height:26px}
.video-player-stage{display:flex;justify-content:center;align-items:center;background:#000;width:100%;min-height:80px}
.video-player-stage video,.video-player-stage iframe{display:block;width:100%;height:100%;border:0;object-fit:contain}
.video-player-status{font-size:14px;text-align:center;margin-top:12px}
.video-player-help{font-size:13px;margin-top:12px;opacity:.8}
.video-player-help a{display:inline-flex;align-items:center;min-height:32px}
.video-player-help a:hover{opacity:.7}
.video-lightbox :focus-visible{outline-color:white}

/* Contact and footer: centred invitation, utilities share a baseline. */
.collaborate{position:relative;min-height:420px;color:white;background:var(--navy) url('assets/web/hero-gradient.webp') center/100% 100% no-repeat}
.contact-glass{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.contact-glass img{position:absolute;max-width:none;height:auto;object-fit:contain}
.contact-cross{width:300px;left:-108px;top:12px;transform:rotate(25deg)}
.contact-ring{width:440px;right:-228px;top:90px;transform:rotate(15deg)}
.contact-content{position:relative;z-index:1;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px var(--section-margin);gap:18px;text-align:center}
.contact-content h2{font-size:var(--section-title-size);line-height:1.08;letter-spacing:-.025em}
.contact-details{display:flex;flex-direction:column;align-items:center}
.contact-details>p:first-child{font-size:16px;line-height:1.4;margin-bottom:14px;color:#ffffffe6}
.contact-email{display:flex;align-items:center;min-height:36px;margin-bottom:4px;font-size:24px;font-weight:500;line-height:1.3}
.contact-phone{display:flex;align-items:center;min-height:32px;font-size:15px;color:#ffffffd9}
.contact-location{font-size:14px;line-height:1.4;color:#ffffffd9}
.contact-details a:hover{opacity:.8}
.site-footer{position:relative;z-index:2;margin-top:-64px;min-height:64px;padding:0 var(--section-margin);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;color:white;font-size:12px}
.site-footer>span,.site-footer>a{opacity:.75}
.site-footer>a{display:inline-flex;align-items:center;justify-self:end;gap:10px;min-height:44px;font-size:14px;white-space:nowrap}
.site-footer>a:hover{opacity:1}
.contact-socials{display:flex;align-items:center;justify-self:center;gap:4px}
.contact-socials a,.contact-socials button{display:grid;place-items:center;width:44px;height:44px;padding:12px;background:none;border:0;color:white;opacity:.8}
.contact-socials svg{width:20px;height:20px}
.contact-socials a:hover,.contact-socials button:hover{opacity:1}
.collaborate :focus-visible,.site-footer :focus-visible{outline-color:white}

/* Shared light contact treatment for launch and Work versions. */
.contact-light .collaborate{background:var(--paper);color:#161616}
.contact-light .contact-content h2{color:var(--blue)}
.contact-light .contact-details>p:first-child{color:#161616}
.contact-light .contact-email{color:var(--blue)}
.contact-light .contact-phone,.contact-light .contact-location{color:var(--navy)}
.contact-light .site-footer,.contact-light .contact-socials a,.contact-light .contact-socials button{color:var(--navy)}
.contact-light .site-footer>a{color:var(--navy);opacity:1;text-shadow:0 0 3px var(--paper),0 0 6px var(--paper)}
.contact-light .site-footer>a svg{filter:drop-shadow(0 0 2px var(--paper))}
.contact-light .collaborate :focus-visible,.contact-light .site-footer :focus-visible{outline-color:var(--blue)}

/* Wide desktop. */
@media(min-width:1601px){
 .hero-shell{height:720px}
 .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .services-grid article:nth-child(n){padding-left:24px;padding-right:24px;border-right:1px solid #ffffff55}
 .services-grid article:nth-child(3n+1){padding-left:0}
 .services-grid article:nth-child(3n){padding-right:0;border-right:0}
}
@media(min-width:1800px){:root{--pad:max(4vw,calc((100vw - 1660px)/2))}}

/* Tablet and compact navigation. */
@media(max-width:1100px) and (min-width:701px){
 .hero-shell{height:640px}
 .hero h1{top:196px;width:74%;font-size:4.9vw}
 .hero-positioning{top:390px;width:70%;font-size:18px}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
 :root{--content-gap:80px}
 .site-header{display:flex;justify-content:space-between;gap:20px}
 .brand{width:140px;margin-left:0}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;flex:none;border:0;padding:0;background:transparent;color:inherit}
 .menu-toggle span{width:24px;height:1.5px;background:currentColor;transition:transform .18s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
 .header-menu{display:none;position:fixed;top:0;left:0;right:0;z-index:-1;width:100%;height:50dvh;min-height:min(400px,100dvh);padding:24px;max-height:100dvh;overflow:auto;background:rgba(8,59,250,.88);color:white;border-radius:0}
 .site-header.menu-open,.site-header.is-light.menu-open{background:transparent;color:white;backdrop-filter:none;-webkit-backdrop-filter:none}
 .site-header.menu-open:before{content:"";position:fixed;inset:0;width:100vw;height:100dvh;background:rgba(8,11,76,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:-2}
 .site-header.menu-open .menu-toggle{position:relative;z-index:3}
 .menu-open .header-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}
 .site-header .header-menu nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:26px;font-weight:400;line-height:1.25;white-space:normal;text-align:center}
 .header-menu nav a{min-height:44px;padding:6px 14px}
 .site-header.menu-open nav a:hover{color:white;opacity:.65}
 .header-menu .roster-link{justify-content:center;justify-self:center;flex:none;width:auto;gap:12px;margin:0;padding:0;border:0;font-size:16px;opacity:.85}
 .header-menu .roster-arrow{width:32px;height:32px}
 .header-menu .roster-link:hover{opacity:1}
 .header-menu .roster-link:hover .roster-arrow{background:white;color:var(--blue)}
 .header-menu :focus-visible{outline-color:white}
 @media(max-height:500px){.header-menu{padding-top:12px;padding-bottom:12px}.menu-open .header-menu{gap:12px}.site-header .header-menu nav{gap:0;font-size:22px}}
 .model-stage,.delivery-stages{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
 .pillar-scene{grid-template-rows:28px 88px auto;row-gap:16px}
 .pillar-scene h3{font-size:34px}
 .pillar-scene p{font-size:18px}
}
@media(min-width:701px) and (max-width:900px){.process-card-heading{grid-template-rows:26px 56px minmax(76px,auto)}}
@media(max-width:900px){
 .services-grid{grid-template-columns:1fr;grid-auto-rows:auto}
 .services-grid article:nth-child(n){padding:24px 0;border-right:0;grid-template-columns:80px minmax(0,1fr);column-gap:16px}
 .tsc-craft{width:80px;height:80px}
 .services-grid p{max-width:42ch}
 .services-heading{margin-bottom:calc(var(--content-gap) - 25px)}
}

/* Mobile: reduce the whole type hierarchy together, not only headings. */
@media(max-width:700px){
 :root{--pad:20px;--section-width:calc(100vw - 40px);--section-title-size:clamp(28px,8vw,40px);--card-title-size:22px;--body-size:16px;--section-space:48px;--content-gap:32px;--copy-gap:20px}
 .hero-shell{height:640px}
 .hero h1{top:210px;width:90%;font-size:clamp(26px,7.5vw,38px);line-height:1.14}
 .hero-positioning{top:370px;width:82%;max-width:340px;font-size:16px;line-height:1.5}
 .model{padding-top:40px}
 .model h2{line-height:1.12}
 .model-mobile-break,.process-title-break,.contact-title-break{display:block}
 .process-title-space{display:none}
 .model-stage{grid-template-columns:1fr;row-gap:24px}
 .tsc-pillars{aspect-ratio:16/9}
 .pillar-scene{grid-template-rows:24px auto auto;row-gap:16px;min-height:218px}
 .pillar-index{font-size:18px;line-height:24px}
 .pillar-scene h3,.model.is-reading .pillar-scene h3{font-size:clamp(26px,7.2vw,30px);line-height:1.1}
 .pillar-scene p,.model.is-reading .pillar-scene p{font-size:16px;line-height:1.5}
 .model.is-reading .model-motion{position:static}
 .model.is-reading .pillar-scene{min-height:0}
 .delivery-stages{grid-template-columns:1fr;gap:32px}
 .delivery-stages li{gap:16px}
 .process-card-heading{grid-template-rows:24px auto auto}
 .delivery-index{font-size:18px;line-height:24px}
 .photo-team .photo-crop{inset:12px}
 .photo-brief .photo-mark{border-width:6px}
 .photo-brief .photo-mark:before,.photo-brief .photo-mark:after{inset:-1px -6px;background-size:18px 6px}
 .services-heading{align-items:start;gap:12px}
 .services-grid article:nth-child(n){grid-template-columns:72px minmax(0,1fr);column-gap:16px}
 .tsc-craft{width:72px;height:72px}
 .manifesto-section{height:clamp(380px,125vw,560px);background-position:calc(50% + 2.45vw) calc(50% + 3.1vw)}
 .manifesto-overlay{padding:32px 24px}
 .manifesto-overlay h2,.manifesto-overlay p{font-size:16px;max-width:340px}
 .manifesto-start{bottom:16px}
 .project-grid{grid-template-columns:1fr;grid-auto-rows:auto}
 .work-tile{aspect-ratio:1}
 .work-tile--landscape{aspect-ratio:16/9}
 .work-tile--portrait{aspect-ratio:3/4}
 .work-tile figcaption{inset:auto 20px 20px}
 .work-title{font-size:15px}
 .work-client{font-size:12px}
 .video-lightbox{padding:16px}
 .contact-content{padding:24px 20px;gap:16px}
 .contact-content h2{line-height:1.12}
 .contact-details>p:first-child{font-size:14px;max-width:275px;margin-bottom:12px}
 .contact-details p br{display:none}
 .contact-email{font-size:20px;min-height:32px}
 .contact-phone{font-size:14px}
 .contact-location{font-size:13px}
 .contact-cross{width:175px;left:-100px;top:-24px}
 .contact-ring{width:230px;right:-155px;top:145px}
 .site-footer{gap:4px;font-size:11px}
 .site-footer>a{font-size:12px;gap:4px}
 .contact-socials{gap:0}
 .contact-socials a,.contact-socials button{width:36px;height:44px;padding:9px}
 .contact-socials svg{width:18px;height:18px}
}
@media(max-width:360px){
 .services-grid article:nth-child(n){grid-template-columns:64px minmax(0,1fr);column-gap:12px}
 .tsc-craft{width:64px;height:64px}
 .site-footer{grid-template-columns:1fr 1fr;padding-top:4px;padding-bottom:8px;margin-top:-84px;min-height:84px}
 .site-footer>span{grid-column:1/-1;grid-row:2;justify-self:center}
 .contact-socials{justify-self:start}
 .site-footer>a{grid-column:2;grid-row:1}
 .contact-content{padding-bottom:64px}
 .contact-cross{left:-115px}
 .contact-ring{right:-190px}
 .collaborate,.contact-content{min-height:440px}
}
@media(max-height:500px) and (orientation:landscape){
 .video-lightbox{padding:8px 20px}
 .video-player-top{margin-bottom:4px}
 .video-player-help{margin-top:4px}
}
@media(hover:none){.work-open svg{opacity:.8}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{transition:none!important;animation:none!important}
 .hero-film video{visibility:hidden}
}
