@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Lora:wght@400;600&family=Oswald:wght@600&display=swap');
:root{--ink:#3c3c3c;--muted:#666;--panel:#eaeaea;--pink:#f044de;--red:#af231e;--width:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ad139e;outline-offset:6px}img{max-width:100%}.header{max-width:var(--width);margin:auto;min-height:160px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:16px;font-size:24px;font-weight:300;letter-spacing:-.8px}.brand img{object-fit:contain}.brand b{font-weight:600}nav{display:flex;gap:48px;font-size:15px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero{padding:102px 24px 0;text-align:center}.hero h1{font-size:48px;line-height:1.25;font-weight:300;letter-spacing:-1.2px;max-width:760px;margin:0 auto}.hero strong{position:relative;font-weight:600;white-space:nowrap}.underline{position:absolute;left:0;bottom:-5px;width:100%;height:7px}.actions{display:flex;gap:15px;justify-content:center;margin-top:48px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 32px;border:1px solid #222;border-radius:28px;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#eee}.primary{background:#505050;color:#fff;border-color:#505050}.primary:hover{background:#222}.intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:937px;margin:108px auto 148px;text-align:center;font-family:Lora,Georgia,serif}.intro p{margin:0;padding:12px 24px}.intro p+p{border-left:1px solid #ccc}.work{background:var(--panel);padding:88px max(24px,calc((100vw - 1303px)/2)) 93px}.work-inner{background:#fff;border-radius:30px;padding:71px clamp(24px,6.5vw,93px) 100px}.eyebrow{font-family:monospace;text-transform:uppercase;letter-spacing:1.4px;font-size:14px;margin:0 0 4px}h2{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:600;text-transform:uppercase;font-size:32px;line-height:1.4;margin:0 0 60px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 31px}.project{position:relative;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:20px;aspect-ratio:353/324;overflow:hidden}.asset{position:relative;width:min(var(--asset-w),90%);aspect-ratio:var(--ratio,auto);height:var(--asset-h);max-height:80%;overflow:hidden;display:flex;align-items:center;justify-content:center}.asset img{width:100%;height:100%;object-fit:contain}.allianz img{position:absolute;width:118.32%;max-width:none;height:214.48%;top:-53.03%;left:-9.06%}.berry img{position:absolute;width:100%;height:167.13%;top:-34.46%;left:-.54%}.rated img{position:absolute;width:92.34%;height:100.28%;top:-.19%;left:3.85%}.lottery img{position:absolute;width:142.4%;max-width:none;height:120.91%;top:-17.27%;left:-21.2%}.gas img{position:absolute;width:100%;height:146.39%;top:-21.99%;left:.04%}.defra img{position:absolute;width:192.33%;max-width:none;height:194.24%;top:-45.61%;left:-46.21%}.case-link{position:absolute;bottom:18px;font-size:14px;border-bottom:1px solid;opacity:0;transition:opacity .2s}a.project:hover .case-link,a.project:focus-visible .case-link{opacity:1}a.project{transition:box-shadow .2s}a.project:hover{box-shadow:0 0 0 2px #af231e inset}.contact{max-width:var(--width);margin:auto;padding:96px 24px;text-align:center}.contact h2{margin:8px 0 20px}.contact a{display:block;width:fit-content;margin:12px auto}.contact .email{font-size:clamp(22px,4vw,36px);letter-spacing:-1px;text-decoration:underline;text-underline-offset:8px}footer{border-top:1px solid #ccc;display:flex;align-items:center;flex-direction:column;gap:14px;padding:28px 24px;color:#111;font:13px Lora,Georgia,serif}footer p{margin:0}.skip{position:absolute;top:-100px;left:24px;padding:12px;background:#111;color:#fff;z-index:9}.skip:focus{top:12px}.case-hero{background:#000;color:#fff;display:grid;grid-template-columns:469fr 602fr;align-items:center;gap:80px;padding:52px max(40px,calc((100vw - 1280px)/2)) 0;min-height:663px}.case-heading h1{font-size:48px;letter-spacing:-1.4px;line-height:1.2;margin:16px 0 24px}.case-heading>p:last-child{font-size:24px;line-height:1.5}.case-image{width:100%;height:auto;align-self:end;object-fit:contain}.highlights{padding:64px 24px}.highlights h2{text-align:center;margin-bottom:40px}.highlights dl{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--width);margin:0 auto}.highlights dl>div{text-align:center;padding:16px 24px}.highlights dl>div+div{border-left:1px solid #ccc}.highlights dt{font-family:Oswald,sans-serif;text-transform:uppercase;margin:20px 0 6px}.highlights dd{margin:0;font:20px Lora,Georgia,serif}.case-layout{max-width:1120px;margin:24px auto;display:grid;grid-template-columns:200px minmax(0,640px);gap:80px}.contents{display:flex;flex-direction:column;gap:14px;position:sticky;top:32px;align-self:start;font-size:14px}.contents .eyebrow{font-size:12px;color:#666;margin-bottom:10px}.story{padding:32px 0 48px;scroll-margin-top:24px}.story h2{color:var(--red);margin:0 0 32px}.story p{font:20px/1.65 Lora,Georgia,serif;margin:0 0 28px}.story p strong{font-weight:600}.back{text-align:center;padding:32px 24px 80px}@media(max-width:1200px){.header{padding:32px 40px}.project-grid{gap:24px}.asset{max-width:76%;max-height:72%}.case-layout{padding:0 40px;gap:48px;grid-template-columns:180px minmax(0,640px)}}@media(max-width:800px){.header{min-height:120px;padding:24px;flex-wrap:wrap}.brand{font-size:22px}.brand img{width:48px;height:48px}nav{gap:24px}.hero{padding-top:72px}.hero h1{font-size:38px}.intro{margin:80px 24px 96px;gap:16px}.work{padding:40px 20px}.work-inner{padding:40px 24px 60px}.work h2{font-size:28px;margin-bottom:32px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case-hero{gap:32px;padding:40px 24px 0;min-height:0}.case-heading h1{font-size:38px}.case-heading>p:last-child{font-size:18px}.highlights dl{grid-template-columns:repeat(2,1fr);gap:32px}.highlights dl>div:nth-child(3){border-left:0}.case-layout{display:block;padding:0 24px}.contents{position:static;flex-direction:row;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid #ccc}.contents .eyebrow{width:100%}.story{max-width:640px;margin:auto}.story p{font-size:18px}}@media(max-width:520px){.header{justify-content:center;gap:20px}.header nav{width:100%;justify-content:space-between;gap:12px}.hero{padding-top:56px}.hero h1{font-size:32px;letter-spacing:-.8px}.desktop-break{display:none}.actions{margin-top:36px;gap:12px}.button{padding:10px 22px}.intro{grid-template-columns:1fr;margin:64px 24px 72px;gap:24px}.intro p+p{border-left:0;border-top:1px solid #ccc;padding-top:28px}.work{padding:24px 12px}.work-inner{padding:32px 20px 44px;border-radius:20px}.project-grid{grid-template-columns:1fr}.project{max-height:320px}.asset{max-width:90%;max-height:80%}.case-link{opacity:1}.contact{padding:64px 20px}.case-hero{grid-template-columns:1fr;padding-top:48px;gap:24px}.case-heading>p:last-child{font-size:20px}.case-heading h1{font-size:42px}.case-image{max-width:420px;margin:auto}.highlights{padding:48px 16px}.highlights dd{font-size:16px}.highlights dl>div{padding:12px}.story h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.asset{height:auto;aspect-ratio:var(--ratio);max-height:none}
.wpp-case{--red:#2d3033}.wpp-case .case-hero{background:#1b1e22}.wpp-case .case-heading>p:last-child{font-size:14px;line-height:1.55;color:#bec1c6;font-style:italic}.wpp-hero-image{align-self:end;aspect-ratio:582/599;overflow:hidden}.wpp-hero-image img{display:block;width:100%;height:auto}.wpp-layout{max-width:1120px;margin:24px auto;display:grid;grid-template-columns:200px minmax(0,840px);gap:64px}.wpp-layout .story{max-width:640px;margin:auto}.story h3{font:600 22px/1.5 'DM Sans',sans-serif;margin:30px 0 14px}.story ul,.story ol{font:18px/1.65 Lora,Georgia,serif;padding-left:24px}.story li{margin:12px 0}.wpp-figures{background:#eaecf0;padding:28px;margin:0 0 48px}.wpp-figures figure,.wpp-gallery figure{margin:0}.wpp-figures img,.wpp-gallery img{display:block;width:100%;height:auto}.wpp-figures figcaption,.wpp-gallery figcaption{font-size:14px;margin-top:12px;color:#555}.wpp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:#e2e2e2;padding:24px;margin-bottom:48px}.wpp-insights{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#eaecf0;padding:24px;margin-bottom:48px}.wpp-insights>div{padding:24px;border:1px solid #bcc3d3;background:#fff}.wpp-insights h3{font-size:18px;line-height:1.4;margin:12px 0 20px;color:#12214d}.wpp-insights p{font-size:16px;line-height:1.6;margin:0}.wpp-insights>div:last-child{grid-column:1/-1}@media(max-width:1200px){.wpp-layout{padding:0 40px;grid-template-columns:180px minmax(0,1fr);gap:48px}}@media(max-width:800px){.wpp-layout{display:block;padding:0 24px}.wpp-layout .contents{margin-bottom:24px}.wpp-insights{grid-template-columns:1fr}.wpp-gallery{gap:16px;padding:16px}.wpp-figures{padding:16px}}@media(max-width:520px){.wpp-gallery{grid-template-columns:1fr}.wpp-case .case-hero{grid-template-columns:1fr}.wpp-hero-image{width:100%}.wpp-insights{padding:16px}.wpp-insights>div{padding:20px}}
.migrated-case{--red:#2d3033}.migration-body{max-width:1060px;padding:0 24px;margin:auto}.migration-body .story{max-width:640px;margin:auto}.migration-body>p,.migration-body>h3{max-width:640px;margin:28px auto}.migration-body p{font:20px/1.65 Lora,Georgia,serif}.migration-body h3{font:600 22px/1.4 'DM Sans',sans-serif}.migration-media{margin:32px 0;min-width:0}.migration-media .migration-media{margin:0}.migration-media figure{margin:24px auto;max-width:100%}.migration-media img{display:block;max-width:100%;height:auto;margin:auto}.migration-media>p,.migration-media>h3{font-family:'DM Sans',sans-serif}.migration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.migration-grid .migration-grid{display:block}.migration-hero-art figure{margin:0}.migration-hero-art img{display:block;max-width:100%;height:auto}.migration-hero-art{min-width:0;align-self:end}.migration-note{font-size:14px!important;color:#c4c7cd;font-style:italic}.light-hero{color:#222}.light-hero .migration-note{color:#555}.migration-body table{border-collapse:collapse;width:100%;font-size:16px;overflow-wrap:anywhere}.migration-body th,.migration-body td{padding:12px;border:1px solid #ddd;text-align:left}.migration-body ul,.migration-body ol{font:18px/1.65 Lora,Georgia,serif;max-width:640px;margin:24px auto;padding-left:24px}.migration-body li{margin:12px 0}.migration-about{max-width:680px;padding:64px 24px 96px;margin:auto}.migration-about h1{font-size:40px;margin:8px 0 32px}.migration-about p:not(.eyebrow){font:20px/1.65 Lora,Georgia,serif;margin:24px 0}@media(max-width:800px){.migration-body p{font-size:18px}.migration-body{padding:0 24px}.migration-grid{grid-template-columns:1fr}.migration-about p:not(.eyebrow){font-size:18px}}@media(max-width:520px){.migration-hero-art{width:100%}.migration-body table{font-size:14px}.migration-body td,.migration-body th{padding:8px}}
/* Reference-inspired portfolio layout, retaining the existing palette. */
.header{min-height:76px;max-width:1120px;margin:24px auto 0;padding:14px 20px;display:grid;grid-template-columns:1fr auto 1fr;border:1px solid #dedede;border-radius:18px;gap:24px;background:#fff}.header nav{gap:24px;font-size:14px}.brand{font-size:15px;font-weight:500;letter-spacing:-.3px;gap:10px}.monogram{font-size:30px;font-weight:700;line-height:1;letter-spacing:-3px}.monogram>span,.accent{color:var(--pink)}.nav-contact{justify-self:end;padding:10px 22px;border-radius:10px;background:var(--ink);color:white;font-size:14px;font-weight:600}.home-hero{max-width:1120px;margin:auto;text-align:left;padding:100px 24px 80px}.home-hero h1{max-width:none;margin:0;font-size:clamp(40px,5.1vw,68px);font-weight:400;line-height:1.15;letter-spacing:-2px}.home-hero h1>span{display:block}.home-hero .greeting{font-size:.68em;margin-bottom:20px;font-weight:500;letter-spacing:-1.5px}.hero-symbol{font-size:.85em;margin-left:20px;color:var(--pink);display:inline-block;vertical-align:middle}.hero-bottom{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.hero-bottom p{margin:0;font-size:18px}.text-link,.row-link{font-size:15px;text-decoration:underline;text-underline-offset:6px}.brand-strip{background:#f4f4f4;border-block:1px solid #e5e5e5;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding:30px max(24px,calc((100vw - 1072px)/2));font-size:23px;font-weight:600;letter-spacing:-.8px}.home-work{background:#fff;padding:72px 24px 30px}.home-work .work-inner{max-width:1072px;margin:auto;padding:0;background:none;border-radius:0}.work-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px}.work-heading h2{font-family:'DM Sans',sans-serif;text-transform:none;font-size:24px;margin:0}.project-rows{display:grid;gap:36px}.project-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:48px;border-radius:24px;min-height:390px;background:var(--panel);overflow:hidden;transition:box-shadow .2s}.project-row:hover{box-shadow:0 0 0 2px var(--pink)}.project-copy{align-self:center;min-width:0}.project-index{font:14px monospace;color:#666;margin:0 0 28px}.project-tags{font-size:13px!important;color:#555;margin:0 0 18px!important;letter-spacing:.2px}.project-copy h3{font-size:32px;font-weight:500;letter-spacing:-1px;line-height:1.2;margin:0 0 18px}.project-copy>p{font-size:16px;line-height:1.55;max-width:360px}.row-link{display:inline-block;margin-top:20px}.project-art{min-width:0;align-self:center;display:flex;align-items:center;justify-content:center;height:300px}.project-art img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}.project-art.bbr img{max-height:300px}.project-art.google img,.project-art.rated-people img{max-width:75%;height:auto}.aqua-note{font-size:14px;color:#666;margin:28px 0 0}.resume-page{max-width:760px;margin:auto;padding:96px 24px 120px;min-height:65vh}.resume-page h1{font-size:56px;line-height:1.15;font-weight:500;letter-spacing:-2px;margin:16px 0 24px}.resume-page form{margin-top:36px}.resume-page label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.password-field{display:flex;gap:12px;flex-wrap:wrap}.password-field input{font:inherit;padding:12px 16px;border:1px solid #aaa;border-radius:10px;flex:1;min-width:150px}.resume-page .button{cursor:pointer;font-family:inherit}.resume-help{font-size:14px;color:#666;margin-top:36px}.resume-help a{text-decoration:underline}#resume-status{min-height:24px;font-size:14px}#resume-unlocked .button{margin:8px 8px 8px 0}@media(max-width:1180px){.header{margin:24px}}@media(max-width:700px){.header{margin:16px;grid-template-columns:1fr auto;gap:18px;padding:16px}.header .brand{grid-column:1;grid-row:1;justify-self:start}.nav-contact{grid-column:2;grid-row:1}.header nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:26px;width:auto}.home-hero{padding:64px 24px 56px}.home-hero h1{font-size:clamp(32px,7.5vw,50px);letter-spacing:-1.2px}.home-hero .greeting{font-size:.72em;letter-spacing:-.8px}.hero-symbol{margin-left:12px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:14px;margin-top:24px}.hero-bottom p{font-size:16px}.brand-strip{justify-content:flex-start;font-size:19px;gap:18px 28px;padding:24px}.home-work{padding:48px 20px 20px}.project-row{grid-template-columns:1fr;gap:24px;padding:28px;min-height:0;border-radius:20px}.project-copy h3{font-size:28px}.project-copy>p{max-width:none}.project-index{margin-bottom:18px}.project-art{height:260px}.project-rows{gap:24px}.row-link{margin-top:10px}.resume-page{padding-top:64px}.resume-page h1{font-size:44px}}@media(max-width:380px){.brand{font-size:13px}.nav-contact{padding:9px 14px}.home-hero h1{font-size:30px}.hero-symbol{margin-left:8px}.project-row{padding:24px}.project-art{height:220px}}
@media(max-width:520px){.hero-symbol{display:none}}
/* Black and white landing page based on the supplied October reference. */
.landing-monochrome{background:#fff;color:#080808;--pink:#080808;--ink:#080808;--panel:#fff}.landing-monochrome .landing-header{display:flex;justify-content:space-between;align-items:center;max-width:1156px;border:0;border-radius:0;margin:0 auto;padding:30px 0;min-height:96px;gap:24px}.landing-header .brand{font-size:20px;font-weight:700;letter-spacing:-.3px;gap:12px}.landing-header .monogram{font-size:30px}.landing-header nav{gap:30px;font-size:16px}.landing-header nav a:first-child{font-weight:700}.landing-monochrome .home-hero{max-width:1156px;padding:72px 0 140px;margin:auto}.landing-monochrome .home-hero h1{font-size:clamp(36px,4vw,54px);font-weight:700;line-height:1.1;letter-spacing:-1.3px;max-width:930px;margin:0 0 26px}.hero-description{font-size:19px;line-height:1.5;max-width:780px;margin:0}.landing-monochrome .home-work{padding:48px 0 0;background:#fff}.landing-monochrome .work-inner{max-width:1156px;padding:0;margin:auto}.landing-monochrome .project-rows{gap:112px}.landing-monochrome .project-row{grid-template-columns:1.15fr .85fr;align-items:center;padding:0;gap:50px;border-radius:0;min-height:460px;background:#fff;overflow:visible}.landing-monochrome .project-row:hover{box-shadow:none}.landing-monochrome .project-art{height:460px}.landing-monochrome .project-art img{filter:grayscale(1);object-fit:contain;width:100%;height:100%;max-height:none}.landing-monochrome .project-art.google img,.landing-monochrome .project-art.rated-people img{width:75%;height:auto}.landing-monochrome .project-copy h2{font-family:'DM Sans',Arial,sans-serif;font-size:32px;line-height:1.2;letter-spacing:-.7px;font-weight:700;text-transform:none;margin:0 0 18px;max-width:460px}.landing-monochrome .project-copy>p{max-width:460px;font-size:16px;line-height:1.5;margin:0}.landing-monochrome .row-link{margin-top:22px;font-size:14px}.landing-monochrome .project-row:hover h2{text-decoration:underline;text-underline-offset:5px}.landing-monochrome .contact{margin-top:96px;border-top:1px solid #ddd}.landing-monochrome .contact h2{font-family:'DM Sans',sans-serif;text-transform:none;font-weight:700}.landing-monochrome .landing-footer{font-family:'DM Sans',sans-serif;border-top:1px solid #ddd;padding:32px 24px;gap:20px}.landing-footer nav{font-size:14px;gap:28px}.landing-monochrome a:focus-visible{outline-color:#000}@media(max-width:1230px){.landing-monochrome .landing-header,.landing-monochrome .home-hero,.landing-monochrome .work-inner{margin-left:40px;margin-right:40px}}@media(max-width:700px){.landing-monochrome .landing-header{margin:0 24px;padding:24px 0;min-height:82px;flex-wrap:wrap;gap:18px}.landing-header .brand{font-size:17px}.landing-header nav{gap:20px;font-size:14px}.landing-monochrome .home-hero{margin:0 24px;padding:56px 0 70px}.landing-monochrome .home-hero h1{font-size:36px;line-height:1.15;letter-spacing:-.8px}.hero-description{font-size:17px;line-height:1.55}.landing-monochrome .home-work{padding-top:20px}.landing-monochrome .work-inner{margin:0 24px}.landing-monochrome .project-row{grid-template-columns:1fr;gap:28px;min-height:0;padding:0}.landing-monochrome .project-art{height:350px}.landing-monochrome .project-copy h2{font-size:28px}.landing-monochrome .project-rows{gap:72px}.landing-monochrome .contact{margin-top:72px}}@media(max-width:400px){.landing-monochrome .landing-header{gap:14px}.landing-header nav{gap:16px}.landing-monochrome .home-hero h1{font-size:32px}.landing-monochrome .project-art{height:300px}}
