/* Homepage: a calm frame for the coloring artwork and native search/navigation. */
.home-hub { background:#faf9f6; color:#243b3a; }
.home-hub .site-header { position:relative; border-image:none; border-top:4px solid #568774; border-bottom:1px solid #e2e7e1; }
.home-hub .header-top { padding-top:18px; padding-bottom:18px; }
.home-hub main.wrap { max-width:1160px; padding-top:0; }
.home-hub main h3 { font-family:inherit; text-transform:none; letter-spacing:normal; color:#243b3a; }
.home-hub :is(a,button,input,summary):focus-visible { outline:3px solid #a86a25; outline-offset:4px; }
.hm-intro { display:flex; align-items:center; justify-content:space-between; gap:60px; padding:42px 0 36px; }
.hm-intro-copy { flex:1; min-width:0; max-width:580px; }
.hm-eyebrow { font-size:11px; line-height:1.4; text-transform:uppercase; letter-spacing:.12em; font-weight:750; color:#597066; margin:0 0 10px; }
.hm-intro h1 { font-size:clamp(34px,4vw,52px); line-height:1.08; letter-spacing:-.025em; margin:0 0 16px; }
.hm-intro h1 span { color:#3e7962; }
.hm-intro-copy>p:not(.hm-eyebrow) { font-size:16px; color:#586961; max-width:490px; margin:0; }
.hm-search { margin-top:22px; }
.hm-search label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
.hm-search>div { display:flex; gap:8px; }
.hm-search input { min-width:0; flex:1; width:100%; border:1px solid #cbd6cb; border-radius:8px; padding:12px; font:inherit; font-size:16px; background:white; color:#243b3a; }
.hm-search button { border:1px solid #285d4c; border-radius:8px; background:#285d4c; color:white; font-family:inherit; font-size:14px; font-weight:600; line-height:1.4; padding:12px 18px; cursor:pointer; min-height:46px; }
.hm-promises { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; color:#42624f; margin-top:14px; }
.hm-hero-art { display:block; flex:0 0 300px; background:#eaf0e6; padding:22px; border-radius:32px; color:#315e4d; text-decoration:none; transform:rotate(3deg); margin-right:16px; }
.hm-hero-art img { display:block; width:100%; height:250px; object-fit:contain; background:white; border:1px solid #e0e5dc; border-radius:5px; padding:12px; }
.hm-hero-art>span { display:flex; justify-content:space-between; gap:8px; font-size:12px; font-weight:600; padding-top:16px; }
.hm-section { padding:22px 0 30px; }
.hm-section h2 { font-size:26px; margin:0; }
.hm-section-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:18px; }
.hm-section-heading>a { font-size:13px; color:#315e4d; padding:10px 0; flex-shrink:0; text-underline-offset:3px; }
.hm-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.hm-category { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid #e0e5dc; border-radius:12px; background:white; color:inherit; text-decoration:none; min-width:0; }
.hm-category img { flex-shrink:0; object-fit:contain; border-radius:6px; }
.hm-category strong { display:block; font-size:13px; }
.hm-category small { display:block; color:#637265; font-size:11px; margin-top:3px; }
.hm-category>span:last-child { margin-left:auto; color:#597066; }
.hm-all-categories { margin-top:14px; scroll-margin-top:16px; }
.hm-all-categories summary { cursor:pointer; font-size:13px; color:#315e4d; padding:10px 0; }
.hm-category-links { display:flex; flex-wrap:wrap; gap:8px; padding-top:12px; }
.hm-category-links a { border:1px solid #d4ddce; border-radius:8px; background:white; color:#315e4d; padding:12px; font-size:13px; text-decoration:none; }
.hm-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.hm-card { display:flex; flex-direction:column; min-width:0; color:inherit; text-decoration:none; border:1px solid #e0e5dc; border-radius:12px; background:white; }
.hm-preview { padding:18px; background:#eaf0e6; border-radius:11px 11px 0 0; }
.hm-card:nth-child(3n+2) .hm-preview { background:#f0edf5; }
.hm-card:nth-child(3n) .hm-preview { background:#f7efdf; }
.hm-preview img { display:block; width:100%; height:200px; object-fit:contain; background:white; padding:8px; border:1px solid #e2e6df; border-radius:3px; }
.hm-card-body { padding:16px; display:flex; flex-direction:column; flex:1; }
.hm-card h3 { font-size:16px; line-height:1.35; margin:0 0 14px; }
.hm-card-body>span { margin-top:auto; border-top:1px solid #edf0e9; padding-top:12px; display:flex; justify-content:space-between; font-size:12px; font-weight:600; color:#315e4d; }
.hm-collections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.hm-collections>a { display:flex; flex-direction:column; align-items:start; gap:10px; background:#f0f2e9; padding:20px; border:1px solid #e0e5dc; border-radius:12px; color:inherit; text-decoration:none; }
.hm-emoji { font-size:26px; color:#597e68; }
.hm-collections strong { font-size:16px; }
.hm-badge { font-size:10px; background:white; border-radius:20px; padding:3px 8px; color:#315e4d; }
.hm-collection-action { font-size:12px; color:#315e4d; margin-top:auto; }
.hm-resources { margin-top:20px; border-top:1px solid #dee5d9; padding-top:30px; }
.hm-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:22px; }
.hm-resource-grid>a { display:flex; flex-direction:column; background:#f0f2e9; border-radius:12px; padding:24px; color:inherit; text-decoration:none; }
.hm-resource-grid h3 { font-size:16px; margin:12px 0 7px; }
.hm-resource-grid p { font-size:13px; color:#637265; margin:0 0 16px; }
.hm-resource-grid>a>span:last-child { color:#315e4d; font-size:12px; font-weight:600; margin-top:auto; }
.hm-card:hover,.hm-category:hover { border-color:#497865; box-shadow:0 5px 16px #243b3a13; }
@media(max-width:1000px) { .hm-intro { gap:24px; } .hm-hero-art { flex-basis:250px; margin-right:0; } .hm-category-grid,.hm-collections { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .home-hub .header-top { padding-top:12px; padding-bottom:12px; gap:8px; }
 .home-hub .topnav { gap:4px 12px; }
 .hm-intro { padding:28px 0 18px; }
 .hm-intro h1 { font-size:34px; margin-bottom:10px; }
 .hm-intro-copy>p:not(.hm-eyebrow) { font-size:14px; }
 .hm-hero-art { display:none; }
 .hm-promises { font-size:11px; gap:6px 12px; }
 .hm-search { margin-top:18px; }
 .hm-search button { padding:12px; }
 .hm-section { padding:18px 0 22px; }
 .hm-section h2 { font-size:22px; }
 .hm-section-heading { flex-wrap:wrap; gap:4px 12px; margin-bottom:14px; }
 .hm-category-grid { gap:10px; }
 .hm-category { gap:8px; padding:10px; }
 .hm-category img { width:36px; height:44px; }
 .hm-category strong { font-size:12px; }
 .hm-category>span:last-child { display:none; }
 .hm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .hm-preview { padding:12px; }
 .hm-preview img { height:160px; padding:4px; }
 .hm-card-body { padding:12px; }
 .hm-card h3 { font-size:14px; }
 .hm-card-body>span { font-size:11px; gap:6px; }
 .hm-collections { gap:12px; }
 .hm-collections>a { padding:16px; }
 .hm-collections strong { font-size:14px; }
 .hm-resource-grid { grid-template-columns:1fr; gap:12px; }
}
