/* Six connected entry points, scoped to the homepage. */
html[data-page=index]{scroll-padding-top:80px}
.home-intro,.learning-paths,.home-feature,.home-classroom,.entry-intro{scroll-margin-top:12px}
.home-jump-nav{position:sticky;top:0;z-index:8;display:flex;flex-wrap:nowrap;gap:4px;margin:0 -8px;padding:10px 8px;background:#f8faf7f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.home-jump-nav a{flex-shrink:0;display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border-radius:8px;text-decoration:none;font-size:13px;color:var(--muted);font-weight:600}
.home-jump-nav a:hover,.home-jump-nav a[aria-current=location]{background:#e8efe6;color:var(--ink)}
.home-intro{padding-top:40px}.home-intro .actions .button{font-size:13px}.home-intro .start-panel a{transition:background .15s}.home-intro .start-panel a:hover{background:#f8faf7}
.learning-paths{padding:30px 0 52px}.path-card{position:relative;min-height:260px}.path-card:hover{box-shadow:0 12px 28px -18px #193d3544}.path-card:focus-visible{outline-offset:5px}.path-card .path-link{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:16px}
.home-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;border:1px solid #cfded2;border-radius:24px;background:#edf3ed;padding:40px;margin:8px 0 64px;align-items:center}
.home-feature h2,.home-section-heading h2{font:400 clamp(30px,3.3vw,42px)/1.13 Georgia,serif;letter-spacing:-1px;margin:16px 0}
.home-feature-copy>p,.home-section-heading p{color:var(--muted);max-width:54ch;line-height:1.75;margin:12px 0}
.home-benefits{list-style:none;padding:0;margin:20px 0;font-size:14px;color:var(--muted)}.home-benefits li{padding:4px 0 4px 22px;position:relative}.home-benefits li::before{content:'✓';position:absolute;left:0;color:var(--section-green);font-weight:700}
.home-feature-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}.home-feature-actions .button{font-size:14px;padding:12px 18px}.home-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:600;text-decoration:none;text-underline-offset:4px}.home-text-link:hover{text-decoration:underline}.home-feature-note{display:block;margin-top:16px;font-size:12px;color:var(--muted)}
.home-prompt-preview{padding:26px;background:#fff;border:1px solid #d7e2d9;border-radius:16px;box-shadow:0 18px 32px -26px #193d3544}.home-preview-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:1px}.home-preview-badge{padding:5px 8px;background:#edf3ed;border-radius:5px;letter-spacing:0;font-size:11px}.home-before-label,.home-after-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:700;color:var(--muted);margin:22px 0 8px}.home-before{font:20px/1.5 Georgia,serif;color:var(--muted);margin:8px 0}.home-preview-divider{margin:12px 0;color:var(--section-green)}.home-prompt-preview blockquote{font:19px/1.8 Georgia,serif;margin:12px 0 20px;padding:0;border:0}.home-prompt-preview mark{background:#e5efe1;color:#1a573e;padding:2px 4px;border-radius:4px;box-decoration-break:clone}.home-prompt-details{border-top:1px solid var(--line);padding-top:16px;font-size:13px}.home-prompt-details summary{cursor:pointer;font-weight:600;min-height:30px}.home-prompt-details p{color:var(--muted);margin:10px 0;line-height:1.7}
.home-classroom{padding-bottom:64px}.home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.home-section-heading>.home-text-link{flex-shrink:0}.home-section-heading h2{margin:12px 0}.home-section-heading p{font-size:15px;margin-bottom:0}.home-classroom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-class-card{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;transition:border-color .15s,transform .15s}.home-class-stage{font-size:11px;letter-spacing:.4px;color:#805016;font-weight:700}.home-class-card h3{font:27px/1.2 Georgia,serif;margin:18px 0 12px;letter-spacing:-.5px}.home-class-card p{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 24px}.home-class-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;font-size:13px;font-weight:700;border-top:1px solid var(--line);padding-top:16px}.home-class-card:hover{border-color:var(--section-green);transform:translateY(-3px)}.home-class-card:hover .home-class-action{text-decoration:underline;text-underline-offset:4px}
.home-catalog-scope{margin:0 0 24px;max-width:75ch;color:var(--muted);font-size:13px}.home-catalog-scope a{text-underline-offset:3px}.home-search-ideas{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.home-search-ideas button{min-height:36px;border:1px solid var(--line);border-radius:6px;background:#f8faf7;color:var(--ink);padding:6px 10px;cursor:pointer;font-size:12px}.home-search-ideas button:hover{border-color:var(--olive);background:#edf3ed}
html[data-page=index] .resource-directory tbody th a{display:flex;justify-content:space-between;gap:16px;align-items:center}html[data-page=index] .resource-directory tbody th a::after{content:'↗';color:var(--olive);font-weight:400;flex-shrink:0}html[data-page=index] .resource-directory tbody tr:hover{background:#f3f7ef}
@media(max-width:1000px){.home-feature{gap:28px;padding:28px}.home-class-card{padding:20px}.home-class-card h3{font-size:24px}}
@media(max-width:740px){.home-jump-nav{margin:0 -4px;padding:8px 4px}.home-jump-nav a{padding:7px 12px;font-size:12px}.home-feature{grid-template-columns:1fr;gap:28px;padding:24px;margin-bottom:44px;border-radius:18px}.home-feature h2 br{display:none}.home-prompt-preview{padding:20px}.home-section-heading{display:block}.home-section-heading>.home-text-link{margin-top:12px}.home-classroom-grid{grid-template-columns:1fr}.home-classroom{padding-bottom:40px}.home-class-card{padding:22px}.home-class-card h3{font-size:27px}.home-class-card p{margin-bottom:18px}.path-card{min-height:260px}.learning-paths{padding-bottom:36px}.home-resource-breakdown a{display:inline-block;min-height:28px}.home-intro .actions{gap:4px}.home-search-ideas button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.home-class-card,.home-intro .start-panel a{transition:none}.home-class-card:hover{transform:none}}
@media(max-width:740px){.home-jump-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:visible}.home-jump-nav a{justify-content:center;padding:8px 4px;font-size:12px;white-space:nowrap}}

.home-course{grid-template-columns:minmax(0,1fr)}.home-course .home-feature-copy{max-width:75ch}

/* Put finding a resource before promotional content. */
html[data-page=index] .home-intro{grid-template-columns:minmax(0,1fr);padding:28px 0 16px;gap:40px;align-items:start}
html[data-page=index] .home-intro h1{font-size:clamp(38px,4.6vw,56px);max-width:none;margin:16px 0 14px;line-height:1.12;text-wrap:balance}
html[data-page=index] .home-invitation{margin:0;font-size:18px;line-height:1.6;color:var(--muted);text-wrap:pretty}
html[data-page=index] .home-invitation strong{color:var(--ink);font-weight:600}
html[data-page=index] .home-intro .lead{font-size:16px;line-height:1.65;max-width:none}
html[data-page=index] .start-panel{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
html[data-page=index] .start-panel ol{gap:12px}
html[data-page=index] .start-panel li+li{border-top:0}
html[data-page=index] .start-panel a{grid-template-columns:42px minmax(0,1fr) 20px;gap:16px;padding:22px;background:var(--path-soft);border-radius:18px;min-height:104px}
html[data-page=index] .start-panel a:hover{background:var(--path-soft);box-shadow:inset 0 0 0 1px var(--path-color)}
html[data-page=index] .start-panel .step{background:#fff;border-radius:12px}
html[data-page=index] .start-panel a>span:last-child{width:auto;height:auto;border:0;border-radius:0;background:transparent;font-size:18px}
html[data-page=index] .start-panel strong{line-height:1.4}
html[data-page=index] .start-panel small{line-height:1.6;margin-top:6px}
html[data-page=index] .start-panel h2{font-size:28px;margin-bottom:12px}
.home-quick-search{margin-top:24px}
.home-quick-search[hidden]{display:none}
.home-quick-search label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}
.home-query-controls{display:flex;gap:8px}
.home-query-controls input{min-width:0;flex:1;border:1px solid #9caf9f;border-radius:10px;background:#fff;padding:12px;font:inherit;color:var(--ink);min-height:48px}
.home-query-controls button{flex-shrink:0;border:0;padding:12px 18px;cursor:pointer;font:inherit}
.home-quick-search p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 0}
html[data-page=index] .home-intro .actions{margin-top:10px}
html[data-page=index] .learning-paths{padding:18px 0 28px}
html[data-page=index] .path-card{min-height:230px;padding:24px;background:var(--path-soft);border:1px solid color-mix(in srgb,var(--path-color) 12%,var(--path-soft));border-radius:18px}
html[data-page=index] .path-card.path-organizaciones{background:#CDE7E6}
html[data-page=index] .path-card.path-organizaciones h3{color:var(--path-color)}
html[data-page=index] .path-card p{margin-bottom:24px}
html[data-page=index] .path-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto}
html[data-page=index] .path-card-bottom .path-link{margin-top:0}
html[data-page=index] .path-card-bottom .path-count{margin-left:auto}
html[data-page=index] .path-count{flex-shrink:0;padding:3px 8px;border-radius:999px;background:#ffffffb3;color:var(--path-color);font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap}
html[data-page=index] .path-card:focus-visible{outline:3px solid var(--path-color);outline-offset:4px}
html[data-page=index] .path-card .path-link{justify-content:flex-start;gap:5px;padding-top:0;border-top:0}
html[data-page=index] .entry-intro{padding-top:16px;margin-bottom:48px}
.home-course-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}
html[data-page=index] .home-resource-total{max-width:720px;margin:0 0 32px}
@media(max-width:740px){
 html[data-page=index] .home-intro{gap:24px;padding-top:24px}
 html[data-page=index] .home-intro h1{font-size:clamp(36px,8vw,52px);letter-spacing:-1.3px}
 html[data-page=index] .start-panel{padding:0}
 html[data-page=index] .start-panel a{padding:20px 16px;gap:12px;grid-template-columns:40px minmax(0,1fr) 18px}
 html[data-page=index] .path-card{padding:20px;min-height:270px}
 .home-query-controls button{padding:12px}
 .home-query-controls input{width:100%;font-size:14px}
 html[data-page=index] .home-course-links .button{width:100%;text-align:center}
}

/* Distinct colors for courses and classroom shortcuts. */
html[data-page=index] .start-panel .path-violet{--path-color:#a13f39;--path-soft:#fbe9e5}
html[data-page=index] .start-panel .path-plum{--path-color:#825b12;--path-soft:#faf0ce;color:var(--ink)}
html[data-page=index] .start-panel .path-plum a{color:#243c3a}
html[data-page=index] .start-panel .path-plum small{color:#52616a}

html[data-page=index] .start-panel .path-lupa{--path-color:#202020;--path-soft:#f0f0f0}
html[data-page=index] .start-panel .path-lupa a{color:#171717}
html[data-page=index] .start-panel .path-lupa small{color:#333}
html[data-page=index] .home-resource-figure span{grid-row:1 / 3;align-self:center}

/* Align the resource counter with the quick-access cards. */
@media(min-width:741px){
 html[data-page=index] .home-intro{align-items:stretch}
 html[data-page=index] .home-intro>div:first-child{display:flex;flex-direction:column}
 html[data-page=index] .home-resource-total{max-width:none;min-height:104px;margin:auto 0 0;box-sizing:border-box;border-radius:18px}
 html[data-page=index] .start-panel{display:flex;flex-direction:column}
 html[data-page=index] .start-panel ol{flex:1;grid-template-rows:repeat(3,minmax(104px,1fr))}
 html[data-page=index] .start-panel li{display:flex}
 html[data-page=index] .start-panel li>a{width:100%;box-sizing:border-box}
}
/* Keep the full introduction readable on wide screens. */
html[data-page=index] .home-intro .lead{font-size:17px;line-height:1.8;text-align:left;hyphens:none;max-width:80ch}

html[data-page=index] .paths-heading{display:block}
html[data-page=index] .paths-heading p{margin:8px 0 0}

/* Homepage reading rhythm and compact mobile entry points. */
html[data-page=index] .home-intro .lead a{text-underline-offset:3px;text-decoration-thickness:1px}
html[data-page=index] .home-reference{margin-top:24px;padding-top:24px;padding-bottom:24px}
html[data-page=index] .home-reference h2{font-size:24px;margin-bottom:12px}
html[data-page=index] .home-reference>p{max-width:80ch;text-align:left;hyphens:none;margin-bottom:0}
@media(max-width:740px){
 html[data-page=index] .home-intro{padding-bottom:20px}
 html[data-page=index] .home-intro .lead{font-size:16px;line-height:1.75}
 html[data-page=index] .path-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 html[data-page=index] .path-card{min-height:0;padding:20px}
 html[data-page=index] .path-card h3{margin:8px 0;font-size:24px}
 html[data-page=index] .path-card p{font-size:14px;margin-bottom:16px}
 html[data-page=index] .path-card .path-link{justify-content:space-between}
 html[data-page=index] .home-reference{margin-top:12px}
}
