/* A writer's own ads at the end of an issue. No externally hosted artwork.
   Every colour comes from the ad's palette as custom properties, so one
   stylesheet draws every writer's ads. Sizes follow the width of the ads
   themselves, so the same rules work in an issue and in the narrow preview. */
.publisher-promotions{margin:56px 0 40px;padding-top:26px;border-top:1px solid var(--line);font-family:Arial,Helvetica,sans-serif;container-type:inline-size;container-name:promos}
.publisher-promotions-intro{margin-bottom:24px}
.publisher-promotions .publisher-ad-label{font-size:10px;line-height:1.7;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 12px}
.publisher-promotions-intro h2{font:500 clamp(28px,4vw,38px)/1.2 Newsreader,Georgia,serif;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink)}
.publisher-promotions-intro>p:last-child:not(.publisher-ad-label){font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.publisher-promo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.publisher-promotions .publisher-promo{position:relative;min-width:0;overflow:hidden;border:1px solid var(--ad-line,#dcd7ce);border-radius:18px;background:var(--ad-bg,#fff6e9);color:var(--ad-ink,#302011);padding:28px;display:flex;flex-direction:column}
.publisher-promotions .publisher-promo-wide{grid-column:1/-1}
.publisher-promotions .publisher-promo-feature{grid-column:1/-1;padding:34px;background:linear-gradient(125deg,var(--ad-night,#18142b) 0%,var(--ad-night-end,#272049) 100%);color:#fff;border-color:var(--ad-night-line,#49405f)}
.publisher-promotions .publisher-promo-has-steps{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px}
.publisher-promo-copy{min-width:0;display:flex;flex-direction:column;height:100%;align-items:flex-start}
.publisher-promo-brand{display:flex;align-items:center;gap:11px;margin-bottom:25px}
.publisher-promotions .publisher-promo-brand strong{display:block;font-size:18px;line-height:1.35;font-weight:700;color:inherit;overflow-wrap:anywhere}
.publisher-promotions .publisher-promo-brand div>span{display:block;font-size:11px;line-height:1.6;opacity:.75;margin-top:2px;overflow-wrap:anywhere}
.publisher-promo-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:39px;height:39px;border-radius:11px;background:var(--ad-mark,#f79226);color:var(--ad-mark-ink,#20130a);font-size:14px;font-weight:800}
.publisher-promotions img.publisher-promo-logo{object-fit:contain;background:#fff;padding:4px;box-sizing:border-box;color:transparent}
.publisher-promotions img.publisher-promo-logo.is-wide{width:auto;max-width:132px;padding:6px 9px}
.publisher-promo-feature span.publisher-promo-mark{background:var(--ad-night-mark,#8173fb);color:var(--ad-night-mark-ink,#fff)}
.publisher-promotions .publisher-promo-category{font-size:9px;letter-spacing:1.25px;line-height:1.65;font-weight:700;color:var(--ad-accent,#9a4c05);margin:0 0 10px;text-transform:uppercase;overflow-wrap:anywhere}
.publisher-promotions .publisher-promo-category:empty{display:none}
.publisher-promotions .publisher-promo-feature .publisher-promo-category{color:var(--ad-soft,#c4bbff)}
.publisher-promotions .publisher-promo h3{font:700 clamp(23px,3vw,29px)/1.16 Arial,Helvetica,sans-serif;letter-spacing:-.7px;color:inherit;margin:0 0 15px;max-width:430px;text-wrap:balance;overflow-wrap:anywhere}
.publisher-promotions .publisher-promo-feature h3{font-size:clamp(28px,4vw,38px);max-width:420px}
.publisher-promotions .publisher-promo-description{font-size:14px;line-height:1.75;color:inherit;opacity:.88;margin:0 0 23px;max-width:460px;overflow-wrap:anywhere}
.publisher-promotions .publisher-promo-wide:not(.publisher-promo-has-steps) :is(h3,.publisher-promo-description){max-width:620px}
.publisher-promotions .publisher-promo-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 17px;max-width:100%;min-height:46px;box-sizing:border-box;border-radius:9px;text-decoration:none;font-size:13px;line-height:1.5;font-weight:700;background:var(--ad-accent,#9a4c05);color:#fff;white-space:normal;overflow-wrap:anywhere}
.publisher-promotions .publisher-promo-feature .publisher-promo-link{background:var(--ad-night-button,#6456e0);color:var(--ad-night-button-ink,#fff)}
.publisher-promotions a.publisher-promo-link:hover{filter:brightness(1.1);text-decoration:underline;text-underline-offset:3px}
.publisher-promotions .publisher-promo-link:focus-visible{outline:3px solid #007d9a;outline-offset:4px}
.publisher-promo-process{align-self:center;min-width:0;padding:22px;border:1px solid var(--ad-panel-line,#665b88);border-radius:14px;background:#ffffff08}
.publisher-promotions .publisher-promo-process>p{font-size:9px;line-height:1.6;letter-spacing:1.2px;font-weight:700;color:var(--ad-softer,#d4caf4);margin:0 0 21px;text-transform:uppercase}
.publisher-promotions .publisher-promo-process ol{list-style:none;padding:0;margin:0;display:grid;gap:21px}
.publisher-promotions .publisher-promo-process li{display:flex;align-items:flex-start;gap:13px;margin:0;padding:0}
.publisher-promo-process li>span{font-size:11px;line-height:1.6;font-weight:700;color:var(--ad-step,#bcaefb);padding-top:1px}
.publisher-promotions .publisher-promo-process strong{display:block;font-size:13px;line-height:1.5;color:#fff;font-weight:700}
.publisher-promotions .publisher-promo-process small{display:block;font-size:11px;line-height:1.6;color:var(--ad-softer,#d4caf4);margin-top:3px}
@media(max-width:640px){.publisher-promotions{margin:38px 0 30px}.publisher-promo-grid{grid-template-columns:minmax(0,1fr);gap:14px}.publisher-promotions .publisher-promo{padding:25px;border-radius:15px}.publisher-promotions .publisher-promo-has-steps{grid-template-columns:minmax(0,1fr);gap:25px}.publisher-promo-process{width:100%;box-sizing:border-box}.publisher-promo-brand{margin-bottom:21px}.publisher-promotions .publisher-promo-link{font-size:13px;width:100%}.publisher-promotions .publisher-promo h3{font-size:27px}.publisher-promotions .publisher-promo-feature h3{font-size:32px}}
@container promos (max-width:600px){.publisher-promo-grid{grid-template-columns:minmax(0,1fr);gap:14px}.publisher-promotions .publisher-promo{padding:25px;border-radius:15px}.publisher-promotions .publisher-promo-has-steps{grid-template-columns:minmax(0,1fr);gap:25px}.publisher-promo-process{width:100%;box-sizing:border-box}.publisher-promo-brand{margin-bottom:21px}.publisher-promotions .publisher-promo-link{font-size:13px;width:100%}.publisher-promotions .publisher-promo h3{font-size:27px}.publisher-promotions .publisher-promo-feature h3{font-size:32px}}
