/* Catalog v0.2: additions to the approved magazine design. */
.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters label{min-width:0}.catalog-filters select,.catalog-filters input{width:100%;min-width:0}.load-more-wrap{text-align:center;margin:40px 0}.course-card{min-width:0}.course-card .course-body{gap:0}.course-card .course-body h3{font-size:1.65rem;line-height:1.18;hyphens:auto;overflow-wrap:anywhere;margin:12px 0}.course-card .course-body .eyebrow{font-size:.69rem;line-height:1.6;flex:0}.course-card .course-body .eyebrow span{display:block}.course-card .course-body p.marketing-title{font-family:Georgia,serif;font-size:1.16rem;line-height:1.35;font-style:italic;flex:0;margin:0 0 18px}.course-card .course-body p.course-description{flex:1;font-size:.94rem;line-height:1.6}.course-card .course-body p.launch-label,.launch-label{font-size:.75rem;font-weight:600;color:var(--petrol);flex:0;margin:12px 0 0}.course-card .course-body p.reservation-caption,.reservation-caption{font-size:.78rem;line-height:1.5;flex:0;margin:8px 0}.course-card .course-body p.reservation-disclosure,.reservation-disclosure{font-size:.75rem;line-height:1.5;color:var(--muted);flex:0;margin:8px 0 0}.card-reservation{border-top:1px solid var(--line,#ddd5cf);margin-top:16px;padding-top:12px}.card-reservation .text-button{font-size:.84rem;min-height:44px;text-align:left}.status-chip{display:inline-block;background:var(--sage);color:var(--petrol);padding:7px 12px;font-size:.78rem;font-weight:600;border-radius:3px}.detail-marketing{font:italic 1.6rem/1.35 Georgia,serif;margin:22px 0}.course-hero h1{overflow-wrap:anywhere;hyphens:auto}.course-hero .detail-cover .art{width:100%;height:auto}.course-summary{scroll-margin-top:110px}.course-summary .save-course-inline{width:100%;white-space:normal}.launch-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;padding:36px;background:var(--sage);align-items:center}.launch-feature-art{min-width:0}.launch-feature-art .art{display:block;width:100%;height:auto}.launch-feature h2{margin-top:22px;overflow-wrap:anywhere;hyphens:auto}.launch-feature .marketing-title{font:italic 1.5rem/1.4 Georgia,serif}.theme-overview{display:grid;grid-template-columns:100px minmax(0,1fr);gap:32px;padding:48px 0;border-top:1px solid #d9d1c8}.theme-symbol svg{width:64px;height:64px;color:var(--petrol)}.theme-overview h2{margin:12px 0}.theme-overview .lead{margin:12px 0}.theme-terms{color:var(--muted);font-size:.95rem}.theme-reservation{margin-left:0;margin-right:0}.theme-reservation>div{min-width:0}.theme-reservation h2{overflow-wrap:anywhere;hyphens:auto}.anchor-alias{display:block;scroll-margin-top:120px}.course-art .badge{max-width:calc(100% - 80px)}
@media(max-width:760px){.catalog-filters{grid-template-columns:1fr}.launch-feature{grid-template-columns:1fr;padding:24px;gap:20px}.launch-feature-art{max-width:360px;margin:auto}.theme-overview{grid-template-columns:1fr;gap:14px;padding:32px 0}.theme-symbol svg{width:42px;height:42px}.course-card .course-body h3{font-size:1.7rem}.detail-marketing{font-size:1.4rem}.theme-reservation{display:block}.theme-reservation>div+div{margin-top:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.card-reservation,.load-more-wrap{display:none}}

/* v0.4: factual course architecture within the existing magazine layout. */
.course-scope{margin-top:auto}.detail-aside{font-family:Georgia,serif;font-style:italic;color:var(--petrol,#183e40)}
.course-facts{margin:1.5rem 0}.course-facts>div{display:grid;grid-template-columns:minmax(8rem,1fr) 2fr;gap:1rem;border-bottom:1px solid #d8d1c7;padding:.85rem 0}.course-facts dt{font-weight:600}.course-facts dd{margin:0}
.audience-grid>div{border-left:2px solid #a34831;padding-left:1.25rem;margin:1.75rem 0}.access-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail-content section{scroll-margin-top:3rem}.curriculum summary span{min-width:0}.course-card h3,.course-hero h1,.theme-reservation h2{overflow-wrap:anywhere}
@media(max-width:600px){.course-facts>div{grid-template-columns:1fr;gap:.35rem}.access-comparison{grid-template-columns:1fr}.course-hero h1{font-size:clamp(2rem,8vw,3.3rem)}}

/* Homepage: generous illustrated theme blocks in the existing editorial palette. */
.home-themes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.home-theme-card{display:flex;flex-direction:column;min-width:0;text-decoration:none;background:var(--paper);border:1px solid var(--line)}
.home-theme-art{overflow:hidden;aspect-ratio:1.9;display:flex;align-items:center;justify-content:center}
.home-theme-art img{width:100%;height:100%;object-fit:contain}
.home-theme-copy{position:relative;padding:27px 68px 27px 30px;flex:1}
.home-theme-copy :is(h2,h3){font-size:clamp(1.65rem,2.1vw,2rem);line-height:1.17;margin:0 0 11px;hyphens:auto;overflow-wrap:anywhere}
.home-theme-copy p{font-size:.9rem;line-height:1.6;color:var(--muted);margin:0;max-width:34em}
.home-theme-arrow{position:absolute;right:28px;top:27px;color:var(--petrol);font-size:1.6rem;line-height:1.2}
.home-theme-card:hover{border-color:var(--petrol)}
.home-theme-card:hover :is(h2,h3){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.home-theme-card:focus-visible{outline:3px solid var(--clay);outline-offset:5px}
@media(max-width:1020px){.home-themes-grid{gap:24px}.home-theme-art{aspect-ratio:1.6}.home-theme-copy{padding:24px 50px 24px 24px}.home-theme-arrow{right:20px;top:24px}}
@media(max-width:600px){.home-themes-grid{grid-template-columns:minmax(0,1fr);gap:24px}.home-theme-art{aspect-ratio:1.75}.home-theme-copy{padding:24px 54px 25px 24px}.home-theme-copy :is(h2,h3){font-size:1.7rem}.home-theme-copy p{font-size:.875rem}.home-theme-arrow{right:22px}}

.course-ready .course-hero h1 { hyphens:none; word-break:normal; overflow-wrap:normal; font-size:clamp(1.55rem,3.6vw,3.8rem); }
.course-ready .course-hero > div { min-width:0; }

/* TCM: long German terms remain readable at 200% text size, including 320px. */
.course-tcm {overflow-wrap:anywhere;hyphens:auto}
.course-tcm .course-hero h1 {overflow-wrap:anywhere;hyphens:auto}
.course-tcm .access-comparison {grid-template-columns:repeat(2,minmax(0,1fr))}
.course-tcm .panel,.course-tcm .detail-content,.course-tcm .course-summary {min-width:0}
@media(max-width:600px){.course-tcm .access-comparison{grid-template-columns:minmax(0,1fr)}}

/* Final grief course: long titles and text zoom without clipping. */
.course-grief {overflow-wrap:anywhere;hyphens:auto}
.course-grief .course-hero h1 {overflow-wrap:anywhere;hyphens:auto}
.course-grief .access-comparison {grid-template-columns:repeat(2,minmax(0,1fr))}
.course-grief .panel,.course-grief .detail-content,.course-grief .course-summary {min-width:0}
@media(max-width:600px){.course-grief .access-comparison{grid-template-columns:minmax(0,1fr)}}

.course-sample-teaser{min-width:0;overflow-wrap:anywhere}.course-sample-teaser h2{margin-top:0}

/* Final Scanner course: long titles and text zoom without clipping. */
.course-scanner {overflow-wrap:anywhere;hyphens:auto}
.course-scanner .course-hero h1 {overflow-wrap:anywhere;hyphens:auto}
.course-scanner .access-comparison {grid-template-columns:repeat(2,minmax(0,1fr))}
.course-scanner .panel,.course-scanner .detail-content,.course-scanner .course-summary {min-width:0}
@media(max-width:600px){.course-scanner .access-comparison{grid-template-columns:minmax(0,1fr)}}

/* ADHS specialization uses the same long-text rules as the final courses. */
.course-adhs-coach { overflow-wrap: anywhere; hyphens: auto; }
.course-adhs-coach .course-hero h1 { overflow-wrap: anywhere; hyphens: auto; }

.theme-directory .home-theme-card{position:relative;scroll-margin-top:24px}.theme-directory .theme-directory-description{margin-top:18px}.theme-directory .theme-directory-count{margin-top:18px;font-size:.8rem;color:var(--petrol)}

/* Original course cover: keep all lettering visible. */
.detail-cover:has(.course-original-cover){background:var(--cream);align-self:start;min-height:0}.detail-cover .course-original-cover{width:100%;height:auto;object-fit:contain}.detail-cover:has(.course-original-cover) .cover-wordmark{display:none}

/* Course-specific 200% text enlargement at narrow viewports. */
.course-neuro,.course-neuro .course-hero h1,.course-neuro h2,.course-neuro h3,.course-neuro p{overflow-wrap:anywhere}.course-neuro .panel{min-width:0}
