/* Shared readable typography. Layout and content remain owned by each page. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/manrope-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020-2027,U+2030-203E,U+2041-2053,U+20A0-20AB,U+20AD-20C0,U+20C2-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--mc-font:Manrope,Arial,Helvetica,sans-serif;--muted:#505c70;--mc-copy:16px;--mc-small:14px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--mc-font)!important;font-size:var(--mc-copy);line-height:1.65;font-weight:400}
button,input,select,textarea{font-family:var(--mc-font)!important}
body h1,body h2,body h3,body h4,body .plan-label strong{font-family:var(--mc-font)!important;font-weight:700!important;letter-spacing:-.025em!important;line-height:1.3!important;overflow-wrap:break-word}
body h1{font-size:clamp(32px,4.1vw,54px)!important;line-height:1.18!important}
body h2{font-size:clamp(28px,3vw,42px)!important}
body h3{font-size:clamp(23px,2.4vw,30px)!important}
body h4{font-size:20px!important}
body h1 em,body h2 em,body h3 em,body h4 em{font-family:inherit!important;font-weight:inherit!important}
body p{font-size:var(--mc-copy)!important;line-height:1.75!important;letter-spacing:0}
body .hero p,body .contact p{color:#d2daea!important}
.hero-note,.hero-bottom,.contact-box address{font-size:var(--mc-small)!important;line-height:1.65!important;color:#d2daea!important;letter-spacing:0}
.section-head p,.sub-head>p,.service-copy p,.format-text p,.guide-card p,.step p,.press-card p,.modal-inner>p{font-size:var(--mc-copy)!important;line-height:1.75!important}
.availability,.gallery-note,.form-note,.period-note{font-size:15px!important;color:#505c70!important;line-height:1.75!important}
.channel-list,.detail-list{font-size:16px!important;line-height:1.75!important}
.eyebrow,.guide-label,.format-index,.step>span{font-size:13px!important;line-height:1.5!important;letter-spacing:1px!important;font-weight:800}
.eyebrow{flex-wrap:wrap}
.hero .eyebrow,.contact .eyebrow{color:#d2daea}
.btn,.text-link,.pill,.filter,.service-copy button.pill{font-size:14px!important;line-height:1.5!important;font-weight:750!important;letter-spacing:0;min-height:44px}
.btn:not(.blue):not(.outline):not(.light){color:#0c1428!important}
.filter,.pill{white-space:normal}
.channels summary,.seo-section summary{font-size:17px!important;line-height:1.5!important}
body label{font-size:14px!important;line-height:1.5}
body input,body select,body textarea{font-size:16px!important;line-height:1.5}
.crumb,.guide-back,.related a,.seo-directory-links a{font-size:14px!important;line-height:1.65!important}
.footer,footer{font-size:14px!important;line-height:1.65!important;color:#c8d2e4}
.footer .wrap{flex-wrap:wrap;gap:12px 24px}
.whatsapp{font-size:13px!important;line-height:1.4!important;max-width:calc(100vw - 24px)}
.contact-box>small,.contact-box address{font-size:14px!important;line-height:1.65!important;color:#d2daea!important}
.contact-box>a.mail{font-size:17px!important;overflow-wrap:anywhere}
.promise span{font-size:13px!important;line-height:1.5!important;letter-spacing:.3px}
.ticker{font-size:13px!important;letter-spacing:.8px!important}
.ticker div{flex-wrap:wrap;white-space:normal;row-gap:10px}
body .hero h1 .hero-media-title{font-size:clamp(22px,2.5vw,32px)!important;line-height:1.4!important;letter-spacing:-.02em!important}
body .hero h1 em{font-size:1em!important}
body .plan-heading h2{font-size:24px!important;line-height:1.4!important}
.plan-kicker{font-size:12px!important;line-height:1.5!important;letter-spacing:.7px!important;color:#c2cee5!important}
.media-plan .plan-label small{font-size:14px!important;line-height:1.45!important;letter-spacing:.5px!important}
body .media-plan .plan-label strong{font-size:19px!important;line-height:1.4!important;letter-spacing:0!important}
.media-plan .plan-label>span{font-size:14px!important;line-height:1.5!important;color:#c8d2e4!important}
.plan-footer{font-size:12px!important;line-height:1.55!important;letter-spacing:0!important;flex-wrap:wrap;gap:8px 12px}
.service-tab{font-size:23px!important;font-weight:750!important;line-height:1.4}
.service-tab small{font-size:12px!important;line-height:1.4}
body .service-copy h3{font-size:clamp(26px,2.7vw,34px)!important}
body .format-text h4,body .step h3{font-size:21px!important;line-height:1.4!important}
.format-art>small{font-size:12px!important;line-height:1.5!important;color:#d2daea!important;letter-spacing:0!important}
.demo-screen>span,.demo-screen>b{font-size:10px!important;letter-spacing:0!important;line-height:1.35!important}
.art-no{font-size:12px!important;color:#d2daea!important;letter-spacing:.5px!important}
body .group-heading h4{font-size:20px!important;line-height:1.4!important;letter-spacing:0!important}
.group-heading>span{font-size:14px!important;line-height:1.5!important}
.group-heading>small{font-size:14px!important}
.station-grid li{font-size:16px!important;line-height:1.5!important;font-weight:700!important;min-height:52px;overflow-wrap:break-word!important}
.photo-label{font-size:12px!important;line-height:1.5!important;letter-spacing:.5px!important;max-width:calc(100% - 32px)}
.card-caption{gap:12px}
.card-caption strong{font-size:17px!important;line-height:1.45!important}
.card-caption small{font-size:14px!important;line-height:1.5!important;color:#505c70!important}
.card-caption .arrow{flex-shrink:0}
.press-card time{font-size:14px!important;color:#505c70!important}
body .press-card h3,body .guide-card h3{font-size:24px!important;line-height:1.4!important}
.press-card a,.guide-card a{font-size:15px!important;line-height:1.6!important}
body .body-grid h2{font-size:clamp(24px,2.1vw,30px)!important;line-height:1.4!important}
body .callout h2{font-size:25px!important}
.body-grid article li,.callout li,.ooh-formats li{font-size:16px;line-height:1.75}
.ooh-nav a{font-size:14px!important;line-height:1.5!important}
body .team-caption h2{font-size:18px!important;line-height:1.4!important;letter-spacing:0!important}
.team-caption p{font-size:14px!important;line-height:1.6!important;letter-spacing:0!important;color:#505c70!important}
.team-caption{padding:17px 15px 20px}
#clients .client:nth-child(n) span{font-size:13px!important;line-height:1.4!important;color:#505c70!important;font-weight:500;bottom:9px;padding:0 8px}
#clients .client:nth-child(n) img{top:calc(50% - 16px);max-height:calc(100% - 56px)}
.links{font-size:14px!important;gap:15px}
.plan-nav-links a{font-size:14px!important;line-height:1.55!important}
.nav{gap:20px}
.wrap.nav{padding-left:clamp(24px,4vw,56px);padding-right:clamp(24px,4vw,56px)}
.nav>.btn{font-size:13px!important;gap:12px;padding:13px 16px}
@media(min-width:801px){
  :root{--mc-copy:17px}
}
@media(min-width:1101px) and (max-width:1360px){
  .nav .links{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:25px 6%;border-bottom:1px solid #e2e5ed;flex-direction:column;gap:20px}
  .nav .links.open{display:flex}
  .nav .menu{display:block;margin-left:auto}
  .nav .links .plan-nav-links{position:static;min-width:0;margin-top:12px;box-shadow:none;background:#f5f6f9}
  .nav .links .mobile-home-link{display:block}
  .nav>.btn{margin-left:auto}
}
@media(max-width:1360px){
  .nav .links{font-size:16px!important;line-height:1.6;gap:20px;max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}
  .nav .links .plan-nav-links a{font-size:15px!important}
}
@media(max-width:800px){
  body h1{font-size:clamp(30px,7.6vw,38px)!important}
  body h2{font-size:clamp(27px,6.7vw,34px)!important}
  body h3{font-size:24px!important}
  body .hero h1 .hero-media-title{font-size:clamp(20px,5.25vw,28px)!important}
  body .plan-heading h2{font-size:22px!important}
  body .service-copy h3{font-size:27px!important}
  body .format-text h4,body .step h3{font-size:20px!important}
  .service-tabs{gap:18px;overflow-x:auto}
  .service-tab{font-size:19px!important;flex-shrink:0}
  .service-tab small{font-size:11px!important}
  .format-body .format-text{padding:16px}
  .station-grid li{font-size:16px!important;padding:12px 8px;min-height:52px}
  #service:is([aria-labelledby="tab-tv"],[aria-labelledby="tab-radio"]) .media-channel-ready .group-heading{min-height:100px;padding:18px 58px 46px 16px;align-items:flex-start}
  #service:is([aria-labelledby="tab-tv"],[aria-labelledby="tab-radio"]) .media-channel-ready .group-heading h4{font-size:18px!important;line-height:1.45!important}
  #service:is([aria-labelledby="tab-tv"],[aria-labelledby="tab-radio"]) .media-channel-toggle-label{font-size:14px!important;line-height:1.5!important;bottom:13px;font-weight:750}
  #service:is([aria-labelledby="tab-tv"],[aria-labelledby="tab-radio"]) .media-channel-toggle svg{width:34px;height:34px;padding:8px}
  .availability{font-size:16px!important}
  body .team-caption h2{font-size:16px!important}
  .team-caption p{font-size:14px!important}
  .team-caption{padding:15px 12px 18px}
  #clients .client:nth-child(n){min-height:124px}
  .whatsapp{right:12px;bottom:14px;padding:12px 14px;font-size:12px!important}
  .footer,footer{font-size:13px!important}
}
@media(max-width:700px){
  .nav{gap:12px}
  .wrap.nav{padding-left:6%;padding-right:6%}
  .nav .brand{font-size:clamp(18px,4.6vw,22px);letter-spacing:-.8px}
  .nav .brand small{font-size:7px;letter-spacing:1px}
  .nav>.btn{font-size:12px!important;line-height:1.35!important;padding:10px 12px;max-width:112px;text-align:center;flex-shrink:0}
  .nav>.btn .arrow{display:none}
  .nav .menu{min-width:32px;min-height:44px;padding:0;flex-shrink:0}
  .nav .links{top:74px;max-height:calc(100dvh - 74px)}
}
@media(max-width:360px){
  .nav>.btn{display:none}
  .service-tabs{gap:12px}
  .service-tab{font-size:18px!important}
  .media-plan .plan-row{grid-template-columns:58px minmax(0,1fr) 14px;gap:9px}
  body .media-plan .plan-label strong{font-size:18px!important}
}
