/* Shared type roles: page title, body, label, caption. Existing brand families retained. */
:root {
  --pm-type-page: 500 clamp(32px, 4vw, 48px)/1.25 "Noto Sans KR", sans-serif;
  --pm-type-body: 400 16px/1.7 "Noto Sans KR", sans-serif;
  --pm-type-label: 500 16px/1.55 "Noto Sans KR", sans-serif;
  --pm-type-caption: 400 13px/1.6 "Noto Sans KR", sans-serif;
  --pm-type-tracking: -.015em;
  --pm-notice-ink: #202653;
  --pm-notice-muted: #656579;
  --pm-notice-line: #d4d2cc;
}
.pm-notice-page { color: var(--pm-notice-ink); background: #f2f0e9; min-height: 65vh; padding: 64px max(24px, calc((100% - 1040px)/2)) 96px; }
.pm-notice-page { margin-top: calc(var(--pm-top-h, 32px) + var(--pm-header-h, 84px)); }
.pm-notice-header { padding: 0 0 40px; }
.pm-notice-eyebrow { font: var(--pm-type-caption); letter-spacing: .12em; margin: 0 0 18px; color: var(--pm-notice-muted); }
.pm-notice-header h1 { font: var(--pm-type-page); letter-spacing: var(--pm-type-tracking); margin: 0 0 20px; word-break: keep-all; }
.pm-notice-description { font: var(--pm-type-body); letter-spacing: var(--pm-type-tracking); margin: 0; color: var(--pm-notice-muted); word-break: keep-all; }
.pm-notices { border-top: 2px solid var(--pm-notice-ink); }
.pm-notices__columns { display: grid; grid-template-columns: 1fr 120px 20px; gap: 24px; padding: 16px 24px; border-bottom: 1px solid var(--pm-notice-line); font: var(--pm-type-caption); color: var(--pm-notice-muted); }
.pm-notices__list { list-style: none; margin: 0; padding: 0; }
.pm-notices__list li { margin: 0; border-bottom: 1px solid var(--pm-notice-line); }
.pm-notices__row { display: grid; grid-template-columns: minmax(0,1fr) 120px 20px; gap: 24px; align-items: center; padding: 27px 24px; color: inherit; text-decoration: none; transition: background .18s; }
.pm-notices__title { font: var(--pm-type-label); letter-spacing: var(--pm-type-tracking); overflow-wrap: anywhere; }
.pm-notices__row time { font: var(--pm-type-caption); color: var(--pm-notice-muted); font-variant-numeric: tabular-nums; }
.pm-notices__arrow { font: var(--pm-type-body); }
.pm-notices__row:hover { background: #e9e6dc; }
.pm-notices__row:focus-visible { outline: 2px solid var(--pm-notice-ink); outline-offset: -3px; background: #e9e6dc; }
.pm-program-description { display: none; }
@media(max-width: 767px) {
  .pm-notice-page { padding: 40px 22px 64px; min-height: 60vh; }
  .pm-notice-header { padding-bottom: 28px; }
  .pm-notices__columns { display: none; }
  .pm-notices__row { grid-template-columns: minmax(0,1fr) 20px; gap: 8px 16px; padding: 22px 0; }
  .pm-notices__row time { grid-column: 1; grid-row: 2; }
  .pm-notices__arrow { grid-column: 2; grid-row: 1 / 3; }
  .planme-programs a .pm-program-description { display: block; grid-column: 2; margin: 6px 0 0; font: var(--pm-type-caption); letter-spacing: var(--pm-type-tracking); color: var(--pm-notice-ink); }
}

/* Shared display, section, subheading and ordered-detail type roles. */
:root {
 --pm-type-display: 500 clamp(34px,4.5vw,68px)/1.3 "Noto Sans KR",sans-serif;
 --pm-type-section: 500 clamp(28px,3vw,44px)/1.4 "Noto Sans KR",sans-serif;
 --pm-type-subheading: 500 20px/1.5 "Noto Sans KR",sans-serif;
 --pm-type-number: 400 clamp(30px,2.8vw,42px)/1.15 var(--pm-serif);
}

:root {
 --pm-weight-heading:500;
 --pm-weight-subheading:600;
 --pm-type-dock:500 14px/1.4 "Noto Sans KR",sans-serif;
}
