/* Dedicated first-party ad spaces. Scoped to avoid altering the newspaper or game UI. */
.sponsor-slot{--sponsor-paper:#f8f3e9;--sponsor-ink:#151515;--sponsor-accent:#e3bf77;box-sizing:border-box;min-width:0;margin:26px 0;font-family:Inter,Arial,sans-serif;color:var(--sponsor-ink);container-type:inline-size;isolation:isolate}
.sponsor-slot *{box-sizing:border-box}
.sponsor-disclosure{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 1px 7px;color:var(--muted,#66645e);font:500 9px/1.5 Inter,Arial,sans-serif;letter-spacing:.13em}
.sponsor-disclosure span:last-child:not(:first-child){text-align:right;font-size:8px;letter-spacing:.045em}
.sponsor-slot .sponsor-link{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-areas:'brand visual' 'copy visual';gap:0;position:relative;overflow:hidden;min-width:0;min-height:260px;padding:0;border:1px solid #29231c;border-radius:12px;background:#17130f;color:#f8f3e9;text-decoration:none;text-align:left;margin:0;box-shadow:0 7px 20px #16110d0c}
.sponsor-slot .sponsor-link:focus-visible{outline:3px solid #947136;outline-offset:5px}
.sponsor-brand{grid-area:brand;display:flex;align-items:center;gap:12px;min-width:0;padding:25px 28px 0;align-self:start}
.sponsor-brand img{display:block;object-fit:contain;object-position:left center;max-width:100%;height:auto;flex:none}
.sponsor-brand .sponsor-logo-shakur{width:180px;max-height:42px}
.sponsor-brand .sponsor-symbol{width:54px;max-height:28px}
.sponsor-brand .sponsor-wordmark{width:148px;max-width:65%}
.sponsor-visual{grid-area:visual;position:relative;min-width:0;min-height:0;background:#f4f4f6;overflow:hidden;display:flex;align-items:center;justify-content:center}
.sponsor-photo{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;aspect-ratio:1;margin:0;transition:transform .3s ease}
.sponsor-photo-caption{position:absolute;bottom:12px;left:12px;right:12px;padding:7px 9px;background:#f6f4eff2;border:1px solid #e0d8c9;color:#373026;font:500 9px/1.4 Inter,Arial,sans-serif;text-align:center;letter-spacing:.06em}
.sponsor-copy{grid-area:copy;min-width:0;padding:16px 28px 24px;color:#f8f3e9}
.sponsor-slot .sponsor-kicker{display:block;color:#e5c48c;font:600 8px/1.7 Inter,Arial,sans-serif;letter-spacing:.15em}
.sponsor-slot .sponsor-copy h3{margin:8px 0 11px;color:inherit;font:400 clamp(25px,3vw,36px)/1.09 Georgia,'Times New Roman',serif;letter-spacing:-.04em;text-wrap:balance;max-width:18ch}
.sponsor-slot .sponsor-copy p{display:block;margin:0 0 17px;color:#d5cbb9;font:400 12px/1.65 Inter,Arial,sans-serif;max-width:44ch}
.sponsor-slot .sponsor-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;max-width:250px;margin:0;padding:10px 13px;background:#e7c689;border:1px solid #edcf95;border-radius:5px;color:#241b0f;font:650 11px/1.45 Inter,Arial,sans-serif}
.sponsor-cta>span{font-size:19px;line-height:1}
.sponsor-slot .sponsor-domain{display:block;margin-top:11px;color:#c5bcae;font:400 10px/1.4 Inter,Arial,sans-serif;overflow-wrap:anywhere;letter-spacing:.035em}
.sponsor-wedigitlize .sponsor-link{background:radial-gradient(ellipse at 0 0,#2d302f,transparent 65%),#0c0e0d;border-color:#171c19}
.sponsor-wedigitlize .sponsor-kicker{color:#bfcebF}
.sponsor-wedigitlize .sponsor-copy h3{font-family:Inter,Arial,sans-serif;font-weight:600;font-size:clamp(25px,3vw,33px);line-height:1.12;letter-spacing:-.055em}
.sponsor-wedigitlize .sponsor-copy p{color:#c5cbc6}
.sponsor-wedigitlize .sponsor-cta{background:#f3f3ee;border-color:#f3f3ee;color:#151816}
.sponsor-wedigitlize .sponsor-domain{color:#b8c0b9}
.sponsor-wedigitlize .sponsor-visual{background:#e8ebe7}
.sponsor-wedigitlize .sponsor-photo-caption{background:#f5f6f1f2;border-color:#cbd3c9;color:#26332c;font-size:8px}
.sponsor-rail{margin:0 0 26px}
.sponsor-rail .sponsor-link{grid-template-columns:minmax(0,1fr);grid-template-areas:'brand' 'visual' 'copy';border-radius:1px;min-height:0;outline:1px solid #d2b57850;outline-offset:-5px}
.sponsor-rail .sponsor-brand{padding:22px 16px 20px;justify-content:center;gap:10px;flex-wrap:wrap}
.sponsor-rail .sponsor-logo-shakur{width:180px}
.sponsor-rail .sponsor-symbol{width:65px}
.sponsor-rail .sponsor-wordmark{width:145px;max-width:100%}
.sponsor-rail .sponsor-visual{margin:0 10px;aspect-ratio:4/5;border:1px solid #ffffff15}
.sponsor-rail .sponsor-photo-caption{left:5px;right:5px;bottom:7px;padding:5px 3px;font-size:8px;letter-spacing:0}
.sponsor-rail .sponsor-copy{padding:19px 16px 22px}
.sponsor-rail .sponsor-kicker{font-size:7px;letter-spacing:.11em}
.sponsor-rail .sponsor-copy h3{font-size:clamp(23px,1.8vw,30px);margin:10px 0 12px}
.sponsor-rail .sponsor-copy p{font-size:11px;line-height:1.6;margin-bottom:16px}
.sponsor-rail .sponsor-cta{font-size:10px;padding:9px 10px;min-height:44px}
.sponsor-rail .sponsor-domain{font-size:9px;letter-spacing:0}
.sponsor-rail .sponsor-disclosure{font-size:8px;flex-wrap:wrap}
.sponsor-rail .sponsor-disclosure span:last-child:not(:first-child){font-size:7px;text-align:left}
/* Ad positions are in reading/discovery surfaces only, never inside game stages/dialogs. */
#library-view>.sponsor-slot{margin:34px 0}
.paper .sponsor-slot{--muted:#6b675b}
@media(min-width:1101px){.newspaper-layout{grid-template-columns:clamp(165px,13.5vw,225px) minmax(0,1fr) clamp(170px,14vw,235px);gap:clamp(16px,1.5vw,28px)}.left-rail{padding-right:clamp(10px,1vw,18px)}.right-rail{padding-left:clamp(10px,1vw,18px)}}
@media(max-width:1100px) and (min-width:761px){.left-rail .sponsor-slot{grid-column:1/-1;margin:0}.left-rail .sponsor-link{grid-template-columns:minmax(0,1fr) 230px;grid-template-areas:'brand visual' 'copy visual';min-height:250px}.left-rail .sponsor-brand{justify-content:flex-start;padding:21px 25px 0}.left-rail .sponsor-copy{padding:14px 25px 23px}.left-rail .sponsor-copy h3{font-size:30px;max-width:22ch}.left-rail .sponsor-visual{margin:0;aspect-ratio:auto;max-height:300px}.left-rail .sponsor-logo-shakur{width:174px}}
@media(max-width:760px){.right-rail .sponsor-slot{grid-column:1/-1;grid-row:2;margin:0}.right-rail .weather-panel{grid-column:1/-1}.left-rail .sponsor-slot{margin:0 0 20px}.left-rail .sponsor-link,.right-rail .sponsor-link{grid-template-columns:minmax(0,1fr) minmax(110px,.75fr);grid-template-areas:'brand visual' 'copy visual';border-radius:2px;min-height:240px}.left-rail .sponsor-brand,.right-rail .sponsor-brand{padding:18px 15px 0;justify-content:flex-start}.left-rail .sponsor-brand .sponsor-logo-shakur{width:150px}.left-rail .sponsor-copy,.right-rail .sponsor-copy{padding:12px 15px 18px}.left-rail .sponsor-copy h3,.right-rail .sponsor-copy h3{font-size:24px;line-height:1.12;max-width:16ch}.left-rail .sponsor-copy p,.right-rail .sponsor-copy p{font-size:10px;line-height:1.6}.left-rail .sponsor-visual,.right-rail .sponsor-visual{margin:0;border:0;aspect-ratio:auto}.sponsor-brand{padding:22px 20px 0}.sponsor-copy{padding:14px 20px 22px}.sponsor-slot .sponsor-copy h3{font-size:27px}.sponsor-slot .sponsor-copy p{font-size:11px}.sponsor-brand .sponsor-symbol{width:46px}.sponsor-brand .sponsor-wordmark{width:130px}.sponsor-disclosure{font-size:8px}}
@media(max-width:540px){.sponsor-wide .sponsor-link{grid-template-columns:minmax(0,1fr) minmax(100px,.75fr);min-height:290px;border-radius:9px}.sponsor-wide .sponsor-brand{flex-wrap:wrap;gap:9px;padding:20px 15px 0}.sponsor-wide .sponsor-copy{padding:14px 15px 19px}.sponsor-wide .sponsor-copy h3{font-size:24px}.sponsor-wide .sponsor-copy p{font-size:10px;line-height:1.55}.sponsor-wide .sponsor-logo-shakur{width:155px}.sponsor-wide .sponsor-wordmark{max-width:100%;width:136px}.sponsor-slot .sponsor-cta{font-size:10px;padding:9px 10px}.sponsor-slot .sponsor-domain{font-size:9px;letter-spacing:0}.sponsor-slot .sponsor-photo-caption{font-size:8px;left:5px;right:5px;bottom:8px;padding:5px}.sponsor-slot .sponsor-kicker{font-size:7px;letter-spacing:.08em}}
@media(hover:hover){.sponsor-link:hover .sponsor-cta{text-decoration:underline;text-underline-offset:3px}}
@media(prefers-reduced-motion:reduce){.sponsor-slot *{transition:none!important;animation:none!important}}
@media print{.sponsor-slot{display:none!important}}

.sponsor-slot,.sponsor-slot .sponsor-link{scroll-margin-top:85px}
.sponsor-campaign-vanilla .sponsor-photo{object-fit:cover}

/* Photographs and headline ink enter once when their advert becomes visible.
   The advertisement link, original logos, disclosure and response stay fixed. */
@media(prefers-reduced-motion:no-preference){
 .sponsor-motion-enter .sponsor-photo{animation:sponsor-product-arrive 4.2s cubic-bezier(.16,.8,.24,1) 1 both}
 .sponsor-wedigitlize.sponsor-motion-enter .sponsor-photo{animation-name:sponsor-portfolio-arrive}
 .sponsor-motion-enter .sponsor-copy h3,.sponsor-motion-enter .paper-ad-heading h3{animation:sponsor-ink-arrive .9s ease-out 1 both}
 @keyframes sponsor-product-arrive{0%{opacity:.76;transform:translateY(4px)}38%,100%{opacity:1;transform:translateY(0)}}
 @keyframes sponsor-portfolio-arrive{0%{opacity:.8;transform:translateX(4px)}42%,100%{opacity:1;transform:translateX(0)}}
 @keyframes sponsor-ink-arrive{from{opacity:.7;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
}
html[data-sponsor-page-hidden] .sponsor-motion-enter .sponsor-photo,html[data-sponsor-page-hidden] .sponsor-motion-enter h3,.sponsor-motion-enter:focus-within .sponsor-photo,.sponsor-motion-enter:focus-within h3,html[data-sponsor-motion="paused"] .sponsor-motion-enter .sponsor-photo,html[data-sponsor-motion="paused"] .sponsor-motion-enter h3{animation-play-state:paused!important}
html[data-sponsor-motion="off"] .sponsor-motion-enter .sponsor-photo,html[data-sponsor-motion="off"] .sponsor-motion-enter h3{animation:none!important;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.sponsor-motion-enter .sponsor-photo,.sponsor-motion-enter h3{animation:none!important;opacity:1;transform:none}}
.sponsor-link>.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Sponsor cards sit on dark artwork: keep their text light even when page themes recolour headings. */
.sponsor-slot .sponsor-link .sponsor-copy h3{color:#f7efe1!important}
.sponsor-slot .sponsor-link .sponsor-copy p{color:#d5cbb9!important}
.sponsor-wedigitlize .sponsor-link .sponsor-copy p{color:#c5cbc6!important}
.paper .sponsor-slot .sponsor-link .sponsor-copy h3,.paper .sponsor-slot .sponsor-link .sponsor-copy p{color:inherit!important}
/* Phones: keep sponsor card text legible (it was rendering at 7–9px). */
@media (max-width:600px){
  body:not(.newspaper-page) .sponsor-slot .sponsor-kicker,body:not(.newspaper-page) .sponsor-slot .sponsor-photo-caption,body:not(.newspaper-page) .sponsor-slot .sponsor-domain{font-size:11px!important;letter-spacing:.04em}
  body:not(.newspaper-page) .sponsor-slot .sponsor-cta{font-size:13px!important}
  body:not(.newspaper-page) .sponsor-slot .sponsor-link .sponsor-copy p{font-size:13px!important;line-height:1.5}
  body:not(.newspaper-page) .sponsor-slot .sponsor-disclosure span{font-size:10px!important}
}
