/* The 2027 edition: comic almanac + a properly sourced cultural scrapbook. */
.hero-year-line{display:block;font-size:clamp(20px,2vw,28px);font-weight:1000;line-height:1.5;color:#b52c1c;margin-bottom:5px;letter-spacing:-.7px}
.hero-description{max-width:490px}
.year27{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;border:3px solid var(--ink);border-radius:13px;box-shadow:7px 7px 0 var(--ink);overflow:hidden;margin-top:22px;background:#fff9e9;position:relative}
.year27-ticket{padding:27px 30px 25px;background:#ed4027;color:#fff7df;position:relative;border-right:3px dashed var(--ink);display:flex;flex-direction:column;justify-content:center}
.year27-kicker{font-size:11px;letter-spacing:2px;font-weight:950;margin:0;color:#ffe59a}
.year27-number{display:block;font-size:clamp(90px,10vw,148px);font-weight:1000;line-height:1;letter-spacing:-10px;color:#ffd234;text-shadow:4px 4px 0 var(--ink);-webkit-text-stroke:2px var(--ink);margin:5px 0 12px}
.year27-zodiac{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:1000;line-height:1.5;margin:0}
.year27-zodiac:after{content:'✦';font-size:30px;color:#ffd234}
.year27-date{font-size:12px;font-weight:850;margin:10px 0 0;line-height:1.8;color:#fff0c3}
.year27-source{font-size:10px;color:#fff0c3;text-underline-offset:3px;margin-top:5px;align-self:flex-start}
.year27-comic{padding:28px;display:flex;flex-direction:column;justify-content:center;gap:20px;position:relative;background-image:radial-gradient(#b09b7135 .8px,transparent .8px);background-size:8px 8px}
.year27-comic h3{font-size:clamp(25px,2.8vw,36px);line-height:1.25;margin:0;color:var(--ink)}
.year27-comic h3 span{color:#dc3824}
.year27-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.year27-panel{min-width:0;border:2px solid var(--ink);background:#ffdd6a;position:relative;padding:17px 14px 15px;box-shadow:3px 3px 0 var(--ink);border-radius:6px;transform:rotate(-2deg)}
.year27-panel:nth-child(2){background:#fff8e2;transform:rotate(2deg)}
.year27-panel b{display:block;font-size:15px;line-height:1.5;margin:0 0 6px}
.year27-panel p{font-size:11px;line-height:1.8;margin:0;color:#74553a}
.year27-panel-label{font-size:9px;font-weight:950;color:#a53121;letter-spacing:1px;display:block;margin-bottom:13px}
.year27-note{font-size:10px;line-height:1.8;color:#7b6044;margin:0}
.newsroom{padding:0 0 85px;scroll-margin-top:32px}
.news-edition{position:relative;border:3px solid var(--ink);background:#fff9e9;box-shadow:7px 7px 0 var(--ink);padding:30px 34px 25px;background-image:radial-gradient(#9c7f4520 .6px,transparent .6px);background-size:5px 5px}
.news-edition:before{content:'';position:absolute;top:-16px;left:35px;width:115px;height:29px;transform:rotate(-6deg);border:1px solid #bd8b4760;background:#efc361a3;pointer-events:none}
.news-topline{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:15px;border-bottom:2px solid var(--ink);font-weight:900;font-size:10px;letter-spacing:1px;color:#775232}
.news-topline p{margin:0}.news-edition-stamp{color:#bd3524;border:2px solid #bd3524;padding:5px 10px;transform:rotate(4deg);white-space:nowrap}
.news-masthead{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding:22px 0 20px;border-bottom:5px double var(--ink)}
.news-masthead h2{font-size:clamp(32px,4.5vw,57px);letter-spacing:-2px;margin:0;line-height:1.1;color:var(--ink)}
.news-masthead h2 span{display:block;font-size:11px;letter-spacing:4px;font-weight:900;color:#a13422;margin-bottom:9px}
.news-masthead>p{font-size:12px;font-weight:800;line-height:1.8;margin:0;max-width:230px;flex-shrink:0;color:#77563e;text-align:right}
.news-deck{font-size:13px;line-height:1.9;color:#77583c;margin:20px 0 16px;max-width:920px}
.news-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:10px 0 20px;border-bottom:1px solid #bba077}
.news-filters{display:flex;flex-wrap:wrap;gap:7px}
.news-filter{border:1.5px solid var(--ink);border-radius:4px;padding:7px 11px;background:#fff5d8;color:var(--ink);font-size:11px;font-weight:900;min-height:33px;cursor:pointer}
.news-filter[aria-pressed=true]{color:#fff7df;background:#dc3924;box-shadow:2px 2px 0 var(--ink)}
.news-count{font-size:10px;font-weight:850;color:#866247;white-space:nowrap}
.news-featured{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0 24px;border-bottom:3px double var(--ink)}
.news-featured[hidden]{display:none}
.news-headline{min-width:0;position:relative;display:flex;flex-direction:column;padding:23px;background:#fff0c4;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:3px}
.news-headline:nth-child(2){background:#ffe0bc}
.news-meta{display:flex;gap:11px;align-items:center;font-size:10px;color:#836146;line-height:1.5;font-weight:800}
.news-type{color:#a82f20;background:#fff8e6;border:1px solid #ba8052;padding:3px 6px;font-size:9px;font-weight:950}
.news-publisher{font-size:11px;letter-spacing:1px;font-weight:950;color:#9d301f;margin:19px 0 9px;line-height:1.5}
.news-headline h3{font-size:25px;line-height:1.45;letter-spacing:-.7px;margin:0 0 15px}
.news-title-link{text-decoration:none}.news-title-link:hover{color:#bf301f;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.news-summary{font-size:12px;line-height:1.9;color:#71543a;margin:0 0 13px}
.news-source,.news-related{font-size:9px;line-height:1.85;color:#92704e;margin:0 0 6px;overflow-wrap:anywhere}
.news-related a{text-underline-offset:3px}
.news-read{display:inline-flex;align-self:flex-start;gap:8px;font-size:11px;line-height:1.6;color:#982c1e;font-weight:950;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;white-space:nowrap}
.news-headline>.news-read{margin-top:auto;padding-top:18px}
.news-items{display:flex;flex-direction:column}
.news-item{display:grid;grid-template-columns:95px minmax(0,1fr) auto;gap:20px;border-bottom:1px solid #c8b18c;padding:23px 0;align-items:start}
.news-item>.news-meta{flex-direction:column;align-items:flex-start;gap:9px;padding-top:3px}
.news-item .news-publisher{font-size:10px;margin:0 0 5px}
.news-item h3{font-size:19px;letter-spacing:-.3px;line-height:1.5;margin:0 0 8px}
.news-item .news-summary{font-size:11px;margin:0 0 8px;line-height:1.85}
.news-item .news-read{padding-top:29px;font-size:10px}
.news-more{display:block;width:100%;border:2px dashed #a98c60;background:#ffeab0;padding:13px 18px;color:#7c3c22;font-size:12px;font-weight:950;margin:23px 0 0;cursor:pointer;border-radius:4px}
.news-more[hidden]{display:none}.news-more:hover{background:#ffdc68}
.news-footnote{display:grid;grid-template-columns:1fr auto;gap:20px;margin-top:21px;align-items:end}.news-footnote p{font-size:9px;line-height:1.85;color:#8a6c4c;margin:0;max-width:820px}
.news-signoff{font-size:23px!important;font-weight:1000;letter-spacing:-1px;transform:rotate(-6deg);color:#d13a25!important;white-space:nowrap}
.news-translated{font-size:9px;color:#8a6c4c;margin:8px 0 0}
.news-empty{font-size:13px;padding:20px 0}
@media(max-width:1120px){.site-header nav{gap:16px}.site-header nav a{font-size:11px}.year27-number{font-size:115px}.news-edition{padding:28px}.news-headline h3{font-size:23px}}
@media(max-width:900px){.year27{grid-template-columns:1fr}.year27-ticket{border-right:0;border-bottom:3px dashed var(--ink);display:grid;grid-template-columns:1fr 1fr;padding:22px 28px;align-items:center;gap:0 20px}.year27-kicker,.year27-number{grid-column:1;}.year27-number{font-size:112px;margin:3px 0}.year27-zodiac{grid-column:2;grid-row:1/3;font-size:27px;align-self:start;margin-top:20px;flex-wrap:wrap;gap:3px}.year27-date{grid-column:2;grid-row:2;align-self:end;margin-bottom:13px;font-size:11px}.year27-source{grid-column:1/-1;margin-top:7px}.year27-comic{padding:27px}.news-masthead{align-items:flex-start}.news-masthead>p{max-width:190px;font-size:11px}.news-headline h3{font-size:21px}.news-headline{padding:19px}.news-item{grid-template-columns:80px minmax(0,1fr);gap:14px}.news-item .news-read{grid-column:2;padding:0}.news-featured{gap:18px}.hero-year-line{font-size:24px}}
@media(max-width:640px){.hero-year-line{font-size:22px;line-height:1.5;letter-spacing:-.9px}.hero-description{font-size:13px}.year27{margin-top:10px;box-shadow:4px 4px 0 var(--ink)}.year27-ticket{padding:19px;gap:0 14px;grid-template-columns:1fr 1fr}.year27-number{font-size:84px;letter-spacing:-6px;-webkit-text-stroke:1.5px;text-shadow:3px 3px 0 var(--ink)}.year27-kicker{font-size:8px;letter-spacing:1.2px}.year27-zodiac{font-size:22px;margin-top:9px;line-height:1.2}.year27-zodiac:after{font-size:23px}.year27-date{font-size:10px;line-height:1.8;margin-bottom:0}.year27-source{font-size:9px;line-height:1.7}.year27-comic{padding:23px 19px;gap:17px}.year27-comic h3{font-size:26px}.year27-panels{gap:11px}.year27-panel{padding:15px 11px 12px}.year27-panel b{font-size:13px}.year27-panel p{font-size:10px}.year27-panel-label{font-size:8px;margin-bottom:10px}.year27-note{font-size:9px}.newsroom{padding-bottom:58px}.news-edition{padding:22px 17px 20px;border-width:2px;box-shadow:4px 4px 0 var(--ink)}.news-edition:before{left:20px;width:85px;height:24px;top:-13px}.news-topline{gap:8px;font-size:8px;letter-spacing:.5px;padding-bottom:13px}.news-edition-stamp{font-size:8px;padding:4px 6px;border-width:1.5px}.news-masthead{display:block;padding:19px 0 17px}.news-masthead h2{font-size:37px;letter-spacing:-1.5px;line-height:1.15}.news-masthead h2 span{font-size:8px;letter-spacing:2px;margin-bottom:8px}.news-masthead>p{font-size:10px;text-align:left;max-width:none;margin-top:13px}.news-deck{font-size:11px;line-height:1.9;margin:16px 0 9px}.news-toolbar{flex-direction:column;align-items:flex-start;gap:11px;padding-bottom:17px}.news-filters{gap:6px}.news-filter{padding:6px 8px;font-size:10px;min-height:32px}.news-count{font-size:9px}.news-featured{grid-template-columns:1fr;gap:18px;padding:19px 0 21px}.news-headline{padding:18px}.news-headline h3{font-size:21px;line-height:1.45}.news-publisher{font-size:10px;margin-top:15px}.news-summary{font-size:11px}.news-source,.news-related{font-size:9px}.news-headline>.news-read{padding-top:12px}.news-item{grid-template-columns:1fr;gap:10px;padding:21px 0}.news-item>.news-meta{flex-direction:row;align-items:center;padding:0;gap:12px}.news-item .news-read{grid-column:1}.news-item h3{font-size:18px}.news-item .news-summary{font-size:11px}.news-footnote{grid-template-columns:1fr;gap:12px}.news-footnote p{font-size:9px}.news-signoff{justify-self:end;font-size:20px!important;margin:0 6px 5px!important}.news-more{font-size:11px;margin-top:19px}.news-meta{font-size:9px}}
@media(prefers-reduced-motion:reduce){.year27-panel,.news-edition-stamp{transition:none}}
/* Keep the Chinese masthead balanced on narrow screens instead of orphaning its last character. */
@media(max-width:640px){.news-masthead h2{text-wrap:balance}}
/* Give the date its own grid row in both languages. English zodiac names need more lines. */
@media(max-width:900px){
 .year27-ticket{row-gap:8px}
 .year27-kicker{grid-column:1/-1;grid-row:1}
 .year27-number{grid-column:1;grid-row:2;align-self:center}
 .year27-zodiac{grid-column:2;grid-row:2;margin-top:0;align-self:center}
 .year27-date{grid-column:2;grid-row:3;align-self:start;margin:0}
 .year27-source{grid-column:1;grid-row:3;align-self:start;margin:0}
}

/* Real source media: linked program covers and original newspaper headline clippings. */
.news-media{margin:18px 0 20px;border:2px solid var(--ink);background:#fffdf5;box-shadow:3px 3px 0 #2a211c22;overflow:hidden}
.news-media-label{display:block;padding:8px 12px;background:#2a211c;color:#fff3d4;font-size:10px;line-height:1.6;font-weight:900;letter-spacing:.8px}
.news-media--program .news-media-label{background:#be3422}
.news-media-viewport{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;min-width:0;background:#f7edd8;overflow:hidden}
.news-media-image-link{display:block;width:100%;height:100%;text-decoration:none}
.news-source-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;transition:opacity .2s}
.news-media:not(.news-media-ready) .news-source-image{opacity:0}
.news-media--press-clipping .news-media-viewport{aspect-ratio:2/1}
.news-media-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;color:#9b7a50;font-size:11px;pointer-events:none}
.news-media-caption{display:flex;flex-direction:column;gap:6px;padding:11px 12px;color:#6a5139;font-size:10px;line-height:1.7;border-top:1px solid #c9b38f;background:#fff9e9}
.news-media-credit{font-size:9px;line-height:1.7;color:#8a6d4b}
.news-media-source{color:#a12f20;font-size:10px;font-weight:900;align-self:flex-start;text-underline-offset:3px}
.news-media-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:24px;min-height:150px;text-align:center}
.news-media-fallback p{font-size:11px;line-height:1.8;margin:0;color:#795d3d;max-width:280px}
.news-media-fallback .news-media-source{align-self:center}
.news-media-fallback-mark{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--ink);background:#ffdb5c;box-shadow:2px 2px 0 var(--ink);font-size:23px;font-weight:950}
.news-video-outbound{display:inline-flex;padding:8px 11px;background:#bd3423;color:#fff9e9;border:1.5px solid var(--ink);border-radius:4px;box-shadow:2px 2px 0 var(--ink);text-decoration:none;margin-top:3px}
.news-video-outbound:hover{background:#d53c25}
.news-summary-label{display:block;font-size:9px;letter-spacing:1px;font-weight:900;color:#a63724;margin:2px 0 7px}
.news-text-only .news-summary{border-left:3px solid #e5b658;padding-left:13px}
.news-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:25px}
.news-item{display:flex;flex-direction:column;gap:0;min-width:0;padding:21px;border:2px solid #c3a77c;box-shadow:3px 3px 0 #c3a77c;background:#fff9e9;position:relative}
.news-item>.news-meta{flex-direction:row;align-items:center;gap:12px;padding:0;margin-bottom:16px}
.news-item .news-item-body{flex:1;min-width:0;width:100%}
.news-item .news-publisher{margin-bottom:8px}
.news-item h3{font-size:20px;line-height:1.45;margin-bottom:14px}
.news-item>.news-read{margin-top:17px;padding:0;grid-column:auto}
.news-item.news-has-media{border-color:#2a211c;box-shadow:3px 3px 0 #2a211c}
.news-item .news-media{margin:15px 0 18px}
.news-item .news-summary{font-size:12px}
.news-headline .news-summary{font-size:12px}
.news-source,.news-related{font-size:10px}
@media(max-width:900px){.news-item{padding:18px}.news-item h3{font-size:19px}.news-media-caption{font-size:10px}.news-items{gap:18px}}
@media(max-width:640px){
 .news-items{grid-template-columns:1fr;padding-top:20px;gap:18px}
 .news-item{padding:17px;box-shadow:3px 3px 0 #c3a77c}
 .news-item h3{font-size:20px}
 .news-media{margin:16px 0}
 .news-media-label{font-size:9px;padding:7px 10px}
 .news-media-caption{padding:10px;font-size:10px}
 .news-media-credit{font-size:9px}
 .news-source,.news-related{font-size:10px}
 .news-media-fallback{padding:18px}
 .news-summary-label{font-size:9px;letter-spacing:.5px}
}
@media(prefers-reduced-motion:reduce){.news-source-image{transition:none}}
