@font-face{font-family:'Pretendard GOV';
font-style:normal;
font-weight:400;
font-display:swap;
src:url('../vendor/krds/resources/fonts/PretendardGOV-Regular.subset.woff2') format('woff2')}

@font-face{font-family:'Pretendard GOV';
font-style:normal;
font-weight:500;
font-display:swap;
src:url('../vendor/krds/resources/fonts/PretendardGOV-Medium.subset.woff2') format('woff2')}

@font-face{font-family:'Pretendard GOV';
font-style:normal;
font-weight:700;
font-display:swap;
src:url('../vendor/krds/resources/fonts/PretendardGOV-Bold.subset.woff2') format('woff2')}

:root{--night-900:#333664;
--night-700:#364792;
--purple-600:#5D4796;
--accent-yellow:#F1D616;
--surface-soft:#F7F5FA;
--text-strong:#22232C;
--border:#DDDEE6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:100px}
body{margin:0;
color:var(--text-strong);
font-family:'Pretendard GOV','Pretendard','Noto Sans KR',system-ui,sans-serif;
font-size:1.7rem;
line-height:1.7;
word-break:keep-all;
overflow-wrap:anywhere}
h1,h2,h3,h4,p,ul,ol,dl{margin:0}
h1,h2,h3,h4{line-height:1.5;
letter-spacing:0}
h2{font-size:3.6rem;
color:var(--night-900);
margin-bottom:24px}
h3{font-size:2.3rem;
margin-bottom:16px}
h4{font-size:2.1rem;
margin-bottom:16px}
p+p{margin-top:18px}
ul,ol{padding-left:22px}
a{color:inherit;
text-decoration:none}
button{font:inherit;
cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid #E21250;
outline-offset:5px}
button:focus-visible{outline-offset:3px}
img{max-width:100%;
height:auto}
main:focus{outline:none}
.container{width:min(1200px,calc(100% - 64px));
margin-inline:auto}
#krds-masthead .inner{width:min(1200px,calc(100% - 64px));
padding:0;
margin:auto}
#krds-masthead .toggle-head{min-height:32px}
#krds-masthead .nuri-txt{font-size:1.3rem;
line-height:32px}
.site-header{position:sticky;
top:0;
background:var(--night-900);
color:white;
z-index:20;
border-bottom:1px solid #ffffff20}
.header-row{display:flex;
min-height:76px;
align-items:center;
justify-content:space-between;
gap:30px}
.brand{font-weight:700;
font-size:2.4rem;
letter-spacing:-.045em}
.site-header nav{display:flex;
align-items:center;
gap:34px}
.site-header nav a{padding:22px 0;
font-weight:500}
.site-header nav .current{box-shadow:inset 0 -3px var(--accent-yellow);
color:var(--accent-yellow)}
.menu-toggle{display:none}
.hero{background:linear-gradient(163deg,#333664 0%,#333664 32%,#39448c 32%,#453f88 65%,#5d4796 65%,#775395 100%);
position:relative;
overflow:hidden;
color:white}
.hero:before{content:'';
position:absolute;
inset:0;
background-image:radial-gradient(circle at 20% 16%,#fff 1px,transparent 2px),radial-gradient(circle at 84% 22%,#fff 1px,transparent 2px),radial-gradient(circle at 66% 72%,#fff 1px,transparent 2px);
background-size:270px 250px;
opacity:.6;
pointer-events:none}
.hero-grid{display:grid;
grid-template-columns:1.1fr 1fr;
min-height:710px;
align-items:center;
gap:30px;
position:relative}
.hero-copy{padding:70px 0;
z-index:1}
.eyebrow{font-size:2rem;
letter-spacing:.03em;
margin-bottom:24px}
.hero h1{font-size:clamp(4.8rem,4.9vw,6.8rem);
color:var(--accent-yellow);
max-width:610px;
font-weight:700;
line-height:1.5}
.hero .subtitle{font-size:2.1rem;
max-width:520px;
margin-top:28px;
line-height:1.6;
color:#fbe5cc}
.hero-facts{margin-top:30px;
padding-top:24px;
border-top:1px solid #ffffff40;
font-size:1.8rem}
.hero-facts p{margin:3px 0}
.hero-facts p:first-child{font-size:2.3rem;
font-weight:700}
.actions{display:flex;
gap:12px;
flex-wrap:wrap;
margin-top:30px}
.button{display:inline-flex;
align-items:center;
justify-content:center;
min-height:52px;
padding:12px 23px;
border:1px solid var(--night-900);
border-radius:8px;
color:var(--night-900);
font-weight:700;
line-height:1.5}
.button.primary{background:var(--accent-yellow);
border-color:var(--accent-yellow);
color:var(--night-900)}
.hero .button.outline{color:white;
border-color:#ffffff80}
.hero-art{height:680px;
position:relative;
align-self:end;
display:flex;
align-items:flex-end;
justify-content:center}
.hero-art img{width:420px;
max-height:610px;
object-fit:contain;
position:relative;
z-index:1;
filter:none}
.moon{position:absolute;
top:55px;
right:22px;
width:90px;
height:90px;
border-radius:50%;
background:#f7e591;
box-shadow:0 0 45px #f1d61650}
.section{padding:96px 0}
.soft{background:var(--surface-soft)}
.section-lead{max-width:740px;
margin-bottom:38px;
color:#555664}
.intro-grid{display:grid;
grid-template-columns:1.15fr 1fr;
gap:80px;
align-items:start}
.intro-grid p{max-width:650px}
.tower-story{padding:30px 0 0;
border-top:3px solid var(--accent-yellow)}
.tower-story h3{color:var(--night-900)}
.tower-facts{display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
margin-top:28px}
.tower-facts dt{font-size:1.4rem;
color:#666873}
.tower-facts dd{margin:6px 0 0;
font-size:2.1rem;
font-weight:700;
line-height:1.5}
.text-link{display:inline-flex;
min-height:48px;
align-items:center;
margin-top:22px;
color:var(--night-700);
font-weight:700;
text-decoration:underline;
text-underline-offset:6px}
.featured-grid,.program-grid,.archive-grid,.zones{padding:0;
list-style:none;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px}
.featured-grid{margin:36px 0}
.featured-grid>li,.program-card{padding:32px;
background:white;
border:1px solid var(--border);
border-radius:12px;
scroll-margin-top:110px}
.featured-grid h3,.program-card h3,.program-card h4{margin-top:16px;
color:var(--night-900)}
.featured-grid p{font-size:1.7rem;
line-height:1.6}
.featured-grid ul,.program-card ul{list-style:none;
padding:0;
font-size:1.5rem;
line-height:1.7;
margin-top:20px;
color:#555664}
.featured-grid ul li+li,.program-card ul li+li{margin-top:5px}
.tag{font-size:1.4rem;
font-weight:700;
color:var(--night-700);
background:#f0edf7;
display:inline-block;
padding:3px 10px;
border-radius:4px}
.date-tabs{display:flex;
gap:8px;
border-bottom:2px solid var(--night-900);
margin-top:36px}
.date-tabs button{flex:1;
padding:18px 10px;
border:0;
background:#f7f5fa;
color:var(--night-900);
font-weight:700;
min-height:56px;
border-radius:8px 8px 0 0}
.date-tabs button[aria-selected=true]{background:var(--night-900);
color:white;
box-shadow:inset 0 -4px var(--accent-yellow)}
.date-panel h3{margin-top:28px}
.date-panel table{width:100%;
border-collapse:collapse;
font-size:1.8rem;
text-align:left;
margin-top:20px}
.date-panel th,.date-panel td{padding:18px 24px;
border-bottom:1px solid var(--border)}
.date-panel thead{background:#f7f5fa}
.date-panel tbody th{width:130px;
color:var(--night-700)}
[hidden]{display:none!important}
.zones>li{border-top:2px solid #5d4796;
padding:28px 0}
.zones h4{font-size:1.7rem;
font-weight:500;
color:#555664}
.zones ul{font-size:1.6rem}
.subhero{background:linear-gradient(145deg,#333664,#5d4796);
padding:65px 0;
color:white}
.subhero h1{font-size:4.8rem;
margin-bottom:20px;
color:white}
.subhero .subtitle{font-size:2.2rem;
margin-bottom:12px;
color:#fbe5cc}
.subhero p{max-width:780px;
font-size:1.7rem}
.program-body{padding-bottom:90px}
.filters{display:flex;
gap:8px;
flex-wrap:wrap;
padding:35px 0;
background:white}
.filters button{border:1px solid var(--border);
border-radius:8px;
padding:10px 24px;
min-height:48px;
background:white;
color:var(--night-900)}
.filters button[aria-pressed=true]{background:var(--night-900);
color:white;
border-color:var(--night-900);
box-shadow:inset 0 -3px var(--accent-yellow)}
.category{padding:32px 0}
.category h2{padding-top:24px}
.program-card p{font-size:1.7rem;
line-height:1.6;
margin-top:16px}
.program-card ol{font-size:1.5rem;
margin-top:20px}
.program-card h4{margin-top:22px}
.group-common,.group-label{grid-column:1/-1;
list-style:none}
.group-common{padding:24px;
background:#f7f5fa;
border-radius:10px}
.group-common ul{list-style:none;
padding:0}
.group-label{margin-top:28px}
.overview-wrap{padding:65px 0 0}
.overview{display:grid;
grid-template-columns:1fr 1fr;
gap:0 50px}
.overview>div{display:flex;
gap:24px;
padding:18px 0;
border-bottom:1px solid var(--border)}
.overview dt{min-width:55px;
color:#666873}
.overview dd{margin:0;
font-weight:500;
white-space:pre-line}

.story-section .container{max-width:900px}
.story-section p{max-width:760px}
.story-section h3{margin-top:32px}
.story-section ul{margin-top:22px}
.empty-notice{padding-block:95px;
text-align:center;
min-height:330px}
.archive-grid{padding:70px 0 100px}
.archive-grid img{width:100%;
height:420px;
object-fit:contain;
background:#f7f5fa;
margin-bottom:26px}
.archive-grid h2{font-size:2.7rem}
.archive-grid p,.archive-grid ul{font-size:1.6rem;
margin-top:20px}
.back-top{position:fixed;
bottom:22px;
right:22px;
z-index:15;
display:flex;
width:46px;
height:46px;
align-items:center;
justify-content:center;
border:1px solid #dddee6;
background:white;
color:#333664;
border-radius:50%;
font-size:2.4rem}
.js .back-top{visibility:hidden}
.js.scrolled .back-top{visibility:visible}
@media(min-width:768px) and (max-width:1023px){.featured-grid,.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-grid{grid-template-columns:1.1fr 1fr}
.hero h1{font-size:4.8rem}
.hero-art{height:600px}
.brand{font-size:2.1rem}
.site-header nav{gap:18px}
}
@media(max-width:767px){.container,#krds-masthead .inner{width:calc(100% - 36px)}
body{font-size:1.6rem}
.header-row{min-height:64px;
flex-wrap:wrap;
gap:0}
.brand{font-size:2.2rem}
.site-header nav{width:100%;
gap:0;
display:grid;
grid-template-columns:1fr 1fr;
padding-bottom:15px}
.site-header nav a{padding:12px 8px}
.js .site-header nav{display:none}
.js .site-header nav.open{display:grid}
.js .menu-toggle{display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
border:1px solid #ffffff40;
background:transparent;
width:46px;
height:44px;
border-radius:6px}
.menu-toggle span{display:block;
width:21px;
height:2px;
background:white}
#krds-masthead .nuri-txt{font-size:1.1rem}
.hero-grid{display:block;
min-height:0}
.hero-copy{padding:46px 0 25px}
.hero h1{font-size:4.4rem;
max-width:360px}
.eyebrow{font-size:1.6rem;
margin-bottom:18px}
.hero .subtitle{font-size:1.8rem;
margin-top:22px}
.hero-facts{margin-top:25px}
.hero-facts p{font-size:1.6rem}
.hero-facts p:first-child{font-size:2rem}
.hero-art{height:420px;
margin-top:5px}
.hero-art img{width:280px;
max-height:405px}
.moon{top:10px;
right:15px;
width:65px;
height:65px}
.actions{margin-top:24px}
.button{padding:12px 19px;
min-height:50px}
.section{padding:60px 0}
h2{font-size:2.8rem;
margin-bottom:20px}
h3{font-size:2.2rem}
.intro-grid{grid-template-columns:1fr;
gap:40px}
.tower-facts{gap:8px}
.tower-facts dd{font-size:1.9rem}
.featured-grid,.program-grid,.archive-grid,.zones{grid-template-columns:1fr;
gap:18px}
.featured-grid>li,.program-card{padding:24px}
.date-tabs{gap:3px}
.date-tabs button{font-size:1.4rem;
padding:14px 4px;
word-break:keep-all}
.date-panel table{font-size:1.6rem}
.date-panel th,.date-panel td{padding:16px 6px}
.date-panel tbody th{width:65px}
.date-panel thead{display:none}
.date-panel tr{display:grid;
grid-template-columns:64px 1fr;
border-bottom:1px solid #dddee6}
.date-panel td,.date-panel th{border:0}
.subhero{padding:45px 0}
.subhero h1{font-size:3.6rem}
.subhero .subtitle{font-size:2rem}
.subhero p{font-size:1.6rem}
.filters{gap:6px;
padding:24px 0}
.filters button{padding:9px 16px;
font-size:1.5rem}
.overview{grid-template-columns:1fr}
.overview-wrap{padding-top:36px}
.archive-grid{padding-block:48px}
.archive-grid>li{margin-bottom:28px}
.back-top{right:14px;
bottom:14px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;
transition:none!important}
}


/* Reading rhythm: explicit rules also override the KRDS element reset. */
main p,main li,main dt,main dd{line-height:1.7}

main .featured-grid p,main .program-card p{line-height:1.6}

main .featured-grid li,main .program-card li{line-height:1.6}

.featured-grid ul,.program-card ul,.program-card ol{margin-top:16px}

.featured-grid ul li+li,.program-card ul li+li,.program-card ol li+li{margin-top:8px}

.featured-grid h3,.program-card h3,.program-card h4{margin-bottom:16px}

main li.info-row{display:grid;
grid-template-columns:3em minmax(0,1fr);
gap:8px;
text-align:left}

.info-row>span{line-height:inherit}

.info-value{min-width:0}

main .section-lead{margin-bottom:32px}

main p+p{margin-top:16px}

main .hero-facts p{margin:3px 0;
line-height:1.5}

main .hero .subtitle{line-height:1.6}

/* Quiet surfaces distinguish sections and keep program cards readable. */
.program-body{position:relative;
isolation:isolate;
padding-top:16px}

.program-body:before{content:'';
position:absolute;
inset:0 calc((100% - 100vw)/2);
background:var(--surface-soft);
z-index:-1;
pointer-events:none}

.program-body .filters{background:transparent;
padding-block:24px 32px}

.category{padding:48px 0}

.category+.category{border-top:1px solid var(--border)}

.category h2{padding-top:0;
margin-bottom:32px}

.group-common{background:#EEEBF3;
border:1px solid var(--border)}

.program-card .tag{background:#EEEBF3}

.section+.section{border-top:1px solid #ECE9F0}

.date-panel table{background:#fff}

@media(max-width:767px){
 .featured-grid p,.program-card p{font-size:1.6rem}

 .featured-grid,.program-grid,.archive-grid,.zones{gap:24px}

 .category{padding:32px 0}

 .category h2{margin-bottom:24px}

 .program-body .filters{padding-block:16px 24px}

 main li.info-row{gap:8px}

}


/* Language navigation remains a link, styled as a distinct control. */
.header-row{gap:24px}

.brand{order:1}

.site-header #site-nav{order:2;
margin-left:auto}

.header-actions{order:3;
display:flex;
align-items:center;
gap:12px}

.language{display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:8px 16px;
border:1px solid currentColor;
border-radius:8px;
font-size:1.5rem;
font-weight:500;
line-height:1.5;
white-space:nowrap}

.site-header .language{color:white;
background:#ffffff0d;
border-color:#ffffff80}

.site-header .language:hover{background:#ffffff20}

.site-header .language:focus-visible{outline-color:var(--accent-yellow)}

.header-en .brand{flex:1;min-width:0;font-size:2.2rem}
@media(max-width:767px){.header-en .brand{font-size:1.6rem}.header-en .header-row{flex-wrap:nowrap}}

/* Compact footer: no repeated event heading or schedule. */
.site-footer{background:#fff;color:var(--text-strong);border-top:1px solid var(--border)}
.footer-inner{padding-block:24px 32px}
.footer-policy{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:20px}
.footer-policy a{display:inline-flex;align-items:center;min-height:44px;font-size:1.5rem}
.footer-policy a:first-child{font-weight:700}
.footer-policy a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.partner-list{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.partner{display:flex;align-items:center;gap:12px}
.partner>span{font-size:1.4rem;color:#555664}
.official-logo{display:flex;align-items:center;width:124px;min-height:44px;background:#fff}
.partner+.partner .official-logo{width:100px}
.official-logo img{display:block;width:100%;height:auto;filter:none;transform:none}
.copyright{font-size:1.3rem;line-height:1.6;color:#555664}
main ol{list-style:decimal}
/* Consistent space between related content and actions. */
.actions{gap:12px;margin-top:32px}
.section .button{margin-top:24px}
.actions .button{margin-top:0}
.text-link{margin-top:24px}
.section h2+.section-lead{margin-top:0}
.section-lead+.featured-grid{margin-top:32px}
.featured-grid{margin-block:32px}
.featured-grid>li{display:flex;flex-direction:column;align-items:flex-start}
.featured-grid>li>.text-link{margin-top:auto;padding-top:24px;min-height:68px}
.story-section h2+h3{margin-top:24px}
.story-section ul+p,.story-section ol+p{margin-top:24px}
.group-common p{margin-top:16px}
.date-tabs{margin-top:32px}
.date-panel h3{margin-top:24px}
.date-panel table{margin-top:16px}
@media(max-width:767px){
 .header-row{gap:0 12px}
 .brand{font-size:2rem}
 .header-actions{margin-left:auto;gap:8px}
 .site-header #site-nav{order:4;margin-left:0}
 .language{font-size:1.4rem;padding:8px 12px}
 .footer-inner{padding-block:20px 24px}
 .footer-meta{flex-direction:column;align-items:flex-start;gap:20px}
 .partner-list{gap:16px 24px}
 .partner{gap:8px}
 .official-logo{width:110px}
 .partner+.partner .official-logo{width:88px}
 .actions{margin-top:24px}
 .section-lead+.featured-grid{margin-top:24px}
 .date-tabs{margin-top:24px}
}
@media(max-width:359px){.brand{font-size:1.8rem}.header-actions{gap:6px}.language{padding-inline:8px}.header-row{gap:0 8px}}

/* Explicit inverse heading color prevents global h2 color on dark surfaces. */
.subhero h2,.subhero h3{color:#fff}
html[lang="en"] .subhero h2{font-size:1.9rem;line-height:1.5;margin:32px 0 8px}
html[lang="en"] .subhero h1{margin-bottom:32px}
html[lang="en"] .subhero p{color:#fff}
html[lang="en"] .section .container{max-width:900px}
html[lang="en"] .section h3{margin-top:32px}
html[lang="en"] .section li+li{margin-top:8px}
/* Copyright remains a readable final row on every page. */
.site-footer .copyright{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);font-size:1.4rem;line-height:1.6;color:#444552}
.footer-policy a[target="_blank"]::after{content:'↗';margin-left:6px;font-size:1.4rem}
@media(max-width:767px){.site-footer .copyright{margin-top:20px;padding-top:16px}}

/* Comparable archive records: the same fields in the same order. */
.archive-card{display:flex;flex-direction:column;align-items:stretch}
.archive-card h2{font-size:2.8rem;margin:0 0 8px}
.archive-grid .archive-event-name{font-size:1.9rem;font-weight:700;line-height:1.5;margin:0 0 24px}
.archive-facts{display:grid;gap:12px}
.archive-facts>div{display:grid;grid-template-columns:2.5em minmax(0,1fr);gap:12px}
.archive-facts dt{font-size:1.5rem;color:#555664}
.archive-facts dd{margin:0;font-size:1.6rem}
.archive-grid .archive-description{margin-top:24px;font-size:1.6rem;line-height:1.6}
.archive-card h3{font-size:1.9rem;margin:24px 0 12px}
.archive-grid .archive-programs{margin:0;padding-left:20px;list-style:disc;font-size:1.6rem}
.archive-programs li+li{margin-top:8px}
.archive-callout{background:var(--surface-soft);border-top:1px solid var(--border)}
.archive-callout .container{max-width:1200px}
.archive-callout h2{font-size:2.8rem;margin-bottom:16px}
.archive-callout p{max-width:760px}
@media(max-width:767px){.archive-callout h2{font-size:2.6rem}.archive-card+.archive-card{padding-top:32px;border-top:1px solid var(--border)}}

/* Closing archive section: a quiet night-blue ending before the white footer. */
.archive-callout{background:var(--night-900);color:#fff;border-top:0}
.archive-callout h2{color:#fff}
.archive-callout p{color:#fff}
.archive-callout .button{color:#fff;border-color:#fff;background:transparent}
.archive-callout .button:hover{background:#ffffff18}
.archive-callout .button:focus-visible{outline-color:var(--accent-yellow)}

/* Let the document grow: vendor height/overflow must not constrain sticky. */
html{height:auto;min-height:100%;overflow-x:clip;scroll-padding-top:calc(var(--site-header-height,76px) + 24px)}
body{height:auto;min-height:100vh;overflow:visible}
.site-header{position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #22232c14}
.site-header .header-row{min-height:76px}
.site-header nav a:hover{color:var(--accent-yellow)}
.site-header nav a:focus-visible{outline-color:var(--accent-yellow)}
#krds-skip-link{position:relative;z-index:200}
main [id]{scroll-margin-top:24px}
.program-card{scroll-margin-top:24px}
.button:hover{background:#f0edf7}
.hero .button.primary:hover{background:#f7e561}
.hero .button.outline:hover,.archive-callout .button:hover{background:#ffffff18}
.button,.language{transition:none}
.filters button:hover{border-color:var(--night-900)}
.featured-grid>li,.program-card{min-width:0}
/* Keep keyboard order aligned with visual order: brand, menu, language. */
@media(max-width:900px){
 .site-header .header-row{min-height:64px;flex-wrap:wrap;gap:0 12px}
 .header-actions{margin-left:auto;gap:8px}
 .site-header #site-nav{order:4;margin-left:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;padding-bottom:16px}
 .site-header #site-nav a{padding:12px 8px}
 .js .site-header #site-nav{display:none}
 .js .site-header #site-nav.open{display:grid;max-height:calc(100dvh - 80px);overflow-y:auto}
 .js .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid #ffffff80;background:transparent;width:44px;height:44px;border-radius:6px}
 .header-en .header-row{flex-wrap:nowrap}
}
@media(prefers-reduced-motion:reduce){.button,.language{transition:none}}

/* Museum photographs: originals, natural proportions, source beside onward link. */
.heritage-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:start;margin-top:24px}
.story-section .heritage-intro h3{margin-top:0}
.heritage-photo{margin:0;min-width:0}
.heritage-photo img{display:block;width:100%;height:auto;filter:none}
.heritage-photo figcaption{margin-top:12px;font-size:1.6rem;line-height:1.6;color:#444552;text-align:left}
.heritage-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.heritage-source{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid #DDDEE6}
.story-section .heritage-source p{margin:0;font-size:1.5rem;line-height:1.6;color:#444552}
.heritage-license{display:inline-block;margin-top:8px;font-size:1.5rem;line-height:1.6;color:#364792;text-decoration:underline;text-underline-offset:3px}
.heritage-source .button{flex-shrink:0;margin:0;gap:12px}
@media(max-width:767px){.heritage-intro,.heritage-details{grid-template-columns:1fr;gap:24px}.heritage-source{align-items:flex-start;flex-direction:column}.heritage-source .button{max-width:100%;white-space:normal}}

/* Respect browser text sizing; retain the KRDS 10px-at-default rem scale. */
html{font-size:62.5%}
#krds-masthead .nuri-txt{line-height:1.5;padding-block:8px}
.featured-grid ul,.program-card ul,.program-card ol{font-size:1.6rem}
.header-actions,.language,.menu-toggle{flex-shrink:0}
.menu-toggle span{display:block;width:21px;height:2px;background:#fff}
.heritage-intro>div,.heritage-source>div{min-width:0}
.heritage-source{flex-wrap:wrap}
.heritage-source .button{color:var(--night-900);border-color:var(--night-900);max-width:100%;white-space:normal}
@media(max-width:767px){.header-row .brand{min-width:0;flex:1}.tower-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Decorative motion belongs only to the homepage hero.
   Override KRDS's global a/button transition: all to keep navigation immediate. */
a,button,.button,.language{transition:none}
.site-header,.site-header *,.site-header::before,.site-header::after,.site-header *::before,.site-header *::after{animation:none!important;transition:none!important}
.official-logo,.official-logo img{animation:none;transition:none}
