.model-hero { background: var(--navy); color: #eef5ff; padding: 38px 0 100px; }
.model-back { font-size: 11px; color: #9ebce1; margin-bottom: 64px; }
.model-hero-grid { display: grid; grid-template-columns: 1.5fr .6fr; gap: 12%; align-items: end; }
.model-hero h1 { font-size: clamp(44px, 5.2vw, 76px); line-height: 1.13; margin-bottom: 30px; }
.model-hero h1 span { color: #a9c7ec; }
.model-hero-grid>div>p:not(.eyebrow) { max-width: 670px; color: #b7cde8; font-size: 16px; line-height: 1.85; margin-bottom: 30px; }
.model-overview { border-left: 1px solid #3c608b; padding-left: 32px; }
.model-overview>div { display: flex; align-items: center; gap: 20px; padding: 24px 0; border-bottom: 1px solid #294a73; }
.model-overview strong { font-size: 52px; line-height: 1; font-weight: 500; color: var(--green); letter-spacing: -.08em; }
.model-overview span { max-width: 110px; color: #d8e5f6; font-size: 12px; line-height: 1.6; }
.model-overview p { color: #91afd5; font-size: 12px; line-height: 1.8; margin: 24px 0 0; }
.model-subjects { background: #e2ecf8; }
.model-section-heading { max-width: 750px; margin-bottom: 50px; }
.model-section-heading h2 { font-size: clamp(38px, 4.4vw, 62px); line-height: 1.15; margin-bottom: 25px; }
.model-section-heading h2 span { color: var(--royal); }
.model-section-heading>p:last-child { font-size: 15px; color: var(--muted); line-height: 1.8; max-width: 630px; }
.subject-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 50px; align-items: start; }
.subject-detail { border-top: 1px solid #afc5e0; }
.subject-detail summary { display: grid; grid-template-columns: 30px minmax(0,1fr) 20px; gap: 14px; cursor: pointer; list-style: none; padding: 28px 0; }
summary::-webkit-details-marker { display: none; }
.subject-index { color: #5379a8; font-size: 11px; padding-top: 6px; }
.subject-detail strong { display: block; font-size: 23px; letter-spacing: -.05em; font-weight: 600; }
.subject-detail small { display: block; color: var(--muted); font-size: 12px; line-height: 1.75; margin-top: 10px; }
.detail-toggle { color: var(--royal); font-size: 24px; font-weight: 300; transition: transform .2s; }
.subject-detail[open] .detail-toggle { transform: rotate(45deg); }
.subject-detail>p { margin: 0 34px 28px 44px; font-size: 13px; line-height: 1.9; color: #34547c; }
.subject-detail summary:hover strong { color: var(--royal); }
.model-route { background: #0c2e62; color: #eef5ff; }
.model-route .model-section-heading h2 span { color: var(--green); }
.model-route .model-section-heading>p:last-child { color: #adc4e2; }
.program-block { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 30px; border-top: 1px solid #3a5b88; padding: 37px 0; }
.block-number span { display: block; color: #8fadd3; text-transform: uppercase; font-size: 9px; letter-spacing: .14em; margin-bottom: 12px; }
.block-number strong { font-size: 44px; letter-spacing: -.08em; font-weight: 500; color: var(--green); }
.block-content h3 { font-size: 26px; font-weight: 600; margin-bottom: 14px; }
.block-content>p { max-width: 850px; color: #c0d2e9; font-size: 14px; line-height: 1.85; margin-bottom: 20px; }
.block-content .block-areas { font-size: 11px; color: #89addb; line-height: 1.8; }
.calendar-detail { margin-top: 25px; }
.calendar-detail summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 15px; list-style: none; padding: 15px 19px; background: #173f77; color: #e1ebf9; font-size: 12px; font-weight: 600; border: 1px solid #426390; }
.calendar-detail summary span { font-size: 22px; font-weight: 300; transition: transform .2s; }
.calendar-detail[open] summary span { transform: rotate(45deg); }
.calendar-detail summary:hover { background: #214e88; }
.calendar-content { padding: 18px; background: #173f77; }
.calendar-content img { width: 100%; height: auto; background: #e2ecf8; }
.calendar-full { display: inline-block; font-size: 12px; color: #dbe7f6; margin-top: 18px; text-decoration: underline; text-underline-offset: 4px; }
.program-note { max-width: 760px; color: #95b1d6; font-size: 12px; line-height: 1.8; border-top: 1px solid #3a5b88; padding-top: 28px; margin: 0; }
@media(max-width:800px) {
  .model-hero { padding-bottom: 65px; }
  .model-back { margin-bottom: 45px; }
  .model-hero-grid { grid-template-columns: 1fr; gap: 45px; }
  .model-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; border: 0; padding: 0; }
  .model-overview p { grid-column: 1 / -1; margin: 0; }
  .subject-grid { grid-template-columns: 1fr; }
  .program-block { grid-template-columns: 65px minmax(0,1fr); gap: 20px; }
}
@media(max-width:560px) {
  .model-hero h1 { font-size: 40px; }
  .model-hero-grid>div>p:not(.eyebrow) { font-size: 14px; }
  .model-overview>div { gap: 12px; }
  .model-overview strong { font-size: 39px; }
  .model-overview span { font-size: 11px; }
  .model-section-heading h2 { font-size: 36px; }
  .subject-detail strong { font-size: 21px; }
  .program-block { grid-template-columns: 1fr; gap: 16px; }
  .block-number { display: flex; align-items: center; gap: 13px; }
  .block-number span { margin: 0; }
  .block-number strong { font-size: 26px; }
  .block-content h3 { font-size: 23px; }
  .calendar-content { padding: 8px; }
  .calendar-detail summary { padding: 14px 12px; font-size: 11px; }
}
