@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700 800;font-display:swap;src:url('fonts/barlow.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/dm-sans.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/space-grotesk.woff2') format('woff2')}
.brand.identity{width:225px;min-height:44px;flex-shrink:0;display:flex;align-items:center;font:700 27px/1.2 'Space Grotesk',sans-serif;letter-spacing:-1.5px}.identity-word{display:inline-flex;align-items:baseline;white-space:nowrap}.identity-rest{display:inline-block;max-width:0;opacity:0;overflow:hidden;transition:max-width .5s cubic-bezier(.22,1,.36,1),opacity .25s}.identity-gap{width:0;transition:width .5s cubic-bezier(.22,1,.36,1)}.identity:is(:hover,:focus-visible) .identity-rest{max-width:90px;opacity:1}.identity:is(:hover,:focus-visible) .identity-gap{width:7px}
.entrance{display:none;position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.intro-play .entrance{display:block;animation:entrance-done .9s step-end both}.entrance-panel{position:absolute;left:0;width:100%;height:50%;background:#1b1c19;color:#dcff79;overflow:hidden;animation-duration:.68s;animation-delay:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.76,0,.24,1);will-change:transform}.entrance-top{top:0;animation-name:split-up}.entrance-bottom{bottom:0;animation-name:split-down}.entrance-panel>span{position:absolute;left:50%;font:700 clamp(100px,17vw,220px)/1 Arial,sans-serif;letter-spacing:-.08em;transform:translateX(-50%)}.entrance-top>span{bottom:0;transform:translate(-50%,50%)}.entrance-bottom>span{top:0;transform:translate(-50%,-50%)}.entrance-slit{position:absolute;left:0;top:50%;height:1px;width:100%;background:#dcff79;transform-origin:center;animation:slit .35s ease both}
@keyframes split-up{to{transform:translateY(-101%)}}@keyframes split-down{to{transform:translateY(101%)}}@keyframes slit{0%{transform:scaleX(0)}60%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}@keyframes entrance-done{to{visibility:hidden}}
@media(max-width:700px){.brand.identity{width:175px;font-size:23px;letter-spacing:-1px}.identity:is(:hover,:focus-visible) .identity-rest{max-width:72px}}
@media(max-width:360px){.brand.identity{width:150px;font-size:21px}}
@media(hover:none){.identity-rest{max-width:72px;opacity:1}.identity-gap{width:6px}}
@media(prefers-reduced-motion:reduce){.intro-play .entrance{display:none}}
:root{--accent:#dcff79;--paper:#f3f2ec;--ink:#1b1c19;--muted:#65675e;--line:#cccfc3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--accent);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif;transition:background .4s}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px dashed currentColor;outline-offset:6px}.wrap{width:calc(100% - 100px);max-width:1500px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1b1c1940}.brand{display:flex;align-items:center;gap:10px;font:700 11px/1.2 'Space Grotesk',sans-serif}.mark{font-size:48px;font-weight:400}nav{display:flex;gap:30px;align-items:center;font-size:12px}.nav-contact{background:var(--ink);color:var(--accent);padding:11px 18px;border-radius:30px}.nav-contact span{margin-left:18px}.hero{padding-top:24px;position:relative}.hero-top{display:flex;justify-content:space-between}.eyebrow{font:10px/1.5 monospace;letter-spacing:.7px;margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(90px,17.6vw,270px);line-height:.78;font-weight:700;letter-spacing:-.025em;margin:30px 0 33px}h1>span{display:block}.second-line{margin-top:15px;display:flex!important;justify-content:space-between}h1 i{font-family:Georgia,serif;font-weight:400;font-size:.79em;letter-spacing:-.07em;align-self:center;padding-right:.035em}.hero-bottom{display:grid;grid-template-columns:1fr .55fr .85fr;align-items:center;min-height:260px}.hero-description{display:flex;align-items:start;gap:25px}.tiny-cross{font-size:45px;line-height:1}.hero-description p{font-size:18px;line-height:1.45;letter-spacing:-.5px}.hero-description p>span{display:block;font-size:11px;letter-spacing:0;margin-top:16px}.hero-description strong{font-family:Georgia,serif;font-size:23px;font-weight:400;font-style:italic}.round-link{width:120px;height:120px;border:1px solid #1b1c1970;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;transition:background .3s,transform .3s}.round-link span{font:9px/1.3 monospace;text-align:center}.round-link b{font-size:40px;font-weight:400;line-height:1.2}.round-link:hover{background:var(--ink);color:var(--accent);transform:rotate(-10deg)}.orbit-area{justify-self:end;width:290px}.orbit{height:195px;position:relative;transform:rotate(-20deg);transition:transform .6s ease-out}.orbit svg{width:100%;height:100%}.orbit>span{position:absolute;left:calc(50% - 40px);top:calc(50% - 49px);font-size:98px;line-height:1;animation:spin 20s linear infinite}.palette{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:4px}.palette>span{font:8px monospace;letter-spacing:.6px;margin-right:8px}.palette button{width:24px;height:24px;border:1px solid #1b1c1970;border-radius:50%;cursor:pointer;padding:0}.palette button[aria-pressed=true]{outline:1px solid var(--ink);outline-offset:3px}.palette button[data-color=lime]{background:#dcff79}.palette button[data-color=lilac]{background:#c7b8ff}.palette button[data-color=peach]{background:#ffb99a}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid #1b1c1940;padding:18px 0 25px;font:8px monospace;letter-spacing:.6px}.ribbon{background:var(--ink);color:var(--accent);overflow:hidden;padding:14px 0}.ticker{display:flex;width:max-content;animation:ticker 35s linear infinite}.ticker>span{font:500 24px 'Space Grotesk',sans-serif;white-space:nowrap}.ticker i{font-style:normal;margin:0 35px}.section{padding-top:100px;padding-bottom:100px}#work{max-width:none;width:100%;padding-inline:max(50px,calc((100vw - 1500px)/2));background:var(--paper)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:50px}h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,5vw,76px);font-weight:500;line-height:1.02;letter-spacing:-3px;margin:0}h2 em{font-family:Georgia,serif;font-weight:400}h2 sup{font:12px monospace;vertical-align:top;margin-left:17px}.section-head>p{font-size:13px;color:var(--muted);max-width:290px;margin:0 0 4px}.project-image{height:620px;display:block;position:relative;background:#151919;overflow:hidden;border-radius:2px;color:#9be9f2}.project-art-title{position:absolute;left:38px;top:25px;font:800 108px/.82 'Barlow Condensed',Impact,sans-serif;letter-spacing:-3px}.project-art-title>span{display:block}.project-art-title small{font:9px monospace;letter-spacing:2px;display:block;margin-top:22px}.project-screen{width:70%;position:absolute;left:28%;top:120px;transform:rotate(-7deg);box-shadow:0 0 80px #69e4d929;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.project-image:hover .project-screen{transform:rotate(-3deg) translate(-10px,-12px)}.browser-bar{display:flex;justify-content:space-between;background:#303737;color:#c3d1d1;font:8px monospace;padding:10px 15px;border:1px solid #6b878780;border-radius:5px 5px 0 0}.browser-bar>span:first-child{letter-spacing:3px}.project-image img{display:block;width:100%;height:auto;border:1px solid #6b878740}.project-visit{position:absolute;right:35px;top:30px;background:var(--accent);color:var(--ink);width:95px;height:95px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:9px monospace;transform:rotate(8deg)}.project-visit b{font-size:36px;font-weight:400}.project-index{position:absolute;bottom:25px;left:35px;font:10px monospace;letter-spacing:1px}.project-description{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;padding-top:28px}h3{font:500 23px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.7px;margin-bottom:10px}.project-description p{font-size:12px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;align-content:start;justify-content:end;gap:7px}.tags span{font:9px monospace;border:1px solid var(--line);padding:7px 12px;border-radius:25px}.services{background:#20211f;color:var(--paper)}.services .eyebrow{color:var(--accent)}.services .section-head>p{color:#a7aaa0}.service-grid{margin-top:65px}.service-grid article{display:grid;grid-template-columns:55px 1.2fr 1fr 1fr;gap:30px;align-items:start;padding:32px 0;border-top:1px solid #ffffff30;transition:padding .3s}.service-grid article:hover{padding-left:12px}.service-icon{color:var(--accent);font-size:35px;line-height:1}.service-grid h3{font-size:25px}.service-grid p,.service-grid ul{font-size:12px;color:#c1c3ba;margin:0;line-height:1.6}.service-grid ul{list-style:none;padding:0}.service-grid li{padding-bottom:6px}.service-grid li:before{content:'↗';margin-right:10px;color:var(--accent)}.scope-note{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #ffffff30;margin-top:18px;padding-top:28px}.scope-note b{font-size:14px;color:var(--accent);font-weight:500}.scope-note p{font-size:12px;color:#c1c3ba;max-width:500px;margin:0}.process{max-width:none;width:100%;padding-inline:max(50px,calc((100vw - 1500px)/2));background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:80px}.process>div>p:last-child{font-size:13px;color:var(--muted);margin-top:30px}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:25px;border-top:1px solid var(--line);padding:26px 0}.process li>span{font:11px monospace;padding-top:6px}.process li h3{font-size:22px}.process li p{font-size:13px;color:var(--muted);margin:0}.contact{background:var(--accent);position:relative}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:clamp(45px,6.7vw,100px);line-height:.98;letter-spacing:-4px;margin-bottom:35px}.contact h2 em{letter-spacing:-5px}.contact-grid>div>p:not(.eyebrow){font-size:14px}.text-link{font-size:12px;text-decoration:underline;text-underline-offset:5px;border:0;background:none;padding:0;cursor:pointer}form label{display:block;font-size:11px;margin-bottom:20px}input,select,textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #1b1c1970;border-radius:0;padding:10px 0;color:var(--ink);font-size:14px;margin-top:4px}input::placeholder,textarea::placeholder{color:#444c38;opacity:.8}input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:5px}select option{background:var(--paper)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.button{background:var(--ink);color:var(--accent);padding:18px 22px;width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--ink);border-radius:0;font-size:13px;cursor:pointer;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--ink)}.button>span{font-size:22px}.form-note,#form-status{font-size:10px;line-height:1.5;margin-top:12px}.contact:after{content:'LET’S MAKE IT HAPPEN ↗';display:block;font:700 clamp(40px,8vw,140px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px;margin-top:100px;text-align:center}footer{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-top:1px solid #1b1c1940}footer p,footer>a:last-child{font:9px monospace;margin:0}.skip{position:absolute;top:-80px;left:20px;background:var(--paper);padding:12px;z-index:5}.skip:focus{top:15px}[hidden]{display:none!important}.reveal{animation:rise .6s both}@keyframes rise{from{opacity:.4;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(min-width:1700px){h1{font-size:270px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}#work,.process{padding-inline:28px}.hero-description{gap:15px}.hero-description p{font-size:15px}.orbit-area{width:230px}.project-image{height:490px}.project-art-title{font-size:85px}.service-grid article{grid-template-columns:35px 1fr 1fr;gap:20px}.service-grid ul{grid-column:2/4;display:flex;flex-wrap:wrap;gap:15px}.contact-grid{gap:50px}.contact h2{font-size:65px}.project-description{gap:20px}h2{letter-spacing:-2px}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}header{height:78px}.mark{font-size:35px}.brand{font-size:9px}nav{gap:16px;font-size:11px}nav>a:nth-child(2){display:none}.nav-contact{padding:9px 12px}.nav-contact span{margin-left:10px}.hero{padding-top:18px}.hero-top .eyebrow{font-size:8px}.hero-top .eyebrow:last-child{display:none}h1{font-size:18vw;margin-top:15px;letter-spacing:-.025em}.second-line{margin-top:9px}.hero-bottom{grid-template-columns:1fr 1fr;min-height:330px}.hero-description{grid-column:1/3;gap:15px;padding-top:13px}.hero-description p{font-size:18px}.hero-description p>span{font-size:10px;margin-top:10px}.round-link{width:100px;height:100px;justify-self:start;margin-left:25px}.orbit-area{width:175px}.orbit{height:150px}.palette{gap:8px;flex-wrap:wrap}.palette>span{font-size:7px;flex-basis:100%;text-align:center;margin:0 0 2px}.hero-foot{font-size:7px;gap:20px;margin-top:20px}.hero-foot span:last-child{text-align:right;max-width:160px}.ticker>span{font-size:18px}.ticker i{margin-inline:20px}.section{padding-top:65px;padding-bottom:65px}#work,.process{padding-inline:18px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}h2{font-size:45px;letter-spacing:-2px}.project-image{height:400px}.project-art-title{font-size:68px;left:20px;top:24px}.project-art-title small{font-size:7px;letter-spacing:1px;margin-top:13px}.project-screen{width:95%;left:18%;top:180px}.project-visit{width:73px;height:73px;right:18px;top:22px;font-size:8px}.project-visit b{font-size:29px}.project-index{font-size:8px;left:20px;bottom:17px}.project-description{grid-template-columns:1fr;gap:10px}.project-description p{margin-bottom:3px}.tags{justify-content:start;margin-top:8px}.service-grid{margin-top:35px}.service-grid article{grid-template-columns:30px 1fr;gap:12px;padding:25px 0}.service-grid h3{font-size:25px}.service-grid p,.service-grid ul{grid-column:2;display:block}.service-grid ul{margin-top:8px}.service-grid li{font-size:11px}.scope-note{display:block}.scope-note p{margin-top:14px}.process{grid-template-columns:1fr;gap:30px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:66px;letter-spacing:-3px}.contact h2 em{letter-spacing:-3px}.form-row{grid-template-columns:1fr;gap:0}.contact:after{margin-top:55px;font-size:9vw;letter-spacing:-.5px}footer{flex-wrap:wrap;gap:20px}footer p{order:3;width:100%}footer>a:last-child{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.orbit-area{overflow:clip;padding:8px 0}.orbit{transform:rotate(-15deg) scale(.87)}
.email-copy{display:block;max-width:100%;overflow-wrap:anywhere;margin-top:30px;padding:10px 0;background:none;border:0;border-bottom:2px solid currentColor;font:500 clamp(16px,1.6vw,24px) 'Space Grotesk',sans-serif;color:var(--ink);cursor:pointer;transition:letter-spacing .25s,transform .25s}
.email-copy:hover{letter-spacing:.4px;transform:translateY(-3px)}.email-copy.copied{animation:email-pop .4s ease}.email-copy-notice{font:10px monospace!important;min-height:20px;margin:12px 0!important}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.button:disabled{opacity:.6;cursor:wait}
@keyframes email-pop{50%{transform:translateY(-5px) rotate(-1deg)}100%{transform:none}}
/* Keep native autofill readable and consistent with every colour mood. */
#enquiry{padding:30px;border:1px solid #1b1c1930;border-radius:12px;background:color-mix(in srgb,var(--accent) 92%,white)}
#enquiry label{font-size:12px;font-weight:500;margin-bottom:23px}
#enquiry input,#enquiry select,#enquiry textarea{padding:13px 14px;margin-top:9px;background:var(--accent);border:1px solid #1b1c1950;border-radius:5px;line-height:1.5;transition:border-color .2s,box-shadow .2s}
#enquiry input::placeholder,#enquiry textarea::placeholder{color:var(--ink);opacity:.57}
#enquiry input:hover,#enquiry select:hover,#enquiry textarea:hover{border-color:#1b1c1980}
#enquiry input:focus,#enquiry select:focus,#enquiry textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 2px #1b1c1920}
#enquiry input:autofill{background:var(--accent);color:var(--ink);box-shadow:0 0 0 1000px var(--accent) inset;transition:none}
#enquiry input:-webkit-autofill,#enquiry input:-webkit-autofill:hover,#enquiry input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--accent) inset}
#enquiry input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--accent) inset,0 0 0 2px #1b1c1920}
#enquiry .form-row{gap:18px}
#enquiry .button{border-radius:5px}
#enquiry .form-note{line-height:1.6;margin-bottom:0}
@media(max-width:1050px){#enquiry .form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){#enquiry{padding:21px 18px}.contact-grid{gap:25px}}
.marquee-track{display:flex;width:max-content;animation:marquee-loop var(--marquee-duration,80s) linear infinite}
.marquee-group{display:flex;flex:0 0 auto;width:max-content}
.marquee-unit{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap;font:500 24px 'Space Grotesk',sans-serif}
.marquee-unit i{font-style:normal;margin:0 35px}
@keyframes marquee-loop{to{transform:translateX(-50%)}}
@media(max-width:700px){.marquee-unit{font-size:18px}.marquee-unit i{margin:0 20px}}
.contact-grid>*{min-width:0}@media(max-width:360px){.contact h2{font-size:56px}}
@media(max-width:1050px){.hero-bottom{grid-template-columns:minmax(0,1fr) 130px 230px}.hero-description{min-width:0}}
@media(max-width:700px){.hero-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.orbit-area{width:100%;max-width:175px}.process{width:100%}}
.replay-intro{font:9px monospace;color:inherit;background:none;border:0;padding:12px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}@media(prefers-reduced-motion:reduce){.replay-intro{display:none}}
