:root{--ink:#292929;--blue:#1d7af1;--paper:#fff;--muted:#707070;--line:#c8c8c8;--gutter:7.7vw;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1d7af1;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}section{scroll-margin-top:100px}.section{padding:88px var(--gutter)}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.topbar{position:absolute;top:52px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:45px;width:610px;padding:10px 10px 10px 37px;border-radius:16px;background:linear-gradient(#535353,#292929 80%);color:#fff;box-shadow:0 1px 0 #ffffff25 inset}.wordmark{font-weight:800;letter-spacing:-4px;font-size:38px}.topbar nav{display:flex;gap:40px;margin-left:auto}.topbar nav a{font-size:21px;letter-spacing:-1px;transition:opacity .2s}.topbar nav a:hover{opacity:.7}.say-hi{display:flex;gap:8px;align-items:center;background:var(--blue);border-radius:12px;padding:15px 17px;font-size:21px;white-space:nowrap}.say-hi svg{width:23px;height:23px}.hero{min-height:904px;height:64.57vw;max-height:1100px;position:relative;overflow:hidden;display:grid;place-items:center;background:#f5fafc}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff99,#ffffffed 65%,#ffffffd9);pointer-events:none}.hero-content{position:relative;text-align:center;width:100%;padding:165px 12% 70px;z-index:2}.role{background:var(--blue);border-radius:40px;color:#fff;padding:10px 30px;display:inline-block;font-size:28px;letter-spacing:-1.5px;margin-bottom:38px}.hero h1{font-size:clamp(45px,5.55vw,90px);font-weight:700;letter-spacing:-.07em;line-height:1.17}.hero p{font-size:clamp(17px,1.5vw,24px);letter-spacing:-.055em;line-height:1.75;margin:36px auto 58px}.avatar-key{display:inline-flex;vertical-align:middle;position:relative;width:126px;height:68px;background:#292929;border-radius:15px;box-shadow:0 0 0 1px #fff;padding:0 8px 10px 6px;margin-left:8px;transform:rotate(-1deg)}.avatar-key:before{content:"";position:absolute;inset:0 9px 10px 5px;border:2px solid white;background:var(--blue);border-radius:13px}.avatar-key img{position:relative;height:48px;width:48px;object-fit:contain;margin:auto}.primary{display:inline-block;background:linear-gradient(#5a5a5a,#292929);border-radius:17px;color:#fff;padding:15px 35px;font-size:29px;letter-spacing:-1.5px;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-3px);box-shadow:0 9px 25px #0002}.laptop{position:absolute;z-index:1;pointer-events:none}.laptop-left{left:0;top:39%;width:12%;mask-image:linear-gradient(90deg,#000 80%,transparent)}.laptop-right{right:0;top:0;width:16%;mask-image:linear-gradient(90deg,transparent,#000 12%)}.about{padding-top:64px;padding-bottom:88px}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.portrait{width:205px;height:205px;border:1px solid var(--ink);border-radius:50%;background:repeating-conic-gradient(#fff 0deg 20deg,#292929 20deg 60deg);padding:10px;margin-bottom:12px}.portrait img{width:100%;height:100%;background:var(--ink);border-radius:50%;padding:27px;object-fit:contain}.about h2{font-size:clamp(80px,10.5vw,170px);letter-spacing:-.09em;font-weight:600;white-space:nowrap;line-height:1.05}.index{border-top:1px solid #777;padding-top:16px;width:100%;margin-top:0}.index a{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:21px;letter-spacing:-.055em;padding:5px 10px;line-height:1.35;margin-bottom:10px;border-radius:2px;transition:background .2s,color .2s}.index a:hover{background:#e9e9e9;color:#292929}.index a.active{background:var(--ink);color:#fff}.index small{font-size:11px;letter-spacing:0;color:#888;margin-left:6px}.about-copy{max-width:640px;line-height:1.35;font-size:22px;letter-spacing:-.05em;margin:38px 0 32px}.skills{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:36px 16px}.skills span{background:var(--blue);color:white;font-size:22px;letter-spacing:-.05em;border-radius:50px;padding:8px 18px;justify-self:start;white-space:nowrap;transition:transform .25s}.skills span:hover{transform:rotate(-3deg) translateY(-4px)}.display{font-size:clamp(90px,20.5vw,320px);font-weight:600;letter-spacing:-.09em;line-height:1.06}.portfolio-section{padding-top:90px;padding-bottom:130px}.section-index{width:47%;margin:70px 0 150px auto}.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.logo-column{display:grid;gap:20px}.logo-card{background:#efefef;text-align:center;display:flex;flex-direction:column;align-items:center;padding:20px 15px;min-height:330px}.logo-card.tall{min-height:460px}.logo-card p{font-size:20px;letter-spacing:-.055em}.logo-card .country{color:#6e6e6e;margin-top:auto}.art-button{background:none;border:0;padding:0;display:block;position:relative;width:100%;color:inherit}.art-button:after{content:'↗';position:absolute;right:12px;bottom:12px;background:#fff;color:#292929;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;opacity:0;transform:translateY(6px);transition:.2s}.art-button:hover:after,.art-button:focus-visible:after{opacity:1;transform:none}.logo-card .art-button{margin:auto 0;padding:25px 6px}.logo-card img{width:100%;height:200px;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s}.logo-card.tall img{height:275px}.logo-card:hover img{transform:scale(1.035)}.branding{background:var(--ink);color:white;padding:90px 0 80px}.branding-heading{padding-top:0;padding-bottom:0}.branding .index a.active{background:#ddd;color:#292929}.branding .index small{color:#aaa}.branding .section-index{margin-bottom:70px}.case-intro{padding:0 var(--gutter);margin-bottom:75px}.case-kicker{font-size:26px;color:#ccc;letter-spacing:-.05em;margin-bottom:4px}.case-intro h3{font-size:clamp(44px,6vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin-bottom:55px}.case-columns{display:grid;grid-template-columns:1fr .65fr 1.2fr;gap:70px}.case-columns h4{font-weight:400;font-size:23px;letter-spacing:-.05em;margin-bottom:10px}.case-columns p{font-size:19px;line-height:1.26;letter-spacing:-.035em;color:#e5e5e5}.case-art{width:100%;overflow:hidden;border-radius:42px 42px 0 0}.case-art img{width:100%;height:auto}.poster-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;padding:90px 8.4vw 0}.poster-row img{width:100%;height:auto}.case-study+.case-study{margin-top:250px}.coming-soon{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:120px;padding-bottom:130px;background:#f4f8ff}.section-number{font-size:15px;letter-spacing:.04em;display:block;margin-bottom:30px}.coming-soon h2,.contact h2{font-size:clamp(54px,6.6vw,110px);line-height:1.02;font-weight:500;letter-spacing:-.065em}.coming-soon p{margin-top:30px;font-size:22px}.soon{display:inline-flex;align-items:center;gap:12px;background:var(--blue);color:white;border-radius:30px;padding:12px 22px;margin-top:30px}.soon span{width:7px;height:7px;background:white;border-radius:100%}.campaign-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:90px}.campaign-intro p{font-size:27px;letter-spacing:-.055em}.campaign-intro h3{font-size:clamp(60px,7.2vw,110px);font-weight:400;line-height:1;letter-spacing:-.065em}.campaign-grid{max-width:920px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.campaign-grid img{width:100%;aspect-ratio:.705;object-fit:cover;transition:transform .3s}.campaign-grid button:hover img{transform:translateY(-5px)}.contact{background:#edf5fe;display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:110px;padding-bottom:110px}.contact-heading{position:sticky;top:80px;align-self:start}.contact-heading p{font-size:22px;line-height:1.5;max-width:440px;margin:35px 0}.email{font-size:clamp(16px,1.65vw,25px);border-bottom:1px solid #999;padding-bottom:8px;display:inline-flex;gap:15px;word-break:break-word}.meeting{background:white;border-radius:20px;padding:30px;box-shadow:0 20px 70px #235d9c0a}.meeting-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.meeting-title h3{font-size:25px;font-weight:500;letter-spacing:-1px}.meeting-title>span{font-size:14px;color:#666;background:#f1f1f1;padding:7px 10px;border-radius:20px;white-space:nowrap}.meeting-note{font-size:14px;line-height:1.5;color:#666;margin:13px 0 22px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-head button{background:none;border:1px solid #eee;border-radius:8px;width:34px;height:34px;font-size:25px}.calendar-head h4{font-size:17px;font-weight:500}.calendar,.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{color:#777;font-size:12px;text-align:center;margin-bottom:8px}.calendar button{background:#f5f7f9;border:0;border-radius:8px;min-height:38px;font-size:14px}.calendar button:hover:not(:disabled){background:#dbeaff}.calendar button:disabled{background:transparent;color:#ccc}.calendar button[aria-pressed=true]{background:var(--blue);color:#fff}.calendar button.today{box-shadow:inset 0 0 0 1px var(--blue)}.selected-date{font-size:13px;color:#555;margin:15px 0 20px;min-height:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.meeting label{font-size:13px;display:block;margin-bottom:16px}.meeting input,.meeting select,.meeting textarea{display:block;width:100%;min-width:0;border:1px solid #ddd;border-radius:8px;padding:11px 10px;color:#292929;background:#fff;margin-top:7px;font-size:14px}.meeting textarea{resize:vertical}.submit{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;color:#fff;background:var(--blue);border-radius:9px;padding:14px;font-size:15px}.submit:hover{background:#0966da}.form-help{font-size:12px;line-height:1.5;color:#777;margin-top:13px}#form-status{font-size:14px;line-height:1.5;margin-top:12px}.copy-request{background:none;border:0;text-decoration:underline;padding:5px 0;color:var(--blue)}footer{background:var(--ink);color:white}.socials{display:flex;flex-wrap:wrap;gap:25px;margin:40px 0 65px;font-size:17px}.socials a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #555;padding-top:24px;display:flex;justify-content:space-between;font-size:13px;color:#aaa}dialog{border:0;padding:45px 24px 20px;max-width:min(94vw,1200px);max-height:94vh;background:#202020;color:white;border-radius:12px}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}dialog img{max-height:78vh;max-width:100%;width:auto;margin:auto;object-fit:contain}dialog p{font-size:14px;text-align:center;margin-top:16px}.lightbox-close{position:absolute;top:5px;right:12px;background:none;color:#fff;border:0;font-size:32px;width:40px;height:40px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@media(min-width:1600px){.hero-content{padding-top:190px}}@media(max-width:1100px){.hero{min-height:750px}.topbar{top:30px}.hero-content{padding:160px 8% 80px}.hero h1{font-size:6vw}.hero p{font-size:18px}.role{font-size:24px}.avatar-key{width:100px;height:60px}.about-top{gap:40px}.portrait{width:160px;height:160px}.index a{font-size:17px}.skills{grid-template-columns:repeat(2,auto)}.skills span{font-size:20px}.case-columns{gap:30px}.case-columns p{font-size:17px}.case-columns h4{font-size:20px}.logo-card{min-height:280px}.logo-card.tall{min-height:370px}.logo-card p{font-size:16px}.logo-card img{height:150px}.logo-card.tall img{height:230px}.contact{gap:30px}.meeting{padding:22px}.contact-heading p{font-size:19px}}@media(max-width:700px){:root{--gutter:6vw}html{scroll-padding-top:30px}.section{padding:55px var(--gutter)}.topbar{width:88%;top:20px;gap:14px;padding:9px 10px 9px 17px;border-radius:13px}.wordmark{font-size:28px;letter-spacing:-2.5px}.topbar nav{gap:17px}.topbar nav a{font-size:14px;letter-spacing:-.5px}.say-hi{font-size:14px;padding:10px 11px;gap:4px;border-radius:8px}.say-hi svg{width:17px;height:17px}.hero{height:auto;min-height:740px}.hero-content{padding:140px 7% 90px}.role{font-size:19px;padding:9px 22px;margin-bottom:28px;letter-spacing:-.7px}.hero h1{font-size:clamp(42px,9.5vw,64px);line-height:1.1;letter-spacing:-.07em}.desktop-break{display:none}.hero p{font-size:16px;line-height:1.6;letter-spacing:-.035em;margin:28px 0 36px}.avatar-key{width:76px;height:48px;margin-left:0;margin-top:10px}.avatar-key img{width:32px;height:32px}.primary{font-size:23px;padding:13px 27px;border-radius:12px}.laptop-left{width:15%;top:70%;opacity:.7}.laptop-right{width:21%;top:11%;opacity:.65}.about-top{display:flex;flex-direction:column;gap:35px}.portrait{width:130px;height:130px;margin-bottom:20px}.portrait img{padding:16px}.about h2{font-size:21vw;letter-spacing:-.085em}.index{padding-top:12px}.index a{font-size:17px;padding:6px 8px;margin-bottom:5px;letter-spacing:-.04em}.about-copy{font-size:19px;margin:30px 0}.skills{display:flex;flex-wrap:wrap;gap:12px}.skills span{font-size:14px;padding:8px 13px;letter-spacing:-.025em}.display{font-size:20vw;letter-spacing:-.08em}.section-index{width:100%;margin:35px 0 60px}.logo-grid{gap:12px;grid-template-columns:1fr 1fr}.logo-column{gap:12px}.logo-column:last-child{grid-column:1/-1;grid-template-columns:1fr 1fr}.logo-card,.logo-card.tall{min-height:250px;padding:14px 10px}.logo-card img,.logo-card.tall img{height:155px}.logo-card p{font-size:13px;letter-spacing:-.035em}.logo-card .art-button{padding:16px 0}.branding{padding:55px 0}.branding-heading{padding-top:0;padding-bottom:0}.case-intro{margin-bottom:35px}.case-intro h3{font-size:11vw;margin-bottom:30px}.case-kicker{font-size:18px}.case-columns{grid-template-columns:1fr;gap:25px}.case-columns h4{font-size:16px;margin-bottom:8px}.case-columns p{font-size:16px;line-height:1.5;letter-spacing:-.02em}.case-art{border-radius:18px 18px 0 0}.poster-row{gap:12px;padding:30px 6vw 0}.case-study+.case-study{margin-top:95px}.coming-soon{grid-template-columns:1fr;gap:45px}.coming-soon h2,.contact h2{font-size:15vw}.coming-soon p{font-size:18px}.section-number{font-size:12px;margin-bottom:22px}.campaign-intro{margin-bottom:35px;align-items:end;gap:15px}.campaign-intro p{font-size:15px}.campaign-intro>p{max-width:90px;text-align:right}.campaign-intro h3{font-size:11vw}.campaign-grid{gap:12px;grid-template-columns:1fr 1fr}.campaign-grid button:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}.contact{grid-template-columns:1fr;gap:40px}.contact-heading{position:static}.contact-heading p{font-size:18px;margin:25px 0}.email{font-size:16px}.meeting{padding:20px}.meeting-title h3{font-size:22px}.form-row{gap:10px}.meeting select{font-size:12px}.socials{font-size:15px;gap:20px;margin:30px 0 45px}.footer-bottom{font-size:12px;gap:15px}.reveal{transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
/* The supplied PDF's background and laptop artwork, extracted without UI text. */
.hero{background:#f5fafc url('assets/hero-art.webp') center/100% 100% no-repeat}
.hero:before{display:none}
.campaigns .display{font-size:17.7vw}
@media(max-width:700px){.hero{background-size:auto 100%;background-position:center}.campaigns .display{font-size:17.7vw}}
.topbar{position:fixed}
.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 20px}
.time-slots button{border:1px solid #cddff8;background:#f6faff;color:#2462ac;border-radius:7px;padding:9px;font-size:13px}
.time-slots button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}
@media(max-width:700px){.topbar{gap:10px}.topbar nav{gap:12px}.topbar nav a{font-size:13px}}
@media(max-width:360px){.topbar{width:94%;padding-left:12px;gap:8px}.wordmark{font-size:25px}.topbar nav{gap:9px}.topbar nav a{font-size:12px}.say-hi{padding:9px 8px;font-size:12px}.say-hi svg{width:14px}}
.logo-card img{mix-blend-mode:normal}
.campaign-grid img{height:auto;aspect-ratio:auto;object-fit:contain}
