@font-face{font-family:Aeonik;src:url(assets/aeonik-live.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}
:root{--orange:#ff873b;--pink:#ffaeff;--blue:#7fa5ff;--green:#7fa516;--rail:17.7734375%;--ink:#000}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;font-family:Aeonik,Arial,sans-serif;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}::selection{background:var(--pink);color:#000}
.rail{width:var(--rail);position:fixed;inset:0 auto 0 0;z-index:100;background:var(--orange);padding:1.17vw 1.953125vw}
.rail nav{display:flex;align-items:flex-start;flex-direction:column;font-size:1.953125vw;line-height:1.3;letter-spacing:-.055em}
.rail nav a{white-space:nowrap}.rail nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.26em;text-decoration-thickness:max(1.25px,.05em);text-decoration-skip-ink:none}.rail nav a:hover{color:var(--pink)}.mobile-brand,.menu-toggle{display:none}
.motion-control{position:absolute;bottom:18px;left:1.953125vw;border:0;background:none;padding:5px 0;font-size:14px;opacity:0;transition:opacity .2s}.rail:hover .motion-control,.motion-control:focus-visible{opacity:1}
main{margin-left:var(--rail);width:calc(100% - var(--rail));container-type:inline-size;outline:none;min-height:100vh;overflow:clip}
.loading{padding:24px}.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:12px;z-index:200}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
img,video{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p,figure{margin:0;font-weight:400}
.home-hero{position:relative;aspect-ratio:842/441;background:#ebebeb;overflow:hidden}.home-hero video{object-fit:cover}.video-mobile{display:none}
.home-intro{height:34.4418cqw;padding:2.3753cqw;font-size:4.15677cqw;line-height:1.22857;letter-spacing:-.05938cqw}
.home-intro p{max-width:84.442cqw}
.photo-field{height:97.3872cqw;position:relative;overflow:hidden;background:#fff}
.photo{position:absolute;overflow:hidden;will-change:transform}
.marquee{height:11.8765cqw;display:flex;align-items:center;white-space:nowrap;overflow:hidden;background:#fff;position:relative;z-index:2;font-size:5.93824cqw;line-height:1;letter-spacing:-.11876cqw}
.marquee span{display:block;animation:marquee 50s linear infinite alternate;will-change:transform;padding-right:1em}
.marquee:hover{color:var(--blue)}
@keyframes marquee{from{transform:translateX(-1.2%)}to{transform:translateX(-80.38%)}}
.home-finale{height:45.1306cqw;position:relative;overflow:hidden}
.home-finale>.crowd{position:absolute;inset:0;transform:scale(var(--photo-scale,1));will-change:transform}
.logo-link{position:absolute;width:37.41%;height:100%;left:31.35%;top:0;display:flex;align-items:center}
.logo-link img{object-fit:contain}.logo-link .hover-logo{position:absolute;inset:0;opacity:0}.logo-link:hover .hover-logo{opacity:1}
.home-footer{height:9.026cqw;min-height:64px;padding:2.3753cqw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1cqw;background:var(--pink);font-size:1.6627cqw;letter-spacing:-.04em}
.home-footer a{text-align:center}.home-footer .copyright{text-align:right}
.logo-strip{height:22.5653cqw;padding:2.3753cqw;display:flex;align-items:center}
.logo-strip img{object-fit:contain}.logo-strip a{display:block;width:100%;height:100%;position:relative}
.logo-strip .hover-logo{position:absolute;inset:0;opacity:0}.logo-strip a:hover .hover-logo{opacity:1}
.about-media{height:39.1924cqw;display:grid;grid-template-columns:202fr 640fr;background:#000;overflow:hidden}
.about-motion{overflow:hidden}.about-motion video{transform:rotate(180deg);object-fit:cover}
.slideshow{position:relative;overflow:hidden;background:#111}.slideshow img{position:absolute;inset:0;object-fit:cover;opacity:0}.slideshow img:first-child,.slideshow img.current{opacity:1}.slideshow img:not(.current){opacity:0}
.about-intro{height:45.1306cqw;padding:3.5629cqw 2.3753cqw 2.3753cqw;font-size:3.5629cqw;line-height:1.333;letter-spacing:-.05938cqw;white-space:pre-line}
.services{height:48.6936cqw;display:grid;grid-template-columns:274fr 286fr 282fr}
.service{position:relative;padding:3.5629cqw 2.3753cqw;overflow:hidden}
.service>*{position:relative;z-index:1}.service h2{font-size:3.5629cqw;line-height:.86667;letter-spacing:-.05938cqw;min-height:9.2637cqw;margin-bottom:0}
.service p{font-size:2.3753cqw;line-height:1.3;letter-spacing:-.0475cqw}
.service-a{background:var(--pink);padding-right:1.3cqw}.service-b{background:var(--green)}
.service:before{content:"";position:absolute;inset:0;opacity:var(--colour-opacity,1)}.service-a:before{background:var(--blue)}.service-b:before{background:var(--orange)}
.mission{height:55.8195cqw;padding:3.5629cqw 2.3753cqw 1.1876cqw;background:#f0f2f4;display:flex;flex-direction:column;justify-content:space-between}
.mission h1{font-size:5.93824cqw;line-height:1.06;letter-spacing:-.11876cqw}
.mission p{width:77.3%;font-size:2.3753cqw;line-height:1.3;letter-spacing:-.0475cqw}
.team{display:grid;grid-template-columns:repeat(5,1fr);height:21.3777cqw}
.person{position:relative;overflow:hidden;outline-offset:-3px}.person img{object-fit:cover}.person figcaption{position:absolute;bottom:0;left:0;right:0;padding:.65cqw;background:#0009;color:white;font-size:1.1cqw;line-height:1.25;opacity:0;transition:opacity .5s}
.person:hover figcaption,.person:focus figcaption{opacity:1}
.contact{min-height:100vh;display:grid;grid-template-columns:274fr 568fr}
.contact-brand{background:var(--pink);position:relative;min-height:100vh;overflow:hidden}
.contact-brand img{position:absolute;width:165.7%;height:auto;left:-60.22%;top:50%;transform:translateY(-50%) rotate(-90deg)}
.contact-info{padding:4.6cqw 2.3753cqw;animation:contact-copy-in .5s ease-out both}
.contact-brand{z-index:1;animation:contact-panel-in .5s ease-out both}
.home-intro p{animation:intro-in .5s ease-out both}
@keyframes contact-panel-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes contact-copy-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes intro-in{from{opacity:0}to{opacity:1}}
.contact-info h1,.contact-info h2{font-size:2.13777cqw;line-height:1.3;letter-spacing:-.0356cqw}
.contact-info a{display:block;color:var(--blue);font-size:4.75059cqw;line-height:1;letter-spacing:-.0356cqw;overflow-wrap:anywhere}
.contact-info a:hover{color:#003de5}
.contact-info section+section{margin-top:4.2cqw}.contact-info section:last-child{margin-top:6cqw}.contact-info section:last-child a{margin-top:1.3cqw}
.motion-paused .marquee span{animation-play-state:paused!important}
.motion-paused .contact-brand,.motion-paused .contact-info,.motion-paused .home-intro p{animation:none!important}
@media(min-width:1800px){.rail{padding-top:20px}}
@media(max-width:700px){
:root{--rail:0%}
.rail{position:sticky;top:0;width:100%;height:58px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}
.mobile-brand{display:block;order:1;font-size:22px;letter-spacing:-.05em}
.menu-toggle{display:block;order:3;background:none;border:0;padding:10px 0;font-size:18px;letter-spacing:-.04em}
.rail nav{display:none;position:absolute;top:58px;left:0;right:0;padding:18px 20px 28px;background:var(--orange);font-size:32px;line-height:1.45;letter-spacing:-.045em}
.rail.open nav{display:flex}.rail nav a:first-child{display:none}
.motion-control{position:static;order:2;margin-left:auto;margin-right:22px;opacity:1;font-size:15px}
main{margin-left:0;width:100%;min-height:calc(100vh - 58px)}
.home-hero{aspect-ratio:1080/1920}
.video-desktop{display:none}.video-mobile{display:block}
.home-intro{height:auto;min-height:100cqw;padding:7.5cqw 6.25cqw;background:var(--pink);font-size:9cqw;line-height:1.09375;letter-spacing:-.09cqw}
.home-intro p{max-width:none}
.photo-field{height:97.3872cqw}
.marquee{height:22cqw;font-size:9.4cqw;letter-spacing:-.2cqw;background:var(--orange)}
.home-finale{height:62cqw}.logo-link{width:58%;left:21%}
.home-footer{height:auto;min-height:130px;padding:6.25cqw;display:flex;flex-direction:column;gap:12px;font-size:4.2cqw}
.home-footer a,.home-footer .copyright{text-align:left}
.logo-strip{height:24cqw;padding:4cqw}
.about-media{height:60cqw;grid-template-columns:25fr 75fr}
.about-intro{height:auto;padding:8cqw 6.25cqw;font-size:6.8cqw;line-height:1.25;letter-spacing:-.1cqw}
.services{height:auto;grid-template-columns:1fr 1fr}
.services>.slideshow{height:80cqw;grid-column:1/-1}
.service{padding:6cqw 4cqw;overflow:visible;min-height:110cqw}
.service h2{font-size:5.7cqw;line-height:1.05;letter-spacing:-.15cqw;min-height:20cqw}
.service p{font-size:4.6cqw;line-height:1.4;letter-spacing:-.08cqw}
.mission{height:auto;min-height:125cqw;padding:8cqw 6.25cqw;gap:24cqw}
.mission h1{font-size:10.8cqw;letter-spacing:-.25cqw}
.mission p{width:100%;font-size:5.5cqw;line-height:1.3;letter-spacing:-.08cqw}
.team{height:auto;grid-template-columns:repeat(2,1fr)}
.person{aspect-ratio:168/210}.person:last-child{grid-column:1/-1;aspect-ratio:336/210}.person:last-child img{object-position:center 28%}
.person figcaption{opacity:1;font-size:3.3cqw;padding:2cqw}
.contact{display:flex;flex-direction:column;min-height:calc(100vh - 58px)}
.contact-brand{min-height:0;height:32cqw;padding:6.25cqw}
.contact-brand img{position:static;transform:none;width:100%;height:100%;object-fit:contain}
.contact-info{padding:8cqw 6.25cqw 18cqw}
.contact-info h1,.contact-info h2{font-size:4.8cqw;line-height:1.3;letter-spacing:-.08cqw}
.contact-info a{font-size:8.2cqw;line-height:1.08;letter-spacing:-.15cqw}
.contact-info section+section,.contact-info section:last-child{margin-top:10cqw}
.contact-info section:last-child a{margin-top:2cqw}
}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;scroll-behavior:auto!important}.photo,.crowd{transform:none!important}.person figcaption{transition:none}}

