/* Shared public-page typography: body/UI Wanted Sans, display headings Jua. */
@import url("https://cdn.jsdelivr.net/gh/wanteddev/wanted-sans@v1.0.3/packages/wanted-sans/fonts/webfonts/variable/split/WantedSansVariable.min.css");
@import url("https://fonts.googleapis.com/css2?family=Jua&display=swap");
:root{--font-body:"Wanted Sans Variable","Wanted Sans","Noto Sans KR",sans-serif;--font-heading:"Jua","Wanted Sans Variable",sans-serif}
body,body p,body li,body a,body label,body input,body button,body select,body textarea,body td,body th,body summary,body .hero-sub,body .modal-sheet{font-family:var(--font-body)!important}
body h1,body h2,body .t-hero,body .t-section,body .hero-title,body .sec-title{font-family:var(--font-heading)!important;font-weight:400!important;letter-spacing:0!important;word-break:keep-all;overflow-wrap:break-word}
body button,body input,body select,body textarea{font-family:var(--font-body)!important}
@media(max-width:767px){
 body{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 main p,main li{line-height:1.8;word-break:keep-all;overflow-wrap:break-word}
 input,select,textarea{font-size:16px}
}

/* Keep long news pagination within narrow mobile viewports. */
@media(max-width:767px){.pagination{flex-wrap:wrap;max-width:100%;row-gap:8px}}

/* Let the approved transparent feature illustrations blend into each card. */
#why .diff-icon{background:transparent;box-shadow:none}
#why .diff-card:hover .diff-icon{box-shadow:none}

/* Article media: override legacy HTML heights without stretching or cropping. */
article .art-image,article .article-figure{height:auto;max-width:100%}
article .art-image img,article .article-figure img,article .art-body img{
 display:block;width:auto!important;height:auto!important;max-width:100%;
 max-height:480px;object-fit:contain;aspect-ratio:auto!important;margin-inline:auto;
}
/* List thumbnails share a stable frame while retaining the full artwork. */
.nc-card .nc-image,.area-card .ac-image{
 display:block;width:100%;height:auto!important;aspect-ratio:16/9!important;
 object-fit:contain!important;background:var(--gray-1,#f3f5f8);
}
@media(max-width:767px){
 article .art-image img,article .article-figure img,article .art-body img{max-height:420px}
}

/* Keep consultation entry on the compositor; do not blur the whole page. */
#modalOverlay,#nearbyOverlay,#phonePopup,.course-modal-overlay,#tuitionModal,#awardPopup{
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#modalOverlay.open .modal-sheet,#nearbyOverlay.open .modal-sheet{
 animation:consult-enter .2s cubic-bezier(.22,.61,.36,1) both;
 will-change:transform,opacity;
}
@keyframes consult-enter{from{transform:translate3d(0,24px,0);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}
html{scrollbar-gutter:stable}
body:has(#modalOverlay.open,#nearbyOverlay.open,#phonePopup.open) :is(.mq-track,.net-chips,.hero-scroll,.hero-scroll-arrow,.faculty-badge){animation-play-state:paused!important}
body:has(#modalOverlay.open,#nearbyOverlay.open,#phonePopup.open) #hero::before,
body:has(#modalOverlay.open,#nearbyOverlay.open,#phonePopup.open) #hero::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 #modalOverlay.open .modal-sheet,#nearbyOverlay.open .modal-sheet{animation:none}
}
