/* 網站共用樣式：已清理被後續相同設定覆蓋的宣告。 */
.filter-row { flex-wrap: wrap; }
#clear-filter, .article-meta button { padding: 7px 12px; border: 1px solid var(--line); color: var(--blue); background: rgb(255, 255, 255); font-size: 13px; }
.article-body { overflow-wrap: anywhere; }
.article-body figure { margin: 30px 0px; }
.article-body figure img { width: 100%; height: auto; }
.article-body h2, .article-body h3, .article-body h4 { margin: 32px 0px 17px; }
.article-body a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.article-body hr { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); margin: 28px 0px; }
.about-content > img { width: 100%; height: auto; margin: 30px 0px; }
.topbar { border: 0px; }
.topbar b { color: rgb(229, 200, 141); font-weight: 500; padding-right: 12px; }
.topbar a { color: rgb(238, 230, 215); }
.brand img { width: 64px; height: 64px; }
.brand-type .brand-english { display: block; font: 13px / 1.4 sans-serif; letter-spacing: 2.2px; color: rgb(142, 119, 83); margin-bottom: 4px; }
.brand strong { font-family: PMingLiU, "Noto Serif TC", serif; font-size: 34px; font-weight: 600; letter-spacing: 3px; color: rgb(38, 62, 70); gap: 0px; }
.brand-accent { color: rgb(155, 121, 70); }
.brand-spark { font: 13px serif; color: rgb(172, 137, 80); margin-left: 5px; align-self: center; }
.brand small { font-size: 13px; letter-spacing: 1.2px; color: rgb(123, 129, 124); margin-top: 5px; }
nav#site-nav { align-items: center; }
nav#site-nav a { text-align: center; }
nav#site-nav a > span { display: block; }
nav#site-nav a > small { display: block; font: 13px / 1.6 sans-serif; letter-spacing: 1.2px; color: rgb(144, 147, 140); margin-top: 4px; }
nav#site-nav .header-line .line-symbol { font: 700 13px sans-serif; padding: 4px; border-radius: 4px; background: rgb(80, 112, 73); color: white; }
.menu-toggle { color: rgb(51, 76, 83); }
.inner-banner { isolation: isolate; overflow: hidden; border: 0px; color: rgb(255, 255, 255); }
.banner-art { position: absolute; inset: 0px 0px 0px 38%; z-index: -2; }
.banner-art img { width: 100%; height: 100%; object-fit: cover; }
.inner-banner::after { content: ""; position: absolute; inset: 0px; z-index: -1; }
.inner-banner-copy { position: relative; }
.inner-banner-note { display: flex; gap: 12px; align-items: center; color: rgb(212, 193, 158); margin-top: 26px; font-size: 13px; letter-spacing: 1.4px; }
.inner-banner-note i { width: 24px; height: 1px; background: rgb(212, 193, 158); }
.banner-edition { position: absolute; right: 26px; bottom: 24px; font: 13px / 1.8 sans-serif; letter-spacing: 2px; text-align: right; color: rgb(255, 255, 255); }
.banner-edition b { display: block; font: 28px serif; margin-top: 8px; color: rgb(230, 200, 143); }
.inner-article-banner { position: relative; isolation: isolate; overflow: hidden; padding: 32px; background: rgb(38, 62, 70); color: rgb(255, 255, 255); margin: -32px -32px 30px; }
.article-banner-art { position: absolute; inset: 0px 0px 0px 30%; z-index: -2; }
.article-banner-art img { width: 100%; height: 100%; object-fit: cover; }
.inner-article-banner::after { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(90deg, rgba(35, 59, 67, 0.97) 10%, rgba(35, 59, 67, 0.9) 55%, rgba(35, 59, 67, 0.6)); }
.inner-article-banner .eyebrow { color: rgb(230, 200, 143); font-size: 13px; letter-spacing: 1px; }
.inner-article-banner h1 { font-size: clamp(27px, 2.7vw, 36px); line-height: 1.55; font-weight: 700; }
.inner-article-banner .article-meta { margin-bottom: 0px; color: rgb(210, 219, 216); font-size: 13px; }
.inner-article-banner .article-meta button { background: rgba(255, 255, 255, 0.067); border-color: rgba(255, 255, 255, 0.267); color: rgb(255, 255, 255); border-radius: 4px; }
.topic-directory { gap: 22px; }
.topic-directory > a.topic-card { position: relative; isolation: isolate; overflow: hidden; min-height: 355px; padding: 25px; border: 0px; color: white; background: rgb(38, 62, 70); }
.topic-card > img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 0.6s; }
.topic-card::after { content: ""; position: absolute; inset: 0px; z-index: -1; background: linear-gradient(rgba(20, 46, 56, 0.2), rgba(20, 46, 56, 0.467) 35%, rgba(20, 46, 56, 0.97)); }
.topic-card:hover > img { transform: scale(1.05); }
.topic-card-top { display: flex; justify-content: space-between; align-items: center; }
.directory .topic-card-top > span { font: 28px / 1.4 "Microsoft JhengHei", "PingFang TC", sans-serif; color: rgb(242, 220, 169); }
.topic-card-top > b { font-size: 13px; font-weight: 500; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 30px; padding: 4px 11px; }
.topic-card-copy { margin-top: 80px; }
.topic-card-copy > small { font: 13px sans-serif; color: rgb(238, 216, 167); letter-spacing: 1.8px; }
.directory .topic-card h2 { font-size: 30px; margin: 9px 0px 12px; font-family: "Microsoft JhengHei", "PingFang TC", sans-serif; font-weight: 700; letter-spacing: 1px; }
.directory .topic-card p { color: rgb(255, 255, 255); font-size: 13px; }
.directory .topic-card .topic-card-sub { display: block; font: 13px / 1.8 "Microsoft JhengHei", sans-serif; color: rgb(199, 211, 209); margin: 9px 0px 20px; }
.topic-card-copy > strong { display: flex; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, 0.267); padding-top: 14px; font-size: 13px; font-weight: 500; }
.topic-card-copy > strong i { font-style: normal; font-size: 19px; }
.tag-jump { display: flex; gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 23px; margin-bottom: 30px; }
.tag-jump a { border: 1px solid rgb(197, 189, 173); padding: 10px 17px; background: rgba(255, 255, 255, 0.6); border-radius: 4px; }
.tag-jump a:hover { background: var(--blue); color: white; }
.explore-heading { margin: 0px 0px 24px; }
.explore-heading > span { font: 13px sans-serif; letter-spacing: 2px; color: rgb(155, 122, 73); }
.explore-heading h2 { font-size: 27px; margin: 9px 0px; }
.explore-heading p { font-size: 13px; color: var(--muted); }
.destination-directory { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 18px; }
.destination-card { position: relative; isolation: isolate; overflow: hidden; color: white; display: flex; align-items: flex-end; padding: 22px; }
.destination-card > img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 0.6s; }
.destination-card::after { content: ""; position: absolute; inset: 0px; z-index: -1; }
.destination-card:hover { color: white; }
.destination-card:hover > img { transform: scale(1.05); }
.destination-card > div { width: 100%; }
.destination-card small { font-size: 13px; color: rgb(229, 211, 170); letter-spacing: 1px; }
.destination-card strong { display: block; font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; line-height: 1.6; margin: 4px 0px 8px; }
.destination-card span { display: flex; justify-content: space-between; font-size: 13px; border-top: 1px solid rgba(255, 255, 255, 0.267); padding-top: 9px; }
.destination-card span b { font-size: 16px; font-weight: 400; }
#interests { margin-top: 48px; }
.interest-directory { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 13px; }
.interest-card { display: flex; align-items: center; gap: 14px; background: rgb(255, 255, 255); border: 1px solid rgb(221, 213, 198); padding: 20px; }
.interest-icon { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; background: rgb(241, 237, 225); color: rgb(153, 125, 74); font: 26px serif; border-radius: 50%; }
.interest-card strong { display: block; font-size: 16px; }
.interest-card small { display: block; font-size: 13px; color: var(--muted); margin-top: 5px; }
.interest-card > b { margin-left: auto; font-size: 20px; font-weight: 400; }
.interest-card:hover { border-color: rgb(165, 138, 91); background: rgb(249, 245, 236); }
.phone-note .line-kicker { font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-weight: normal; font-stretch: normal; line-height: normal; font-family: sans-serif; color: rgb(88, 112, 73); }
.phone-note h2 { line-height: 1.6; }
.line-button, .phone-note > a.line-button { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 13px 19px; font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-stretch: normal; line-height: 1.6; font-family: "Microsoft JhengHei", sans-serif; }
.line-button:hover { background: rgb(49, 76, 43); color: white; }
.phone-note small { display: block; }
.footer-line-id { display: block; font-size: 13px; color: rgb(189, 200, 197); margin: 0px 0px 15px; letter-spacing: 1px; }
.contact-panel { position: relative; overflow: hidden; padding: 40px; background: rgb(249, 250, 244); color: rgb(38, 62, 70); border-width: 4px 1px 1px; border-style: solid; border-color: rgb(86, 116, 72) rgb(204, 214, 193) rgb(204, 214, 193); border-image: none; }
.contact-panel::after { content: ""; width: 180px; height: 180px; border: 1px solid rgb(221, 229, 212); border-radius: 50%; position: absolute; top: -65px; right: -45px; pointer-events: none; }
.contact-line-icon { display: inline-grid; place-items: center; background: rgb(84, 117, 75); border-radius: 14px; width: 57px; height: 52px; color: rgb(255, 255, 255); font: 700 13px sans-serif; margin-bottom: 24px; }
.contact-panel > span.eyebrow { display: block; color: rgb(142, 121, 86); font: 13px sans-serif; letter-spacing: 1.7px; }
.contact-panel h2 { font-family: PMingLiU, serif; font-size: 36px; font-weight: 600; line-height: 1.5; margin: 15px 0px; }
.contact-panel p { color: rgb(120, 129, 111); line-height: 2; font-size: 14px; margin: 20px 0px 25px; }
.contact-panel > a.line-button:first-of-type { display: flex; font: 600 14px / 1.6 "Microsoft JhengHei", sans-serif; color: white; margin: 0px; max-width: 320px; }
.line-id-row { display: flex; gap: 20px; align-items: center; margin-top: 20px; font-size: 13px; color: rgb(124, 133, 117); flex-wrap: wrap; }
.line-id-row strong { font: 14px sans-serif; margin-left: 10px; letter-spacing: 1px; }
.copy-line { padding: 5px 10px; border-width: 1px; border-style: solid; border-image: none; background: transparent; font-size: 13px; }
@media (max-width: 1200px) {
  .brand strong { font-size: 30px; }
  .brand img { width: 58px; height: 58px; }
  .brand-type .brand-english { letter-spacing: 1.5px; }
}
@media (max-width: 1050px) {
  .masthead { flex-wrap: wrap; min-height: 100px; gap: 0px; }
  .menu-toggle { display: block; }
  nav#site-nav { display: none; flex-basis: 100%; grid-template-columns: repeat(3, 1fr); gap: 9px; padding: 18px 0px; border-top: 1px solid var(--line); }
  nav#site-nav.is-open { display: grid; }
  nav#site-nav a { padding: 13px 10px; border: 1px solid rgb(230, 223, 211); }
  nav#site-nav .header-line { grid-column: 1 / -1; justify-content: center; margin: 0px; }
  .inner-banner-copy { max-width: 650px; }
}
@media (max-width: 650px) {
  .topbar .wrap { gap: 5px; }
  .topbar b { padding-right: 5px; }
  .brand img { width: 51px; height: 51px; }
  .brand { gap: 10px; }
  .brand strong { font-size: 27px; letter-spacing: 2px; }
  .brand small { font-size: 13px; letter-spacing: 0.8px; }
  .brand-type .brand-english { font-size: 13px; letter-spacing: 1.4px; }
  nav#site-nav a > small { font-size: 13px; }
  .inner-banner { min-height: 295px; padding: 30px 24px; }
  .inner-banner h1 { letter-spacing: 1px; }
  .inner-banner-copy { padding-right: 0px; }
  .banner-art { inset: 0px 0px 0px 10%; }
  .banner-edition { display: none; }
  .inner-banner-note { font-size: 13px; letter-spacing: 0.8px; gap: 9px; }
  .topic-directory { gap: 18px; }
  .topic-directory > a.topic-card { min-height: 330px; padding: 24px; }
  .topic-card-copy { margin-top: 65px; }
  .tag-jump { gap: 8px; }
  .destination-directory { gap: 12px; }
  .interest-directory { gap: 10px; }
  .interest-card { padding: 14px 12px; gap: 9px; }
  .interest-icon { width: 32px; height: 32px; font-size: 20px; }
  .interest-card > b { font-size: 15px; }
  .explore-heading h2 { font-size: 24px; }
  .explore-heading p { font-size: 13px; }
  .contact-panel { padding: 28px 24px; }
  .contact-panel h2 { font-size: 30px; }
  .contact-panel p { font-size: 13px; }
  .inner-article-banner { margin: -22px -16px 25px; padding: 27px 22px; }
  .inner-article-banner h1 { font-size: 25px; }
  .inner-article-banner .article-meta { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .topic-card > img, .destination-card > img { transition: none; }
}
.site-header { background: rgb(238, 232, 218); backdrop-filter: none; box-shadow: none; border-bottom: 1px solid rgb(216, 207, 189); }
.masthead { min-height: 108px; gap: 30px; }
.brand { gap: 0px; }
.brand img.brand-wordmark { display: block; width: 300px; object-fit: contain; }
.topbar { font-size: 13px; letter-spacing: 0px; background: rgb(40, 60, 67); }
.topbar .wrap { padding-block: 8px; gap: 20px; }
nav#site-nav { gap: 21px; }
nav#site-nav a { border: 0px; background: none; border-radius: 0px; padding: 14px 0px; font-size: 15px; font-weight: 500; }
nav#site-nav a > span { font-size: 15px; }
nav#site-nav a:hover, nav#site-nav a[aria-current] { background: transparent; color: rgb(149, 114, 62); }
nav#site-nav a[aria-current]::after { width: 100%; left: 0px; bottom: 5px; background: rgb(177, 146, 93); height: 2px; }
nav#site-nav .header-line { display: flex; align-items: center; gap: 9px; margin-left: 4px; padding: 12px 19px; border: 0px; box-shadow: none; white-space: nowrap; }
nav#site-nav .header-line > span:last-child { font-size: 15px; }
.menu-toggle { font-size: 15px; padding: 10px 14px; border: 1px solid rgb(214, 206, 193); border-radius: 0px; }
nav#site-nav .header-line::after { display: none; }
main.page-main:has(> .inner-banner) { padding-top: 0px; }
.inner-banner { position: relative; width: 100vw; margin-left: calc(50% - 50vw); padding: 0px; min-height: 0px; height: 310px; background: rgb(37, 59, 67); margin-bottom: 45px; display: flex; align-items: center; }
.inner-banner .banner-art { inset: 0px; }
.inner-banner .banner-art img { object-position: center 55%; }
.inner-banner::after { background: linear-gradient(90deg, rgba(20, 46, 56, 0.79) 0%, rgba(20, 46, 56, 0.61) 42%, rgba(20, 46, 56, 0.1) 100%); }
.inner-banner-copy { width: min(1320px, 100% - 80px); max-width: none; padding: 0px; margin: auto; }
.inner-banner .eyebrow { font-size: 13px; letter-spacing: 0.7px; color: rgb(237, 207, 149); margin-bottom: 13px; }
.inner-banner h1 { font-family: "Microsoft JhengHei", "PingFang TC", sans-serif; font-size: 38px; letter-spacing: 1px; font-weight: 700; line-height: 1.4; max-width: 980px; margin-bottom: 15px; }
.inner-banner p { font-size: 15px; line-height: 1.85; color: rgb(255, 255, 255); max-width: 760px; }
.inner-banner-note, .banner-edition { display: none; }
.article-full-banner { height: auto; min-height: 310px; padding: 38px 0px; }
.article-full-banner h1 { font-size: 34px; max-width: 980px; line-height: 1.5; }
.article-full-banner .article-meta { margin: 22px 0px 0px; color: rgb(239, 243, 237); font-size: 14px; gap: 18px; }
.article-full-banner .article-meta button { background: rgba(255, 255, 255, 0.07); color: white; border-color: rgba(255, 255, 255, 0.44); font-size: 13px; }
.article-detail { padding-top: 32px; }
.tag-explore .explore-heading p { max-width: 690px; line-height: 1.8; }
.destination-card { min-height: 245px; }
.destination-card strong { font-family: "Microsoft JhengHei", sans-serif; font-size: 29px; font-weight: 700; letter-spacing: 1px; }
.destination-card small, .destination-card span, .interest-card small { font-size: 13px; }
.destination-card::after { background: linear-gradient(transparent 15%, rgba(25, 52, 58, 0.65) 70%, rgba(25, 52, 58, 0.9)); }
.tag-jump a { font-size: 15px; }
.topic-card-copy > small, .topic-card-top > b, .directory .topic-card .topic-card-sub, .topic-card-copy > strong { font-size: 13px; }
.phone-note .line-kicker { font-size: 13px; letter-spacing: 0px; }
.phone-note small, .phone-note p, .footer-line-id, .copy-line { font-size: 13px; }
.collaboration-banner { height: 360px; margin-bottom: 0px; }
.collaboration-banner h1 { font-size: 43px; max-width: 760px; line-height: 1.45; }
.collaboration-banner p { max-width: 720px; }
.collab-hero-link { display: inline-block; color: white; padding: 8px 0px 4px; border-bottom: 1px solid rgb(234, 209, 159); font-size: 15px; margin-top: 15px; }
.collab-hero-link:hover { color: rgb(237, 207, 149); }
.collab-opening { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; padding: 65px 0px 45px; align-items: center; }
.collab-opening h2 { font-size: 31px; line-height: 1.6; margin: 0px; font-weight: 700; }
.collab-opening > p { font-size: 16px; color: var(--muted); line-height: 2; margin: 0px; }
.collab-opening .eyebrow { color: rgb(153, 116, 66); font-size: 14px; letter-spacing: 0px; }
.collab-services { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 26px; margin-bottom: 70px; }
.collab-services article { background: rgb(255, 255, 255); border-bottom: 3px solid rgb(198, 181, 143); }
.collab-services article > img { width: 100%; height: 245px; object-fit: cover; }
.collab-services article > div { padding: 25px; }
.collab-services span { color: rgb(141, 117, 75); font-size: 14px; }
.collab-services h2 { font-size: 23px; margin: 13px 0px; line-height: 1.5; }
.collab-services p { font-size: 15px; color: var(--muted); line-height: 1.9; margin: 0px; }
.collab-process { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 90px; padding: 45px 0px 55px; border-top: 1px solid rgb(207, 199, 184); }
.collab-process h2 { font-size: 30px; }
.collab-process .eyebrow { font-size: 14px; color: rgb(153, 116, 66); letter-spacing: 0px; }
.collab-process > div > p:last-child { font-size: 16px; color: var(--muted); line-height: 2; }
.collab-process ol { list-style: none; padding: 0px; margin: 0px; }
.collab-process li { display: flex; gap: 25px; padding: 0px 0px 24px; margin-bottom: 24px; border-bottom: 1px solid rgb(215, 208, 196); }
.collab-process li > span { font: 32px Georgia, serif; color: rgb(172, 143, 91); }
.collab-process h3 { font-size: 19px; margin: 0px 0px 8px; }
.collab-process li p { font-size: 15px; color: var(--muted); line-height: 1.9; margin: 0px; }
.collab-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; padding: 50px 55px; border-top-width: 3px; border-top-style: solid; align-items: center; }
.collab-contact h2 { font-size: 32px; line-height: 1.6; margin: 0px 0px 18px; }
.collab-contact .eyebrow { font-size: 14px; color: rgb(98, 115, 78); letter-spacing: 0px; }
.collab-contact p { font-size: 15px; color: rgb(102, 115, 90); line-height: 1.9; }
.collab-line .line-button { padding: 17px 23px; font-size: 17px; border-radius: 3px; }
.collab-line .line-id-row { font-size: 14px; justify-content: space-between; }
.collab-line .line-id-row strong { font-size: 16px; }
.collab-line p { font-size: 14px; margin: 24px 0px 0px; }
@media (max-width: 1200px) {
  .brand img.brand-wordmark { width: 265px; height: 88px; }
  nav#site-nav { gap: 16px; }
  nav#site-nav a { padding: 14px 0px; }
  .masthead { gap: 20px; }
  nav#site-nav .header-line { padding: 11px 15px; }
  .inner-banner-copy { width: calc(100% - 48px); }
}
@media (max-width: 1100px) {
  .masthead { flex-wrap: wrap; min-height: 100px; }
  nav#site-nav { display: none; flex-basis: 100%; }
  nav#site-nav.is-open { display: grid; }
  .collab-opening { gap: 35px; }
  .collab-services { gap: 18px; }
  .collab-services article > img { height: 200px; }
  .collab-services article > div { padding: 21px; }
  .collab-process { gap: 45px; }
  .collab-contact { gap: 45px; padding: 40px; }
}
@media (max-width: 650px) {
  .topbar { font-size: 13px; }
  .topbar .wrap { justify-content: center; padding: 8px 0px; }
  .topbar .wrap > span { display: none; }
  .masthead { min-height: 94px; }
  .brand img.brand-wordmark { width: 235px; }
  .menu-toggle { font-size: 15px; padding: 8px 11px; }
  nav#site-nav a > span { font-size: 15px; }
  nav#site-nav .header-line > span:last-child { font-size: 15px; }
  .inner-banner { height: 285px; margin-bottom: 30px; }
  .inner-banner-copy { width: calc(100% - 36px); }
  .inner-banner .eyebrow { font-size: 13px; letter-spacing: 0px; }
  .inner-banner h1 { font-size: 29px; line-height: 1.5; }
  .inner-banner p { font-size: 15px; line-height: 1.9; }
  .inner-banner::after { background: linear-gradient(90deg, rgba(23, 50, 59, 0.77), rgba(23, 50, 59, 0.45)); }
  .article-full-banner { height: auto; min-height: 285px; padding: 28px 0px; }
  .article-full-banner h1 { font-size: 26px; }
  .article-full-banner .article-meta { gap: 12px; font-size: 13px; }
  .destination-card { min-height: 215px; padding: 16px; }
  .destination-card small, .destination-card span { font-size: 13px; }
  .destination-card strong { font-size: 26px; }
  .interest-card strong { font-size: 15px; }
  .interest-card small { font-size: 13px; }
  .interest-directory { grid-template-columns: 1fr; }
  .tag-jump { flex-wrap: wrap; }
  .tag-jump a { font-size: 15px; padding: 10px 13px; }
  .collaboration-banner { height: 365px; margin-bottom: 0px; }
  .collaboration-banner h1 { font-size: 31px; }
  .collab-opening { grid-template-columns: 1fr; gap: 23px; padding: 40px 0px 30px; }
  .collab-opening h2 { font-size: 26px; }
  .collab-opening > p { font-size: 15px; }
  .collab-services { grid-template-columns: 1fr; gap: 25px; margin-bottom: 40px; }
  .collab-services article > img { height: 245px; }
  .collab-services h2 { font-size: 23px; }
  .collab-process { grid-template-columns: 1fr; gap: 25px; padding: 30px 0px; }
  .collab-process h2 { font-size: 27px; }
  .collab-contact { grid-template-columns: 1fr; gap: 25px; padding: 30px 23px; }
  .collab-contact h2 { font-size: 28px; }
  .collab-line .line-button { font-size: 16px; }
  .line-id-row { font-size: 13px; }
  .copy-line { font-size: 13px; }
}
@media (max-width: 380px) {
  .brand img.brand-wordmark { height: 72px; }
  .destination-directory { grid-template-columns: 1fr; }
  .destination-card { min-height: 245px; }
}
nav a, nav a > span, .site-footer .footer-grid > div > a:not(.footer-brand):not(.footer-phone), .filter-row select { font-size: 15px; }
small, figcaption { font-size: 13px; }
.destination-place { display: block; color: rgb(255, 255, 255); font-size: 13px; font-style: normal; line-height: 1.8; margin: -4px 0px 12px; }
.brand img.brand-wordmark { height: auto; aspect-ratio: auto; }
.footer-brand { display: inline-block; max-width: 100%; }
.footer-brand img { width: 280px; height: auto; max-width: 100%; }
.menu-toggle { background: rgb(238, 232, 218); }
@media (max-width: 650px) {
  .brand img.brand-wordmark { height: auto; }
  .footer-brand img { width: 260px; }
}
nav#site-nav .header-line { background: rgb(41, 75, 80); border-radius: 7px; color: rgb(255, 248, 232); }
nav#site-nav .header-line:hover { background: rgb(32, 62, 67); color: rgb(240, 207, 136); }
.line-button, .phone-note > a.line-button { background: rgb(41, 75, 80); color: rgb(255, 248, 232); border-radius: 5px; font-size: 15px; font-weight: 500; }
.line-button:hover, .phone-note > a.line-button:hover { background: rgb(32, 62, 67); color: rgb(240, 207, 136); }
.line-button > span { color: rgb(231, 199, 128); font-size: 20px; }
.phone-note { padding: 23px 21px; background: rgb(234, 227, 212); border-width: 2px 1px 1px 0px; border-style: solid solid solid none; border-color: rgb(184, 154, 100) rgb(213, 203, 184) rgb(213, 203, 184) currentcolor; border-image: none; }
.phone-note h2 { font-family: "Microsoft JhengHei", "PingFang TC", sans-serif; font-size: 21px; font-weight: 600; margin: 0px 0px 12px; color: rgb(41, 75, 80); }
.phone-note p { color: rgb(94, 99, 95); font-size: 14px; line-height: 1.9; margin: 0px 0px 20px; }
.phone-note small { color: rgb(100, 107, 102); font-size: 13px; letter-spacing: 0px; margin-top: 14px; }
.collab-contact { background: rgb(234, 227, 212); border-top-color: rgb(184, 154, 100); }
.collab-contact .eyebrow, .collab-contact p, .line-id-row { color: rgb(100, 107, 102); }
.line-id-row strong { color: rgb(41, 75, 80); }
.copy-line { color: rgb(41, 75, 80); border-color: rgb(185, 176, 158); border-radius: 4px; }
@media (max-width: 1100px) {
  .menu-toggle { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px 13px; border: 1px solid rgb(41, 75, 80); border-radius: 22px; background: rgb(41, 75, 80); color: rgb(255, 248, 232); font-size: 15px; line-height: 1.4; min-height: 44px; }
  .menu-bars { position: relative; display: block; width: 18px; height: 16px; }
  .menu-bars i { position: absolute; left: 0px; height: 2px; width: 18px; background: rgb(232, 205, 149); border-radius: 2px; transition: transform 0.2s, top 0.2s; }
  .menu-bars i:first-child { top: 4px; }
  .menu-bars i:last-child { top: 11px; width: 13px; }
  .menu-toggle[aria-expanded="true"] .menu-bars i:first-child { top: 8px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-bars i:last-child { top: 8px; width: 18px; transform: rotate(-45deg); }
  .masthead { column-gap: 10px; }
  nav#site-nav { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px 24px; padding: 8px 0px 22px; border-top: 1px solid rgb(208, 196, 172); max-height: calc(100dvh - 105px); overflow-y: auto; }
  nav#site-nav a { display: flex; align-items: center; justify-content: space-between; padding: 17px 5px; text-align: left; border-bottom: 1px solid rgb(216, 205, 185); font-size: 16px; font-weight: 500; color: rgb(41, 75, 80); }
  nav#site-nav a > span { font-size: 16px; }
  nav#site-nav a:not(.header-line)::after { content: "↗"; position: static; width: auto; height: auto; background: none; color: rgb(160, 130, 76); font-size: 18px; }
  nav#site-nav a[aria-current] { color: rgb(134, 100, 47); }
  nav#site-nav a[aria-current] > span { font-weight: 700; }
  nav#site-nav .header-line { justify-content: center; grid-column: 1 / -1; width: 100%; margin: 20px 0px 0px; padding: 13px 20px; border: 0px; }
}
@media (max-width: 380px) {
  .brand img.brand-wordmark { width: 205px; }
  .menu-toggle { padding: 10px 11px; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-bars i { transition: none; }
}
.site-footer .footer-grid > div > a.footer-phone { display: flex; align-items: center; gap: 11px; width: fit-content; max-width: 100%; padding: 12px 17px; margin: 0px 0px 12px; border: 1px solid rgb(189, 164, 117); border-radius: 7px; background: rgb(238, 213, 160); color: rgb(37, 63, 69); font-size: 15px; font-weight: 600; line-height: 1.5; transition: background 0.18s, border-color 0.18s; }
.footer-line-icon { display: flex; align-items: center; flex-shrink: 0; }
.footer-line-arrow { color: rgb(113, 86, 40); font-size: 20px; margin-left: 12px; font-weight: 400; }
.site-footer .footer-grid > div > a.footer-phone:hover { background: rgb(246, 228, 190); border-color: rgb(246, 228, 190); color: rgb(37, 63, 69); }
.site-footer .footer-line-id { font-size: 13px; color: rgb(199, 206, 205); letter-spacing: 0px; margin-bottom: 22px; }
@media (max-width: 650px) {
  .site-footer .footer-grid > div > a.footer-phone { font-size: 15px; }
  .footer-line-icon svg { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-grid > div > a.footer-phone { transition: none; }
}
@media (max-width: 650px) {
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .site-footer .footer-grid > div > a.footer-phone { padding: 13px 18px; gap: 11px; min-width: 220px; white-space: nowrap; }
  .footer-line-arrow { margin-left: auto; }
}
@media (min-width: 1101px) {
  .brand img.brand-wordmark { width: 265px; }
  nav#site-nav { gap: 16px; }
  .masthead { gap: 20px; }
}
