/* Noto Sans CJK subsets: locally served for consistent multilingual rendering. */
@font-face{font-family:'ABIN Sans TC';src:url('/assets/fonts/abin-sans-tc-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'ABIN Sans TC';src:url('/assets/fonts/abin-sans-tc-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'ABIN Sans SC';src:url('/assets/fonts/abin-sans-sc-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'ABIN Sans SC';src:url('/assets/fonts/abin-sans-sc-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'ABIN Sans KR';src:url('/assets/fonts/abin-sans-kr-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'ABIN Sans KR';src:url('/assets/fonts/abin-sans-kr-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'ABIN Sans Latin';src:url('/assets/fonts/abin-sans-latin-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'ABIN Sans Latin';src:url('/assets/fonts/abin-sans-latin-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
html body{--font:'ABIN Sans TC','Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;--serif:var(--font);font-family:var(--font);font-size:1rem;font-weight:400;line-height:1.8;letter-spacing:0}
html[lang='zh-Hans'] body{--font:'ABIN Sans SC','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif}
html[lang='ko'] body{--font:'ABIN Sans KR','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;word-break:keep-all}
html[lang='en'] body{--font:'ABIN Sans Latin','Noto Sans',Arial,sans-serif}
h1,h2,h3,h4,.tour-hero h1,.category-grid h3.entertainment-title,.entertainment-chevron,.stay-price strong,.stay-price-panel>strong{font-family:var(--font)!important;font-weight:700;letter-spacing:0.01em;font-style:normal}
html[lang='en'] h1,html[lang='en'] h2,html[lang='ko'] h1,html[lang='ko'] h2{letter-spacing:-.02em}
button,input,select,textarea,.button,.brand-word,.brand-text,.brand-location,.browse-index,.hero-footnote,.day-count{font-family:var(--font)}
main p,main li,main dd{overflow-wrap:break-word}
.article-body,.article-body p,.stay-card-summary,.stay-facts li,.hp-card p,.hp-card dd,.hp-profile p,.sf-card p,.jp-card p,.shopping-card p{font-size:1rem;line-height:1.85}
.stay-original,.stay-meta,.stay-score,.stay-detail-link,.stay-source-links a,.stay-filters label,.stay-reset,.stay-coverage li,.stay-price-panel p,.stay-price-detail .stay-small,.stay-small.stay-current-note{font-size:.875rem;line-height:1.75}
.stay-filters input,.stay-filters select,.field input,.field select,.field textarea{font-size:1rem}
.stay-price strong,.stay-price-panel>strong{font-weight:700;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.025em;line-height:1.35}
.stay-photo figcaption small{font-size:.75rem;line-height:1.7}
.stay-card h2{font-size:1.5rem;line-height:1.45}
.stay-card-summary{margin-top:1rem}.stay-card-body{min-width:0}
.site-header .nav a{font-size:.875rem;font-weight:700;line-height:1.6;letter-spacing:.01em}
.eyebrow{font-size:.875rem}.source-box,.toc,.footer p,.footer a,.article-meta{font-size:.875rem}
@media(max-width:760px){
 .article-body,.article-body p,.stay-card-summary,.stay-facts li,.hp-card p,.hp-card dd{font-size:1rem}
 .stay-card h2{font-size:1.375rem}
 .stay-card-body{padding:1.25rem}
 .stay-profile h1,.article-top h1,.page-intro h1{font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.4;overflow-wrap:break-word}
 .tour-hero h1{font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.5}
 .stay-filters label,.stay-coverage li{font-size:.875rem}
 .site-header .nav a{font-size:.875rem;line-height:1.65}
 .language{font-size:.875rem}
}
.banner-contact{flex-direction:column;gap:2px;line-height:1.5;padding-block:10px!important}
.banner-contact strong{font:700 1.25rem/1.5 var(--font);letter-spacing:.02em}
.banner-contact span{font:400 .875rem/1.5 var(--font);letter-spacing:.06em}
@media(max-width:760px){.banner-contact strong{font-size:1.125rem}.banner-contact span{font-size:.875rem;letter-spacing:.02em}}
/* Page-specific styles load in the body; keep reading sizes consistent. */
html body .stay-card-summary,html body .stay-facts li,html body .article-body p,html body .hp-card p,html body .hp-card dd,html body .hp-profile p,html body .sf-card p,html body .jp-card p,html body .shopping-card p{font-size:1rem;line-height:1.85}
html body .stay-original,html body .stay-meta,html body .stay-score,html body .stay-detail-link,html body .stay-source-links a,html body .stay-filters label,html body .stay-reset,html body .stay-coverage li,html body .stay-price-panel p,html body .stay-price-detail .stay-small{font-size:.875rem;line-height:1.75}
html body .stay-filters input,html body .stay-filters select{font-size:1rem}
html body .stay-photo figcaption small{font-size:.75rem;line-height:1.7}
