/* Collyvale homepage and directory refresh, 1 October 2026. */
.home-refresh main > .wrap{margin-block:0}
.home-refresh .hero{padding-block:40px 44px;gap:36px;min-height:0}
.home-refresh .hero-copy h1{font-size:clamp(38px,4.8vw,64px)}
.home-refresh .hero .lead{font-size:clamp(19px,2vw,25px);line-height:1.45}
.home-refresh .hero-art img{max-height:420px;object-fit:cover;width:100%}
.home-refresh .hero-actions{flex-wrap:wrap}
.home-refresh .collyvale-song-player{margin-top:18px;padding:12px 14px}
.home-doorways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-bottom:32px}
.home-doorways a{display:grid;grid-template-columns:34px 1fr;gap:3px 12px;align-items:center;padding:18px;border-radius:18px;text-decoration:none;color:#492b64;background:#f0eadb;min-width:0}
.home-doorways a:nth-child(3n+1){background:#edf3e3}.home-doorways a:nth-child(3n+2){background:#f1eafb}.home-doorways a:nth-child(3n){background:#fff1ce}
.home-doorways a>span{grid-row:span 2;font-size:26px}.home-doorways strong{font-size:18px;line-height:1.3}.home-doorways small{font-size:14px;line-height:1.4;color:#51475b}
.home-doorways a:hover{box-shadow:0 5px 14px #492b6418}
.home-doorways a:focus-visible,.home-place-list summary:focus-visible,.home-kitchen-links>a:focus-visible,.directory-jumps a:focus-visible,.home-book-covers a:focus-visible{outline:3px solid #69468b;outline-offset:4px}
.home-returning{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:34px}
.home-refresh .home-progress,.home-refresh .home-today{width:100%;margin:0;box-sizing:border-box;border-radius:20px;padding:20px;min-width:0}
.home-refresh .home-progress{display:block;background:#fff4d7}
.home-refresh .home-progress h2,.home-refresh .home-today h2{font-size:26px;margin:6px 0}
.home-refresh .home-progress p,.home-refresh .home-today p{font-size:15px;line-height:1.45;margin:8px 0}
.home-refresh .home-progress .progress-counters{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:14px}
.home-refresh .home-progress .progress-counters a{padding:7px 9px;font-size:14px;min-width:0;flex:1}
.home-refresh .home-progress .progress-counters strong{font-size:19px}
.home-refresh .home-progress .progress-icon{display:none}
.home-refresh .home-today{display:grid;grid-template-columns:1fr 110px;gap:10px;background:#f2edfa}
.home-refresh .home-today .who-today-art{min-height:0;margin:0}
.home-refresh .home-today img{height:130px;width:110px;object-fit:contain}
.home-refresh .home-today .button{font-size:14px;padding:9px 13px}
.home-refresh .home-today .today-note{display:none}
.home-refresh .world{padding-block:12px 34px}
.home-refresh .world .section-heading{margin-bottom:18px}
.home-refresh .world .section-heading h2{font-size:42px;margin:4px 0}
.home-refresh .map-frame{margin-block:0}
.home-place-list{margin-top:18px;border:1px solid #e7dcc9;border-radius:16px;background:#fffaf1;padding:4px 18px}
.home-place-list summary{cursor:pointer;padding:14px 0;font-weight:750;color:#492b64;font-size:18px}
.home-place-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;padding:8px 0 16px}
.home-place-links a{padding:8px 0;color:#492b64;font-size:16px;line-height:1.4;text-underline-offset:3px}
.home-place-list p{font-size:14px}
.home-refresh .directory-section{padding-block:28px 32px}
.home-refresh .directory-section h2{font-size:clamp(29px,3.6vw,42px);margin:4px 0 12px}
.home-refresh .section-intro{margin:0 0 20px;font-size:16px}
.home-refresh .portrait-grid,.home-refresh #residents .portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-refresh .portrait-visual{height:180px}
.home-refresh .portrait-info{padding:14px 16px}
.home-refresh .portrait-info strong,.home-refresh #residents .portrait-info strong{font-size:22px;line-height:1.3}
.home-refresh .portrait-info small{font-size:14px;line-height:1.4}
.home-refresh .card-visit{font-size:14px;margin-top:9px}
.home-section-link{margin:20px 0 0}
.home-refresh .home-section-link .button{font-size:15px;padding:11px 16px}
.home-books{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding-block:36px;border-block:1px solid #eadfce}
.home-books h2,.home-kitchen h2{font-size:clamp(30px,3.5vw,42px);line-height:1.15;margin:8px 0 15px}
.home-books p{max-width:48ch;line-height:1.6}
.home-book-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center}
.home-book-covers a{display:block;border-radius:10px;scroll-margin-top:30px}
.home-book-covers img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;border-radius:8px;box-shadow:0 8px 17px #45314a26}
.home-refresh .activity-promo{padding-block:34px;margin:0 auto;gap:28px}
.home-refresh .activity-promo h2{font-size:clamp(29px,3.4vw,40px)}
.home-refresh .activity-promo figure{margin:0;max-height:210px}
.home-refresh .activity-promo figure img{height:210px;width:100%;object-fit:contain}
.home-refresh .postbox-home-promo{margin-block:10px 30px;padding:22px}
.home-refresh .postbox-home-promo h2{font-size:27px}
.home-kitchen{padding-block:30px 40px}
.home-kitchen p{max-width:70ch;line-height:1.6}
.home-kitchen-links{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;margin-top:20px}
.home-kitchen-links>a{color:#52356c;font-weight:700;line-height:1.5;padding-block:8px}
.home-kitchen-links>a.button{color:#34213e}
.home-refresh .site-footer{display:block;text-align:center;padding-block:25px}
.home-refresh .site-footer p{margin:8px auto;max-width:70ch;font-size:14px}
.home-refresh .home-footer-values{font-weight:750;color:#52356c;letter-spacing:.03em}
.directory-intro{padding-block:42px 24px;text-align:center}
.directory-intro h1{font-size:clamp(37px,5vw,62px);line-height:1.1;margin:10px 0 18px}
.directory-intro>p{max-width:65ch;margin-inline:auto}
.directory-jumps{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;padding-top:15px}
.directory-jumps a{font-weight:700;color:#52356c;padding:9px 0;text-underline-offset:4px}
.directory-back{padding-block:10px 35px}
.directory-page .portrait-grid,.directory-page #residents .portrait-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.directory-page .directory-section{padding-block:25px 40px}
.directory-page .portrait-visual{height:210px}
.directory-page .portrait-info strong{font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.nook-card[id]{scroll-margin-top:25px}
@media(max-width:900px){
 .home-refresh .hero{gap:24px}.home-returning{grid-template-columns:1fr 1fr;gap:14px}
 .home-refresh .home-today{grid-template-columns:1fr 85px}.home-refresh .home-today img{width:85px;height:115px}
 .directory-page .portrait-grid,.directory-page #residents .portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-refresh .home-progress .progress-counters a{padding:6px 4px}
}
@media(max-width:700px){
 .home-refresh .hero{padding-block:28px;grid-template-columns:1fr}
 .home-refresh .hero-art{margin:0}.home-refresh .hero-art img{max-height:300px}
 .home-doorways{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:24px}
 .home-doorways a{padding:14px;grid-template-columns:1fr;gap:7px}.home-doorways a>span{grid-row:auto}
 .home-doorways strong{font-size:17px}.home-doorways small{font-size:13px}
 .home-returning{grid-template-columns:1fr;padding-bottom:24px}
 .home-refresh .home-today{grid-template-columns:1fr 100px}.home-refresh .home-today img{height:130px;width:100px}
 .home-refresh .home-progress .progress-counters a{padding:8px}
 .home-place-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-refresh .portrait-grid,.home-refresh #residents .portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-refresh .portrait-visual{height:160px}.home-refresh .portrait-info{padding:12px}
 .home-refresh .portrait-info strong,.home-refresh #residents .portrait-info strong{font-size:20px}
 .home-books{grid-template-columns:1fr;gap:25px;padding-block:28px}
 .home-book-covers{max-width:440px;gap:12px}
 .home-refresh .activity-promo{grid-template-columns:1fr 130px;gap:15px}
 .home-refresh .activity-promo figure img{height:180px}
 .home-kitchen-links{align-items:flex-start;gap:10px 20px}
 .directory-page .portrait-grid,.directory-page #residents .portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .directory-page .portrait-visual{height:175px}.directory-page .portrait-info strong{font-size:20px}
}
@media(max-width:420px){
 .home-refresh .hero-copy h1{font-size:39px}.home-refresh .hero-actions .button{width:100%}
 .home-refresh .portrait-visual{height:145px}.home-refresh .portrait-info strong{font-size:19px}
 .home-refresh .portrait-info small{font-size:13px}
 .home-refresh .activity-promo{grid-template-columns:1fr}.home-refresh .activity-promo figure{display:none}
 .home-kitchen-links{display:grid;gap:12px}
 .home-place-links{grid-template-columns:1fr}
}
/* Override the earlier tablet-only character dimensions within the compact feature. */
body.home-refresh .home-today .who-today-copy{padding-left:0;min-width:0}
body.home-refresh .home-today .who-today-visual{min-height:150px!important;height:150px!important;width:100%;overflow:hidden!important;margin:0;background:none}
body.home-refresh .home-today .who-today-visual:after{display:none}
body.home-refresh .home-today .who-today-visual>img[data-today-image]{display:block!important;width:100%!important;height:140px!important;max-width:110px!important;max-height:140px!important;object-fit:contain!important;margin:0 auto!important}
.book-nook-intro h1{font-size:clamp(36px,5vw,66px);line-height:1.12;overflow-wrap:anywhere}
@media(max-width:600px){.book-nook-intro h1{font-size:36px}.nook-card{min-width:0}.nook-actions a{box-sizing:border-box}}

/* Space between the colouring invitation and Postbox; retain the centred card. */
.home-refresh main>.postbox-home-promo{margin-block:24px 30px}
.home-refresh .home-kitchen-links>a:not(.button){white-space:normal;overflow:visible;text-overflow:clip;max-width:100%}
.adventure-reset{margin-top:15px;border-top:1px solid #e8d8b6;padding-top:10px}
.adventure-reset-button{border:0;background:transparent;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;color:#52356c;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:9px 0;min-height:42px}
.adventure-reset-button:focus-visible{outline:3px solid #69468b;outline-offset:3px}
.home-refresh .adventure-reset-status:empty{display:none}
.adventure-reset-dialog{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:28px;border:1px solid #dfd0ba;border-radius:22px;background:#fffaf1;color:#492b64;box-shadow:0 20px 60px #25123644}
.adventure-reset-dialog::backdrop{background:#24113688}
.adventure-reset-dialog h2{font-size:29px;line-height:1.2;margin:0 0 15px}
.adventure-reset-dialog p{line-height:1.6;margin:0 0 20px}
.adventure-reset-actions{display:flex;gap:12px;flex-wrap:wrap}
.adventure-reset-actions .button{white-space:normal;font-size:15px;min-height:44px}
@media(max-width:420px){.adventure-reset-dialog{padding:22px}.adventure-reset-actions{flex-direction:column}.adventure-reset-actions .button{width:100%}}
.adventure-reset-dialog{position:fixed;inset:0;margin:auto}
