/* Campaigns and produced ad collections */
.primo-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:28px;flex-wrap:wrap}
.primo-brands{display:flex;gap:6px;flex-wrap:wrap}
.primo-brands button{border:1px solid var(--line);border-radius:30px;padding:9px 14px;background:transparent;font-size:14px;min-height:42px}
.primo-brands button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.primo-brands button:hover{border-color:var(--ink)}
.primo-format{display:grid;gap:7px;font-size:13px;color:var(--muted);min-width:215px}
.primo-format select{font:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid #b9bfb3;border-radius:4px;padding:10px 30px 10px 11px;max-width:100%;min-height:42px}
.primo-format select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.primo-result-count{font-size:14px;color:var(--muted);margin:19px 0 24px}
.primo-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:33px 0 16px}
.primo-section-heading h3{margin:0;font-size:25px;letter-spacing:-.7px}
.primo-section-heading>span{font-size:13px;color:var(--muted)}
.primo-campaigns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.primo-campaign{display:flex;flex-direction:column;text-align:left;padding:24px;background:#fff;border:1px solid var(--line);border-top:3px solid #277b84;border-radius:4px;transition:border-color .2s,background .2s;min-width:0}
.primo-campaign.tone-orange{border-top-color:#bd552c}
.primo-campaign.tone-green{border-top-color:#356d4c}
.primo-campaign:hover{background:#f0f3ed;border-color:#7b8974}
.primo-campaign-title{font:600 23px/1.25 var(--display);letter-spacing:-.6px;overflow-wrap:anywhere}
.primo-campaign-description{color:var(--muted);font-size:15px;line-height:1.55;margin:12px 0 16px}
.primo-campaign-formats{font-size:13px;color:#646b5e;line-height:1.65;margin:auto 0 18px}
.primo-campaign-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:15px;font-size:14px}
.primo-campaign-bottom>span{font-size:23px;line-height:1}
.primo-original{margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}
.primo-original .viewer-source{font-size:14px;margin:0}
.primo-page-links{margin-top:24px;border-top:1px solid var(--line)}
.primo-page-links .doc-link{font-size:16px;padding:16px 8px}
.primo-page-links .doc-link small{font-size:13px}
.primo-references{margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}
.primo-references summary{padding:20px 0;cursor:pointer;font-size:16px}
.primo-references summary span{color:var(--muted);margin-left:12px;font-size:13px}
.primo-references>p{color:var(--muted);margin:0 0 16px}
.primo-references>div{padding-bottom:16px}
.primo-references a{display:block;overflow-wrap:anywhere;padding:10px 0;text-decoration:underline;text-underline-offset:3px}
.campaign-controls{justify-content:flex-start;padding:17px 0}
.primo-materials{border-top:1px solid var(--line)}
.primo-material{display:flex;align-items:center;gap:20px;text-align:left;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:22px 12px}
.primo-material:hover{background:#edf0e7}
.primo-material-number{font-size:13px;color:var(--muted);flex:0 0 25px;align-self:flex-start;padding-top:4px}
.primo-material-text{min-width:0;flex:1}
.primo-material-text strong{display:block;font:550 18px/1.5 var(--display);letter-spacing:-.35px;overflow-wrap:anywhere}
.primo-material-text>span{display:block;font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
.primo-image-count{white-space:nowrap}
.primo-material-arrow{font-size:22px;flex-shrink:0}
.primo-format-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.primo-format-tags>span{font-size:14px;padding:5px 11px;border:1px solid var(--line);border-radius:25px}
.primo-reader{padding-top:15px}
.primo-reader .copy-metadata{padding:10px 15px;background:#edf0e7;margin-bottom:8px;border-left:2px solid #bdc5b6;font-size:15px}
.primo-reader figure{max-width:650px}
.primo-material-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:45px auto 0;padding-top:20px;border-top:1px solid var(--line);max-width:780px}
.primo-material-nav button{font-size:14px;border:1px solid var(--line);border-radius:3px;padding:11px 17px;background:#fff;min-height:44px}
.primo-material-nav button:hover:not(:disabled){background:var(--ink);color:#fff}
.primo-material-nav>span{font-size:13px;color:var(--muted)}
.primo-empty{font-size:16px;color:var(--muted);padding:20px 0}
.ad-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 34px}
.ad-collections.single{grid-template-columns:repeat(2,minmax(0,1fr))}
.ad-collection{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden;text-align:left;padding:0;display:flex;flex-direction:column;min-width:0}
.ad-collection-image{display:block;background:#e9ece6;aspect-ratio:4/3;padding:12px;overflow:hidden}
.ad-collection-image img{height:100%;width:100%;object-fit:contain;transition:transform .3s}
.ad-collection:hover img{transform:scale(1.035)}
.ad-collection-caption{display:grid;grid-template-columns:1fr auto;padding:18px;gap:6px 10px}
.ad-collection-caption strong{font:600 19px/1.3 var(--display);letter-spacing:-.5px}
.ad-collection-caption small{font-size:14px;color:var(--muted);grid-column:1}
.ad-collection-caption .ad-collection-arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:23px}
.viewer-gallery.ads .page-card h3{font-size:16px;line-height:1.5;letter-spacing:-.25px;margin:12px 0 5px}
.viewer-gallery.ads .page-card p{font-size:13px}
.viewer-gallery.ads .page-screen{background:#edf0e7}
.viewer-content:has(.primo-controls) .viewer-intro{font-size:16px}
/* Shared language navigation and responsive safeguards */
.header{height:auto;min-height:92px;justify-content:flex-end;padding-top:24px;padding-bottom:24px}
.header nav{flex-wrap:wrap;justify-content:flex-end;gap:25px}
.language-switch{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:30px;flex-shrink:0}
.language-switch a{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px;border-radius:50%;font-size:14px;font-weight:600;line-height:1}
.language-switch a[aria-current=page]{background:var(--ink);color:#fff}
.language-switch a:hover{background:#e7eae2;color:var(--ink)}
.language-switch a[aria-current=page]:hover{background:var(--ink);color:#fff}
.viewer-scroll{min-height:0}
.viewer-content,.viewer-materials,.about-copy,.archive-groups{min-width:0}
.viewer-content h2,.viewer-intro,.doc-link>span:first-child,.contact-title{overflow-wrap:anywhere}
.contact-title{max-width:100%}
.viewer-back{min-height:44px}
.close-viewer,.gallery-controls button{min-width:44px;min-height:44px}
.video-embed{min-height:0;max-height:70dvh}
@media(min-width:701px) and (max-width:1000px){
 .header nav{gap:18px}
 .header .contact-nav{margin-left:0}
}
@media(max-width:700px){
 .header{min-height:76px;padding-top:16px;padding-bottom:16px;gap:12px}
 .header nav{gap:12px}
 .header .contact-nav{width:44px;height:44px}
 .viewer-content h2{font-size:clamp(28px,6.2vw,36px);line-height:1.2}
 .viewer-intro{font-size:16px!important}
 .viewer-toolbar{padding-left:16px;padding-right:16px;gap:10px}
 .viewer-toolbar>span{min-width:0;overflow-wrap:anywhere}
 .viewer-back,.close-viewer{flex-shrink:0}
 .primo-controls{align-items:stretch;gap:18px;margin-top:23px;padding:18px 0}
 .primo-brands{gap:8px}
 .primo-brands button{font-size:14px;padding:9px 13px}
 .primo-format{width:100%}
 .primo-campaigns{grid-template-columns:1fr;gap:13px}
 .primo-campaign{padding:20px}
 .primo-campaign-title{font-size:23px}
 .primo-section-heading{margin-top:30px}
 .primo-section-heading h3{font-size:24px}
 .primo-material{padding:19px 0;gap:12px}
 .primo-material-number{flex-basis:21px}
 .primo-material-text strong{font-size:17px}
 .primo-material-text>span{font-size:13px}
 .primo-material-arrow{font-size:19px}
 .primo-material-nav button{padding:11px 13px}
 .ad-collections,.ad-collections.single{grid-template-columns:1fr}
 .ad-collection{display:grid;grid-template-columns:110px 1fr;align-items:stretch}
 .ad-collection-image{aspect-ratio:auto;min-height:120px;padding:8px}
 .ad-collection-caption{padding:18px 14px;align-content:center}
 .ad-collection-caption strong{font-size:18px}
 .viewer-content .reader-note{font-size:14px;line-height:1.7}
}
@media(max-width:420px){
 .header nav{flex-wrap:nowrap}
 .primo-material-nav{gap:8px}
 .primo-material-nav button{padding:10px;font-size:14px}
 .ad-collection{grid-template-columns:96px minmax(0,1fr)}
}
@media(max-height:500px) and (orientation:landscape){
 dialog{height:96dvh;max-height:96dvh}
 .viewer-toolbar{min-height:54px}
 .viewer-content{padding-top:24px;padding-bottom:30px}
 .video-embed{max-height:65dvh;aspect-ratio:16/9}
}
