.tour-discovery .tour-card-course { overflow-y:auto!important; overflow-x:hidden!important; min-height:0; overscroll-behavior:contain; touch-action:pan-y; scrollbar-gutter:stable; }
.tour-discovery .tour-card-course > * { flex-shrink:0; }
.tour-discovery .tour-card:hover .tour-card-course,
.tour-discovery .tour-card:focus .tour-card-course,
.tour-discovery .tour-card:focus-within .tour-card-course { pointer-events:auto; }
.tour-discovery .tour-card > .tour-course-hint { opacity:0; visibility:hidden; pointer-events:none; }
.tour-discovery .tour-card:hover > .tour-course-hint,
.tour-discovery .tour-card:focus > .tour-course-hint,
.tour-discovery .tour-card:focus-within > .tour-course-hint { opacity:1; visibility:visible; pointer-events:auto; }
.tour-discovery .tour-hover-timeline { min-width:0; height:auto; overflow:visible; }
.tour-discovery .tour-hover-timeline li { min-width:0; height:auto; align-items:start; }
.tour-discovery .tour-hover-timeline span,
.tour-discovery .tour-card-course h5 { white-space:normal!important; overflow:visible!important; overflow-wrap:anywhere; word-break:normal; text-overflow:clip!important; }
.tour-discovery .tour-card-course::after { content:none; }
.tour-discovery .tour-course-decoration { position:absolute; z-index:11; right:0; bottom:0; width:210px; height:210px; border-radius:50%; filter:blur(3px); background:rgba(var(--theme-primary-rgb),.18); pointer-events:none; opacity:0; visibility:hidden; transition:opacity .46s ease,visibility .46s ease; }
.tour-discovery .tour-card:hover > .tour-course-decoration,
.tour-discovery .tour-card:focus > .tour-course-decoration,
.tour-discovery .tour-card:focus-within > .tour-course-decoration { opacity:.48; visibility:visible; }
.tour-discovery .tour-card-course::-webkit-scrollbar { width:7px; }
.tour-discovery .tour-card-course::-webkit-scrollbar-thumb { background:#a5b7d0; border-radius:8px; }
.daejeon-news-head-custom { position:relative; }
.section-title-with-art { display:inline-flex; align-items:center; gap:14px; max-width:100%; }
.section-title-with-art .tour-heading { min-width:0; }
.tour-list-head > div { min-width:0; }
.section-title-art { display:block; flex:0 0 auto; width:auto; height:180px; margin-block:-90px; object-fit:contain; pointer-events:none; transform-origin:50% 85%; animation:section-art-sway 4s ease-in-out infinite; }
.course-section-illustration { animation-delay:-1s; }
@keyframes section-art-sway {
    0%,100% { transform:rotate(-3deg) translateY(0); }
    50% { transform:rotate(3deg) translateY(-3px); }
}
@media(prefers-reduced-motion:reduce) { .section-title-art { animation:none; } }
/* Separate scroll-reveal movement from the illustrations' gentle sway. */
.destination-intro-signature.is-visible { animation-duration:1.2s; }
.destination-intro-signature.is-visible::after { animation-duration:.8s; animation-delay:1.35s; }
#mainContent [data-aos="soft-reveal"],
#mainContent [data-aos="art-reveal"],
#mainContent [data-aos="title-rise"] { transition-property:opacity,translate; }
#mainContent .aos-init[data-aos="soft-reveal"],
#mainContent .aos-init[data-aos="art-reveal"],
#mainContent .aos-init[data-aos="title-rise"] { opacity:0; translate:0 18px; }
#mainContent [data-aos="title-rise"] { opacity:1; clip-path:none; transform:none; }
#mainContent .aos-init.aos-animate[data-aos] { opacity:1; translate:0 0; }
#mainContent .section-title-art.aos-init:not(.aos-animate) { animation-play-state:paused; }
@media(max-width:650px) {
    #mainContent .aos-init[data-aos="soft-reveal"],
    #mainContent .aos-init[data-aos="art-reveal"],
    #mainContent .aos-init[data-aos="title-rise"] { translate:0 12px; }
    #mainContent .aos-init.aos-animate[data-aos] { translate:0 0; }
}
@media(prefers-reduced-motion:reduce) {
    #mainContent [data-aos] { opacity:1!important; translate:none!important; transform:none!important; clip-path:none!important; transition:none!important; }
}
.booking-dock-visual > img { width:110px; height:110px; object-fit:contain; max-width:100%; }
.detail-gallery-thumbs { padding:6px 4px 12px!important; }
.detail-gallery-thumbs button.is-active { outline-offset:-3px!important; }
.board-table { table-layout:fixed; width:100%; }
.board-title { min-width:0; }
.board-title a,.board-view h2,.board-view-summary { white-space:normal!important; overflow-wrap:anywhere; word-break:normal; text-overflow:clip!important; }
.board-title a { display:inline; }
.board-empty { padding:64px 24px; border:1px solid #dde5ef; border-radius:18px; background:var(--theme-card,#f7f9fd); text-align:center; }
.board-empty strong { display:block; margin-bottom:22px; font-size:1.35rem; }
.board-empty a { display:inline-flex; padding:12px 22px; background:#515abb; color:white; border-radius:24px; }
.board-not-found > i { font-size:3rem; color:#7d87bd; margin-bottom:16px; }
.board-not-found > p { color:var(--theme-muted,#748097); line-height:1.7; margin-bottom:24px; }
.policy-shell,.guide-shell { width:min(1040px,calc(100% - 40px)); margin:0 auto; padding:150px 0 90px; }
.policy-hero p,.guide-shell>p { color:#626bd0; letter-spacing:.12em; font-weight:700; }
.policy-hero h1,.guide-shell h1 { font-size:clamp(2rem,5vw,3.3rem); }
.policy-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0; }
.policy-tabs a { padding:14px 20px; border:1px solid #d6ddea; border-radius:28px; }
.policy-tabs a[aria-current="page"] { background:#303d66; color:#fff; }
.policy-content { padding:32px; border:1px solid #dde4ee; border-radius:20px; line-height:1.85; background:var(--theme-card,#fff); }
.policy-content h2 { margin-top:28px; }
.guide-shell { text-align:center; min-height:70vh; }
.guide-shell i { font-size:4rem; color:#737dcc; margin:28px; }
.guide-shell a { display:inline-block; margin-top:24px; padding:14px 28px; border-radius:24px; background:#4e58af; color:white; }
html[data-theme="dark"] .policy-content,
html[data-theme="dark"] .board-empty { background:#20263a; border-color:#394159; color:#eef1f7; }
html[data-theme="dark"] .policy-tabs a { border-color:#48516b; }
@media(max-width:650px) {
    .section-title-with-art { gap:8px; }
    .section-title-art { width:82px; height:180px; }
    .news-section-illustration { width:clamp(112px,30vw,160px); }
    #daejeonNewsTitle { font-size:clamp(22px,6vw,34px); line-height:1.3; }
    #daejeonNewsTitle > span { display:block; white-space:nowrap; }
    .course-section-illustration { width:66px; }
    .policy-content { padding:22px; }
}
