/* Weekly dispatches: authored type, actual press photography, readable reporting. */
body.gbds-v2-news-story-page { background: #fff; }
body.gbds-v2-news-story-page :is(.content, .content-in, #content, #main) { width: 100%!important; max-width: none!important; margin: 0!important; padding: 0!important; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
body.gbds-v2-news-story-page .content-in { display: block; }
body.gbds-v2-news-story-page :is(#header-container, #sidebar, .breadcrumb, .ad-area, .mobile-footer-menu-buttons, .go-to-top) { display: none!important; }
.gn-story-shell { --ns-ink: #121517; --ns-muted: #61696d; --ns-accent: #087e73; --ns-line: #dce0df; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; color: var(--ns-ink); line-height: 1.9; -webkit-font-smoothing: antialiased; }
.gn-story-shell *, .gn-story-shell *::before, .gn-story-shell *::after { box-sizing: border-box; min-width: 0; }
.gn-story-shell :is(h1,h2,h3,p,figure,ul,ol,dl,dd) { margin: 0; padding: 0; }
#main .gn-story :is(h1,h2,h3) { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; color: inherit; font-weight: 750; line-height: 1.45; letter-spacing: -.04em; }
#main .gn-story :is(h1,h2,h3)::before, #main .gn-story :is(h1,h2,h3)::after { content: none; }
.gn-story-shell a { color: var(--ns-accent); text-underline-offset: .24em; text-decoration-thickness: 1px; }
.gn-story-shell a:focus-visible { outline: 3px solid var(--ns-accent); outline-offset: 5px; }
.gn-story-skip:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gn-story-skip:focus { position: fixed; z-index: 90; top: 10px; left: 10px; padding: 12px 18px; background: #fff; }
.gn-story-nav { position: sticky; z-index: 20; top: 0; min-height: 72px; padding: 12px max(24px,calc((100% - 1180px)/2)); display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #fffffff2; backdrop-filter: blur(15px); border-bottom: 1px solid #e4e5e5; }
.gn-story-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #121517; text-decoration: none; white-space: nowrap; font-size: 13px; font-weight: 650; }
.gn-story-nav .gn-story-brand { gap: 13px; font-size: 19px; font-weight: 800; letter-spacing: -.025em; }
.gn-story-brand span { color: #61696d; font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.gn-story-nav nav { display: flex; gap: 28px; align-items: center; }
.gn-story-nav a:hover { color: #087e73; }
.gn-story-nav::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #087e73; transform: scaleX(var(--news-progress,0)); transform-origin: left; }
.admin-bar .gn-story-nav { top: 32px; }
.gn-story-content:focus { outline: none; }
.gn-story { width: 100%; }
.gn-story section[id], .gn-story footer[id], .ns-sources li[id], #news-index { scroll-margin-top: 100px; }
.ns-wrap { width: min(1120px,calc(100% - 64px)); margin-inline: auto; }
.ns-prose { width: min(740px,100%); margin-inline: auto; font-size: 17px; color: var(--ns-muted); }
.gn-story p { word-break: normal; overflow-wrap: break-word; }
@supports(word-break:auto-phrase) { .gn-story p { word-break: auto-phrase; } }
.ns-line { display: block; white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
.ns-phrase { display: inline-block; white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
.ns-accent { color: var(--ns-accent); }
.ns-opening { min-height: clamp(440px,72svh,770px); padding: 90px 24px; display: grid; place-items: center; text-align: center; }
#main .gn-story .ns-opening h1 { font-size: clamp(35px,7.1vw,102px); line-height: 1.3; letter-spacing: -.055em; }
.ns-intro { padding-bottom: 110px; }
.ns-dateline { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; font-size: 13px; color: var(--ns-muted); font-variant-numeric: tabular-nums; }
.ns-dateline strong { color: var(--ns-accent); font-weight: 650; }
.gn-story .ns-lead { margin: 36px auto 24px; color: var(--ns-ink); font-size: clamp(22px,2.3vw,30px); line-height: 1.85; text-align: center; font-weight: 650; letter-spacing: -.03em; }
.ns-prose p+p { margin-top: 24px; }
.ns-prose strong { color: var(--ns-ink); font-weight: 650; }
#main .gn-story .ns-prose .ns-subhead { margin: 42px auto 22px; color: var(--ns-ink); font-size: 25px; text-align: center; line-height: 1.7; }
.gn-story .ns-editor-label { margin: 0 auto 10px; font-size: 11px; font-weight: 650; color: var(--ns-accent); text-align: center; letter-spacing: .06em; }
.ns-reading { margin: 20px auto 0!important; text-align: center; color: var(--ns-muted); font-size: 13px; }
.ns-index-title { text-align: center; font-size: 18px; font-weight: 650; color: var(--ns-ink); margin: 50px auto 0!important; }
.ns-index-title+.ns-index { margin-top: 20px; }
.gn-story .ns-return { display: block; width: fit-content; min-height: 44px; margin: 38px auto 0; font-size: 12px; }
.gn-story .ns-note { margin-top: 22px; font-size: 13px; color: var(--ns-muted); line-height: 1.9; }
.ns-index { max-width: 920px; margin: 52px auto 0; border-top: 1px solid var(--ns-line); }
.ns-index a { display: grid; grid-template-columns: 40px 1fr auto; gap: 20px; align-items: center; padding: 23px 8px; border-bottom: 1px solid var(--ns-line); text-decoration: none; }
.ns-index a>span:first-child { color: var(--ns-accent); font-variant-numeric: tabular-nums; font-size: 13px; font-weight: 700; }
.ns-index strong { display: block; color: var(--ns-ink); font-size: 20px; line-height: 1.6; font-weight: 650; }
.ns-index small { display: block; color: var(--ns-muted); font-size: 13px; margin-top: 5px; }
.ns-index a>span:last-child { color: var(--ns-ink); font-size: 22px; transition: transform .2s; }
.ns-index a:hover>span:last-child { transform: translateY(3px); }
.ns-chapter { padding-block: 112px; }
.ns-soft { background: #f5f5f4; }
.ns-dark { background: #101315; --ns-ink: #f5f5f4; --ns-muted: #b7bdc2; --ns-accent: #ffb777; --ns-line: #393e41; color: var(--ns-ink); }
.ns-head { max-width: 1100px; margin: 0 auto 54px; text-align: center; }
.gn-story .ns-kicker { color: var(--ns-accent); font-size: 12px; letter-spacing: .07em; font-weight: 700; line-height: 1.6; }
#main .gn-story .ns-head h2 { font-size: clamp(32px,4.7vw,68px); margin-top: 25px; line-height: 1.4; }
.gn-story .ns-head>p:last-child:not(.ns-kicker) { margin-top: 24px; color: var(--ns-muted); font-size: 14px; }
.ns-photo { max-width: 1000px; margin: 44px auto 46px!important; }
.gn-story .ns-photo img { display: block; width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.gn-story .ns-photo figcaption { margin-top: 12px; font-size: 12px; line-height: 1.8; color: var(--ns-muted); text-align: left; }
.gn-story .ns-photo--portrait { max-width: 650px; }
#news-hue .ns-photo { max-width: 800px; }
.ns-photo--portrait img { max-height: 540px; object-fit: contain; background: #fff; }
.ns-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 960px; margin: 42px auto!important; text-align: center; }
.ns-facts>div { padding: 13px 16px; }
.ns-facts>div+div { border-left: 1px solid var(--ns-line); }
.ns-facts dt { font-size: 12px; color: var(--ns-muted); }
.ns-facts dd { margin-top: 10px; font-size: clamp(25px,3vw,42px); line-height: 1.45; letter-spacing: -.04em; font-weight: 750; color: var(--ns-accent); }
.ns-facts dd small { font-size: 14px; letter-spacing: 0; }
.ns-facts .ns-fact-text { font-size: 23px; line-height: 1.6; }
.ns-analysis { max-width: 740px; margin: 38px auto 0; padding-top: 28px; border-top: 1px solid var(--ns-line); }
#main .gn-story .ns-analysis h3 { font-size: 22px; margin-bottom: 18px; text-align: center; color: var(--ns-ink); }
.ns-source-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 22px; font-size: 13px; }
.ns-after { padding-block: 100px; }
.ns-related { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; max-width: 920px; margin-inline: auto; }
.ns-related a { display: block; padding: 30px 0; text-decoration: none; border-top: 1px solid var(--ns-line); }
.ns-related a>span { font-size: 12px; color: var(--ns-accent); }
#main .gn-story .ns-related h3 { font-size: 24px; line-height: 1.6; margin: 16px 0; }
.ns-related p { font-size: 15px; color: var(--ns-muted); }
.ns-related a:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.ns-sources { padding: 76px 0 94px; background: #f5f5f4; }
#main .gn-story .ns-sources h2 { font-size: 32px; text-align: center; }
.ns-sources .ns-prose { font-size: 14px; }
.ns-sources ol { list-style: decimal-leading-zero; padding-left: 30px; margin-top: 34px; }
.ns-sources li { padding: 20px 0 20px 6px; border-top: 1px solid var(--ns-line); }
.ns-sources li::marker { color: #087e73; font-size: 13px; }
.ns-sources li a { display: block; min-height: 44px; font-size: 15px; line-height: 1.8; font-weight: 600; overflow-wrap: break-word; }
.ns-sources li p { margin-top: 8px; line-height: 1.9; }
.ns-back { text-align: center; margin-top: 45px; }
.ns-back a { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 10px 26px; background: #111517; color: #fff; border-radius: 100px; font-size: 14px; font-weight: 650; text-decoration: none; }
@media(max-width:760px) {
  .gn-story-nav { min-height: 64px; padding: 10px 20px; gap: 12px; }
  .gn-story-nav .gn-story-brand { font-size: 16px; }
  .gn-story-nav nav { gap: 18px; }
  .gn-story-nav a { font-size: 12px; }
  .ns-wrap { width: calc(100% - 40px); }
  .ns-opening { min-height: 480px; padding: 72px 16px; }
  #main .gn-story .ns-opening h1 { font-size: clamp(30px,7.7vw,54px); }
  .ns-intro { padding-bottom: 75px; }
  .ns-prose { font-size: 16px; line-height: 2; }
  #main .gn-story .ns-prose .ns-subhead { font-size: clamp(19px,4.6vw,25px); }
  .ns-dateline { gap: 6px 18px; font-size: 12px; }
  .gn-story .ns-lead { font-size: clamp(20px,4.8vw,28px); margin-block: 32px 24px; }
  .ns-index { margin-top: 36px; }
  .ns-index a { grid-template-columns: 24px 1fr 20px; gap: 12px; padding-block: 20px; }
  .ns-index strong { font-size: 17px; }
  .ns-chapter { padding-block: 74px; }
  .ns-head { margin-bottom: 38px; }
  #main .gn-story .ns-head h2 { font-size: clamp(26px,6.15vw,43px); margin-top: 20px; }
  .ns-photo { margin-block: 32px!important; }
  .ns-facts { margin-block: 30px!important; }
  .ns-facts>div { padding: 8px; }
  .ns-facts dt { font-size: 11px; }
  .ns-facts dd { font-size: 28px; }
  .ns-facts dd small { display: block; font-size: 11px; }
  .ns-facts .ns-fact-text { font-size: 17px; }
  .ns-after { padding-block: 74px; }
  .ns-related { grid-template-columns: 1fr; gap: 4px; }
  .ns-sources { padding-block: 62px; }
  .ns-sources ol { padding-left: 25px; }
}
@media(max-width:400px) {
  .gn-story-nav nav { gap: 12px; }
  .gn-story-nav .gn-story-brand { font-size: 15px; }
  .gn-story-brand span { display: none; }
  .ns-facts { grid-template-columns: 1fr; text-align: left; }
  .ns-facts>div { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 12px 0; }
  .ns-facts>div+div { border-left: 0; border-top: 1px solid var(--ns-line); }
  .ns-facts dd { margin: 0; font-size: 27px; }
  .ns-facts dd small { display: inline; }
}
@media(max-width:782px) { .admin-bar .gn-story-nav { top: 46px; } }
@media(prefers-reduced-motion:reduce) { .gn-story-shell * { animation: none!important; transition: none!important; scroll-behavior: auto!important; } }
