/* ══════════════════════════════════════════════════════════════
   Museum of the Bible Korea — Design System
   museumofthebiblekorea.com
   ══════════════════════════════════════════════════════════════ */

/* ── 1. Design Tokens ── */
:root {
  --c-bg:       #050F1F;
  --c-bg-mid:   #071628;
  --c-bg-light: #0D2040;
  --c-navy:     #0A3C8F;
  --c-navy-mid: #0D2A6B;
  --c-gold:     #C28615;
  --c-gold-lt:  #D9A030;
  --c-gold-dim: rgba(194,134,21,0.35);
  --c-white:    #FFFFFF;
  --c-off:      #F0EAD8;
  --c-muted:    #7A90A8;
  --c-border:   rgba(194,134,21,0.22);
  --c-panel:    rgba(10,60,143,0.12);

  --f-en-serif: 'Playfair Display', Georgia, serif;
  --f-en-sans:  'Inter', -apple-system, sans-serif;
  --f-ko-serif: 'Noto Serif KR', 'Malgun Gothic', serif;
  --f-ko-sans:  'Noto Sans KR', 'Malgun Gothic', sans-serif;

  --nav-h: 60px;
  --docent-w: 300px;
  --content-max: 860px;

  --r: 4px;
  --r-lg: 12px;
  --ease: 0.28s ease;
}

/* ── 2. Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--c-bg);color:var(--c-white);font-family:var(--f-en-sans);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lang-ko{font-family:var(--f-ko-sans)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
ul,ol{list-style:none}

/* ── 3. Bilingual System ── */
.ko{display:none}
span.ko{display:none}
.en{display:block}
span.en{display:inline}
body.lang-ko .ko{display:block}
body.lang-ko span.ko{display:inline}
body.lang-ko .en{display:none}
body.lang-ko span.en{display:none}

/* ── 4. Typography ── */
.t-display{font-family:var(--f-en-serif);font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.08;font-weight:900;letter-spacing:-.015em}
body.lang-ko .t-display{font-family:var(--f-ko-serif)}
.t-title{font-family:var(--f-en-serif);font-size:clamp(1.7rem,3.5vw,2.8rem);line-height:1.2;font-weight:700}
body.lang-ko .t-title{font-family:var(--f-ko-serif)}
.t-heading{font-family:var(--f-en-serif);font-size:clamp(1.25rem,2.2vw,1.85rem);line-height:1.25;font-weight:700}
body.lang-ko .t-heading{font-family:var(--f-ko-serif)}
.t-label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-gold);font-weight:500}
.t-body{font-size:1.02rem;line-height:1.85;color:var(--c-off)}
.t-caption{font-size:.82rem;color:var(--c-muted);line-height:1.55}
.t-gold{color:var(--c-gold)}
.t-muted{color:var(--c-muted)}
.serif{font-family:var(--f-en-serif)}
body.lang-ko .serif{font-family:var(--f-ko-serif)}

/* ── 5. Site Nav ── */
.site-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:rgba(5,15,31,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-border);z-index:1000}
.nav-brand{display:flex;align-items:center;gap:.5rem}
.nav-brand a{display:flex;align-items:center;gap:.5rem}
.nav-brand-text{font-family:var(--f-en-serif);font-size:.72rem;font-weight:700;color:var(--c-gold);letter-spacing:.1em;text-transform:uppercase}
body.lang-ko .nav-brand-text{font-family:var(--f-ko-serif);letter-spacing:.04em;text-transform:none}
.nav-loc{font-size:.72rem;color:var(--c-muted);letter-spacing:.06em;text-align:center}
.nav-controls{display:flex;align-items:center;gap:.75rem}
.lang-btn{font-size:.72rem;padding:5px 13px;border:1px solid var(--c-border);border-radius:20px;color:var(--c-gold);letter-spacing:.05em;transition:var(--ease)}
.lang-btn:hover{background:var(--c-gold-dim);border-color:var(--c-gold)}
.nav-link{font-size:.72rem;color:var(--c-muted);transition:var(--ease)}
.nav-link:hover{color:var(--c-white)}

/* ── 6. Room Jump Nav ── */
.room-jump{position:fixed;left:.75rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;z-index:900}
.jump-dot{width:8px;height:8px;border-radius:50%;background:rgba(122,144,168,.35);border:1px solid transparent;transition:var(--ease);cursor:pointer;display:block}
.jump-dot:hover,.jump-dot.active{background:var(--c-gold);border-color:var(--c-gold);transform:scale(1.4)}

/* ── 7. Museum Two-Column Layout ── */
.museum-layout{display:grid;grid-template-columns:1fr var(--docent-w);padding-top:var(--nav-h)}
.rooms-col{min-width:0}

/* ── 8. AI Docent Sidebar ── */
.ai-docent{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));background:rgba(6,19,38,.97);border-left:1px solid var(--c-border);display:flex;flex-direction:column;overflow:hidden}
.docent-hd{padding:1rem 1.25rem;border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:.75rem;cursor:pointer;flex-shrink:0}
.docent-orb{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--c-navy),var(--c-gold));display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.docent-ttl{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold)}
.docent-badge{margin-left:auto;font-size:.62rem;padding:2px 8px;border-radius:10px;background:var(--c-gold-dim);color:var(--c-gold-lt);display:none}
.docent-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}
.docent-ctx{font-size:.78rem;color:var(--c-muted);line-height:1.55;padding:.65rem .85rem;background:rgba(10,60,143,.15);border-radius:var(--r);border-left:2px solid var(--c-navy)}
.docent-insight{font-size:.82rem;color:var(--c-off);line-height:1.7}
.docent-insight strong{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-gold);margin-bottom:5px}
.docent-foot{border-top:1px solid var(--c-border);padding:1rem 1.25rem;flex-shrink:0}
.docent-input-wrap{display:flex;gap:7px;align-items:flex-end;margin-bottom:.5rem}
.docent-input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--c-border);border-radius:var(--r);padding:9px 11px;color:var(--c-white);font-size:.82rem;font-family:inherit;resize:none;height:40px;transition:var(--ease);line-height:1.4}
.docent-input:focus{outline:none;border-color:var(--c-gold);background:rgba(194,134,21,.05)}
.docent-input::placeholder{color:var(--c-muted)}
.docent-send{width:36px;height:36px;border-radius:var(--r);background:var(--c-gold);color:var(--c-bg);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:var(--ease);flex-shrink:0}
.docent-send:hover{background:var(--c-gold-lt)}
.docent-note{font-size:.65rem;color:var(--c-muted);text-align:center}

/* ── 9. Wing Hero ── */
.wing-hero{min-height:58vh;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--nav-h) + 5rem) 3.5rem 3rem;background:linear-gradient(160deg,rgba(10,60,143,.22) 0%,rgba(5,15,31,.95) 70%);border-bottom:1px solid var(--c-border);position:relative;overflow:hidden}
.wing-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 50%,rgba(10,60,143,.28) 0%,transparent 55%),radial-gradient(ellipse at 85% 20%,rgba(194,134,21,.08) 0%,transparent 50%);pointer-events:none}
.wing-num{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold);margin-bottom:.6rem}
.wing-title{font-family:var(--f-en-serif);font-size:clamp(2.4rem,5.5vw,5rem);font-weight:900;line-height:1.06;margin-bottom:.5rem;position:relative}
body.lang-ko .wing-title{font-family:var(--f-ko-serif)}
.wing-sub{font-size:1.05rem;color:var(--c-muted);max-width:560px;margin-bottom:1.5rem}
.wing-scroll{display:flex;align-items:center;gap:.65rem;font-size:.72rem;color:var(--c-muted);letter-spacing:.12em;text-transform:uppercase}
.wing-scroll::before{content:'';display:block;width:22px;height:1px;background:var(--c-gold)}

/* ── 10. Room Sections ── */
.room{padding:5.5rem 3.5rem;position:relative}
.room+.room{border-top:1px solid var(--c-border)}
.room-hd{margin-bottom:3rem}
.room-num{display:inline-block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold);margin-bottom:.6rem}
.room-title{font-family:var(--f-en-serif);font-size:clamp(1.9rem,3.8vw,3.2rem);font-weight:900;line-height:1.1;margin-bottom:.9rem}
body.lang-ko .room-title{font-family:var(--f-ko-serif)}
.room-intro{font-size:1.05rem;color:var(--c-off);max-width:680px;line-height:1.85;border-left:3px solid var(--c-gold);padding-left:1.25rem;margin-top:1rem}

/* ── 11. Timeline ── */
.timeline{position:relative;padding-left:2px;margin:3rem 0}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--c-gold) 8%,var(--c-gold) 92%,transparent)}
.tl-item{display:grid;grid-template-columns:72px 1fr;gap:1.25rem;padding:1.75rem 0 1.75rem 1.75rem;position:relative}
.tl-item::before{content:'';position:absolute;left:-5px;top:1.85rem;width:12px;height:12px;border-radius:50%;background:var(--c-gold);border:2px solid var(--c-bg);box-shadow:0 0 0 2px var(--c-gold)}
.tl-year{font-family:var(--f-en-serif);font-size:1rem;font-weight:700;color:var(--c-gold);line-height:1.2;padding-top:3px}
.tl-body h3{font-family:var(--f-en-serif);font-size:1rem;font-weight:700;color:var(--c-white);margin-bottom:5px}
body.lang-ko .tl-body h3{font-family:var(--f-ko-serif)}
.tl-body p{font-size:.88rem;color:var(--c-off);line-height:1.72}

/* ── 12. Artifact Cards ── */
.artifacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:2.5rem 0}
.artifact{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:1.25rem;transition:var(--ease);position:relative;overflow:hidden}
.artifact::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--c-gold),transparent);opacity:0;transition:var(--ease)}
.artifact:hover{border-color:var(--c-gold);background:rgba(10,60,143,.22);transform:translateY(-2px)}
.artifact:hover::after{opacity:1}
.artifact-n{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--c-gold);margin-bottom:.3rem}
.artifact-yr{font-family:var(--f-en-serif);font-size:1.75rem;font-weight:900;color:var(--c-white);line-height:1;margin-bottom:4px}
.artifact-name{font-size:.9rem;font-weight:600;color:var(--c-off);margin-bottom:.3rem;line-height:1.3}
.artifact-desc{font-size:.8rem;color:var(--c-muted);line-height:1.6}

/* ── 13. Quote Block ── */
.quote-block{margin:2.5rem 0;padding:2.5rem 2rem;background:linear-gradient(135deg,rgba(10,60,143,.18),rgba(194,134,21,.04));border-left:4px solid var(--c-gold);border-radius:0 var(--r-lg) var(--r-lg) 0;position:relative}
.quote-block::before{content:'"';position:absolute;top:-18px;left:1.5rem;font-family:var(--f-en-serif);font-size:7rem;color:rgba(194,134,21,.18);line-height:1;pointer-events:none}
.quote-text{font-family:var(--f-en-serif);font-size:clamp(1.1rem,2.2vw,1.55rem);line-height:1.55;color:var(--c-white);font-style:italic;position:relative;z-index:1;margin-bottom:.75rem}
body.lang-ko .quote-text{font-family:var(--f-ko-serif);font-style:normal}
.quote-attr{font-size:.82rem;color:var(--c-gold);letter-spacing:.05em}

/* ── 14. Stats Row ── */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:2.5rem 0}
.stat{text-align:center;padding:1.75rem 1rem;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-panel)}
.stat-n{font-family:var(--f-en-serif);font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:900;color:var(--c-gold);line-height:1;margin-bottom:6px}
.stat-l{font-size:.75rem;color:var(--c-muted);line-height:1.4;letter-spacing:.04em}

/* ── 15. Person Feature ── */
.person{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;padding:1.5rem;background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--r-lg);margin:2.5rem 0}
.person-init{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--c-navy),var(--c-navy-mid));border:2px solid var(--c-gold);display:flex;align-items:center;justify-content:center;font-family:var(--f-ko-serif);font-size:1.8rem;font-weight:700;color:var(--c-gold);flex-shrink:0}
.person-name{font-family:var(--f-en-serif);font-size:1.35rem;font-weight:700;margin-bottom:3px}
body.lang-ko .person-name{font-family:var(--f-ko-serif)}
.person-role{font-size:.72rem;color:var(--c-gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem}
.person-bio{font-size:.88rem;color:var(--c-off);line-height:1.75}

/* ── 16. Country Card (Wing 4) ── */
.country{border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;margin:1.5rem 0;background:var(--c-panel)}
.country-hd{padding:1.25rem 1.5rem;background:linear-gradient(135deg,rgba(10,60,143,.28),rgba(5,15,31,.8));border-bottom:1px solid var(--c-border);display:flex;align-items:flex-start;gap:1rem}
.country-flag{width:44px;height:30px;border-radius:3px;background:rgba(194,134,21,.15);border:1px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}
.country-name{font-family:var(--f-en-serif);font-size:1.4rem;font-weight:700;line-height:1.15;margin-bottom:3px}
body.lang-ko .country-name{font-family:var(--f-ko-serif)}
.country-dates{font-size:.75rem;color:var(--c-gold);letter-spacing:.05em}
.country-body{padding:1.25rem 1.5rem}
.country-body p{font-size:.92rem;color:var(--c-off);line-height:1.8}
.country-body p+p{margin-top:.7rem}
.country-hl{margin-top:1rem;padding:.6rem 1rem;background:rgba(194,134,21,.07);border-left:3px solid var(--c-gold);border-radius:0 var(--r) var(--r) 0;font-size:.88rem;color:var(--c-off);font-style:italic}

/* ── 17. Note Panel ── */
.note{padding:1rem 1.25rem;border-radius:var(--r);background:rgba(10,60,143,.2);border:1px solid rgba(10,60,143,.45);font-size:.88rem;color:var(--c-off);line-height:1.75;margin:1.25rem 0}
.note.gold{background:rgba(194,134,21,.07);border-color:rgba(194,134,21,.28)}

/* ── 18. Wing Footer Nav ── */
.wing-footer{padding:2.5rem 3.5rem;border-top:1px solid var(--c-border);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.w-nav-btn{display:flex;align-items:center;gap:.6rem;padding:.65rem 1.25rem;border:1px solid var(--c-border);border-radius:var(--r);font-size:.88rem;color:var(--c-off);transition:var(--ease)}
.w-nav-btn:hover{border-color:var(--c-gold);color:var(--c-gold)}
.w-nav-btn.primary{background:var(--c-gold);color:var(--c-bg);border-color:var(--c-gold);font-weight:600}
.w-nav-btn.primary:hover{background:var(--c-gold-lt);color:var(--c-bg)}

/* ── 19. Institution Banner ── */
.institution-banner{background:#050F1F;background-image:linear-gradient(rgba(10,60,143,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(10,60,143,.18) 1px,transparent 1px);background-size:48px 48px;padding:calc(var(--nav-h) + 4rem) 2rem 4rem;text-align:center;border-bottom:1px solid rgba(194,134,21,.25)}
.institution-banner-inner{max-width:680px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.institution-logo{opacity:.9}
.institution-location{font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--c-gold);margin:0}
.institution-name{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,6vw,3.8rem);font-weight:700;color:#fff;line-height:1.15;margin:0;letter-spacing:.01em}
.institution-sub{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--c-gold);opacity:.85;margin:0;line-height:1.6;font-style:italic}
.institution-rule{width:80px;height:1px;background:var(--c-gold);opacity:.45;margin-top:.4rem}

/* ── 19. Entry Page ── */
.entry-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:calc(var(--nav-h) + 3rem) 2rem 3rem;position:relative;overflow:hidden}
.entry-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(10,60,143,.35) 0%,transparent 60%),radial-gradient(ellipse at 50% 85%,rgba(194,134,21,.07) 0%,transparent 50%);pointer-events:none}
.entry-verse-ref{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold);margin-bottom:1.1rem}
.entry-verse{font-family:var(--f-en-serif);font-size:clamp(1.45rem,3.2vw,2.4rem);line-height:1.48;font-style:italic;max-width:780px;color:var(--c-off);position:relative;z-index:1}
body.lang-ko .entry-verse{font-family:var(--f-ko-serif);font-style:normal}
.entry-rule{width:72px;height:1px;background:linear-gradient(to right,transparent,var(--c-gold),transparent);margin:2rem auto}
.entry-title{font-family:var(--f-en-serif);font-size:clamp(1.9rem,5.5vw,4.2rem);font-weight:900;line-height:1.08;margin-bottom:.5rem;position:relative;z-index:1}
body.lang-ko .entry-title{font-family:var(--f-ko-serif)}
.entry-sub{font-size:.85rem;color:var(--c-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2.5rem}
.btn-gold{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2rem;background:var(--c-gold);color:var(--c-bg);font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r);transition:var(--ease);cursor:pointer;font-family:inherit}
.btn-gold:hover{background:var(--c-gold-lt);transform:translateY(-1px)}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2rem;border:1px solid var(--c-border);color:var(--c-off);font-size:.9rem;border-radius:var(--r);transition:var(--ease)}
.btn-ghost:hover{border-color:var(--c-gold);color:var(--c-gold)}

/* ── 20. Tour Selector ── */
.tour-sel{padding:4rem 2rem;max-width:980px;margin:0 auto}
.tour-paths{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.85rem;margin:2rem 0 1.75rem}
.path-btn{padding:1.25rem .9rem;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-panel);text-align:center;cursor:pointer;transition:var(--ease);font-family:inherit}
.path-btn:hover,.path-btn.sel{border-color:var(--c-gold);background:rgba(194,134,21,.1)}
.path-btn.sel{box-shadow:0 0 0 1px var(--c-gold)}
.path-icon{font-size:1.7rem;margin-bottom:.5rem}
.path-name{font-size:.88rem;font-weight:600;color:var(--c-white);margin-bottom:3px}
.path-desc{font-size:.73rem;color:var(--c-muted);line-height:1.4}

/* ── 21. Museum Map (Entry) ── */
.museum-map{max-width:880px;margin:0 auto;padding:0 2rem 4rem}
.map-grid{border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;display:grid;gap:1px;background:var(--c-border)}
.map-row{display:block;padding:1.5rem 2rem;background:var(--c-bg-mid);transition:background var(--ease)}
.map-row:hover{background:var(--c-bg-light)}
.map-row-num{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold);margin-bottom:.3rem}
.map-row-title{font-family:var(--f-en-serif);font-size:1.2rem;font-weight:700;margin-bottom:.2rem}
body.lang-ko .map-row-title{font-family:var(--f-ko-serif)}
.map-row-meta{font-size:.78rem;color:var(--c-muted)}

/* ── 22. Exit Room ── */
.exit-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:calc(var(--nav-h) + 3rem) 2rem 3rem;position:relative;overflow:hidden}
.exit-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;max-width:760px;width:100%;margin:2.5rem auto 0}
.exit-opt{display:block;padding:1.75rem 1.25rem;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-panel);text-align:center;transition:var(--ease);color:var(--c-white)}
.exit-opt:hover{border-color:var(--c-gold);background:rgba(194,134,21,.1);transform:translateY(-3px)}
.exit-opt-icon{font-size:2rem;margin-bottom:.75rem}
.exit-opt-title{font-family:var(--f-en-serif);font-size:1.05rem;font-weight:700;margin-bottom:.4rem}
body.lang-ko .exit-opt-title{font-family:var(--f-ko-serif)}
.exit-opt-desc{font-size:.8rem;color:var(--c-muted);line-height:1.5}

/* ── 23. NK Room (Dark/Memorial) ── */
.nk-room{background:linear-gradient(to bottom,#030C1A,var(--c-bg))}
.nk-room .room-num{color:#6B7D8E}
.nk-room .room-title{color:#C8D0D8}
.memorial{border:1px solid rgba(100,110,120,.28);border-radius:var(--r-lg);padding:1.5rem;background:rgba(15,18,24,.5);margin:1.5rem 0}
.nk-verse{font-family:var(--f-en-serif);font-size:1.1rem;font-style:italic;color:#B0B8C4;text-align:center;margin:2rem 0;padding:1.5rem;border-top:1px solid rgba(100,110,120,.2);border-bottom:1px solid rgba(100,110,120,.2)}
body.lang-ko .nk-verse{font-family:var(--f-ko-serif);font-style:normal}

/* ── 24. Gold Divider ── */
.gold-line{height:1px;background:linear-gradient(to right,transparent,var(--c-gold),transparent);margin:2.5rem 0}
.gold-line.narrow{max-width:80px;margin-left:0}
.gold-line.center{max-width:80px;margin-left:auto;margin-right:auto}

/* ── 25. Scroll Reveal ── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}

/* ── 26. Footer ── */
.site-footer{padding:2.5rem 2rem;border-top:1px solid var(--c-border);background:var(--c-bg-mid)}
.footer-inner{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:.6rem}
.footer-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}
.footer-org{font-size:.82rem;color:var(--c-off);letter-spacing:.02em}
.footer-url{font-size:.72rem;letter-spacing:.18em;color:var(--c-gold);text-transform:uppercase;transition:var(--ease);width:fit-content}
.footer-url:hover{color:var(--c-gold-lt);text-decoration:underline;text-underline-offset:3px}
.footer-links{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.footer-links a{font-size:.78rem;color:var(--c-muted);transition:var(--ease)}
.footer-links a:hover{color:var(--c-white)}
.footer-sep{color:var(--c-border);font-size:.75rem;user-select:none}
.footer-copy{font-size:.72rem;color:var(--c-muted);margin-top:.2rem}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media(max-width:1000px){
  .museum-layout{grid-template-columns:1fr}
  .ai-docent{position:fixed;bottom:0;left:0;right:0;height:auto;max-height:55vh;border-left:none;border-top:1px solid var(--c-border);transform:translateY(calc(100% - 50px));transition:transform .3s ease;z-index:800;top:auto}
  .ai-docent.open{transform:none}
  .room-jump{display:none}
}
@media(max-width:720px){
  .wing-hero,.room{padding-left:1.5rem;padding-right:1.5rem}
  .wing-footer,.wing-footer.wing-footer{padding:1.75rem 1.5rem}
  .wing-footer{flex-direction:column;align-items:stretch;text-align:center}
  .tour-paths{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .exit-options{grid-template-columns:1fr}
  .person{grid-template-columns:1fr}
  .site-nav{padding:0 1.25rem}
  .nav-loc{display:none}
  .museum-map{padding:0 1.25rem 3rem}
}
@media(max-width:480px){
  .artifacts{grid-template-columns:1fr}
  .tour-paths{grid-template-columns:1fr}
  .tl-item{grid-template-columns:56px 1fr}
}
