/* Shared, production-safe refinement. Original media and content stay admin-managed. */
:root { --red: #a51d37; --gold: #c5a264; --muted: #536777; --radius: 14px; }
body { font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.academy-access-grid > *, .portal-access-grid > * { min-width: 0; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button.text-link { border: 0; padding: .35rem 0; background: none; text-align: left; }
h1, h2, h3, p, a, dd { overflow-wrap: break-word; }
h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #b9790b; outline-offset: 4px; }
:where(h2, h3)[tabindex="-1"]:focus { outline: 2px solid #0f766e; outline-offset: 6px; }
main section[id], .portal-panel, .learner-panel { scroll-margin-top: 205px; }
.button, .filter-bar button { min-height: 44px; }
.button { font-weight: 650; border-radius: 8px; }
.button-primary { background: #a51d37; border-color: #a51d37; }
.button-primary:hover { background: #83182d; border-color: #83182d; }
.eyebrow, .academy-kicker, .insurance-kicker, .learner-label { letter-spacing: .12em; font-weight: 700; }
.topbar a, .primary-nav > a, .more-menu > button { font-weight: 650; }
.brand strong { font-size: 1.07rem; }
.hero, .surgical-care-hero, .academy-hero, .insurance-corporate-hero, .career-hero { padding-block: clamp(2.5rem, 5vw, 4rem); }
.hero h1, .page-hero h1, .surgical-care-hero h1, .career-hero h1, .career-role-hero h1, .portal-hero h1 {
    font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.035em; line-height: 1.08;
    font-size: clamp(2.4rem, 4.2vw, 4rem);
}
.academy-hero h1, .insurance-corporate-hero h1 { font-size: clamp(2.35rem, 4.2vw, 3.9rem); line-height: 1.08; }
.hero h1 { max-width: 900px; font-size: clamp(2.5rem, 4.8vw, 4.5rem); }
.hero .eyebrow { font-size: .8rem; }
.hero .hero-lede { max-width: 680px; }
.section { padding-block: clamp(2.6rem, 5vw, 4.5rem); }
.section h2, .quick-access-heading h2 { letter-spacing: -.025em; line-height: 1.17; }
.section-heading { gap: 2rem; }
.section-intro, .section-heading > p { max-width: 40ch; }
.card { border-radius: 14px; box-shadow: 0 8px 26px rgb(13 45 61 / 5%); }
.card p, .page-hero__description { line-height: 1.75; }
.card-title-row { align-items: flex-start; flex-wrap: wrap; gap: .65rem; }
.card-title-row h3 { flex: 1 1 190px; }
.card-actions { gap: .8rem; }
.card-media-frame, .gallery-media { overflow: hidden; }
.media-frame { position: relative; overflow: hidden; border-radius: 14px; isolation: isolate; }
.rmc-ai-media { position: relative; }
.media-frame > img, .page-hero__media > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rmc-ai-caption { position: absolute; z-index: 2; left: .75rem; bottom: .75rem; max-width: calc(100% - 1.5rem); padding: .32rem .6rem; background: #062434; color: #fff; border-radius: 4px; font: 500 .72rem/1.4 "Segoe UI", sans-serif; letter-spacing: .025em; }
.page-hero__media { position: relative; }
.surgical-care-hero__media { min-height: 410px; aspect-ratio: 5 / 4; }
.surgical-care-hero__copy > p:not(.eyebrow) { font-size: 1.06rem; line-height: 1.75; }
.surgical-care-hero__inner { align-items: center; }
.surgical-care-hero__highlights { font-size: .82rem; }
.surgical-care-hero h1 { max-width: 620px; }
.academy-hero-media { min-height: 420px; border-radius: 18px 70px 18px 18px; overflow: hidden; }
.academy-hero-grid { padding-block: 1rem; }
.academy-hero-media > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.academy-hero-note { position: absolute; left: 1.25rem; right: 1.25rem; bottom: 1.25rem; width: auto; max-width: none; margin: 0; border-radius: 6px; }
.academy-hero-media .rmc-ai-caption { top: 1rem; bottom: auto; }
.academy-lede { font-size: 1.06rem; line-height: 1.75; }
.academy-facts { margin-top: 1.8rem; }
.academy-environment-card, .academy-outcomes-card { border-radius: 12px; overflow: hidden; }
.insurance-corporate-hero__media { min-height: 400px; aspect-ratio: 5 / 4; }
.insurance-logo-tile { border-radius: 10px; }
.insurance-contact-strip span, .insurance-verified, .insurance-document-list small, .academy-module summary small, .academy-module-body span { color: #526675; }
.insurance-type-grid article > span { color: #8b6a26; }
.section.insurance-process .insurance-section-heading > div > p { color: #e0edf2; opacity: 1; }
.section.insurance-process .insurance-section-heading .insurance-kicker { color: #e0bd6a; }
.form-error-summary ul { margin: .7rem 0 0; padding-left: 1.3rem; }
.form-error-summary li + li { margin-top: .4rem; }
.form-error-summary a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.form-card [aria-invalid="true"] { border: 2px solid #a51d37; }
.career-hero__media { aspect-ratio: 5 / 4; }
.portal-hero { padding-block: 2.2rem; }
.portal-hero h1 { font-size: clamp(2rem, 3vw, 3.1rem); max-width: 700px; }
.portal-hero p { max-width: 630px; }
.portal-hero-actions { align-self: center; }
.portal-hero-inner { gap: 2rem; }
.portal-demo-banner, .learner-preview-note { padding: .8rem 1rem; }
.portal-appointment-card, .portal-membership-summary { min-height: 0; }
.portal-card-header { flex-wrap: wrap; }
.portal-membership-meta { gap: 1rem; }
.portal-membership-meta span { padding-block: .6rem; }
.portal-membership-summary { display: flex; flex-direction: column; gap: .65rem; padding: 1.3rem; }
.portal-membership-summary p { margin: .3rem 0; }
.portal-membership-summary .portal-membership-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: .3rem; padding-block: .35rem; }
.portal-membership-summary .button { align-self: flex-start; }
.portal-appointment-card { display: flex; flex-direction: column; gap: 1rem; }
.portal-appointment-card .portal-card-actions { margin-top: auto; }
.portal-section { padding-top: 1.7rem; }
.portal-dashboard-grid { align-items: stretch; }
.portal-sidebar, .learner-nav { position: sticky; top: 205px; }
.portal-nav button { min-height: 44px; }
.portal-details dd { margin-left: 0; }
.portal-access-trust, .academy-access-intro { position: relative; isolation: isolate; overflow: hidden; }
.portal-access-trust::before, .academy-access-intro::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(7 41 57 / 83%), rgb(7 41 57 / 94%)), url('/storage/ai-preview/reception.jpg') center / cover; }
.academy-access-intro::before { background-image: linear-gradient(180deg, rgb(7 41 57 / 83%), rgb(7 41 57 / 94%)), url('/storage/ai-preview/classroom.jpg'); }
.portal-access-trust::after, .academy-access-intro::after { content: "AI-generated illustrative background"; display: block; margin-top: 2rem; font-size: .69rem; color: #d8e4e9; }
.learner-panel, .learner-nav, .learner-lesson-main, .learner-quiz-main, .academy-access-card { border-radius: 12px; }
.learner-next-card { border-left: 3px solid #a51d37; }
.learner-next-card h3 { font-size: 1.25rem; }
.learner-next-card > p { line-height: 1.65; }
.learner-next-session { grid-template-columns: 56px minmax(0, 1fr); align-content: start; }
.learner-next-session > .learner-label { grid-column: 1 / -1; }
.learner-next-session { display: grid; }
.learner-metrics dd small { color: #526675; }
.learner-course-heading h2 { font-size: clamp(1.7rem, 2.3vw, 2.3rem); }
.learner-topbar h1 { font-size: clamp(2rem, 3vw, 2.8rem); }
.learner-module-list summary, .learner-nav nav a { min-height: 48px; }
.learner-certificate-card { border-radius: 10px; }
.rmc-pagination { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding-top: 1.25rem; margin-top: 1rem; border-top: 1px solid #d7e2e8; font-size: .87rem; }
.rmc-pagination a { min-height: 44px; display: inline-flex; align-items: center; padding: .5rem .85rem; border: 1px solid #b8cad5; border-radius: 6px; color: #0a3655; font-weight: 600; }
.rmc-pagination [aria-disabled] { color: #667580; }
.doctor-avatar { background: linear-gradient(rgb(234 242 246 / 84%), rgb(234 242 246 / 84%)), url('/storage/ai-preview/care-symbol.jpg') center / cover; }
.site-footer { padding-top: 3rem; }
.gallery-item figcaption small { display: block; color: #536777; font-weight: 400; margin-top: .3rem; }
.footer-grid { gap: 2rem; }
.is-account-area .footer-details summary { cursor: pointer; display: flex; justify-content: space-between; gap: .75rem; }
.is-account-area .footer-details summary::after { content: "+"; }
.is-account-area .footer-details[open] summary::after { content: "−"; }
@media (max-width: 1000px) {
    .portal-sidebar, .learner-nav { position: static; }
    .portal-hero-inner { align-items: flex-start; }
    .learner-nav nav { display: flex; flex-wrap: wrap; gap: .3rem; }
    .learner-nav nav a { flex: 1 1 145px; padding: .75rem; border-radius: 5px; }
    .learner-profile { margin-bottom: .7rem; }
    .surgical-care-hero__media, .insurance-corporate-hero__media { min-height: 300px; }
}
@media (max-width: 600px) {
    html { scroll-padding-top: 148px; }
    main section[id], .portal-panel, .learner-panel { scroll-margin-top: 150px; }
    .hero, .surgical-care-hero, .academy-hero, .insurance-corporate-hero, .career-hero { padding-block: 2rem; }
    .hero h1, .page-hero h1, .surgical-care-hero h1, .academy-hero h1, .career-hero h1, .insurance-corporate-hero h1 { font-size: clamp(2rem, 8.6vw, 2.65rem); line-height: 1.12; }
    .hero .eyebrow { font-size: .7rem; line-height: 1.7; }
    .section-heading { gap: .9rem; }
    .section-intro, .section-heading > p { max-width: none; }
    .academy-hero-media { min-height: 300px; }
    .surgical-care-hero__media, .insurance-corporate-hero__media, .career-hero__media { min-height: 240px; }
    .portal-hero { padding-block: 1.6rem; }
    .portal-hero h1 { font-size: 2rem; }
    .portal-hero-actions { width: 100%; }
    .portal-hero-actions .button { flex: 1 1 100%; }
    .portal-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
    .portal-nav button { padding: .75rem; text-align: left; font-size: .82rem; }
    .portal-nav button span { display: none; }
    .portal-sidebar-help { display: none; }
    .portal-profile-mini { padding-bottom: .65rem; }
    .portal-sign-out-form { margin-top: .7rem; }
    .learner-nav nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
    .learner-nav nav a { font-size: .8rem; }
    .learner-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .learner-metrics div { padding: .8rem; }
    .portal-heading-row, .portal-alert, .portal-card-header { gap: .8rem; }
    .portal-details div { grid-template-columns: 1fr; gap: .25rem; }
    .digital-card { padding: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
