@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--night:#101820;--ink:#f4f1e9;--paper:#f1eee5;--charcoal:#202624;--jade:#739989;--gold:#d8aa4c;--line:rgba(244,241,233,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;padding:.7rem 1rem;background:white;color:black}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid rgba(255,255,255,.17)}.brand{display:flex;align-items:center;gap:.8rem;color:white;text-decoration:none;font-weight:700;letter-spacing:.01em}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--gold);color:var(--gold);font-family:'Libre Caslon Display',Georgia,serif}nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.2rem)}nav a{text-decoration:none;font-size:.9rem;color:rgba(255,255,255,.82)}nav a:hover,nav a:focus-visible{color:white}.nav-episode{border:1px solid rgba(255,255,255,.45);padding:.5rem .9rem}.menu-button{display:none;background:transparent;border:1px solid rgba(255,255,255,.45);color:white;padding:.45rem .8rem;font:inherit}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,17,.93) 0%,rgba(6,12,17,.42) 50%,rgba(6,12,17,.12) 100%),linear-gradient(0deg,rgba(6,12,17,.82),transparent 45%)}.hero-copy{position:relative;z-index:1;width:min(58rem,90%);padding:10rem clamp(1.25rem,7vw,7rem) 10rem}.eyebrow{margin:0 0 1rem;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.18em}.eyebrow.dark{color:#9a6714}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.03em}h1{margin:0;font-size:clamp(5rem,14vw,11rem);line-height:.8}.hero-kicker{max-width:42rem;margin:2rem 0;font-size:clamp(1.15rem,2.3vw,1.6rem);line-height:1.45}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.button{display:inline-flex;padding:.82rem 1.15rem;text-decoration:none;font-weight:700}.button-primary{background:var(--gold);color:#17170f}.button-ghost{border:1px solid rgba(255,255,255,.45)}
.quick-facts{position:absolute;z-index:2;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(9rem,1fr));margin:0;background:rgba(12,22,26,.88);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-left:1px solid var(--line)}.quick-facts div{padding:1.2rem 1.5rem;border-right:1px solid var(--line)}.quick-facts dt{color:var(--gold);font-size:.69rem;text-transform:uppercase;letter-spacing:.12em}.quick-facts dd{margin:.2rem 0 0;font-weight:600}.image-note{position:absolute;right:.7rem;bottom:.35rem;margin:0;color:rgba(255,255,255,.56);font-size:.65rem;z-index:3}
.section-pad{padding:clamp(4rem,9vw,8rem) clamp(1.25rem,7vw,7rem)}.story{display:grid;grid-template-columns:1fr 2fr;gap:5vw;background:#15211e}.section-label{color:var(--jade);font-size:.8rem;font-weight:700;letter-spacing:.14em}h2{margin:0 0 1.5rem;font-size:clamp(2.5rem,6vw,5.4rem);line-height:1.04}.story>div:last-child{max-width:60rem}.large-copy{color:white;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.5}.story p:last-child{max-width:49rem;color:rgba(255,255,255,.67)}
.highlights,.stay{background:var(--paper);color:var(--charcoal)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading>p{max-width:31rem;margin:0;color:rgba(32,38,36,.67)}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(32,38,36,.2)}.feature-card{position:relative;display:grid;grid-template-columns:3rem 1fr;gap:1rem;min-height:18rem;padding:2rem;border-right:1px solid rgba(32,38,36,.2);border-bottom:1px solid rgba(32,38,36,.2)}.feature-card h3,.stay-grid h3,.transport-list h3{margin:.2rem 0 .8rem;font-family:'Libre Caslon Display',Georgia,serif;font-size:1.8rem;line-height:1.15}.feature-card p{max-width:34rem}.feature-card-wide{grid-column:span 2;min-height:14rem;align-items:center;grid-template-columns:4rem 1fr}.card-number{color:#9a6714;font-weight:700}.card-meta{margin:0;color:#70817b;font-size:.72rem;font-weight:700;letter-spacing:.13em}.feature-card-image{display:block;min-height:30rem;grid-column:span 2;overflow:hidden;color:white;border-right:0}.feature-card-image img{position:absolute;inset:0;height:100%;object-fit:cover}.feature-card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,13,.8),transparent 70%)}.image-card-copy{position:absolute;z-index:2;left:2rem;bottom:2rem;max-width:30rem}.image-card-copy span{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.14em}.image-card-copy h3{font-size:clamp(2rem,5vw,4rem)}
.map-section{background:#0e171b}.map-heading>p{color:rgba(255,255,255,.65)}.orientation{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);gap:4rem}.schematic{position:relative;min-height:30rem;border:1px solid var(--line);background:radial-gradient(circle at 70% 20%,rgba(115,153,137,.15),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.03),transparent);overflow:hidden}.route-line{position:absolute;left:10%;right:9%;top:52%;height:1px;background:linear-gradient(90deg,var(--jade),var(--gold));transform:rotate(-8deg);transform-origin:center}.place{position:absolute;display:flex;flex-direction:column;min-width:9rem}.place strong{margin-top:.5rem}.place small{color:rgba(255,255,255,.55)}.place-station{left:7%;bottom:24%}.place-center{left:31%;top:29%}.place-bomun{left:59%;bottom:23%}.place-temple{right:5%;top:24%}.dot{width:.8rem;height:.8rem;border-radius:50%;background:var(--jade);box-shadow:0 0 0 7px rgba(115,153,137,.14)}.dot.hot{background:var(--gold);box-shadow:0 0 0 7px rgba(216,170,76,.14)}.compass{position:absolute;right:1rem;bottom:1rem;color:rgba(255,255,255,.5);font-size:.75rem}
.transport-list{display:flex;flex-direction:column;gap:1.4rem}.transport-list article{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}.transport-icon{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--jade);color:var(--jade);font-size:.7rem;font-weight:700}.transport-list h3{color:white;font-size:1.5rem}.transport-list p{color:rgba(255,255,255,.64)}.transport-list a{color:var(--gold);font-size:.9rem}
.stay-copy{max-width:55rem;margin-bottom:3rem}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(32,38,36,.2);border-bottom:1px solid rgba(32,38,36,.2)}.stay-grid article{padding:2rem;border-right:1px solid rgba(32,38,36,.2)}.stay-grid article:last-child{border-right:0}.stay-tag{color:#855b17;font-size:.72rem;font-weight:700;letter-spacing:.12em}.stay-grid ul{padding-left:1.1rem;color:#66716d}.stay-image{position:relative;display:grid;grid-template-columns:1.35fr .65fr;margin-top:3rem;background:#16221f;color:white}.stay-image img{height:32rem;object-fit:cover}.stay-image>div{display:flex;flex-direction:column;justify-content:center;padding:3rem}.stay-image>div p{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.15em}.stay-image>div strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:2.3rem;line-height:1.1}.stay-image>div span{margin-top:1rem;color:rgba(255,255,255,.68)}
.food{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,6rem);background:#e4d3af;color:var(--charcoal)}.food-intro{align-self:start;position:sticky;top:2rem}.food-intro p{max-width:30rem}.food-intro>a{display:inline-block;margin-top:1rem;color:#765116;font-weight:700}.food-list{border-top:1px solid rgba(32,38,36,.25)}.food-list article{display:grid;grid-template-columns:3rem 1fr;gap:1.2rem;padding:2rem 0;border-bottom:1px solid rgba(32,38,36,.25)}.food-list>article>span{color:#8e641f;font-weight:700}.food-list h3{margin:0;font-family:'Libre Caslon Display',Georgia,serif;font-size:2rem}.food-list h3 small{font:500 .9rem 'DM Sans',sans-serif;color:#6e746f}.food-list p{max-width:42rem}.food-list strong{font-size:.78rem;letter-spacing:.08em;color:#796337}.food-tip{grid-column:1/-1;display:grid;grid-template-columns:.35fr 1.65fr;gap:1rem;margin-top:1rem;padding:1.4rem;border:1px solid rgba(32,38,36,.3)}.food-tip span{color:#765116;font-size:.75rem;font-weight:700;letter-spacing:.14em}.food-tip p{margin:0}.food-tip b{font-weight:700}
.culture{background:#11151e}.culture-heading>p{color:rgba(255,255,255,.62)}.culture-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.culture-grid>a{display:flex;min-height:22rem;flex-direction:column;padding:1.7rem;text-decoration:none;border-right:1px solid var(--line);transition:background .2s ease,transform .2s ease}.culture-grid>a:last-child{border-right:0}.culture-grid>a:hover,.culture-grid>a:focus-visible{background:rgba(216,170,76,.09);transform:translateY(-3px)}.culture-grid span,.now-strip>div>span{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.14em}.culture-grid h3{margin:1rem 0;font-family:'Libre Caslon Display',Georgia,serif;font-size:1.7rem;line-height:1.15}.culture-grid p{color:rgba(255,255,255,.58)}.culture-grid strong{margin-top:auto;color:var(--gold);font-size:.85rem}.now-strip{display:grid;grid-template-columns:1.2fr repeat(3,1fr);margin-top:2rem;border:1px solid var(--line)}.now-strip>*{display:flex;min-height:12rem;flex-direction:column;justify-content:center;padding:1.4rem;border-right:1px solid var(--line);text-decoration:none}.now-strip>*:last-child{border-right:0}.now-strip h3{margin:.2rem 0;font-family:'Libre Caslon Display',Georgia,serif;font-size:2rem}.now-strip p{margin:.3rem 0;color:rgba(255,255,255,.55)}.now-strip time{color:var(--jade);font-size:.75rem;font-weight:700}.now-strip a strong{margin:.5rem 0}.now-strip a span{color:rgba(255,255,255,.5);font-size:.78rem}
.itinerary{background:#17231f}.itinerary .section-heading>p{color:rgba(255,255,255,.62)}.days{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.days article{padding:clamp(1.5rem,4vw,3rem);background:#17231f}.day-title span{color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.15em}.day-title h3{margin:.2rem 0 2rem;font-family:'Libre Caslon Display',Georgia,serif;font-size:2.5rem}.days ol{list-style:none;padding:0;margin:0}.days li{display:grid;grid-template-columns:4.5rem 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}.days time{color:var(--jade);font-size:.82rem;font-weight:700}.days li div{display:flex;flex-direction:column}.days li span{color:rgba(255,255,255,.58)}
.episode{text-align:center;background:#0c1216}.episode>p:not(.eyebrow){max-width:40rem;margin:0 auto 2rem;color:rgba(255,255,255,.64)}.episode-frame{display:flex;min-height:25rem;max-width:65rem;margin:3rem auto 0;padding:3rem;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;border:1px solid rgba(255,255,255,.2);background:linear-gradient(125deg,rgba(5,10,13,.86),rgba(5,10,13,.2)),url('assets/gyeongju-night.png') center/cover}.episode-frame span{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.15em}.episode-frame strong{font-size:clamp(2.4rem,7vw,5rem);line-height:.9;letter-spacing:-.04em}.episode-frame small{margin-top:1rem;color:rgba(255,255,255,.65)}
footer{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;padding:4rem clamp(1.25rem,7vw,7rem);background:#070b0d;color:rgba(255,255,255,.62);border-top:1px solid var(--line)}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}footer strong{color:white}footer a:not(.brand){color:rgba(255,255,255,.66)}.footer-brand{margin-bottom:.7rem}.update{font-size:.78rem}
@media(max-width:900px){.site-header{align-items:flex-start;flex-wrap:wrap}.menu-button{display:block}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:1rem;padding:1rem;background:rgba(9,15,18,.95)}nav.open{display:flex}nav a{padding:.65rem}.quick-facts{left:0;width:100%;grid-template-columns:repeat(3,1fr)}.hero-copy{padding-bottom:13rem}.story{grid-template-columns:1fr}.orientation{grid-template-columns:1fr}.stay-grid{grid-template-columns:1fr}.stay-grid article{border-right:0;border-bottom:1px solid rgba(32,38,36,.2)}.stay-image{grid-template-columns:1fr}.stay-image img{height:24rem}.food{grid-template-columns:1fr}.food-intro{position:static}.culture-grid{grid-template-columns:repeat(2,1fr)}.culture-grid>a:nth-child(2){border-right:0}.culture-grid>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.now-strip{grid-template-columns:1fr 1fr}.now-strip>*:nth-child(2){border-right:0}.now-strip>*:nth-child(-n+2){border-bottom:1px solid var(--line)}footer{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.brand{font-size:.88rem}h1{font-size:clamp(4.7rem,25vw,7rem)}.hero-copy{padding-top:9rem;padding-bottom:17rem}.quick-facts{grid-template-columns:1fr}.quick-facts div{padding:.65rem 1.2rem;display:flex;justify-content:space-between;gap:1rem}.section-heading{align-items:start;flex-direction:column}.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card-wide,.feature-card-image{grid-column:span 1}.feature-card{padding:1.5rem;grid-template-columns:2rem 1fr}.schematic{min-height:35rem}.route-line{top:50%;left:5%;right:5%;transform:rotate(60deg)}.place-station{left:10%;top:8%;bottom:auto}.place-center{left:52%;top:28%}.place-bomun{left:10%;bottom:27%}.place-temple{right:8%;top:auto;bottom:8%}.food-tip{grid-template-columns:1fr}.culture-grid,.now-strip{grid-template-columns:1fr}.culture-grid>a,.culture-grid>a:nth-child(2),.now-strip>*,.now-strip>*:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.culture-grid>a:last-child,.now-strip>*:last-child{border-bottom:0}.days{grid-template-columns:1fr}footer{grid-template-columns:1fr}}
.ko{display:block;margin-top:.55em;font-family:system-ui,sans-serif;font-size:.5em;font-weight:400;letter-spacing:0;line-height:1.5;opacity:.8}h1 .ko{font-size:.28em}h3 .ko{font-size:.6em}.map-links{position:relative;z-index:4;display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}.map-links a{font:500 .875rem/1.5 system-ui,sans-serif;padding:.4rem .6rem;border:1px solid currentColor;text-decoration:none}.currency{background:#14241f}.currency form{display:flex;gap:1rem;flex-wrap:wrap;align-items:end}.currency label{display:flex;flex:1 1 180px;flex-direction:column;gap:.4rem}.currency input,.currency select{width:100%;padding:.9rem;font:inherit;background:#f4f1e9;color:#101820;border:1px solid #739989;border-radius:0}.currency button{font:inherit;border:0;cursor:pointer}#fx-result{font-size:1.4rem}#fx-date{color:#d8aa4c}.feature-card h3 a{text-decoration:none}.feature-card h3 a:hover{text-decoration:underline}:focus-visible{outline:3px solid #d8aa4c;outline-offset:4px}.image-note{font-size:.75rem;background:#101820;padding:.2rem .4rem}.compass{font-size:.875rem}
@media(max-width:1200px){.site-header{position:relative;background:#101820;flex-wrap:wrap;gap:1rem}nav{flex-wrap:wrap}.hero{min-height:85svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Equal footprint for original and Korean labels prevents hover oscillation. */
.korean-switch{display:inline-grid!important;vertical-align:middle;align-items:center;justify-items:start;line-height:inherit;color:inherit;min-width:0}
.korean-switch>.korean-switch-local,.korean-switch>.korean-switch-ko{grid-area:1/1;display:block!important;color:inherit!important;pointer-events:none;transition:none!important}
.korean-switch>.korean-switch-ko{visibility:hidden}
.korean-hover-target:hover .korean-switch>.korean-switch-local,.korean-hover-target:focus-visible .korean-switch>.korean-switch-local{visibility:hidden}
.korean-hover-target:hover .korean-switch>.korean-switch-ko,.korean-hover-target:focus-visible .korean-switch>.korean-switch-ko{visibility:visible}
@media(hover:none){.korean-hover-target:not(:focus-visible) .korean-switch>.korean-switch-local{visibility:visible}.korean-hover-target:not(:focus-visible) .korean-switch>.korean-switch-ko{visibility:hidden}}

/* Pointer hover is temporary; keyboard focus remains accessible. */
@media(hover:hover){.korean-hover-target:not(:hover):not([data-keyboard-hover]) .korean-switch>.korean-switch-local{visibility:visible}.korean-hover-target:not(:hover):not([data-keyboard-hover]) .korean-switch>.korean-switch-ko{visibility:hidden}}
