/* MYTHOS foundations. Load last. Diagrams, artwork lettering and the brand retain their own scale. */
:root{
 --font-display:'Gowun Batang',Georgia,serif;--font-body:'Noto Sans KR',sans-serif;
 --serif:var(--font-display);--sans:var(--font-body);
 --type-caption:.8125rem;--type-control:.875rem;--type-body:1rem;--type-reading:1.125rem;
 --type-card:1.5rem;--type-section:2rem;--type-page:3rem;--type-hero:4rem;
 --leading-heading:1.4;--leading-body:1.85;--leading-control:1.5;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;
 --radius-control:6px;--radius-card:8px;--control-height:44px;
 --bg:#101f26;--panel:#14262d;--text:#e9e7dd;--muted:#b1bdbc;--gold:#d8b77b;--line:#ffffff26;--focus:#8bc9dd;
}
html{font-size:100%}body{font-family:var(--sans);font-size:var(--type-body);line-height:var(--leading-body)}
body :is(button,input,select,textarea){font-family:var(--sans)}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body :is(.page-heading h1,.guide-heading h1,.public-article h1){font:400 var(--type-page)/var(--leading-heading) var(--serif);letter-spacing:-.025em;margin:var(--space-3) 0 var(--space-6);word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
body .museum-hero h1{font:400 var(--type-hero)/1.25 var(--serif);letter-spacing:-.035em}
body :is(.page-heading,.guide-heading){padding-block:var(--space-12) var(--space-8);gap:var(--space-6)}
body :is(.intro,.guide-heading p:not(.eyebrow),.museum-hero-copy>p:not(.eyebrow),.article-lead){font:400 var(--type-body)/var(--leading-body) var(--sans);max-width:65ch;word-break:keep-all;overflow-wrap:break-word}
body :is(.section-heading h2,.museum-section-title h2,.home-study h2,.guide-panel h2,.article-related h2,.article-comparison h2,.saved-empty h2,.time-stage-copy h2){font:400 var(--type-section)/var(--leading-heading) var(--serif);letter-spacing:-.02em;word-break:keep-all}
body :is(.film-card h2,.book-card-copy h2,.myth-card h2,.trip-card h2,.saved-card h2,.person-entry h2,.course-card h3,.destination-card h3,.hall-copy h3,.story-card h2,.guide-field-card h3){font:400 var(--type-card)/var(--leading-heading) var(--serif);letter-spacing:-.015em;word-break:keep-all;overflow-wrap:break-word}
body :is(.guide-facts h3,.study-lessons h3,.article-comparison h3,.museum-search-result strong){font:500 1.125rem/1.6 var(--sans);word-break:keep-all}
body :is(.film-card-body>p:not(.eyebrow):not(.film-original),.book-card-copy>p:not(.eyebrow),.myth-card p,.trip-card-body>p,.saved-card p,.person-entry p,.course-card p,.destination-card p,.hall-copy p,.story-card .summary,.study-lessons p,.guide-facts p,.guide-field-card p,.time-teaser,.home-study p,.article-comparison p){font-size:var(--type-body);line-height:var(--leading-body);word-break:keep-all;overflow-wrap:break-word}
#reader-content .prose p,body .article-prose{font:400 var(--type-reading)/var(--leading-body) var(--sans);color:var(--text);word-break:keep-all}
#reader-content h2{font:400 var(--type-page)/var(--leading-heading) var(--serif);letter-spacing:-.025em;margin-block:var(--space-4) var(--space-6)}
#reader-content :is(h3,.book-detail-lead h3){font:400 var(--type-card)/var(--leading-heading) var(--serif)}
#reader-content :is(.content-note,.film-comparison p,.comparison-columns p,.book-detail-lead p,.trip-days p,.trip-practical p,.course-lead){font-size:var(--type-body);line-height:var(--leading-body)}
body :is(.eyebrow,.result-count,.collection-note,.film-original,.film-card-credit,.card-image-credit,.media-credit,.media-figure figcaption,.portrait-credit,.hall-credit,.museum-hero-caption,.guide-context,.guide-edition,.guide-destinations small,.guide-destinations small:last-child,.article-meta,.article-source,.article-image figcaption,.saved-notice,.share-status,.guide-reading-time,.guide-diagram-caption,.guide-download-hint,.arch-info details,.arch-description,.arch-photo figcaption){font-size:var(--type-caption);line-height:1.7}
body .eyebrow{letter-spacing:.09em;margin-bottom:var(--space-3)}
#study-progress,#museum-search-status{font-size:var(--type-caption);line-height:1.7}
body :is(.museum-search-result em,.person-entry .role,.guide-destinations em,.nav-panel .nav small){font-size:var(--type-caption);line-height:1.7}
body :is(.myth-search,.museum-search-label,.relation-toolbar label,.event-toolbar label){font-size:var(--type-control);line-height:var(--leading-control)}
body :is(input[type=search],.museum-search-input,.myth-search input,select){font-size:var(--type-body);line-height:var(--leading-control);min-height:48px;border-radius:var(--radius-control);padding:var(--space-3) var(--space-4)}
body :is(.primary,.search-reset,.save-item,.content-tools button,.content-tools a,.article-action,.collection-filters button,.relation-filters button,.map-modes button,.hall-subnav button,.guide-modes button,.saved-notice button,.saved-import,.arch-options button,.arch-interact,.reader-top button){font-size:var(--type-control);line-height:var(--leading-control);min-height:var(--control-height);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4)}
body :is(.collection-filters,.relation-filters,.hall-subnav,.content-tools){gap:var(--space-2);flex-wrap:wrap}
body :is(.film-card,.book-card,.myth-card,.trip-card,.saved-card,.course-card,.destination-card,.person-entry,.guide-field-card,.architecture-inline,.saved-notice){border-radius:var(--radius-card)}
body :is(.film-card,.book-card,.myth-card,.trip-card,.course-card,.destination-card,.person-entry){overflow:hidden}
body :is(.film-grid,.book-grid,.trip-grid,.saved-grid,.museum-hall-grid){gap:var(--space-6)}
body :is(.film-card-body,.book-card-copy,.trip-card-body,.saved-card){padding:var(--space-6)}
body :is(.film-card-credit,.film-card-cast,.book-card-people){padding-inline:var(--space-6)}
body :is(.header .nav,.nav-group summary,.nav-panel .nav strong,.article-header nav a){font-size:var(--type-control);line-height:var(--leading-control)}
body :is(.film-more,.hall-enter,.book-card-copy>span,.saved-card>div a,.saved-card>div button,.reader-links button,.story-card .card-navigation button){font-size:var(--type-control);min-height:var(--control-height);line-height:1.6}
body .inline-person{font:inherit;line-height:inherit;padding:0;border-radius:0;min-height:0}
body .architecture-inline .arch-header h2{font:400 1.25rem/var(--leading-heading) var(--serif)}
body .article-prose p{margin-block:var(--space-6)}
@media(max-width:700px){
 :root{--type-reading:1rem;--type-card:1.375rem;--type-section:1.75rem;--type-page:2rem;--type-hero:2.5rem}
 body :is(.page-heading,.guide-heading){padding-block:var(--space-8) var(--space-6)}
 body :is(.header .nav,.nav-group summary,.article-header nav a){font-size:var(--type-caption)}
 body :is(.guide-modes button,.map-modes button){padding:var(--space-3) var(--space-2);font-size:var(--type-caption)}
 body .guide-destinations strong{font-size:1.125rem;line-height:1.6}
 body :is(.film-grid,.book-grid,.trip-grid,.saved-grid){gap:var(--space-4)}
 body .arch-options button{padding-inline:var(--space-2)}
 body .article-header nav{gap:var(--space-2)}
}
@media(prefers-reduced-motion:reduce){body :is(button,a,img){transition:none!important}}
/* Small, on-demand maps keep the travel guide in view. */
.embedded-map{display:block;width:100%;min-width:0;flex:0 0 100%;grid-column:1/-1;margin-block:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--panel)}
.embedded-map[hidden]{display:none}
.embedded-map-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3)}
body .embedded-map-bar :is(span,a,button){font:400 var(--type-caption)/1.5 var(--sans)}
body .embedded-map-bar a{margin-left:auto;min-height:44px;display:inline-flex;align-items:center}
body .embedded-map-bar button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:transparent;color:var(--text);cursor:pointer}
.embedded-map iframe{display:block;width:100%;height:300px;border:0;background:var(--bg)}
@media(max-width:700px){.embedded-map iframe{height:260px}}
