@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{--paper:#f5f2e9;--ink:#26372d;--coral:#f28e6c;--lime:#dcef9c;--violet:#b89be8;--accent:#ed754e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.065em;line-height:1.05}h1{font-size:clamp(55px,6.7vw,106px)}h2{font-size:clamp(40px,5.3vw,80px)}h3{font-size:30px}p{line-height:1.7}em{font-style:normal;color:#8b5bab}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8252b7;outline-offset:5px}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:#fff;padding:15px}.skip:focus{top:15px}.nav{height:100px;padding:0 4%;display:flex;align-items:center;gap:3%;position:relative;z-index:20;border-bottom:1px solid #2d45301c;background:var(--paper)}.brand{display:flex;align-items:baseline;white-space:nowrap;font-size:25px;letter-spacing:-1.5px;text-decoration:none;font-weight:500}.brand b{font-size:30px}.brand small{font-size:15px;letter-spacing:-.7px}.brand i{font-style:normal;color:#e78864;margin-left:13px;font-size:28px}.nav>nav{display:flex;gap:30px;align-items:center;margin-left:auto;font-size:13px}.nav a:not(.button){text-decoration:none}.nav summary{cursor:pointer;list-style:none}.nav summary:after{content:' +';padding-left:10px}.mega{position:absolute;left:4%;right:4%;top:90px;background:#e9e2f2;padding:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-radius:0 0 25px 25px;box-shadow:0 20px 35px #26372d15}.mega a{font-size:21px;font-weight:600;padding:15px;border-left:1px solid #293c2f30}.mega span{display:block;font-size:12px;font-weight:400;margin-top:12px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fffdf4;border:0;border-radius:50px;text-decoration:none;padding:21px 28px;font-size:14px;font-weight:500;gap:20px;transition:transform .4s cubic-bezier(.2,1.7,.4,1),box-shadow .4s}.button:hover{transform:translateY(-4px) rotate(-2deg);box-shadow:0 8px 0 #e7bfa5}.button.small{padding:15px 22px;font-size:12px;white-space:nowrap}.menu-toggle{display:none}.hero{min-height:850px;height:calc(100svh - 100px);max-height:1120px;position:relative;display:grid;grid-template-columns:56% 44%;align-items:center;padding:70px 6% 100px;overflow:clip}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.7;text-transform:uppercase}.hero h1{margin:28px 0;max-width:840px}.nope{color:#7d8779;text-decoration:line-through;text-decoration-color:#e9896a;text-decoration-thickness:3px}.hero em{color:#c56d4c}.hero .lead{font-size:19px;line-height:1.7;max-width:580px;margin:30px 0}.text-link{font-size:13px;text-underline-offset:6px;display:inline-block;margin:20px 0}.hero .text-link{display:block;width:max-content;margin:25px 0}.hero-art{position:absolute;left:49%;right:-10%;top:12%;height:77%;transform:perspective(1600px) rotateY(-12deg) rotateZ(3deg);transform-origin:center}.hero-art svg{width:100%;height:100%;overflow:visible}.hero-art text,.pillar-art text{font-family:Manrope,Arial,sans-serif;font-size:15px;letter-spacing:.04em;fill:#304036;font-weight:700}.art-note{position:absolute;bottom:7%;left:35%;font-size:10px;letter-spacing:.18em;transform:rotate(-5deg)}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #26372d30;padding-top:22px;font-size:9px;letter-spacing:.12em}.bop{animation:bop 6s ease-in-out infinite;transform-origin:400px 300px}.float-chip{animation:bop 8s ease-in-out infinite reverse;transform-origin:center}.ribbons{animation:ribbon 12s ease-in-out infinite;transform-origin:center}.marquee{overflow:hidden;background:var(--lime);padding:24px 0;transform:rotate(-2deg) scale(1.02);border-block:1px solid #314d2922}.marquee span{display:block;white-space:nowrap;font-size:clamp(22px,3vw,42px);font-weight:500;letter-spacing:-1px;animation:marquee 28s linear infinite;width:max-content}.manifesto{padding:130px 8%;max-width:1350px;margin:auto}.manifesto h2{margin:30px 0;max-width:1100px}.manifesto>p:last-child{font-size:21px;max-width:760px;color:#657263}.pillar{height:165svh;background:#eee8dc;position:relative}.pillar:nth-of-type(even){background:#e9e4f1}.pillar-pin{position:sticky;top:0;height:100svh;min-height:750px;overflow:clip;display:grid;grid-template-columns:56% 44%;align-items:center;padding:50px 6% 100px}.pillar-art{margin-left:-15%;width:115%;transform:perspective(1200px) rotateY(calc(10deg - var(--scroll,0)*20deg)) rotateZ(calc(-3deg + var(--scroll,0)*6deg)) scale(calc(.85 + var(--scroll,0)*.15));filter:drop-shadow(0 40px 30px #5e4e3520)}.pillar-art svg{width:100%;max-height:720px;overflow:visible}.pillar-copy{position:relative;z-index:2}.pillar-copy h2{font-size:clamp(40px,4.8vw,73px);margin:25px 0}.pillar-copy p:not(.eyebrow){font-size:18px;max-width:500px;color:#586656}.pillar-copy ul{list-style:none;padding:0;margin:25px 0 35px}.pillar-copy li{padding:12px 0;border-bottom:1px solid #26372d25;font-size:14px}.pillar-copy li:before{content:'↗';margin-right:16px;color:var(--accent)}.pillar-progress{position:absolute;bottom:25px;left:6%;right:6%;border-top:1px solid #26372d30;padding-top:15px;font-size:9px;letter-spacing:.13em}.pillar-progress i{position:absolute;top:-2px;left:0;height:3px;background:var(--accent);width:calc(var(--scroll,0)*100%)}.anti-autopilot{background:#293c31;color:#f4f4e8;padding:120px 8%;overflow:clip}.anti-autopilot h2{max-width:1100px}.anti-autopilot em{color:#d9ec9d}.contrast{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;margin-top:70px}.contrast>div{border-top:1px solid #e2edc348;padding:30px 0;transform:perspective(1300px) rotateY(-3deg)}.contrast>div:last-child{transform:perspective(1300px) rotateY(3deg)}.contrast span{font-size:10px;letter-spacing:.16em;color:#c2d599}.contrast p{font-size:28px;line-height:1.6;max-width:560px}.contrast a{color:#d6eaa6;text-underline-offset:7px}.fine{font-size:13px;color:#b5c2af;max-width:780px;margin-top:40px}.audiences{padding:120px 8%}.audiences h2{max-width:950px}.audience-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0 7%;margin-top:60px}.audience-links a{padding:35px 0;border-top:1px solid #26372d40;text-decoration:none;position:relative;transition:padding .3s}.audience-links a:hover{padding-left:15px}.audience-links b{font-size:26px;font-weight:500;display:block;margin-bottom:15px;letter-spacing:-1px}.audience-links span{font-size:15px;color:#64725f}.audience-links i{position:absolute;right:0;top:40px;font-size:25px;font-style:normal}.big-cta{padding:120px 8%;background:#eadcf5;position:relative;overflow:clip;min-height:700px}.big-cta h2{font-size:clamp(65px,8.7vw,140px);position:relative;z-index:2;margin:35px 0}.big-cta h2 em{color:#9b67b2}.big-cta p{font-size:18px;position:relative;z-index:2}.big-cta .button{position:relative;z-index:2;margin-top:25px}.sticker{display:inline-block;padding:16px 25px;border:1px solid #31462e;border-radius:50%;font-size:10px;transform:rotate(-9deg)}.cta-flower{position:absolute;right:0;top:10%;font-size:530px;line-height:1;color:#c7b1e2;text-shadow:12px 16px 0 #b5a0d0;animation:flower 35s linear infinite;transform-origin:center;opacity:.65}footer{padding:70px 6% 30px;background:#e5edca}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:50px;border-bottom:1px solid #26372d25}.footer-top p{font-size:26px;line-height:1.3;letter-spacing:-1px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:55px 0}.footer-links b{font-size:10px;letter-spacing:.15em;display:block;margin-bottom:25px}.footer-links a{display:block;text-decoration:none;font-size:14px;margin:15px 0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #26372d25;padding-top:25px;font-size:10px}.motion-toggle{background:none;border:0;padding:0;color:inherit;font-size:10px}.service-hero h1{font-size:clamp(50px,6.4vw,95px)}.service-hero .hero-copy{max-width:660px}.service-hero .hero-art{left:50%;top:15%;right:-8%}.story-row{padding:85px 8%;display:grid;grid-template-columns:.55fr 1.5fr .25fr;gap:8%;position:relative;border-top:1px solid #26372d25;overflow:clip}.story-number{font:clamp(85px,12vw,180px)/1 Manrope,sans-serif;letter-spacing:-.08em;color:var(--accent,#8b5bab);transform:perspective(900px) rotateY(-18deg);text-shadow:6px 6px 0 #d9d6cc}.story-number span{display:block;font-size:45px;text-shadow:none;margin-top:15px}.story-row h2{font-size:clamp(35px,4vw,60px);margin:5px 0 25px}.story-row p{font-size:19px;line-height:1.8;color:#5e6c5a;max-width:750px}.story-trail{display:flex;flex-direction:column;gap:20px;padding-top:30px}.story-trail i{width:25px;height:25px;border-radius:50%;background:var(--accent);box-shadow:4px 6px 0 #cfc8be;animation:bop 3s infinite}.story-trail i:nth-child(2){animation-delay:-1s}.story-trail i:nth-child(3){animation-delay:-2s}.deliver{padding:100px 8%;background:#e9e4f0}.deliver>div{display:grid;grid-template-columns:1fr 1fr;gap:60px 8%;margin-top:70px}.deliver article{border-top:1px solid #26372d45;padding-top:25px}.deliver article span{font-size:12px;color:#8b5bab}.deliver h3{font-size:32px;margin:20px 0}.deliver p{color:#5e675e;line-height:1.8;font-size:17px}.measure{padding:100px 8%;background:#dce9bd}.measure h2{font-size:clamp(32px,4.5vw,62px);line-height:1.25;max-width:1100px}.measure p{max-width:780px;font-size:18px;color:#52634e}.measure a{display:inline-block;font-size:12px;margin-top:25px;text-underline-offset:5px}.text-hero{padding:100px 8%}.text-hero h1{max-width:1150px;margin:35px 0}.text-hero>p:not(.eyebrow){max-width:830px;font-size:21px;color:#5b6b57}.business-section{padding:85px 8%;border-top:1px solid #26372d30;scroll-margin-top:30px}.business-section:nth-child(even){background:#ebe2f1}.business-section h2{max-width:900px}.business-section>p{max-width:800px;font-size:20px;color:#5f6e59}.business-flow{font-size:clamp(23px,3vw,38px);line-height:1.7;margin:45px 0;padding:30px;border:1px solid #26372d35;border-radius:25px;background:#fff9;transform:perspective(1200px) rotateX(4deg);box-shadow:6px 9px 0 #26372d12}.business-section ul{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px;padding-left:20px;font-size:16px;line-height:1.7}.field-note{margin:0 8%;padding:60px 0;border-top:1px solid #26372d30}.field-note h2{font-size:42px;max-width:850px}.field-note p{max-width:800px;font-size:19px;color:#5f6e59}.field-note a{font-size:13px;text-underline-offset:5px}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@keyframes bop{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(2deg)}}@keyframes ribbon{50%{transform:scale(1.04) rotate(-3deg)}}@keyframes flower{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-25%)}}
@media(max-width:1050px){.nav>nav{gap:17px;font-size:11px}.brand{font-size:21px}.hero{min-height:780px}.hero .lead{font-size:17px}.pillar-copy p:not(.eyebrow){font-size:16px}.nav .brand i{display:none}}
@media(max-width:760px){.nav{height:78px;padding:0 6%;gap:15px}.brand{font-size:21px}.brand small{font-size:12px}.brand b{font-size:26px}.nav>.button{margin-left:auto;padding:12px 15px;font-size:10px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:11px;padding:12px 0}.nav>nav{display:none;position:absolute;top:78px;left:0;right:0;background:#eee6f2;padding:25px 7%;font-size:16px;box-shadow:0 25px 35px #26372d15}.nav>nav.open{display:grid;gap:25px}.mega{position:static;display:grid;grid-template-columns:1fr 1fr;padding:15px 0;box-shadow:none;gap:20px;background:none}.mega a{font-size:16px;padding:10px}.mega span{font-size:10px;line-height:1.6}.hero{height:auto;min-height:0;max-height:none;display:block;padding:55px 7% 75px;overflow:clip}.hero h1{font-size:clamp(46px,9vw,68px);margin:22px 0}.hero .lead{font-size:16px;line-height:1.6}.hero-copy{max-width:600px}.hero-art,.service-hero .hero-art{position:relative;inset:auto;width:118%;margin:10px -9% 0;height:310px;transform:perspective(1000px) rotateY(-9deg)}.hero-bottom{bottom:18px;font-size:6px;gap:15px;line-height:1.6;padding-top:15px}.hero-art .art-note{font-size:7px;bottom:0}.hero .text-link{margin:20px 0 0}.eyebrow{font-size:9px}.button{padding:17px 23px;font-size:13px}.marquee{padding:16px 0}.manifesto{padding:70px 7%}.manifesto h2{font-size:39px}.manifesto>p:last-child{font-size:17px}.pillar{height:140svh}.pillar-pin{min-height:760px;padding:40px 7% 65px;display:flex;flex-direction:column;justify-content:center;gap:5px}.pillar-art{width:110%;height:290px;margin:-15px -5% 0;flex:0 0 290px}.pillar-art svg{height:100%;width:100%}.pillar-copy{width:100%}.pillar-copy h2{font-size:38px;margin:15px 0}.pillar-copy p:not(.eyebrow){font-size:14px;line-height:1.7}.pillar-copy ul{margin:15px 0 22px}.pillar-copy li{font-size:12px;padding:8px 0}.pillar-progress{font-size:7px;bottom:18px}.anti-autopilot,.audiences{padding:70px 7%}.anti-autopilot h2,.audiences h2{font-size:39px}.contrast{grid-template-columns:1fr;gap:15px;margin-top:35px}.contrast p{font-size:23px}.contrast>div{transform:none!important}.audience-links{grid-template-columns:1fr;margin-top:30px}.audience-links b{font-size:25px}.audience-links span{font-size:13px}.big-cta{padding:75px 7%;min-height:630px}.big-cta h2{font-size:65px}.big-cta p{font-size:15px;max-width:340px}.cta-flower{font-size:300px;right:-100px;top:5%;opacity:.45}.sticker{font-size:8px;padding:12px 18px}footer{padding:50px 7% 25px}.footer-top{display:grid;gap:20px}.footer-top p{font-size:24px;margin:0}.footer-top .button{width:max-content}.footer-links{grid-template-columns:1fr 1fr;gap:30px 20px;padding:35px 0}.footer-links a{font-size:12px;line-height:1.6}.footer-bottom{flex-wrap:wrap;font-size:9px}.service-hero h1{font-size:49px}.story-row{padding:50px 7%;grid-template-columns:1fr;gap:25px}.story-number{font-size:80px;transform:none}.story-number span{display:inline;font-size:32px;margin-left:20px}.story-row h2{font-size:35px}.story-row p{font-size:16px}.story-trail{display:none}.deliver,.measure{padding:65px 7%}.deliver h2{font-size:38px}.deliver>div{grid-template-columns:1fr;gap:30px;margin-top:35px}.deliver h3{font-size:29px}.deliver p{font-size:15px}.measure h2{font-size:32px}.measure p{font-size:16px}.text-hero{padding:60px 7%}.text-hero h1{font-size:48px}.text-hero>p:not(.eyebrow){font-size:17px}.business-section{padding:55px 7%}.business-section h2{font-size:39px}.business-section>p{font-size:17px}.business-flow{padding:22px;font-size:23px;margin:30px 0}.business-section ul{grid-template-columns:1fr;gap:12px;font-size:15px}.field-note{padding:40px 0}.field-note h2{font-size:32px}.field-note p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.pillar{height:auto}.pillar-pin{position:relative;height:auto;min-height:0;padding-block:60px}.pillar-art{transform:none!important}}

html,body{overflow-x:clip}.big-cta{overflow:clip}

/* The agency is a white canvas. Colour belongs to the growth diagrams and actions. */
:root{--paper:#fff;--ink:#17343f;--coral:#e56a3d;--lime:#d6eee5;--violet:#8055d6;--accent:#e56a3d}
html,body{background:#fff;color:var(--ink)}
.nav{background:#fff;border-bottom:1px solid #dbe5e8}
.mega{background:#fff;border:1px solid #dbe5e8;box-shadow:0 20px 45px #17343f12}
.button{background:#17343f;color:#fff;box-shadow:none}
.button:hover{box-shadow:0 8px 0 #d9e8ec}
.hero,.manifesto,.pillar,.pillar:nth-of-type(even),.anti-autopilot,.deliver,.measure,.business-section:nth-child(even),.big-cta,footer{background:#fff;color:var(--ink)}
.hero{background:radial-gradient(circle at 76% 50%,#edf7f8 0,#fff 44%)}
.hero-bottom,.pillar-progress{border-color:#dbe5e8}
.marquee{background:#f3faf9;border-color:#dbe5e8;transform:none}
.anti-autopilot{border-block:1px solid #dbe5e8}
.anti-autopilot em,.hero em,.big-cta h2 em{color:#167f70}
.anti-autopilot .contrast span{color:#3c6574}
.anti-autopilot .contrast a{color:#0b7863}
.anti-autopilot .fine{color:#51636d}
.anti-autopilot .contrast>div{border-color:#dbe5e8}
.pillar{border-block:1px solid #e5edef}
.pillar-copy p:not(.eyebrow),.story-row p,.manifesto>p:last-child{color:#51636d}
.business-flow{background:#fff;border-color:#dbe5e8;box-shadow:0 15px 35px #17343f0d;transform:none}
.story-trail i{box-shadow:none}
.big-cta{border-top:1px solid #dbe5e8;background:radial-gradient(circle at 90% 60%,#e8f6f1,#fff 48%)!important}
footer{border-top:1px solid #dbe5e8}
@media(max-width:760px){.nav>nav{background:#fff;border-bottom:1px solid #dbe5e8}}
@media(prefers-reduced-motion:reduce){.marquee span,.bop,.float-chip,.ribbons,.story-trail i{animation:none!important}}

/* A single editorial Glass Wave moment opens the home page.  The supplied
   photograph stays in the document while the optional local video warms up. */
.hero:has(> .hero-glass-wave){background:#fff;isolation:isolate}
.hero:has(> .hero-glass-wave) .hero-copy{max-width:690px}
.hero:has(> .hero-glass-wave) h1{font-size:clamp(54px,5.1vw,82px);max-width:760px;margin:16px 0}
.hero:has(> .hero-glass-wave) .lead{margin:20px 0}
.hero:has(> .hero-glass-wave) h1 em{color:#b45d44}
.hero-glass-wave{position:absolute;z-index:-1;inset:4% -2% 6% 52%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to right,transparent 13%,#000 35%,#000 100%)}
.hero-glass-wave img,.hero-glass-wave video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:43% center}
.hero-glass-wave video{opacity:0;transition:opacity .65s ease}
.hero-glass-wave.is-playing video{opacity:1}
.hero:has(> .hero-glass-wave) .hero-bottom{z-index:2}
@media(min-width:761px){.hero:has(> .hero-glass-wave){min-height:650px;height:calc(100svh - 100px);padding:24px 6% 62px}}
@media(max-width:1050px){.hero-glass-wave{inset:13% -10% 12% 51%}}
@media(max-width:760px){
  .hero:has(> .hero-glass-wave){padding-bottom:0}
  .hero-glass-wave{position:relative;z-index:0;inset:auto;width:116%;height:300px;margin:12px -8% 68px;mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%)}
  .hero-glass-wave img,.hero-glass-wave video{object-position:44% center}
  .hero:has(> .hero-glass-wave) .hero-bottom{bottom:15px}
}
@media(prefers-reduced-motion:reduce){.hero-glass-wave video{display:none}}
