@font-face{font-family:'PJ Helvetica';src:url('assets/fonts/regular.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:'PJ Helvetica';src:url('assets/fonts/bold.woff') format('woff');font-weight:700;font-display:swap}@font-face{font-family:'PJ Mono';src:url('assets/fonts/sfmono.woff') format('woff');font-weight:400;font-display:swap}
:root{--paper:#fff;--ink:#202327;--muted:#62676f;--line:#d9dfe8;--blue:#1264f5;--body:'PJ Helvetica','Helvetica Neue',Helvetica,Arial,sans-serif;--display:'Futura Maxi Bold','PJ Helvetica','Helvetica Neue',Helvetica,Arial,sans-serif;--mono:'PJ Mono','SF Mono',ui-monospace,monospace;--pad:56px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a67b00;outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.055em}h2{font-size:clamp(36px,4.1vw,58px);line-height:1.04}.wrap{max-width:1440px;margin:auto;padding-left:var(--pad);padding-right:var(--pad)}.label{font-family:var(--mono);font-size:10px;line-height:1.55;letter-spacing:.06em;color:var(--muted)}.skip{position:fixed;top:-100px;left:24px;background:var(--blue);color:#fff;padding:16px;z-index:100}.skip:focus{top:16px}header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:var(--mono);font-size:19px;font-weight:400;text-decoration:none;letter-spacing:-.05em}nav{display:flex;align-items:center;gap:34px;font-family:var(--mono);font-size:11px}nav a{text-decoration:none;padding:12px 0}.nav-cta{color:var(--blue)}.nav-cta span{margin-left:16px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;min-height:675px;align-items:center;padding-top:58px;padding-bottom:48px}.eyebrow{margin-bottom:34px;color:var(--blue);font-size:10px}.hero h1{font-size:clamp(52px,6.8vw,96px);line-height:.98}.hero h1 span{color:var(--blue)}.hero-lede{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin-top:30px}.hero-detail{font-size:16px;line-height:1.5;color:var(--muted);margin-top:12px}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:50px;padding:15px 21px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid transparent;transition:background .18s,color .18s}.primary{background:var(--blue);color:#fff}.primary:hover{background:#162d91}.text-link{font-size:13px;text-underline-offset:5px;white-space:nowrap}.text-link span{margin-left:8px}.hero-art{position:relative;min-width:0;align-self:stretch;display:flex;justify-content:center;align-items:center;flex-direction:column}.art-orbit{position:absolute;top:12%;left:6%;width:88%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 45% 35%,#e9efff 0%,#f0f3fa 54%,#fff 74%);z-index:-1}.phone{width:100%;max-width:575px;height:auto;position:relative}.image-caption{text-align:center;font-size:8px;margin-top:-14px;color:#62676f}.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:26px;padding-bottom:32px}.trust>.label{margin-bottom:22px}.logos{display:grid;grid-template-columns:repeat(8,1fr);gap:27px;align-items:center}.logos img{width:100%;height:48px;object-fit:contain}.intro{padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1.2fr;gap:75px}.section-heading>.label,.section-heading>div>.label{margin-bottom:21px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding-top:4px}.intro-columns .label{margin-bottom:22px}.intro-columns p:not(.label){font-size:17px;line-height:1.55;letter-spacing:-.015em;margin-top:14px}.intro-columns .emphasis{font-weight:700}.channels{display:flex;gap:7px;flex-wrap:wrap;margin-top:23px}.channels span{border:1px solid var(--line);font-family:var(--mono);padding:7px 9px;font-size:8px;letter-spacing:.02em}.work-section{background:#f5f7fa;padding:88px 0 92px}.horizontal{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:42px}.section-note{font-size:15px;line-height:1.5;color:var(--muted);padding-bottom:3px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px}.project{display:block;text-decoration:none;min-width:0}.project-image{aspect-ratio:1.6;overflow:hidden;position:relative;background:#e9edf3}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project:hover .project-image img{transform:scale(1.035)}.view{position:absolute;bottom:12px;right:12px;padding:8px 11px;background:#fff;font-size:10px;font-family:var(--mono)}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}.project-caption h3{font-size:11px;font-family:var(--mono);font-weight:400;line-height:1.4;letter-spacing:.025em}.project-caption>span{font-size:13px}.project-caption .caption-detail{font-size:9px;color:var(--muted);font-family:var(--mono);white-space:nowrap}.placeholder{padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:#e8edf4;color:#3a4a64;border:1px solid #d8e0eb}.placeholder-index{font-family:var(--mono);font-size:8px;color:#57657b}.placeholder-name{font-size:clamp(18px,2.15vw,30px);font-weight:700;letter-spacing:-.04em;max-width:14ch;line-height:1.1}.placeholder-label{font-family:var(--mono);font-size:8px;color:#57657b;letter-spacing:.04em}.pricing{padding-top:100px;padding-bottom:92px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;min-width:0}.plan-top h3{font-size:23px;letter-spacing:-.035em;line-height:1.2;margin-top:15px}.plan .price{font-size:44px;font-weight:700;letter-spacing:-.055em;line-height:1.1;margin-top:30px}.price span{display:block;font-weight:400;font-size:12px;letter-spacing:0;margin-top:9px}.plan ul{list-style:none;margin:28px 0 30px;padding:24px 0 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5;flex:1}.plan li{padding:4px 0;display:flex;gap:12px}.plan li:before{content:'✓';color:var(--blue)}.plan-cta{border-color:var(--line);width:100%;padding-left:16px;padding-right:16px}.plan-cta:hover{background:#eff2f7}.studio{background:linear-gradient(135deg,#0d215b 0%,#1c4fe8 50%,#4a2996 100%);color:#fff;border-color:transparent}.studio .label{color:#e2e8ff}.studio ul{border-color:#ffffff4d}.studio li:before{color:#dbe3ff}.studio .plan-cta{background:#fff;color:#1264f5;border-color:#fff}.studio .plan-cta:hover{background:#e8eeff}.fine-print{font-family:var(--mono);font-size:10px;line-height:1.6;color:var(--muted);margin-top:23px}.contact-section{background:#1264f5;color:#fff;padding:78px 0 84px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end}.contact-section .label{color:#d9e1ff}.contact-section h2{font-size:clamp(54px,6vw,86px);line-height:.99;margin-top:24px}.contact-section p:not(.label){font-size:20px;margin-top:24px}.contact-button{background:#fff;color:var(--blue);margin-top:30px}.contact-button:hover{background:#e9efff}.contact-details{padding-bottom:1px}.contact-details>div{margin-bottom:33px}.contact-details>div>a{display:inline-block;font-size:clamp(23px,2.8vw,36px);text-decoration:none;letter-spacing:-.04em;margin-top:10px}.contact-details>div>a:hover{text-decoration:underline;text-underline-offset:7px}.brochure{display:flex;justify-content:space-between;border-top:1px solid #ffffff4d;padding-top:22px;font-size:13px;text-decoration:none}.brochure:hover{text-decoration:underline}footer{min-height:105px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>a:last-child{font-family:var(--mono);font-size:10px;text-decoration:none}footer .label{font-size:9px}
@media(min-width:1500px){.hero{min-height:720px}}@media(max-width:1100px){:root{--pad:32px}.hero{min-height:590px}.hero h1{font-size:clamp(54px,6.7vw,75px)}.hero-lede{font-size:21px}.intro{grid-template-columns:1fr;gap:38px}.intro-columns{gap:65px}.intro-columns p:not(.label){max-width:42ch}.logos{gap:22px}.plan{padding:23px}.plan-top h3{font-size:20px}.work-grid{gap:30px 20px}.image-caption{font-size:7px}.contact-grid{gap:55px}}
@media(max-width:760px){:root{--pad:22px}html{scroll-padding-top:85px}.nav{height:70px}.wordmark{font-size:16px}nav{gap:21px;font-size:10px}.nav-cta span{display:inline-block}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:30px;gap:20px}.eyebrow{font-size:9px;margin-bottom:25px}.hero h1{font-size:clamp(54px,10.9vw,80px)}.hero-lede{font-size:21px;margin-top:25px}.hero-detail{font-size:16px}.actions{gap:22px;margin-top:27px}.button{font-size:12px;min-height:48px;padding:14px 17px;gap:22px}.hero-art{width:100%;max-width:520px;margin:auto}.phone{max-width:450px}.image-caption{font-size:7px;margin-top:-12px}.art-orbit{top:7%}.trust{padding-top:25px;padding-bottom:27px}.logos{grid-template-columns:repeat(4,1fr);gap:26px 22px}.logos img{height:37px}.intro{padding-top:65px;padding-bottom:66px;gap:34px}.intro-columns{grid-template-columns:1fr;gap:32px}.intro-columns .label{margin-bottom:12px}.intro-columns p:not(.label){font-size:17px;max-width:unset}.channels{margin-top:19px}.section-heading h2{font-size:44px}.horizontal{display:block;margin-bottom:31px}.section-note{margin-top:20px;font-size:14px}.work-section{padding-top:63px;padding-bottom:65px}.work-grid{grid-template-columns:repeat(2,1fr);gap:27px 14px}.project-image{aspect-ratio:1.15}.placeholder{padding:14px}.placeholder-name{font-size:22px;overflow-wrap:anywhere}.placeholder-index,.placeholder-label{font-size:6px}.project-caption h3{font-size:9px}.caption-detail{display:none}.project-caption{margin-top:10px}.view{font-size:8px;padding:7px;right:8px;bottom:8px}.pricing{padding-top:67px;padding-bottom:65px}.plans{grid-template-columns:1fr;gap:16px}.plan{padding:26px}.plan-top h3{font-size:25px}.plan .price{font-size:48px;margin-top:25px}.plan ul{margin:24px 0;padding-top:20px}.plan li{font-size:15px}.fine-print{font-size:9px}.contact-section{padding-top:60px;padding-bottom:60px}.contact-grid{grid-template-columns:1fr;gap:44px}.contact-section h2{font-size:64px}.contact-section p:not(.label){font-size:19px}.contact-details>div>a{font-size:30px}footer{flex-wrap:wrap;justify-content:space-between;padding-top:27px;padding-bottom:27px;gap:18px}footer .label{order:3;width:100%;font-size:8px}footer>a:last-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header{position:static}.work-section{background:white}.contact-section{background:white;color:var(--ink)}.contact-section .label{color:var(--muted)}.plan,.project{break-inside:avoid}.skip{display:none}}

/* Simple media and captions for selected work. */
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px}
.project-image{aspect-ratio:16/10;background:#e9edf3}
.project-image img,.project-image video{display:block;width:100%;height:100%;object-fit:cover}
.project:hover .project-image img{transform:none}
.project-caption{display:block;margin-top:18px}
.project-client{font-family:var(--mono);font-size:10px;letter-spacing:.055em;color:var(--muted);line-height:1.5;margin-bottom:7px}
.project-caption h3{font-family:var(--body);font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.project-description{font-size:14px;line-height:1.5;color:var(--muted);margin-top:7px}
.project-image .placeholder{width:100%;height:100%;display:grid;place-items:center;border:0;padding:20px;background:#e9edf3}
.placeholder span{font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:#626e80}
@media(max-width:760px){.work-grid{gap:34px 18px}.project-caption h3{font-size:19px}.project-client{font-size:9px}.project-description{font-size:13px}.project-caption{margin-top:14px}}
@media(max-width:540px){.work-grid{grid-template-columns:1fr;gap:34px}.project-image{aspect-ratio:16/10}}

.image-caption{margin-top:12px}

/* Use the flyer logo proportions with equal gaps between visible logo edges. */
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 32px}
.logos img{flex:0 0 auto;width:calc(var(--logo-width)*2px);height:auto;max-width:none;object-fit:contain}
@media(max-width:760px){.logos{gap:24px}.logos img{width:calc(var(--logo-width)*1.4px)}}

/* Align the outer logos with the content margins and distribute the gaps evenly. */
.logos{justify-content:space-between}

/* Keep the complete campaign headline readable at each screen size. */
.hero h1{font-size:clamp(42px,5vw,70px);line-height:1.04}
@media(max-width:760px){.hero h1{font-size:clamp(33px,7.5vw,56px)}}

/* Keep the complete campaign headline readable at each screen size. */
.hero h1{font-size:clamp(42px,5vw,70px);line-height:1.04}
@media(max-width:760px){.hero h1{font-size:clamp(33px,7.5vw,56px)}}

/* Make client names the primary label and project names secondary. */
.project-client{font-family:var(--body);font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--ink);margin-bottom:7px}
.project-caption h3{font-family:var(--body);font-size:14px;font-weight:400;letter-spacing:0;line-height:1.5;color:var(--muted)}
@media(max-width:760px){.project-client{font-size:19px}.project-caption h3{font-size:13px}}

/* Selected work media fills a consistent widescreen holder. */
.work-grid .project-image{aspect-ratio:16/9;overflow:hidden}
.work-grid .project-image img,.work-grid .project-image video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.work-grid .project-image iframe{display:block;width:100%;height:100%;border:0}

/* Keep the complete campaign headline readable at each screen size. */
.hero h1{font-size:clamp(42px,5vw,70px);line-height:1.04}
@media(max-width:760px){.hero h1{font-size:clamp(33px,7.5vw,56px)}}

/* Approach section brand colors. */
.intro-section{background:var(--blue);color:#fff}.intro-section .label{color:#fff}.intro-section .channels span{border-color:rgba(255,255,255,.5)}

/* Solved Media typography and compact section spacing. */
nav,.hero-lede{font-weight:500}
h1,h2,h3,.project-client,.plan-top h3,.plan .price,.contact-details>div>a{letter-spacing:0}
.intro{padding-top:64px;padding-bottom:72px}
.intro-columns .label{font-size:15px}
.channels span{font-size:12px}
.work-section{padding-top:56px}
.pricing{padding-top:64px}
.fine-print{text-align:center}
.contact-section{padding-top:48px}
.contact-section h2{margin-top:0}
.download-icon{flex:0 0 auto;margin-left:12px}
.brochure{align-items:center;gap:12px}
@media(max-width:760px){.intro{padding-top:40px;padding-bottom:48px}.work-section{padding-top:40px}.pricing{padding-top:40px}.contact-section{padding-top:40px}.wordmark{font-size:16px}nav{gap:16px}}

.intro-columns>div>.label{text-decoration:underline;text-underline-offset:5px}

.intro-section .channels span{background:#fff;color:var(--blue);border-color:#fff}

/* Responsive layout and comfortable touch targets. */
.button,button{border-radius:12px}
.hero-copy,.intro-columns>div,.contact-grid>div{min-width:0}
.actions{flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;min-height:44px}
nav a{display:inline-flex;align-items:center;min-height:44px}
.contact-details>div>a{font-size:clamp(20px,2.6vw,36px);max-width:100%;overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1100px){
 .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:540px}
 .hero h1{font-size:clamp(36px,4.7vw,52px)}
 .hero-lede{font-size:20px}
 .actions{gap:16px}
 .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
 footer{flex-wrap:wrap;padding-top:24px;padding-bottom:24px}
 footer .label{order:3;width:100%;text-align:center}
}
@media(max-width:1000px){.plans{grid-template-columns:1fr}.plan{padding:28px}.plan-top h3{font-size:25px}.plan .price{font-size:44px}}
@media(max-width:760px){
 .hero{min-height:0}
 .hero h1{font-size:clamp(30px,7.5vw,56px);line-height:1.1}
 .section-heading h2{font-size:clamp(30px,7.5vw,44px);line-height:1.12}
 .contact-section h2{font-size:clamp(44px,10vw,64px);line-height:1.08}
 .contact-details>div>a{font-size:clamp(20px,5.7vw,30px)}
 .intro-columns p:not(.label){font-size:16px}
 .work-grid{grid-template-columns:1fr}
 .hero-art{max-width:430px}
 footer .label{text-align:center;line-height:1.7}
}
@media(max-width:420px){
 :root{--pad:18px}
 .nav{height:auto;min-height:96px;flex-wrap:wrap;padding-top:14px;padding-bottom:8px;gap:4px}
 .nav>.wordmark{width:100%;font-size:17px}
 nav{width:100%;justify-content:space-between;gap:16px;font-size:11px}
 html{scroll-padding-top:112px}
 .hero{padding-top:28px}
 .hero-lede{font-size:19px}
 .actions{gap:12px 20px}
 .logos{gap:22px 18px}
 .logos img{width:calc(var(--logo-width)*1.25px)}
 footer{justify-content:center;text-align:center}
 footer .wordmark,footer>a:last-child{width:100%}
}

.hero-lede{color:var(--blue)}

.hero .eyebrow,.trust>.label{font-family:var(--mono);font-size:10px;font-weight:400;line-height:1.55;letter-spacing:.06em;color:var(--muted)}
.hero-lede{font-weight:700}

/* Match blue surfaces to the Campaign Studio gradient. */
.primary,.intro-section,.contact-section{background:linear-gradient(135deg,#0d215b 0%,#1c4fe8 50%,#4a2996 100%)}
.primary:hover{background:linear-gradient(135deg,#091943 0%,#1743c6 50%,#3d217d 100%)}

/* Keep navigation arrows identical across screen sizes. */
.nav-cta span{display:inline-block;margin-left:8px}

/* Keep navigation arrows identical across screen sizes. */
.nav-cta span{display:inline-block;margin-left:8px}

/* Keep navigation arrows identical across screen sizes. */
.nav-cta span{display:inline-block;margin-left:8px}

/* Keep navigation arrows identical across screen sizes. */
.nav-cta span{display:inline-block;margin-left:8px}

/* Services and questions follow the existing typography and spacing. */
.service-overview{padding-bottom:72px}.service-overview h2{font-size:clamp(30px,3.3vw,46px);margin-bottom:32px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service-cards article{border-top:1px solid var(--line);padding-top:22px}.service-cards h3{font-size:20px;line-height:1.25;margin-bottom:14px}.service-cards p,.service-summary,.faq-list p{font-size:16px;line-height:1.6;color:var(--muted)}.service-summary{margin-top:28px}.service-summary a{color:var(--blue);text-underline-offset:4px}.faq-section{padding-top:64px;padding-bottom:64px}.faq-section h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:32px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-size:18px;font-weight:700;line-height:1.4}.faq-list summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.faq-list p{max-width:850px;margin-top:16px}.faq-list summary::marker{color:var(--blue)}
@media(max-width:760px){.service-cards{grid-template-columns:1fr;gap:24px}.service-overview{padding-bottom:48px}.faq-section{padding-top:40px;padding-bottom:40px}nav{gap:12px;font-size:10px}.hero-lede{font-size:21px}}

.big-ideas-icon{width:285px;max-width:85%;height:auto;margin-top:28px}
@media(max-width:760px){.big-ideas-icon{width:240px;margin-top:24px}}

/* White service text on the blue background. */
.intro-section .service-cards h3,.intro-section .service-cards p,.intro-section .service-summary,.intro-section .service-summary a{color:#fff}
