/* Three distinct chapters of the same year, set as an open editorial spread. */
.events .events-inner.year-story { padding-top: 64px; padding-bottom: 100px; }
.events.reveal-section .year-story h2::after,
.events.reveal-section .year-story h3::after { display: none; }
.year-story a { text-decoration: none; }
.year-story-masthead-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 23px; border-bottom: 1px solid #a9bbcc; }
.year-story-masthead-top .eyebrow { display: flex; align-items: center; gap: 13px; margin: 0; color: #547397; font-size: 12px; font-weight: 700; letter-spacing: .07em; }
.year-story-masthead-top .eyebrow-line { width: 38px; height: 1px; background: #547397; }
.year-story-edition { color: #68829b; font-size: 12px; font-weight: 700; letter-spacing: .1em; white-space: nowrap; }
.year-story-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); gap: 60px; align-items: end; padding: 40px 0 37px; }
.year-story-hero h2 { margin: 0; color: #192f50; font-family: 'Maru Buri', serif; font-size: clamp(64px, 6.3vw, 92px); font-weight: 600; line-height: 1.12; letter-spacing: -.065em; }
.year-story-wave { display: block; width: min(100%, 620px); height: auto; margin-top: 15px; }
.year-story-intro { max-width: 370px; margin: 0 0 11px auto; color: #4d6680; font-size: 17px; line-height: 1.8; word-break: keep-all; }
.year-story-intro strong { display: block; margin-bottom: 13px; color: #2b557e; font-size: 12px; letter-spacing: .12em; }
.events .annual-guide.year-story-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 76px; }
.year-story-timeline::before { background: #90a9bf; }
.year-story-timeline > a { position: relative; display: flex; align-items: baseline; gap: 10px; min-width: 0; padding: 25px 8px 0 0; border-top: 1px solid #90a9bf; color: #28486c; }
.year-story-timeline > a::before { position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: #416a92; content: ''; }
.year-story-timeline > a:nth-child(2)::before { background: #b08a58; }
.year-story-timeline > a b { font-family: 'Maru Buri', serif; font-size: 25px; font-weight: 600; white-space: nowrap; }
.year-story-timeline > a small { color: #627d98; font-size: 13px; white-space: nowrap; }
.events .year-story-timeline > a small { margin-left: 0; }
.year-story-timeline > a:hover b,
.year-story-timeline > a:focus-visible b { color: #4c7295; }
.events .year-story-timeline .annual-walker { top: 0; width: 52px; height: 67px; }
.year-story-chapter { scroll-margin-top: 102px; }
.year-story-index { display: flex; justify-content: space-between; align-items: center; gap: 20px; color: #507393; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.year-story-status { display: inline-block; flex: none; padding-bottom: 6px; border-bottom: 1px solid #8da8bd; color: #5c7793; font-size: 12px; white-space: nowrap; }
.year-story-status[data-state="upcoming"],
.year-story-status[data-state="recruiting"],
.year-story-status[data-state="live"] { color: #204b74; border-color: #204b74; }
.year-story-hanja { margin: 0 0 10px; color: #5e7a96; font-family: 'Maru Buri', serif; font-size: 17px; letter-spacing: .12em; }
.year-story-title { margin: 0 0 23px; color: #192f50; font-family: 'Maru Buri', serif; font-size: clamp(54px, 5vw, 72px); font-weight: 600; line-height: 1.13; letter-spacing: -.055em; }
.year-story-description { max-width: 410px; margin: 0; color: #465d75; font-size: 16px; line-height: 1.8; word-break: keep-all; }
.year-story-date { margin: 32px 0 0; padding-top: 15px; border-top: 1px solid #b1c4d2; color: #496b8a; font-size: 13px; font-weight: 700; line-height: 1.6; }
.year-story-date span { margin-left: 6px; }
.year-story-primary { display: inline-flex; justify-content: space-between; align-items: center; gap: 32px; min-width: 170px; min-height: 44px; margin-top: 8px; padding: 9px 1px 7px; border-bottom: 1px solid #648aab; color: #1e4b75; font-size: 14px; font-weight: 700; }
.year-story-secondary { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 17px; color: #567593; font-size: 12px; font-weight: 700; }
.year-story-secondary a { min-height: 32px; padding: 4px 0; border-bottom: 1px solid #9ab0c2; }
.year-story-primary:hover,
.year-story-secondary a:hover { color: #547ba1; }
.year-story-spring { display: grid; grid-template-columns: .42fr .58fr; min-height: 540px; gap: 50px; align-items: stretch; }
.year-story-spring-copy { display: flex; flex-direction: column; padding: 24px 0 17px; border-top: 1px solid #a9bbcc; }
.year-story-spring-core { margin: auto 0; }
.year-story-spring-art { position: relative; min-height: 540px; margin: 0; overflow: hidden; border-radius: 180px 0 0 0; }
.year-story-spring-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.year-story-art-link { position: relative; display: block; width: 100%; height: 100%; color: #f8f8f4; }
.year-story-art-link:focus-visible { outline: 3px solid #a9d2ec; outline-offset: -5px; }
.year-story-photo-hint { position: absolute; z-index: 2; left: 20px; bottom: 22px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.65); background: rgba(20,43,76,.86); color: #f8f8f4; font-size: 13px; font-weight: 700; transition: background .2s; }
.year-story-art-link:hover .year-story-photo-hint { background: #315d88; }
.year-story-art-note { position: absolute; right: 20px; bottom: 22px; padding: 10px 13px; background: rgba(234,241,247,.9); color: #235076; font-family: 'Maru Buri', serif; font-size: 20px; }
.year-story-interlude { display: flex; align-items: center; justify-content: center; gap: 26px; padding: 56px 0 53px; }
.year-story-interlude::before,
.year-story-interlude::after { display: block; flex: 1; height: 1px; background: #b1c2d0; content: ''; }
.year-story-interlude p { margin: 0; color: #446a8b; font-family: 'Maru Buri', serif; font-size: 22px; line-height: 1.5; letter-spacing: -.03em; text-align: center; word-break: keep-all; }
.year-story-autumn { position: relative; min-height: 548px; overflow: hidden; background: #142b4c; color: #f6f5ef; }
.year-story-autumn-art { position: absolute; inset: 0 0 0 36%; margin: 0; overflow: hidden; }
.year-story-autumn-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% 50%; }
.year-story-autumn-art::after { position: absolute; inset: 0; background: linear-gradient(90deg, #142b4c 0%, rgba(20,43,76,.83) 13%, rgba(20,43,76,.05) 55%); content: ''; pointer-events: none; }
.year-story-autumn-art .year-story-photo-hint { left: auto; right: 24px; top: 22px; bottom: auto; }
.year-story-autumn-copy { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(57%, 650px); min-height: 548px; padding: 38px 30px 36px 42px; }
.year-story-autumn-core { margin: auto 0; }
.year-story-autumn .year-story-index,
.year-story-autumn .year-story-status { color: #d9e5ef; }
.year-story-autumn .year-story-status { border-color: #c1a572; }
.year-story-autumn .year-story-hanja { color: #d7c29b; }
.year-story-autumn .year-story-title,
.year-story-autumn .year-story-primary { color: #fff; }
.year-story-autumn .year-story-description { color: #dce6ee; max-width: 380px; }
.year-story-autumn .year-story-date { border-color: rgba(216,231,243,.4); color: #d1e0ee; }
.year-story-autumn .year-story-primary { border-color: #bfa472; }
.year-story-autumn .year-story-secondary { color: #d8e5ef; }
.year-story-autumn .year-story-secondary a { border-color: #829ab0; }
.year-story-autumn .year-story-primary:hover,
.year-story-autumn .year-story-secondary a:hover { color: #e9cc94; }
.year-story-keywords { display: flex; gap: 9px; margin-top: 20px; color: #e5d3b6; font-family: 'Maru Buri', serif; font-size: 14px; }
.year-story-keywords span + span::before { padding-right: 9px; color: #acbdd0; content: '·'; }
.year-story-autumn-corner { position: absolute; z-index: 1; right: 28px; bottom: 24px; color: #e8d6b9; font-family: 'Maru Buri', serif; font-size: 19px; }
.year-story-winter { padding-top: 90px; }
.year-story-winter-head { margin-bottom: 22px; }
.year-story-winter-picture { position: relative; height: 385px; margin: 0; overflow: hidden; border-radius: 0 160px 0 0; }
.year-story-winter-picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.year-story-winter-picture .year-story-photo-hint { left: auto; right: 20px; }
.year-story-winter-seal { position: absolute; bottom: 20px; left: 20px; padding: 10px 15px; background: #f0e9d8; color: #315375; font-family: 'Maru Buri', serif; font-size: 19px; }
.year-story-winter-content { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; padding: 31px 0 24px; border-bottom: 1px solid #a9bbcc; }
.year-story-winter-heading .year-story-hanja { margin-bottom: 7px; }
.year-story-winter-heading .year-story-title { margin: 0; }
.year-story-winter-detail { padding-top: 2px; }
.year-story-winter-detail .year-story-description,
.year-story-winter-detail .year-story-date { max-width: 530px; }
.year-story-winter-detail .year-story-date { margin-top: 19px; }
.year-story-endnote { display: flex; align-items: center; gap: 18px; padding-top: 65px; color: #6d879e; font-size: 12px; letter-spacing: .07em; }
.year-story-endnote::before { width: 50px; height: 1px; background: #8ca8be; content: ''; }
@media (max-width: 800px) {
  .events .events-inner.year-story { padding-top: 42px; padding-bottom: 80px; }
  .year-story-masthead-top { padding-bottom: 18px; }
  .year-story-edition { font-size: 10px; }
  .year-story-hero { display: block; padding: 32px 0 25px; }
  .year-story-hero h2 { font-size: clamp(48px, 12.5vw, 68px); }
  .year-story-wave { width: min(100%, 380px); margin-top: 8px; }
  .year-story-intro { max-width: 500px; margin: 14px 0 0; font-size: 15px; line-height: 1.7; }
  .year-story-intro strong { display: none; }
  .events .annual-guide.year-story-timeline { margin-top: 65px; margin-bottom: 54px; }
  .year-story-timeline > a { display: block; padding-top: 17px; }
  .year-story-timeline > a b { font-size: 20px; }
  .year-story-timeline > a small { display: block; margin-top: 3px; font-size: 11px; }
  .events .year-story-timeline .annual-walker { width: 39px; height: 52px; }
  .year-story-chapter { scroll-margin-top: 86px; }
  .year-story-spring { display: flex; flex-direction: column; gap: 0; min-height: 0; }
  .year-story-spring-art { order: 0; min-height: 0; height: 300px; border-radius: 115px 0 0 0; }
  .year-story-spring-copy { order: 1; padding: 21px 0 8px; border: 0; }
  .year-story-spring-core { margin: 28px 0 0; }
  .year-story-index,
  .year-story-status { font-size: 11px; }
  .year-story-hanja { font-size: 15px; }
  .year-story-title { margin-bottom: 14px; font-size: 50px; }
  .year-story-description { font-size: 15px; line-height: 1.7; }
  .year-story-date { margin-top: 25px; font-size: 12px; }
  .year-story-primary { font-size: 13px; }
  .year-story-interlude { gap: 11px; padding: 42px 0; }
  .year-story-interlude p { max-width: 270px; font-size: 17px; }
  .year-story-autumn { display: flex; flex-direction: column; min-height: 0; }
  .year-story-autumn-art { position: relative; inset: auto; order: 0; height: 275px; }
  .year-story-autumn-art::after { display: none; }
  .year-story-autumn-copy { order: 1; width: 100%; min-height: 0; padding: 24px 22px 33px; }
  .year-story-autumn-core { margin: 30px 0 0; }
  .year-story-autumn .year-story-date { margin-top: 23px; }
  .year-story-autumn-corner { top: 227px; right: 18px; bottom: auto; padding: 8px 11px; background: rgba(20,43,76,.88); }
  .year-story-winter { padding-top: 62px; }
  .year-story-winter-head { margin-bottom: 17px; }
  .year-story-winter-picture { height: 260px; border-radius: 0 105px 0 0; }
  .year-story-winter-content { display: block; padding: 22px 0 27px; }
  .year-story-winter-heading .year-story-title { margin-bottom: 17px; }
  .year-story-winter-detail .year-story-date { margin-top: 22px; }
  .year-story-endnote { padding-top: 43px; }
}
@media (max-width: 390px) {
  .year-story-spring-art { height: 275px; }
  .year-story-autumn-art { height: 250px; }
  .year-story-autumn-corner { top: 202px; }
  .year-story-timeline > a small { font-size: 10px; }
}
