/* Balzaguk reading system. Hero artwork and its layout stay untouched. */
:root{--reading-text:#293d32;--reading-muted:#526157;--reading-surface:#fffefb;--reading-line:#dce4d9;--reading-soft:#f2f5ed}
html[data-theme="dark"]{--reading-text:#f0f3e9;--reading-muted:#c0cdbf;--reading-surface:#242e27;--reading-line:#455247;--reading-soft:#303b31}
.app-page:not(.hero),footer,.modal{color:var(--reading-text)}
.app-page:not(.hero) p,.modal p{letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere}
.app-page:not(.hero) .section-head p,.home-section-head p{font-size:15px!important;line-height:1.85!important;color:var(--reading-muted)}
.app-page:not(.hero) .section-head h2{font-size:clamp(27px,4vw,36px);line-height:1.4;letter-spacing:-.025em}
.course-card{background:var(--reading-surface);border:1px solid var(--reading-line);box-shadow:0 8px 26px rgba(30,55,37,.045)}
.course-card .card-body{padding:24px;gap:16px}
.course-card h3{font-size:23px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere;color:var(--reading-text)}
.course-card .course-metrics{gap:24px;align-items:flex-start}
.course-card .course-metric small,.course-card .card-rating small,.course-card .card-rating-empty{font-size:12px;line-height:1.6;color:var(--reading-muted)}
.course-card .course-metric strong{font-size:19px;font-weight:700;color:var(--reading-text)}
.course-card p.desc{font-size:15px!important;line-height:1.85;min-height:3.7em;color:var(--reading-muted)}
.course-source-link{flex-wrap:wrap;border-radius:12px;font-size:13px;line-height:1.6;background:var(--reading-soft);border-color:var(--reading-line);color:var(--reading-text);padding:9px 12px}
.course-source-link small{font-size:12px;color:var(--reading-muted)}
.course-card .tag-pill{font-size:12px;padding:6px 10px;border-radius:9px;background:var(--reading-soft);color:var(--reading-muted);border-color:var(--reading-line)}
.course-detail-cta{font-size:15px;min-height:48px;border-radius:14px;background:var(--reading-soft);border-color:var(--reading-line);color:var(--reading-text)}
.course-card .card-foot,.course-card .card-owner-tag,.course-card .card-foot .report-btn{font-size:12px;line-height:1.7;color:var(--reading-muted)}
.course-card .card-foot button{min-height:44px}
#list-section .map-toolbar{gap:12px}
#course-search-input,#course-sort-select{border:1px solid var(--reading-line)!important;background:var(--reading-surface);color:var(--reading-text);border-radius:14px!important;min-height:50px;font-size:16px!important}
#course-advanced-filters{border:1px solid var(--reading-line);border-radius:18px;background:var(--reading-surface);overflow:hidden;margin:12px 0}
#course-advanced-filters .map-toolbar{padding:16px}
#list-section .chip,#walk-time-options .chip{font-size:14px;min-height:44px;padding:10px 14px}
.walk-plan-box,.walk-prep{background:var(--reading-soft);border-color:var(--reading-line);padding:20px;border-radius:18px}
.walk-plan-box p,.walk-prep p{font-size:14px;line-height:1.85;color:var(--reading-muted);max-width:68ch}
.explore-results-head{padding:8px 0;margin:22px 0 18px}
#modal-desc{font-size:16px!important;line-height:1.95!important;color:var(--reading-text)}
.course-detail-summary{padding:20px 12px;background:var(--reading-soft);border-color:var(--reading-line)}
.course-detail-summary span{font-size:13px;color:var(--reading-muted)}
.course-detail-summary strong{font-size:18px;color:var(--reading-text)}
.detail-map-heading span,.route-stop span,.route-stops-note,.course-route-guide p,.course-visit-notes p,.course-evidence p{font-size:14px!important;line-height:1.85;color:var(--reading-muted)}
.course-visit-notes summary,.course-route-guide summary{font-size:15px;min-height:48px;line-height:1.7}
.course-evidence strong,.route-stop strong{font-size:15px;color:var(--reading-text)}
.course-evidence,.course-visit-notes{background:var(--reading-soft);border-color:var(--reading-line)}
.form-card label{font-size:15px;line-height:1.7;color:var(--reading-text)}
.form-card .mini-map-note,.form-card small,.review-item p{font-size:14px;line-height:1.85;color:var(--reading-muted)}
.home-search-box p,.home-more-discovery small{font-size:14px;line-height:1.8}
.home-search-box label{font-family:'Jua',sans-serif;line-height:1.5}
.home-more-discovery>summary{min-height:60px;gap:12px}
.home-region-links a,.home-category-directory a{display:inline-flex;align-items:center;min-height:44px;line-height:1.7}
footer{font-size:14px;line-height:1.9}footer a{display:inline-flex;min-height:44px;align-items:center}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ba881;outline-offset:3px}
/* Server-rendered discovery and detail pages share the same reading rhythm. */
body.reading-page{background:#f4f5ed;color:#293d32;font-family:"Noto Sans KR",system-ui,sans-serif;font-size:16px;line-height:1.9}
.reading-page h1,.reading-page h2,.reading-page h3{font-family:'Jua',system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere;line-height:1.45;color:#213f2e}
.reading-page p,.reading-page li{word-break:keep-all;overflow-wrap:anywhere}
.reading-page main,.reading-page .wrap{padding:32px 24px}
.reading-page .card,.reading-page section,.reading-page .section,.reading-page .hero{background:#fffefb;border-color:#dce4d9;border-radius:22px;box-shadow:0 8px 26px #1e372508}
.reading-page li p{font-size:15px;line-height:1.85;color:#526157}
.reading-page small,.reading-page .meta,.reading-page .note{color:#526157;font-size:14px;line-height:1.85}
.reading-page nav a,.reading-page .links a,.reading-page .jump a,.reading-page .quick-links a{min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;line-height:1.6}
@media(max-width:600px){
.app-page:not(.hero) .section-head{align-items:flex-start;gap:10px;margin-bottom:22px}
.course-card .card-body{padding:20px;gap:14px}.course-card h3{font-size:22px}
.course-card .card-visual{height:112px}.course-card .course-metrics{gap:20px}
.course-card .card-rating{max-width:110px;text-align:left;margin-left:0}
.course-card .card-foot{gap:10px;align-items:flex-start}
#course-advanced-filters>summary{font-size:15px;color:var(--reading-text);padding:14px 16px;min-height:52px;border-top:0}
#course-advanced-filters .map-toolbar{padding:14px}
.course-detail-summary{gap:6px;padding:16px 8px}.course-detail-summary strong{font-size:16px}.course-detail-summary span{font-size:12px}
#modal-overlay .modal-body{padding:24px 18px}.course-evidence{padding:16px}
#photo-upload-wrap{grid-template-columns:1fr 1fr}#photo-upload-wrap .pin-btn{font-size:14px!important;min-height:48px}#photo-upload-wrap .pin-btn:first-child{grid-column:1/-1}
.walk-plan-box,.walk-prep{padding:18px 16px}
.home-more-discovery>summary{flex-wrap:wrap}.home-more-discovery small{flex-basis:100%}
.reading-page main,.reading-page .wrap{padding:24px 18px}.reading-page .card,.reading-page section{padding:22px 18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.course-card{transition:none}}

/* Clear footer contrast in both themes; no translucent text. */
footer.site-footer{background:#eff4ed;color:#213f2e;border-top:1px solid #c9d7c7;padding:36px 20px 40px}
footer.site-footer .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px}
.site-footer .footer-brand{font-size:24px;line-height:1.5;color:#213f2e}
.site-footer .footer-tagline{font-size:18px;font-weight:700;line-height:1.7;color:#213f2e}
.site-footer .footer-description{font-size:14px;line-height:1.9;color:#3f5748}
.site-footer p{margin:0;word-break:keep-all;overflow-wrap:anywhere}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:6px 18px;width:100%;margin-top:8px;padding-top:12px;border-top:1px solid #c9d7c7;font-size:14px!important}
.site-footer .footer-links a{color:#234a32;text-decoration:underline;text-underline-offset:4px;opacity:1;min-height:44px;font-weight:600}
.site-footer .footer-links a:hover{color:#102d1b}
.site-footer .footer-links a:focus-visible{outline:3px solid #48744d;outline-offset:4px;border-radius:4px}
.site-footer .footer-copyright{font-size:12px;color:#4b6152;opacity:1;line-height:1.8}
html[data-theme="dark"] footer.site-footer{background:#203b2b;color:#f6f8ef;border-color:#567360}
html[data-theme="dark"] .site-footer .footer-brand,html[data-theme="dark"] .site-footer .footer-tagline,html[data-theme="dark"] .site-footer .footer-links a{color:#f6f8ef}
html[data-theme="dark"] .site-footer .footer-description,html[data-theme="dark"] .site-footer .footer-copyright{color:#d5e2d2}
html[data-theme="dark"] .site-footer .footer-links{border-color:#567360}
@media(max-width:600px){footer.site-footer{padding:28px 18px calc(32px + env(safe-area-inset-bottom,0px))}footer.site-footer .wrap{padding:0}.site-footer .footer-tagline{font-size:17px}.site-footer .footer-links{column-gap:16px!important}}

/* Premium public reading pages — scoped away from the app and administrator. */
body.reading-page{--rp-bg:#f6f4ef;--rp-paper:#fffefa;--rp-ink:#243c32;--rp-muted:#647168;--rp-line:#dddfe0;--rp-soft:#edf2ec;--rp-accent:#ad7650;background:var(--rp-bg);color:var(--rp-ink);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;font-size:16px;line-height:1.8;letter-spacing:-.025em}
.reading-page main.wrap,.reading-page main{max-width:1100px;margin:auto;padding:34px 28px 70px;box-sizing:border-box}
.reading-page h1,.reading-page h2,.reading-page h3{font-family:inherit;color:var(--rp-ink);font-weight:750;letter-spacing:-.045em;line-height:1.4}
.reading-page h1{font-size:clamp(28px,4vw,46px);max-width:24ch;margin:28px 0 18px}
.reading-page h2{font-size:clamp(22px,3vw,29px);margin:0 0 18px}
.reading-page h3{font-size:18px;margin:28px 0 14px}
.reading-page p{color:var(--rp-muted);line-height:1.85}
.reading-page .brand{display:inline-flex;align-items:center;min-height:48px;font-size:20px;color:var(--rp-ink);text-decoration:none;letter-spacing:-.04em}
.reading-page section,.reading-page .section,.reading-page .card,.reading-page .hero{padding:30px;margin:24px 0;border:1px solid var(--rp-line);border-radius:22px;background:var(--rp-paper);box-shadow:0 8px 30px #21382b05}
.reading-page .hero{padding:38px;background:linear-gradient(120deg,var(--rp-paper),var(--rp-soft));border-top:3px solid var(--rp-accent)}
.reading-page section>h2::before{content:"";display:block;width:28px;height:3px;border-radius:3px;background:var(--rp-accent);margin-bottom:14px}
.reading-page ul:has(>li>a){columns:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px;padding:0;list-style:none;margin:18px 0}
.reading-page ul:has(>li>a)>li{position:relative;min-width:0;margin:0;padding:20px;border:1px solid var(--rp-line);border-radius:15px;background:var(--rp-paper);line-height:1.65;transition:border-color .18s,box-shadow .18s}
.reading-page ul:has(>li>a)>li:hover{border-color:var(--rp-accent);box-shadow:0 6px 20px #21382b0a}
.reading-page li>a{display:block;text-decoration:none;color:var(--rp-ink);font-weight:650;font-size:16px;padding-right:20px}
.reading-page li>a:only-of-type::after{content:"↗";position:absolute;right:16px;top:20px;color:var(--rp-accent);font-weight:400}
.reading-page li>a:focus-visible{outline:3px solid var(--rp-accent);outline-offset:6px;border-radius:4px}
.reading-page li>small,.reading-page li>span{display:inline-block;margin-top:10px;font-size:13px;line-height:1.7;color:var(--rp-muted)}
.reading-page li p{margin:10px 0 0}
.reading-page .meta,.reading-page .note,.reading-page small{color:var(--rp-muted);font-family:inherit}
.reading-page .meta{padding:14px 16px;background:var(--rp-soft);border-radius:12px;line-height:1.8}
.reading-page .listing-photo{width:100%;border-radius:14px;object-fit:cover}
.reading-page .links,.reading-page .jump,.reading-page .quick-links{gap:8px}
.reading-page .links a,.reading-page .jump a,.reading-page .quick-links a{background:var(--rp-soft);border:1px solid var(--rp-line);border-radius:10px;color:var(--rp-ink);text-decoration:none;padding:10px 15px;font:600 14px/1.6 system-ui,sans-serif}
.reading-page .cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;background:var(--rp-ink);color:var(--rp-paper);text-decoration:none;font-weight:650;box-sizing:border-box}
.reading-page #find-place{border-top:3px solid var(--rp-accent)}
.reading-page #place-search{display:grid;grid-template-columns:1fr 180px 90px;gap:10px;align-items:end}
.reading-page #place-search label{font-size:13px;color:var(--rp-muted);font-weight:600}
.reading-page #place-search label[for="place-query"]{grid-column:1;grid-row:1}
.reading-page #place-search label[for="place-kind"]{grid-column:2;grid-row:1}
.reading-page #place-query,.reading-page #place-kind{grid-row:2;min-width:0;width:100%;font:inherit;color:var(--rp-ink);background:var(--rp-paper);border:1px solid var(--rp-line);border-radius:12px;padding:12px;min-height:48px;box-sizing:border-box}
.reading-page #place-search button,.reading-page #place-more{grid-row:2;background:var(--rp-ink);color:var(--rp-paper);border-radius:12px;min-height:48px;font-weight:650}
.reading-page #place-count{font-size:13px;margin-top:18px}
.reading-page .region-title{font-size:21px;font-weight:750}
.reading-page .region-caption{display:block;color:var(--rp-muted);font-size:13px;margin-top:6px;font-weight:400}
.reading-page .region-counts{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.reading-page .region-counts span{padding:5px 9px;border-radius:7px;background:var(--rp-soft);font-size:12px;color:var(--rp-muted)}
.reading-page .region-counts b{color:var(--rp-ink);font-size:14px;margin-left:4px}
.reading-page #with-dog-regions>p{max-width:58ch;font-size:14px}
.reading-page .reading-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--rp-accent);margin-bottom:8px}
@media(prefers-color-scheme:dark){body.reading-page{--rp-bg:#17211d;--rp-paper:#202d26;--rp-ink:#f0f3ec;--rp-muted:#b7c5b9;--rp-line:#3c4d40;--rp-soft:#2a3a30;--rp-accent:#d2aa82}}
@media(max-width:600px){
 .reading-page main.wrap,.reading-page main{padding:22px 16px 48px}
 .reading-page section,.reading-page .section,.reading-page .card,.reading-page .hero{padding:24px 18px;margin:18px 0;border-radius:18px}
 .reading-page h1{font-size:29px;margin-top:22px}.reading-page h2{font-size:23px}
 .reading-page ul:has(>li>a){grid-template-columns:1fr;gap:10px}
 .reading-page ul:has(>li>a)>li{padding:18px}
 .reading-page #with-dog-regions ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reading-page #with-dog-regions li{padding:16px 12px}
 .reading-page #with-dog-regions li>a{padding-right:12px}
 .reading-page #with-dog-regions li>a::after{right:10px;top:16px;font-size:13px}
 .reading-page .region-title{font-size:20px}.reading-page .region-caption{font-size:11px;line-height:1.6}
 .reading-page .region-counts{gap:5px;margin-top:12px}.reading-page .region-counts span{font-size:11px;padding:4px 6px}.reading-page .region-counts b{font-size:12px}
 .reading-page #place-search{grid-template-columns:1fr 90px}
 .reading-page #place-search label[for="place-kind"]{grid-column:1;grid-row:3}
 .reading-page #place-query{grid-column:1/-1}.reading-page #place-kind{grid-row:4}.reading-page #place-search button{grid-column:2;grid-row:4}
}
@media(prefers-reduced-motion:reduce){.reading-page ul>li{transition:none}}

/* Detail and guide pages use the same editorial hierarchy as discovery. */
.reading-page article.card{max-width:820px;margin:26px auto;padding:clamp(24px,5vw,48px);border-top:3px solid var(--rp-accent)}
.reading-page article.card h1{margin-top:12px;max-width:none}
.reading-page article.card>h2{margin-top:38px;padding-top:24px;border-top:1px solid var(--rp-line)}
.reading-page article.card>p{max-width:68ch}
.reading-page article.card>h1+p{font-size:18px;line-height:1.9}
.reading-page article.card>ul:not(:has(>li>a)){list-style:none;padding:0;display:grid;gap:10px}
.reading-page article.card>ul:not(:has(>li>a))>li{margin:0;padding:14px 18px 14px 22px;border-left:3px solid var(--rp-accent);border-radius:0 10px 10px 0;background:var(--rp-soft);color:var(--rp-ink)}
.reading-page article.card .icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;background:var(--rp-soft);border-radius:16px;font-size:28px}
.reading-page .guide-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--rp-ink);border-radius:12px;background:var(--rp-ink);color:var(--rp-paper);font-weight:650;box-sizing:border-box}
.reading-page .source-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.7;color:var(--rp-ink);text-underline-offset:4px;overflow-wrap:anywhere}
.reading-page .share-button{font:inherit;border:1px solid var(--rp-line);background:var(--rp-soft);color:var(--rp-ink);cursor:pointer;margin-top:8px}
.reading-page a:focus-visible,.reading-page button:focus-visible{outline:3px solid var(--rp-accent);outline-offset:4px}
.reading-page nav[aria-label="현재 위치"]{font-size:13px;color:var(--rp-muted);padding:12px 0;border-bottom:1px solid var(--rp-line)}
.reading-page nav[aria-label="현재 위치"] a{color:var(--rp-ink);text-underline-offset:4px}
@media(max-width:600px){.reading-page article.card{padding:24px 18px;margin:20px 0}.reading-page article.card>h1+p{font-size:16px}.reading-page article.card>h2{margin-top:30px;padding-top:20px}.reading-page article.card .cta,.reading-page .guide-cta{width:100%;text-align:center}.reading-page .links a{max-width:100%;overflow-wrap:anywhere}}

/* Place detail actions and browser-only bookmarks. */
.place-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px}
.place-action{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:48px;box-sizing:border-box;padding:12px 18px;border:1px solid #c9d6cd;border-radius:14px;background:#fffefa;color:#294d38;font:inherit;font-weight:700;line-height:1.5;text-decoration:none;cursor:pointer;text-align:center}
.place-action.place-map{background:#315f48;border-color:#315f48;color:#fff}
.place-action[aria-pressed="true"]{background:#edf3e8;border-color:#658568}
.place-action:focus-visible,.place-home:focus-visible{outline:3px solid #b47d54;outline-offset:4px}
.reading-page .place-save-note,.reading-page .place-save-status{font-size:13px;margin:8px 0;line-height:1.7}
.place-save-status:empty{display:none}
.reading-page .place-join{margin:28px 0;padding:26px;border-radius:20px;background:#edf3e8;border:1px solid #d3dfcc}
.reading-page .place-join h2{font-size:24px;margin:12px 0}
.place-eyebrow{font-size:12px;font-weight:750;color:#55705c;letter-spacing:.02em}
.place-join small{display:block;margin-top:16px;font-size:12px;color:#57685e;line-height:1.8}
.place-home{display:inline-block;margin:12px 16px;min-height:44px;line-height:44px;color:#315f48}
#place-related{scroll-margin-top:20px}
.place-dock{display:none}
.place-saved-list{padding:0;list-style:none;display:grid;gap:10px}
.place-saved-list li{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--paper,#fffefa);border:1px solid var(--line,#d4ded2);border-radius:14px}
.place-saved-list a{flex:1;min-width:0;font-weight:700;color:var(--pine-deep,#315f48);overflow-wrap:anywhere;text-decoration:none;min-height:44px;display:flex;align-items:center}
.place-saved-list button{font:inherit;font-size:12px;min-height:44px;border:1px solid var(--line,#d4ded2);background:transparent;color:var(--pine-deep,#315f48);border-radius:10px;padding:8px 12px;cursor:pointer;flex-shrink:0}
#saved-places{scroll-margin-top:90px}
@media(max-width:600px){
  .place-detail-page main.wrap{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
  .place-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .place-actions .place-nearby{grid-column:1/-1;background:#f3f5f0}
  .place-action{font-size:14px;padding:11px 12px;min-width:0}
  .place-dock{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:#fffefaf5;border-top:1px solid #d8e0d5;box-shadow:0 -6px 22px #243c320b;z-index:20}
  .reading-page .place-join{padding:22px 18px}
  .reading-page .place-join h2{font-size:22px}
  .place-home{margin-left:0;display:block}
}

/* Shared browsing refinement: regional lists and static detail pages. */
.reading-page :is(input,select,textarea,button){font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;letter-spacing:-.02em}
.reading-page :is(input,select,textarea){transition:border-color .18s,box-shadow .18s}
.reading-page :is(input,select,textarea):focus-visible{outline:3px solid #a64d32;outline-offset:3px}
.reading-page .brand{font-size:19px;font-weight:700}
.reading-page :is(.jump,.quick-links) a{border-radius:11px;font-weight:550}
.reading-page #place-results li{border-color:var(--rp-line);border-radius:14px}
.reading-page #place-results li>a{font-size:18px;font-weight:650;line-height:1.65;letter-spacing:-.025em}
.reading-page .region-counts span{border:1px solid var(--rp-line);background:transparent}
.reading-page .listing-photo{border-radius:16px}
@media(hover:hover){.reading-page :is(.jump,.quick-links) a:hover{background:var(--rp-paper);border-color:var(--rp-muted)}}
@media(max-width:600px){.reading-page :is(input,select,textarea){font-size:16px}.reading-page :is(.jump,.quick-links) a{min-height:44px;font-size:13px}.reading-page #place-results li>a{font-size:17px}}
@media(prefers-reduced-motion:reduce){.reading-page :is(input,select,textarea){transition:none}}

/* Home polish: one visual rhythm, compact copy, generous touch targets. */
#nearby-section{--home-radius:20px}
#nearby-section .home-section-head{align-items:center;gap:16px}
#nearby-section .home-section-head h2{font-size:clamp(25px,3vw,32px);font-weight:700;letter-spacing:-.045em}
#nearby-section .section-more{font-size:13px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
#nearby-section .journey-shortcuts{gap:10px;margin-bottom:32px}
#nearby-section .journey-shortcuts a{padding:18px;border-radius:14px;box-shadow:none;background:var(--reading-surface)}
#nearby-section .journey-shortcuts small{font-size:12px}
#nearby-section .home-region-form{border-radius:14px;padding:14px;background:var(--reading-soft);box-shadow:none}
#nearby-section .home-region-form input{background:var(--reading-surface);border-color:var(--reading-line);border-radius:10px;box-sizing:border-box;min-width:0}
#nearby-section .home-course-controls{margin:12px 0;color:var(--reading-muted)}
#nearby-section .course-card{border-radius:var(--home-radius);box-shadow:none;border-color:var(--reading-line)}
#nearby-section .course-card .card-body{padding:20px;gap:12px}
#nearby-section .course-card h3{font-size:20px;font-weight:650;line-height:1.45}
#nearby-section .course-card .course-metrics{gap:20px}
#nearby-section .course-card .course-metric strong{font-size:18px}
#nearby-section .course-card .tag-pill{border-radius:8px;padding:4px 8px;font-size:11px}
#nearby-section .home-service-intro{background:var(--reading-surface);border-color:var(--reading-line);border-radius:var(--home-radius);box-shadow:none;padding:30px;gap:24px}
#nearby-section .home-service-intro .service-intro-item{background:transparent;border:0;border-bottom:1px solid var(--reading-line);border-radius:0;padding:16px 0;gap:12px}
#nearby-section .home-service-intro .service-intro-item:last-child{border-bottom:0}
#nearby-section .service-intro-heading h2{font-size:28px;margin:12px 0}
#nearby-section .service-intro-number{background:var(--reading-soft);color:var(--reading-text);border-radius:8px}
#nearby-section .service-intro-item strong{font-size:16px;color:var(--reading-text)}
#nearby-section .service-intro-action,#nearby-section .service-intro-eyebrow{color:var(--reading-text)}
#nearby-section .walk-shopping{border-radius:var(--home-radius);padding:24px;box-shadow:none}
#nearby-section .join-benefits{border-radius:var(--home-radius);box-shadow:none}
#nearby-section .join-benefits h2{font-size:24px;line-height:1.45}
footer .footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 20px}
footer .footer-links :is(a,button){min-height:44px;display:inline-flex;align-items:center;font-size:13px}
footer .footer-description{margin:8px 0 20px;font-size:13px;color:var(--reading-muted)}
#support-dialog a{min-height:44px;transition:box-shadow .15s}
@media(hover:hover){#nearby-section .journey-shortcuts a:hover{border-color:var(--reading-muted);background:var(--reading-soft)}#nearby-section .course-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #203a280a}}
@media(max-width:700px){
 #nearby-section .home-section-head{gap:8px;align-items:flex-start}
 #nearby-section .home-section-head h2{font-size:25px}
 #nearby-section .home-section-head p{font-size:13px!important;line-height:1.7!important}
 #nearby-section .journey-shortcuts{gap:8px;margin-bottom:28px}
 #nearby-section .journey-shortcuts a{padding:14px 8px;flex-direction:column;align-items:center;text-align:center;gap:8px}
 #nearby-section .journey-shortcuts strong{font-size:13px}
 #nearby-section .journey-shortcuts small,#nearby-section .journey-shortcuts i{display:none}
 #nearby-section .home-region-form{gap:8px;padding:12px}
 #nearby-section .home-region-form label{width:100%;font-weight:600}
 #nearby-section .home-region-form input{flex:1 1 150px;width:0;font-size:16px;min-height:46px}
 #nearby-section .home-region-form button{min-height:46px;padding:10px 12px;flex:none}
 #nearby-section .home-course-grid{grid-auto-columns:88%;gap:14px}
 #nearby-section .course-card .card-body{padding:18px;gap:10px}
 #nearby-section .home-service-intro{padding:22px 18px;gap:16px}
 #nearby-section .service-intro-heading h2{font-size:25px}
 #nearby-section .walk-shopping{padding:20px 16px}
 footer .footer-links{gap:4px 14px}
 #support-dialog{padding:20px;width:calc(100vw - 32px)}
}
@media(prefers-reduced-motion:reduce){#nearby-section .course-card,#support-dialog a{transition:none;transform:none}}
.reading-page #place-search{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr))}
.reading-page #place-search label[for="place-query"]{grid-column:1;grid-row:1}
.reading-page #place-search label[for="place-kind"]{grid-column:2;grid-row:1}
.reading-page #place-search label[for="place-region"]{grid-column:3;grid-row:1}
.reading-page #place-search label[for="place-category"]{grid-column:4;grid-row:1}
.reading-page #place-search #place-query{grid-column:1;grid-row:2}
.reading-page #place-search #place-kind{grid-column:2;grid-row:2}
.reading-page #place-search #place-region{grid-column:3;grid-row:2}
.reading-page #place-search #place-category{grid-column:4;grid-row:2}
.reading-page #place-search select{min-width:0;width:100%;font:inherit;color:var(--rp-ink);background:var(--rp-paper);border:1px solid var(--rp-line);border-radius:12px;padding:12px;min-height:48px;box-sizing:border-box}
.reading-page #place-search button[type="submit"]{grid-column:3;grid-row:3}
.reading-page #place-search #place-clear{grid-column:4;grid-row:3}
@media(max-width:700px){
 .reading-page #place-search{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reading-page #place-search label[for="place-query"]{grid-column:1/-1;grid-row:1}
 .reading-page #place-search #place-query{grid-column:1/-1;grid-row:2}
 .reading-page #place-search label[for="place-kind"]{grid-column:1;grid-row:3}
 .reading-page #place-search label[for="place-region"]{grid-column:2;grid-row:3}
 .reading-page #place-search #place-kind{grid-column:1;grid-row:4}
 .reading-page #place-search #place-region{grid-column:2;grid-row:4}
 .reading-page #place-search label[for="place-category"]{grid-column:1/-1;grid-row:5}
 .reading-page #place-search #place-category{grid-column:1/-1;grid-row:6}
 .reading-page #place-search button[type="submit"]{grid-column:1;grid-row:7}
 .reading-page #place-search #place-clear{grid-column:2;grid-row:7}
}
