@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172220;--muted:#586660;--paper:#f5f7f4;--green:#195b48;--lime:#c5ee93;--line:#d5ddd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img,video{max-width:100%;display:block}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.1;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3rem,7.7vw,7rem);font-weight:600}h2{font-size:clamp(2rem,4vw,3.8rem);font-weight:500}h3{font-size:1.65rem;font-weight:600}p{margin:0 0 1.2rem}.wrap{max-width:1320px;margin:auto;padding:0 5%}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-size:22px;font-weight:800;letter-spacing:-1px}.brand span{color:var(--green)}.links{display:flex;gap:30px;font-size:14px;font-weight:600}.links a:hover,.textlink:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:22px;color:var(--muted)}.hero{padding:80px 0 68px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end}.hero h1 span{color:var(--green)}.intro{max-width:370px;font-size:19px;color:var(--muted);padding-bottom:8px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid var(--ink);border-radius:6px;font-size:14px;font-weight:600;min-height:48px}.button.primary{background:var(--ink);color:white}.button:hover{background:var(--green);border-color:var(--green);color:white}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0 38px;border-top:1px solid var(--line);gap:25px}.stat strong{font-family:Manrope;font-size:36px;letter-spacing:-1.5px;font-weight:600;display:block}.stat span{font-size:14px;color:var(--muted)}.section{padding:80px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-head p{color:var(--muted);max-width:290px;font-size:15px;margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 28px}.project{display:block}.visual{height:390px;overflow:hidden;border-radius:10px;position:relative;background:#e3e9e3}.visual img{transition:transform .6s ease}.project:hover .visual img{transform:translateY(-8px) scale(1.02)}.phones{background:#dce8e1;display:flex;gap:25px;justify-content:center;padding:35px 35px 0}.phones img{width:38%;object-fit:contain;object-position:top;align-self:flex-start;filter:drop-shadow(0 12px 16px #18342725)}.phones img:nth-child(2){margin-top:55px}.mapvisual{background:#282b22;padding:28px 45px;display:flex;gap:18px;align-items:flex-start}.mapvisual img{width:54%;border-radius:3px}.mapvisual img+img{width:40%;margin-top:65px}.skyvisual{background:#e9edf4;display:flex;align-items:center;padding:20px}.skyvisual img{width:100%}.gbvisual{background:#0c1624;display:flex;flex-direction:column;justify-content:center;padding:45px;color:white}.gbvisual .gbmark{font-size:17px;letter-spacing:.22em;color:#a2bcff;font-weight:700}.gbvisual strong{font-family:Manrope;font-size:clamp(35px,4vw,57px);letter-spacing:-.06em;line-height:1.08;margin:30px 0}.gbvisual .gbline{border-top:1px solid #ffffff30;padding-top:18px;font-size:14px;color:#9eb2ce}.project-meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}.project h3{margin-bottom:10px}.project p{color:var(--muted);font-size:15px;max-width:520px}.project .view{font-size:14px;border-bottom:1px solid var(--ink);display:inline-block}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p{font-size:19px;color:var(--muted)}.expertise{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.expertise span{font-size:14px;padding:7px 12px;border:1px solid var(--line);border-radius:4px}.career{margin-top:55px}.job{display:grid;grid-template-columns:160px 1fr;gap:30px;border-top:1px solid var(--line);padding:25px 0}.job .date{font-size:14px;color:var(--muted)}.job h3{font-size:21px;letter-spacing:-.02em;margin:0 0 8px}.job p{font-size:15px;color:var(--muted);max-width:620px;margin:0}.contact{background:var(--green);color:white;padding:75px 0}.contact .eyebrow{color:#c5d9d0}.contact .button{color:white;border-color:#b2c8bc}.contact .button.primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}.contact .button:hover{background:white;color:var(--ink)}footer{font-size:13px;padding:28px 0;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px}.case-hero{padding:65px 0 45px;max-width:980px}.case-hero h1{font-size:clamp(2.8rem,6vw,5.5rem);margin:22px 0}.case-lede{font-size:21px;color:var(--muted);max-width:760px}.back{font-size:14px;border-bottom:1px solid var(--muted)}.case-banner{background:#dce8e1;border-radius:12px;padding:45px;display:flex;justify-content:center;gap:40px;max-height:590px;overflow:hidden}.case-banner img{max-width:35%;object-fit:contain;object-position:top;align-self:start}.case-banner.sky{background:#e9edf4}.case-banner.sky img{max-width:100%}.case-banner.dutton{background:#252b22}.case-banner.dutton img{max-width:42%}.case-body{display:grid;grid-template-columns:230px 1fr;gap:75px;padding:65px 0}.case-side{font-size:14px}.case-side b{display:block;margin-bottom:8px}.case-side p{color:var(--muted);margin-bottom:30px}.prose{max-width:800px}.prose h2{font-size:32px;margin:0 0 20px}.prose h3{font-size:22px;margin:32px 0 12px;letter-spacing:-.02em}.prose p,.prose li{color:var(--muted);font-size:17px}.prose ul,.prose ol{padding-left:22px;margin:15px 0 40px}.prose section{margin-bottom:48px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-row strong{display:block;font-size:34px;font-family:Manrope;font-weight:600;letter-spacing:-1px}.metric-row span{font-size:14px;color:var(--muted)}.caption{font-size:13px!important;margin-top:14px;color:var(--muted)}.evolution{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:30px;background:#e3e8e2;border-radius:10px;margin:25px 0}.evolution figure{margin:0}.evolution img{width:100%;height:260px;object-fit:cover;object-position:top}.evolution figcaption{font-size:13px;margin-top:10px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery img{width:100%;height:auto}.video-row{display:grid;grid-template-columns:1.5fr 1fr;gap:25px;align-items:start}.video-row video{border:1px solid var(--line);border-radius:8px;width:100%;max-height:600px;background:white}.next{border-top:1px solid var(--line);padding:45px 0;display:flex;justify-content:space-between;gap:20px}.next a{font-size:20px;font-weight:500}.desktop-label{display:block}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid #26856a;outline-offset:5px}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:30px;padding:50px 0}.intro{max-width:520px}.stats{grid-template-columns:1fr 1fr}.grid{gap:40px 22px}.visual{height:300px}.about{grid-template-columns:1fr;gap:30px}.case-body{grid-template-columns:1fr;gap:25px}.case-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.case-banner{padding:25px;gap:20px}.evolution{gap:10px;padding:15px}.evolution img{height:180px}.section{padding:55px 0}}@media(max-width:560px){.wrap{padding:0 6%}.nav{height:75px}.links{gap:16px}.links a:nth-child(3){display:none}.hero h1{font-size:3.2rem}.grid{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:20px}.visual{height:340px}.stats{gap:22px}.stat strong{font-size:31px}.job{grid-template-columns:1fr;gap:8px}.contact{padding:55px 0}.footer-inner{display:block}.case-hero h1{font-size:2.8rem}.case-lede{font-size:19px}.metric-row{grid-template-columns:1fr 1fr}.case-banner{max-height:400px}.case-banner img{max-width:45%}.evolution{overflow-x:auto;grid-template-columns:repeat(5,100px)}.video-row{grid-template-columns:1fr}.video-row video:last-child{max-height:520px}.next{flex-direction:column}.gallery{gap:14px}.gbvisual strong{font-size:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.theme-toggle{background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 13px;border-radius:5px;font-size:13px;cursor:pointer;min-height:40px;white-space:nowrap}.theme-toggle:hover{background:var(--ink);color:var(--paper)}.nav{gap:25px}.links{margin-left:auto}.contact-copy{font-size:18px;margin-top:24px;color:#e0ece6}.companies{padding:36px 0 50px;border-top:1px solid var(--line)}.company-logos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:center}.company-logo{height:105px;display:flex;align-items:center;justify-content:center;background:white;border-radius:8px;overflow:hidden}.company-logo img{width:100%;height:100%;object-fit:contain}.company-logo.showtime{background:white;padding:24px}.company-logo.showtime img{height:auto;max-width:190px}.company-logo.warner{padding:18px}.company-logo.warner img{max-width:90px}.tool-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.tool-group{border-top:1px solid var(--line);padding-top:22px}.tool-group h3{font-size:18px;letter-spacing:-.02em;margin-bottom:22px}.tool-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;color:var(--muted)}
:root[data-theme="dark"]{--ink:#edf3ed;--muted:#b4c3ba;--paper:#111b17;--green:#a6d5b8;--lime:#c5ee93;--line:#34473c;color-scheme:dark}:root[data-theme="light"]{color-scheme:light}[data-theme="dark"] .contact{background:#244b3b}[data-theme="dark"] .contact .button.primary{color:#14221a}[data-theme="dark"] .contact .button:hover{color:#14221a}[data-theme="dark"] .button.primary{color:#15201a}[data-theme="dark"] .button:hover{color:#15201a}[data-theme="dark"] .visual.phones,[data-theme="dark"] .case-banner{background:#304d3b}[data-theme="dark"] .visual.skyvisual,[data-theme="dark"] .case-banner.sky{background:#d8dfe8}[data-theme="dark"] .case-banner.dutton{background:#252b22}[data-theme="dark"] .evolution{background:#283b30}[data-theme="dark"] .theme-toggle:hover{color:#14221a}[data-theme="dark"] .company-logo{border:1px solid #435448}
@media(max-width:800px){.tool-groups{grid-template-columns:1fr 1fr}.company-logos{gap:15px}.company-logo{height:85px}.company-logo.showtime{padding:16px}.nav{gap:15px}.links{gap:18px}}@media(max-width:560px){.nav{height:auto;min-height:90px;flex-wrap:wrap;padding:17px 0;gap:14px}.brand{margin-right:auto}.links{order:3;width:100%;margin:0;justify-content:space-between;gap:12px}.links a:nth-child(3){display:block}.company-logos{grid-template-columns:1fr 1fr}.tool-groups{grid-template-columns:1fr 1fr;gap:30px 20px}.tool-group h3{font-size:17px}.tool-group li{font-size:15px}.theme-toggle{font-size:12px}.contact h2{font-size:2.2rem}}

/* Transparent assets sit directly on each theme surface. */
.company-logo,.company-logo.showtime,[data-theme="dark"] .company-logo{background:transparent;border:0;border-radius:0;overflow:visible}.company-logo{height:100px;padding:12px}.company-logo img{width:auto;height:auto;max-width:160px;max-height:58px;object-fit:contain}.company-logo.showtime{padding:12px}.company-logo.showtime img{max-width:180px}.company-logo.warner img{max-width:75px;max-height:80px}[data-theme="dark"] .company-logo img{filter:brightness(0) invert(1)}
.tool-group li{display:flex;align-items:center;gap:12px;min-height:28px}.tool-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0}[data-theme="dark"] .tool-icon:not(.colour-icon){filter:brightness(0) invert(1)}.tool-icon.colour-icon{filter:none}.tool-group span{line-height:1.5}
.megawall-hero{position:relative;isolation:isolate;padding:85px 35px 75px;margin:24px -35px 0;overflow:hidden;border-radius:12px}.megawall-background{position:absolute;inset:0;z-index:-2;background-image:url('/assets/megawall.png');background-size:cover;background-position:center;opacity:.24}.megawall-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,247,244,.97) 0%,rgba(245,247,244,.87) 38%,rgba(245,247,244,.72) 100%)}[data-theme="dark"] .megawall-background{opacity:.46}[data-theme="dark"] .megawall-hero::after{background:linear-gradient(90deg,rgba(17,27,23,.96) 0%,rgba(17,27,23,.85) 38%,rgba(17,27,23,.72) 100%)}.megawall-hero .intro{color:var(--ink)}
@media(prefers-reduced-motion:no-preference){.hero h1,.case-hero h1{animation:entrance .65s ease both}.hero .intro,.case-lede{animation:entrance .75s .09s ease both}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease var(--reveal-delay,0ms),transform .55s ease var(--reveal-delay,0ms)}.reveal.in-view{opacity:1;transform:translateY(0)}.button{transition:background-color .2s,color .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.theme-toggle{transition:background-color .2s,color .2s}.project .view{transition:color .2s}.company-logo img{transition:opacity .2s,transform .3s}.company-logo:hover img{transform:translateY(-3px)}@keyframes entrance{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:800px){.megawall-hero{padding:60px 24px;margin-left:-24px;margin-right:-24px}.company-logo img{max-width:130px}.company-logo.showtime img{max-width:140px}}@media(max-width:560px){.megawall-hero{padding:45px 18px;margin:15px -18px 0}.megawall-background{background-position:65% center}.company-logo{height:90px}.company-logo img{max-width:145px}.company-logo.showtime img{max-width:160px}.tool-group li{gap:9px}.tool-icon{width:22px;height:22px}}

[data-theme="dark"] .company-logo.warner img{filter:none}.employment .career{margin-top:0}

.tool-icon,.tool-icon.colour-icon{filter:brightness(0)}[data-theme="dark"] .tool-icon,[data-theme="dark"] .tool-icon.colour-icon{filter:brightness(0) invert(1)}
.company-logo.warner .warner-dark{display:none}.company-logo.warner .warner-light{display:block}[data-theme="dark"] .company-logo.warner .warner-light{display:none}[data-theme="dark"] .company-logo.warner .warner-dark{display:block;filter:none}.company-logo.warner .warner-dark{max-width:95px;max-height:80px}
.gb-site-preview{background:transparent;padding:20px!important}.page-detail img{width:100%;border-radius:8px;border:1px solid var(--line);margin:22px 0}.device-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px}.device-tabs button{cursor:pointer;padding:10px 22px;min-height:46px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font-weight:600}.device-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.device-panel{height:clamp(280px,45vw,480px);display:flex;justify-content:center;align-items:center;background:transparent;border:1px solid var(--line);border-radius:10px;padding:18px}.device-panel[hidden]{display:none}.device-panel video{width:100%;height:100%;object-fit:contain;max-width:100%}.mobile-panel video{width:auto;max-width:100%;height:100%}@media(max-width:560px){.device-panel{height:340px;padding:12px}.mobile-panel{height:450px}.device-tabs button{flex:1}.gb-site-preview{padding:8px!important}}

.theme-tool-icon{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center}.theme-tool-icon .tool-dark{display:none}[data-theme="dark"] .theme-tool-icon .tool-light{display:none}[data-theme="dark"] .theme-tool-icon .tool-dark{display:block}.theme-tool-icon img{width:24px;height:24px;object-fit:contain}img{height:auto}.grid>*:not(img),.about>*,.case-body>*,.tool-groups>*{min-width:0}.prose{min-width:0}.case-side p,.tool-group span{overflow-wrap:anywhere}.theme-toggle{min-height:44px}
@media(max-width:560px){.project-meta{font-size:12px;line-height:1.5;gap:10px;flex-wrap:wrap}.tool-groups{gap:28px 16px}.tool-group li{font-size:14px}.case-banner{max-height:360px;gap:12px;padding:16px}.case-banner img{max-width:46%}.case-banner.sky img{max-width:100%}.case-banner.dutton img{max-width:46%}.case-side{gap:16px}.gallery{grid-template-columns:1fr}.gallery a{max-width:420px;margin:0 auto}.evolution{max-width:100%;overscroll-behavior-x:contain}.contact .actions{align-items:stretch}.contact .actions .button{flex:1 1 180px}.next a{overflow-wrap:anywhere}.gb-site-preview{height:260px}.nav .links a{min-height:44px;display:inline-flex;align-items:center}.nav .links a:nth-child(3){display:inline-flex}.stat strong{font-size:clamp(24px,7vw,31px)}.hero h1{font-size:clamp(2.6rem,12vw,3.2rem)}.case-hero h1{font-size:clamp(2.1rem,10vw,2.8rem)}.metric-row strong{font-size:30px}}
@media(max-width:360px){.tool-groups{grid-template-columns:1fr}.case-side{grid-template-columns:1fr}.stats{gap:20px 12px}.intro{font-size:18px}.company-logo.showtime img{max-width:125px}.company-logo img{max-width:120px}.device-panel{height:250px}.mobile-panel{height:400px}}

.store-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.store-gallery a{display:block;min-width:0}.store-gallery img{display:block;width:100%;height:auto;border-radius:8px}.store-note{font-size:.875rem;color:var(--muted)}@media(max-width:560px){.store-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

.case-banner.gb-banner{max-height:none;height:auto;display:block}.gb-banner .gbvisual{width:100%;height:auto;min-height:0}.prose img{height:auto}@media(max-width:560px){.gb-banner .gbvisual{padding:28px 22px}.gb-banner .gbvisual strong{font-size:clamp(28px,8vw,40px);margin:22px 0}.gb-banner .gbmark{font-size:14px}.gb-banner .gbline{font-size:13px;overflow-wrap:anywhere}.prose img[src="/assets/gb-website.png"]{width:100%;max-width:100%;height:auto;display:block}}
