/* Only seminar pages and explicitly named components. Theme tokens and buttons are reused. */
.mks-page-shell { padding-top: calc(var(--nav-height) + 48px); }
.mks-page .bg-grid, .mks-page .bg-orb, .mks-page .particles { display: none; }
.mks-page-heading { max-width: 760px; margin: 48px 0 64px; }
.mks-archive-group + .mks-archive-group { margin-top: 80px; padding-top: 56px; border-top: 1px solid var(--line); }
.mks-archive-group > h2 { margin-bottom: 28px; font-size: clamp(1.3rem, 3vw, 1.8rem); }
.mks-seminar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.mks-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.mks-thumbnail { aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-2); }
.mks-thumbnail img, .mks-thumbnail-art, .mks-thumbnail svg { width: 100%; height: 100%; object-fit: cover; }
.mks-thumbnail-art { color: var(--cyan-text); }
.mks-card-body { padding: 26px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.mks-card-body h3 { font-size: 1.25rem; line-height: 1.6; margin: 12px 0; }
.mks-card-body h3 a { color: inherit; text-decoration: none; }
.mks-card-body h3 a:hover { text-decoration: underline; }
.mks-card-body p { margin: 0 0 16px; color: var(--text-sub); }
.mks-card-body .mks-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; font-size: .85rem; margin: 0; }
.mks-card-body .mks-card-facts { font-size: .9rem; }
.mks-card-body > .btn { margin-top: auto; }
.mks-home .section-head { text-align: left; }
.mks-home-list { display: grid; gap: 24px; }
.mks-card-home { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0,1.3fr); }
.mks-card-home .mks-thumbnail { height: 100%; min-height: 240px; aspect-ratio: auto; }
.mks-card-home .mks-card-body { padding: 32px; }
.mks-list-link { margin-top: 32px; }
.mks-empty { color: var(--text-sub); padding: 20px 0; }
.mks-detail-hero { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,1fr); gap: 56px; align-items: center; padding: 40px 0 64px; border-bottom: 1px solid var(--line); }
.mks-detail-hero h1 { font-size: clamp(1.6rem,3.2vw,2.85rem); line-height: 1.5; margin: 16px 0 24px; }
.mks-title-line { display: block; }
.mks-card-meta .pill, .mks-hero-info .pill { display: inline-block; padding: 4px 12px; border-radius: var(--radius-sm); color: var(--cyan-text); background: var(--bg-2); font-size: .85rem; }
.mks-subtitle { color: var(--text-sub); line-height: 2; margin: 0; }
.mks-hero-info { padding: 32px; }
.mks-hero-info p { margin: 0 0 12px; }
.mks-event-date { font-size: 1.25rem; font-weight: 600; }
.mks-event-price { font-size: 1.1rem; font-weight: 600; }
.mks-availability { color: var(--text-sub); margin: 12px 0 0; font-size: .95rem; }
.mks-detail-section { margin: 72px auto; }
.mks-reading { max-width: 760px; margin-left: auto; margin-right: auto; }
.mks-content h2, .mks-detail-section h2, .mks-check-entry h2 { font-size: clamp(1.3rem,2.4vw,1.85rem); line-height: 1.6; margin: 0 0 24px; }
.mks-reading > p { margin: 0 0 1.4em; line-height: 2; }
.mks-topics-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; }
.mks-topic { grid-column: span 2; padding: 28px; }
.mks-topic:nth-child(4), .mks-topic:nth-child(5) { grid-column: span 3; }
.mks-topic h3 { font-size: 1.15rem; line-height: 1.6; margin: 12px 0; }
.mks-topic p { color: var(--text-sub); margin: 0; }
.mks-chakra-map { margin: 28px 0; }
.mks-chakra-map > div { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.mks-chakra-map dt { font-weight: 600; color: var(--cyan-text); }
.mks-chakra-map dd { margin: 0; }
.mks-audience { padding-left: 1.4em; }
.mks-audience li { padding-left: .2em; margin: 0 0 12px; }
.mks-audience li::marker { color: var(--cyan-text); }
.mks-check-entry { padding: 36px; margin-top: 64px; margin-bottom: 64px; }
.mks-info-list { padding: 12px 28px; }
.mks-info-list > div { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 20px; padding: 20px 0; }
.mks-info-list > div + div { border-top: 1px solid var(--line); }
.mks-info-list dt { font-weight: 600; }
.mks-info-list dd { margin: 0; }
.mks-info-list .mks-availability { margin: 0; }
.mks-final-cta { margin-top: 28px; }
.mks-notice { font-size: .82rem; color: var(--text-sub); border-top: 1px solid var(--line); padding-top: 24px; }
.mks-page .btn, .mks-home .btn { white-space: normal; max-width: 100%; text-align: center; }
@media (max-width: 1000px) {
  .mks-seminar-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mks-detail-hero { gap: 28px; }
  .mks-topics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mks-topic, .mks-topic:nth-child(4), .mks-topic:nth-child(5) { grid-column: auto; }
}
@media (max-width: 700px) {
  .mks-page-shell { padding-top: calc(var(--nav-height) + 28px); }
  .mks-page-shell > .container-wide, .mks-home > .container-wide { padding-left: 12px; padding-right: 12px; }
  .mks-page-heading { margin: 32px 0 44px; }
  .mks-seminar-grid, .mks-card-home, .mks-detail-hero, .mks-topics-grid { grid-template-columns: minmax(0,1fr); }
  .mks-detail-hero { padding: 24px 0 40px; }
  .mks-card-home .mks-thumbnail { min-height: 0; aspect-ratio: 16 / 9; }
  .mks-card-body, .mks-card-home .mks-card-body, .mks-topic, .mks-hero-info { padding: 24px; }
  .mks-detail-section { margin-top: 48px; margin-bottom: 48px; }
  .mks-check-entry { padding: 24px; margin-top: 48px; margin-bottom: 48px; }
  .mks-chakra-map > div { grid-template-columns: minmax(0,1fr); gap: 4px; }
  .mks-info-list { padding: 8px 22px; }
  .mks-info-list > div { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .mks-archive-group + .mks-archive-group { margin-top: 48px; padding-top: 40px; }
}

/* Registration uses the site's existing typography, colors and buttons. */
.mks-date-line{display:block;margin:.3em 0;font-size:inherit;line-height:1.8}
.mks-form-panel{padding:clamp(22px,4vw,40px)}
.mks-form-panel>p{margin:1.2em 0;line-height:1.9}
.mks-form-note{font-size:.88rem;color:var(--text-sub);line-height:1.9}
.mks-registration{scroll-margin-top:110px}
.mks-form{display:grid;gap:12px;margin-top:24px}
.mks-form>label,.mks-form legend{font-weight:600;line-height:1.7}
.mks-form>input,.mks-form textarea{width:100%;min-width:0;box-sizing:border-box;background:var(--bg-1);color:var(--text-main);border:1px solid var(--line);border-radius:8px;padding:13px 14px;font:inherit;font-size:16px}
.mks-form>label:not(:first-child){margin-top:12px}
.mks-form textarea{resize:vertical}
.mks-form fieldset{border:0;padding:0;margin:16px 0;min-width:0}
.mks-form legend{margin-bottom:12px}
.mks-radio{display:flex;gap:12px;align-items:center;min-height:52px;margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer;line-height:1.8}
.mks-radio input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--cyan-text)}
.mks-required{font-size:.75rem;color:var(--cyan-text);font-weight:400;margin-left:6px}
.mks-form :focus-visible{outline:2px solid var(--cyan-text);outline-offset:3px}
.mks-form .btn{white-space:normal;line-height:1.6;justify-self:start}
.mks-form .btn:disabled{opacity:.65;cursor:wait}
.mks-form-errors{border-left:3px solid var(--cyan-text);padding:12px 16px;margin:20px 0}
.mks-form-errors ul{margin:0;padding-left:1.2em}
.mks-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){.mks-form .btn{width:100%}.mks-event-date{font-size:1rem}.mks-radio{font-size:.92rem}}
