.programming-shell { width: min(1040px, 100%); margin-inline: auto; }
.programming-hero { padding: 26px 18px 46px; background: linear-gradient(135deg, #17324d 0%, #17324d 68%, #1f5278 100%); color: #fff; }
.breadcrumb { display: flex; gap: 9px; align-items: center; margin-bottom: 30px; color: #d7e7f2; font-size: 14px; font-weight: 800; }
.breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; }
.programming-hero .eyebrow { margin-bottom: 6px; }
.programming-hero h1 { margin: 0; max-width: 820px; font-size: clamp(38px, 8vw, 68px); line-height: 1.2; letter-spacing: .01em; }
.hero-lead { max-width: 780px; margin: 18px 0 0; color: #e3eef4; font-size: clamp(16px, 2vw, 19px); font-weight: 700; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.hero-actions .button { min-width: 210px; padding: 8px 18px; }
.mobile-break { display: none; }
.programming-main { padding: 30px 16px 68px; }
.study-guide { display: grid; grid-template-columns: minmax(220px, .72fr) 1.3fr; gap: 24px; align-items: start; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.section-kicker { margin: 0 0 4px; color: var(--blue); font-size: 14px; font-weight: 900; letter-spacing: .08em; }
.study-guide h2, .section-heading h2 { margin: 0; font-size: clamp(25px, 4vw, 34px); line-height: 1.35; }
.study-steps { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.study-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 12px; }
.study-steps li > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 900; }
.study-steps strong { display: block; font-size: 18px; }
.study-steps p { margin: 2px 0 0; color: var(--muted); }
.page-section { scroll-margin-top: 18px; margin-top: 54px; }
.section-heading { display: flex; justify-content: space-between; gap: 26px; align-items: end; margin-bottom: 20px; }
.section-heading > p { width: min(480px, 100%); margin: 0; color: var(--muted); }
.print-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.print-card { display: grid; grid-template-columns: 112px 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.print-cover { display: flex; flex-direction: column; padding: 18px 14px; border-top: 12px solid #333; background: #fafafa; color: #10273b; box-shadow: 5px 0 16px #17324d12; }
.print-cover small { font-weight: 900; }
.print-cover strong { margin: 18px 0; font-size: 28px; line-height: 1.05; }
.print-cover span { margin-top: auto; font-size: 13px; font-weight: 900; }
.print-detail { display: flex; min-width: 0; flex-direction: column; padding: 18px; }
.print-detail h3 { margin: 0 0 5px; font-size: 21px; line-height: 1.4; }
.print-detail p { margin: 0 0 12px; color: var(--muted); }
.print-detail .button { align-self: start; min-width: 130px; margin-top: auto; padding-inline: 12px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.tag-row span { padding: 3px 9px; border-radius: 999px; background: var(--soft-blue); font-size: 13px; font-weight: 900; }
.video-status { display: grid; grid-template-columns: 54px 1fr; gap: 16px; align-items: center; padding: 18px 20px; border-radius: 16px 16px 0 0; background: var(--soft-blue); }
.video-status > span { display: grid; place-items: center; width: 48px; height: 38px; border-radius: 9px; background: #d92c2c; color: #fff; }
.video-status strong { font-size: 20px; }
.video-status p { margin: 3px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.video-plan { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 0 0 16px 16px; background: #fff; list-style: none; }
.video-plan li { display: grid; grid-template-columns: 92px 1fr; gap: 2px 14px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.video-plan li:nth-child(2n) { border-right: 0; }
.video-plan li:nth-last-child(-n+2) { border-bottom: 0; }
.video-plan span { grid-row: 1 / span 2; color: var(--blue); font-weight: 900; }
.video-plan strong { font-size: 18px; }
.video-plan small { color: var(--muted); font-size: 14px; }
.return-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 50px; }
.programming-feature { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; margin: 18px 0 22px; padding: 22px; border: 2px solid var(--blue); border-radius: 18px; background: linear-gradient(135deg, #eaf5fb, #fff); box-shadow: var(--shadow); }
.programming-feature__label { display: inline-block; margin-bottom: 5px; color: var(--blue); font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.programming-feature h2 { margin: 0 0 5px; font-size: clamp(23px, 4vw, 31px); line-height: 1.35; }
.programming-feature p { margin: 0; color: var(--muted); }
.programming-feature .button { min-width: 210px; padding-inline: 16px; }
@media (max-width: 720px) {
  .programming-hero { padding-bottom: 36px; }
  .mobile-break { display: initial; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .study-guide { grid-template-columns: 1fr; padding: 20px; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 8px; }
  .print-grid { grid-template-columns: 1fr; }
  .print-card { grid-template-columns: 96px 1fr; }
  .print-cover { padding: 15px 10px; }
  .print-cover strong { font-size: 24px; }
  .print-detail { padding: 15px; }
  .video-plan { grid-template-columns: 1fr; }
  .video-plan li, .video-plan li:nth-child(2n), .video-plan li:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .video-plan li:last-child { border-bottom: 0; }
  .return-nav { grid-template-columns: 1fr; }
  .programming-feature { grid-template-columns: 1fr; padding: 18px; }
  .programming-feature .button { width: 100%; }
}
@media (max-width: 410px) {
  .print-card { grid-template-columns: 82px 1fr; }
  .print-cover strong { font-size: 21px; }
  .print-detail h3 { font-size: 19px; }
  .video-status { grid-template-columns: 44px 1fr; padding: 16px; }
  .video-status > span { width: 42px; }
  .video-plan li { grid-template-columns: 1fr; }
  .video-plan span { grid-row: auto; }
}
