/* Shared page layouts */
.header [aria-current="page"]{border-bottom:1px solid var(--ink);padding-bottom:3px}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding-top:28px}
.breadcrumbs a:hover{color:var(--ink);text-decoration:underline}
.page-hero{padding-top:60px;padding-bottom:70px}
.page-hero h1{font-size:clamp(3rem,5.6vw,5.5rem);max-width:1100px}
.page-hero .lead{font-size:22px;line-height:1.55;font-weight:300;max-width:680px;color:var(--muted);margin-top:28px}
.intro-row{display:flex;align-items:center;justify-content:space-between;gap:50px}
.intro-row>.button{flex-shrink:0;margin-top:25px}
.split-hero{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:7%;padding-bottom:85px}
.split-hero h1{font-size:clamp(3rem,5vw,5rem)}
.split-hero .lead{font-size:21px}
.split-hero .button{margin-top:30px}
.split-hero figure{margin:0;min-width:0}
.split-hero figure img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px}
.bottom-section{padding-bottom:100px}
.muted-section{background:#ededee}
.section-top-line{border-top:1px solid var(--line)}
.item-number{font-size:12px;letter-spacing:.09em;color:var(--muted);display:block}
.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.service-card{background:#f0f0f1;border:1px solid transparent;padding:38px 40px;position:relative;transition:background .2s,border-color .2s}
.service-card h2{font-size:43px;margin:26px 0 20px;font-weight:500}
.service-card p{max-width:460px;font-weight:300;color:var(--muted);font-size:19px}
.card-arrow{position:absolute;right:30px;top:25px;font-size:32px}
.card-link{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:4px;margin-top:35px;font-size:15px}
.service-card:hover{background:#fff;border-color:var(--line)}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}
.detail-grid article{border-top:1px solid var(--line);padding-top:24px}
.detail-grid h3{font-size:29px;margin:23px 0 18px;line-height:1.25}
.detail-grid p{font-size:19px;color:var(--muted);font-weight:300}
.tag-list{max-width:380px;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.tag-list span{border:1px solid var(--line);padding:10px 15px 7px;border-radius:30px;font-size:14px}
.wide-note{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-top:60px;padding-bottom:80px}
.wide-note p:not(.eyebrow){font-size:21px;font-weight:300;color:var(--muted)}
.wide-note .text-link{margin-top:25px}
.compact-cta{background:#1b1d20;color:#fff;padding-block:75px}
.compact-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:60px}
.compact-cta h2{font-size:clamp(2.8rem,5vw,4.8rem)}
.compact-cta p:not(.eyebrow){margin-top:25px;font-weight:300;font-size:20px;max-width:650px}
.compact-cta>.wrap>.button{flex-shrink:0}
.reference-info>.text-link{margin-top:20px}
.service-list h3 a,.reference-info h3 a{display:inline-block}
.service-list h3 a:hover,.reference-info h3 a:hover{color:var(--muted)}
.service-list h3 a span{font-size:22px}
.case-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-bottom:20px}
.case-film{background:#e7e7e9;padding:30px;border-radius:4px}
.case-film video{display:block;width:100%;max-width:420px;aspect-ratio:9/16;max-height:78vh;background:#101114;margin:auto;object-fit:contain;border-radius:3px}
.case-facts h2{font-size:40px;font-weight:500}
.case-facts dl{margin:30px 0 35px}
.case-facts dl>div{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:17px 0;font-size:17px}
.case-facts dt{color:var(--muted);font-weight:300}
.case-facts dd{margin:0;text-align:right}
.customer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.customer-grid figure{margin:0;background:#fff;border:1px solid #e9e9ec;padding:22px 20px 20px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.customer-grid img{width:100%;height:140px;object-fit:contain;mix-blend-mode:multiply}
.customer-grid figcaption{font-size:13px;color:var(--muted);text-align:center;line-height:1.5;margin-top:14px}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.location-card{background:#ededee;padding:35px;display:grid;grid-template-columns:100px 1fr;gap:28px;align-items:start}
.location-card>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
.location-card .eyebrow{font-size:12px;margin-bottom:18px}
.location-card h2{font-size:36px;font-weight:500}
.location-person{margin-top:14px;font-size:22px}
.location-card address{font-style:normal;font-weight:300;margin:18px 0 23px;color:var(--muted)}
.contact-line{display:block;margin-top:10px;overflow-wrap:anywhere;font-size:16px}
.contact-line:hover{text-decoration:underline}
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.sector-grid article{border-top:1px solid var(--line);padding-top:22px}
.sector-grid h2{font-size:28px;font-weight:500;margin-bottom:15px}
.sector-grid p{color:var(--muted);font-weight:300;font-size:18px}
.sector-grid .text-link{margin-top:20px}
.download-list{border-top:1px solid var(--line)}
.download-row{padding:25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr 120px 24px;gap:22px;align-items:center}
.download-row>span:nth-child(2){font-size:21px}
.download-meta{font-size:14px;color:var(--muted);text-align:right}
.download-row>span:last-child{font-size:24px;text-align:right}
.download-row:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:5px}
.legal-layout{display:grid;grid-template-columns:250px 1fr;gap:75px;padding-bottom:100px;align-items:start}
.legal-layout aside{position:sticky;top:30px;display:flex;flex-direction:column;gap:16px;font-size:15px}
.legal-layout aside .eyebrow{margin-bottom:8px}
.legal-layout aside a:hover{text-decoration:underline}
.legal-copy{max-width:750px;font-weight:300;font-size:19px}
.legal-copy section+section{margin-top:50px}
.legal-copy h2{font-size:29px;font-weight:500;line-height:1.3;margin-bottom:22px;letter-spacing:-.025em}
.legal-copy p+h2{margin-top:35px}
.legal-copy p+p{margin-top:20px}
.legal-copy p a{border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.legal-copy p a:hover{border-color:var(--ink)}
.legal-facts{margin:0}
.legal-facts>div{padding:12px 0;border-bottom:1px solid var(--line)}
.legal-facts dt{font-size:14px;color:var(--muted)}
.legal-facts dd{margin:3px 0 0}
.legal-date{font-size:14px;color:var(--muted);margin-top:35px!important}
.footer-map{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px}
.footer-map h2{font-size:16px;font-weight:500;letter-spacing:0;margin-bottom:22px}
.footer-map ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px;font-size:14px;color:var(--muted)}
.footer-brand p{font-size:24px;font-weight:300;margin-top:23px;line-height:1.4}
.footer-brand>a:last-child{font-size:14px;display:inline-block;margin-top:18px}
/* Reviews and the supplied partner artwork */
.customer-grid .customer-name-card{justify-content:center;min-height:220px;background:#f7f7f8}
.customer-grid .customer-logo-black img{filter:brightness(0);mix-blend-mode:normal}
.customer-grid .customer-name-card figcaption{font-size:clamp(23px,2.4vw,32px);font-weight:500;color:var(--ink);line-height:1.25;letter-spacing:-.025em;margin:0;padding:20px 8px;overflow-wrap:anywhere}
.merch-partnership{display:grid;grid-template-columns:1.5fr 1fr;gap:9%;align-items:center;padding-block:85px}
.merch-copy>p:not(.eyebrow){font-size:21px;font-weight:300;color:var(--muted);max-width:650px;margin-top:28px}
.merch-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}
.merch-partner-card{background:#fff;border:1px solid #dce3ea;padding:38px;display:flex;flex-direction:column;align-items:center;text-align:center}
.merch-partner-card img{width:110px;height:auto;max-height:155px;object-fit:contain}
.merch-partner-card p{font-size:25px;line-height:1.3;margin-top:26px;font-weight:300}
.merch-partner-card strong{font-weight:500}
.merch-partner-card>span{font-size:14px;margin-top:25px;color:#285881}
.merch-partner-card:hover{border-color:#8da8bf}
.footer-partner{margin-top:45px;border-top:1px solid var(--line);padding:28px 0 0;display:flex;align-items:center;gap:25px}
.footer-partner>img{width:43px;height:auto;flex-shrink:0}
.footer-partner>div>span{font-size:12px;letter-spacing:.07em;display:block;color:var(--muted)}
.footer-partner strong{display:block;font-size:23px;font-weight:500;margin-top:4px}
.footer-partner>p{font-size:15px;font-weight:300;color:var(--muted);margin-left:auto}
.footer-partner-link{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:4px}
@media(max-width:800px){.merch-partnership{gap:35px;padding-block:65px}.merch-copy>p:not(.eyebrow){font-size:19px}.merch-partner-card{padding:28px}.footer-partner{flex-wrap:wrap;gap:20px}.footer-partner>p{margin-left:0}.customer-grid .customer-name-card{min-height:200px}}
@media(max-width:580px){.merch-partnership{grid-template-columns:1fr;padding-block:55px;gap:35px}.merch-actions{gap:22px}.merch-partner-card{padding:30px}.merch-partner-card img{width:95px}.footer-partner{display:grid;grid-template-columns:45px 1fr;gap:16px 20px}.footer-partner>p{grid-column:2;font-size:14px}.footer-partner-link{grid-column:2;justify-self:start}.footer-partner>div>span{font-size:12px;letter-spacing:.035em;line-height:1.5}.customer-grid .customer-name-card{min-height:180px}.customer-grid .customer-name-card figcaption{font-size:24px;padding:16px 2px}}
.customer-grid figure{min-width:0}
.credibility{display:grid;grid-template-columns:1.05fr .9fr 1.05fr;gap:0;padding-top:48px;padding-bottom:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.credibility>div,.credibility>a{padding:8px 32px;min-width:0}
.credibility>:first-child{padding-left:0}
.credibility>:last-child{padding-right:0}
.credibility>*+*{border-left:1px solid var(--line)}
.credibility .eyebrow{font-size:12px;letter-spacing:.085em;margin-bottom:17px}
.rating-stars{color:#a47726;display:block;font-family:Arial,sans-serif;font-size:28px;letter-spacing:5px;line-height:1.2}
.rating-score{font-size:18px;margin-top:14px}
.rating-score strong{font-size:42px;font-weight:500;letter-spacing:-.045em;line-height:1}
.rating-score>span{display:inline-block;margin-left:12px;font-size:16px}
.rating-card>p:not(.rating-score):not(.eyebrow){font-size:15px;margin-top:7px}
.rating-card small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:13px}
.rating-card:hover .rating-score strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.partner-card{text-align:center}
.partner-card img{width:230px;height:auto;max-width:100%;margin:0 auto;mix-blend-mode:multiply}
.partner-card>p:last-child{font-weight:300;color:var(--muted);font-size:15px;line-height:1.45;margin-top:7px}
.expert-card{position:relative}
.expert-symbol{font-size:30px;line-height:1;display:block;margin-bottom:16px}
.expert-card .eyebrow{font-size:12px;margin-bottom:8px}
.expert-card h2{font-size:36px;font-weight:500}
.expert-card>p:not(.eyebrow){font-size:15px;line-height:1.5;font-weight:300;color:var(--muted);margin-top:12px}
.expert-card .text-link{font-size:13px;margin-top:16px}
.expert-card:hover .text-link{opacity:.6}
/* Light, decorative reactions over the title image */
.hero-reactions{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.reaction{position:absolute;display:grid;place-items:center;background:#ffffffed;box-shadow:0 8px 24px #202b4126;border:1px solid #ffffffb3;border-radius:50%;width:62px;height:62px;font:29px/1 Arial,sans-serif;animation:reaction-float 6s ease-in-out infinite;will-change:transform}
.reaction-heart{left:10%;top:15%;color:#e27588;animation-delay:-1.5s;transform:rotate(-12deg)}
.reaction-thumb{right:13%;top:42%;animation-delay:-3s;animation-duration:7s}
.reaction-love{left:22%;top:58%;width:45px;height:45px;font-size:23px;color:#dc687e;animation-delay:-4.5s;animation-duration:5.5s}
.reaction-like{right:20%;top:15%;width:auto;height:auto;padding:13px 17px;border-radius:30px;font-family:var(--sans);font-size:17px;color:#397fc5;gap:7px;display:flex;animation-delay:-.4s;animation-duration:7.5s}
.reaction-like span{font-family:Arial;font-size:20px}
.reaction-small{left:7%;top:43%;width:38px;height:38px;font-size:19px;animation-delay:-2.5s;animation-duration:5.8s}
.motion-toggle{position:absolute;left:15px;top:15px;z-index:3;border:1px solid #ffffff7f;background:#ffffffd9;color:#363c43;border-radius:30px;min-height:34px;padding:7px 11px 5px;font-size:12px;cursor:pointer}
.motion-toggle:hover{background:#fff}
.reactions-paused .reaction{animation-play-state:paused}
@keyframes reaction-float{0%,100%{transform:translate3d(0,7px,0) rotate(-8deg)}50%{transform:translate3d(5px,-10px,0) rotate(6deg)}}
@media(max-width:1100px){
 .split-hero{gap:5%}.page-hero .lead{font-size:20px}.location-card{grid-template-columns:70px 1fr;padding:25px;gap:20px}.location-card h2{font-size:30px}.credibility>div,.credibility>a{padding-inline:22px}.credibility>:first-child{padding-left:0}.credibility>:last-child{padding-right:0}.rating-score>span{margin-left:8px}.rating-score strong{font-size:36px}.expert-card h2{font-size:32px}.footer-map{gap:30px}.detail-grid{gap:28px}
}
@media(max-width:800px){
 .page-hero{padding-top:42px;padding-bottom:55px}.split-hero{grid-template-columns:1fr 1fr;gap:30px}.split-hero h1{font-size:3.2rem}.split-hero figure img{aspect-ratio:.75}.intro-row{display:block}.intro-row>.button{margin-top:25px}.bottom-section{padding-bottom:65px}.service-card{padding:30px}.service-card h2{font-size:37px}.service-card p{font-size:18px}.detail-grid{gap:22px}.detail-grid h3{font-size:24px}.detail-grid p{font-size:17px}.tag-list{justify-content:flex-start;max-width:300px}.wide-note{gap:40px;padding-block:55px}.wide-note h2{font-size:2.8rem}.wide-note p:not(.eyebrow){font-size:19px}.compact-cta>.wrap{gap:30px}.compact-cta .button{min-width:180px}.case-layout{gap:35px}.case-film{padding:18px}.case-facts h2{font-size:33px}.case-facts dl>div{font-size:15px}.case-facts .button{font-size:14px;gap:15px}.customer-grid{grid-template-columns:repeat(3,1fr);gap:14px}.customer-grid img{height:105px}.location-card{display:block}.location-card>img{width:85px;margin-bottom:25px}.location-card h2{font-size:34px}.sector-grid{grid-template-columns:repeat(2,1fr)}.legal-layout{grid-template-columns:190px 1fr;gap:35px;padding-bottom:65px}.legal-copy{font-size:18px}.legal-copy h2{font-size:25px}.footer-map{grid-template-columns:1fr 1fr;gap:40px}.credibility{grid-template-columns:1fr 1fr;row-gap:30px}.credibility .expert-card{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:27px 0 0;display:grid;grid-template-columns:45px 1fr 1fr;gap:0 15px;align-items:center}.expert-card .expert-symbol{grid-row:1/4;grid-column:1;margin-bottom:0}.expert-card .eyebrow{grid-column:2/4}.expert-card h2{grid-column:2}.expert-card>p:not(.eyebrow){grid-column:3;grid-row:2/4;margin:0}.expert-card .text-link{grid-column:2;justify-self:start;margin-top:10px}.reaction{width:48px;height:48px;font-size:25px}.reaction-love{width:37px;height:37px;font-size:20px}.reaction-like{width:auto;height:auto;font-size:15px;padding:11px 13px}.reaction-small{width:32px;height:32px;font-size:17px}.motion-toggle{top:10px;left:10px;font-size:12px}
}
@media(max-width:580px){
 .breadcrumbs{font-size:12px;gap:8px;padding-top:16px}.page-hero{padding-top:35px;padding-bottom:45px}.page-hero h1,.split-hero h1{font-size:clamp(2.75rem,10vw,3.7rem)}.page-hero .lead{font-size:20px;margin-top:23px}.split-hero{display:block}.split-hero figure{margin-top:40px}.split-hero figure img{aspect-ratio:1.2}.service-cards{grid-template-columns:1fr;gap:18px}.service-card{padding:28px}.service-card h2{font-size:37px;margin:22px 0 18px}.card-link{margin-top:25px}.detail-grid{grid-template-columns:1fr;gap:32px}.detail-grid h3{font-size:28px;margin:18px 0 12px}.detail-grid p{font-size:19px}.tag-list{margin-top:25px;max-width:none;gap:8px}.tag-list span{font-size:13px}.wide-note{grid-template-columns:1fr;gap:25px;padding-block:45px}.wide-note h2{font-size:2.8rem}.wide-note>.text-link{justify-self:start}.compact-cta{padding-block:55px}.compact-cta>.wrap{display:block}.compact-cta p:not(.eyebrow){font-size:19px}.compact-cta>.wrap>.button{margin-top:30px}.case-layout{grid-template-columns:1fr;gap:38px}.case-film{padding:20px}.case-facts h2{font-size:37px}.case-facts dl>div{font-size:17px}.case-facts .button{font-size:16px}.customer-grid{grid-template-columns:repeat(2,1fr);gap:12px}.customer-grid figure{padding:14px 12px}.customer-grid img{height:100px}.customer-grid figcaption{font-size:12px}.location-grid{grid-template-columns:1fr;gap:20px}.location-card{padding:28px;display:grid;grid-template-columns:75px 1fr;gap:20px}.location-card>img{width:75px}.location-card h2{font-size:32px}.location-card .eyebrow{font-size:12px}.location-person{font-size:20px}.location-card address{font-size:17px}.contact-line{font-size:15px}.sector-grid{grid-template-columns:1fr;gap:28px}.sector-grid h2{font-size:28px}.download-row{grid-template-columns:28px 1fr 20px;gap:10px;padding:22px 0}.download-row>span:nth-child(2){font-size:20px;line-height:1.4}.download-meta{grid-column:2;grid-row:2;text-align:left;font-size:13px}.download-row>span:last-child{grid-column:3;grid-row:1/3}.legal-layout{display:block}.legal-layout aside{position:static;margin-bottom:42px;padding-bottom:30px;border-bottom:1px solid var(--line);gap:14px}.legal-copy{font-size:18px}.legal-copy h2{font-size:27px}.legal-copy section+section{margin-top:37px}.footer-map{gap:35px 25px}.footer-brand{grid-column:1/-1;padding-bottom:10px}.footer-brand .brand img{width:160px}.footer-brand p{font-size:25px}.footer-map>div:last-child{grid-column:1/-1}.footer-map h2{font-size:16px;margin-bottom:19px}.footer-map ul{font-size:15px}.credibility{display:block;padding-top:32px;padding-bottom:32px}.credibility>div,.credibility>a{display:block;padding:25px 0}.credibility>*+*{border-left:0;border-top:1px solid var(--line)}.credibility>:first-child{padding-top:0}.credibility>:last-child{padding-bottom:0}.partner-card{text-align:left}.partner-card img{width:230px;margin:0}.partner-card>p:last-child{margin-top:10px}.partner-card>p:last-child br{display:none}.credibility .expert-card{display:block}.expert-card .expert-symbol{float:right;margin-right:20px;margin-top:20px;font-size:38px}.expert-card h2{font-size:36px}.expert-card>p:not(.eyebrow){margin-top:12px;font-size:16px}.rating-stars{font-size:27px}.rating-score strong{font-size:40px}.credibility .eyebrow{font-size:12px}.rating-card>p:not(.rating-score):not(.eyebrow){font-size:16px}.reaction-heart{top:20%;left:14%}.reaction-like{top:20%;right:20%}.reaction-love{top:58%;left:28%}.reaction-thumb{top:49%;right:13%}.reaction-small{left:7%;top:48%}.motion-toggle{font-size:12px;min-height:30px}
}
@media(prefers-reduced-motion:reduce){.reaction{animation:none;will-change:auto}.motion-toggle{display:none}.reaction-heart{transform:rotate(-8deg)}.reaction-like{transform:rotate(5deg)}}

.agency-partnerships{padding-block:90px 100px;border-top:1px solid var(--line)}
.agency-partnerships .section-heading{margin-bottom:45px}
.partnership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.partnership-card{min-height:230px;padding:30px;background:#fff;border:1px solid #e3e3e8;border-radius:18px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.partnership-card:hover{transform:translateY(-5px);border-color:#c9d3df;box-shadow:0 16px 35px #23364e12}
.partnership-role{font-size:11px;letter-spacing:.12em;font-weight:600;color:var(--muted);line-height:1.5}
.partnership-card h3{font-size:28px;font-weight:500;margin-top:24px}
.partnership-card p{font-size:16px;color:var(--muted);font-weight:300;line-height:1.5;margin-top:9px;max-width:300px}
.partnership-link{margin-top:auto;padding-top:22px;font-size:14px;border-bottom:1px solid var(--line);align-self:flex-start;line-height:1.6}
.partnership-card-brand{display:grid;grid-template-columns:92px 1fr;gap:25px;align-items:center}
.partnership-card-brand img{width:84px;height:110px;object-fit:contain;mix-blend-mode:multiply}
.partnership-card-brand h3{font-size:24px;margin-top:13px}
.partnership-card-brand p{font-size:15px;margin-top:7px}
.partnership-card-brand .partnership-link{margin-top:16px;padding-top:0}
@media(max-width:800px){.agency-partnerships{padding-block:65px 75px}.partnership-grid{grid-template-columns:1fr 1fr}.partnership-card{min-height:215px;padding:25px}.partnership-card h3{font-size:24px}.partnership-card-brand{grid-column:1/-1;min-height:180px}}
@media(max-width:580px){.agency-partnerships{padding-block:55px 65px}.partnership-grid{grid-template-columns:1fr;gap:14px}.partnership-card{min-height:190px;padding:24px}.partnership-card h3{font-size:26px;margin-top:18px}.partnership-card-brand{grid-column:auto;grid-template-columns:75px 1fr;gap:18px;min-height:180px}.partnership-card-brand img{width:68px;height:92px}.partnership-card-brand h3{font-size:23px}}
