/* Navigation, reading and discovery refinements. */
:root { --ux-ink:#192e3b; --ux-muted:#56646b; --ux-paper:#fbf9f5; --ux-line:#dedfd8; --ux-green:#244d46; }
body { background:var(--ux-paper); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid #9c672a; outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { background:rgba(251,249,245,.97); box-shadow:none; }
.header-content { min-height:76px; padding:.7rem 0; }
.brand-name { font-family:'Noto Serif KR',Georgia,serif; font-weight:700; font-size:1.55rem; }
.brand-mark { display:none; }
.logo .tagline { font-size:.75rem; }
.header-search .search-input-group { box-shadow:none; background:white; }
.main-navigation { background:var(--ux-paper); }
.nav-menu { gap:.25rem; padding:.4rem 0; }
.nav-link { padding:.65rem 1rem; border-radius:8px; font-size:.9rem; }
.main-navigation .nav-spotlight { display:none; }
.section-title { font-size:clamp(1.5rem,2.2vw,2rem); line-height:1.45; }
.section-kicker { color:var(--ux-green); letter-spacing:.06em; font-size:.76rem; font-weight:700; }
.search-suggest-panel { max-height:min(360px,50vh); overflow-y:auto; overscroll-behavior:contain; z-index:1500; }
.search-suggest-item.active { outline:2px solid var(--ux-green); outline-offset:-2px; }
.verified-visit-card { border-color:var(--ux-line); border-radius:14px; padding:1.35rem; box-shadow:none; transition:border-color .2s,box-shadow .2s; }
.verified-visit-card:hover { border-color:#8ba59a; box-shadow:0 8px 24px #192e3b08; }
.verified-visit-card h3 a { color:var(--ux-ink); text-decoration:none; }
.verified-visit-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.verified-visit-action { color:var(--ux-green); font-size:.88rem; text-decoration:none; padding-top:.9rem; border-top:1px solid var(--ux-line); }
.verified-visit-action:hover { text-decoration:underline; text-underline-offset:4px; }
.verified-visit-area { font-size:.75rem; letter-spacing:.03em; }
.verified-visit-date { font-size:.75rem; }
.museum-home { padding-bottom:4rem; color:var(--ux-ink); }
.home-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr); gap:3rem; align-items:center; padding:3rem 0 3.5rem; border-bottom:1px solid var(--ux-line); }
.home-intro h1 { font-family:'Noto Serif KR',Georgia,serif; font-size:clamp(2.3rem,3.6vw,3.2rem); line-height:1.4; letter-spacing:-.055em; font-weight:700; margin:.7rem 0 1rem; }
.home-intro-copy>p { color:var(--ux-muted); line-height:1.85; margin-bottom:1.5rem; font-size:1rem; }
.mobile-break { display:none; }
.home-search-form .search-input-group { display:flex; flex-direction:row; padding:6px; border:1px solid #81978c; border-radius:12px; background:white; box-shadow:0 5px 20px #192e3b06; }
.home-search-form input { min-width:0; width:100%; flex:1; background:transparent; padding:.65rem .85rem; border:0; font-size:1rem; border-radius:8px; color:var(--ux-ink); }
.home-search-form button { flex:none; background:var(--ux-green); border:0; border-radius:8px; padding:.7rem 1.25rem; color:white; font-size:.95rem; font-weight:700; cursor:pointer; }
.home-quick-links { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.85rem; }
.home-quick-links a { color:#455b53; background:#edf1e9; padding:.4rem .75rem; border-radius:6px; text-decoration:none; font-size:.8rem; }
.home-quick-links a:hover { background:#dce5d9; }
.home-map-link { display:inline-flex; gap:1rem; margin-top:1.2rem; color:var(--ux-green); font-size:.88rem; text-underline-offset:4px; }
.home-feature { position:relative; overflow:hidden; padding:2rem; border-radius:18px; background:#e4ebe0; border:1px solid #d4ddce; min-height:340px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.home-feature-number { position:absolute; font:italic 160px Georgia,serif; right:12px; top:-15px; color:#3452440e; pointer-events:none; }
.home-feature h2 { font-family:'Noto Serif KR',Georgia,serif; font-size:2rem; line-height:1.55; letter-spacing:-.04em; margin:.8rem 0; color:#27483d; position:relative; }
.home-feature p { font-size:.85rem; line-height:1.85; color:#43584f; margin:0 0 1.5rem; }
.home-feature a { color:#244b3e; font-size:.85rem; font-weight:700; display:flex; gap:1rem; text-underline-offset:5px; }
.home-content-section { padding:3rem 0; border-bottom:1px solid var(--ux-line); }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.home-section-heading h2,.home-faq h2 { font-family:'Noto Serif KR',Georgia,serif; font-size:clamp(1.35rem,2.1vw,1.85rem); line-height:1.6; letter-spacing:-.035em; margin:.3rem 0 0; }
.home-section-heading>a { flex:none; font-size:.82rem; color:var(--ux-green); text-decoration:none; padding:.4rem 0; }
.home-section-heading>a:hover { text-decoration:underline; }
.home-section-note { margin:-.9rem 0 1.5rem; color:var(--ux-muted); font-size:.86rem; }
.home-region-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.home-region-links>a { display:flex; align-items:center; justify-content:space-between; gap:.5rem; background:#f1f1e9; color:var(--ux-ink); padding:1.15rem 1rem; border-radius:10px; text-decoration:none; }
.home-region-links>a:hover { background:#e7ece1; }
.home-region-links strong { font-size:.88rem; }
.home-region-links span { font-size:.72rem; color:#54635a; }
.home-data-note { color:var(--ux-muted); font-size:.75rem; margin:1rem 0 0; line-height:1.8; }
.home-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.home-story-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:1.6rem; background:#fff; border:1px solid var(--ux-line); border-radius:14px; }
.home-story-index { font:italic 2rem Georgia,serif; color:#93a398; margin-bottom:1rem; }
.home-story-card time { font-size:.75rem; color:var(--ux-muted); }
.home-story-card h3 { font-size:1.1rem; line-height:1.65; margin:.65rem 0; letter-spacing:-.02em; }
.home-story-card h3 a { color:var(--ux-ink); text-decoration:none; }
.home-story-card h3 a:hover { text-decoration:underline; }
.home-story-card p { font-size:.85rem; color:var(--ux-muted); line-height:1.85; margin:0 0 1.4rem; }
.home-story-link { margin-top:auto; color:var(--ux-green); font-size:.8rem; text-underline-offset:4px; }
.home-art-banner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:2rem; margin-top:3rem; background:#ece9df; border-radius:14px; }
.home-art-banner h2 { font-size:1.25rem; line-height:1.6; margin:.4rem 0; }
.home-art-banner p { font-size:.85rem; color:var(--ux-muted); margin:0; }
.home-art-banner a { flex:none; font-size:.85rem; color:var(--ux-green); text-underline-offset:4px; }
.home-faq { display:grid; grid-template-columns:1fr 1.8fr; gap:2rem; border-bottom:0; }
.home-faq details { border-bottom:1px solid var(--ux-line); }
.home-faq summary { cursor:pointer; padding:1rem 0; font-size:.9rem; font-weight:500; line-height:1.7; }
.home-faq details p { font-size:.85rem; color:var(--ux-muted); line-height:1.9; margin:0 0 1rem; }
/* Give the guide priority over repeated sidebar summaries. */
.page-blog-post .directory-hero-panel { display:none; }
.page-blog-post .directory-hero-grid { grid-template-columns:1fr; }
.page-blog-post .atlas-hero .hero-content { padding:2rem 2.3rem; }
.page-blog-post .hero-title { font-size:clamp(1.65rem,3vw,2.5rem); line-height:1.55; max-width:960px; }
.page-blog-post .hero-description { max-width:900px; font-size:.95rem; line-height:1.9; }
.page-blog-post .hero-actions { margin-top:1rem; }
.page-blog-post .hero-btn { padding:.65rem 1rem; font-size:.85rem; }
.atlas-page-blog-post .blog-article-shell { grid-template-columns:minmax(0,1fr) 270px; gap:1.5rem; align-items:start; }
.atlas-page-blog-post .blog-article-content { padding:1.5rem 2rem 2rem; font-size:1.04rem; line-height:1.9; }
.atlas-page-blog-post .blog-article-rail { position:static; }
.atlas-page-blog-post .blog-article-rail .section-title { font-size:1.15rem; text-align:left; padding-bottom:.6rem; margin-bottom:.8rem; }
.atlas-page-blog-post .blog-article-content h2 { font-size:1.5rem; line-height:1.6; scroll-margin-top:100px; }
.atlas-page-blog-post .blog-related-card strong { font-size:.85rem; line-height:1.7; }
.atlas-page-blog-post .blog-related-card span { font-size:.75rem; }
.article-toc { padding:1.3rem 2rem; background:#f0f3ed; border-bottom:1px solid var(--ux-line); }
.article-toc summary { cursor:pointer; font-size:.92rem; font-weight:700; color:var(--ux-green); }
.article-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1.5rem; padding-left:1.3rem; margin:1rem 0 0; }
.article-toc li { color:#617769; font-size:.85rem; line-height:1.75; padding-left:.2rem; }
.article-toc a { color:var(--ux-green); text-decoration:none; }
.article-toc a:hover { text-decoration:underline; text-underline-offset:4px; }
.visit-guide-table { border:1px solid var(--ux-line); border-radius:8px; overscroll-behavior-x:contain; }
.visit-guide-table th,.visit-guide-table td { padding:12px; }
/* Keep map and search controls ahead of secondary recommendations. */
.page-map .directory-hero-panel,.page-search .directory-hero-panel { display:none; }
.page-map .directory-hero-grid,.page-search .directory-hero-grid { grid-template-columns:1fr; }
.page-map .hero-title,.page-search .hero-title { font-size:clamp(1.7rem,2.8vw,2.3rem); }
.page-map .atlas-hero .hero-content,.page-search .atlas-hero .hero-content { padding:1.5rem 2rem; }
.page-map .hero-description,.page-search .hero-description { font-size:.93rem; }
.page-map .hero-actions,.page-search .hero-actions { margin-top:1rem; }
.page-map .hero-btn,.page-search .hero-btn { padding:.6rem 1rem; font-size:.85rem; }
.page-map .map-filter-panel,.page-search .filter-section { padding:1.4rem; }
.map-discovery-section { max-width:1192px; margin-left:auto; margin-right:auto; }
@media (max-width:1100px) {
    .atlas-page-blog-post .blog-article-shell { grid-template-columns:1fr; }
    .atlas-page-blog-post .blog-article-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-region-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
    body.mobile-nav-open { overflow:hidden; }
    .header-content { min-height:70px; }
    .brand-name { font-size:1.4rem; }
    .main-navigation { background:rgba(25,46,59,.3); }
    .main-navigation .nav-menu { padding:5rem 1rem 2rem; gap:.3rem; }
    .nav-link { padding:.85rem 1rem; }
    .home-intro { grid-template-columns:1fr; gap:1.75rem; padding:2rem 0; }
    .home-intro h1 { font-size:2.15rem; }
    .home-feature { min-height:0; padding:1.4rem; }
    .home-feature h2 { font-size:1.5rem; }
    .home-feature h2 br { display:none; }
    .home-feature p { margin-bottom:1rem; }
    .home-feature-number { font-size:130px; right:18px; top:-16px; }
    .home-content-section { padding:2rem 0; }
    .home-story-grid { grid-template-columns:1fr; gap:.8rem; }
    .home-story-card { padding:1.25rem; }
    .home-story-index { display:none; }
    .home-art-banner { flex-direction:column; align-items:flex-start; padding:1.4rem; margin-top:2rem; }
    .home-faq { grid-template-columns:1fr; gap:.7rem; }
    .article-toc { padding:1.15rem; }
    .article-toc ol { grid-template-columns:1fr; gap:.5rem; }
    .atlas-page-blog-post .blog-article-rail { grid-template-columns:1fr; }
    .atlas-page-blog-post .blog-article-content { padding:1.25rem 1rem; font-size:1rem; }
    .page-blog-post .atlas-hero .hero-content,.page-map .atlas-hero .hero-content,.page-search .atlas-hero .hero-content { padding:1.3rem; }
    .home-region-links>a { padding:1rem .8rem; }
    .home-region-links strong { font-size:.8rem; }
    .home-region-links span { font-size:.65rem; }
    .home-section-heading { align-items:flex-start; flex-direction:column; gap:.25rem; margin-bottom:1.2rem; }
    .home-section-note { margin-top:0; }
    .mobile-break { display:block; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

.page-search .search-active-filters { margin:1rem 0; }
.page-search .search-active-filters .search-chip-list { margin:0; }
.page-search main>.filter-section { max-width:1192px; margin:2rem auto; }

.skip-link { top:0; transform:translateY(-150%); }
.skip-link:focus { top:8px; transform:none; }
.page-home .main-content { padding-top:0; }
