.course-november { --course-navy:#19385e; --course-blue:#28518b; --course-muted:#53667e; --course-red:#b8263b; color:var(--course-navy); background:#fff; }
.course-november * { box-sizing:border-box; }
.course-november .course-page { padding-top:76px; }
.course-november section[id] { scroll-margin-top:95px; }
.course-november .course-brandbar { max-width:1240px; padding:32px 40px; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:40px; }
.course-november .hku-mark { width:340px; max-width:48%; height:auto; }
.course-november .rfo-mark { width:365px; max-width:40%; height:auto; }
.course-november .november-hero { display:grid; grid-template-columns:1.4fr 1fr; background:var(--course-navy); color:#fff; overflow:hidden; }
.course-november .november-hero-copy { padding:48px 30px 48px max(40px,calc((100vw - 1160px)/2)); align-self:center; }
.course-november .november-kicker { margin:0 0 14px; font-size:16px; font-weight:400; letter-spacing:.06em; }
.course-november .november-hero .november-kicker { color:#dce7f5; }
.course-november .november-hero h1 { margin:0; font-family:inherit; font-size:clamp(32px,3.9vw,55px); line-height:1.35; font-weight:600; letter-spacing:0; }
.course-november .november-date { margin:24px 0 0; font-size:clamp(18px,2vw,24px); color:#fff; }
.course-november .november-hero-image { width:100%; height:100%; min-height:340px; max-height:410px; object-fit:cover; object-position:center; }
.course-november .hero-actions { display:flex; align-items:center; gap:24px; margin-top:30px; }
.course-november .hero-actions>a { color:#fff; font-size:16px; }
.course-november .hero-actions .button { background:#fff; color:var(--course-navy); min-height:48px; padding:12px 25px; border-radius:0; }
.course-november .course-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; max-width:1160px; margin:0 auto; padding:23px 0; border-bottom:1px solid #d6e0ec; font-size:16px; }
.course-november .course-summary b { font-size:14px; color:var(--course-muted); margin-right:12px; font-weight:500; }
.course-november .course-summary strong { font-size:22px; color:var(--course-red); }
.course-november .november-section { max-width:1240px; padding:50px 40px 0; margin:auto; }
.course-november .november-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; }
.course-november .november-heading h2 { margin:0; padding-left:14px; border-left:4px solid var(--course-red); color:var(--course-navy); font:600 28px/1.4 inherit; font-size:28px; line-height:1.4; }
.course-november .november-heading h2 span { font-size:12px; color:var(--course-muted); font-weight:400; margin-left:15px; letter-spacing:.02em; vertical-align:middle; }
.course-november .november-heading>p { margin:0; font-size:14px; color:var(--course-muted); }
.course-november .november-schedule { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.course-november .schedule-day { display:flex; flex-direction:column; gap:4px; }
.course-november .schedule-day>h3 { margin:0; padding:17px 24px; background:var(--course-navy); text-align:center; color:#fff; font-size:22px; font-weight:500; }
.course-november .schedule-day>h3 span { margin-left:12px; }
.course-november .lesson { display:flex; flex-direction:column; justify-content:center; text-align:center; padding:24px; min-height:248px; background:#edf3f8; }
.course-november .lesson p { margin:0; }
.course-november .lesson-time { font-size:14px; color:var(--course-muted); margin-bottom:18px!important; }
.course-november .lesson-time span { margin-left:12px; }
.course-november .lesson-module { color:var(--course-blue); font-size:14px; font-weight:600; }
.course-november .lesson h4 { margin:10px 0 14px; font-size:21px; line-height:1.6; font-weight:500; color:var(--course-navy); }
.course-november .lesson-speaker { font-size:16px; color:var(--course-navy); }
.course-november .lesson-organizer { margin-top:14px!important; color:var(--course-muted); font-size:14px; line-height:1.6; }
.course-november .lesson-rfo { background:#f9eded; }
.course-november .lesson-rfo .lesson-module { color:var(--course-red); }
.course-november .lesson-afternoon { flex:1; }
.course-november .lesson-split { display:grid; gap:4px; }
.course-november .lesson-split .lesson { min-height:0; padding:22px 18px; }
.course-november .lesson-split .lesson-time { margin-bottom:8px!important; }
.course-november .lesson-split h4 { font-size:19px; margin:6px 0 8px; }
.course-november .november-faculty { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.course-november .november-faculty article { padding:2px 0; }
.course-november .november-faculty img { display:block; width:90px; height:116px; object-fit:contain; object-position:left center; border:0; border-radius:0; margin-bottom:16px; }
.course-november .november-faculty h3 { margin:0 0 12px; font-size:21px; line-height:1.4; color:var(--course-navy); font-weight:500; }
.course-november .november-faculty p { margin:0; font-size:15px; line-height:1.85; color:var(--course-muted); overflow-wrap:break-word; }
.course-november .november-notice { color:var(--course-muted); font-size:14px; line-height:1.8; margin:28px 0 0; }
.course-november .activity-section { margin-top:30px; padding-top:45px; border-top:1px solid #d6e0ec; }
.course-november .activity-row { display:grid; grid-template-columns:88px minmax(0,1fr); gap:32px; padding:26px 0; border-bottom:1px solid #dce4ee; }
.course-november .activity-row:first-child { padding-top:8px; }
.course-november .activity-row:last-child { border-bottom:0; }
.course-november .activity-date { display:flex; flex-direction:column; align-items:center; padding-top:4px; color:var(--course-blue); }
.course-november .activity-date strong { font-size:26px; line-height:1.4; }
.course-november .activity-date span { font-size:16px; margin-top:5px; }
.course-november .activity-row h3 { margin:0 0 14px; font-size:22px; color:var(--course-navy); font-weight:600; }
.course-november .activity-row dl { margin:0; }
.course-november .activity-row dl>div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:16px; font-size:16px; line-height:1.8; margin:4px 0; }
.course-november .activity-row dt { color:var(--course-blue); font-weight:500; }
.course-november .activity-row dd { margin:0; }
.course-november .activity-row p { color:var(--course-muted); font-size:16px; line-height:1.85; margin:14px 0 0; }
.course-november .november-benefit { max-width:1160px; margin:32px auto 55px; padding:32px; display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:40px; background:#edf3f8; border-top:3px solid var(--course-navy); }
.course-november .november-benefit h2 { font-size:27px; line-height:1.5; color:var(--course-navy); margin:0 0 14px; }
.course-november .november-benefit p:not(.november-kicker) { font-size:16px; line-height:1.9; margin:0; }
.course-november .november-price { border-left:1px solid #cedbea; padding-left:32px; }
.course-november .november-price>span { font-size:14px; color:var(--course-muted); }
.course-november .november-price strong { font-size:42px; font-weight:500; color:var(--course-navy); }
.course-november .november-price .button { margin-top:15px; display:flex; border-radius:0; background:var(--course-navy); color:#fff; font-size:16px; min-height:48px; }
.course-november .registration { padding:48px max(40px,calc((100vw - 1160px)/2)); }
.course-november .registration .eyebrow { color:var(--course-blue); }
.course-november .registration h2 { color:var(--course-navy); font-size:32px; }
.course-november .registration .section-heading p { font-size:16px; }
.course-november .registration-form input,.course-november .registration-form select,.course-november .registration-form textarea { font-size:16px; min-width:0; }
.course-november .registration-form>label { min-width:0; }
.course-november .registration-form small { margin-left:5px; color:var(--course-muted); font-size:12px; font-weight:400; }
.course-november .product-price,.course-november .product-total { flex-wrap:wrap; }
.course-november .product-price strong,.course-november .product-total strong { white-space:normal; }
.course-november .final-notice { margin:20px auto 30px; padding:0 40px; max-width:1240px; }
.course-november a:focus-visible,.course-november button:focus-visible { outline:3px solid #ae3548; outline-offset:4px; }
@media(max-width:1240px) {
  .course-november .course-summary { margin:0 40px; }
  .course-november .november-benefit { margin-left:40px; margin-right:40px; }
}
@media(max-width:980px) {
  .course-november .course-page { padding-top:68px; }
  .course-november .november-hero { grid-template-columns:1.4fr 1fr; }
  .course-november .november-hero-copy { padding:36px 24px; }
  .course-november .november-hero-image { min-height:350px; }
  .course-november .course-brandbar { padding:28px 24px; }
  .course-november .november-heading { flex-wrap:wrap; }
  .course-november .registration-layout { grid-template-columns:1fr; }
  .course-november .november-faculty { gap:20px; }
}
@media(max-width:700px) {
  .course-november .course-brandbar { padding:20px; gap:18px; }
  .course-november .hku-mark { max-width:54%; }
  .course-november .rfo-mark { max-width:40%; }
  .course-november .november-hero { display:block; position:relative; }
  .course-november .november-hero-copy { position:relative; z-index:1; padding:30px 20px; background:linear-gradient(90deg,rgba(25,56,94,.98),rgba(25,56,94,.91) 62%,rgba(25,56,94,.70)); }
  .course-november .november-hero-image { position:absolute; inset:0; object-position:right center; min-height:0; max-height:none; }
  .course-november .november-hero h1 { font-size:32px; }
  .course-november .november-date { font-size:18px; margin-top:18px; }
  .course-november .hero-actions { gap:18px; margin-top:24px; }
  .course-november .hero-actions .button { padding:12px 18px; }
  .course-november .course-summary { margin:0 20px; display:grid; gap:10px; padding:20px 0; }
  .course-november .course-summary b { display:inline-block; width:66px; }
  .course-november .november-section { padding:32px 20px 0; }
  .course-november .november-heading { gap:9px; margin-bottom:18px; }
  .course-november .november-heading h2 { font-size:24px; padding-left:10px; }
  .course-november .november-heading h2 span { font-size:12px; margin-left:8px; }
  .course-november .november-heading>p { font-size:13px; }
  .course-november .november-schedule { grid-template-columns:1fr; gap:22px; }
  .course-november .lesson { padding:22px 16px; min-height:0; }
  .course-november .lesson h4 { font-size:20px; }
  .course-november .november-faculty { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 22px; }
  .course-november .november-faculty h3 { font-size:20px; }
  .course-november .november-faculty p { font-size:14px; }
  .course-november .activity-section { margin-top:28px; }
  .course-november .activity-row { grid-template-columns:58px minmax(0,1fr); gap:16px; padding:22px 0; }
  .course-november .activity-date strong { font-size:21px; }
  .course-november .activity-row h3 { font-size:20px; }
  .course-november .activity-row dl>div { display:block; margin:12px 0; }
  .course-november .activity-row p { font-size:15px; }
  .course-november .november-benefit { grid-template-columns:1fr; margin:20px 20px 36px; padding:24px; gap:24px; }
  .course-november .november-benefit h2 { font-size:24px; }
  .course-november .november-price { padding:20px 0 0; border-left:0; border-top:1px solid #cedbea; }
  .course-november .registration { padding:32px 20px; }
  .course-november .registration-form { grid-template-columns:1fr; padding:20px; }
  .course-november .final-notice { padding:0 20px; }
}
