.physical-courses{--pc-red:#a01219;--pc-ink:#151517;--pc-muted:#626267;--pc-rule:#dedee2;--pc-surface:#f5f5f7;--pc-body:1rem;--pc-small:.8125rem;--pc-gap:1rem;--pc-pad:1.25rem}
.physical-courses .ks-heading{padding-top:1.5rem}
.pc-view-nav{display:flex;gap:1.5rem;border-bottom:1px solid var(--pc-rule);margin-bottom:1.25rem}
.pc-view-nav a{padding:.875rem 0;color:var(--pc-muted);font-size:1rem;text-decoration:none;border-bottom:2px solid transparent}
.pc-view-nav a[aria-current=page]{color:var(--pc-red);border-color:var(--pc-red);font-weight:700}
.pc-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:1rem 0;margin-bottom:1.25rem;color:var(--pc-muted);font-size:.8125rem;line-height:1.5}
.pc-summary span+span{border-left:1px solid var(--pc-rule);padding-left:1.25rem}
.pc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.pc-card{display:flex;flex-direction:column;border:1px solid var(--pc-rule);border-radius:.375rem;overflow:hidden;text-decoration:none;color:var(--pc-ink)}
.pc-card:hover{border-color:var(--pc-red)}
.pc-thumb{position:relative;aspect-ratio:16/9;background:var(--pc-ink);overflow:hidden}
.pc-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);display:block}
.pc-thumb>span{position:absolute;left:.5rem;bottom:.5rem;background:#151517e6;color:#fff;font-size:.75rem;padding:.375rem .5rem}
.pc-card-copy{padding:1.125rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.pc-card h2{font-size:1.125rem;line-height:1.35;letter-spacing:-.015em;margin:0}
.pc-card p{font-size:.875rem;line-height:1.6;color:var(--pc-muted);margin:0;flex:1}
.pc-card small{font-size:.75rem;color:var(--pc-muted);line-height:1.5}
.pc-card strong{font-size:.8125rem;color:var(--pc-red);line-height:1.5}
.pc-small{font-size:var(--pc-small);line-height:1.65;color:var(--pc-muted);max-width:95ch;margin:1rem 0}
.pc-draft-notice{background:var(--pc-surface);border-left:3px solid var(--pc-red);padding:1rem 1.25rem;color:var(--pc-muted);font-size:.875rem;line-height:1.65;max-width:none;margin:0 0 1.5rem}
.pc-draft-notice strong{display:block;color:var(--pc-ink);font-size:.8125rem;margin-bottom:.5rem}
.pc-custom{border-block:1px solid var(--pc-rule);margin-top:1.5rem}
.pc-custom summary{padding:1.25rem 0;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-size:1rem;font-weight:700;list-style:none}
.pc-custom summary::-webkit-details-marker{display:none}
.pc-custom summary span{color:var(--pc-red)}
.pc-custom>div{padding:0 0 1.5rem}
.pc-custom p,.pc-custom li{font-size:.9375rem;line-height:1.7;color:var(--pc-muted)}
.pc-custom ul{padding-left:1.25rem}
.pc-custom li{margin-bottom:.75rem}
.pc-primary{padding:.875rem 1.25rem;border:0;background:var(--pc-red);color:#fff;border-radius:.25rem;font-size:.875rem;min-height:44px;cursor:pointer}
.pc-back{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;padding-top:1rem}
.pc-back a{color:var(--pc-red);min-height:44px;display:flex;align-items:center}
.pc-course-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start}
.pc-cover{margin:0;background:var(--pc-ink);border-radius:.375rem;overflow:hidden}
.pc-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.pc-cover figcaption{padding:.875rem 1rem;color:#fff;font-size:.75rem;display:flex;justify-content:space-between;gap:1rem}
.pc-cover figcaption span{color:#ccc}
.pc-highlights{border-top:3px solid var(--pc-red);padding-top:1rem}
.pc-highlights>h2{font-size:1.25rem;margin:.5rem 0 1rem}
.pc-highlights ol{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.pc-highlights li{display:flex;gap:.75rem;border:1px solid var(--pc-rule);border-radius:.375rem;padding:.75rem}
.pc-highlights li>span{display:grid;place-items:center;background:var(--pc-ink);color:#fff;font-size:.75rem;font-weight:700;flex:0 0 2rem;height:2rem;border-bottom:3px solid var(--pc-red)}
.pc-highlights h3{font-size:1rem;line-height:1.35;margin:0 0 .25rem}
.pc-highlights li p{font-size:.875rem;line-height:1.5;color:var(--pc-muted);margin:0}
.pc-tabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--pc-rule);margin-top:.75rem}
.pc-tabs button{padding:1rem 0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:.875rem;color:var(--pc-muted);cursor:pointer}
.pc-tabs [aria-selected=true]{color:var(--pc-red);border-color:var(--pc-red);font-weight:700}
.pc-panel{padding:1.25rem 0}
.pc-panel h2{font-size:1.25rem;margin:0 0 1rem}
.pc-panel p,.pc-panel li{font-size:1rem;line-height:1.7}
.pc-panel ul{padding-left:1.25rem}
.pc-panel li{margin-bottom:.5rem}
.pc-panel .pc-small{font-size:.8125rem}
.pc-course-brief{margin:1.5rem 0;display:grid;gap:1rem}
.pc-course-brief>div{padding-top:1rem;border-top:1px solid var(--pc-rule)}
.pc-course-brief dt{font-size:.8125rem;font-weight:700;margin-bottom:.5rem;color:var(--pc-red)}
.pc-course-brief dd{margin:0;font-size:1rem;line-height:1.65}
.pc-video-return{display:inline-flex;align-items:center;min-height:44px;color:var(--pc-red);font-size:.875rem;font-weight:600}
.pc-course-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}
.pc-course-actions a{color:var(--pc-red);font-size:.875rem}
.pc-course-actions span{font-size:.8125rem;color:var(--pc-muted)}
.pc-calendar-controls{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin-bottom:1.5rem}
.pc-calendar-controls label{display:block;font-size:.875rem;font-weight:600;min-width:0}
.pc-calendar-controls select{display:block;max-width:100%;padding:.75rem;border:1px solid var(--pc-rule);background:#fff;color:var(--pc-ink);border-radius:.25rem;font-size:1rem;margin-top:.5rem}
.pc-month-buttons{display:flex;gap:.5rem}
.pc-month-buttons button{width:44px;height:44px;border:1px solid var(--pc-rule);background:#fff;cursor:pointer;color:var(--pc-ink)}
.pc-month-buttons button:disabled{opacity:.35;cursor:default}
.pc-calendar-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2rem}
.pc-month-card{border:1px solid var(--pc-rule);border-radius:.375rem;padding:1.25rem;align-self:start}
.pc-month-card h2,.pc-list-heading h2{font-size:1.25rem;line-height:1.35;margin:0}
.pc-weekdays,.pc-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}
.pc-weekdays span{font-size:.75rem;text-align:center;padding:.5rem 0;color:var(--pc-muted)}
.pc-day,.pc-event-day,.pc-empty-day{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:.875rem;border:1px solid transparent;color:var(--pc-ink)}
.pc-event-day{flex-direction:column;gap:.25rem;border-color:var(--pc-rule);border-bottom:2px solid var(--pc-red);border-radius:.25rem;background:var(--pc-surface);cursor:pointer}
.pc-event-day[aria-pressed=true]{background:var(--pc-ink);color:#fff}
.pc-dot{width:4px;height:4px;border-radius:50%;background:var(--pc-red)}
.pc-event-day[aria-pressed=true] .pc-dot{background:white}
.pc-list-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:0 0 1rem}
.pc-list-heading button{font-size:.8125rem;border:0;background:none;color:var(--pc-red);cursor:pointer;padding:.5rem}
.pc-event{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--pc-rule);padding:1rem 0}
.pc-event>div{display:grid;gap:.375rem;min-width:0}
.pc-event strong{font-size:1rem;line-height:1.4}
.pc-event div>span:not(.pc-draft-tag){font-size:.875rem;color:var(--pc-muted)}
.pc-event a{font-size:.875rem;line-height:1.5;color:var(--pc-red)}
.pc-draft-tag{font-size:.75rem;color:var(--pc-red);font-weight:700;letter-spacing:.06em}
.pc-event button{background:white;border:1px solid var(--pc-rule);border-radius:.25rem;padding:.625rem;font-size:.8125rem;cursor:pointer;flex-shrink:0;color:var(--pc-ink)}
.pc-event button:hover{border-color:var(--pc-red)}
.pc-no-events{padding:1rem;background:var(--pc-surface);font-size:.9375rem;line-height:1.7;color:var(--pc-muted)}
.pc-dialog{max-width:550px;width:calc(100% - 40px);max-height:90dvh;overflow-y:auto;box-sizing:border-box;padding:1.5rem;border:1px solid var(--pc-rule);border-radius:.375rem;color:var(--pc-ink);background:white}
.pc-dialog::backdrop{background:#0008}
.pc-dialog h2{font-size:1.5rem;line-height:1.3;margin:0 2rem 1rem 0}
.pc-dialog p{font-size:.875rem;line-height:1.6}
.pc-dialog .pc-close{position:absolute;right:.75rem;top:.75rem;width:36px;height:36px;border:0;background:var(--pc-surface);font-size:1.5rem;cursor:pointer}
.pc-dialog label{display:block;font-size:.875rem;margin:1rem 0}
.pc-dialog input,.pc-dialog select,.pc-dialog textarea{display:block;box-sizing:border-box;width:100%;padding:.75rem;font-size:1rem;border:1px solid #aaa;border-radius:.25rem;margin-top:.5rem;background:white}
.pc-dialog textarea{min-height:100px;resize:vertical}
#pc-quote-draft{padding:1rem;background:var(--pc-surface);font-size:.875rem;line-height:1.6;white-space:pre-wrap;margin-top:1rem}
.physical-courses :focus-visible{outline:3px solid var(--pc-red);outline-offset:3px}
@media(max-width:1050px){.pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-course-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:760px){.pc-calendar-layout,.pc-course-layout{grid-template-columns:1fr}.pc-course-main{display:contents}.pc-cover{order:0}.pc-highlights{order:1}.pc-tabs{order:2}.pc-panel{order:3}.pc-calendar-controls label{width:100%}.pc-calendar-controls select{width:100%}}
@media(max-width:480px){.pc-grid{grid-template-columns:1fr}.pc-card{display:grid;grid-template-columns:105px minmax(0,1fr)}.pc-thumb{height:100%;aspect-ratio:auto}.pc-thumb>span{font-size:.75rem;left:.25rem;right:.25rem;bottom:.5rem;line-height:1.4;padding:.25rem}.pc-card-copy{padding:1rem;gap:.5rem}.pc-card h2{font-size:1rem}.pc-card p{font-size:.8125rem}.pc-card small,.pc-card strong{font-size:.75rem}.pc-summary{gap:.5rem}.pc-summary span+span{padding-left:.5rem}.pc-cover figcaption{display:block;line-height:1.7}.pc-cover figcaption span{display:block}.pc-month-card{padding:.75rem}.pc-day,.pc-event-day,.pc-empty-day{min-height:44px}.pc-calendar-layout{gap:1.25rem}.pc-event{align-items:start}.pc-event button{max-width:90px}.pc-tabs{gap:1.25rem}}
