/* ==========================================================================
   Zahn Associates — site.css
   Brand tokens, Edumint/Bootstrap overrides, and za-* homepage components.
   Loaded last in _Layout.cshtml (after Edumint template CSS).
   ========================================================================== */

:root {
    --zahn-primary: #0B5A93;
    --zahn-accent: #337AB7;
    --zahn-text: #666666;
    --zahn-footer: #222222;
    --zahn-white: #ffffff;
    --zahn-highlight: #E8F0FE;
    --zahn-surface-alt: #F8F9FA;
    --zahn-border: #E5E5E5;
    --zahn-error: #b42318;
    --zahn-success: #146c43;
    --zahn-warning: #8A6500;
    --zahn-warning-bg: #FFF4C2;
}

/* Bootstrap 4 → 5 directional-utility shims.
   The Edumint markup is Bootstrap 4 and uses text-md-right / text-md-left /
   text-lg-* etc. Bootstrap 5 renamed those to *-start / *-end so the originals
   are silent no-ops in our project. Re-define the ones our markup actually uses
   so we don't have to litter the HTML with inline `style="text-align: right"`. */
@media (min-width: 576px) {
    .text-sm-left  { text-align: left  !important; }
    .text-sm-right { text-align: right !important; }
}
@media (min-width: 768px) {
    .text-md-left  { text-align: left  !important; }
    .text-md-right { text-align: right !important; }
}
@media (min-width: 992px) {
    .text-lg-left  { text-align: left  !important; }
    .text-lg-right { text-align: right !important; }
}

html,
body {
    margin: 0 !important;
    padding: 0 !important;
}

body {
    font-family: "Raleway", "Segoe UI", Tahoma, Arial, sans-serif;
    color: var(--zahn-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Raleway", "Segoe UI", Tahoma, Arial, sans-serif;
}

a {
    color: var(--zahn-primary);
}

a:hover,
a:focus {
    color: var(--zahn-accent);
}

.btn,
.btn:focus,
.btn:active {
    align-items: center;
    display: inline-flex;
    font-family: "Raleway", "Segoe UI", Tahoma, Arial, sans-serif;
    height: auto;
    justify-content: center;
    line-height: 1.25;
    min-height: 55px;
    padding: 0 36px;
}

.btn-base,
.btn-base:focus,
.btn-base:active {
    background-color: var(--zahn-primary);
    border-color: var(--zahn-primary);
    color: var(--zahn-white);
}

.btn-base:hover,
.btn-base:focus-visible {
    background-color: transparent;
    border-color: var(--zahn-primary);
    color: var(--zahn-footer);
}

.section-title .sub-title,
.section-title .title span,
.navbar-area .nav-container .navbar-collapse .navbar-nav li.current-menu-item > a,
.navbar-area .nav-container .navbar-collapse .navbar-nav li:hover > a {
    color: var(--zahn-primary);
}

.navbar-area .nav-container .navbar-collapse .navbar-nav li > a {
    text-transform: uppercase;
}

.section-title .sub-title.left-line:before,
.section-title .sub-title.right-line:after,
.section-title .sub-title.double-line:before,
.section-title .sub-title.double-line:after {
    background-color: var(--zahn-accent);
}

/* Wide site container; keep plugin-specific container classes untouched. */
@media (min-width: 1200px) {
    .container {
        max-width: 1440px;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1440px;
    }
}

/* Utility for long-form readability inside wide layouts. */
.content-narrow {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Keep full-bleed header/footer backgrounds with aligned inner content width. */
.navbar-area,
.navbar-top,
.footer-area,
.footer-top,
.footer-bottom {
    width: 100%;
}

.navbar-area .container,
.footer-area .container {
    width: 100%;
}

.navbar-area .nav-container {
    max-width: 1440px;
    width: 100%;
}

.footer-area {
    background-color: var(--zahn-footer);
    color: rgba(255, 255, 255, 0.8);
}

.footer-area a,
.footer-area .widget-title,
.footer-area .details li i {
    color: var(--zahn-white);
}

.footer-area a:hover,
.footer-area a:focus {
    color: var(--zahn-accent);
}

.site-logo {
    height: 64px;
    width: auto;
    max-width: 100%;
    display: block;
}

/* Base theme sets logo img height:auto with higher specificity; force explicit sizing here. */
.navbar-area .nav-container .logo a .site-logo {
    height: 64px;
}

.footer-logo {
    height: 42px;
    width: auto;
    max-height: 46px;
}

.site-logo-link {
    display: inline-block;
    line-height: 0;
}

/* Main navbar row only: allow larger logo without clipping/crowding. */
#site-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Keep nav in normal document flow so it doesn't overlay the hero on mobile.
   The Edumint default `position: absolute` was for hero-bg-image layouts; our
   hero-split has its own min-height + padding so we don't need the overlay. */
.navbar-area:not(.sticky-active) {
    position: relative;
    z-index: 20;
}

.navbar-area .nav-container {
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
}

/* Right items in the utility bar align with the hero image's right edge.
   With .container max-width 1440px centered, removing the right padding makes
   the content box right edge sit at container_outer = (viewport + 1440)/2,
   which equals the .hero-split__grid right edge (also max-width 1440 centered).
   BS5's .row has margin-right: -12px and the last col carries its default 12px
   padding — those cancel so col content lands exactly at container_outer. */
.navbar-top > .container {
    padding-right: 0;
}

@media (min-width: 768px) {
    .site-logo {
        height: 76px;
    }

    .navbar-area .nav-container .logo a .site-logo {
        height: 76px;
    }
}

@media (min-width: 992px) {
    .site-logo {
        height: 86px;
    }

    .navbar-area .nav-container .logo a .site-logo {
        height: 86px;
    }

    .navbar-area .nav-container .navbar-collapse .navbar-nav li {
        line-height: 38px;
    }
}

@media (min-width: 1200px) {
    .site-logo {
        height: 92px;
    }

    .navbar-area .nav-container .logo a .site-logo {
        height: 92px;
    }
}

/* The old `#site-main { padding-top: 160px }` ladder was a workaround for the
   absolute-positioned nav. Now that the nav uses position: relative above,
   the header takes its own space and no top offset is needed. */
#site-main {
    padding-top: 0;
}

/* Top contact strip: Zahn blue with white text/icons/links. */
.navbar-top {
    background: var(--zahn-primary) !important;
}

.navbar-top,
.navbar-top a,
.navbar-top i,
.navbar-top span,
.navbar-top p,
.navbar-top ul,
.navbar-top li {
    color: #fff !important;
}

.navbar-top a:hover {
    color: rgba(255, 255, 255, 0.85) !important;
}

.navbar-top .topbar-right .topbar-action-item a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    white-space: nowrap;
}

.footer-legal-row {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-legal-links {
    text-align: center;
    margin-bottom: 8px;
    font-size: 13px;
}

.footer-legal-links a {
    color: var(--zahn-white);
}

.footer-legal-links span {
    margin: 0 8px;
    color: rgba(255, 255, 255, 0.65);
}

.footer-cfp-disclaimer {
    margin: 0 auto;
    max-width: 1200px;
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.72);
}

/* Hero subtext + stat callout styling. */
.banner-inner .banner-subtext {
    color: var(--zahn-text);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 14px;
    max-width: 580px;
}

.banner-inner .za-stat {
    background-color: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    padding: 18px 22px;
    margin: 18px 0 28px;
    border-radius: 0 6px 6px 0;
    max-width: 580px;
    text-align: left;
}

.banner-inner .za-stat__lead {
    color: var(--zahn-footer);
    font-weight: 700;
    font-size: 17px;
    line-height: 1.4;
    margin: 0 0 6px;
}

.banner-inner .za-stat__support {
    color: var(--zahn-text);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

/* ==========================================================================
   Hero-split layout
   ========================================================================== */

.hero-split {
    background: #f2f4f7;
    padding-left: 24px;
    padding-right: 24px;
}

.hero-split__grid {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 640px;
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
}

.hero-split__content-wrap {
    display: flex;
    align-items: center;
}

.hero-split__content {
    max-width: 980px;
    width: 100%;
    padding: 56px 56px 64px;
}

.hero-split__title {
    margin: 0 0 26px;
    color: var(--zahn-primary);
    font-size: clamp(2.3rem, 4.9vw, 4.7rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    font-weight: 600;
}

.hero-split__title-line {
    display: block;
}

.hero-split__title-line:first-child {
    padding-left: 0;
}

.hero-split__body {
    max-width: 860px;
    margin: 0 0 30px;
    font-size: 1.08rem;
    line-height: 1.7;
    color: #3e4852;
}

.hero-split__callout {
    background: #b9dcf7;
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 30px;
}

.hero-split__callout-title {
    margin: 0 0 12px;
    color: #091018;
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.35;
}

.hero-split__callout-body {
    margin: 0;
    color: #1d2c3a;
    font-size: 1rem;
    line-height: 1.55;
}

.hero-split__cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.hero-split__cta {
    min-width: 320px;
    justify-content: center;
    font-size: 1rem;
}

.hero-split__image-wrap {
    min-height: 100%;
}

.hero-split__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width: 1199.98px) {
    .hero-split__grid {
        grid-template-columns: 1fr;
    }

    .hero-split__content {
        padding: 48px 40px 56px;
    }

    .hero-split__image-wrap {
        min-height: 480px;
    }
}

@media (max-width: 767.98px) {
    .hero-split {
        padding-left: 0;
        padding-right: 0;
    }

    .hero-split__content {
        padding: 34px 20px 40px;
    }

    .hero-split__callout {
        padding: 18px;
    }

    .hero-split__cta {
        min-width: 100%;
    }
}

/* Outline CTA — the template default border is rgba(0, 33, 71, 0.2), which is
   nearly invisible against the hero's #f2f4f7 background. Repaint it with the
   primary brand color so the secondary action is actually readable. */
.btn-border-black {
    color: var(--zahn-primary);
    border-color: var(--zahn-primary);
}

.btn-border-black:hover,
.btn-border-black:focus-visible {
    background-color: transparent;
    border-color: var(--zahn-primary);
    color: var(--zahn-footer);
}

/* ==========================================================================
   "Choose Your Path" program cards — the original .za-card design.
   Restored after the Option A pivot replaced it with .single-course-inner.
   ========================================================================== */

.za-cards-section {
    background-color: #F8F9FA;
    padding: 80px 0;
}

.za-cards-section__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
}

.za-cards-section__title {
    color: var(--zahn-primary);
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 700;
    text-align: left;
    margin: 0 0 48px;
}

.za-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

.za-card {
    background: #ffffff;
    border: 1px solid #E5E5E5;
    border-top: 4px solid var(--zahn-primary);
    border-radius: 6px;
    padding: 56px 28px 32px;
    position: relative;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.za-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.za-card__icon {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--zahn-primary);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.za-card__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--zahn-footer);
    margin: 0 0 12px;
    line-height: 1.3;
}

.za-card__desc {
    color: var(--zahn-text);
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 20px;
}

.za-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.06em;
    color: var(--zahn-primary);
    text-decoration: none;
}

.za-card__link:hover {
    color: var(--zahn-accent);
}

.za-card__link i {
    transition: transform 0.15s ease;
}

.za-card__link:hover i {
    transform: translateX(3px);
}

@media (max-width: 767.98px) {
    .za-cards {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .za-cards-section__title {
        text-align: center;
    }
}

/* ==========================================================================
   Testimonials — homepage "Trusted by Financial Professionals Nationwide"
   ========================================================================== */

.za-testimonials {
    background-color: var(--zahn-white);
    padding: 80px 0;
}

.za-testimonials__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
}

.za-testimonials__title {
    color: var(--zahn-primary);
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 700;
    text-align: left;
    margin: 0 0 12px;
}

.za-testimonials__subtext {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0 0 48px;
}

.za-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.za-testimonial {
    background: var(--zahn-white);
    border: 1px solid #E5E5E5;
    border-radius: 6px;
    padding: 40px 28px 32px;
    position: relative;
    min-height: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.za-testimonial__quote-mark {
    position: absolute;
    color: var(--zahn-primary);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 5vw, 4.5rem);
    line-height: 1;
    opacity: 0.35;
    pointer-events: none;
    user-select: none;
}

.za-testimonial__quote-mark--open {
    top: 12px;
    left: 16px;
}

.za-testimonial__quote-mark--close {
    right: 16px;
    bottom: 12px;
}

.za-testimonial__quote {
    margin: 0 0 24px;
    padding: 0 12px;
    color: var(--zahn-footer);
    font-size: 1rem;
    line-height: 1.65;
    font-weight: 400;
}

.za-testimonial__attribution {
    margin: 0;
    padding: 0 12px;
    color: var(--zahn-footer);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;
}

.za-ed-platform-testimonial {
    background: transparent;
    border: 0;
    box-shadow: none;
    min-height: 0;
    padding: 4px 0 0;
}

.za-ed-platform-testimonial .za-testimonial__quote-mark {
    position: static;
    display: block;
    font-size: 2.75rem;
    line-height: 1;
}

.za-ed-platform-testimonial .za-testimonial__quote-mark--open {
    margin: 0 0 4px;
}

.za-ed-platform-testimonial .za-testimonial__quote-mark--close {
    margin: 8px 0 0;
    text-align: right;
}

.za-ed-platform-testimonial .za-testimonial__quote,
.za-ed-platform-testimonial .za-testimonial__attribution {
    padding-left: 0;
    padding-right: 0;
}

.za-testimonials__link {
    display: inline-block;
    margin-top: 40px;
    color: var(--zahn-primary);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.za-testimonials__link:hover,
.za-testimonials__link:focus {
    color: var(--zahn-accent);
}

@media (max-width: 1199.98px) {
    .za-testimonials__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767.98px) {
    .za-testimonials__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .za-testimonials__title,
    .za-testimonials__subtext {
        text-align: center;
    }
}

/* ==========================================================================
   About & Team — homepage two-column band
   ========================================================================== */

.za-about-band {
    background-color: #F8F9FA;
    padding: 80px 0;
}

.za-about-band__column + .za-about-band__column {
    margin-top: 48px;
}

.za-about-band__label {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.za-about-band__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 20px;
}

.za-about-band__body {
    color: var(--zahn-text);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.65;
    margin: 0 0 28px;
    max-width: 540px;
}

.za-about-band__bullets {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}

.za-about-band__bullet {
    align-items: flex-start;
    color: var(--zahn-text);
    display: flex;
    font-size: 1rem;
    gap: 12px;
    line-height: 1.5;
    margin-bottom: 14px;
}

.za-about-band__bullet:last-child {
    margin-bottom: 0;
}

.za-about-band__bullet i {
    color: var(--zahn-primary);
    flex-shrink: 0;
    font-size: 1.1rem;
    margin-top: 2px;
}

.za-about-band__link {
    color: var(--zahn-accent);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}

.za-about-band__link:hover,
.za-about-band__link:focus {
    color: var(--zahn-primary);
}

.za-instructor-carousel {
    margin-bottom: 28px;
    min-height: 220px;
    position: relative;
}

.za-instructor-carousel__slide {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s ease;
    width: 100%;
}

.za-instructor-carousel__slide--active {
    opacity: 1;
    pointer-events: auto;
    position: relative;
}

.za-instructor-card {
    padding: 0 12px 24px;
    text-align: center;
}

.za-instructor-card__avatar {
    align-items: center;
    background-color: var(--zahn-primary);
    border-radius: 50%;
    display: flex;
    height: 120px;
    justify-content: center;
    margin: 0 auto 16px;
    overflow: hidden;
    width: 120px;
}

.za-instructor-card__avatar--photo {
    background-color: var(--zahn-highlight);
    border: 3px solid var(--zahn-white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    line-height: 0;
    padding: 5px;
}

.za-instructor-card__photo {
    border-radius: 50%;
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    width: 100%;
}

.za-instructor-card__avatar--dark-portrait .za-instructor-card__photo {
    object-position: center 30%;
    transform: scale(1.1);
}

.za-instructor-card__initials {
    color: var(--zahn-white);
    font-size: 1.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
}

.za-instructor-card__name {
    color: var(--zahn-footer);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 6px;
}

.za-instructor-card__credential {
    color: var(--zahn-text);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
}

.za-about-band__cta {
    font-weight: 600;
}

.za-about-band__cta {
    margin-top: 8px;
}

@media (min-width: 992px) {
    .za-about-band__column + .za-about-band__column {
        margin-top: 0;
    }

    .za-instructor-card__avatar {
        height: 140px;
        width: 140px;
    }

    .za-instructor-carousel {
        min-height: 250px;
    }
}

/* ==========================================================================
   About Us page — /about
   ========================================================================== */

.za-about-hero {
    background-color: var(--zahn-surface-alt);
    padding: 80px 0;
    text-align: center;
}

.za-about-hero__label {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 20px;
    text-transform: uppercase;
}

.za-about-hero__heading {
    color: var(--zahn-footer);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 24px;
}

.za-about-hero__lead {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 28px;
}

.za-about-hero__story {
    row-gap: 24px;
}

.za-about-hero__portrait {
    margin: 0 auto;
    max-width: 320px;
}

.za-about-hero__photo {
    display: block;
    height: auto;
    width: 100%;
}

.za-about-hero__quote {
    color: var(--zahn-footer);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 18px 0 0;
    text-align: left;
}

.za-about-hero__quote p {
    margin: 0;
}

.za-about-hero__copy {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
    text-align: left;
}

.za-about-hero__copy p {
    margin: 0 0 16px;
}

.za-about-hero__copy p:last-child {
    margin-bottom: 0;
}

.za-about-hero__copy strong {
    color: var(--zahn-footer);
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}

.za-method {
    background-color: var(--zahn-white);
    padding: 80px 0;
}

.za-method__label,
.za-serve__label,
.za-instructors-about__label,
.za-partnerships__label,
.za-scholarships__label,
.za-about-programs__label {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.za-method__heading,
.za-serve__heading,
.za-instructors-about__heading,
.za-partnerships__heading,
.za-scholarships__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 20px;
}

.za-method__subhead {
    color: var(--zahn-primary);
    font-size: 1.05rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 16px;
}

.za-serve__heading {
    margin-bottom: 48px;
}

.za-method__body,
.za-instructors-about__body,
.za-partnerships__body,
.za-scholarships__body {
    color: var(--zahn-text);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.65;
    margin: 0 0 20px;
}

.za-method__body:last-of-type {
    margin-bottom: 0;
}

.za-method__phase {
    background-color: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    border-radius: 4px;
    margin-bottom: 16px;
    padding: 20px;
}

.za-method__phase:last-child {
    margin-bottom: 0;
}

.za-method__phase-label {
    color: var(--zahn-footer);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 8px;
}

.za-method__phase-text {
    color: var(--zahn-text);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.55;
    margin: 0;
}

.za-stats-band {
    background-color: var(--zahn-primary);
    color: var(--zahn-white);
    padding: 60px 0;
}

.za-stats-band__item {
    margin-bottom: 24px;
}

.za-stats-band__value {
    color: var(--zahn-white);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 8px;
}

.za-stats-band__label {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
}

.za-serve {
    background-color: var(--zahn-surface-alt);
    padding: 80px 0;
}

.za-serve__item {
    align-items: flex-start;
    color: var(--zahn-text);
    display: flex;
    font-size: 1rem;
    font-weight: 400;
    gap: 12px;
    line-height: 1.55;
    margin-bottom: 24px;
}

.za-serve__item i {
    color: var(--zahn-primary);
    flex-shrink: 0;
    font-size: 1.5rem;
    margin-top: 2px;
}

.za-instructors-about {
    background-color: var(--zahn-white);
    padding: 80px 0;
}

.za-instructors-about__link,
.za-scholarships__link {
    color: var(--zahn-accent);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}

.za-instructors-about__link:hover,
.za-instructors-about__link:focus,
.za-scholarships__link:hover,
.za-scholarships__link:focus {
    color: var(--zahn-primary);
}

.za-scholarships__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.za-instructors-about__callout,
.za-scholarships__callout {
    background-color: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    padding: 32px;
}

.za-instructors-about__callout p {
    align-items: flex-start;
    color: var(--zahn-text);
    display: flex;
    font-size: 0.95rem;
    gap: 12px;
    line-height: 1.55;
    margin: 0 0 16px;
}

.za-instructors-about__callout p:last-child {
    margin-bottom: 0;
}

.za-instructors-about__callout i {
    color: var(--zahn-primary);
    flex-shrink: 0;
    font-size: 1.1rem;
    margin-top: 3px;
}

.za-partnerships {
    background-color: var(--zahn-surface-alt);
    padding: 80px 0;
}

.za-partnerships__inner {
    margin: 0 auto;
    max-width: 720px;
}

.za-partnerships__body {
    margin-bottom: 0;
}

.za-scholarships {
    background-color: var(--zahn-white);
    padding: 80px 0;
}

.za-scholarships__callout-icon {
    color: var(--zahn-primary);
    display: block;
    font-size: 3rem;
    margin: 0 auto 16px;
}

.za-scholarships__callout p {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0;
}

.za-about-programs {
    background-color: var(--zahn-surface-alt);
    padding: 80px 0;
}

.za-about-programs__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 48px;
}

.za-about-programs__card {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 6px;
    border-top: 4px solid var(--zahn-primary);
    display: flex;
    flex-direction: column;
    padding: 28px;
}

.za-about-programs__card-title {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 12px;
}

.za-about-programs__card-desc {
    color: var(--zahn-text);
    flex-grow: 1;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.55;
    margin: 0 0 20px;
}

.za-about-programs__card-link {
    color: var(--zahn-accent);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
}

.za-about-programs__card-link:hover,
.za-about-programs__card-link:focus {
    color: var(--zahn-primary);
}

.za-cta-band {
    background-color: var(--zahn-primary);
    color: var(--zahn-white);
    padding: 80px 0;
    text-align: center;
}

.za-cta-band__heading {
    color: var(--zahn-white);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 20px;
}

.za-cta-band__subtext {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.65;
    margin: 0 auto 32px;
    max-width: 560px;
}

.za-cta-band__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}

.za-cta-band__btn {
    font-size: 1rem;
    font-weight: 600;
    min-width: 220px;
    text-transform: uppercase;
}

.za-cta-band__btn--primary {
    background-color: var(--zahn-white);
    border-color: var(--zahn-white);
    color: var(--zahn-primary);
}

.za-cta-band__btn--primary:hover,
.za-cta-band__btn--primary:focus-visible {
    background-color: transparent;
    border-color: var(--zahn-white);
    color: var(--zahn-footer);
}

.za-cta-band__btn--secondary {
    background-color: transparent;
    border: 2px solid var(--zahn-white);
    color: var(--zahn-white);
}

.za-cta-band__btn--secondary:hover,
.za-cta-band__btn--secondary:focus-visible {
    background-color: transparent;
    border-color: var(--zahn-white);
    color: var(--zahn-footer);
}

@media (min-width: 768px) {
    .za-stats-band__item {
        margin-bottom: 0;
    }
}

@media (min-width: 992px) {
    .za-method .col-lg-6:last-child {
        padding-left: 32px;
    }
}

/* ==========================================================================
   Meet The Team — /meet-the-team
   ========================================================================== */

.za-team-hero {
    background-color: var(--zahn-surface-alt);
    padding: 48px 0 40px;
}

.za-team-hero__content {
    margin: 0 auto;
    max-width: 720px;
}

.za-team-hero__label,
.za-team-section__label,
.za-team-detail__role {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.za-team-hero__heading {
    color: var(--zahn-footer);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 20px;
}

.za-team-hero__subhead {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
}

.za-team-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 32px;
}

.za-team-jump-nav__link {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 999px;
    color: var(--zahn-primary);
    font-size: 0.95rem;
    font-weight: 600;
    padding: 10px 20px;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.za-team-jump-nav__link:hover,
.za-team-jump-nav__link:focus {
    background-color: var(--zahn-highlight);
    border-color: var(--zahn-primary);
    color: var(--zahn-primary);
}

.za-team-section {
    padding: 64px 0;
}

.za-team-section--alt {
    background-color: var(--zahn-surface-alt);
}

.za-team-section__header {
    margin: 0 auto 40px;
    max-width: 680px;
    text-align: center;
}

.za-team-section__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}

.za-team-section__intro {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0;
}

.za-team-grid {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

.za-team-grid--centered {
    justify-content: center;
}

.za-team-card {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    height: 100%;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.za-team-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.za-team-card__media-link {
    display: block;
    text-decoration: none;
}

.za-team-card__media {
    background-color: var(--zahn-highlight);
    padding: 16px 16px 0;
}

.za-team-card__avatar {
    align-items: center;
    aspect-ratio: 1;
    background-color: var(--zahn-primary);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.za-team-card__avatar--photo {
    background-color: var(--zahn-highlight);
}

.za-team-card__photo {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    width: 100%;
}

.za-team-card__avatar--dark-portrait .za-team-card__photo {
    object-position: center 30%;
    transform: scale(1.08);
}

.za-team-card__initials {
    color: var(--zahn-white);
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.za-team-card__body {
    padding: 16px;
    text-align: center;
}

.za-team-card__name {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 6px;
}

.za-team-card__name a {
    color: var(--zahn-footer);
    text-decoration: none;
}

.za-team-card__name a:hover,
.za-team-card__name a:focus {
    color: var(--zahn-primary);
}

.za-team-card__credential {
    color: var(--zahn-text);
    font-size: 0.85rem;
    line-height: 1.4;
    margin: 0 0 12px;
}

.za-team-card__link {
    color: var(--zahn-accent);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
}

.za-team-card__link:hover,
.za-team-card__link:focus {
    color: var(--zahn-primary);
}

.za-team-detail {
    background-color: var(--zahn-surface-alt);
    padding: 48px 0 80px;
}

.za-team-detail__sidebar {
    margin-bottom: 32px;
}

.za-team-detail__photo-wrap {
    margin-bottom: 20px;
}

.za-team-detail__avatar {
    align-items: center;
    aspect-ratio: 1;
    background-color: var(--zahn-primary);
    border-radius: 12px;
    display: flex;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.za-team-detail__avatar--photo {
    background-color: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
}

.za-team-detail__photo {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    width: 100%;
}

.za-team-detail__avatar--dark-portrait .za-team-detail__photo {
    object-position: center 30%;
    transform: scale(1.08);
}

.za-team-detail__initials {
    color: var(--zahn-white);
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.za-team-detail__back {
    align-items: center;
    color: var(--zahn-accent);
    display: inline-flex;
    font-size: 0.95rem;
    font-weight: 600;
    gap: 8px;
    text-decoration: none;
}

.za-team-detail__back:hover,
.za-team-detail__back:focus {
    color: var(--zahn-primary);
}

.za-team-detail__name {
    color: var(--zahn-footer);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 8px;
}

.za-team-detail__credential {
    color: var(--zahn-text);
    font-size: 1.05rem;
    font-weight: 500;
    margin: 0 0 28px;
}

.za-team-detail__bio p {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 18px;
}

.za-team-detail__bio p:last-child {
    margin-bottom: 0;
}

.za-team-detail__bio--tutor {
    margin-top: 28px;
}

.za-team-detail__bio-heading {
    color: var(--zahn-footer);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 16px;
}

.za-team-detail__email {
    color: var(--zahn-text);
    font-size: 1rem;
    margin: 28px 0 0;
}

.za-team-detail__email a {
    font-weight: 600;
    word-break: break-word;
}

.za-team-detail__video {
    margin-top: 32px;
}

.za-team-detail__video-btn {
    align-items: center;
    display: inline-flex;
    font-weight: 600;
    gap: 10px;
    text-transform: uppercase;
}

.za-team-detail__video-btn .bi {
    font-size: 1.1rem;
}

.za-team-video-modal .modal-content {
    border: 1px solid var(--zahn-border);
    border-radius: 8px;
    overflow: hidden;
}

.za-team-video-modal__title {
    color: var(--zahn-footer);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

.za-team-video-modal__body {
    padding: 0 1rem 1rem;
}

.za-team-video-modal__player-wrap {
    background-color: var(--zahn-footer);
    border-radius: 4px;
    overflow: hidden;
}

.za-team-video-modal__player {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.za-team-detail-nav {
    border-top: 1px solid var(--zahn-border);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 48px;
    padding-top: 32px;
}

.za-team-detail-nav__spacer {
    flex: 1;
}

.za-team-detail-nav__link {
    color: var(--zahn-footer);
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 4px;
    max-width: 280px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.za-team-detail-nav__link:hover,
.za-team-detail-nav__link:focus {
    color: var(--zahn-primary);
}

.za-team-detail-nav__link--next {
    margin-left: auto;
    text-align: right;
}

.za-team-detail-nav__label {
    color: var(--zahn-text);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.za-team-detail-nav__name {
    font-size: 1rem;
    font-weight: 600;
}

@media (min-width: 768px) {
    .za-team-hero {
        padding: 56px 0 48px;
    }

    .za-team-section {
        padding: 80px 0;
    }
}

@media (min-width: 992px) {
    .za-team-detail__sidebar {
        margin-bottom: 0;
        position: sticky;
        top: 120px;
    }
}

/* ==========================================================================
   Contact Us page — /contact
   ========================================================================== */

.za-contact-hero {
    background-color: var(--zahn-surface-alt);
    padding: 48px 0 40px;
}

.za-contact-hero__content {
    margin: 0 auto;
    max-width: 760px;
}

.za-contact-hero__label,
.za-contact-map__label {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.za-contact-hero__heading {
    color: var(--zahn-footer);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 20px;
}

.za-contact-hero__subhead {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
}

.za-contact-main {
    background-color: var(--zahn-white);
    padding: 64px 0;
}

.za-contact-details__heading,
.za-contact-form-card__title,
.za-contact-map__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}

.za-contact-details__intro,
.za-contact-form-card__intro,
.za-contact-map__intro {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0 0 28px;
}

.za-contact-details__list {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
}

.za-contact-details__item {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.za-contact-details__item:last-child {
    margin-bottom: 0;
}

.za-contact-details__icon {
    align-items: center;
    background-color: var(--zahn-highlight);
    border-radius: 50%;
    color: var(--zahn-primary);
    display: inline-flex;
    flex-shrink: 0;
    font-size: 1.1rem;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.za-contact-details__label {
    color: var(--zahn-footer);
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0 0 4px;
}

.za-contact-details__value {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.za-contact-details__value a {
    color: var(--zahn-accent);
    font-weight: 600;
    text-decoration: none;
}

.za-contact-details__value a:hover,
.za-contact-details__value a:focus {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-contact-form-card {
    background-color: var(--zahn-surface-alt);
    border: 1px solid var(--zahn-border);
    padding: 32px 28px;
}

.za-contact-form-card__status {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 20px;
}

.za-contact-form-card__status--success {
    color: var(--zahn-primary);
}

.za-contact-form-card__status--error {
    color: var(--zahn-error);
}

.za-contact-form-card__validation-summary {
    color: var(--zahn-error);
    font-size: 0.95rem;
    margin-bottom: 16px;
}

.za-contact-form-card__label {
    color: var(--zahn-footer);
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.za-contact-form-card__control {
    background-color: var(--zahn-white);
    border-color: var(--zahn-border);
    border-radius: 3px;
    color: var(--zahn-footer);
    font-size: 1rem;
    padding: 12px 14px;
}

.za-contact-form-card__control:focus {
    border-color: var(--zahn-accent);
    box-shadow: none;
    outline: 2px solid var(--zahn-accent);
    outline-offset: 0;
}

.za-contact-form-card__field-error {
    color: var(--zahn-error);
    display: block;
    font-size: 0.875rem;
    margin-top: 6px;
}

.za-contact-map {
    background-color: var(--zahn-surface-alt);
    padding: 64px 0 0;
}

.za-contact-map__header {
    margin: 0 auto 32px;
    max-width: 680px;
}

.za-contact-map__embed-wrap {
    border-top: 1px solid var(--zahn-border);
    line-height: 0;
}

.za-contact-map__embed {
    border: 0;
    display: block;
    height: 420px;
    width: 100%;
}

@media (min-width: 768px) {
    .za-contact-hero {
        padding: 56px 0 48px;
    }

    .za-contact-main {
        padding: 80px 0;
    }

    .za-contact-form-card {
        padding: 40px 36px;
    }

    .za-contact-map {
        padding-top: 80px;
    }

    .za-contact-map__embed {
        height: 480px;
    }
}

@media (min-width: 992px) {
    .za-contact-details {
        padding-right: 16px;
    }
}

/* ==========================================================================
   Live Review (/live-review) — consolidated overview + enrollment
   ========================================================================== */

.za-lr-hero {
    background-color: var(--zahn-surface-alt);
    padding: 72px 0 64px;
}

.za-lr-hero__label,
.za-lr-section-header__label {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.za-lr-hero__heading {
    color: var(--zahn-footer);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 20px;
}

.za-lr-hero__subhead {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.65;
    margin: 0 auto 32px;
    max-width: 680px;
}

.za-lr-hero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    margin: 0 auto 36px;
    max-width: 560px;
}

.za-lr-hero__proof-item {
    background-color: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    border-radius: 4px;
    flex: 1 1 200px;
    padding: 16px 20px;
    text-align: left;
}

.za-lr-hero__proof-value {
    color: var(--zahn-footer);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 4px;
}

.za-lr-hero__proof-label {
    color: var(--zahn-text);
    font-size: 0.9rem;
    margin: 0;
}

.za-lr-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.za-lr-hero__cta {
    margin-top: 8px;
}

#za-lr-supplemental {
    scroll-margin-top: 96px;
}

.za-lr-method {
    border-bottom: 1px solid var(--zahn-border);
}

.za-lr-platform {
    background-color: var(--zahn-surface-alt);
    padding: 72px 0;
}

.za-lr-platform__panel {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 6px;
    height: auto;
    margin-bottom: 24px;
    padding: 28px 24px 24px;
}

.za-lr-platform__stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.za-lr-platform__stack .za-lr-platform__panel {
    flex: 1 1 auto;
    margin-bottom: 0;
}

.za-lr-platform__panel-cta {
    margin-top: 20px;
}

@media (min-width: 992px) {
    .za-lr-platform__column--fill > .za-lr-platform__panel {
        height: 100%;
        margin-bottom: 0;
    }

    .za-lr-platform__stack {
        height: 100%;
    }
}

.za-lr-platform__panel-header {
    border-bottom: 1px solid var(--zahn-border);
    margin-bottom: 20px;
    padding-bottom: 16px;
}

.za-lr-platform__panel-title {
    color: var(--zahn-footer);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 6px;
}

.za-lr-platform__panel-subtitle {
    color: var(--zahn-primary);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0;
    text-transform: uppercase;
}

.za-lr-platform__grid {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
    list-style: none;
    margin: 0;
    padding: 0;
}

.za-lr-platform__item {
    align-items: flex-start;
    color: var(--zahn-text);
    display: flex;
    font-size: 0.95rem;
    gap: 12px;
    line-height: 1.5;
}

.za-lr-platform__icon {
    color: var(--zahn-primary);
    flex-shrink: 0;
    font-size: 1.1rem;
    line-height: 1.4;
    margin-top: 2px;
}

.za-lr-platform__addon {
    color: var(--zahn-text);
    font-size: 0.85rem;
    font-style: normal;
    font-weight: 400;
}

.za-lr-platform__materials-door {
    border-top: 1px solid var(--zahn-border);
    margin: 48px auto 0;
    max-width: 560px;
    padding-top: 32px;
}

.za-lr-platform__materials-door-heading {
    color: var(--zahn-text);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
    margin: 0 0 8px;
}

.za-lr-platform__materials-door-lead {
    color: var(--zahn-text);
    font-size: 0.925rem;
    line-height: 1.55;
    margin: 0 auto 20px;
    max-width: 480px;
}

.za-lr-platform__materials-door-cta {
    margin-top: 4px;
}

@media (min-width: 992px) {
    .za-lr-platform__materials-door {
        margin-top: 56px;
        padding-top: 40px;
    }

    .za-lr-platform__materials-door-lead {
        margin-bottom: 24px;
    }
}

.za-lr-retaker-section {
    background-color: var(--zahn-surface-alt);
    border-bottom: 1px solid var(--zahn-border);
    padding: 72px 0;
}

.za-lr-retaker {
    background-color: var(--zahn-highlight);
    border: none;
    border-radius: 4px;
    margin: 0 auto;
    max-width: 880px;
    padding: 24px 28px;
}

.za-lr-retaker__heading {
    color: var(--zahn-footer);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 16px 0 12px;
}

.za-lr-retaker__body {
    color: var(--zahn-text);
    font-size: 0.925rem;
    line-height: 1.6;
    margin: 0 0 12px;
}

.za-lr-retaker__details {
    color: var(--zahn-text);
    font-size: 0.85rem;
    line-height: 1.45;
    margin: 0 0 14px;
    padding-left: 1.1rem;
}

.za-lr-retaker__details li {
    margin-bottom: 2px;
}

.za-lr-retaker__link {
    font-size: 0.9rem;
    font-weight: 500;
}

.za-lr-retaker__inline-link {
    color: var(--zahn-accent);
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 2px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.za-lr-retaker__inline-link:hover,
.za-lr-retaker__inline-link:focus-visible {
    color: var(--zahn-primary);
    text-decoration-color: currentColor;
}

.za-lr-section-header {
    margin: 0 auto 40px;
    max-width: 720px;
}

.za-lr-section-header__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 12px;
}

.za-lr-section-header__sub {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
}

.za-lr-cycles {
    background-color: var(--zahn-white);
    border-top: 1px solid var(--zahn-border);
    padding: 80px 0 40px;
}

.za-lr-controls {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.za-lr-sticky-bar {
    background-color: var(--zahn-white);
    border-bottom: 1px solid var(--zahn-border);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    left: 0;
    padding: 10px 0;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateY(-110%);
    transition: transform 0.2s ease;
    z-index: 1030;
}

.za-lr-sticky-bar.is-visible {
    transform: translateY(0);
}

.za-lr-controls--sticky {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px 20px;
    justify-content: space-between;
}

.za-lr-cycle-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}

.za-lr-cycle-switcher--sticky {
    gap: 8px;
    justify-content: flex-start;
    margin-bottom: 0;
}

.za-lr-cycle-tile {
    background-color: var(--zahn-white);
    border: 2px solid var(--zahn-border);
    border-radius: 6px;
    color: var(--zahn-footer);
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 180px;
    padding: 20px 28px;
    text-align: center;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.za-lr-cycle-tile--sticky {
    flex-direction: row;
    gap: 10px;
    min-width: 0;
    padding: 8px 14px;
}

.za-lr-cycle-tile--sticky .za-lr-cycle-tile__title {
    font-size: 0.9rem;
}

.za-lr-cycle-tile--sticky .za-lr-cycle-tile__price {
    font-size: 0.9rem;
}

.za-lr-cycle-tile:hover,
.za-lr-cycle-tile:focus {
    border-color: var(--zahn-accent);
    color: var(--zahn-footer);
    text-decoration: none;
}

.za-lr-cycle-tile.is-selected {
    border-color: var(--zahn-primary);
    box-shadow: 0 0 0 1px var(--zahn-primary);
}

.za-lr-cycle-tile__title {
    font-size: 1.1rem;
    font-weight: 700;
}

.za-lr-cycle-tile__price {
    color: var(--zahn-primary);
    font-size: 1.25rem;
    font-weight: 700;
}

.za-lr-delivery {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.za-lr-delivery--sticky {
    justify-content: flex-end;
}

.za-lr-delivery__btn {
    appearance: none;
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 999px;
    color: var(--zahn-footer);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 8px 18px;
    text-decoration: none;
}

.za-lr-delivery__btn:hover,
.za-lr-delivery__btn:focus {
    border-color: var(--zahn-accent);
    color: var(--zahn-accent);
    text-decoration: none;
}

.za-lr-delivery__btn.is-active {
    background-color: var(--zahn-primary);
    border-color: var(--zahn-primary);
    color: var(--zahn-white);
}

.za-lr-class-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 16px;
}

.za-lr-view-toggle {
    background-color: color-mix(in srgb, var(--zahn-footer) 8%, var(--zahn-white));
    border-radius: 8px;
    display: inline-flex;
    gap: 2px;
    margin: 0;
    padding: 4px;
}

.za-lr-view-toggle--sticky {
    margin: 0;
}

.za-lr-view-toggle__btn {
    align-items: center;
    appearance: none;
    background-color: transparent;
    border: 0;
    border-radius: 6px;
    color: var(--zahn-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.15rem;
    justify-content: center;
    line-height: 1;
    min-height: 36px;
    min-width: 40px;
    padding: 6px 10px;
}

.za-lr-view-toggle__btn:hover,
.za-lr-view-toggle__btn:focus {
    color: var(--zahn-footer);
}

.za-lr-view-toggle__btn.is-active {
    background-color: var(--zahn-white);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    color: var(--zahn-footer);
}

.za-lr-view-toggle__btn--print {
    border-left: 1px solid var(--zahn-border);
    border-radius: 0 6px 6px 0;
    margin-left: 2px;
}

.za-lr-print-sheet {
    display: none;
}

@media print {
    html,
    body {
        background: var(--zahn-white);
    }

    #site-header,
    .footer-area,
    .za-lr-hero,
    .za-method,
    .za-lr-platform,
    .za-lr-retaker-section,
    .za-lr-cycles,
    .za-lr-sticky-bar,
    .za-lr-deadlines,
    .za-lr-proof,
    .za-lr-future,
    .za-lr-classes .za-lr-section-header,
    .za-lr-classes .za-lr-alert,
    .za-lr-classes .za-lr-empty,
    .za-lr-class-toolbar,
    .za-lr-class-grid,
    .modal,
    .modal-backdrop {
        display: none !important;
    }

    .site-main,
    .za-lr-classes {
        background: var(--zahn-white);
        padding: 0;
    }

    .za-lr-classes .container {
        max-width: none;
        padding: 0;
    }

    .za-lr-print-sheet {
        color: var(--zahn-footer);
        display: block !important;
    }

    .za-lr-print-sheet__brand {
        color: var(--zahn-primary);
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        margin: 0 0 6px;
        text-transform: uppercase;
    }

    .za-lr-print-sheet__title {
        font-size: 1.5rem;
        font-weight: 700;
        margin: 0 0 6px;
    }

    .za-lr-print-sheet__meta,
    .za-lr-print-sheet__footer {
        color: var(--zahn-text);
        font-size: 0.9rem;
        margin: 0;
    }

    .za-lr-print-sheet__meta {
        margin-bottom: 18px;
    }

    .za-lr-print-sheet__meta-sep {
        margin: 0 6px;
    }

    .za-lr-print-sheet__table {
        border-collapse: collapse;
        width: 100%;
    }

    .za-lr-print-sheet__table th,
    .za-lr-print-sheet__table td {
        border-bottom: 1px solid var(--zahn-border);
        padding: 8px 10px;
        text-align: left;
        vertical-align: top;
    }

    .za-lr-print-sheet__table th {
        border-bottom-color: var(--zahn-primary);
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .za-lr-print-sheet__table tr {
        break-inside: avoid;
    }

    .za-lr-print-sheet__table tr.is-delivery-hidden {
        display: none !important;
    }

    .za-lr-print-sheet__footer {
        margin-top: 16px;
    }

    @page {
        margin: 0.6in;
    }
}

.za-lr-class-table-head {
    display: none;
}

.za-lr-class-card.is-delivery-hidden {
    display: none;
}

.za-lr-classes.is-table-view .za-lr-class-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: 11.5rem minmax(0, 1.3fr) minmax(0, 1.2fr) 17rem;
}

.za-lr-classes.is-table-view .za-lr-class-table-head,
.za-lr-classes.is-table-view .za-lr-class-card {
    align-items: center;
    display: grid;
    gap: 8px 16px;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
    justify-items: stretch;
    text-align: left;
}

@supports not (grid-template-columns: subgrid) {
    .za-lr-classes.is-table-view .za-lr-class-table-head,
    .za-lr-classes.is-table-view .za-lr-class-card {
        grid-template-columns: 11.5rem minmax(0, 1.3fr) minmax(0, 1.2fr) 17rem;
    }
}

.za-lr-classes.is-table-view .za-lr-class-table-head {
    color: var(--zahn-footer);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 0 16px;
    text-transform: uppercase;
}

.za-lr-classes.is-table-view .za-lr-class-table-head > span {
    text-align: left;
}

.za-lr-classes.is-table-view .za-lr-class-table-head__actions {
    text-align: right;
}

.za-lr-classes.is-table-view .za-lr-class-card {
    border-top-width: 3px;
    padding: 10px 16px;
}

.za-lr-classes.is-table-view .za-lr-class-card:hover {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transform: none;
}

.za-lr-classes.is-table-view .za-lr-class-card__dates,
.za-lr-classes.is-table-view .za-lr-class-card__title,
.za-lr-classes.is-table-view .za-lr-class-card__instructors,
.za-lr-classes.is-table-view .za-lr-class-card__status {
    margin: 0;
}

.za-lr-classes.is-table-view .za-lr-class-card__dates {
    grid-column: 1;
    grid-row: 1;
    text-align: left;
}

.za-lr-classes.is-table-view .za-card.za-lr-class-card .za-card__title.za-lr-class-card__title {
    grid-column: 2;
    grid-row: 1;
    justify-self: stretch;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
    width: 100%;
}

.za-lr-classes.is-table-view .za-lr-class-card__instructors {
    grid-column: 3;
    grid-row: 1;
    justify-self: stretch;
    text-align: left;
    width: 100%;
}

.za-lr-classes.is-table-view .za-lr-class-card__instructors--empty {
    display: block;
}

.za-lr-classes.is-table-view .za-lr-class-card__actions {
    grid-column: 4;
    grid-row: 1 / span 2;
    justify-content: flex-end;
    margin: 0;
}

.za-lr-classes.is-table-view .za-lr-class-card__status {
    grid-column: 1 / 4;
    grid-row: 2;
}

.za-lr-classes.is-table-view .za-lr-class-card.is-delivery-hidden {
    display: none;
}

@media (max-width: 767.98px) {
    .za-lr-classes.is-table-view .za-lr-class-grid {
        grid-template-columns: 1fr;
    }

    .za-lr-classes.is-table-view .za-lr-class-table-head {
        display: none;
    }

    .za-lr-classes.is-table-view .za-lr-class-card {
        grid-template-columns: 1fr;
        padding: 12px 14px;
    }

    .za-lr-classes.is-table-view .za-lr-class-card__dates,
    .za-lr-classes.is-table-view .za-lr-class-card__title,
    .za-lr-classes.is-table-view .za-lr-class-card__instructors,
    .za-lr-classes.is-table-view .za-lr-class-card__status,
    .za-lr-classes.is-table-view .za-lr-class-card__actions {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .za-lr-controls--sticky {
        flex-direction: column;
        align-items: stretch;
    }

    .za-lr-cycle-switcher--sticky,
    .za-lr-delivery--sticky {
        justify-content: center;
    }

    .za-lr-view-toggle--sticky {
        align-self: flex-end;
        justify-content: flex-end;
    }

    .za-lr-cycle-tile--sticky {
        flex: 1 1 auto;
        justify-content: center;
    }
}

.za-lr-deadlines {
    background-color: var(--zahn-surface-alt);
    padding: 48px 0 72px;
    scroll-margin-top: 96px;
}

.za-lr-deadlines__panel,
.za-lr-price-note {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 6px;
    height: 100%;
    padding: 28px;
}

.za-lr-deadlines__heading {
    color: var(--zahn-footer);
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 20px;
}

.za-lr-deadlines__list {
    margin: 0 0 24px;
}

.za-lr-deadlines__row {
    border-bottom: 1px solid var(--zahn-border);
    margin-bottom: 12px;
    padding-bottom: 12px;
}

.za-lr-deadlines__row:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.za-lr-deadlines__row dt {
    color: var(--zahn-footer);
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 4px;
}

.za-lr-deadlines__row dd {
    color: var(--zahn-text);
    margin: 0;
}

.za-lr-price-note__label {
    color: var(--zahn-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.za-lr-price-note__price {
    color: var(--zahn-footer);
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.za-lr-price-note__includes,
.za-lr-price-note__bullets {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.55;
}

.za-lr-price-note__bullets {
    margin: 0 0 24px;
    padding-left: 1.2rem;
}

.za-lr-price-note__alert {
    color: var(--zahn-error);
    font-weight: 600;
}

/* Accordion (schedules) */
.za-accordion__item {
    border-top: 1px solid var(--zahn-border);
}

.za-accordion__item:last-child {
    border-bottom: 1px solid var(--zahn-border);
}

.za-accordion__button {
    background: transparent;
    border: 0;
    color: var(--zahn-footer);
    display: flex;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    padding: 14px 0;
    text-align: left;
    width: 100%;
}

.za-accordion__button::after {
    content: "+";
    margin-left: auto;
}

.za-accordion__button:not(.collapsed)::after {
    content: "–";
}

.za-accordion__body {
    padding: 0 0 16px;
}

.za-accordion__notes {
    color: var(--zahn-text);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0 0 12px;
    padding-left: 1.2rem;
}

.za-accordion__notes li {
    margin-bottom: 2px;
}

.za-lr-schedule-formats__title {
    color: var(--zahn-footer);
    font-size: 0.95rem;
    font-weight: 600;
    margin: 16px 0 8px;
}

.za-lr-schedule-formats__list {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0 0 24px;
    padding-left: 1.2rem;
}

.za-lr-schedule-formats__list li {
    margin-bottom: 2px;
}

.za-lr-schedule-table {
    font-size: 0.9rem;
    margin-bottom: 0;
}

.za-lr-schedule-table thead th {
    background-color: var(--zahn-primary);
    border-color: var(--zahn-primary);
    color: var(--zahn-white);
    font-weight: 600;
}

.za-lr-schedule-empty {
    color: var(--zahn-text);
    font-size: 0.9rem;
    margin: 0;
}

.za-lr-proof {
    background-color: var(--zahn-white);
    padding: 72px 0;
}

.za-lr-proof__stats {
    margin-bottom: 40px;
}

.za-lr-proof__stat-value {
    color: var(--zahn-primary);
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 6px;
}

.za-lr-proof__stat-label {
    color: var(--zahn-text);
    margin: 0 0 24px;
}

.za-lr-testimonials {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    margin-bottom: 32px;
}

.za-lr-testimonial {
    background-color: var(--zahn-surface-alt);
    border: 1px solid var(--zahn-border);
    border-radius: 6px;
    margin: 0;
    padding: 24px;
}

.za-lr-testimonial__quote {
    color: var(--zahn-footer);
    font-size: 0.98rem;
    line-height: 1.6;
    margin: 0 0 16px;
}

.za-lr-testimonial__attr {
    color: var(--zahn-footer);
    font-size: 0.9rem;
    font-weight: 700;
}

.za-lr-proof__scholarship {
    font-weight: 600;
}

.za-lr-classes {
    background-color: var(--zahn-surface-alt);
    padding: 72px 0;
    scroll-margin-top: 96px;
}

.za-lr-class-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    justify-content: start;
    justify-items: stretch;
}

.za-lr-class-card {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 16px 18px 16px;
    text-align: left;
}

.za-lr-class-card.is-closed {
    opacity: 0.72;
}

.za-lr-class-card__dates {
    color: var(--zahn-primary);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.za-lr-class-card__title {
    font-size: 1.05rem;
    margin-bottom: 6px;
}

.za-lr-class-card__status {
    color: var(--zahn-error);
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 6px;
}

.za-lr-class-card__instructors {
    color: var(--zahn-text);
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0 0 12px;
}

.za-lr-class-card__instructors--empty {
    display: none;
}

.za-lr-instructor-link {
    background: none;
    border: none;
    color: var(--zahn-accent);
    cursor: pointer;
    display: inline;
    font: inherit;
    padding: 0;
    text-align: inherit;
    text-decoration: underline;
}

.za-lr-instructor-link:hover,
.za-lr-instructor-link:focus {
    color: var(--zahn-primary);
}

.za-lr-instructor-modal .modal-content {
    border: 1px solid var(--zahn-border);
    border-radius: 8px;
}

.za-lr-instructor-modal__header {
    border-bottom: none;
    padding: 20px 20px 0;
}

.za-lr-instructor-modal__body {
    padding: 0 28px 28px;
}

.za-lr-instructor-modal__layout {
    align-items: flex-start;
}

.za-lr-instructor-modal__photo-wrap {
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    .za-lr-instructor-modal__photo-wrap {
        margin-bottom: 0;
    }
}

.za-lr-instructor-modal__avatar {
    align-items: center;
    aspect-ratio: 1;
    background-color: var(--zahn-primary);
    border-radius: 12px;
    display: flex;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.za-lr-instructor-modal__avatar--photo {
    background-color: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
}

.za-lr-instructor-modal__photo {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    width: 100%;
}

.za-lr-instructor-modal__avatar--dark-portrait .za-lr-instructor-modal__photo {
    object-position: center 30%;
    transform: scale(1.08);
}

.za-lr-instructor-modal__initials {
    color: var(--zahn-white);
    font-size: 2.5rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.za-lr-instructor-modal__role {
    color: var(--zahn-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.za-lr-instructor-modal__name {
    color: var(--zahn-footer);
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 6px;
}

.za-lr-instructor-modal__credential {
    color: var(--zahn-text);
    font-size: 0.95rem;
    margin: 0 0 18px;
}

.za-lr-instructor-modal__bio p {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 0 14px;
}

.za-lr-instructor-modal__bio p:last-child {
    margin-bottom: 0;
}

.za-lr-instructor-modal__email {
    color: var(--zahn-text);
    font-size: 0.95rem;
    margin: 20px 0 0;
}

.za-lr-instructor-modal__email a {
    color: var(--zahn-accent);
    text-decoration: none;
}

.za-lr-instructor-modal__email a:hover,
.za-lr-instructor-modal__email a:focus {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-lr-instructor-modal__footer {
    border-top: 1px solid var(--zahn-border);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 16px 28px 24px;
}

.za-lr-instructor-modal__nav-btn {
    align-items: center;
    background: none;
    border: none;
    color: var(--zahn-accent);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.95rem;
    font-weight: 600;
    gap: 6px;
    padding: 0;
}

.za-lr-instructor-modal__nav-btn:hover,
.za-lr-instructor-modal__nav-btn:focus {
    color: var(--zahn-primary);
}

.za-lr-instructor-modal__nav-btn:disabled {
    color: var(--zahn-text);
    cursor: default;
    opacity: 0.45;
}

.za-lr-instructor-modal__nav-btn--next {
    margin-left: auto;
}

.za-lr-class-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

.za-lr-class-card__hotel {
    background-color: transparent;
    border: 1px solid var(--zahn-border);
    color: var(--zahn-footer);
    min-height: 40px;
    padding: 0 16px;
}

.za-lr-class-card__hotel:hover,
.za-lr-class-card__hotel:focus-visible {
    border-color: var(--zahn-accent);
    color: var(--zahn-accent);
}

.za-lr-class-card__register {
    min-height: 40px;
}

.za-lr-class-card__register:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

.za-lr-hotel-modal__class {
    margin-bottom: 16px;
}

.za-lr-hotel-modal__list div {
    border-bottom: 1px solid var(--zahn-border);
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.za-lr-hotel-modal__list dt {
    color: var(--zahn-footer);
    font-size: 0.8rem;
    font-weight: 700;
    margin: 0 0 2px;
}

.za-lr-hotel-modal__list dd {
    color: var(--zahn-text);
    margin: 0;
}

.za-lr-hotel-modal__close {
    background-color: transparent;
    border: 1px solid var(--zahn-border);
    color: var(--zahn-footer);
    min-height: 48px;
}

.za-lr-future {
    background-color: var(--zahn-white);
    padding: 72px 0 88px;
}

.za-lr-future-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 380px));
    justify-content: center;
}

.za-lr-future-card {
    padding: 28px 24px;
    text-align: center;
}

.za-lr-future-card__meta {
    color: var(--zahn-text);
    margin: 0 0 16px;
}

.za-lr-future-card__cta {
    margin-top: 8px;
    width: 100%;
}

.za-lr-empty {
    color: var(--zahn-text);
    margin: 0;
}

@media (min-width: 768px) {
    .za-lr-testimonials {
        grid-template-columns: repeat(2, 1fr);
    }

    .za-lr-class-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .za-lr-testimonials {
        grid-template-columns: repeat(3, 1fr);
    }

    .za-lr-class-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .za-lr-deadlines__panel {
        margin-right: 8px;
    }

    .za-lr-price-note {
        margin-left: 8px;
    }
}

.za-lr-waiting-list-modal .modal-content {
    border: 1px solid var(--zahn-border);
    border-radius: 8px;
}

.za-lr-waiting-list-modal__header {
    border-bottom: 1px solid var(--zahn-border);
    padding: 20px 24px;
}

.za-lr-waiting-list-modal__title {
    color: var(--zahn-footer);
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0;
}

.za-lr-waiting-list-modal__body {
    padding: 24px;
}

.za-lr-waiting-list-modal__intro {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0 0 12px;
}

.za-lr-waiting-list-modal__note {
    color: var(--zahn-text);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0 0 20px;
}

.za-lr-waiting-list-modal__status {
    font-size: 0.95rem;
    margin: 0 0 16px;
}

.za-lr-waiting-list-modal__status--error {
    color: var(--zahn-footer);
}

.za-lr-waiting-list-modal__status--success {
    color: var(--zahn-primary);
}

.za-lr-waiting-list-modal__label {
    color: var(--zahn-footer);
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 6px;
}

.za-lr-waiting-list-modal__control {
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    color: var(--zahn-text);
    font-size: 0.95rem;
    min-height: 44px;
    width: 100%;
}

.za-lr-waiting-list-modal__control:focus {
    border-color: var(--zahn-accent);
    box-shadow: none;
    outline: none;
}

.za-lr-waiting-list-modal__control--readonly {
    background-color: var(--zahn-highlight);
    color: var(--zahn-footer);
}

.za-lr-waiting-list-modal__submit,
.za-lr-waiting-list-modal__close-thanks {
    min-height: 48px;
    min-width: 140px;
}

.za-lr-waiting-list-modal__thanks-heading {
    color: var(--zahn-footer);
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 16px;
}

.za-lr-waiting-list-modal__thanks-body {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 0 20px;
}

.za-lr-waiting-list-modal__thanks-signoff {
    color: var(--zahn-text);
    margin: 0 0 8px;
}

.za-lr-scholarships-page {
    background-color: var(--zahn-white);
    padding: 48px 0 88px;
}

.za-lr-scholarships-page__header {
    border-bottom: 1px solid var(--zahn-border);
    margin-bottom: 48px;
    padding-bottom: 24px;
}

.za-lr-scholarships-page__title {
    color: var(--zahn-footer);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.za-lr-scholarship-feature {
    margin-bottom: 64px;
}

.za-lr-scholarship-feature:last-child {
    margin-bottom: 0;
}

.za-lr-scholarship-feature__divider {
    margin: 0 0 32px;
    text-align: center;
}

.za-lr-scholarship-feature__title {
    color: var(--zahn-footer);
    display: inline-block;
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    padding: 0 20px;
    position: relative;
}

.za-lr-scholarship-feature__divider::before,
.za-lr-scholarship-feature__divider::after {
    background-color: var(--zahn-border);
    content: "";
    display: block;
    height: 1px;
    margin: 0 auto;
    max-width: 120px;
    width: 40%;
}

.za-lr-scholarship-feature__divider::before {
    margin-bottom: 16px;
}

.za-lr-scholarship-feature__divider::after {
    margin-top: 16px;
}

.za-lr-scholarship-feature__body p {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 0 16px;
}

.za-lr-scholarship-feature__body p:last-child {
    margin-bottom: 0;
}

.za-lr-scholarship-feature__partner {
    margin-top: 28px;
}

.za-lr-scholarship-feature__partner-name {
    color: var(--zahn-footer);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 12px;
}

.za-lr-scholarship-feature__links {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
}

.za-lr-scholarship-feature__links li {
    margin-bottom: 6px;
}

.za-lr-scholarship-feature__links a {
    color: var(--zahn-accent);
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
}

.za-lr-scholarship-feature__links a:hover,
.za-lr-scholarship-feature__links a:focus {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-lr-scholarship-feature__cta {
    min-height: 48px;
    min-width: 200px;
}

.za-lr-scholarship-feature__figure {
    margin: 0 auto;
    max-width: 400px;
}

.za-lr-scholarship-feature__image {
    border-radius: 4px;
    display: block;
    height: auto;
    width: 100%;
}

@media (min-width: 992px) {
    .za-lr-scholarships-page {
        padding-top: 56px;
    }

    .za-lr-scholarship-feature__figure {
        margin-left: auto;
        margin-right: 0;
    }
}

/* ── Live Review supplemental materials ─────────────────────────────── */

.za-lr-supplemental {
    background-color: var(--zahn-white);
}

.za-lr-supplemental__intro-band {
    background-color: var(--zahn-surface-alt);
    padding: 64px 0 56px;
}

.za-lr-supplemental__header {
    margin-bottom: 0;
}

.za-lr-supplemental__header .za-lr-section-header__sub {
    margin-bottom: 0;
}

.za-lr-supplemental__intro {
    align-items: flex-start;
    margin-bottom: 0;
    margin-top: 40px;
}

.za-lr-supplemental__intro-lead {
    color: var(--zahn-text);
    font-size: 0.98rem;
    line-height: 1.7;
    margin: 0 0 32px;
}

.za-lr-supplemental__copy p {
    color: var(--zahn-text);
    font-size: 0.98rem;
    line-height: 1.7;
    margin: 0 0 16px;
}

.za-lr-supplemental__catalog-section {
    background-color: var(--zahn-white);
    padding: 56px 0 72px;
}

.za-lr-supplemental__chooser-intro {
    margin-top: 40px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.za-lr-supplemental__chooser-intro p {
    color: var(--zahn-text);
    font-size: 0.98rem;
    line-height: 1.7;
    margin: 0 0 16px;
}

.za-lr-supplemental__more-info {
    color: var(--zahn-accent);
    font-weight: 500;
    text-decoration: none;
}

.za-lr-supplemental__more-info:hover,
.za-lr-supplemental__more-info:focus {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-lr-supplemental__cycle-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 380px));
    justify-content: center;
}

.za-lr-supplemental__cycle-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center;
}

.za-lr-supplemental__cycle-card-title {
    margin-bottom: 16px;
}

.za-lr-supplemental__cycle-card-meta {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.55;
    margin: 0 0 16px;
}

.za-lr-supplemental__cycle-card-cta {
    margin-top: auto;
    width: 100%;
}

.za-lr-supplemental__overview,
.za-lr-supplemental__notes ul {
    color: var(--zahn-text);
    margin: 0 0 16px;
    padding-left: 1.25rem;
}

.za-lr-supplemental__overview li,
.za-lr-supplemental__notes li {
    margin-bottom: 8px;
}

.za-lr-supplemental__notes {
    background: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    border-radius: 0 6px 6px 0;
    padding: 16px 18px;
}

.za-lr-supplemental__notes-title {
    margin: 0 0 8px;
}

.za-lr-supplemental__tax-notice {
    border-top: 1px solid var(--zahn-border);
    color: var(--zahn-primary);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 14px 0 0;
    padding-top: 12px;
}

.za-lr-supplemental__video-player {
    border-radius: 8px;
    display: block;
    max-width: 100%;
    width: 100%;
}

.za-lr-supplemental__video {
    margin-top: 0;
}

@media (max-width: 991.98px) {
    .za-lr-supplemental__video {
        margin-top: 32px;
    }
}

@media (min-width: 992px) {
    .za-lr-supplemental__intro-lead {
        margin-bottom: 40px;
    }

    .za-lr-supplemental__intro {
        margin-top: 48px;
    }

    .za-lr-supplemental__catalog-section {
        padding-top: 64px;
    }

    .za-lr-supplemental__chooser-intro {
        margin-top: 48px;
    }
}

.za-lr-alert {
    margin-bottom: 24px;
}

.za-lr-supplemental__catalog {
    display: grid;
    gap: 20px;
    margin-bottom: 32px;
}

.za-lr-supplemental__offer {
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 8px;
    border-top: 4px solid var(--zahn-primary);
    display: grid;
    gap: 16px;
    grid-template-columns: auto 1fr;
    padding: 20px;
}

.za-lr-supplemental__offer--pair,
.za-lr-supplemental__offer--flashcards {
    display: block;
    grid-template-columns: none;
}

.za-lr-supplemental__offer-select {
    padding-top: 4px;
}

.za-lr-supplemental__offer-header {
    margin-bottom: 4px;
}

.za-lr-supplemental__offer-title {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.za-lr-supplemental__platform-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}

.za-lr-supplemental__platform-badge {
    align-items: center;
    background-color: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
    border-radius: 999px;
    color: var(--zahn-text);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 500;
    gap: 5px;
    line-height: 1.2;
    padding: 4px 10px;
}

.za-lr-supplemental__platform-badge .bi {
    color: var(--zahn-primary);
    font-size: 0.85rem;
}

/* Shipped physical format — neutral gray, not digital-access blue */
.za-lr-supplemental__platform-badge--physical {
    background-color: var(--zahn-surface-alt);
}

.za-lr-supplemental__platform-badge--physical .bi {
    color: var(--zahn-text);
}

.za-lr-supplemental__offer-title--link {
    cursor: pointer;
    display: block;
}

.za-lr-supplemental__offer-price {
    color: var(--zahn-primary);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.za-lr-supplemental__who-for {
    color: var(--zahn-text);
    font-size: 0.95rem;
    font-style: italic;
    line-height: 1.55;
    margin: 0 0 12px;
}

.za-lr-supplemental__product-copy p {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 0 12px;
}

.za-lr-supplemental__checkbox {
    height: 18px;
    margin-right: 8px;
    width: 18px;
}

.za-lr-supplemental__pair-grid {
    border: 1px solid var(--zahn-border);
    border-radius: 6px;
    display: grid;
    gap: 0;
    margin-top: 16px;
}

.za-lr-supplemental__pair-item + .za-lr-supplemental__pair-item {
    border-top: 1px solid var(--zahn-border);
}

.za-lr-supplemental__pair-label {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 8px 16px;
    grid-template-columns: auto 1fr auto;
    margin: 0;
    padding: 14px 16px;
}

.za-lr-supplemental__pair-name {
    color: var(--zahn-footer);
    font-weight: 600;
}

.za-lr-supplemental__pair-price {
    color: var(--zahn-primary);
    font-weight: 700;
    white-space: nowrap;
}

.za-lr-supplemental__deluxe-note {
    background: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    border-radius: 0 4px 4px 0;
    color: var(--zahn-text);
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 12px 0 0;
    padding: 10px 12px;
}

.za-lr-supplemental__flashcard-add {
    margin-top: 16px;
}

.za-lr-supplemental__flashcard-add-label {
    align-items: center;
    color: var(--zahn-footer);
    cursor: pointer;
    display: inline-flex;
    font-weight: 600;
    margin: 0;
}

.za-lr-supplemental__flashcard-formats {
    border: 0;
    margin: 12px 0 0;
    padding: 0;
}

.za-lr-supplemental__flashcard-formats:disabled {
    opacity: 0.55;
}

.za-lr-supplemental__flashcard-legend {
    color: var(--zahn-text);
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 8px;
    padding: 0;
}

.za-lr-supplemental__flashcard-option {
    align-items: center;
    border: 1px solid var(--zahn-border);
    border-radius: 6px;
    cursor: pointer;
    display: grid;
    gap: 8px 12px;
    grid-template-columns: auto 1fr auto;
    margin-bottom: 8px;
    padding: 12px 14px;
}

.za-lr-supplemental__flashcard-option:last-child {
    margin-bottom: 0;
}

.za-lr-supplemental__flashcard-option:has(input:checked) {
    border-color: var(--zahn-primary);
    box-shadow: inset 0 0 0 1px var(--zahn-primary);
}

.za-lr-supplemental__flashcard-option-label {
    color: var(--zahn-footer);
    font-weight: 600;
}

.za-lr-supplemental__flashcard-option-price {
    color: var(--zahn-primary);
    font-weight: 700;
    white-space: nowrap;
}

.za-lr-supplemental__product-bullets {
    color: var(--zahn-text);
    margin: 0 0 12px;
    padding-left: 1.25rem;
}

.za-lr-supplemental__product-bullets li {
    margin-bottom: 6px;
}

.za-lr-supplemental__product-bullets:last-child {
    margin-bottom: 0;
}

.za-lr-supplemental__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.za-lr-class-card__register-form {
    display: inline;
}

.za-cart-placeholder {
    padding: 72px 0;
}

/* Shopping cart */
.za-cart {
    padding: 48px 0 72px;
}

.za-cart__header {
    margin-bottom: 28px;
}

.za-cart__returning-note {
    margin: 0 0 24px;
    color: var(--zahn-text);
    font-size: 15px;
    line-height: 1.6;
}

.za-cart__returning-prompt {
    background: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    margin: 0 0 24px;
    padding: 16px 18px;
}

.za-cart__returning-prompt-text {
    color: var(--zahn-text);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.za-cart__returning-sign-in {
    background: none;
    border: 0;
    color: var(--zahn-accent);
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    padding: 0;
    text-align: left;
    text-decoration: underline;
}

.za-cart__returning-sign-in:hover,
.za-cart__returning-sign-in:focus-visible {
    color: var(--zahn-primary);
}

.za-cart-login-modal .modal-content {
    border: 0;
    border-radius: 4px;
}

.za-cart-login-modal__header {
    border-bottom: 1px solid var(--zahn-border);
    padding: 20px 24px;
}

.za-cart-login-modal__title {
    color: var(--zahn-footer);
    font-size: 22px;
    font-weight: 700;
    margin: 0;
}

.za-cart-login-modal__body {
    padding: 20px 24px 24px;
}

.za-cart-login-modal__intro {
    color: var(--zahn-text);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 20px;
}

.za-cart-login-modal__label {
    color: var(--zahn-footer);
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.03em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.za-cart-login-modal__control {
    border-color: var(--zahn-border);
    min-height: 44px;
}

.za-cart-login-modal__control:focus {
    border-color: var(--zahn-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--zahn-accent) 20%, transparent);
}

.za-cart-login-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.za-cart-login-modal__cancel,
.za-cart-login-modal__submit {
    min-width: 140px;
}

/* ---- Student Center login page ---- */
.za-login-hero {
    background: var(--zahn-highlight);
    padding: 56px 0 40px;
}

.za-login-hero__content {
    max-width: 640px;
    margin: 0 auto;
}

.za-login-hero__label {
    color: var(--zahn-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.za-login-hero__heading {
    color: var(--zahn-footer);
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 12px;
}

.za-login-hero__subhead {
    color: var(--zahn-text);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.za-login-main {
    padding: 40px 0 72px;
}

.za-login-card {
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    padding: 28px 28px 24px;
}

.za-login-card__title {
    color: var(--zahn-footer);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 8px;
}

.za-login-card__intro {
    color: var(--zahn-text);
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.za-login-card__status {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 4px;
}

.za-login-card__status--error {
    background: color-mix(in srgb, var(--zahn-error) 10%, transparent);
    color: var(--zahn-error);
}

.za-login-card__status--success {
    background: color-mix(in srgb, var(--zahn-primary) 10%, transparent);
    color: var(--zahn-primary);
}

.za-login-card__label {
    color: var(--zahn-footer);
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}

.za-login-card__control {
    border-color: var(--zahn-border);
    min-height: 44px;
}

.za-login-card__control:focus {
    border-color: var(--zahn-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--zahn-accent) 20%, transparent);
}

.za-login-card__field-error {
    color: var(--zahn-error);
    display: block;
    font-size: 13px;
    margin-top: 6px;
}

.za-login-card__submit {
    display: block;
    width: 100%;
}

.za-login-card__forgot {
    margin: 18px 0 0;
}

.za-login-card__forgot a {
    color: var(--zahn-accent);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.za-login-card__forgot a:hover,
.za-login-card__forgot a:focus {
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .za-login-hero {
        padding: 40px 0 28px;
    }

    .za-login-hero__heading {
        font-size: 28px;
    }

    .za-login-card,
    .za-capstone-login__aside {
        padding: 22px 18px 18px;
    }

    .za-capstone-login__aside {
        padding-bottom: 2px;
    }
}

.za-cart__empty {
    padding: 40px 0 16px;
    color: var(--zahn-text);
}

.za-cart__table-wrap {
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    overflow: hidden;
    background: var(--zahn-white);
}

.za-cart__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.za-cart__col-product {
    width: auto;
}

.za-cart__col-actions {
    width: 108px;
}

.za-cart__col-price {
    width: 112px;
}

.za-cart__col-total {
    width: 112px;
}

.za-cart__table thead th {
    background: var(--zahn-primary);
    color: var(--zahn-white);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 14px 16px;
    text-align: left;
    text-transform: uppercase;
}

.za-cart__table thead th.za-cart__col-actions {
    text-align: center;
}

.za-cart__table thead th.za-cart__col-price,
.za-cart__table thead th.za-cart__col-total {
    text-align: right;
}

.za-cart__table tbody td {
    border-top: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    padding: 18px 16px;
    vertical-align: middle;
}

.za-cart__product-name {
    color: var(--zahn-footer);
    display: block;
    font-size: 16px;
    line-height: 1.4;
}

.za-cart__product-code {
    color: var(--zahn-text);
    font-size: 13px;
    margin-top: 4px;
}

.za-cart__actions {
    padding-left: 8px;
    padding-right: 8px;
    text-align: center;
}

.za-cart__remove-form {
    display: flex;
    justify-content: center;
    margin: 0;
}

.za-cart__remove-btn {
    align-items: center;
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    color: var(--zahn-text);
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    gap: 6px;
    line-height: 1;
    padding: 8px 12px;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}

.za-cart__remove-btn .fa {
    color: var(--zahn-accent);
    font-size: 12px;
}

.za-cart__remove-btn:hover,
.za-cart__remove-btn:focus-visible {
    background: var(--zahn-highlight);
    border-color: var(--zahn-accent);
    color: var(--zahn-accent);
}

.za-cart__price,
.za-cart__line-total {
    font-size: 15px;
    text-align: right;
    white-space: nowrap;
}

.za-cart__line-total {
    font-weight: 600;
}

.za-cart__subtotal-row td {
    border-top: 1px solid var(--zahn-border);
    padding: 18px 16px;
}

.za-cart__subtotal-label {
    color: var(--zahn-footer);
    font-weight: 700;
    text-align: right;
}

.za-cart__subtotal-value {
    color: var(--zahn-footer);
    font-size: 18px;
    font-weight: 700;
    text-align: right;
}

.za-cart__actions-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 24px;
}

.za-cart__shipping-debug {
    max-width: 720px;
    margin: 20px auto 0;
    padding: 14px 16px;
    background-color: var(--zahn-highlight);
    border: 1px dashed var(--zahn-primary);
    border-radius: 4px;
}

.za-cart__shipping-debug-label {
    margin: 0 0 6px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--zahn-primary);
}

.za-cart__shipping-debug-total {
    margin: 0 0 8px;
    color: var(--zahn-footer);
}

.za-cart__shipping-debug-lines {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--zahn-text);
}

.za-cart__shipping-debug-lines li {
    margin-bottom: 4px;
}

.za-cart__continue-btn,
.za-cart__checkout-btn {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.za-cart__checkout-btn[disabled] {
    cursor: not-allowed;
    opacity: 0.65;
}

@media (max-width: 767.98px) {
    .za-cart__table thead {
        display: none;
    }

    .za-cart__table,
    .za-cart__table tbody,
    .za-cart__table tfoot,
    .za-cart__table tr,
    .za-cart__table td {
        display: block;
        width: 100%;
    }

    .za-cart__row {
        border-top: 1px solid var(--zahn-border);
        padding: 16px;
    }

    .za-cart__row td {
        border: 0;
        padding: 8px 0;
        text-align: left;
    }

    .za-cart__actions .za-cart__remove-form {
        justify-content: flex-start;
    }

    .za-cart__row td::before {
        color: var(--zahn-footer);
        content: attr(data-label);
        display: block;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.04em;
        margin-bottom: 4px;
        text-transform: uppercase;
    }

    .za-cart__price,
    .za-cart__line-total {
        text-align: left;
    }

    .za-cart__subtotal-row {
        padding: 16px;
    }

    .za-cart__subtotal-row td {
        display: inline-block;
        padding: 0;
        width: auto;
    }

    .za-cart__subtotal-row td:first-child,
    .za-cart__subtotal-row td:nth-child(2) {
        display: none;
    }

    .za-cart__subtotal-label {
        margin-right: 8px;
    }

    .za-cart__actions-bar {
        flex-direction: column;
    }

    .za-cart__continue-btn,
    .za-cart__checkout-btn {
        justify-content: center;
        width: 100%;
    }
}

/* Checkout policies */
.za-checkout-policies {
    padding: 48px 0 72px;
}

.za-checkout-policies__header {
    margin-bottom: 28px;
}

.za-checkout-policies__table-wrap {
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    margin-bottom: 28px;
    overflow: hidden;
    background: var(--zahn-white);
}

.za-checkout-policies__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
}

.za-checkout-policies__table thead th {
    background: var(--zahn-primary);
    color: var(--zahn-white);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 14px 16px;
    text-align: left;
    text-transform: uppercase;
}

.za-checkout-policies__row + .za-checkout-policies__row .za-checkout-policies__policy {
    border-top: 1px solid var(--zahn-border);
}

.za-checkout-policies__policy {
    color: var(--zahn-text);
    padding: 18px 16px;
}

.za-checkout-policies__policy-name {
    color: var(--zahn-footer);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 8px;
}

.za-checkout-policies__policy-description {
    font-size: 15px;
    line-height: 1.6;
}

.za-checkout-policies__policy-description p {
    margin-bottom: 0.75rem;
}

.za-checkout-policies__policy-description p:last-child {
    margin-bottom: 0;
}

.za-checkout-policies__signature {
    margin-bottom: 20px;
}

.za-checkout-policies__signature-label {
    color: var(--zahn-footer);
    display: block;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
}

.za-checkout-policies__signature-label--pad {
    margin-top: 20px;
}

.za-checkout-policies__signer-name {
    border-color: var(--zahn-border);
    max-width: 420px;
    min-height: 44px;
}

.za-checkout-policies__signer-name:focus {
    border-color: var(--zahn-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--zahn-accent) 20%, transparent);
}

.za-checkout-policies__signer-name.is-invalid {
    border-color: var(--zahn-error);
}

.za-checkout-policies__signer-name.is-invalid:focus {
    border-color: var(--zahn-error);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--zahn-error) 20%, transparent);
}

.za-checkout-policies__signature-canvas.is-invalid {
    border-color: var(--zahn-error);
}

.za-checkout-policies__validation {
    color: var(--zahn-error);
    font-size: 14px;
    font-weight: 600;
    margin: 12px 0 0;
}

.za-checkout-policies__signature-canvas {
    background: var(--zahn-white);
    border: 2px dotted var(--zahn-border);
    border-radius: 8px;
    cursor: crosshair;
    display: block;
    height: 160px;
    max-width: 100%;
    touch-action: none;
    width: 360px;
}

.za-checkout-policies__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.za-checkout-policies__back {
    margin: 24px 0 0;
}

.za-checkout-policies__back a {
    color: var(--zahn-accent);
    font-weight: 600;
    text-decoration: none;
}

.za-checkout-policies__back a:hover,
.za-checkout-policies__back a:focus-visible {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-checkout-placeholder {
    padding: 72px 0;
}

.za-checkout-placeholder__accepted {
    margin: 0 auto 24px;
    max-width: 640px;
    text-align: center;
}

.za-checkout-placeholder__accepted-name {
    font-weight: 700;
}

.za-checkout-student-prompt {
    background: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    margin: 0 auto 24px;
    max-width: 720px;
    padding: 16px 18px;
}

.za-checkout-student-prompt__text {
    color: var(--zahn-text);
    margin: 0;
}

.za-checkout-student-prompt__sign-in,
.za-checkout-student-prompt__sign-out {
    background: none;
    border: 0;
    color: var(--zahn-accent);
    cursor: pointer;
    font-weight: 600;
    padding: 0;
    text-decoration: underline;
}

.za-checkout-student-prompt__sign-in:hover,
.za-checkout-student-prompt__sign-in:focus-visible,
.za-checkout-student-prompt__sign-out:hover,
.za-checkout-student-prompt__sign-out:focus-visible {
    color: var(--zahn-primary);
}

.za-checkout-student-prompt__sign-out-form {
    display: inline;
}

.za-checkout-payment {
    padding: 40px 0 64px;
}

.za-checkout-payment__header {
    margin-bottom: 28px;
}

.za-checkout-payment__layout {
    display: grid;
    gap: 32px;
    margin: 0 auto 24px;
    max-width: 960px;
}

@media (min-width: 992px) {
    .za-checkout-payment__layout {
        grid-template-columns: 1fr 1.2fr;
        align-items: start;
    }
}

.za-checkout-payment__summary {
    background-color: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    padding: 20px 22px;
}

.za-checkout-payment__summary-title {
    color: var(--zahn-footer);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.za-checkout-payment__lines {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.za-checkout-payment__line {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 10px;
    color: var(--zahn-text);
}

.za-checkout-payment__line-name {
    flex: 1 1 auto;
}

.za-checkout-payment__line-price {
    flex: 0 0 auto;
    font-weight: 600;
    color: var(--zahn-footer);
}

.za-checkout-payment__totals {
    border-top: 1px solid var(--zahn-border);
    margin: 0;
    padding-top: 12px;
}

.za-checkout-payment__total-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: var(--zahn-text);
}

.za-checkout-payment__total-row dt,
.za-checkout-payment__total-row dd {
    margin: 0;
}

.za-checkout-payment__total-row--grand {
    color: var(--zahn-footer);
    font-size: 1.125rem;
    font-weight: 700;
    margin-top: 8px;
}

.za-checkout-payment__shipping-method {
    font-weight: 400;
    color: var(--zahn-text);
}

.za-checkout-payment__fieldset {
    border: 0;
    margin: 0 0 28px;
    padding: 0;
}

.za-checkout-payment__legend {
    color: var(--zahn-footer);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.za-checkout-payment__ship-summary {
    color: var(--zahn-text);
    margin-bottom: 12px;
}

.za-checkout-payment__same-ship {
    margin-bottom: 16px;
}

.za-checkout-payment__field {
    margin-bottom: 14px;
}

.za-checkout-payment__label {
    color: var(--zahn-footer);
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}

.za-checkout-payment__hosted-field {
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    height: 44px;
    padding: 10px 12px;
}

.za-checkout-payment__hosted-field.braintree-hosted-fields-focused {
    border-color: var(--zahn-accent);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--zahn-accent) 20%, transparent);
}

.za-checkout-payment__hosted-field.braintree-hosted-fields-invalid {
    border-color: var(--zahn-error);
}

.za-checkout-payment__validation {
    color: var(--zahn-error);
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 12px;
}

.za-checkout-payment__pay-card {
    margin-top: 8px;
}

.za-checkout-payment__legend--cards {
    align-items: center;
    display: flex;
    float: none;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    width: 100%;
}

.za-checkout-payment__card-brands {
    display: inline-flex;
    gap: 6px;
}

.za-checkout-payment__brand {
    display: block;
    height: 30px;
    width: 48px;
}

.za-checkout-payment__brand-frame {
    fill: var(--zahn-white);
    stroke: var(--zahn-border);
}

.za-checkout-payment__brand-visa-bg {
    fill: #1a1f71;
}

.za-checkout-payment__brand-visa-text {
    fill: var(--zahn-white);
    font-family: "Raleway", "Segoe UI", Tahoma, Arial, sans-serif;
    font-size: 12px;
    font-style: italic;
    font-weight: 700;
}

.za-checkout-payment__brand-mc-red {
    fill: #eb001b;
}

.za-checkout-payment__brand-mc-yellow {
    fill: #f79e1b;
}

.za-checkout-payment__brand-discover-text {
    fill: #ff6000;
    font-family: "Raleway", "Segoe UI", Tahoma, Arial, sans-serif;
    font-size: 8px;
    font-weight: 700;
}

.za-checkout-payment__brand-amex-bg {
    fill: #2e77bc;
}

.za-checkout-payment__brand-amex-text {
    fill: var(--zahn-white);
    font-family: "Raleway", "Segoe UI", Tahoma, Arial, sans-serif;
    font-size: 6.5px;
    font-weight: 700;
}

.za-checkout-payment__wallets {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 20px;
}

.za-checkout-payment__paypal,
.za-checkout-payment__venmo {
    margin-top: 0;
    max-width: none;
}

.za-checkout-payment__venmo {
    grid-column: 1 / -1;
}

.za-checkout-payment__paylater-message,
.za-checkout-payment__paylater-note {
    align-items: center;
    color: var(--zahn-text);
    display: flex;
    flex-wrap: nowrap;
    font-size: 0.95rem;
    gap: 6px;
    grid-column: 1 / -1;
    line-height: 1.2;
    margin: 0;
}

.za-checkout-payment__paylater-label {
    color: var(--zahn-footer);
    flex: 0 0 auto;
    font-weight: 700;
    line-height: 1;
}

.za-checkout-payment__paylater-message > div {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}

.za-checkout-payment__paylater-message iframe {
    display: block;
    margin: 0;
}

.za-checkout-payment__venmo-btn {
    width: 100%;
}

.za-checkout-payment__mail-choice {
    align-items: center;
    color: var(--zahn-footer);
    cursor: pointer;
    display: flex;
    font-size: 1.25rem;
    font-weight: 700;
    gap: 12px;
    margin: 8px 0 0;
}

.za-checkout-payment__mail-radio {
    accent-color: var(--zahn-primary);
    height: 22px;
    width: 22px;
}

.za-checkout-payment__mail-actions {
    margin-top: 16px;
}

.za-checkout-payment__print-btn {
    width: 100%;
}

.za-checkout-payment__print {
    display: none;
}

.za-checkout-payment__print-sheet {
    border: 1px solid var(--zahn-footer);
    color: var(--zahn-footer);
    font-size: 11px;
    line-height: 1.25;
    width: 100%;
}

.za-checkout-payment__print-fields,
.za-checkout-payment__print-items {
    border-collapse: collapse;
    width: 100%;
}

.za-checkout-payment__print-intro {
    border-bottom: 1px solid var(--zahn-footer);
    padding: 6px 8px;
}

.za-checkout-payment__print-fields th,
.za-checkout-payment__print-fields td,
.za-checkout-payment__print-items thead th,
.za-checkout-payment__print-items tbody td {
    border-bottom: 1px solid var(--zahn-footer);
    border-right: 1px solid var(--zahn-footer);
    padding: 2px 6px;
    vertical-align: top;
}

.za-checkout-payment__print-fields th:last-child,
.za-checkout-payment__print-fields td:last-child,
.za-checkout-payment__print-items thead th:last-child,
.za-checkout-payment__print-items tbody td:last-child {
    border-right: none;
}

.za-checkout-payment__print-intro p {
    margin: 0 0 4px;
}

.za-checkout-payment__print-title {
    font-size: 13px;
    font-weight: 700;
    margin: 6px 0;
}

.za-checkout-payment__print-logo {
    display: block;
    height: 42px;
    width: auto;
}

.za-checkout-payment__print-fields th {
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    width: 18%;
}

.za-checkout-payment__print-fields tr:first-child th {
    text-align: left;
    width: 50%;
}

.za-checkout-payment__print-items th {
    font-weight: 700;
    text-align: left;
}

.za-checkout-payment__print-items tfoot td {
    border: none;
    font-weight: 700;
    padding: 1px 6px 0;
    text-align: right;
}

.za-checkout-payment__back {
    margin-top: 16px;
    text-align: center;
}

.za-checkout-payment__back a {
    color: var(--zahn-accent);
}

.za-checkout-payment__back a:hover,
.za-checkout-payment__back a:focus-visible {
    color: var(--zahn-primary);
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    .za-checkout-payment__wallets {
        grid-template-columns: 1fr;
    }
}

@page {
    margin: 0.4in;
    size: letter;
}

@media print {
    .site-header,
    .footer-area,
    .navbar-area,
    .za-checkout-payment,
    .modal,
    .modal-backdrop,
    iframe {
        display: none !important;
    }

    .za-checkout-payment__print {
        display: block !important;
        color: var(--zahn-footer);
        margin: 0;
        padding: 0;
        width: 100%;
    }
}

.za-checkout-complete {
    padding: 48px 0 72px;
}

.za-checkout-complete__header {
    margin-bottom: 24px;
}

.za-checkout-complete__details {
    margin: 0 auto 28px;
    max-width: 560px;
}

.za-checkout-complete__order {
    color: var(--zahn-footer);
    font-size: 1.125rem;
    margin-bottom: 12px;
}

.za-checkout-complete__email,
.za-checkout-complete__note {
    color: var(--zahn-text);
    margin-bottom: 12px;
}

.za-checkout-shipping {
    padding: 40px 0 64px;
}

.za-checkout-shipping__header {
    margin-bottom: 28px;
}

.za-checkout-shipping__form,
.za-checkout-shipping__verify,
.za-checkout-shipping__rates {
    max-width: 720px;
    margin: 0 auto 24px;
}

.za-checkout-shipping__note {
    color: var(--zahn-primary);
    font-weight: 600;
    margin-bottom: 16px;
}

.za-checkout-shipping__address-type {
    margin-bottom: 24px;
}

/* Hide address fields until Business or Residential is chosen. */
.za-checkout-shipping__details,
.za-checkout-shipping__form #za-ship-company-wrap {
    display: none;
}

.za-checkout-shipping__form:has(#za-ship-business:checked) .za-checkout-shipping__details,
.za-checkout-shipping__form:has(#za-ship-residential:checked) .za-checkout-shipping__details {
    display: block;
    margin-top: 8px;
}

.za-checkout-shipping__form:has(#za-ship-business:checked) #za-ship-company-wrap {
    display: block;
}

.za-checkout-shipping__hold {
    color: var(--zahn-text);
    margin-bottom: 24px;
}

.za-checkout-shipping__hold a {
    color: var(--zahn-accent);
}

.za-checkout-shipping__field {
    margin-bottom: 16px;
}

.za-checkout-shipping__label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--zahn-footer);
}

.za-checkout-shipping__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.za-checkout-shipping__back {
    text-align: center;
    margin-top: 16px;
}

.za-checkout-shipping__back a {
    color: var(--zahn-accent);
}

.za-checkout-shipping__verify-option {
    margin-bottom: 16px;
}

.za-checkout-shipping__verify-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--zahn-footer);
    margin-bottom: 8px;
}

.za-checkout-shipping__verify-address {
    color: var(--zahn-text);
    margin: 0 0 0 28px;
}

.za-checkout-shipping__changed {
    color: var(--zahn-error);
    font-weight: 700;
}

.za-checkout-shipping__divider {
    border: 0;
    border-top: 1px solid var(--zahn-border);
    margin: 20px 0;
}

@media (max-width: 767.98px) {
    .za-checkout-policies__signature-canvas {
        width: 100%;
        height: auto;
        aspect-ratio: 9 / 4;
    }

    .za-checkout-policies__actions {
        flex-direction: column;
    }

    .za-checkout-policies__accept-btn,
    .za-checkout-policies__clear-btn {
        justify-content: center;
        width: 100%;
    }

    .za-checkout-shipping__actions {
        flex-direction: column;
    }

    .za-checkout-shipping__actions .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (min-width: 768px) {
    .za-lr-supplemental__offer {
        padding: 24px;
    }

    .za-lr-supplemental__pair-grid {
        grid-template-columns: 1fr 1fr;
    }

    .za-lr-supplemental__pair-item + .za-lr-supplemental__pair-item {
        border-left: 1px solid var(--zahn-border);
        border-top: 0;
    }
}

/* ==========================================================================
   Continuing Education — one-page catalog (/continuing-education)
   ========================================================================== */

.za-ce-hero {
    background-color: var(--zahn-highlight);
    padding: 72px 0 64px;
}

.za-ce-hero__label,
.za-ce-section-header__label {
    color: var(--zahn-accent);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.za-ce-hero__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.85rem, 3vw, 2.5rem);
    font-weight: 700;
    margin-bottom: 16px;
}

.za-ce-hero__subhead {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0 auto 28px;
    max-width: 42rem;
}

.za-ce-hero__requirements {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    margin: 0 auto 28px;
    max-width: 44rem;
}

.za-ce-hero__requirement {
    background-color: var(--zahn-white);
    border-left: 4px solid var(--zahn-primary);
    flex: 1 1 11rem;
    padding: 14px 16px;
    text-align: left;
}

.za-ce-hero__requirement-value {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 4px;
}

.za-ce-hero__requirement-label {
    color: var(--zahn-text);
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 0;
}

.za-ce-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.za-ce-hero__cta {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    margin: 0;
    padding-bottom: 0;
    padding-top: 0;
}

.za-ce-section-header {
    margin-bottom: 36px;
}

.za-ce-section-header__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 700;
    margin-bottom: 12px;
}

.za-ce-navigator {
    background-color: var(--zahn-white);
    padding: 64px 0;
}

.za-ce-navigator__card {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-bottom: 24px;
    padding: 28px 24px;
}

.za-ce-navigator__badge {
    color: var(--zahn-accent);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.za-ce-navigator__title {
    color: var(--zahn-footer);
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 0 12px;
}

.za-ce-navigator__body {
    color: var(--zahn-text);
    flex: 1 1 auto;
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 0 20px;
}

.za-ce-navigator__link {
    align-self: flex-start;
    background: none;
    border: 0;
    color: var(--zahn-accent);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0;
    text-align: left;
    text-decoration: none;
}

.za-ce-navigator__link:hover,
.za-ce-navigator__link:focus-visible {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-ce-keeping-current {
    background-color: var(--zahn-surface-alt);
    padding: 64px 0;
    scroll-margin-top: 100px;
}

.za-ce-keeping-current__intro {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 42rem;
}

.za-ce-keeping-current__table-wrap {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    margin: 0 auto 20px;
    max-width: 44rem;
    overflow-x: auto;
}

.za-ce-keeping-current__table {
    border-collapse: collapse;
    margin: 0;
    width: 100%;
}

.za-ce-keeping-current__table th {
    background-color: var(--zahn-primary);
    color: var(--zahn-white);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 12px 14px;
    text-align: left;
    text-transform: uppercase;
}

.za-ce-keeping-current__table td {
    border-top: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    padding: 16px 14px;
    vertical-align: middle;
}

.za-ce-keeping-current__table tbody tr:nth-child(even) td {
    background-color: var(--zahn-surface-alt);
}

.za-ce-keeping-current__note {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 42rem;
    text-align: center;
}

.za-ce-formats {
    background-color: var(--zahn-white);
    padding: 64px 0;
}

.za-ce-formats__card {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    height: 100%;
    margin-bottom: 24px;
    padding: 28px 24px;
    text-align: center;
}

.za-ce-formats__icon {
    color: var(--zahn-primary);
    display: block;
    font-size: 1.75rem;
    margin-bottom: 14px;
}

.za-ce-formats__title {
    color: var(--zahn-footer);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.za-ce-formats__body {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 20px;
}

.za-ce-formats__filter-btn {
    min-width: 11rem;
}

.za-ce-why {
    background-color: var(--zahn-white);
    border-top: 1px solid var(--zahn-border);
    padding: 64px 0;
}

.za-ce-why__instructors {
    margin-bottom: 36px;
    row-gap: 24px;
}

.za-ce-why__instructor {
    height: 100%;
    text-align: center;
}

.za-ce-why__avatar {
    align-items: center;
    background-color: var(--zahn-highlight);
    border-radius: 50%;
    color: var(--zahn-primary);
    display: flex;
    font-weight: 700;
    height: 96px;
    justify-content: center;
    margin: 0 auto 14px;
    overflow: hidden;
    width: 96px;
}

.za-ce-why__avatar--photo {
    background-color: var(--zahn-surface-alt);
}

.za-ce-why__photo {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.za-ce-why__avatar--dark-portrait .za-ce-why__photo {
    filter: brightness(1.08) contrast(1.05);
}

.za-ce-why__initials {
    font-size: 1.35rem;
    letter-spacing: 0.04em;
}

.za-ce-why__instructor-name {
    color: var(--zahn-footer);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 4px;
}

.za-ce-why__instructor-cred {
    color: var(--zahn-accent);
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 10px;
}

.za-ce-why__instructor-bio {
    color: var(--zahn-text);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 18rem;
}

.za-ce-why__bio-more {
    color: var(--zahn-accent);
    font-weight: 700;
    text-decoration: none;
}

.za-ce-why__bio-more:hover,
.za-ce-why__bio-more:focus {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-ce-why__row {
    row-gap: 20px;
}

.za-ce-returning {
    background-color: var(--zahn-primary);
    padding: 18px 0;
}

.za-ce-returning__inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    justify-content: center;
}

.za-ce-returning__text {
    color: var(--zahn-white);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
    max-width: 42rem;
    text-align: center;
}

.za-ce-returning__link {
    color: var(--zahn-white);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: underline;
    text-transform: uppercase;
    white-space: nowrap;
}

.za-ce-returning__link:hover,
.za-ce-returning__link:focus-visible {
    color: var(--zahn-highlight);
}

.za-ce-why__item {
    background-color: var(--zahn-surface-alt);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    height: 100%;
    padding: 22px 20px;
}

.za-ce-why__title {
    color: var(--zahn-footer);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 10px;
}

.za-ce-why__body {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.za-ce-change {
    background-color: var(--zahn-surface-alt);
    padding: 56px 0;
}

.za-ce-change__panel {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    margin: 0 auto;
    max-width: 48rem;
    padding: 36px 28px;
}

.za-ce-change__body {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
    text-align: left;
}

.za-ce-catalog {
    background-color: var(--zahn-surface-alt);
    padding: 64px 0 72px;
    scroll-margin-top: 100px;
}

.za-ce-catalog__processing {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0 auto 8px;
    max-width: 40rem;
}

.za-ce-catalog__disclaimer {
    color: var(--zahn-text);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 40rem;
}

.za-ce-catalog__error {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-error);
    color: var(--zahn-error);
    font-weight: 600;
    margin-bottom: 20px;
    padding: 14px 16px;
}

.za-ce-filters {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    margin-bottom: 28px;
    padding: 20px 22px;
}

.za-ce-filters__group + .za-ce-filters__group {
    margin-top: 16px;
}

.za-ce-filters__label {
    color: var(--zahn-footer);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.za-ce-filters__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.za-ce-filters__chip {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 8px 14px;
}

.za-ce-filters__chip:hover,
.za-ce-filters__chip:focus-visible {
    border-color: var(--zahn-accent);
    color: var(--zahn-primary);
}

.za-ce-filters__chip.is-active {
    background-color: var(--zahn-primary);
    border-color: var(--zahn-primary);
    color: var(--zahn-white);
}

.za-ce-catalog__empty,
.za-ce-catalog__none {
    color: var(--zahn-text);
    font-size: 1rem;
    margin: 24px 0 0;
}

.za-ce-catalog__table-wrap {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    overflow-x: auto;
}

.za-ce-catalog__table {
    border-collapse: collapse;
    margin: 0;
    min-width: 640px;
    width: 100%;
}

.za-ce-catalog__table th {
    background-color: var(--zahn-primary);
    color: var(--zahn-white);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 12px 14px;
    text-align: left;
    text-transform: uppercase;
}

.za-ce-catalog__table td {
    border-top: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    padding: 16px 14px;
    vertical-align: top;
}

.za-ce-catalog__row:nth-child(even) td {
    background-color: var(--zahn-surface-alt);
}

.za-ce-catalog__course-num {
    color: var(--zahn-footer);
    font-weight: 600;
    white-space: nowrap;
    width: 6.5rem;
}

.za-ce-catalog__topic {
    color: var(--zahn-footer);
    font-weight: 600;
    margin-bottom: 8px;
}

.za-ce-catalog__meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}

.za-ce-catalog__badge {
    background-color: var(--zahn-highlight);
    color: var(--zahn-primary);
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 3px 8px;
    text-transform: uppercase;
}

.za-ce-catalog__badge--virtual {
    background-color: var(--zahn-primary);
    color: var(--zahn-white);
}

.za-ce-catalog__category {
    color: var(--zahn-text);
    font-size: 0.85rem;
}

.za-ce-catalog__schedule,
.za-ce-catalog__status {
    font-size: 0.875rem;
    margin: 4px 0 0;
}

.za-ce-catalog__closed,
.za-ce-catalog__status {
    color: var(--zahn-error);
    font-weight: 600;
}

.za-ce-catalog__details-btn {
    background: none;
    border: 0;
    color: var(--zahn-accent);
    cursor: pointer;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    margin-top: 0;
    padding: 0;
    text-decoration: underline;
}

.za-ce-catalog__details-btn:hover,
.za-ce-catalog__details-btn:focus-visible {
    color: var(--zahn-primary);
}

.za-ce-catalog__credits,
.za-ce-catalog__price {
    color: var(--zahn-footer);
    font-weight: 600;
    white-space: nowrap;
}

.za-ce-select-col {
    text-align: center;
    vertical-align: middle;
    width: 3rem;
}

.za-ce-select {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    margin: 0;
}

.za-ce-select__input {
    accent-color: var(--zahn-primary);
    cursor: pointer;
    height: 1.15rem;
    margin: 0;
    width: 1.15rem;
}

.za-ce-select-closed {
    color: var(--zahn-text);
    font-size: 0.875rem;
    font-weight: 600;
}

.za-ce-order-bar {
    background-color: var(--zahn-footer);
    bottom: 0;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.18);
    left: 0;
    padding: 14px 0;
    position: fixed;
    right: 0;
    z-index: 1040;
}

.za-ce-order-bar__inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    justify-content: space-between;
}

.za-ce-order-bar__summary {
    color: var(--zahn-white);
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.za-ce-order-bar__submit {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    margin: 0;
    min-width: 12rem;
    padding-bottom: 0;
    padding-top: 0;
}

.za-ce-order-bar__submit:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

body.za-ce-order-bar-active {
    padding-bottom: 5.5rem;
}

.za-ce-speaking {
    background-color: var(--zahn-white);
    border-top: 1px solid var(--zahn-border);
    padding: 56px 0 64px;
}

.za-ce-speaking__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 700;
    margin-bottom: 14px;
}

.za-ce-speaking__body {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 auto 24px;
    max-width: 40rem;
}

.za-ce-speaking__cta {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    margin: 0;
    padding-bottom: 0;
    padding-top: 0;
}

.za-ce-modal__price {
    color: var(--zahn-footer);
    font-weight: 600;
    margin-bottom: 16px;
}

.za-ce-modal__instructor {
    color: var(--zahn-footer);
    font-weight: 600;
    margin: -10px 0 16px;
}

.za-ce-modal__details {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
}

.za-ce-modal__details ul {
    margin-bottom: 0;
    padding-left: 1.25rem;
}

@media (max-width: 767.98px) {
    .za-ce-hero {
        padding: 52px 0 44px;
    }

    .za-ce-formats,
    .za-ce-navigator,
    .za-ce-keeping-current,
    .za-ce-why,
    .za-ce-change,
    .za-ce-catalog {
        padding: 48px 0;
    }

    .za-ce-keeping-current__table,
    .za-ce-catalog__table {
        min-width: 0;
    }

    .za-ce-keeping-current__table thead,
    .za-ce-catalog__table thead {
        display: none;
    }

    .za-ce-keeping-current__table,
    .za-ce-keeping-current__table tbody,
    .za-ce-keeping-current__table tr,
    .za-ce-keeping-current__table td,
    .za-ce-catalog__table,
    .za-ce-catalog__table tbody,
    .za-ce-catalog__row,
    .za-ce-catalog__table td {
        display: block;
        width: 100%;
    }

    .za-ce-keeping-current__table td,
    .za-ce-catalog__table td {
        border-top: 0;
        padding: 6px 16px;
    }

    .za-ce-keeping-current__table tr,
    .za-ce-catalog__row {
        border-top: 1px solid var(--zahn-border);
        padding: 16px 0;
    }

    .za-ce-keeping-current__table tr:first-child,
    .za-ce-catalog__row:first-child {
        border-top: 0;
    }

    .za-ce-keeping-current__table td::before,
    .za-ce-catalog__table td::before {
        color: var(--zahn-footer);
        content: attr(data-label);
        display: block;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        margin-bottom: 4px;
        text-transform: uppercase;
    }

    .za-ce-keeping-current__table td[data-label=""]::before,
    .za-ce-catalog__table td[data-label=""]::before {
        display: none;
    }

    .za-ce-select-col {
        text-align: left;
        width: auto;
    }

    .za-ce-order-bar__inner {
        justify-content: center;
        text-align: center;
    }

    .za-ce-order-bar__submit {
        width: 100%;
    }
}


/* ==========================================================================
   Securities Licensing — one-page catalog (/securities-licensing)
   ========================================================================== */

.za-sl-hero {
    background-color: var(--zahn-highlight);
    padding: 72px 0 48px;
}

.za-sl-hero__label,
.za-sl-section-header__label {
    color: var(--zahn-accent);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.za-sl-hero__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.85rem, 3vw, 2.5rem);
    font-weight: 700;
    margin-bottom: 16px;
}

.za-sl-hero__subhead {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 42rem;
}

.za-sl-switcher {
    background-color: var(--zahn-white);
    border-bottom: 1px solid var(--zahn-border);
    padding: 20px 0;
}

.za-sl-switcher__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.za-sl-switcher__chip {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 10px 18px;
    text-decoration: none;
}

.za-sl-switcher__chip:hover,
.za-sl-switcher__chip:focus-visible {
    border-color: var(--zahn-accent);
    color: var(--zahn-primary);
}

.za-sl-switcher__chip.is-active {
    background-color: var(--zahn-primary);
    border-color: var(--zahn-primary);
    color: var(--zahn-white);
}

.za-sl-error {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-error);
    color: var(--zahn-error);
    font-weight: 600;
    margin: 24px 0 0;
    padding: 14px 16px;
}

.za-sl-section-header {
    margin-bottom: 28px;
}

.za-sl-section-header__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    font-weight: 700;
    margin-bottom: 12px;
}

.za-sl-intro {
    background-color: var(--zahn-white);
    padding: 56px 0;
}

.za-sl-intro__heading {
    color: var(--zahn-footer);
    font-size: clamp(1.6rem, 2.5vw, 2.1rem);
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.za-sl-intro__subtitle {
    color: var(--zahn-accent);
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 16px;
}

.za-sl-intro__body,
.za-sl-intro__stats,
.za-sl-intro__prereq,
.za-sl-program__body,
.za-sl-finra__body {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
}

.za-sl-intro__stats {
    font-weight: 600;
    margin-top: 16px;
}

.za-sl-intro__bullets,
.za-sl-supplemental-teaser__bullets,
.za-sl-supplemental__bullets {
    color: var(--zahn-text);
    margin: 12px 0 16px;
    padding-left: 1.25rem;
}

.za-sl-intro__prereq {
    font-weight: 600;
}

.za-sl-formats {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    margin-top: 16px;
    padding: 24px 20px;
}

.za-sl-formats__heading {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 16px;
    text-align: center;
}

.za-sl-formats__ondemand {
    color: var(--zahn-footer);
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 8px;
}

.za-sl-formats__body {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
}

.za-sl-formats__note {
    border-top: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.7;
    margin: 16px 0 0;
    padding-top: 16px;
}

.za-sl-program__cta,
.za-sl-finra__cta,
.za-sl-order__btn,
.za-sl-supplemental-teaser__cta,
.za-sl-supplemental__actions .btn,
.za-sl-formats__cta {
    /* Keep site .btn inline-flex centering — do not force block/inline-block. */
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    padding-bottom: 0;
    padding-top: 0;
}

.za-sl-formats__cta {
    margin-top: 16px;
    text-align: center;
    width: 100%;
}

.za-sl-program__cta,
.za-sl-finra__cta {
    margin-top: 20px;
}

.za-sl-accordion .accordion-item {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--zahn-border);
}

.za-sl-accordion .accordion-button {
    background: transparent;
    box-shadow: none;
    color: var(--zahn-footer);
    font-weight: 600;
    padding: 14px 0;
}

.za-sl-accordion .accordion-button:not(.collapsed) {
    background: transparent;
    box-shadow: none;
    color: var(--zahn-accent);
}

.za-sl-accordion .accordion-button:focus {
    box-shadow: none;
}

.za-sl-accordion .accordion-button::after {
    background-size: 1rem;
}

.za-sl-accordion .accordion-body {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    padding: 0 0 16px;
}

.za-sl-accordion__item--emphasis .accordion-button:not(.collapsed) {
    color: var(--zahn-primary);
}

.za-sl-program {
    background-color: var(--zahn-surface-alt);
    padding: 48px 0;
    scroll-margin-top: 100px;
}

.za-sl-program__row {
    row-gap: 28px;
}

.za-sl-program__header {
    margin-bottom: 12px;
    text-align: left;
}

.za-sl-program__body {
    margin-bottom: 8px;
    max-width: none;
}

.za-sl-program__includes-label {
    color: var(--zahn-footer);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 16px 0 4px;
}

.za-sl-program__visual {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    overflow: hidden;
}

@media (min-width: 992px) {
    .za-sl-program__visual {
        position: sticky;
        top: 108px;
    }
}

.za-sl-program__visual-media {
    aspect-ratio: 4 / 3;
    background-color: var(--zahn-highlight);
    overflow: hidden;
}

.za-sl-program__visual-img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    width: 100%;
}

.za-sl-program__visual-caption {
    padding: 20px 22px 22px;
}

.za-sl-program__visual-label {
    color: var(--zahn-primary);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.za-sl-program__visual-title {
    color: var(--zahn-footer);
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 8px;
}

.za-sl-program__visual-body {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.za-sl-shop {
    background-color: var(--zahn-white);
    padding: 48px 0 56px;
    scroll-margin-top: 100px;
}

.za-sl-shop__row {
    row-gap: 20px;
}

.za-sl-shop__panel {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    height: 100%;
    padding: 24px 22px 22px;
}

.za-sl-shop__panel--alt {
    background-color: var(--zahn-surface-alt);
}

.za-sl-shop__panel-header {
    margin-bottom: 16px;
}

.za-sl-shop__panel-heading {
    color: var(--zahn-footer);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px;
}

.za-sl-shop__promise {
    color: var(--zahn-footer);
    font-size: 0.975rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 10px;
}

.za-sl-shop__panel-note {
    color: var(--zahn-text);
    font-size: 0.925rem;
    line-height: 1.6;
    margin: 0;
}

.za-sl-shop__panel-note--muted {
    font-size: 0.875rem;
    margin-bottom: 16px;
}

.za-sl-shop__offers {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
}

.za-sl-order__card {
    align-items: start;
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 18px 16px;
}

.za-sl-shop__panel--alt .za-sl-order__card {
    background-color: var(--zahn-white);
}

.za-sl-order__details {
    display: grid;
    grid-template-columns: 1fr;
}

.za-sl-order__title {
    color: var(--zahn-footer);
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.za-sl-order__details-btn {
    background: none;
    border: 0;
    color: var(--zahn-accent);
    cursor: pointer;
    justify-self: start;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 10px;
    padding: 0;
    text-decoration: underline;
}

.za-sl-order__price {
    color: var(--zahn-footer);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0;
}

.za-sl-order__form {
    margin: 0;
}

.za-sl-order__empty {
    color: var(--zahn-text);
    margin: 0;
}

.za-sl-supplemental-teaser__bullets {
    margin: 0 0 12px;
    max-width: none;
    padding-left: 1.25rem;
}

.za-sl-supplemental-teaser__empty {
    color: var(--zahn-text);
    margin: 0;
}

.za-sl-finra {
    background-color: var(--zahn-white);
    border-top: 1px solid var(--zahn-border);
    padding: 48px 0 64px;
}

.za-sl-finra__body {
    margin: 0 auto 8px;
    max-width: 40rem;
    text-align: center;
}

.za-sl-finra__cta {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

.za-sl-modal__details {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
}

.za-sl-modal__details ul {
    margin-bottom: 0;
    padding-left: 1.25rem;
}

.za-sl-supplemental {
    background-color: var(--zahn-surface-alt);
    padding: 64px 0 72px;
}

.za-sl-supplemental__intro {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 auto 16px;
    max-width: 44rem;
}

.za-sl-supplemental__bullets {
    margin: 0 auto 24px;
    max-width: 44rem;
}

.za-sl-supplemental__catalog {
    display: grid;
    gap: 20px;
    margin: 0 auto 24px;
    max-width: 52rem;
}

.za-sl-supplemental__offer {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    display: grid;
    gap: 16px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 20px;
}

.za-sl-supplemental__offer-select {
    padding-top: 4px;
}

.za-sl-supplemental__check {
    height: 18px;
    margin: 0;
    width: 18px;
}

.za-sl-supplemental__offer-body {
    min-width: 0;
}

.za-sl-supplemental__name {
    color: var(--zahn-footer);
    cursor: pointer;
    display: block;
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0;
}

.za-sl-supplemental__price {
    color: var(--zahn-primary);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 8px 0;
}

.za-sl-supplemental__description {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    margin: 0;
}

.za-sl-supplemental__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.za-sl-supplemental__empty {
    color: var(--zahn-text);
    text-align: center;
}

@media (max-width: 767.98px) {
    .za-sl-hero {
        padding: 52px 0 36px;
    }

    .za-sl-intro,
    .za-sl-program,
    .za-sl-shop,
    .za-sl-finra {
        padding: 40px 0;
    }

    .za-sl-program__visual {
        margin-top: 8px;
    }
}

/* ===== Education (/education) ===== */

.za-ed-hero {
    background-color: var(--zahn-surface-alt);
    padding: 56px 0 48px;
}

.za-ed-hero__row {
    row-gap: 28px;
}

.za-ed-hero__label,
.za-ed-section-header__label {
    color: var(--zahn-primary);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.za-ed-hero__heading,
.za-ed-section-header__heading {
    color: var(--zahn-footer);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 14px;
}

.za-ed-hero__heading {
    font-size: clamp(1.85rem, 3vw, 2.5rem);
}

.za-ed-section-header__heading {
    font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.za-ed-hero__subhead,
.za-ed-overview__copy,
.za-ed-overview__grading-intro,
.za-ed-panel__body,
.za-ed-partner-detail__body,
.za-ed-ondemand__notes,
.za-ed-info-session__intro,
.za-ed-info-session__disclaimer {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
}

.za-ed-hero__subhead.za-ed-hero__signoff {
    color: var(--zahn-footer);
    font-weight: 600;
    margin-bottom: 0;
}

.za-ed-hero__media {
    aspect-ratio: 4 / 3;
    background-color: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
    overflow: hidden;
}

.za-ed-hero__img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.za-ed-error,
.za-ed-success {
    border: 1px solid var(--zahn-border);
    margin: 20px 0;
    padding: 14px 16px;
}

.za-ed-error {
    background-color: #fdecea;
    color: var(--zahn-error, #a94442);
}

.za-ed-success {
    background-color: var(--zahn-highlight);
    color: var(--zahn-footer);
}

.za-ed-overview,
.za-ed-partners,
.za-ed-partner-detail,
.za-ed-ondemand,
.za-ed-info-session {
    padding: 48px 0;
}

.za-ed-overview {
    background-color: var(--zahn-white);
}

.za-ed-overview__row,
.za-ed-partners__row,
.za-ed-partner-detail__row {
    row-gap: 24px;
}

.za-ed-overview__lead a,
.za-ed-overview__copy a {
    color: var(--zahn-accent);
    font-weight: 600;
    text-decoration: underline;
}

.za-ed-overview__rule {
    border: 0;
    border-top: 1px solid var(--zahn-border);
    margin: 24px 0;
}

.za-ed-overview__topics {
    margin-top: 16px;
}

.za-ed-overview__note-heading {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 22px 0 8px;
}

.za-ed-overview__bullets,
.za-ed-panel__bullets,
.za-ed-info-session__sessions {
    color: var(--zahn-text);
    margin: 12px 0 0;
    padding-left: 1.25rem;
}

.za-ed-courses {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    padding: 22px 20px;
}

.za-ed-courses__heading {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 12px;
    text-align: center;
}

.za-ed-accordion .accordion-item {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--zahn-border);
}

.za-ed-accordion .accordion-button {
    background: transparent;
    box-shadow: none;
    color: var(--zahn-footer);
    font-weight: 600;
    padding: 14px 0;
}

.za-ed-accordion .accordion-button:not(.collapsed) {
    background: transparent;
    box-shadow: none;
    color: var(--zahn-accent);
}

.za-ed-accordion .accordion-button:focus {
    box-shadow: none;
}

.za-ed-accordion .accordion-body {
    color: var(--zahn-text);
    font-size: 0.95rem;
    line-height: 1.65;
    padding: 0 0 16px;
}

.za-ed-accordion .accordion-body p:last-child {
    margin-bottom: 0;
}

.za-ed-partners {
    background-color: var(--zahn-white);
}

.za-ed-partners__intro {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 28px;
}

.za-ed-partners__intro p {
    margin: 0 0 16px;
}

.za-ed-partners__intro p:last-child {
    margin-bottom: 0;
}

.za-ed-partners__intro strong {
    color: var(--zahn-footer);
    font-weight: 700;
}

.za-ed-formats {
    margin-bottom: 28px;
    text-align: left;
}

.za-ed-universities {
    row-gap: 24px;
}

.za-ed-university {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px 22px;
}

.za-ed-university__logo-wrap {
    align-items: center;
    display: flex;
    margin-bottom: 16px;
    min-height: 88px;
}

.za-ed-university__logo {
    display: block;
    height: auto;
    max-height: 88px;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.za-ed-university__format {
    color: var(--zahn-primary);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.za-ed-university__programs {
    color: var(--zahn-footer);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 6px;
}

.za-ed-university__name {
    color: var(--zahn-footer);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 18px;
}

.za-ed-university__cta {
    align-self: flex-start;
    margin-top: auto;
}

.za-ed-panel {
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-top: 4px solid var(--zahn-primary);
    height: 100%;
    margin-bottom: 20px;
    padding: 24px 22px;
}

.za-ed-panel--alt {
    background-color: var(--zahn-white);
}

.za-ed-panel--wide {
    margin-bottom: 0;
}

.za-ed-panel__heading {
    color: var(--zahn-footer);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 14px;
}

.za-ed-panel__note {
    color: var(--zahn-error, #a94442);
    font-weight: 600;
    margin: 12px 0 0;
}

.za-ed-panel__cta,
.za-ed-order__btn,
.za-ed-table__btn,
.za-ed-info-session__submit {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    margin-top: 18px;
    padding-bottom: 0;
    padding-top: 0;
}

.za-ed-partner-table-wrap {
    margin: 8px 0 24px;
}

.za-ed-table {
    background-color: var(--zahn-white);
    border-collapse: collapse;
    margin: 0;
    width: 100%;
}

.za-ed-table th {
    background-color: var(--zahn-primary);
    color: var(--zahn-white);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 12px 14px;
    text-align: left;
    text-transform: uppercase;
}

.za-ed-table td {
    border-top: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    padding: 14px;
    vertical-align: middle;
}

.za-ed-table__btn {
    margin-top: 0;
    min-height: 42px;
    padding-left: 18px;
    padding-right: 18px;
}

.za-ed-partner-detail {
    background-color: var(--zahn-white);
}

.za-ed-partner-detail__logo {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 180px;
    width: 100%;
}

.za-ed-ondemand {
    background-color: var(--zahn-surface-alt);
    scroll-margin-top: 100px;
}

.za-ed-ondemand__notes {
    list-style: disc;
    margin: 0 auto 24px;
    max-width: 48rem;
    padding-left: 1.25rem;
    text-align: left;
}

.za-ed-ondemand__notes li + li {
    margin-top: 8px;
}

.za-ed-ondemand__offers {
    display: grid;
    gap: 14px;
    margin: 0 auto;
    max-width: 52rem;
}

.za-ed-order__card {
    align-items: start;
    background-color: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 18px 16px;
}

.za-ed-order__code {
    color: var(--zahn-primary);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.za-ed-order__title {
    color: var(--zahn-footer);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 6px;
}

.za-ed-order__price {
    color: var(--zahn-footer);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
}

.za-ed-order__form {
    margin: 0;
}

.za-ed-order__btn {
    margin-top: 0;
}

.za-ed-info-session {
    background-color: var(--zahn-surface-alt);
}

.za-ed-info-session__intro,
.za-ed-info-session__disclaimer,
.za-ed-info-session__sessions,
.za-ed-info-session__form {
    margin-left: auto;
    margin-right: auto;
    max-width: 48rem;
}

.za-ed-info-session__field {
    margin-bottom: 16px;
}

.za-ed-info-session__submit {
    margin-top: 8px;
}

.za-ed-ondemand__empty,
.za-ed-info-session__empty {
    color: var(--zahn-text);
}

@media (max-width: 767.98px) {
    .za-ed-hero,
    .za-ed-overview,
    .za-ed-partners,
    .za-ed-partner-detail,
    .za-ed-ondemand,
    .za-ed-info-session {
        padding: 40px 0;
    }

    .za-ed-order__card {
        grid-template-columns: 1fr;
    }
}

.za-hero__secondary-link {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 0.85rem;
    color: var(--zahn-text);
    margin-top: 0.75rem;
    margin-bottom: 0;
}

.za-hero__secondary-link a {
    color: var(--zahn-accent);
    font-weight: 600;
    text-decoration: none;
}

.za-hero__secondary-link a:hover {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-capstone-login__aside {
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    border-radius: 4px;
    color: var(--zahn-text);
    padding: 28px 28px 8px;
}

.za-capstone-login__aside-title {
    color: var(--zahn-footer);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 16px;
}

.za-capstone-login__aside h3 {
    color: var(--zahn-footer);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
}

.za-capstone-login__aside p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 20px;
}

.za-capstone {
    padding: 8px 0 72px;
}

.za-capstone__print-title {
    display: none;
}

.za-capstone__status {
    color: var(--zahn-text);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.za-capstone__status--error {
    background: color-mix(in srgb, var(--zahn-error) 10%, transparent);
    color: var(--zahn-error);
    border-radius: 4px;
    padding: 12px 14px;
}

.za-capstone__action {
    min-height: 44px;
    padding: 0 18px;
}

.za-capstone__action[hidden],
.za-capstone__confirm[hidden] {
    display: none !important;
}

.za-capstone__guide {
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    margin-bottom: 24px;
    padding: 20px 24px 8px;
}

.za-capstone__guide-title {
    color: var(--zahn-footer);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
}

.za-capstone__guide h3 {
    color: var(--zahn-footer);
    font-size: 16px;
    font-weight: 700;
    margin: 4px 0 12px;
}

.za-capstone__guide p {
    color: var(--zahn-text);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 16px;
}

.za-capstone__guide-list {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
}

.za-capstone__guide-list li {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
}

.za-capstone__guide-list p {
    margin: 2px 0 0;
}

.za-capstone__guide .za-capstone__pill {
    flex: 0 0 auto;
    grid-column: auto;
    grid-row: auto;
    justify-content: center;
    justify-self: start;
    min-width: 7.5rem;
}

.za-capstone__exams {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.za-capstone__exam {
    align-items: center;
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    column-gap: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 9.5rem 12rem;
    padding: 18px 20px;
    row-gap: 6px;
}

.za-capstone__exam-copy,
.za-capstone__exam-head,
.za-capstone__exam-status,
.za-capstone__exam-action,
.za-capstone__exam-actions {
    display: contents;
}

.za-capstone__exam-name {
    color: var(--zahn-footer);
    font-size: 20px;
    font-weight: 700;
    grid-column: 1;
    grid-row: 1;
    line-height: 1.35;
    margin: 0;
}

.za-capstone__exam-meta {
    color: var(--zahn-text);
    grid-column: 1;
    grid-row: 2;
    margin: 0;
}

.za-capstone__exam-form {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: stretch;
    margin: 0;
}

.za-capstone__exam-form .za-capstone__action {
    padding-left: 16px;
    padding-right: 16px;
    white-space: nowrap;
    width: 100%;
}

.za-capstone__pill {
    align-items: center;
    align-self: center;
    background: var(--zahn-highlight);
    border-radius: 999px;
    color: var(--zahn-text);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    grid-column: 2;
    grid-row: 1 / span 2;
    height: 28px;
    justify-self: center;
    line-height: 1;
    padding: 0 10px;
}

.za-capstone__pill--in-progress {
    background: var(--zahn-warning-bg);
    color: var(--zahn-warning);
}

.za-capstone__pill--submitted {
    background: color-mix(in srgb, var(--zahn-success) 24%, var(--zahn-white));
    color: var(--zahn-success);
}

.za-capstone__text-button {
    background: transparent;
    border: 0;
    color: var(--zahn-accent);
    cursor: pointer;
    font-weight: 600;
    min-height: 0;
    padding: 0;
    text-decoration: none;
}

.za-capstone__text-button:hover {
    color: var(--zahn-primary);
    text-decoration: underline;
}

.za-capstone__confirm {
    background: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
    margin-bottom: 20px;
    padding: 16px;
}

.za-capstone__confirm p {
    color: var(--zahn-text);
    margin: 0 0 12px;
}

.za-capstone__score-label {
    color: var(--zahn-text);
    margin: 0;
}

.za-capstone__score {
    color: var(--zahn-primary);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    margin: 0 0 24px;
}

.za-capstone__results {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.za-capstone__result {
    border-bottom: 1px solid var(--zahn-border);
    padding-bottom: 12px;
}

.za-capstone__result-head {
    align-items: baseline;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.za-capstone__result-score {
    color: var(--zahn-footer);
    font-weight: 700;
    margin: 0;
}

.za-capstone__result-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 4px 0 0;
}

.za-capstone__result-links a {
    color: var(--zahn-accent);
}

.za-capstone__question {
    display: flex;
    flex-direction: column;
}

.za-capstone--question {
    padding-bottom: 120px;
}

.za-capstone__progress-block {
    margin-bottom: 16px;
}

.za-capstone__progress-label {
    color: var(--zahn-footer);
    font-weight: 700;
    margin: 0 0 8px;
}

.za-capstone__progress-label span {
    color: var(--zahn-text);
    font-weight: 400;
    margin-left: 8px;
}

.za-capstone__meter {
    appearance: none;
    background: var(--zahn-highlight);
    border: 0;
    display: block;
    height: 8px;
    width: 100%;
}

.za-capstone__meter::-webkit-progress-bar {
    background: var(--zahn-highlight);
}

.za-capstone__meter::-webkit-progress-value {
    background: var(--zahn-primary);
}

.za-capstone__meter::-moz-progress-bar {
    background: var(--zahn-primary);
}

.za-capstone__map {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.za-capstone__map-item,
.za-capstone__map-link {
    align-items: center;
    background: var(--zahn-white);
    border: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    height: 36px;
    justify-content: center;
    min-width: 36px;
    padding: 0 6px;
    text-decoration: none;
}

.za-capstone__map-item--answered,
.za-capstone__map-link--answered {
    background: var(--zahn-highlight);
    border-color: var(--zahn-primary);
    color: var(--zahn-primary);
}

.za-capstone__map-item--current {
    background: var(--zahn-primary);
    border-color: var(--zahn-primary);
    color: var(--zahn-white);
}

.za-capstone__map-link--blank {
    border-color: var(--zahn-error);
    color: var(--zahn-error);
}

.za-capstone__nav {
    align-items: center;
    background: var(--zahn-white);
    border-top: 1px solid var(--zahn-border);
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    left: 0;
    order: 2;
    padding: 12px 16px;
    position: fixed;
    right: 0;
    z-index: 20;
}

.za-capstone__nav-previous {
    order: 1;
}

.za-capstone__nav-next {
    order: 2;
}

.za-capstone__nav-review {
    order: 3;
}

.za-capstone__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0;
}

.za-capstone__actions form {
    margin: 0;
}

.za-capstone__layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.za-capstone__question,
.za-capstone__case {
    min-width: 0;
}

.za-capstone__case {
    background: var(--zahn-highlight);
    border: 1px solid var(--zahn-border);
    order: -1;
    padding: 16px;
}

.za-capstone__case-title {
    color: var(--zahn-text);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.za-capstone__case-body {
    color: var(--zahn-text);
    line-height: 1.6;
}

.za-capstone__stem,
.za-capstone__explanation {
    color: var(--zahn-text);
    line-height: 1.6;
}

.za-capstone__stem {
    margin-bottom: 16px;
}

.za-capstone__statements,
.za-capstone__choice-list {
    color: var(--zahn-text);
    margin: 0 0 16px;
    padding-left: 0;
    list-style: none;
}

.za-capstone__statement,
.za-capstone__choice-list li {
    display: flex;
    gap: 8px;
    line-height: 1.5;
    margin-bottom: 8px;
}

.za-capstone__statement-numeral,
.za-capstone__choice-letter {
    flex: 0 0 auto;
    font-weight: 700;
}

.za-capstone__choices {
    border: 0;
    margin: 0 0 20px;
    padding: 0;
}

.za-capstone__legend {
    color: var(--zahn-footer);
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
}

.za-capstone__choice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}

.za-capstone__choice input {
    flex: 0 0 auto;
    margin-top: 4px;
}

.za-capstone__choice label {
    color: var(--zahn-text);
    display: flex;
    gap: 8px;
    line-height: 1.5;
    margin: 0;
}

.za-capstone__section-title,
.za-capstone__item-title {
    color: var(--zahn-footer);
    font-weight: 700;
    line-height: 1.35;
}

.za-capstone__section-title {
    font-size: 20px;
    margin: 0 0 12px;
}

.za-capstone__item-title {
    font-size: 16px;
    margin: 0 0 8px;
}

.za-capstone__stem h1,
.za-capstone__stem h2,
.za-capstone__stem h3,
.za-capstone__stem h4,
.za-capstone__stem h5,
.za-capstone__stem h6,
.za-capstone__explanation h1,
.za-capstone__explanation h2,
.za-capstone__explanation h3,
.za-capstone__explanation h4,
.za-capstone__explanation h5,
.za-capstone__explanation h6,
.za-capstone__case-body h1,
.za-capstone__case-body h2,
.za-capstone__case-body h3,
.za-capstone__case-body h4,
.za-capstone__case-body h5,
.za-capstone__case-body h6,
.za-capstone__statement h1,
.za-capstone__statement h2,
.za-capstone__statement h3,
.za-capstone__choice label h1,
.za-capstone__choice label h2,
.za-capstone__choice label h3,
.za-capstone__choice-list h1,
.za-capstone__choice-list h2,
.za-capstone__choice-list h3 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 8px;
}

.za-capstone__review-item {
    border-bottom: 1px solid var(--zahn-border);
    margin-bottom: 24px;
    padding-bottom: 8px;
}

.za-capstone__your-answer {
    margin-top: 12px;
}

.za-capstone__mark {
    font-weight: 700;
    margin-left: 8px;
}

.za-capstone__mark--correct,
.za-capstone__explanation {
    color: var(--zahn-primary);
}

.za-capstone__mark--incorrect {
    color: var(--zahn-error);
}

@media (min-width: 992px) {
    .za-capstone__layout {
        flex-direction: row;
        align-items: flex-start;
    }

    .za-capstone__question,
    .za-capstone__case {
        flex: 1 1 0;
    }

    .za-capstone__case {
        order: 0;
    }

    .za-capstone--question {
        padding-bottom: 72px;
    }

    .za-capstone__nav {
        background: transparent;
        border-top: 0;
        bottom: auto;
        left: auto;
        margin-top: 8px;
        padding: 0;
        position: static;
        right: auto;
    }
}

@media print {
    .site-header,
    .footer-area,
    .za-capstone-no-print {
        display: none !important;
    }

    .za-capstone {
        padding: 0;
    }

    .za-capstone__print-title,
    .za-capstone__section-title,
    .za-capstone__item-title {
        color: var(--zahn-footer);
        font-weight: 700;
        line-height: 1.35;
    }

    .za-capstone__print-title {
        display: block;
        font-size: 18px;
        margin-bottom: 12px;
    }

    .za-capstone__section-title {
        font-size: 16px;
    }

    .za-capstone__item-title {
        font-size: 15px;
    }

    .za-capstone__score {
        font-size: 24px;
    }
}

.za-video-library {
    padding: 0 0 72px;
}

.za-video-library__topics {
    margin: 0 0 24px;
    max-width: 480px;
}

.za-video-library__topic-label {
    font-size: 18px;
    margin-bottom: 8px;
}

.za-video-library__status {
    color: var(--zahn-text);
    margin: 0;
}

.za-video-library__table-wrap {
    overflow-x: auto;
}

.za-video-library__table {
    background: var(--zahn-white);
    border-collapse: collapse;
    width: 100%;
}

.za-video-library__table th {
    background: var(--zahn-primary);
    color: var(--zahn-white);
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
}

.za-video-library__table td {
    border-bottom: 1px solid var(--zahn-border);
    color: var(--zahn-text);
    padding: 12px 16px;
    vertical-align: middle;
}

.za-video-library__table tbody tr:nth-child(even) {
    background: var(--zahn-highlight);
}

.za-video-library__play {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--zahn-accent);
    display: inline-flex;
    font-weight: 600;
    gap: 8px;
    padding: 0;
    text-align: left;
}

.za-video-library__play:hover,
.za-video-library__play:focus {
    color: var(--zahn-primary);
}

.za-video-library__logout {
    margin-top: 24px;
}

.za-video-library__modal-title {
    color: var(--zahn-footer);
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.za-video-library__stage {
    background: var(--zahn-footer);
}

.za-video-library__frame {
    aspect-ratio: 16 / 9;
    border: 0;
    display: block;
    width: 100%;
}

/* ==========================================================================
   Vendor landing — /VendorPage
   ========================================================================== */

.za-vendor-page {
    background-color: var(--zahn-white);
    padding: 64px 0 80px;
}

.za-vendor-page__heading {
    color: var(--zahn-footer);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 24px;
}

.za-vendor-page__body,
.za-vendor-page__message {
    color: var(--zahn-text);
    font-size: 1.05rem;
    line-height: 1.65;
    max-width: 760px;
}

.za-vendor-page__body p {
    margin: 0 0 16px;
}

.za-vendor-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.za-vendor-page__action-form {
    margin: 0;
}

.za-vendor-page__message {
    margin: 0;
}

/* ==========================================================================
   Complete program — shared callout on program landing pages
   ========================================================================== */

.za-program-promise {
    background-color: var(--zahn-white);
    padding: 28px 0;
}

.za-program-promise__card {
    background-color: var(--zahn-highlight);
    border-left: 4px solid var(--zahn-primary);
    border-radius: 4px;
    margin: 0 auto;
    max-width: 760px;
    padding: 20px 24px;
    text-align: center;
}

.za-program-promise__eyebrow {
    color: var(--zahn-accent);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.za-program-promise__line {
    color: var(--zahn-footer);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 8px;
}

.za-program-promise__support {
    color: var(--zahn-text);
    font-size: 1rem;
    line-height: 1.65;
    margin: 0 auto;
    max-width: 40rem;
}
