/* Preserve the handoff's section heading scale on its standalone catalog page. */
.catalog-title{font-size:clamp(40px,4vw,56px);line-height:1.05;letter-spacing:-1.5px}
.header-cta{text-decoration:none;display:inline-flex;align-items:center;color:inherit}
.catalog-fallback{padding:40px}
.catalog-fallback li{margin-block:12px}
@media(max-width:760px){.catalog-title{font-size:42px}}
/* Match the shared homepage sections instead of the wider handoff canvas. */
#atlas.container{width:min(1280px,calc(100% - 112px));max-width:1280px;margin-inline:auto}
@media(min-width:1101px) and (max-width:1150px){#atlas.container{width:calc(100% - 64px)}}
@media(max-width:1100px){#atlas.container{width:calc(100% - 48px);max-width:720px}}
@media(max-width:360px){#atlas.container{width:calc(100% - 32px)}}
@media(min-width:1101px){.atlas-home-tail-main #pricing.pricing-section .edition-heading{padding-left:0}}
/* Start the catalog with the homepage's introductory type and symbol. */
#atlas.container{padding-top:50px}
.catalog-hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;font:600 10px/1.6 "Atlas Sans",Arial,sans-serif;letter-spacing:1.5px;color:#716e64;margin:0 0 18px}
.catalog-hero-copy .small-star{margin:0;display:flex;align-items:center;flex:none;height:1.6em;font-size:21px;color:#c76f51}
.catalog-hero-copy .small-star svg{display:block}
.catalog-hero-copy .catalog-title{font:600 clamp(48px,5vw,70px)/1.02 "Atlas Serif",Georgia,serif;letter-spacing:-2.5px;margin:0}
@media(max-width:1100px){
  #atlas.container{padding-top:18px}
  .catalog-hero-copy>.eyebrow{font-size:11px;letter-spacing:.09em;gap:8px;margin-bottom:20px}
  .catalog-hero-copy .small-star{height:1em;line-height:1}
  .catalog-hero-copy .catalog-title{font-size:38px;line-height:1.06;letter-spacing:-.035em}
}
@media(max-width:360px){.catalog-hero-copy>.eyebrow{letter-spacing:.05em}.catalog-hero-copy .catalog-title{font-size:34px}}
/* The paid boundary stays inside the same lesson reader. */
#lesson-dialog .reader-paywall{padding-block:24px;max-width:600px}
#lesson-dialog .reader-paywall h2{font:500 36px/1.1 var(--serif);letter-spacing:-.5px;margin:16px 0 24px}
#lesson-dialog .reader-paywall p{line-height:1.75;margin:0 0 22px}
#lesson-dialog .reader-paywall .eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--action)}
#lesson-dialog .reader-paywall strong{font-weight:600;font-size:22px}
#lesson-dialog .reader-paywall a:not(.button){color:var(--action);text-decoration:underline;text-underline-offset:3px}
/* The scroll-hidden header must not leave an uncovered strip above a course. */
body.course-open::before{inset:0}
/* Follow the shared header instead of reserving the old fixed header height. */
@media(min-width:1101px){
  body:not(.course-open) .explorer-sidebar{top:88px;max-height:calc(100svh - 104px);transition:top .2s ease}
  body:not(.course-open):has(.site-header.is-hidden) .explorer-sidebar{top:16px;max-height:calc(100svh - 32px)}
}
@media(min-width:1101px) and (prefers-reduced-motion:reduce){body:not(.course-open) .explorer-sidebar{transition:none}}
/* Fit the complete course route inside the focused map without an inner scroller. */
.course-open .map-content{overflow:hidden!important}
.course-open .living-atlas.is-focused{height:100%!important;min-height:0;max-height:none}

/* Learning and bookmarks are separate actions in the course program. */
.course-entry-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:20px}
.course-entry-actions .button{justify-content:center;text-align:center}
.course-entry-actions .course-save{min-height:44px;padding:11px 16px}
.course-entry-actions .course-save[aria-pressed="true"]{border-color:var(--success);color:var(--success)}
.course-entry-actions .course-save:disabled{cursor:wait;opacity:.65;transform:none}
.course-entry-actions .course-save-status{font-size:13px;line-height:1.5;color:var(--action);margin:0}
.course-entry-actions .course-save-status:empty{display:none}

.mobile-course-actions{display:none}
@media(max-width:760px){
  .course-open .atlas-explorer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px}
  .course-open .explorer-canvas{min-height:0;overflow:hidden}
  .course-open .mobile-course-actions{display:block;order:3;padding-bottom:env(safe-area-inset-bottom)}
  .mobile-course-actions .course-entry-actions{margin-top:0;gap:8px}
  .mobile-course-actions .course-entry-actions .button{min-height:44px;padding:11px 16px}
}
/* Focused course syllabus: group the introduction and keep lesson rows compact. */
#course-details>.eyebrow{font:500 10px/1.5 var(--sans);letter-spacing:1.2px;margin:0 0 8px}
#course-details>h3{font:500 36px/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 12px}
#course-details>p:not(.eyebrow){font:400 15px/1.65 var(--sans);color:var(--muted);margin:0 0 24px}
#course-details .lesson-list{margin:0;padding:0;border-top:1px solid var(--line)}
#course-details .lesson-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:baseline;min-height:52px;padding:14px 0;border-bottom:1px solid var(--line)}
#course-details .lesson-row .lesson-num{width:auto;font:400 11px/1.5 var(--sans);font-variant-numeric:tabular-nums}
#course-details .lesson-row strong{display:block;font:400 14px/1.5 var(--sans);overflow-wrap:break-word}
#course-details .lesson-row:last-child{border-bottom:0}
.course-open .explorer-sidebar .atlas-theme-trigger{margin-bottom:24px}

.course-open .explorer-sidebar :is(.theme-label,#theme-picker,.atlas-theme-trigger){display:none}
.course-sidebar-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0 0 24px;padding:10px 0;border:0;background:transparent;color:var(--muted);font:500 14px/1.5 var(--sans);cursor:pointer}
.course-sidebar-back:hover{color:var(--action)}
.course-sidebar-back:focus-visible{outline:2px solid var(--action);outline-offset:4px}
.course-sidebar-back svg{pointer-events:none}
