/* Daegu Aquarium: refinement of the existing ocean identity, not a replacement theme. */
/* Title-only subsets. Font sources and OFL licenses are kept in public/fonts. */
@font-face { font-family: 'Daegu Jua'; src: url('/__preview/fonts/title-ko.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Daegu HuangYou'; src: url('/__preview/fonts/title-zh.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Daegu Outfit'; src: url('/__preview/fonts/title-en.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
/* Entry promotions are intentionally removed from the local homepage experience. */
body:has(.main-visual) :is(.noticePop, .preview-notice-layer) { display: none !important; }
:root {
  --ink: #102f46;
  --muted: #4b6678;
  --ocean: #0b557b;
  --deep: #082d49;
  --water: #c6f1fb;
  --paper: #f5f9fb;
  --white: #fff;
  --line: #d6e4eb;
  --focus: #ffdb72;
  --radius: 14px;
  --content: 1184px;
  --motion: 220ms;
  --story-card-shadow: 0 8px 22px rgba(0, 22, 38, .26);
  --story-card-shadow-active: 0 14px 34px rgba(0, 18, 33, .38);
  --sns-card-shadow: 0 12px 26px rgba(0, 24, 43, .28), 0 3px 8px rgba(0, 20, 36, .18);
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; scrollbar-color: #7399ac var(--paper); }
body { min-width: 0; background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.65; letter-spacing: -.02em; }
body::before { height: 600px; background-position: center top; }
*, *::before, *::after { box-sizing: border-box; }
::selection { background: var(--water); color: var(--deep); }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
a { text-underline-offset: .2em; }
button { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--focus) !important; outline-offset: 4px;
}
input, textarea { caret-color: var(--ocean); }
img { max-width: 100%; }
svg { flex: 0 0 auto; vertical-align: middle; }
.w1200 { max-width: var(--content); width: calc(100% - 80px); margin-right: auto; margin-left: auto; }
#wrap { min-width: 0; overflow: clip; }
.skip:focus { position: fixed; z-index: 11000; background: var(--deep); }
.t1, .t2, .t3, .t4, .t5 { letter-spacing: -.035em; text-wrap: balance; }
.t1 { font-size: clamp(30px, 3.5vw, 48px); }
.t2 { font-size: clamp(27px, 3vw, 38px); }
.t3 { font-size: clamp(21px, 2.2vw, 28px); }
.t4 { font-size: 20px; }
.preview-toolbar strong { font-weight: 600; }

/* The existing dismissible promotion remains available above the header. */
#topAd { background: #083758; transition: none; }
body:has(.main-visual) #topAd { display: none; }
#topAd .w1200 { max-width: 1080px; }
#topAd.off { margin-top: 0; }
#topAd.off .w1200, #topAd.off > .icon-close { display: none; }
.ad-bx-slider { height: auto; }
.ad-bx-slider img { display: block; width: 100%; max-height: 64px; object-fit: contain; }
#topAd .icon-close { top: 10px; right: 12px; width: 44px; height: 44px; background-size: 50px auto; }
#topAd .icon-collapse { right: 16px; z-index: 155; width: 44px; height: 24px; background-color: var(--deep); border-radius: 0 0 6px 6px; }

/* Primary navigation: all existing destinations remain. */
#hd { position: relative; top: auto; min-height: 88px; display: flex; align-items: center; gap: 24px; padding: 0 max(40px, calc((100vw - var(--content)) / 2)); background: var(--deep); color: var(--white); }
#hd::before { display: none; }
#hd.open { z-index: 160; }
.logo { float: none !important; flex-shrink: 0; margin: 0; }
.logo a { display: flex; align-items: center; min-height: 70px; }
.logo img { width: 172px; max-height: 56px; object-fit: contain; }
#gnb { position: static; float: none !important; overflow: visible; flex: 1; height: auto; margin: 0; transition: none; }
.open #gnb { height: auto; }
.gnb { display: flex; justify-content: center; gap: clamp(10px, 1.9vw, 26px); }
.gnb::after { display: none; }
.gnb > li { position: relative; display: flex; align-items: center; float: none; height: 88px; padding: 0; border: 0 !important; }
.gnb > li > a { display: flex; align-items: center; min-width: 0; min-height: 44px; margin: 0; font-size: 15px; font-weight: 500; letter-spacing: -.025em; white-space: nowrap; color: #f4fbff; }
.gnb > li > a:hover { color: var(--water); }
.gnb > li.active > a::after { display: none; }
.gnb > li.active > a { color: var(--water); }
.preview-submenu-toggle { display: flex; align-items: center; justify-content: center; width: 26px; min-height: 44px; margin-left: 2px; border: 0; background: transparent; color: var(--water); }
.preview-submenu-toggle svg { width: 14px; height: 14px; }
.dep2 { position: absolute; z-index: 200; top: calc(100% - 6px); left: -20px; display: none; min-width: 225px; padding: 12px; border-radius: 0 0 12px 12px; background: var(--white); box-shadow: 0 14px 28px rgba(2, 22, 38, .2); }
.dep2 > li { margin: 0; }
.dep2 > li > a { padding: 11px 12px; border-radius: 6px; color: var(--ink); font-size: 14px; line-height: 1.5; }
.dep2 > li > a:hover, .dep2 > li > a:focus-visible { background: #eaf5fa; color: var(--ocean); }
.gnb > li:hover > .dep2, .gnb > li:focus-within > .dep2, .gnb > li.preview-submenu-open > .dep2 { display: block; }
.preview-header-actions { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; }
.preview-menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid #688392; border-radius: 8px; background: transparent; color: var(--white); }

/* Original ocean background and manatee art, with real responsive heading text. */
.main { position: relative; height: auto; margin: 0; padding-bottom: 72px; background-color: #071023; background-image: linear-gradient(90deg, rgba(3, 27, 49, .42), rgba(3, 27, 49, .08) 72%), url('/img/main_bg.jpg'); background-repeat: no-repeat; background-position: center top; background-size: 100% 100%, cover; }
.main-visual { height: auto; padding: 36px 0 56px; }
.main-visual-slider { height: auto; }
.main-visual-slider img { display: block; width: 100%; height: auto; }
/* Text animation wrappers must not push the animal out of its original column. */
.main-visual.preview-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: 24px; min-height: 525px; padding: 70px 0 64px; }
.preview-hero-copy { position: relative; z-index: 2; min-width: 0; padding-bottom: 10px; color: var(--white); }
.preview-hero-copy, #hour-calendar { font-family: 'Noto Sans CJK KR', 'Noto Sans KR', 'Malgun Gothic', 'Microsoft YaHei', Arial, sans-serif; }
.preview-hero-copy *, #hour-calendar * { font-family: inherit; }
.preview-hero-title { margin: 0 0 26px; color: var(--white); line-height: 1.16; letter-spacing: -.025em; text-wrap: balance; }
.preview-hero-title > span { display: block; margin-bottom: 16px; font-size: clamp(20px, 2vw, 26px); font-weight: 400; line-height: 1.5; letter-spacing: .015em; }
.preview-hero-title > strong { display: block; font-family: 'Daegu Jua', 'Noto Sans KR', sans-serif; font-size: clamp(42px, 4.5vw, 64px); font-weight: 400; font-synthesis: none; letter-spacing: -.025em; white-space: nowrap; text-shadow: 0 4px 18px rgba(2, 38, 57, .3); }
html:lang(zh-CN) .preview-hero-title > strong { font-family: 'Daegu HuangYou', 'Microsoft YaHei', sans-serif; font-size: clamp(48px, 5.2vw, 72px); letter-spacing: .025em; }
.preview-hero-description { max-width: 32ch; margin: 0 0 32px; font-size: 16px; line-height: 1.9; color: #e2f2fa; word-break: keep-all; text-wrap: pretty; }
html:lang(zh-CN) .preview-hero-copy { font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', 'PingFang SC', 'Noto Sans SC', sans-serif; letter-spacing: 0; }
html:lang(zh-CN) .preview-hero-description { max-width: 25em; line-height: 1.9; word-break: normal; }
.preview-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.preview-primary-link, .preview-secondary-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 50px; padding: 12px 22px; border-radius: 8px; font-size: 15px; font-weight: 600; transition: background var(--motion), color var(--motion), transform var(--motion); }
.preview-primary-link { color: var(--deep); background: var(--white); }
.preview-primary-link:hover { color: var(--deep); background: var(--water); transform: translateY(-2px); }
.preview-secondary-link { color: var(--white); border: 1px solid #92b7cc; background: rgba(8, 45, 73, .35); }
.preview-secondary-link:hover { background: var(--deep); color: var(--white); }
.preview-hero .main-visual-slider { position: relative; height: auto; aspect-ratio: 560 / 320; margin: 36px 0 0; }
.preview-hero .main-visual-slider .slick-list, .preview-hero .main-visual-slider .slick-track, .preview-hero .main-visual-slider .slick-slide { height: 100%; }
.preview-hero .main-visual-slider a { position: relative; display: block; height: 100%; overflow: hidden; }
.preview-hero .preview-hero-art { position: absolute; inset: 0; overflow: hidden; cursor: default; user-select: none; }
/* The mask uses source-image coordinates so its printed frame stays excluded at every viewport. */
.preview-hero .main-visual-slider img { position: absolute; left: 0; bottom: 0; width: 214.285714%; max-width: none; height: auto; object-fit: fill; clip-path: polygon(0 57.4%, 28.1% 57.4%, 28.1% 61.3%, 29.3% 61.3%, 29.3% 57.4%, 46.67% 57.4%, 46.67% 65.69%, 38.85% 65.69%, 37.65% 67.55%, 46.67% 67.55%, 46.67% 100%, 0 100%); }
.main-visual .icon-scroll { bottom: 12px; width: 36px; height: 48px; margin-left: -18px; background-size: contain; }
.preview-hero .icon-scroll { display: none; }
.preview-visit-links { width: calc(100% - 80px); max-width: var(--content); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 auto 62px; padding: 12px 0; border-top: 1px solid rgba(193, 229, 245, .42); border-bottom: 1px solid rgba(193, 229, 245, .42); }
.preview-visit-links a { --visit-waterline: 0; --visit-trace-opacity: 0; --visit-ring-scale: .78; --visit-ring-rotation: -45deg; position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 26px minmax(0, 1fr) 26px; align-items: center; gap: 14px; min-width: 0; min-height: 68px; padding: 12px 24px; color: var(--white); background: transparent; font-size: 16px; }
.preview-visit-links a + a { border-left: 1px solid rgba(193, 229, 245, .32); }
.visit-link-icon, .visit-link-label, .visit-link-arrow { position: relative; z-index: 3; }
.visit-link-icon, .visit-link-arrow { display: inline-flex; flex: 0 0 auto; color: var(--water); }
.visit-link-icon { isolation: isolate; }
/* Water traces stay local to the icon and lettering; the ocean surface stays continuous. */
.visit-link-icon::before { content: ""; position: absolute; z-index: 0; inset: -8px; pointer-events: none; border: 1px solid rgba(192, 243, 253, .32); border-top-color: rgba(227, 252, 255, .92); border-right-color: rgba(192, 243, 253, .62); border-radius: 50%; opacity: var(--visit-trace-opacity); transform: scale(var(--visit-ring-scale)) rotate(var(--visit-ring-rotation)); }
.visit-link-icon svg { position: relative; z-index: 1; width: 26px; height: 26px; }
.visit-link-label { min-width: 0; justify-self: center; text-align: center; line-height: 1.45; font-weight: 500; word-break: keep-all; overflow-wrap: anywhere; }
.visit-link-label::after { content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 1px; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(194, 247, 255, .75) 22%, #e2fcff 50%, rgba(194, 247, 255, .75) 78%, transparent); opacity: var(--visit-trace-opacity); transform: scaleX(var(--visit-waterline)); transform-origin: 50% 50%; }
.visit-link-arrow { justify-self: end; margin-left: 0; }
.visit-link-arrow svg { width: 19px; height: 19px; }
/* Every ripple is clipped to its link; no moving layer can cover the hero or its copy. */
.interaction-ripple { position: absolute; z-index: 1; display: block; pointer-events: none; border: 1px solid rgba(205, 249, 255, .95); border-radius: 50%; background: radial-gradient(circle, transparent 52%, rgba(153, 239, 252, .3) 74%, rgba(210, 252, 255, .6) 98%); }

/* Events, stories, social posts and directions all retain the original media/links. */
.preview-section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; color: var(--white); }
.preview-section-heading h2 { margin: 0; color: inherit; font-size: 30px; line-height: 1.3; font-weight: 600; letter-spacing: -.03em; }
.preview-section-heading > a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #e3f3fa; font-size: 14px; }
.preview-section-heading > a svg { width: 18px; height: 18px; }
.main-link { width: calc(100% - 80px); max-width: var(--content); height: auto; margin: 0 auto; padding-bottom: 12px; }
.main-link > .preview-section-heading { padding-right: 112px; }
.main-link-slider { position: relative; top: auto; right: auto; width: calc(100% + 20px); margin: 0 -10px; }
.main-link-slider .slick-slide { height: auto; padding: 0 10px; }
.main-link-slider a { display: block; border-radius: var(--radius); overflow: hidden; }
.main-link-slider img { width: 100%; height: auto; }
.main-link-slider .slick-arrow { top: -66px; right: 62px; width: 44px; height: 44px; margin: 0; border: 1px solid #8ab1c7; border-radius: 50%; background-color: rgba(8, 45, 73, .35); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6'%3E%3Cpath d='m14 6-6 6 6 6'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; transition: background var(--motion); }
.main-link-slider .slick-next { right: 10px; margin: 0; transform: rotate(180deg); }
.main-link-slider .slick-arrow:hover { background-color: var(--ocean); }
.preview-motion-toggle { min-height: 36px; margin-left: auto; border: 0; background: transparent; color: #d5edf8; font-size: 12px; text-decoration: underline; text-underline-offset: .25em; }
.main-content { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.24fr); align-items: start; gap: 20px 24px; height: auto; margin: 70px auto; }
.main-content::before, .main-content::after { display: none; }
.main-content > .preview-section-heading { grid-column: 1 / -1; margin-bottom: 4px; }
.main-content.preview-story-gallery { grid-template-columns: minmax(0, 1fr); }
.main-content.preview-story-gallery > .content-link { grid-column: 1 / -1; width: 100%; max-width: none; }
.main-content-slider { overflow: hidden; float: none; width: 100%; height: auto; border-radius: var(--radius); }
.main-content-slider img { width: 100%; height: auto; }
.content-link { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 16px; float: none; width: 100%; border: 0; margin: 0; }
.content-link::before, .content-link::after { display: none; }
.content-link > li { display: flex; float: none; min-width: 0; width: 100%; height: auto; overflow: visible; border: 0; border-radius: var(--radius); padding: 0; box-shadow: var(--story-card-shadow); transition: box-shadow var(--motion); }
.content-link > li > a { --interaction-bg-scale: 1; --interaction-bg-x: 0px; --interaction-bg-y: 0px; position: relative; isolation: isolate; display: flex; width: 100%; overflow: hidden; border: 0; border-radius: inherit; background: #0c354b; color: var(--white); }
/* Unknown original cards remain usable if the upstream content changes. */
.content-link > li > a:not(.preview-story-card) > img { display: block; width: 100%; height: auto; object-fit: contain; }
.content-link > li > a.preview-story-card { background-image: var(--story-photo-image); background-position: var(--story-photo-position, center); background-size: cover; background-repeat: no-repeat; }
.content-link > li > a.preview-story-card::before { content: ""; position: absolute; z-index: 1; inset: 0; display: block; pointer-events: none; background-image: var(--story-photo-image); background-position: var(--story-photo-position, center); background-size: cover; background-repeat: no-repeat; transform: translate(var(--story-card-parallax-x, 0%), var(--story-card-parallax-y, 0%)) scale(var(--story-card-image-scale, 1)); transform-origin: center; }
.content-link .story-card-media { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: var(--story-photo-position, center); transform: none; }
/* This reading layer stays fixed above moving photos and interaction ripples. */
.story-card-shade { position: absolute; z-index: 2; inset: 0; pointer-events: none; opacity: var(--story-card-shade-opacity, 1); background: linear-gradient(180deg, rgba(3, 26, 41, .6) 0%, rgba(3, 26, 41, .6) 32%, rgba(3, 26, 41, .74) 55%, rgba(3, 26, 41, .95) 100%); }
.story-card-content { position: relative; z-index: 3; display: grid; flex: 1; grid-template-columns: minmax(0, 1fr) 20px; grid-template-rows: 1fr auto; gap: 22px 10px; min-width: 0; min-height: 194px; padding: 22px; }
.story-card-icon { grid-column: 1 / -1; display: inline-flex; align-self: start; width: 32px; height: 32px; color: #e2faff; }
.story-card-icon svg { width: 100%; height: 100%; stroke-width: 1.6; }
.story-card-title { align-self: end; min-width: 0; font-size: 18px; font-weight: 600; line-height: 1.45; letter-spacing: -.025em; word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; }
html[lang="zh-CN"] .story-card-title { word-break: normal; }
.story-card-arrow { display: inline-flex; align-self: end; margin-bottom: 4px; color: var(--water); }
.story-card-arrow svg { width: 20px; height: 20px; }
.content-link > li:is(:hover, :focus-within) { box-shadow: var(--story-card-shadow-active); }
.content-link > li > a:focus-visible { outline-offset: 4px; }

/* React Bits AccordionGallery motion, adapted to the source site's four real links. */
.content-link[data-story-accordion] { display: flex; gap: 10px; overflow: hidden; perspective: 1200px; }
.content-link[data-story-accordion] > li { flex: 1 1 0; min-width: 0; min-height: 0; overflow: hidden; border-radius: 14px; }
.content-link[data-story-accordion] > li > .preview-story-card { min-width: 0; min-height: 100%; height: 100%; border: 0; box-shadow: none; transform: none; }
.content-link[data-story-accordion] .story-card-shade { background: linear-gradient(180deg, rgba(2, 24, 40, .12) 0%, rgba(2, 24, 40, .28) 40%, rgba(2, 24, 40, .92) 100%); }
.content-link[data-story-accordion] .story-card-content { will-change: transform, opacity; }
.content-link[data-story-accordion] :is(.story-card-icon, .story-card-title, .story-card-arrow) { text-shadow: 0 2px 12px rgba(0, 14, 27, .88); }
.content-link[data-story-accordion] > li[data-story-active="true"] { box-shadow: var(--story-card-shadow-active); }
.content-link[data-story-accordion] > li[data-story-active="true"] .story-card-shade { background: linear-gradient(180deg, rgba(2, 24, 40, .04) 0%, rgba(2, 24, 40, .12) 46%, rgba(2, 24, 40, .7) 76%, rgba(2, 24, 40, .97) 100%); }
.content-link[data-story-accordion] > li[data-story-active="true"] .story-card-content { grid-template-columns: 36px minmax(0, 1fr) 24px; grid-template-rows: minmax(0, 1fr) auto; align-items: end; gap: 12px; padding: clamp(20px, 2.4vw, 32px); }
.content-link[data-story-accordion] > li[data-story-active="true"] .story-card-icon { grid-column: 1; grid-row: 2; align-self: end; width: 34px; height: 34px; color: #e8fbff; }
.content-link[data-story-accordion] > li[data-story-active="true"] .story-card-title { grid-column: 2; grid-row: 2; align-self: end; color: #fff; font-size: clamp(21px, 2vw, 29px); font-weight: 700; line-height: 1.3; letter-spacing: -.03em; }
.content-link[data-story-accordion] > li[data-story-active="true"] .story-card-arrow { grid-column: 3; grid-row: 2; align-self: end; margin: 0 0 3px; color: #dff9ff; }
.content-link[data-story-accordion] > li:not([data-story-active="true"]) .story-card-arrow { opacity: .45; }
.content-link[data-story-accordion="vertical"] { flex-direction: column; height: 100%; }
.content-link[data-story-accordion="vertical"] > li { min-height: 50px; will-change: flex-grow; }
.content-link[data-story-accordion="vertical"] .story-card-content { grid-template-columns: 32px minmax(0, 1fr) 20px; grid-template-rows: minmax(0, 1fr); align-items: center; gap: 12px; min-height: 0; height: 100%; padding: 13px 18px; }
.content-link[data-story-accordion="vertical"] .story-card-icon { grid-column: auto; align-self: center; width: 28px; height: 28px; }
.content-link[data-story-accordion="vertical"] .story-card-title { align-self: center; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.content-link[data-story-accordion="vertical"] .story-card-arrow { align-self: center; margin: 0; }
.content-link[data-story-accordion="vertical"] > li:not([data-story-active="true"]) .story-card-shade { background: linear-gradient(90deg, rgba(2, 24, 40, .96) 0%, rgba(2, 24, 40, .76) 68%, rgba(2, 24, 40, .9) 100%); }
.content-link[data-story-accordion="horizontal"] { display: flex; height: clamp(340px, 34vw, 460px); }
.main-content.preview-story-gallery > .content-link[data-story-accordion="horizontal"] { width: 100%; min-width: 100%; max-width: none; justify-self: stretch; }
.content-link[data-story-accordion="horizontal"] > li { position: relative; inset: auto; flex-basis: 0; width: auto; min-width: clamp(58px, 7vw, 96px); contain: paint; will-change: flex-grow; }
.content-link[data-story-accordion="horizontal"] > li > .preview-story-card { flex: 1 1 auto; width: 100%; min-width: 0; }
.content-link[data-story-accordion="horizontal"] .story-card-content { min-height: 0; height: 100%; }
.content-link[data-story-accordion="horizontal"] > li[data-story-active="true"] .story-card-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.content-link[data-story-accordion="horizontal"] > li:not([data-story-active="true"]) .story-card-content { display: flex; align-items: center; justify-content: center; width: 100%; padding: 14px 8px; }
.content-link[data-story-accordion="horizontal"] > li:not([data-story-active="true"]) .story-card-icon { align-self: center; width: clamp(30px, 4vw, 38px); height: clamp(30px, 4vw, 38px); }
.content-link[data-story-accordion="horizontal"] > li:not([data-story-active="true"]) :is(.story-card-title, .story-card-arrow) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; }
.content-link[data-story-accordion] > li:not([data-story-active="true"]) .story-card-title { opacity: .8; }
.alive-sns { position: relative; left: auto; width: calc(100% - 80px); max-width: var(--content); height: auto; margin: 0 auto 72px; }
.alive-sns .tit { margin-bottom: 24px; font-size: 28px; font-weight: 500; }
.alive-sns .tit > span { font-size: 28px; font-weight: 600; letter-spacing: -.025em; }
.alive-sns .alive-arrow { display: none; }
.alive-arrow { float: right; margin: 0; }
.alive-arrow::after { display: none; }
.alive-arrow .slick-arrow { width: 44px; height: 44px; margin: 0 0 0 8px; border: 1px solid #86a8be; border-radius: 50%; background-size: 10px auto; }
.alive-arrow .slick-disabled { opacity: .4; cursor: default; }
.alive-sns-slider { height: 248px; border-radius: 12px; }
.alive-sns-slider .slick-slide { padding-right: 16px; width: 264px; }
.alive-sns-slider .tmb { overflow: hidden; border-radius: 12px; }
.alive-sns-slider .tmb::before { z-index: 1; background: linear-gradient(180deg, transparent, rgba(3, 20, 35, .92)); }
.alive-sns-slider [class*=icon-], .alive-sns-slider .txt-line { z-index: 2; }
.alive-sns-slider .txt-line { padding: 0 18px; font-size: 13px; font-weight: 400; }
.map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 0; margin-top: 0; }
.map::before, .map::after { display: none; }
.map > div { float: none; width: 100%; height: auto; border-radius: var(--radius); }
.map > .preview-section-heading { grid-column: 1 / -1; margin-bottom: 0; overflow: visible; border-radius: 0; }
.map img { display: block; width: 100%; height: auto; }
.slick-dots { right: 20px; bottom: 16px; }
.slick-dots button { width: 10px; height: 10px; margin: 5px; }
.slick-dots li { padding: 4px 0; }
.slick-slide a:focus-visible { outline-offset: -4px; }

/* Shared inner-page surface, preserving source content and selectors. */
.page-header { padding: 66px 24px 74px; min-height: 240px; background-color: var(--deep); background-size: cover; background-position: center; }
.page-header::before { top: 0; background-color: rgba(3, 31, 53, .14); }
.page-header .tit, .page-header > p { position: relative; }
.page-header .tit { margin-bottom: 12px; font-size: clamp(30px, 4vw, 44px); letter-spacing: -.035em; }
.page-header > p { font-size: 16px; color: #edf7fc; }
#snb { background: var(--white); border-color: var(--line); }
.snb > li { font-size: 14px; }
.snb .dropdown { width: 240px; border-color: var(--line); }
.snb .dropdown-menu { z-index: 180; }
.dropdown-menu { overflow: hidden; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.dropdown-menu > li > a { padding: 11px 14px; border-radius: 6px; color: var(--ink); font-size: 14px; white-space: normal; }
.dropdown-menu li + li { border: 0; }
.dropdown-menu > li > a:hover { color: var(--ocean); background: #e8f4f8; }
.page-contents { padding: 42px 0 80px; background: var(--paper); color: var(--ink); }
.page-contents > .w1200 { min-width: 0; }
.tab { display: flex; gap: 4px; margin: 0 0 40px; padding: 0; border-bottom: 1px solid var(--line); background: transparent; }
.tab > li { display: block; flex: 1; width: auto; padding: 0; border: 0; background: transparent; }
.tab > li > a { display: flex; justify-content: center; align-items: center; min-height: 56px; padding: 14px 12px; border-bottom: 3px solid transparent; font-size: 15px; font-weight: 500; color: var(--muted); }
.tab > li.active > a { border-color: var(--ocean); color: var(--ocean); background: transparent; }
.tab > li.active > a::after { display: none; }
.tab > li > a:hover { color: var(--ocean); background: #e9f3f7; }
.timetable { display: flex; overflow: hidden; border-radius: var(--radius); background: #074c74; }
.timetable::before, .timetable::after { display: none; }
.timetable > div { float: none; padding: 34px 24px; border: 0; }
.timetable > div:last-child { border-top: 0; background: #096486; }
.timetable .tit { font-size: 25px; }
.timetable .tit::after { height: 2px; margin: 16px auto; }
.timetable p { line-height: 2; font-size: 16px; }
.page-contents .color-primary { color: var(--ocean); }
.page-contents .color-blue { color: #086793 !important; }
.page-contents .color-gray, .page-contents .color-grey { color: var(--muted); }
.time-cal-wrp { min-width: 0; padding: 26px 24px 28px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.time-cal-wrp .calender { min-width: 0; width: 100%; }
.time-cal-wrp .cal-hd { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 12px; height: auto; margin: 0 0 24px; }
.time-cal-wrp .year { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 12px; min-width: 0; padding: 0; color: var(--ink); font-size: 34px; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.time-cal-wrp .year > small { color: var(--muted); font-size: 13px; line-height: 1.3; letter-spacing: .07em; }
.time-cal-wrp [class*=icon-cal] { float: none; width: 44px; height: 44px; margin: 0; border: 1px solid #bad1dc; border-radius: 10px; background-color: #f5fafd; background-size: 20px; background-position: center; transition: background-color var(--motion), border-color var(--motion); }
.time-cal-wrp .icon-cal-prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b557b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 6-6 6 6 6'/%3E%3C/svg%3E"); }
.time-cal-wrp .icon-cal-next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b557b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m10 6 6 6-6 6'/%3E%3C/svg%3E"); }
.time-cal-wrp [class*=icon-cal]:is(:hover, :focus-visible) { background-color: #e2f3f9; border-color: var(--ocean); }
/* A complete week always fits the available width; no minimum-width table or clipped columns. */
.time-cal-wrp .cal-day, .time-cal-wrp .cal-date { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); width: 100%; min-width: 0; border-color: #cbdde5; }
.time-cal-wrp .cal-day::after, .time-cal-wrp .cal-date::after { display: none; }
.time-cal-wrp .cal-day > li, .time-cal-wrp .cal-date > li { float: none; width: auto; min-width: 0; border-color: #cbdde5; }
.time-cal-wrp .cal-day > li { padding: 12px 2px; background: #edf5f8; color: var(--ink); font-size: 14px; font-weight: 500; }
.time-cal-wrp .cal-day > li:first-child { background: #faedf0; color: #a23650; }
.time-cal-wrp .cal-day > li:last-child { background: #e8f3fa; color: #146087; }
.calendar-weekday-short { display: none; }
.time-cal-wrp .cal-date > li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 7px; height: auto; min-height: 92px; padding: 10px 8px; overflow: hidden; color: var(--ink); text-align: center; font-size: 17px; line-height: 1.35; font-variant-numeric: tabular-nums; transition: background-color var(--motion); }
.time-cal-wrp .cal-date > li > span:first-child { display: inline-grid; place-items: center; float: none; width: 28px; height: 28px; margin: 0; padding: 0; }
.time-cal-wrp .time { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 3px; float: none; min-width: 0; max-width: 100%; margin: 0; color: #385f73; font-size: 13px; font-weight: 500; line-height: 1.35; letter-spacing: 0; overflow-wrap: anywhere; }
.time-cal-wrp .time::before { content: ""; width: 5px; height: 5px; flex: 0 0 5px; border: 1px solid currentColor; border-radius: 50%; opacity: .72; }
.calendar-time-start, .calendar-time-end { white-space: nowrap; }
.time-cal-wrp .calendar-schedule-empty { background: #fff; }
.time-cal-wrp .calendar-schedule-standard { background: #eef4f7; }
.time-cal-wrp .calendar-schedule-standard .time { color: #315d72; }
.time-cal-wrp .calendar-schedule-late { background: #cfeaf2; }
.time-cal-wrp .calendar-schedule-late .time { color: #005b76; font-weight: 650; }
.time-cal-wrp .calendar-schedule-late .time::before { background: currentColor; }
.time-cal-wrp .calendar-schedule-other { background: #e2ecf1; }
.time-cal-wrp .calendar-schedule-event { background: #ffe2d8; }
.time-cal-wrp .cal-date > li.calendar-same-time-next { border-right-color: transparent; }
.time-cal-wrp .cal-date > li.calendar-same-time-prev { border-left-color: transparent; }
.time-cal-wrp .cal-date > li:nth-child(7n+1) { color: #a23650; }
.time-cal-wrp .cal-date > li:nth-child(7n) { color: #146087; }
.time-cal-wrp .today.today { background: #bfe2ec; color: var(--ink); box-shadow: inset 0 0 0 2px rgba(11, 85, 123, .3); }
.time-cal-wrp .today > span:first-child { padding: 0; border-radius: 50%; background: var(--ocean); color: #fff; }
.time-cal-wrp .today .time { color: #174e67; }
.time-cal-wrp .closed { background: #fff3ef; }
.time-cal-wrp [class*=color-e-] { width: auto; max-width: 100%; min-width: 0; margin: 0; padding: 3px 8px; border-radius: 6px; font-size: 12px; line-height: 1.35; word-break: normal; overflow-wrap: anywhere; }
.time-cal-wrp .color-e-red { background: #b53c29; }
.time-cal-wrp .color-e-blue { background: #14638f; }
.time-cal-wrp .color-e-yellow { background: #597814; }
.time-cal-wrp .color-e-black { background: #744da6; }
.time-cal-wrp .color-e-gray { background: #8b5209; }
@media (max-width: 960px) {
  .time-cal-wrp { padding: 20px 16px 22px; }
  .time-cal-wrp .cal-date > li { min-height: 86px; padding: 9px 4px; gap: 6px; }
  .calendar-weekday-full { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .calendar-weekday-short { display: inline; }
}
.tb, .tb-charge { color: var(--ink); }
.tb th, .tb td { padding: 18px 12px; }
.page-contents table { max-width: 100%; }
.tb-basic, .tb-list { background: var(--white); }
.notify td { background: #e9f4fa; }
.tr-q { background: var(--white); }
.tr-q td { line-height: 1.7; }
.tr-q a { display: block; min-height: 44px; padding: 10px 42px 10px 0; color: var(--ink); white-space: normal; overflow: visible; text-overflow: clip; text-align: left; }
.tr-q a::after { right: 8px; width: 20px; background-size: 20px auto; background-repeat: no-repeat; }
.tr-q.open { background: #e8f4fa; }
.tr-a td { line-height: 1.85; background: #f0f7fa; color: var(--muted); }
input[type=text], input[type=search], select { min-height: 44px; padding: 9px 12px; border: 1px solid #b7ccd8; border-radius: 6px; background: var(--white); color: var(--ink); }
input::placeholder { color: #557080; }
.srch, .search { margin-top: 28px; }
.srch form { display: flex; justify-content: flex-end; gap: 8px; width: 100%; }
.srch .itx { flex: 0 0 110px; width: 110px; border: 1px solid #b7ccd8; border-radius: 6px; }
.srch .input-group-wrp { flex: 0 1 360px; width: auto; min-width: 0; margin-left: 0; }
.srch .input-group-wrp::before, .srch .input-group-wrp::after { display: none; }
.srch .input-group { display: flex; width: 100%; gap: 8px; }
.srch .input-group .form-control { flex: 1; width: 100%; min-width: 0; border: 1px solid #b7ccd8; border-radius: 6px; }
.srch .input-group-btn { display: flex; flex: 0 0 auto; width: auto; }
.srch .input-group-btn .btn { width: 76px; margin-left: 0; }
.btn { min-height: 44px; border-radius: 7px; }
.pagination { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: center; }
.pagination > li > a:not([class*=icon-]) { min-width: 36px; margin: 0; padding: 7px; border-radius: 7px; color: var(--muted); }
.pagination > li.active > a { background: var(--ocean) !important; color: var(--white); }
.lst-evt .media { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(0, 1.7fr); gap: 30px; align-items: center; }
.lst-evt .media-left { display: block; padding: 0; }
.lst-evt .media-body { display: block; width: auto; padding: 0; }
.lst-evt .tmb { overflow: hidden; border-radius: 12px; }
.lst-evt .tmb img { width: 100%; height: auto; }
.lst-basic-blue { border-top: 1px solid var(--line); }
.lst-basic-blue > li:last-child { border-bottom: 1px solid var(--line); }
[class*=lst-basic] > li { padding: 28px 0; border-color: var(--line); }
.dsc-evt { font-size: 14px; color: var(--muted); }
.dsc-evt dt { font-size: 14px; }
.dsc-evt dt::before { margin-left: 0; }
.label.evt { padding: 6px 10px; width: auto; font-size: 13px; }
.view-hd .title { width: auto; max-width: 760px; padding: 0 24px; font-size: clamp(25px, 3vw, 36px); letter-spacing: -.035em; }
.view { margin-top: 32px; padding: 42px 0 64px; border-color: var(--line); line-height: 1.9; font-size: 17px; }
.view img { height: auto !important; }
.view p { max-width: 100%; }
.dsc-view dd { font-size: 14px; color: var(--muted); }
.view-left.view-left, .view-right.view-right { position: static; display: inline-block; margin: 0 12px 20px; }
.view-hd .playtime { position: static; width: auto; }
[class*=lst-gallery] { margin: 0 -12px; }
[class*=lst-gallery] > li { padding: 0 12px 44px; }
.lst-gallery-round .tmb { width: min(100%, 290px); height: auto; aspect-ratio: 1; margin: 0 auto; }
.friend .t2 { margin: 0 0 15px; }
.friend > img { max-width: 100%; height: auto; }
.friend-list { display: flex; flex-wrap: wrap; gap: 14px; padding-top: 32px; border-top: 1px solid var(--line); }
.friend-list > li { float: none; width: calc(16.666% - 12px); padding: 0 0 20px; font-size: 15px; }
.friend-list .tmb { width: 100%; height: auto; aspect-ratio: 1; border-width: 3px; }
.dsc-info { display: flex; flex-wrap: wrap; }
.dsc-info > li { padding-bottom: 30px; }
.info .txt { padding: 24px 0 54px; }
.alert-bx { padding: 34px 34px 34px 300px; background-position: 60px center; }
.alert-bx::after { left: 255px; }
.group-viewing > div { height: auto; min-height: 320px; }
.convenience .media-body { padding-top: 24px; }
.convenience .tit { font-size: 28px; }
.preview-table-scroll { max-width: 100%; overflow-x: auto; }

/* Existing quick tabs/dropdowns are restyled, not reimplemented. */
.quick { --quick-edge: 24px; --quick-size: 60px; z-index: 300; top: auto; right: 24px; bottom: max(var(--quick-edge), var(--quick-footer-clearance, 0px)); width: var(--quick-size); margin: 0; padding: 0; border-radius: 50%; background: var(--water); color: var(--deep); box-shadow: 0 10px 28px rgba(2, 22, 38, .24); transition: none; }
.quick.opened { display: flex; flex-direction: column; bottom: var(--quick-edge); width: 360px; max-height: max(0px, min(calc(100dvh - var(--quick-edge) - var(--quick-edge)), calc(var(--quick-panel-space, 100dvh) - var(--quick-edge)))); margin: 0; overflow: hidden; border-radius: 16px; background: #082d49; color: #d9edf7; }
.quick.opened::before, .quick.opened::after { display: none; }
.quick[data-quick-draggable]:not(.opened) { top: 0; left: 0; right: auto; bottom: auto; }
.quick[data-quick-draggable]:not(.opened) .tit > a { cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-user-drag: none; }
.quick[data-quick-dragging]:not(.opened) { will-change: transform; box-shadow: 0 14px 32px rgba(2, 22, 38, .32); }
.quick[data-quick-dragging]:not(.opened) .tit > a { cursor: grabbing; background: #e5faff; }
.quick[data-quick-tab-transition="true"] .tab-content { overflow: hidden; }
.quick[data-quick-tabs-ready] .tab-content { position: relative; }
@media (min-width: 960px) {
  .quick { --quick-size: 76px; }
  .quick:not(.opened) .quick-cart-icon svg { width: 32px; height: 32px; }
}
.quick .tit { float: none; width: 100%; margin: 0; background: transparent; font-size: 15px; line-height: 1.5; }
.quick .tit > a { display: flex !important; align-items: center; justify-content: center; min-height: var(--quick-size); padding: 0; border-radius: 50%; color: var(--deep); transition: background-color .2s ease; }
.quick .quick-cart-icon, .quick .quick-close-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.quick .quick-cart-icon { transition: transform .24s cubic-bezier(.16, 1, .3, 1); }
.quick .quick-cart-icon svg { width: 26px; height: 26px; }
.quick .quick-close-icon, .quick:not(.opened) .quick-label { display: none; }
.quick:not(.opened) .tit > a:hover { background: #e5faff; }
.quick:not(.opened) .tit > a:hover .quick-cart-icon { transform: translateY(-2px) rotate(-5deg); }
.quick:not(.opened) .tit > a:active .quick-cart-icon { transform: scale(.9); }
.quick.opened .tit { flex: 0 0 auto; }
.quick.opened .tit > a { justify-content: flex-start; gap: 10px; min-height: 60px; padding: 12px 16px; border-radius: 16px 16px 0 0; color: var(--white); }
.quick.opened .tit > a:focus-visible { outline-offset: -4px; }
.quick.opened .quick-label { flex: 1; min-width: 0; text-align: left; font-weight: 600; }
.quick.opened .quick-cart-icon svg { width: 22px; height: 22px; }
.quick.opened .quick-close-icon { display: inline-flex; width: 32px; height: 32px; margin-left: auto; border-radius: 50%; background: #153c56; color: var(--water); transition: background-color .2s ease; }
.quick.opened .tit > a:hover .quick-close-icon { background: #23526e; }
.quick.opened .quick-close-icon svg { width: 20px; height: 20px; }
.quick:not(.opened) > .quick-menu, .quick:not(.opened) > .tab-content, .quick:not(.opened) > .icon-quick-top { display: none; }
.quick-menu { display: flex; flex: 0 0 auto; gap: 4px; float: none; width: calc(100% - 32px); margin: 0 16px 4px; padding: 4px; border: 0; border-radius: 10px; background: #061f33; }
.quick-menu > li { flex: 1; width: auto; min-width: 0; }
.quick-menu [class*=icon-quick] { display: flex; align-items: center; justify-content: center; gap: 7px; width: auto; height: auto; min-height: 44px; padding: 8px 10px; border: 0 !important; border-radius: 7px; background-image: none; background-color: transparent; color: #bfd9e8; text-indent: 0; font-size: 13px; line-height: 1.4; transition: background-color .2s ease, color .2s ease; }
.quick-menu .active > a { background-color: var(--water); color: var(--deep); font-weight: 600; }
.quick-menu > li:not(.active) > a:hover { background-color: #16415c; color: var(--white); }
.quick-tab-icon, .quick-dropdown-icon, .quick-option-icon, .quick-guide-icon, .quick-top-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; }
.quick-tab-icon svg { width: 17px; height: 17px; }
.opened .quick-menu .active > a::after { display: none; }
.quick .tab-content { flex: 1 1 auto; float: none; width: 100%; min-height: 0; max-height: min(58dvh, 480px); overflow: auto; overscroll-behavior: contain; margin: 0; scrollbar-width: thin; scrollbar-color: #48728b #082d49; }
.quick .wrp { padding: 16px 20px; }
.quick-buy1, .quick-buy2, .quick-guide .wrp, .quick .tel-wrp { background: transparent; }
.quick .tab-pane > .wrp + .wrp { border-top: 1px solid rgba(174, 216, 237, .14); }
.quick .quick-tit { display: flex; align-items: center; gap: 12px; min-height: 42px; margin: 0 0 12px; padding: 0; background: none; color: #f1f9fd; font-size: 14px; font-weight: 500; line-height: 1.5; }
.quick-product-label { min-width: 0; }
.quick-product-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; background: #15405a; color: var(--water); }
.quick-product-icon svg { width: 23px; height: 23px; }
.quick .dropdown > a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; border: 1px solid #497089; border-radius: 8px; background: #123b55; color: var(--white); font-size: 13px; font-weight: 500; line-height: 1.5; white-space: normal; transition: background-color .2s ease, border-color .2s ease; }
.quick .dropdown > a::after { display: none; }
.quick .dropdown > a:hover, .quick .dropdown.open > a { border-color: #9dddea; background: #194b66; }
.quick-dropdown-icon { margin-left: auto; color: var(--water); transition: transform .22s ease; }
.quick-dropdown-icon svg { width: 18px; height: 18px; }
.quick .dropdown.open .quick-dropdown-icon { transform: rotate(180deg); }
.quick .dropdown-menu { position: static; float: none; width: 100%; min-width: 0; margin: 6px 0 0; padding: 4px; border: 0; border-radius: 8px; background: #061f33; box-shadow: none; }
.quick .dropdown-menu > li > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 12px; border-radius: 5px; background: transparent !important; color: #d6eaf5; font-size: 13px; line-height: 1.5; white-space: normal; }
.quick .dropdown-menu > li > a:hover { background: #17465f !important; color: var(--white); }
.quick-dropdown-reveal { display: flow-root; overflow: hidden; }
.quick-dropdown-reveal[hidden] { display: none !important; }
.quick .quick-dropdown-reveal > .dropdown-menu { display: block; }
.quick [data-quick-menu-ready] .quick-dropdown-icon { transition: none; }
.quick .quick-dropdown-reveal a { transition: background-color .2s ease, color .2s ease; }
.quick-option-icon { color: #8dcadc; }
.quick-option-icon svg { width: 16px; height: 16px; }
.quick-guide .title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; color: #f1f9fd; font-size: 14px; font-weight: 600; }
.quick-guide-icon { color: var(--water); }
.quick-guide-icon svg { width: 19px; height: 19px; }
.quick .dsc-time { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 10px; margin: 0; font-size: 12px; line-height: 1.7; }
.quick .dsc-time dt, .quick .dsc-time dd { float: none; width: auto; margin: 0; }
.quick .dsc-time .color-blue { color: #bbddeb; }
.quick .dsc-time dt:last-child { grid-column: 1 / -1; margin-top: 5px; color: #a7c4d6; font-size: 11px; font-weight: 400; }
.quick .dsc-time dd > span { font-size: inherit; }
.quick .tel-wrp .color-wh { margin-bottom: 6px; font-size: 24px; font-weight: 600; }
.quick .tel-wrp > p:last-child { margin: 0; color: #b4cfdf; font-size: 12px; line-height: 1.8; }
.quick .icon-quick-top { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 6px; float: none; width: 100%; height: auto; min-height: 44px; margin: 0; padding: 8px 12px; border-top: 1px solid rgba(174, 216, 237, .14); background: #07263d; color: #b7d5e5; font-size: 11px; line-height: 1.5; text-indent: 0; }
.quick .icon-quick-top:hover { background: #123d55; color: var(--white); }
.quick-top-icon svg { width: 14px; height: 14px; }

/* Shared footer keeps all business/contact/social/family links. */
#ft { padding-top: 0; background: #071f34; text-align: center; }
/* Hide the removed purchase block immediately, before progressive enhancement initializes. */
#ft > a.btn.bg-blue { display: none; }
.footer { display: flex; flex-direction: column; align-items: center; padding: 24px max(32px, calc((100vw - var(--content)) / 2)); background: #07243b; color: #c5dce9; font-size: 13px; line-height: 1.9; text-align: center; }
.footer::before { display: none; }
.footer .social.list-float { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; width: 100%; margin: 0 0 16px; padding: 0; list-style: none; }
.footer .social.list-float::after { display: none; content: none; }
.footer .social.list-float > li { float: none; flex: 0 0 auto; margin: 0; padding: 0; }
.footer .social a { display: block; min-width: 44px; min-height: 44px; margin: 0; }
.footer > p { max-width: 100%; margin: 0; overflow-wrap: anywhere; text-align: center; }
#familysite { position: relative; inset: auto; width: 200px; max-width: 100%; margin: 16px auto 0; }
#familysite .dropdown-toggle { display: flex; align-items: center; justify-content: center; gap: 10px; height: 44px; border: 1px solid #3d647e; border-radius: 7px; background: #0b314d; color: #ecf7fd; text-align: center; }
#familysite .dropdown-toggle i { float: none; margin-top: 0; }
#familysite .dropdown-menu { top: auto; right: 0; bottom: calc(100% + 4px); left: 0; min-width: 0; text-align: center; }

/* Original announcements: same content, independent close controls, accessible focus. */
.preview-notices-open { overflow: hidden; }
.preview-notice-layer { position: fixed; z-index: 10020; inset: 0; display: flex; align-items: center; justify-content: center; padding: 64px 24px 24px; background: rgba(3, 21, 37, .76); }
.preview-notice-panel { width: min(1060px, 100%); max-height: calc(100dvh - 96px); overflow: auto; padding: 24px; border-radius: 16px; background: var(--paper); box-shadow: 0 20px 60px rgba(0, 12, 26, .3); }
.preview-notice-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; color: var(--ink); }
.preview-notice-bar h2 { font-size: 23px; font-weight: 600; }
.preview-notice-close { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 12px; border: 1px solid #b8cfdc; border-radius: 7px; background: var(--white); color: var(--ink); font-size: 14px; }
.preview-notice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 18px; }
.noticePop.preview-notice-card { position: relative !important; inset: auto !important; z-index: auto !important; width: auto; margin: 0; border-radius: 10px; overflow: hidden; }
.noticePop.preview-notice-card table { width: 100%; border: 0; border-collapse: collapse; }
.noticePop.preview-notice-card td { padding: 0; border: 0; }
.noticePop.preview-notice-card img { display: block; width: 100%; height: auto; max-height: 352px; object-fit: contain; background: #e9f2f6; }
.noticePop.preview-notice-card td[bgcolor] { background: var(--deep); padding: 10px 4px 10px 8px; font-size: 11px; }
.noticePop.preview-notice-card font { font-size: 11px; line-height: 1.5; }
.noticePop.preview-notice-card input { width: 16px; height: 16px; margin: 0 4px 0 0; vertical-align: middle; accent-color: #147195; }
.preview-notice-today { display: flex; align-items: center; gap: 5px; min-height: 44px; margin: 0; cursor: pointer; font-weight: 400; }
.noticePop.preview-notice-card td[width] { width: 44px; background: var(--deep); }
.noticePop.preview-notice-card .closePop { display: flex; width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--white); background: var(--deep); }

@media (min-width: 1700px) {
  .main { background-size: 100% 100%, 100% auto; }
  .main-visual.preview-hero { min-height: 590px; }
}
@media (max-width: 1120px) {
  #hd { gap: 20px; padding-right: 28px; padding-left: 28px; }
  .logo img { width: 145px; }
  .gnb { gap: 12px; }
  .gnb > li > a { font-size: 13px; }
  .preview-submenu-toggle { width: 20px; }
  .preview-hero-title > strong { font-size: 48px; }
  .preview-visit-links a { padding-right: 20px; padding-left: 20px; font-size: 15px; }
}
@media (max-width: 960px) {
  .w1200, .main-link, .alive-sns, .preview-visit-links { width: calc(100% - 48px); }
  #hd { min-height: 76px; justify-content: space-between; padding: 0 24px; gap: 18px; }
  .logo img { width: 155px; }
  .logo a { min-height: 70px; }
  .preview-menu-toggle { display: flex; }
  #gnb { position: absolute; top: 100%; left: 0; right: 0; display: none; max-height: calc(100dvh - 120px); overflow-y: auto; margin: 0; padding: 16px 24px 24px; background: var(--deep); border-top: 1px solid #365c74; }
  #hd.preview-menu-open #gnb { display: block; }
  .gnb { display: block; }
  .gnb > li { display: grid; grid-template-columns: 1fr 44px; height: auto; padding: 6px 0; border-bottom: 1px solid #365c74 !important; }
  .gnb > li > a { min-height: 48px; font-size: 16px; }
  .preview-submenu-toggle { width: 44px; min-height: 44px; }
  .preview-submenu-toggle svg { width: 18px; height: 18px; }
  .dep2 { position: static; grid-column: 1 / -1; display: none; min-width: 0; padding: 6px 0 12px; border-radius: 0; box-shadow: none; background: transparent; }
  .gnb > li:hover > .dep2, .gnb > li:focus-within > .dep2 { display: none; }
  .gnb > li.preview-submenu-open > .dep2 { display: block; }
  .dep2 > li > a { padding: 11px 16px; color: #d5e9f5; font-size: 14px; }
  .dep2 > li > a:hover { color: var(--white); background: #124562; }
  .main-visual.preview-hero { grid-template-columns: minmax(0, 1.08fr) minmax(0, .9fr); gap: 8px; min-height: 440px; padding: 50px 0; }
  .preview-hero-title > strong { font-size: 40px; }
  .preview-hero-title > span { font-size: 25px; }
  .preview-hero-description { font-size: 14px; }
  .preview-hero .main-visual-slider { margin-top: 0; }
  .preview-hero-actions { gap: 10px; }
  .preview-primary-link, .preview-secondary-link { min-height: 46px; gap: 12px; padding: 11px 15px; font-size: 14px; }
  .preview-visit-links { margin-bottom: 44px; padding: 14px 0; }
  .preview-visit-links a { gap: 9px; padding: 4px 14px; font-size: 14px; }
  .preview-visit-links .visit-link-arrow { display: none; }
  .main-content { margin: 54px auto; gap: 20px; }
  .content-link { gap: 12px; }
  .alive-sns { margin-bottom: 52px; }
  .main { padding-bottom: 52px; }
  .page-contents { padding-top: 30px; }
  .tab { flex-wrap: wrap; gap: 0; }
  .tab > li { flex: 1 0 30%; }
  .tab > li > a { min-height: 48px; padding: 10px; font-size: 14px; }
  .friend-list > li { width: calc(25% - 11px); }
  .media-left { padding-right: 24px; }
  .alert-bx { padding: 28px; background-image: none; }
  .alert-bx::after { display: none; }
  .two-block dd:nth-of-type(odd) { min-width: 0; }
  .two-block dd { float: none; }
  .preview-notice-panel { padding: 20px; }
  .preview-notice-grid { gap: 12px; }
}
@media (min-width: 1101px) {
  /* Keep the source artwork complete; both columns share its natural aspect-ratio row. */
  .main-content-slider.slick-initialized { position: relative; align-self: stretch; min-height: 0; aspect-ratio: 507 / 387; background: #0c354b; }
  .main-content-slider.slick-initialized .slick-list { position: absolute; inset: 0; height: 100%; }
  .main-content-slider .slick-track, .main-content-slider .slick-slide, .main-content-slider .slick-slide > a { height: 100%; }
  .main-content-slider .slick-slide > a { display: block; }
  .main-content-slider .slick-slide img { height: 100%; object-fit: contain; }
  .main-content > .content-link { align-self: stretch; }
  .story-card-content { min-height: 0; }
}
@media (min-width: 621px) and (max-width: 1100px) {
  /* Keep the original story carousel and the four entry cards comfortably sized. */
  .main-content { grid-template-columns: minmax(0, 1fr); }
  .main-content-slider { max-width: 507px; justify-self: center; }
  .content-link { max-width: 760px; justify-self: center; }
}
@media (max-width: 620px) {
  html { scroll-padding-top: 80px; }
  .w1200, .main-link, .alive-sns, .preview-visit-links { width: calc(100% - 36px); }
  #topAd .w1200 { width: calc(100% - 42px); margin-left: 8px; }
  #topAd .icon-close { top: 0; right: 2px; width: 30px; height: 30px; background-size: 38px auto; }
  #hd { min-height: 70px; padding: 0 18px; }
  .logo img { width: 136px; }
  .preview-header-actions { gap: 8px; }
  .preview-menu-toggle { width: 42px; height: 42px; }
  #gnb { padding: 12px 18px 20px; }
  .main { background-size: 100% 100%, auto 2800px; background-position: center top; }
  .main-visual.preview-hero { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-height: 0; padding: 44px 0 0; }
  .preview-hero-copy { container-type: inline-size; width: 100%; max-width: none; margin-inline: auto; padding: 0; text-align: center; }
  .preview-hero-title { margin-bottom: 22px; }
  .preview-hero-title > span { margin-bottom: 14px; font-size: 17px; line-height: 1.45; letter-spacing: .01em; }
  /* Size each title against its actual column, keeping a small inset without stretching glyphs. */
  .preview-hero-title > strong { font-size: clamp(36px, 17.8cqi, 104px); line-height: 1.16; white-space: normal; text-wrap: balance; }
  html:lang(zh-CN) .preview-hero-title > strong { font-size: clamp(48px, 24.4cqi, 140px); }
  .preview-hero-description { max-width: 30ch; margin: 0 auto 28px; font-size: 15px; line-height: 1.85; text-wrap: balance; }
  html:lang(zh-CN) .preview-hero-description { max-width: 18em; }
  .preview-hero-actions { display: flex; justify-content: center; gap: 10px; width: fit-content; max-width: 100%; margin-inline: auto; }
  .preview-hero-actions > a { min-width: 0; min-height: 44px; padding: 10px 14px; justify-content: center; font-size: 14px; line-height: 1.4; white-space: nowrap; }
  .preview-primary-link { gap: 10px; }
  .preview-primary-link > svg { width: 18px; height: 18px; }
  .preview-hero .main-visual-slider { flex: none; width: 100%; height: auto; aspect-ratio: 560 / 320; margin: 10px 0 0; }
  .preview-visit-links { gap: 0; margin-bottom: 40px; padding: 10px 0; }
  .preview-visit-links a { display: flex; flex-direction: column; justify-content: center; gap: 9px; min-height: 88px; padding: 10px 6px; text-align: center; }
  .visit-link-icon svg { width: 24px; height: 24px; }
  .visit-link-label { font-size: 13px; line-height: 1.4; }
  .preview-section-heading { gap: 10px; margin-bottom: 22px; }
  .preview-section-heading h2 { font-size: 24px; }
  .preview-section-heading > a { gap: 7px; min-height: 36px; font-size: 12px; }
  .main-link > .preview-section-heading { padding-right: 104px; }
  .main-link > .preview-section-heading > a { display: none; }
  .preview-motion-toggle { margin-left: 0; font-size: 11px; padding: 0; }
  .main-link-slider .slick-arrow { top: -63px; width: 42px; height: 42px; }
  .main-link-slider .slick-prev { right: 60px; }
  .main-content { display: block; margin: 42px auto; }
  .main-content > .preview-section-heading { margin-bottom: 20px; }
  .main-content-slider { margin-bottom: 18px; }
  /* Selectable titles wrap naturally; four entries now fit in two compact rows. */
  .content-link { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: none; margin-inline: auto; }
  .content-link[data-story-accordion="vertical"] { height: clamp(520px, 145vw, 620px); }
  .content-link[data-story-accordion="vertical"] > li { min-height: 44px; }
  .content-link[data-story-accordion="vertical"] .story-card-content { grid-template-columns: 28px minmax(0, 1fr) 18px; gap: 9px; padding: 11px 13px; }
  .content-link[data-story-accordion="vertical"] .story-card-icon { width: 25px; height: 25px; }
  .content-link[data-story-accordion="vertical"] .story-card-title { color: #f2fbff; font-size: 16px; font-weight: 650; }
  .content-link[data-story-accordion="vertical"] > li[data-story-active="true"] .story-card-content { grid-template-columns: 32px minmax(0, 1fr) 22px; padding: 18px 18px 22px; }
  .content-link[data-story-accordion="vertical"] > li[data-story-active="true"] .story-card-icon { width: 30px; height: 30px; }
  .content-link[data-story-accordion="vertical"] > li[data-story-active="true"] .story-card-title { white-space: normal; overflow: visible; text-overflow: clip; font-size: 22px; }
  .story-card-content { grid-template-columns: minmax(0, 1fr) 16px; gap: 16px 5px; min-height: 148px; padding: 14px; }
  .story-card-icon { width: 28px; height: 28px; }
  .story-card-title { font-size: 14px; line-height: 1.45; letter-spacing: -.02em; }
  .story-card-arrow { margin-bottom: 3px; }
  .story-card-arrow svg { width: 16px; height: 16px; }
  .alive-sns { margin-bottom: 42px; }
  .alive-sns .tit, .alive-sns .tit > span { font-size: 21px; }
  .alive-arrow .slick-arrow { width: 36px; height: 36px; margin-left: 6px; }
  .alive-sns-slider, .alive-sns-slider .tmb { height: 220px; }
  .alive-sns-slider .tmb { width: 220px; }
  .alive-sns-slider .slick-slide { width: 236px; }
  .map { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .map > .preview-section-heading { grid-column: auto; }
  .main { padding-bottom: 40px; }
  .page-header { padding: 48px 18px 52px; min-height: 200px; }
  .page-header .tit { font-size: 32px; }
  .page-header > p { font-size: 14px; }
  .snb.w1200 { display: flex; width: 100%; }
  .snb > li { min-width: 0; font-size: 12px; line-height: 50px; }
  .snb .icon-home { width: 44px; height: 50px; background-size: 50px auto; padding: 0; }
  .snb .dropdown { flex: 1; width: auto; }
  .snb a { padding: 0 28px 0 12px; }
  .snb .dropdown > a::after { right: 8px; width: 14px; background-size: 14px auto; }
  .snb .dropdown-menu { min-width: 190px; }
  .page-contents { padding: 24px 0 48px; }
  .tab { margin-bottom: 26px; }
  .tab > li > a { padding: 10px 5px; font-size: 12px; }
  .timetable { display: block; }
  .timetable > div { width: 100%; padding: 25px 18px; }
  .timetable .tit { font-size: 22px; }
  .timetable p { font-size: 15px; }
  .time-cal-wrp { margin-top: 28px; padding: 18px 8px 16px; }
  .time-cal-wrp .year { flex-direction: column; align-items: center; gap: 4px; font-size: 27px; }
  .time-cal-wrp .year > small { font-size: 11px; }
  .time-cal-wrp .cal-hd { gap: 8px; margin-bottom: 18px; }
  .time-cal-wrp .cal-date > li { min-height: 74px; padding: 6px 2px; gap: 4px; font-size: 14px; }
  .time-cal-wrp .cal-day > li { padding: 10px 1px; font-size: 12px; }
  .time-cal-wrp .time { display: grid; gap: 0; font-size: clamp(9px, 2.65vw, 11px); line-height: 1.15; }
  .time-cal-wrp .time::before { display: none; }
  .time-cal-wrp .calendar-time-separator { display: grid; place-items: center; height: 6px; font-size: 0; }
  .time-cal-wrp .calendar-time-separator::after { content: ""; width: 8px; height: 1px; background: currentColor; opacity: .55; }
  .time-cal-wrp .cal-date > li > span:first-child { width: 24px; height: 24px; }
  .time-cal-wrp [class*=color-e-] { padding: 2px 1px; font-size: clamp(10px, 2.6vw, 12px); line-height: 1.3; letter-spacing: -.02em; }
  .tb { font-size: 13px; }
  .tb th, .tb td { padding: 13px 6px; }
  .tb .icon-notify { width: 21px; height: 21px; margin: -2px 4px -4px 0; background-size: contain; }
  .tr-q a { font-size: 14px; line-height: 1.65; }
  #accordion col:first-child { width: 44px !important; }
  #accordion th, #accordion td { padding-right: 8px; padding-left: 8px; }
  #accordion th { font-size: 14px; }
  .preview-data-table, .preview-data-table tbody { display: block; width: 100%; }
  .preview-data-table colgroup { display: none; }
  .preview-data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .preview-data-table tbody tr { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 18px 12px; border-bottom: 1px solid var(--line); background: var(--white); }
  .preview-data-table tbody tr.notify { background: #eaf4fa; }
  .preview-data-table tbody td { display: block; padding: 0; border: 0; background: transparent; text-align: left; }
  .preview-data-table tbody td:nth-child(1) { grid-area: 1 / 2; font-size: 12px; color: var(--muted); }
  .preview-data-table tbody td:nth-child(2) { grid-area: 1 / 1; font-size: 12px; color: var(--ocean); }
  .preview-data-table tbody td:nth-child(3) { grid-area: 2 / 1 / 3 / 3; font-size: 15px; }
  .preview-data-table tbody td:nth-child(3) a { display: block; min-height: 44px; padding: 5px 0; white-space: normal; line-height: 1.65; }
  .preview-data-table tbody td:nth-child(4) { grid-area: 3 / 1 / 4 / 3; font-size: 12px; color: var(--muted); }
  .preview-data-table tbody td:nth-child(4)::before { content: attr(data-label) ' · '; }
  .tr-a td { font-size: 14px; padding: 18px 10px !important; }
  form select { max-width: 100%; font-size: 13px; }
  input[type=text], input[type=search] { max-width: 100%; font-size: 14px; }
  .srch, .search, .srch-wrp { display: flex; flex-wrap: wrap; gap: 8px; }
  .srch input, .search input { flex: 1; min-width: 100px; width: auto; }
  .srch .itx { flex-basis: 82px; width: 82px; padding-right: 4px; padding-left: 8px; }
  .srch .input-group-wrp { flex: 1; }
  .srch .input-group-btn .btn { width: 60px; padding: 8px; font-size: 13px; }
  .srch .icon-srch { display: none; }
  .pagination { gap: 0; }
  .pagination > li > a[class*=icon-] { width: 30px; background-size: contain; }
  .pagination .icon-prev { margin-right: 3px !important; }
  .pagination .icon-next { margin-left: 3px !important; }
  .pagination > li > a:not([class*=icon-]) { width: 30px; min-width: 30px; font-size: 14px; }
  .lst-evt .media { display: block; }
  .lst-evt .media-left { margin-bottom: 18px; }
  .lst-evt .t3 { font-size: 21px; }
  .dsc-evt dt, .dsc-evt dd { font-size: 12px; }
  .dsc-evt dt::after { margin-right: 10px; margin-left: 10px; }
  .view-hd .title { padding: 0; font-size: 26px; }
  .view { padding-top: 28px; padding-bottom: 36px; font-size: 15px; }
  .dsc-view dd { font-size: 12px; }
  .dsc-view dd:not(:last-child)::after { margin-right: 8px; margin-left: 8px; }
  .view-left.view-left, .view-right.view-right { height: 44px; padding-top: 9px; margin: 0 6px 14px; font-size: 12px; background-size: 38px; }
  .view-left { padding-left: 44px; }
  .view-right { padding-right: 44px; }
  [class*=lst-gallery] > li { width: 50%; padding: 0 10px 28px; }
  [class*=lst-gallery] .tit { font-size: 15px; }
  .friend-list { gap: 12px; }
  .friend-list > li { width: calc(33.333% - 8px); font-size: 13px; }
  .friend .dsc { font-size: 14px; }
  .dsc-info > li { width: 100%; }
  .info .txt { padding-bottom: 36px; font-size: 15px; }
  .pane:not(:last-child) { margin-bottom: 36px; }
  .group-viewing > div { width: 100%; min-height: 0; margin-top: 18px; }
  .group-viewing .dsc, .group-viewing .info { padding: 28px 20px; }
  .convenience .media, .traffic .media, .bx { display: block; }
  .convenience .media-left, .traffic .media-left, .bx .media-left { display: block; padding: 0; }
  .convenience .media-body, .traffic .media-body, .bx .media-body { display: block; width: auto; padding: 20px 0; }
  .convenience > li { padding-bottom: 32px; }
  .convenience .tit { font-size: 23px; }
  .address-area { padding-bottom: 28px; }
  .quick, .quick.opened { --quick-edge: 12px; right: 12px; }
  .quick { --quick-size: 56px; }
  .quick.opened { width: min(360px, calc(100vw - 40px)); }
  .quick.opened .tit > a { min-height: 56px; padding: 10px 16px; font-size: 14px; }
  .quick .tab-content { max-height: 56dvh; }
  .quick .wrp { padding: 14px 16px; }
  .footer { padding: 24px 20px; font-size: 12px; }
  .preview-notice-layer { padding: 52px 12px 16px; }
  .preview-notice-panel { max-height: calc(100dvh - 76px); padding: 16px; }
  .preview-notice-bar { position: sticky; top: -16px; z-index: 2; padding: 8px 0; margin-bottom: 12px; background: var(--paper); }
  .preview-notice-bar h2 { font-size: 21px; }
  .preview-notice-close { gap: 8px; font-size: 12px; }
  .preview-notice-grid { grid-template-columns: 1fr; gap: 16px; }
  .noticePop.preview-notice-card img { max-height: 380px; }
  .noticePop.preview-notice-card font, .noticePop.preview-notice-card td[bgcolor] { font-size: 12px; }
}
@media (max-width: 360px) {
  .logo img { width: 115px; }
  .preview-visit-links a { font-size: 11px; }
}
