/**
 * K-Magazine publication system.
 * Editorial chrome, homepage newsroom modules, advertising and trust surfaces.
 */

:root {
  --kmag-wrapper: 1180px;
  --publication-night: #101118;
  --publication-ink: #171820;
  --publication-wine: #8e143f;
  --publication-rose: #d52463;
  --publication-ivory: #f4f0e9;
  --publication-sand: #e7dfd3;
}

.publication-eyebrow {
  margin: 0 0 16px;
  color: var(--kmag-accent);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.3;
  text-transform: uppercase;
}

.publication-button {
  display: inline-flex;
  min-height: 48px;
  padding: 11px 20px;
  border: 1px solid currentColor;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-size: 1.15rem;
  font-weight: 750;
  letter-spacing: .02em;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.publication-button:hover { transform: translateY(-2px); }
.publication-button--light { border-color: rgba(255,255,255,.55); color: #fff; }
.publication-button--light:hover { background: #fff; color: var(--publication-ink); }
.publication-button--dark { border-color: var(--publication-ink); background: var(--publication-ink); color: #fff; }
.publication-button--dark:hover { background: var(--kmag-accent); border-color: var(--kmag-accent); color: #fff; }

/* Live briefing */
.publication-briefing { border-bottom: 1px solid #dedfe3; background: #fff; }
.publication-briefing__inner { display: grid; min-height: 48px; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; }
.publication-briefing__label { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.publication-briefing__label > span { width: 7px; height: 7px; border-radius: 50%; background: #e8235d; box-shadow: 0 0 0 5px rgba(232,35,93,.09); }
.publication-briefing__label strong { font-family: var(--kmag-serif); font-size: 1.04rem; letter-spacing: .08em; }
.publication-briefing__label time { padding-left: 9px; border-left: 1px solid #dadbe0; color: #85878d; font-size: .94rem; }
.publication-briefing__rail { display: flex; min-width: 0; overflow: hidden; align-items: center; }
.publication-briefing__rail a { display: none; min-width: 0; align-items: center; gap: 10px; }
.publication-briefing__rail a:first-child { display: flex; }
.publication-briefing__rail time { flex: 0 0 auto; color: var(--kmag-accent); font-size: .98rem; font-weight: 750; }
.publication-briefing__rail span { overflow: hidden; font-size: 1.1rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.publication-briefing__all { display: inline-flex; align-items: center; gap: 12px; color: #5f6168; font-size: 1rem; font-weight: 700; white-space: nowrap; }

/* Lead story composition */
.home-hero { padding: 30px 0; background: #f0ede8; }
.home-hero-inner { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(370px, .9fr); gap: 20px; }
.hero-main-card { position: relative; width: auto; min-width: 0; overflow: hidden; background: #111; }
.hero-main-image { display: block; aspect-ratio: 16/11; }
.hero-main-image::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,9,13,.02) 26%, rgba(8,9,13,.34) 56%, rgba(8,9,13,.94) 100%); content: ""; }
.hero-main-shade { position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); pointer-events: none; }
.hero-main-copy { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 38px 38px 34px; color: #fff; }
.hero-main-copy > p:first-child { display: flex; margin: 0 0 13px; align-items: center; gap: 12px; color: rgba(255,255,255,.7); font-size: .88rem; font-weight: 800; letter-spacing: .16em; }
.hero-main-copy > p:first-child span { padding: 5px 9px; background: var(--kmag-accent); color: #fff; letter-spacing: .08em; }
.hero-main-card .hero-main-copy h1 { min-height: 0; margin: 0; background: transparent; font-family: var(--kmag-serif); font-size: clamp(2.8rem, 3.5vw, 4.8rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.24; }
.hero-main-card .hero-main-copy h1 a { display: block; min-height: 0; padding: 0; overflow: visible; color: #fff; }
.hero-main-excerpt { display: -webkit-box; max-width: 680px; margin: 15px 0 13px; overflow: hidden; color: rgba(255,255,255,.8); font-size: 1.2rem; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hero-main-copy > time { color: rgba(255,255,255,.62); font-size: .96rem; }
.hero-sub-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 1px; background: #d8d5d0; }
.hero-sub-card { display: grid; min-height: 0; grid-template-columns: 158px minmax(0, 1fr); background: #fff; }
.hero-sub-image { height: 100%; min-height: 0; margin: 0; aspect-ratio: auto; }
.hero-sub-copy { display: flex; min-width: 0; padding: 13px 15px; flex-direction: column; }
.hero-sub-copy .entry-card-meta { margin: 0 0 6px; }
.hero-sub-card h2 { margin: 0; font-size: 1.35rem; line-height: 1.62; }
.hero-sub-card h2 a { -webkit-line-clamp: 3; }

/* Clearly labelled advertising inventory */
.publication-ad-wrap { padding-top: 26px; padding-bottom: 4px; }
.publication-ad-wrap--mid { padding-top: 42px; padding-bottom: 36px; }
.publication-ad-slot { width: min(100%, 970px); margin: 0 auto; }
.publication-ad-label { margin: 0 0 7px; color: #999ca3; font-family: Arial, sans-serif; font-size: .8rem; letter-spacing: .15em; text-align: center; }
.publication-ad-widget > * { margin: 0 auto; }
.publication-ad-fallback { position: relative; display: grid; min-height: 106px; overflow: hidden; grid-template-columns: 1fr auto; align-items: center; padding: 22px 30px; background: #14151b; color: #fff; }
.publication-ad-fallback > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.publication-ad-fallback::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,18,24,.18), rgba(17,18,24,.75) 43%, rgba(17,18,24,.97)); content: ""; }
.publication-ad-fallback > span,
.publication-ad-fallback > b { position: relative; z-index: 1; grid-column: 2; }
.publication-ad-fallback > span { display: flex; min-width: 450px; flex-direction: column; }
.publication-ad-fallback small { color: #ff7aa4; font-family: var(--kmag-serif); font-size: .9rem; font-weight: 700; letter-spacing: .16em; }
.publication-ad-fallback strong { margin-top: 3px; font-size: 1.65rem; }
.publication-ad-fallback em { margin-top: 3px; color: rgba(255,255,255,.62); font-size: 1rem; font-style: normal; }
.publication-ad-fallback > b { display: grid; width: 38px; height: 38px; margin-left: 23px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; place-items: center; }

/* Publication identity */
.publication-desk { margin-top: 48px; background: var(--publication-night); color: #fff; }
.publication-desk__grid { display: grid; min-height: 620px; padding-top: 70px; padding-bottom: 70px; grid-template-columns: minmax(0, 1.18fr) minmax(370px, .82fr); align-items: center; gap: 64px; }
.publication-desk__visual { position: relative; margin: 0; }
.publication-desk__visual::before { position: absolute; z-index: 1; top: -18px; right: -18px; width: 110px; height: 110px; border-top: 1px solid rgba(255,255,255,.38); border-right: 1px solid rgba(255,255,255,.38); content: ""; }
.publication-desk__visual img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.publication-desk__visual figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 46px 18px 13px; background: linear-gradient(transparent, rgba(8,9,12,.8)); color: rgba(255,255,255,.68); font-size: .82rem; letter-spacing: .04em; }
.publication-desk__copy h2 { margin: 0; font-family: var(--kmag-serif); font-size: clamp(3.2rem, 4vw, 5.4rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.2; word-break: keep-all; }
.publication-desk__copy > p:not(.publication-eyebrow) { margin: 24px 0 0; color: rgba(255,255,255,.7); font-size: 1.3rem; line-height: 1.9; word-break: keep-all; }
.publication-desk__links { display: flex; margin-top: 31px; align-items: center; gap: 24px; }
.publication-text-link { display: inline-flex; align-items: center; gap: 13px; color: rgba(255,255,255,.75); font-size: 1.08rem; font-weight: 700; }
.publication-text-link:hover { color: #ff93b6; }
.publication-desk__stats { display: grid; margin: 40px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255,255,255,.16); grid-template-columns: repeat(3, 1fr); }
.publication-desk__stats div { padding: 0 18px; }
.publication-desk__stats div:first-child { padding-left: 0; }
.publication-desk__stats div + div { border-left: 1px solid rgba(255,255,255,.14); }
.publication-desk__stats dt { font-family: var(--kmag-serif); font-size: 2.7rem; line-height: 1; }
.publication-desk__stats dd { margin: 7px 0 0; color: rgba(255,255,255,.5); font-size: .9rem; }

/* Reader comments on the front page */
.reader-voices { margin-top: 34px; padding: 78px 0 82px; background: #f2f4f7; }
.reader-voices__inner { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 58px; }
.reader-voices__heading h2 { margin: 0; font-family: var(--kmag-serif); font-size: 3.7rem; font-weight: 600; letter-spacing: -.04em; line-height: 1.25; word-break: keep-all; }
.reader-voices__heading > p:not(.publication-eyebrow) { margin: 20px 0; color: #686c75; font-size: 1.15rem; line-height: 1.8; word-break: keep-all; }
.reader-voices__heading > a { display: inline-flex; align-items: center; gap: 12px; color: var(--kmag-accent); font-size: 1.05rem; font-weight: 750; }
.reader-voices__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.reader-voice-card { display: flex; min-width: 0; min-height: 225px; padding: 22px; border: 1px solid #e0e2e7; background: #fff; flex-direction: column; box-shadow: 0 8px 28px rgba(20,24,35,.045); }
.reader-voice-card__meta { display: flex; align-items: center; gap: 11px; }
.reader-voice-card__avatar { display: grid; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: var(--publication-ink); color: #fff; place-items: center; font-family: var(--kmag-serif); font-size: 1.4rem; }
.reader-voice-card__meta div { display: flex; min-width: 0; flex-direction: column; }
.reader-voice-card__meta strong { font-size: 1.05rem; }
.reader-voice-card__meta time { color: #979aa2; font-size: .88rem; }
.reader-voice-card blockquote { margin: 18px 0; color: #42454d; font-size: 1.2rem; line-height: 1.75; }
.reader-voice-card blockquote p { margin: 0; }
.reader-voice-card > a { display: flex; margin-top: auto; padding-top: 14px; border-top: 1px solid #eceef1; flex-direction: column; }
.reader-voice-card > a span { color: var(--kmag-accent); font-size: .82rem; font-weight: 750; letter-spacing: .04em; }
.reader-voice-card > a strong { display: -webkit-box; margin-top: 4px; overflow: hidden; font-size: 1rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.reader-voices__empty { padding: 50px; background: #fff; text-align: center; }

.cinema-card-label { position: absolute; z-index: 2; right: 13px; bottom: 13px; padding: 5px 8px; background: rgba(14,15,20,.82); color: #fff; font-family: var(--kmag-serif); font-size: .85rem; font-weight: 700; letter-spacing: .12em; }

/* Magazine introduction */
.inside-newsroom { margin-top: 72px; padding: 90px 0; border-top: 1px solid #dedbd5; background: var(--publication-ivory); }
.inside-newsroom__grid { display: grid; grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr); align-items: center; gap: 82px; }
.inside-newsroom__copy h2 { margin: 0; font-family: var(--kmag-serif); font-size: clamp(3.5rem, 4.7vw, 6.4rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.12; word-break: keep-all; }
.inside-newsroom__copy > p:not(.publication-eyebrow) { margin: 25px 0; color: #5f5e5b; font-size: 1.25rem; line-height: 1.9; word-break: keep-all; }
.inside-newsroom__copy ul { margin: 0 0 30px; padding: 0; border-top: 1px solid #d5cec4; list-style: none; }
.inside-newsroom__copy li { display: flex; min-height: 50px; border-bottom: 1px solid #d5cec4; align-items: center; color: #33343a; font-size: 1.08rem; }
.inside-newsroom__copy li span { width: 40px; color: var(--kmag-accent); font-family: var(--kmag-serif); font-size: .95rem; }
.inside-newsroom__visual { position: relative; margin: 0; padding: 0 0 44px 44px; }
.inside-newsroom__visual::before { position: absolute; inset: 44px 44px 0 0; background: #24252c; content: ""; }
.inside-newsroom__visual img { position: relative; z-index: 1; width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.inside-newsroom__visual figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; display: flex; width: 62%; min-height: 95px; padding: 16px 20px; background: var(--publication-ink); color: #fff; flex-direction: column; justify-content: center; }
.inside-newsroom__visual figcaption span { color: #ff83aa; font-size: .82rem; font-weight: 750; letter-spacing: .14em; }
.inside-newsroom__visual figcaption strong { margin-top: 4px; font-size: 1.15rem; line-height: 1.55; }

/* Campaign banners */
.publication-campaigns { display: grid; padding-top: 64px; padding-bottom: 76px; grid-template-columns: 1.5fr .75fr .75fr; gap: 12px; }
.publication-campaign { position: relative; display: flex; min-height: 220px; overflow: hidden; padding: 28px; background: var(--publication-night); color: #fff; align-items: flex-end; }
.publication-campaign:hover { color: #fff; }
.publication-campaign > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.publication-campaign__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,11,18,.9), rgba(10,11,18,.35)); }
.publication-campaign__copy { position: relative; z-index: 1; display: flex; max-width: 470px; flex-direction: column; }
.publication-campaign__copy small { color: #ff8bb0; font-family: var(--kmag-serif); font-size: .88rem; font-weight: 700; letter-spacing: .13em; }
.publication-campaign__copy strong { margin-top: 8px; font-size: 1.75rem; line-height: 1.4; word-break: keep-all; }
.publication-campaign__copy em { margin-top: 6px; color: rgba(255,255,255,.64); font-size: .96rem; font-style: normal; }
.publication-campaign > b { position: absolute; z-index: 1; top: 22px; right: 22px; display: grid; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; place-items: center; }
.publication-campaign--special { background: linear-gradient(145deg, #80123c, #d32765); }
.publication-campaign--follow { background: linear-gradient(145deg, #282a34, #14151b); }
.publication-campaign--special .publication-campaign__copy strong,
.publication-campaign--follow .publication-campaign__copy strong { font-size: 1.4rem; }

/* Utility/publication chrome hooks used by header, footer and article templates. */
.publication-utility-bar { border-bottom: 1px solid #e7e7e9; background: #fafafa; color: #4e5158; }
.publication-utility-bar__inner { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 20px; }
.publication-utility-bar p { margin: 0; font-size: .92rem; }
.publication-utility-bar nav,
.publication-utility-bar ul { display: flex; margin: 0; padding: 0; align-items: center; gap: 18px; list-style: none; }
.publication-utility-bar a { font-size: .92rem; font-weight: 650; }

/* Header publication bar */
.kmag-v4-publication-bar { border-bottom: 1px solid #e5e6e8; background: #f8f8f9; color: #4c4f57; }
.kmag-v4-publication-bar__inner { display: flex; min-height: 35px; align-items: center; justify-content: space-between; gap: 22px; }
.kmag-v4-publication-bar__identity { display: flex; margin: 0; align-items: center; gap: 9px; font-size: .9rem; }
.kmag-v4-publication-bar__identity strong { color: #1e2026; font-family: var(--kmag-serif); letter-spacing: .11em; }
.kmag-v4-publication-bar__identity time { padding-left: 10px; border-left: 1px solid #d6d7da; color: #7b7e85; }
.kmag-v4-publication-bar__status { width: 6px; height: 6px; border-radius: 50%; background: var(--kmag-accent); box-shadow: 0 0 0 4px rgba(199,31,89,.09); }
.kmag-v4-publication-bar__nav { display: flex; align-items: center; gap: 20px; }
.kmag-v4-publication-bar__nav a { color: #555861; font-size: .9rem; font-weight: 700; }
.site-header-top { background: linear-gradient(90deg, rgba(111,9,60,.98) 0%, rgba(193,24,87,.95) 42%, rgba(31,26,40,.48) 100%), url("../images/newsroom/newsroom-hero.jpg") 88% 48%/690px auto no-repeat, #991052; }
.publication-campaign-link { color: #fff; }
.publication-campaign-link:hover { color: #fff; }
.publication-drawer-links { display: flex; margin: 0 0 22px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); justify-content: space-between; gap: 10px; }
.publication-drawer-links a { color: rgba(255,255,255,.72); font-size: 1rem; font-weight: 650; }
.drawer-campaign { background: linear-gradient(90deg, rgba(95,7,56,.96), rgba(186,25,87,.72)), url("../images/banners/media-partnership.jpg") 72% center/cover no-repeat; }

/* Footer newsroom desk */
.publication-footer-desk { display: grid; margin: 0 0 34px; padding: 40px 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); grid-template-columns: minmax(0, 1.35fr) minmax(300px, .8fr); gap: 54px; }
.publication-footer-desk__statement { min-width: 0; }
.publication-footer-desk__kicker,
.publication-footer-briefing__kicker { margin: 0 0 10px; color: #ff80a8; font-family: var(--kmag-serif); font-size: .88rem; font-weight: 700; letter-spacing: .15em; }
.publication-footer-desk__statement h2 { max-width: 560px; margin: 0; color: #fff; font-family: var(--kmag-serif); font-size: 3.5rem; font-weight: 500; letter-spacing: -.035em; line-height: 1.24; }
.publication-footer-desk__statement > p:not(.publication-footer-desk__kicker) { max-width: 610px; margin: 16px 0 0; color: rgba(255,255,255,.59); font-size: 1.08rem; line-height: 1.85; }
.publication-footer-desk__actions { display: flex; margin-top: 23px; gap: 20px; }
.publication-footer-desk__actions a { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 1rem; font-weight: 700; }
.publication-footer-desk__actions a:hover { color: #ff8eb1; }
.publication-footer-briefing { padding: 26px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.035); }
.publication-footer-briefing h3 { margin: 0; color: #fff; font-family: var(--kmag-serif); font-size: 1.8rem; font-weight: 500; line-height: 1.45; }
.publication-footer-briefing > p:not(.publication-footer-briefing__kicker) { margin: 11px 0 18px; color: rgba(255,255,255,.54); font-size: .98rem; line-height: 1.7; }
.publication-footer-briefing__actions { display: flex; flex-wrap: wrap; gap: 7px; }
.publication-footer-briefing__actions a { display: inline-flex; min-height: 35px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.2); align-items: center; color: rgba(255,255,255,.78); font-size: .88rem; font-weight: 650; }
.publication-footer-briefing__actions a:hover { border-color: #ff80a8; color: #fff; }
.publication-footer-company-links { display: flex; grid-column: 1/-1; margin-top: -24px; flex-wrap: wrap; gap: 8px 22px; }
.publication-footer-company-links a { color: rgba(255,255,255,.58); font-size: .92rem; }
.publication-footer-address { grid-column: 1/-1; margin: -6px 0 0; font-style: normal; }
.publication-footer-address a { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 8px 14px; color: rgba(255,255,255,.66); }
.publication-footer-address strong { color: #fff; font-family: var(--kmag-serif); font-size: 1rem; letter-spacing: .08em; }
.publication-footer-address span { font-size: .88rem; }

@media (max-width: 767px) {
  .publication-footer-address a { align-items: flex-start; flex-direction: column; gap: 4px; line-height: 1.6; }
}

/* Article brief, media disclosure and accountability */
.kmag-v4-article-brief { display: grid; width: min(100%, 660px); margin: 12px auto 30px; padding: 24px 26px; border-top: 3px solid var(--publication-ink); border-bottom: 1px solid #dcdde1; background: #f5f4f2; grid-template-columns: 150px minmax(0, 1fr); gap: 12px 24px; }
.kmag-v4-article-brief__label span { display: block; color: var(--kmag-accent); font-family: var(--kmag-serif); font-size: .86rem; font-weight: 700; letter-spacing: .14em; }
.kmag-v4-article-brief__label h2 { margin: 5px 0 0; font-size: 1.35rem; line-height: 1.45; }
.kmag-v4-article-brief > p { margin: 0; color: #43464d; font-size: 1.24rem; line-height: 1.8; }
.kmag-v4-article-brief__meta { display: flex; grid-column: 2; margin: 3px 0 0; padding: 12px 0 0; border-top: 1px solid #dadadd; gap: 18px; list-style: none; }
.kmag-v4-article-brief__meta li { color: #575a62; font-size: .92rem; }
.kmag-v4-article-brief__meta li span { margin-right: 7px; color: #979aa1; }
.publication-article-date { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.publication-article-date__label { color: #303239; font-size: .9rem; font-weight: 700; }
.publication-article-date--updated { color: var(--kmag-accent); }
.article-trust-media-caption { display: flex; margin-top: 8px !important; padding: 10px 12px; border-left: 2px solid var(--kmag-accent); background: #f6f6f7; flex-direction: column; gap: 4px; color: #62656d !important; text-align: left !important; }
.article-trust-media-caption__credit { font-weight: 650; }
.article-trust-media-caption__disclosure { font-size: .94rem; line-height: 1.6; }
.article-trust { width: min(100%, 660px); margin: 54px auto 0; overflow: hidden; border: 1px solid #dfe0e3; background: #fff; }
.article-trust__heading { padding: 22px 25px 20px; background: var(--publication-ink); color: #fff; }
.article-trust__heading p { margin: 0 0 3px; color: #ff83aa; font-family: var(--kmag-serif); font-size: .82rem; font-weight: 700; letter-spacing: .14em; }
.article-trust__heading h2 { margin: 0; font-family: var(--kmag-serif); font-size: 2rem; font-weight: 500; }
.article-trust__details { padding: 24px 25px; }
.article-trust__details dl { margin: 0 0 19px; }
.article-trust__details dl div { display: grid; min-height: 34px; padding: 7px 0; border-bottom: 1px solid #eeeff1; grid-template-columns: 90px minmax(0, 1fr); }
.article-trust__details dt { color: #888b92; font-size: .95rem; }
.article-trust__details dd { margin: 0; color: #303238; font-size: 1rem; }
.article-trust__details dd a { text-decoration: underline; text-underline-offset: 3px; }
.article-trust__details > p { margin: 0; color: #5d6068; font-size: 1.04rem; line-height: 1.75; }
.article-trust__details .article-trust__demo-note { margin-top: 13px; padding: 12px 13px; border: 1px solid #eed3dc; background: #fff7fa; color: #6b374b; font-size: .96rem; }
.article-trust__actions { display: grid; border-top: 1px solid #dfe0e3; grid-template-columns: repeat(3, 1fr); }
.article-trust__actions a { display: flex; min-height: 48px; padding: 10px 13px; align-items: center; justify-content: space-between; color: #3b3e45; font-size: .92rem; font-weight: 700; }
.article-trust__actions a + a { border-left: 1px solid #e2e3e6; }
.article-trust__actions a:hover { background: #f7f3f5; color: var(--kmag-accent); }

@media (max-width: 1100px) {
  :root { --kmag-wrapper: 1000px; }
  .home-hero-inner { grid-template-columns: minmax(0, 1.3fr) minmax(330px, .8fr); }
  .hero-sub-card { grid-template-columns: 128px minmax(0, 1fr); }
  .publication-desk__grid { gap: 38px; }
  .inside-newsroom__grid { gap: 50px; }
  .publication-campaigns { grid-template-columns: 1.2fr .8fr; }
  .publication-campaign--follow { grid-column: 1/-1; min-height: 155px; }
}

@media (max-width: 900px) {
  .publication-briefing__inner { gap: 14px; }
  .publication-briefing__label time { display: none; }
  .home-hero-inner { grid-template-columns: 1fr; }
  .hero-main-image { aspect-ratio: 16/9; }
  .hero-sub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, 1fr); }
  .hero-sub-card { grid-template-columns: 120px minmax(0, 1fr); }
  .publication-desk__grid { min-height: 0; grid-template-columns: 1fr; }
  .publication-desk__visual { order: 2; }
  .reader-voices__inner { grid-template-columns: 1fr; gap: 34px; }
  .reader-voices__heading { max-width: 600px; }
  .inside-newsroom__grid { grid-template-columns: 1fr; }
  .publication-footer-desk { grid-template-columns: 1fr; }
  .publication-footer-company-links { margin-top: -20px; }
}

@media (max-width: 767px) {
  :root { --kmag-wrapper: 100%; }
  .publication-briefing__inner { min-height: 42px; padding-right: 15px; padding-left: 15px; }
  .publication-briefing__label strong { font-size: .9rem; }
  .publication-briefing__rail span { font-size: 1rem; }
  .publication-briefing__all { display: none; }
  .home-hero { padding: 0; background: #fff; }
  .home-hero-inner { padding: 0; gap: 0; }
  .hero-main-image { aspect-ratio: 4/5; }
  .hero-main-copy { padding: 28px 20px 23px; }
  .hero-main-card .hero-main-copy h1 { font-size: 3.1rem; line-height: 1.25; }
  .hero-main-excerpt { font-size: 1.08rem; -webkit-line-clamp: 2; }
  .hero-sub-grid { padding: 10px; gap: 10px; background: #f2f2f3; }
  .hero-sub-card { display: block; }
  .hero-sub-image { aspect-ratio: 4/3; }
  .hero-sub-copy { padding: 10px; }
  .hero-sub-copy .entry-card-meta time { display: none; }
  .hero-sub-card h2 { font-size: 1.2rem; }
  .publication-ad-wrap { padding: 18px 10px 0; }
  .publication-ad-fallback { min-height: 126px; padding: 18px; }
  .publication-ad-fallback::after { background: rgba(17,18,24,.82); }
  .publication-ad-fallback > span { min-width: 0; grid-column: 1; }
  .publication-ad-fallback > b { grid-column: 2; margin-left: 12px; }
  .publication-ad-fallback strong { font-size: 1.35rem; line-height: 1.5; }
  .publication-desk { margin-top: 28px; }
  .publication-desk__grid { padding: 58px 20px; gap: 40px; }
  .publication-desk__copy h2 { font-size: 3.7rem; }
  .publication-desk__links { align-items: flex-start; flex-direction: column; }
  .publication-desk__stats div { padding: 0 10px; }
  .publication-desk__stats dt { font-size: 2.2rem; }
  .publication-desk__stats dd { font-size: .78rem; }
  .publication-desk__visual::before { display: none; }
  .reader-voices { padding: 58px 0; }
  .reader-voices__inner { padding: 0 20px; }
  .reader-voices__heading h2 { font-size: 3.3rem; }
  .reader-voices__grid { grid-template-columns: 1fr; }
  .reader-voice-card:nth-child(n+4) { display: none; }
  .inside-newsroom { margin-top: 46px; padding: 62px 0; }
  .inside-newsroom__grid { padding: 0 20px; gap: 42px; }
  .inside-newsroom__copy h2 { font-size: 4rem; }
  .inside-newsroom__visual { padding: 0 0 36px 22px; }
  .inside-newsroom__visual::before { inset: 28px 20px 0 0; }
  .inside-newsroom__visual figcaption { width: 82%; min-height: 80px; }
  .publication-campaigns { display: flex; padding: 38px 10px 52px; overflow-x: auto; gap: 10px; scroll-snap-type: x mandatory; }
  .publication-campaign { min-width: 84vw; min-height: 210px; flex: 0 0 84vw; scroll-snap-align: start; }
  .publication-campaign--follow { min-height: 210px; }
  .publication-utility-bar { display: none; }
  .kmag-v4-publication-bar { display: none; }
  .publication-footer-desk { padding: 30px 0; gap: 28px; }
  .publication-footer-desk__statement h2 { font-size: 3rem; }
  .publication-footer-desk__actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .publication-footer-company-links { margin-top: -8px; }
  .kmag-v4-article-brief { display: block; margin: 4px auto 24px; padding: 20px; }
  .kmag-v4-article-brief > p { margin-top: 15px; }
  .kmag-v4-article-brief__meta { margin-top: 14px; }
  .article-trust__actions { grid-template-columns: 1fr; }
  .article-trust__actions a + a { border-top: 1px solid #e2e3e6; border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .publication-button,
  .publication-ad-fallback,
  .publication-campaign { transition: none; }
}
