:root {
  --ink: #13202b;
  --muted: #637181;
  --soft: #eef3f1;
  --paper: #fffdf8;
  --line: #dde5e1;
  --brand: #d84f3a;
  --brand-2: #0f8b8d;
  --gold: #d9a441;
  --green: #3c7a57;
  --shadow: 0 18px 50px rgba(19, 32, 43, .12);
  --shadow-soft: 0 8px 26px rgba(19, 32, 43, .08);
  --radius: 8px;
  --radius-sm: 6px;
  --pill: 999px;
  --nav-h: 68px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  overflow-y: auto;
}

body {
  min-height: 100vh;
  padding-top: var(--nav-h);
  color: var(--ink);
  background:
    linear-gradient(180deg, rgba(238, 243, 241, .9), rgba(255, 253, 248, .96) 420px),
    var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  line-height: 1.65;
  overflow-x: hidden;
}

button,
input {
  font: inherit;
}

button {
  color: inherit;
}

a {
  color: var(--brand-2);
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a.card,
a.destination-card {
  color: inherit;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 50%;
  z-index: 2000;
  min-height: 44px;
  padding: 10px 14px;
  color: #fff;
  background: var(--ink);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--pill);
  box-shadow: 0 14px 30px rgba(16, 27, 37, .22);
  font-size: 14px;
  font-weight: 850;
  transform: translate(-50%, calc(-100% - 18px));
  transition: transform .18s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  outline: 3px solid rgba(15, 139, 141, .36);
  outline-offset: 3px;
  transform: translate(-50%, 0);
}

img {
  display: block;
  max-width: 100%;
}

.navbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  min-height: var(--nav-h);
  background: rgba(255, 253, 248, .92);
  border-bottom: 1px solid rgba(221, 229, 225, .88);
  backdrop-filter: blur(18px);
}

.nav-container {
  display: grid;
  grid-template-columns: auto minmax(220px, 520px) auto auto;
  align-items: center;
  gap: 18px;
  width: min(1380px, 100%);
  min-height: var(--nav-h);
  margin: 0 auto;
  padding: 0 24px;
}

.nav-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  min-width: max-content;
  color: var(--ink);
  font-weight: 800;
  letter-spacing: 0;
}

.logo-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--gold));
  border-radius: 50%;
  font-size: 18px;
}

.logo-text {
  font-size: 18px;
}

.nav-search,
.search-shell {
  position: relative;
}

.nav-search input,
.hero-search input {
  width: 100%;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  padding: 0 18px;
  color: var(--ink);
  background: rgba(255, 255, 255, .86);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.nav-search input:focus,
.hero-search input:focus {
  border-color: rgba(15, 139, 141, .75);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(15, 139, 141, .12);
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(15, 139, 141, .36);
  outline-offset: 3px;
}

.search-results {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 20;
  display: none;
  max-height: min(430px, calc(100vh - var(--nav-h) - 32px));
  max-height: min(430px, calc(100dvh - var(--nav-h) - 32px));
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

@media (prefers-reduced-motion: reduce) {
  .search-results {
    scroll-behavior: auto;
  }
}

.search-results.active {
  display: grid;
  gap: 4px;
}

.search-summary {
  position: sticky;
  top: -8px;
  z-index: 1;
  margin: -8px -8px 2px;
  padding: 8px 10px 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid rgba(221, 229, 225, .82);
  backdrop-filter: blur(10px);
}

.search-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 10px;
  width: 100%;
  min-height: 48px;
  padding: 10px 11px;
  align-items: center;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  touch-action: manipulation;
}

.search-item:hover,
.search-item.keyboard-active,
.search-item:focus-visible {
  background: rgba(238, 243, 241, .88);
  border-color: rgba(15, 139, 141, .16);
}

.search-item:active {
  background: rgba(15, 139, 141, .12);
}

.si-title {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-weight: 750;
  line-height: 1.35;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.si-type {
  max-width: 150px;
  overflow: hidden;
  color: var(--brand-2);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.si-preview {
  grid-column: 1 / -1;
  display: -webkit-box;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.si-risk-tags {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}

.si-risk-tags span {
  min-height: 22px;
  padding: 3px 7px;
  color: #6b3d00;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  background: #fff4d7;
  border: 1px solid #f0d8a0;
  border-radius: 999px;
}

.search-mark {
  color: inherit;
  background: linear-gradient(180deg, transparent 48%, rgba(254, 202, 87, .45) 48%);
  border-radius: 2px;
  font-weight: 850;
}

.search-empty {
  display: grid;
  gap: 8px;
  padding: 16px;
  color: var(--muted);
  font-size: 14px;
  background: linear-gradient(135deg, rgba(247, 250, 248, .95), rgba(255, 255, 255, .98));
  border: 1px solid rgba(221, 229, 225, .72);
  border-radius: 8px;
}

.search-empty strong {
  color: var(--ink);
  font-size: 15px;
}

.search-empty p {
  margin: 0;
  line-height: 1.55;
}

.empty-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.empty-suggestions button {
  padding: 6px 10px;
  color: var(--brand);
  background: var(--soft);
  border: 1px solid #cfe5da;
  border-radius: 999px;
  cursor: pointer;
}

.empty-suggestions button:hover {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}

.empty-suggestions button:focus-visible {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-menu a {
  padding: 9px 12px;
  color: var(--ink);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 650;
}

.nav-menu a:hover {
  color: var(--brand-2);
  background: rgba(15, 139, 141, .08);
}

.nav-menu-btn {
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nav-menu-btn[aria-expanded="true"] {
  color: #fff;
  background: var(--brand-2);
  border-color: var(--brand-2);
  box-shadow: 0 10px 22px rgba(15, 139, 141, .22);
}

.menu-icon {
  display: grid;
  gap: 4px;
}

.menu-icon span {
  display: block;
  width: 18px;
  height: 2px;
  background: currentColor;
  border-radius: 999px;
  transition: opacity .18s ease, transform .18s ease;
}

.nav-menu-btn[aria-expanded="true"] .menu-icon span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.nav-menu-btn[aria-expanded="true"] .menu-icon span:nth-child(2) {
  opacity: 0;
}

.nav-menu-btn[aria-expanded="true"] .menu-icon span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

@keyframes menuDrop {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#app {
  width: min(1380px, 100%);
  min-height: calc(100vh - var(--nav-h) - 260px);
  margin: 0 auto;
  padding: 24px;
  overflow: visible;
}

#app:focus {
  outline: none;
}

.hero,
.article-hero {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  margin-bottom: 24px;
  padding: clamp(42px, 8vw, 86px);
  color: #fff;
  background-position: center;
  background-size: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.hero-copy {
  width: min(720px, 100%);
}

.eyebrow,
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero h1,
.article-hero h1,
.page-heading h1 {
  max-width: 820px;
  font-size: clamp(34px, 6vw, 68px);
  line-height: 1.05;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.hero p,
.article-hero p,
.page-heading p {
  max-width: 740px;
  margin-top: 16px;
  color: rgba(255, 255, 255, .86);
  font-size: 18px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.hero p.editorial-site-note {
  display: inline-flex;
  max-width: 700px;
  margin-top: 14px;
  padding: 9px 12px;
  color: rgba(255, 255, 255, .92);
  background: rgba(19, 32, 43, .42);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: var(--radius-sm);
  font-size: 14px;
  line-height: 1.55;
  backdrop-filter: blur(10px);
}

.hero-search {
  width: min(560px, 100%);
  margin-top: 28px;
}

.hero-search input {
  height: 54px;
  padding: 0 22px;
  font-size: 16px;
}

.quick-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  max-width: 680px;
  margin-top: 15px;
}

.quick-tags button,
.tag {
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: var(--pill);
  padding: 7px 13px;
  color: inherit;
  background: rgba(255, 255, 255, .12);
  cursor: pointer;
  font-weight: 700;
  line-height: 1.22;
  white-space: normal;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .1);
  backdrop-filter: blur(8px);
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}

.quick-tags button:hover,
.quick-tags button:focus-visible {
  border-color: rgba(255, 255, 255, .46);
  background: rgba(255, 255, 255, .22);
  transform: translateY(-1px);
}

.stats-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 28px;
}

.home-priority-section {
  margin-bottom: 34px;
}

.stats-strip div {
  padding: 18px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.stats-strip strong {
  display: block;
  color: var(--brand-2);
  font-size: 28px;
  line-height: 1.1;
}

.stats-strip span {
  color: var(--muted);
  font-size: 13px;
}

.quality-note {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 34px;
  padding: 13px 16px;
  border: 1px solid rgba(15, 139, 141, .22);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(238, 249, 247, .88)),
    rgba(255, 255, 255, .84);
  box-shadow: 0 12px 32px rgba(18, 38, 63, .07);
}

.quality-note {
  flex-wrap: wrap;
}

.quality-note span {
  flex: 0 0 auto;
  margin-top: 2px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #fff;
  background: var(--brand-2);
  font-size: 12px;
  font-weight: 800;
}

.quality-note p {
  flex: 1 1 520px;
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.6;
}

.quality-note .ai-disclaimer {
  flex-basis: 100%;
  padding-top: 9px;
  color: #5a3d30;
  border-top: 1px solid rgba(216, 79, 58, .18);
}

.risk-filter-panel {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  align-items: center;
  gap: 18px;
  margin-bottom: 24px;
  padding: 19px;
  background:
    linear-gradient(135deg, rgba(15, 139, 141, .09), rgba(217, 164, 65, .08)),
    rgba(255, 255, 255, .72);
  border: 1px solid rgba(99, 113, 129, .18);
  border-radius: var(--radius);
  box-shadow: 0 12px 34px rgba(19, 32, 43, .08);
}

.risk-filter-panel h2 {
  margin-top: 3px;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: 0;
}

.risk-filter-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
}

.risk-filter-actions button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px 13px;
  color: var(--ink);
  overflow-wrap: anywhere;
  line-height: 1.2;
  white-space: normal;
  cursor: pointer;
  background: rgba(255, 255, 255, .8);
  border: 1px solid rgba(15, 139, 141, .22);
  border-radius: var(--pill);
  box-shadow: 0 7px 18px rgba(19, 32, 43, .06);
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.risk-filter-actions button::before {
  width: 7px;
  height: 7px;
  content: "";
  background: var(--brand-2);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(15, 139, 141, .11);
}

.risk-filter-actions button:hover,
.risk-filter-actions button:focus-visible {
  background: #fff;
  border-color: rgba(15, 139, 141, .5);
  transform: translateY(-1px);
}

.planning-brief {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin-bottom: 40px;
}

.planning-brief .brief-card {
  position: relative;
  overflow: hidden;
  min-height: 112px;
  padding: 17px;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background:
    linear-gradient(145deg, rgba(15, 139, 141, .08), rgba(216, 79, 58, .05)),
    rgba(255, 255, 255, .86);
  border: 1px solid rgba(99, 113, 129, .18);
  border-left: 4px solid var(--gold);
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(18, 38, 63, .08);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.planning-brief .brief-card:hover,
.planning-brief .brief-card:focus-visible {
  border-color: rgba(15, 139, 141, .34);
  box-shadow: 0 16px 36px rgba(18, 38, 63, .12);
  transform: translateY(-2px);
}

.planning-brief .brief-card::after {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 22px;
  height: 3px;
  content: "";
  background: currentColor;
  border-radius: 999px;
  opacity: .28;
}

.planning-brief .brief-card:nth-child(1) {
  border-left-color: var(--brand-2);
}

.planning-brief .brief-card:nth-child(2) {
  border-left-color: var(--green);
}

.planning-brief .brief-card:nth-child(3) {
  border-left-color: var(--brand);
}

.planning-brief .brief-card:nth-child(4) {
  border-left-color: #7a6a00;
}

.planning-brief .brief-card:nth-child(5) {
  border-left-color: #7c4d9d;
}

.planning-brief .brief-card:nth-child(6) {
  border-left-color: #9d5b27;
}

.planning-brief .brief-card:nth-child(7) {
  border-left-color: #2f7a9d;
}

.planning-brief .brief-card:nth-child(8) {
  border-left-color: #8a5f2c;
}

.planning-brief .brief-card:nth-child(9) {
  border-left-color: #5f6f2f;
}

.planning-brief .brief-card:nth-child(10) {
  border-left-color: #476a8a;
}

.planning-brief .brief-card:nth-child(11) {
  border-left-color: #9a4f60;
}

.planning-brief .brief-card:nth-child(12) {
  border-left-color: #0f8b8d;
}

.planning-brief .brief-card:nth-child(13) {
  border-left-color: #6f5aa8;
}

.planning-brief .brief-card:nth-child(14) {
  border-left-color: #c06935;
}

.planning-brief .brief-card:nth-child(15) {
  border-left-color: #2d7b6f;
}

.planning-brief .brief-card:nth-child(16) {
  border-left-color: #8b5f1f;
}

.planning-brief .brief-card:nth-child(17) {
  border-left-color: #4c6f9d;
}

.planning-brief .brief-card:nth-child(18) {
  border-left-color: #a24e42;
}

.planning-brief .brief-card:nth-child(19) {
  border-left-color: #5f6f2f;
}

.planning-brief .brief-card:nth-child(20) {
  border-left-color: #7a4e2a;
}

.planning-brief .brief-card:nth-child(21) {
  border-left-color: #2f7a9d;
}

.planning-brief .brief-card:nth-child(22) {
  border-left-color: #6f5aa8;
}

.planning-brief .brief-card:nth-child(23) {
  border-left-color: #8a5a2b;
}

.planning-brief .brief-card:nth-child(24) {
  border-left-color: #2f7a9d;
}

.planning-brief .brief-card:nth-child(25) {
  border-left-color: #7a4e8a;
}

.planning-brief .brief-card:nth-child(26) {
  border-left-color: #476a8a;
}

.planning-brief .brief-card:nth-child(27) {
  border-left-color: #9a4f60;
}

.planning-brief .brief-card:nth-child(28) {
  border-left-color: #2d7b6f;
}

.planning-brief .brief-card:nth-child(29) {
  border-left-color: #8b5f1f;
}

.planning-brief .brief-card:nth-child(30) {
  border-left-color: #4c6f9d;
}

.planning-brief .brief-card:nth-child(31) {
  border-left-color: #5f6f2f;
}

.planning-brief .brief-card:nth-child(32) {
  border-left-color: #c06935;
}

.planning-brief .brief-card:nth-child(33) {
  border-left-color: #2e7568;
}

.planning-brief .brief-card:nth-child(34) {
  border-left-color: #8f4f62;
}

.planning-brief .brief-card:nth-child(35) {
  border-left-color: #3d6b8e;
}

.planning-brief .brief-card:nth-child(36) {
  border-left-color: #9a6b2f;
}

.planning-brief .brief-card:nth-child(37) {
  border-left-color: #7a5a91;
}

.planning-brief .brief-card:nth-child(38) {
  border-left-color: #2f7a92;
}

.planning-brief .brief-card:nth-child(39) {
  border-left-color: #8a4f68;
}

.planning-brief .brief-card:nth-child(40) {
  border-left-color: #386f7a;
}

.planning-brief .brief-card:nth-child(41) {
  border-left-color: #6b6f36;
}

.planning-brief .brief-card:nth-child(42) {
  border-left-color: #8a6230;
}

.planning-brief .brief-card:nth-child(43) {
  border-left-color: #4d728f;
}

.planning-brief .brief-card:nth-child(44) {
  border-left-color: #6f4f8f;
}

.planning-brief .brief-card:nth-child(45) {
  border-left-color: #2f756f;
}

.planning-brief .brief-card:nth-child(46) {
  border-left-color: #8a5a37;
}

.planning-brief .brief-card:nth-child(47) {
  border-left-color: #9a4d45;
}

.planning-brief .brief-card:nth-child(48) {
  border-left-color: #4f7a57;
}

.planning-brief .brief-card:nth-child(49) {
  border-left-color: #6b5f92;
}

.planning-brief .brief-card:nth-child(50) {
  border-left-color: #8f4f62;
}

.planning-brief .brief-card:nth-child(51) {
  border-left-color: #3d6b8e;
}

.planning-brief .brief-card:nth-child(52) {
  border-left-color: #7a642f;
}

.planning-brief .brief-card:nth-child(53) {
  border-left-color: #9a6b35;
}

.planning-brief .brief-card:nth-child(54) {
  border-left-color: #8a4f44;
}

.planning-brief .brief-card:nth-child(55) {
  border-left-color: #4f7a57;
}

.planning-brief .brief-card:nth-child(56) {
  border-left-color: #9a6a2f;
}

.planning-brief .brief-card:nth-child(57) {
  border-left-color: #6f5b91;
}

.planning-brief .brief-card:nth-child(58) {
  border-left-color: #2f7a68;
}

.planning-brief .brief-card:nth-child(59) {
  border-left-color: #8f4f62;
}

.planning-brief .brief-card:nth-child(60) {
  border-left-color: #4f7a57;
}

.planning-brief .brief-card:nth-child(61) {
  border-left-color: #7a642f;
}

.planning-brief .brief-card:nth-child(62) {
  border-left-color: #2f7a9d;
}

.planning-brief .brief-card:nth-child(63) {
  border-left-color: #4f7a57;
}

.planning-brief .brief-card:nth-child(64) {
  border-left-color: #9a6b35;
}

.planning-brief .brief-card:nth-child(65) {
  border-left-color: #6b5f42;
}

.planning-brief .brief-card:nth-child(66) {
  border-left-color: #8f4f62;
}

.planning-brief .brief-card:nth-child(67) {
  border-left-color: #3d6b8e;
}

.planning-brief .brief-card:nth-child(68) {
  border-left-color: #7b6845;
}

.planning-brief .brief-card:nth-child(69) {
  border-left-color: #1f7a8c;
}

.planning-brief .brief-card:nth-child(70) {
  border-left-color: #557c48;
}

.planning-brief .brief-card:nth-child(71) {
  border-left-color: #8b6f37;
}

.planning-brief .brief-card:nth-child(72) {
  border-left-color: #4b7f8f;
}

.planning-brief .brief-card:nth-child(73) {
  border-left-color: #2f7a67;
}

.planning-brief .brief-card:nth-child(74) {
  border-left-color: #376f5a;
}

.planning-brief .brief-card:nth-child(75) {
  border-left-color: #b15f4a;
}

.planning-brief .brief-card:nth-child(76) {
  border-left-color: #6a65a8;
}

.planning-brief .brief-card:nth-child(77) {
  border-left-color: #3e6f78;
}

.planning-brief .brief-card:nth-child(78) {
  border-left-color: #8a6a45;
}

.planning-brief .brief-card:nth-child(79) {
  border-left-color: #6f7f3e;
}

.planning-brief .brief-card:nth-child(80) {
  border-left-color: #8d6b36;
}

.planning-brief .brief-card:nth-child(81) {
  border-left-color: #1f7f8d;
}

.planning-brief .brief-card:nth-child(82) {
  border-left-color: #7a5942;
}

.planning-brief .brief-card:nth-child(83) {
  border-left-color: #4e7a59;
}

.planning-brief .brief-card:nth-child(84) {
  border-left-color: #9a6b3b;
}

.planning-brief .brief-card:nth-child(85) {
  border-left-color: #5d6f91;
}

.planning-brief .brief-card:nth-child(86) {
  border-left-color: #6b7d4e;
}

.planning-brief .brief-card:nth-child(87) {
  border-left-color: #8a5a73;
}

.planning-brief .brief-card:nth-child(88) {
  border-left-color: #536d7f;
}

.planning-brief .brief-card:nth-child(89) {
  border-left-color: #4f7d7a;
}

.planning-brief .brief-card:nth-child(90) {
  border-left-color: #8a6a3c;
}

.planning-brief .brief-card:nth-child(91) {
  border-left-color: #5a7696;
}

.planning-brief .brief-card:nth-child(92) {
  border-left-color: #6c7a8a;
}

.planning-brief .brief-card:nth-child(93) {
  border-left-color: #3f7662;
}

.planning-brief .brief-card:nth-child(94) {
  border-left-color: #8b6741;
}

.planning-brief .brief-card:nth-child(95) {
  border-left-color: #3f7891;
}

.planning-brief .brief-card:nth-child(96) {
  border-left-color: #7f6547;
}

.planning-brief .brief-card:nth-child(97) {
  border-left-color: #6e5a93;
}

.planning-brief .brief-card:nth-child(98) {
  border-left-color: #4f6f6b;
}

.planning-brief .brief-card:nth-child(99) {
  border-left-color: #9a6b35;
}

.planning-brief .brief-card:nth-child(100) {
  border-left-color: #8a4f62;
}

.planning-brief .brief-card:nth-child(101) {
  border-left-color: #5b6f91;
}

.planning-brief .brief-card:nth-child(102) {
  border-left-color: #7b6a3d;
}

.planning-brief .brief-card:nth-child(103) {
  border-left-color: #3f7a70;
}

.planning-brief .brief-card:nth-child(104) {
  border-left-color: #8a5d44;
}

.planning-brief .brief-card:nth-child(105) {
  border-left-color: #9a6b35;
}

.planning-brief .brief-card:nth-child(106) {
  border-left-color: #526f8a;
}

.planning-brief .brief-card:nth-child(107) {
  border-left-color: #7c6550;
}

.planning-brief .brief-card:nth-child(108) {
  border-left-color: #607a58;
}

.planning-brief .brief-card:nth-child(109) {
  border-left-color: #3f7f8e;
}

.planning-brief .brief-card:nth-child(110) {
  border-left-color: #6d7f4f;
}

.planning-brief .brief-card:nth-child(111) {
  border-left-color: #74648a;
}

.planning-brief .brief-card:nth-child(112) {
  border-left-color: #4f7f7a;
}

.planning-brief .brief-card:nth-child(113) {
  border-left-color: #8a6a4f;
}

.planning-brief .brief-card:nth-child(114) {
  border-left-color: #5d7696;
}

.planning-brief .brief-card:nth-child(115) {
  border-left-color: #9a6b35;
}

.planning-brief .brief-card:nth-child(116) {
  border-left-color: #7f6b42;
}

.planning-brief .brief-card:nth-child(117) {
  border-left-color: #7a5a72;
}

.planning-brief .brief-card:nth-child(118) {
  border-left-color: #4f7568;
}

.planning-brief .brief-card:nth-child(119) {
  border-left-color: #766b8f;
}

.planning-brief .brief-card:nth-child(120) {
  border-left-color: #4f7f86;
}

.planning-brief .brief-card:nth-child(121) {
  border-left-color: #8a6b42;
}

.planning-brief .brief-card:nth-child(122) {
  border-left-color: #8a6a3c;
}

.planning-brief .brief-card:nth-child(123) {
  border-left-color: #6d7660;
}

.planning-brief .brief-card:nth-child(124) {
  border-left-color: #597a72;
}

.planning-brief .brief-card:nth-child(125) {
  border-left-color: #4f7c68;
}

.planning-brief .brief-card:nth-child(126) {
  border-left-color: #8b6a42;
}

.planning-brief .brief-card:nth-child(127) {
  border-left-color: #4d7089;
}

.planning-brief .brief-card:nth-child(128) {
  border-left-color: #7b5f8f;
}

.planning-brief .brief-card:nth-child(129) {
  border-left-color: #5f7482;
}

.planning-brief .brief-card:nth-child(130) {
  border-left-color: #8f684b;
}

.planning-brief .brief-card:nth-child(131) {
  border-left-color: #9a6d39;
}

.planning-brief .brief-card:nth-child(132) {
  border-left-color: #596f8f;
}

.planning-brief .brief-card:nth-child(133) {
  border-left-color: #557c73;
}

.planning-brief .brief-card:nth-child(134) {
  border-left-color: #4f8b68;
}

.planning-brief .brief-card:nth-child(135) {
  border-left-color: #567b91;
}

.planning-brief .brief-card:nth-child(136) {
  border-left-color: #8a7750;
}

.planning-brief .brief-card:nth-child(137) {
  border-left-color: #4f7891;
}

.planning-brief .brief-card:nth-child(138) {
  border-left-color: #6e7f4b;
}

.planning-brief .brief-card:nth-child(139) {
  border-left-color: #8f6b42;
}

.planning-brief .brief-card:nth-child(140) {
  border-left-color: #2f7f86;
}

.planning-brief .brief-card:nth-child(141) {
  border-left-color: #6c7193;
}

.planning-brief .brief-card:nth-child(142) {
  border-left-color: #9a5f45;
}

.planning-brief .brief-card:nth-child(143) {
  border-left-color: #3f7f8a;
}

.planning-brief .brief-card:nth-child(144) {
  border-left-color: #7b6a92;
}

.planning-brief .brief-card:nth-child(145) {
  border-left-color: #8f6a35;
}

.planning-brief .brief-card:nth-child(146) {
  border-left-color: #4f7a5f;
}

.planning-brief .brief-card:nth-child(147) {
  border-left-color: #6f7245;
}

.planning-brief .brief-card:nth-child(148) {
  border-left-color: #9a5a3f;
}

.planning-brief .brief-card:nth-child(149) {
  border-left-color: #4c7892;
}

.planning-brief .brief-card:nth-child(150) {
  border-left-color: #8b6b42;
}

.planning-brief .brief-card:nth-child(151) {
  border-left-color: #7a5a8f;
}

.planning-brief .brief-card:nth-child(152) {
  border-left-color: #9a6a35;
}

.planning-brief .brief-card:nth-child(153) {
  border-left-color: #2f7f86;
}

.planning-brief .brief-card:nth-child(154) {
  border-left-color: #5f7a4b;
}

.planning-brief .brief-card:nth-child(155) {
  border-left-color: #3f6f91;
}

.planning-brief .brief-card:nth-child(156) {
  border-left-color: #8f5f45;
}

.planning-brief .brief-card:nth-child(157) {
  border-left-color: #5d6f8a;
}

.planning-brief .brief-card:nth-child(158) {
  border-left-color: #7a6842;
}

.planning-brief .brief-card:nth-child(159) {
  border-left-color: #8a4f62;
}

.planning-brief .brief-card:nth-child(160) {
  border-left-color: #4f7a68;
}

.planning-brief .brief-card:nth-child(161) {
  border-left-color: #6f5f8f;
}

.planning-brief .brief-card:nth-child(162) {
  border-left-color: #7b6a3f;
}

.planning-brief .brief-card:nth-child(163) {
  border-left-color: #4b7f72;
}

.planning-brief .brief-card:nth-child(164) {
  border-left-color: #5f7f45;
}

.planning-brief .brief-card:nth-child(165) {
  border-left-color: #4f7791;
}

.planning-brief .brief-card:nth-child(166) {
  border-left-color: #8b6a42;
}

.planning-brief .brief-card:nth-child(167) {
  border-left-color: #5a7f68;
}

.planning-brief .brief-card:nth-child(168) {
  border-left-color: #6f5f91;
}

.planning-brief .brief-card:nth-child(169) {
  border-left-color: #7b6842;
}

.planning-brief .brief-card:nth-child(170) {
  border-left-color: #4f728f;
}

.planning-brief .brief-card:nth-child(171) {
  border-left-color: #6f7a45;
}

.planning-brief .brief-card:nth-child(172) {
  border-left-color: #8a5f4b;
}

.planning-brief .brief-card:nth-child(173) {
  border-left-color: #5f7491;
}

.planning-brief .brief-card:nth-child(174) {
  border-left-color: #8f6a35;
}

.planning-brief .brief-card:nth-child(175) {
  border-left-color: #4e7a6f;
}

.planning-brief .brief-card:nth-child(176) {
  border-left-color: #3f7f68;
}

.planning-brief .brief-card:nth-child(177) {
  border-left-color: #9a6a3d;
}

.planning-brief .brief-card:nth-child(178) {
  border-left-color: #8a4f62;
}

.planning-brief .brief-card:nth-child(179) {
  border-left-color: #3f7f8e;
}

.planning-brief .brief-card:nth-child(180) {
  border-left-color: #6f8a45;
}

.planning-brief .brief-card:nth-child(181) {
  border-left-color: #8a6a4f;
}

.planning-brief .brief-card:nth-child(182) {
  border-left-color: #4f7a72;
}

.planning-brief .brief-card:nth-child(183) {
  border-left-color: #527a92;
}

.planning-brief .brief-card:nth-child(184) {
  border-left-color: #6c7491;
}

.planning-brief .brief-card:nth-child(185) {
  border-left-color: #8b6f42;
}

.planning-brief .brief-card:nth-child(186) {
  border-left-color: #4f7a5f;
}

.planning-brief .brief-card:nth-child(187) {
  border-left-color: #7b6845;
}

.planning-brief .brief-card:nth-child(188) {
  border-left-color: #2f7f86;
}

.planning-brief .brief-card:nth-child(189) {
  border-left-color: #8f6b45;
}

.planning-brief .brief-card:nth-child(190) {
  border-left-color: #5d6f8a;
}

.planning-brief .brief-card:nth-child(191) {
  border-left-color: #7a5a72;
}

.planning-brief .brief-card:nth-child(192) {
  border-left-color: #4f728f;
}

.planning-brief .brief-card:nth-child(193) {
  border-left-color: #3f7a68;
}

.planning-brief .brief-card:nth-child(194) {
  border-left-color: #4f7a86;
}

.planning-brief .brief-card:nth-child(195) {
  border-left-color: #8a6a42;
}

.planning-brief .brief-card:nth-child(196) {
  border-left-color: #6f8a45;
}

.planning-brief .brief-card:nth-child(197) {
  border-left-color: #8f5f45;
}

.planning-brief .brief-card:nth-child(198) {
  border-left-color: #4f728f;
}

.planning-brief .brief-card:nth-child(199) {
  border-left-color: #9a6b7a;
}

.planning-brief .brief-card:nth-child(200) {
  border-left-color: #3f7f68;
}

.planning-brief .brief-card:nth-child(201) {
  border-left-color: #6c7193;
}

.planning-brief .brief-card:nth-child(202) {
  border-left-color: #9a5f45;
}

.planning-brief .brief-card:nth-child(203) {
  border-left-color: #5f7a4b;
}

.planning-brief .brief-card:nth-child(204) {
  border-left-color: #7b6842;
}

.planning-brief .brief-card:nth-child(205) {
  border-left-color: #8a4f62;
}

.planning-brief .brief-card:nth-child(206) {
  border-left-color: #4f7a72;
}

.planning-brief .brief-card:nth-child(207) {
  border-left-color: #2f7f86;
}

.planning-brief .brief-card:nth-child(208) {
  border-left-color: #5d6f8a;
}

.planning-brief .brief-card:nth-child(209) {
  border-left-color: #2f7f7b;
}

.planning-brief .brief-card:nth-child(210) {
  border-left-color: #9a6338;
}

.planning-brief .brief-card:nth-child(211) {
  border-left-color: #6f7d35;
}

.planning-brief .brief-card:nth-child(212) {
  border-left-color: #3f6f9d;
}

.planning-brief .brief-card:nth-child(213) {
  border-left-color: #7b5aa3;
}

.planning-brief .brief-card:nth-child(214) {
  border-left-color: #b05b6d;
}

.planning-brief .brief-card:nth-child(215) {
  border-left-color: #4b7f55;
}

.planning-brief .brief-card:nth-child(216) {
  border-left-color: #c07332;
}

.planning-brief .brief-card:nth-child(217) {
  border-left-color: #5d826e;
}

.planning-brief .brief-card:nth-child(218) {
  border-left-color: #7d6548;
}

.planning-brief .brief-card:nth-child(219) {
  border-left-color: #92668b;
}

.planning-brief .brief-card:nth-child(220) {
  border-left-color: #4e7898;
}

.planning-brief .brief-card:nth-child(221) {
  border-left-color: #a45f42;
}

.planning-brief .brief-card:nth-child(222) {
  border-left-color: #3f867c;
}

.planning-brief .brief-card:nth-child(223) {
  border-left-color: #6b7f3b;
}

.planning-brief .brief-card:nth-child(224) {
  border-left-color: #7a5f4b;
}

.planning-brief .brief-card:nth-child(225) {
  border-left-color: #2f7892;
}

.planning-brief .brief-card:nth-child(226) {
  border-left-color: #6b7742;
}

.planning-brief .brief-card:nth-child(227) {
  border-left-color: #4f7d66;
}

.planning-brief .brief-card:nth-child(228) {
  border-left-color: #6a5d91;
}

.planning-brief .brief-card:nth-child(229) {
  border-left-color: #a25c6b;
}

.planning-brief .brief-card:nth-child(230) {
  border-left-color: #7f6b36;
}

.planning-brief .brief-card:nth-child(231) {
  border-left-color: #3f6f9c;
}

.planning-brief .brief-card:nth-child(232) {
  border-left-color: #a85f3d;
}

.planning-brief .brief-card:nth-child(233) {
  border-left-color: #4e7f70;
}

.planning-brief .brief-card:nth-child(234) {
  border-left-color: #9a6a35;
}

.planning-brief .brief-card:nth-child(235) {
  border-left-color: #6f7f4a;
}

.planning-brief .brief-card:nth-child(236) {
  border-left-color: #7c6449;
}

.planning-brief .brief-card:nth-child(237) {
  border-left-color: #596f8f;
}

.planning-brief .brief-card:nth-child(238) {
  border-left-color: #3f826f;
}

.planning-brief .brief-card:nth-child(239) {
  border-left-color: #2f7b98;
}

.planning-brief .brief-card:nth-child(240) {
  border-left-color: #4b8262;
}

.planning-brief .brief-card:nth-child(241) {
  border-left-color: #8a6f3d;
}

.planning-brief .brief-card:nth-child(242) {
  border-left-color: #5a7895;
}

.planning-brief .brief-card:nth-child(243) {
  border-left-color: #9a643f;
}

.planning-brief .brief-card:nth-child(244) {
  border-left-color: #6b7350;
}

.planning-brief .brief-card:nth-child(245) {
  border-left-color: #8b5d70;
}

.planning-brief .brief-card:nth-child(246) {
  border-left-color: #6f6840;
}

.planning-brief .brief-card:nth-child(247) {
  border-left-color: #3f7780;
}

.planning-brief .brief-card:nth-child(248) {
  border-left-color: #6d7f9a;
}

.planning-brief .brief-card:nth-child(249) {
  border-left-color: #4f7d8a;
}

.planning-brief .brief-card:nth-child(250) {
  border-left-color: #a05f43;
}

.planning-brief .brief-card:nth-child(251) {
  border-left-color: #5f7f4a;
}

.planning-brief .brief-card:nth-child(252) {
  border-left-color: #7d6449;
}

.planning-brief .brief-card:nth-child(253) {
  border-left-color: #5b7f66;
}

.planning-brief .brief-card:nth-child(254) {
  border-left-color: #9a4f3f;
}

.planning-brief .brief-card:nth-child(255) {
  border-left-color: #6a6f3e;
}

.planning-brief .brief-card:nth-child(256) {
  border-left-color: #8a5a37;
}

.planning-brief .brief-card:nth-child(257) {
  border-left-color: #3f7f8f;
}

.planning-brief .brief-card:nth-child(258) {
  border-left-color: #8f5c3d;
}

.planning-brief .brief-card:nth-child(259) {
  border-left-color: #6e7650;
}

.planning-brief .brief-card:nth-child(260) {
  border-left-color: #4d7f7a;
}

.planning-brief .brief-card:nth-child(261) {
  border-left-color: #6d6c9b;
}

.planning-brief .brief-card:nth-child(262) {
  border-left-color: #5d7a49;
}

.planning-brief .brief-card:nth-child(263) {
  border-left-color: #8a6b3d;
}

.planning-brief .brief-card:nth-child(264) {
  border-left-color: #3f7a89;
}

.planning-brief .brief-card:nth-child(265) {
  border-left-color: #786243;
}

.planning-brief .brief-card:nth-child(266) {
  border-left-color: #4f7890;
}

.planning-brief .brief-card:nth-child(267) {
  border-left-color: #8d6045;
}

.planning-brief .brief-card:nth-child(268) {
  border-left-color: #557d73;
}

.planning-brief .brief-card:nth-child(269) {
  border-left-color: #5d7e8b;
}

.planning-brief .brief-card:nth-child(270) {
  border-left-color: #8d5d6a;
}

.planning-brief .brief-card:nth-child(271) {
  border-left-color: #7a7040;
}

.planning-brief .brief-card:nth-child(272) {
  border-left-color: #4d7d76;
}

.planning-brief .brief-card:nth-child(273) {
  border-left-color: #806648;
}

.planning-brief .brief-card:nth-child(274) {
  border-left-color: #766096;
}

.planning-brief .brief-card:nth-child(275) {
  border-left-color: #5d7b56;
}

.planning-brief .brief-card:nth-child(276) {
  border-left-color: #8a6d43;
}

.planning-brief .brief-card:nth-child(277) {
  border-left-color: #5c7b84;
}

.planning-brief .brief-card:nth-child(278) {
  border-left-color: #8a5f4b;
}

.planning-brief .brief-card:nth-child(279) {
  border-left-color: #7e6040;
}

.planning-brief .brief-card:nth-child(280) {
  border-left-color: #3f7d8a;
}

.planning-brief .brief-card:nth-child(281) {
  border-left-color: #5f7490;
}

.planning-brief .brief-card:nth-child(282) {
  border-left-color: #6d7b45;
}

.planning-brief .brief-card:nth-child(283) {
  border-left-color: #6c6f41;
}

.planning-brief .brief-card:nth-child(284) {
  border-left-color: #8b6940;
}

.planning-brief .brief-card:nth-child(285) {
  border-left-color: #4c7b90;
}

.planning-brief .brief-card:nth-child(286) {
  border-left-color: #6f7892;
}

.planning-brief .brief-card:nth-child(287) {
  border-left-color: #7b6b4a;
}

.planning-brief .brief-card:nth-child(288) {
  border-left-color: #607d55;
}

.planning-brief .brief-card:nth-child(289) {
  border-left-color: #876149;
}

.planning-brief .brief-card:nth-child(290) {
  border-left-color: #7c5f68;
}

.planning-brief .brief-card:nth-child(291) {
  border-left-color: #5c7b64;
}

.planning-brief .brief-card:nth-child(292) {
  border-left-color: #526f8a;
}

.planning-brief .brief-card:nth-child(293) {
  border-left-color: #8a6755;
}

.planning-brief .brief-card:nth-child(294) {
  border-left-color: #6f7344;
}

.planning-brief .brief-card:nth-child(295) {
  border-left-color: #80613f;
}

.planning-brief .brief-card:nth-child(296) {
  border-left-color: #5d7b5d;
}

.planning-brief .brief-card:nth-child(297) {
  border-left-color: #897047;
}

.planning-brief .brief-card:nth-child(298) {
  border-left-color: #706184;
}

.planning-brief .brief-card:nth-child(299) {
  border-left-color: #8a6a3e;
}

.planning-brief .brief-card:nth-child(300) {
  border-left-color: #5a7d60;
}

.planning-brief .brief-card:nth-child(301) {
  border-left-color: #8a6043;
}

.planning-brief .brief-card:nth-child(302) {
  border-left-color: #6c7c48;
}

.planning-brief .brief-card:nth-child(303) {
  border-left-color: #7a6450;
}

.planning-brief .brief-card:nth-child(304) {
  border-left-color: #4f7c86;
}

.planning-brief .brief-card:nth-child(305) {
  border-left-color: #777346;
}

.planning-brief .brief-card:nth-child(306) {
  border-left-color: #3f7b88;
}

.planning-brief .brief-card:nth-child(307) {
  border-left-color: #5a7c72;
}

.planning-brief .brief-card:nth-child(308) {
  border-left-color: #8c7145;
}

.planning-brief .brief-card:nth-child(309) {
  border-left-color: #6b7b53;
}

.planning-brief .brief-card:nth-child(310) {
  border-left-color: #5e748f;
}

.planning-brief .brief-card:nth-child(311) {
  border-left-color: #7f604d;
}

.planning-brief .brief-card:nth-child(312) {
  border-left-color: #6d7b42;
}

.planning-brief .brief-card:nth-child(313) {
  border-left-color: #8b6841;
}

.planning-brief .brief-card:nth-child(314) {
  border-left-color: #3f758e;
}

.planning-brief .brief-card:nth-child(315) {
  border-left-color: #6f7a45;
}

.planning-brief .brief-card:nth-child(316) {
  border-left-color: #8a6642;
}

.planning-brief .brief-card:nth-child(317) {
  border-left-color: #7a5f8a;
}

.planning-brief .brief-card:nth-child(318) {
  border-left-color: #4f7c68;
}

.planning-brief .brief-card:nth-child(319) {
  border-left-color: #7e6a3f;
}

.planning-brief .brief-card:nth-child(320) {
  border-left-color: #8a5e60;
}

.planning-brief .brief-card:nth-child(321) {
  border-left-color: #3f7a85;
}

.planning-brief .brief-card:nth-child(322) {
  border-left-color: #6d7c48;
}

.planning-brief .brief-card:nth-child(323) {
  border-left-color: #7a644b;
}

.planning-brief .brief-card:nth-child(324) {
  border-left-color: #527a90;
}

.planning-brief .brief-card:nth-child(325) {
  border-left-color: #6f7b58;
}

.planning-brief .brief-card:nth-child(326) {
  border-left-color: #8a6a4a;
}

.planning-brief .brief-card:nth-child(327) {
  border-left-color: #557d7a;
}

.planning-brief .brief-card:nth-child(328) {
  border-left-color: #796347;
}

.planning-brief .brief-card:nth-child(329) {
  border-left-color: #4f7894;
}

.planning-brief .brief-card:nth-child(330) {
  border-left-color: #8a7042;
}

.planning-brief .brief-card:nth-child(331) {
  border-left-color: #4f7d74;
}

.planning-brief .brief-card:nth-child(332) {
  border-left-color: #687d45;
}

.planning-brief .brief-card:nth-child(333) {
  border-left-color: #7b6144;
}

.planning-brief .brief-card:nth-child(334) {
  border-left-color: #5c7890;
}

.planning-brief .brief-card:nth-child(335) {
  border-left-color: #6f7a52;
}

.planning-brief .brief-card:nth-child(336) {
  border-left-color: #8b5f66;
}

.planning-brief .brief-card:nth-child(337) {
  border-left-color: #6a6f9a;
}

.planning-brief .brief-card:nth-child(338) {
  border-left-color: #8a6742;
}

.planning-brief .brief-card:nth-child(339) {
  border-left-color: #6b7d4a;
}

.planning-brief .brief-card:nth-child(340) {
  border-left-color: #4d7e88;
}

.planning-brief .brief-card:nth-child(341) {
  border-left-color: #657f70;
}

.planning-brief .brief-card:nth-child(342) {
  border-left-color: #806a43;
}

.planning-brief .brief-card:nth-child(343) {
  border-left-color: #9a6344;
}

.planning-brief .brief-card:nth-child(344) {
  border-left-color: #4f7c88;
}

.planning-brief .brief-card:nth-child(345) {
  border-left-color: #7a6640;
}

.planning-brief .brief-card:nth-child(346) {
  border-left-color: #8a6f43;
}

.planning-brief .brief-card:nth-child(347) {
  border-left-color: #526f8e;
}

.planning-brief .brief-card:nth-child(348) {
  border-left-color: #5f7a68;
}

.planning-brief .brief-card:nth-child(349) {
  border-left-color: #7f604d;
}

.planning-brief .brief-card:nth-child(350) {
  border-left-color: #6b7c48;
}

.planning-brief .brief-card:nth-child(351) {
  border-left-color: #547a8d;
}

.planning-brief .brief-card:nth-child(352) {
  border-left-color: #6f784d;
}

.planning-brief .brief-card:nth-child(353) {
  border-left-color: #7d6550;
}

.planning-brief .brief-card:nth-child(354) {
  border-left-color: #4f7d66;
}

.planning-brief .brief-card:nth-child(355) {
  border-left-color: #876044;
}

.planning-brief .brief-card:nth-child(356) {
  border-left-color: #5a7b8a;
}

.planning-brief .brief-card:nth-child(357) {
  border-left-color: #6f7b52;
}

.planning-brief .brief-card:nth-child(358) {
  border-left-color: #8a674a;
}

.planning-brief .brief-card:nth-child(359) {
  border-left-color: #4f7a67;
}

.planning-brief .brief-card:nth-child(360) {
  border-left-color: #4b7f91;
}

.planning-brief .brief-card:nth-child(361) {
  border-left-color: #7a5f8d;
}

.planning-brief .brief-card:nth-child(362) {
  border-left-color: #8a6840;
}

.planning-brief .brief-card:nth-child(363) {
  border-left-color: #5f7d54;
}

.planning-brief .brief-card:nth-child(364) {
  border-left-color: #8a5f45;
}

.planning-brief .brief-card:nth-child(365) {
  border-left-color: #4f7890;
}

.planning-brief .brief-card:nth-child(366) {
  border-left-color: #6f7650;
}

.planning-brief .brief-card:nth-child(367) {
  border-left-color: #8a7046;
}

.planning-brief .brief-card:nth-child(368) {
  border-left-color: #5f6f91;
}

.planning-brief .brief-card:nth-child(369) {
  border-left-color: #2f7d89;
}

.planning-brief .brief-card:nth-child(370) {
  border-left-color: #6f7b4a;
}

.planning-brief .brief-card:nth-child(371) {
  border-left-color: #4f7d68;
}

.planning-brief .brief-card:nth-child(372) {
  border-left-color: #7a6640;
}

.planning-brief .brief-card:nth-child(373) {
  border-left-color: #5a7b88;
}

.planning-brief .brief-card:nth-child(374) {
  border-left-color: #6f7c4a;
}

.planning-brief .brief-card:nth-child(375) {
  border-left-color: #4f7c68;
}

.planning-brief .brief-card:nth-child(376) {
  border-left-color: #7a6542;
}

.planning-brief .brief-card:nth-child(377) {
  border-left-color: #5a7890;
}

.planning-brief .brief-card:nth-child(378) {
  border-left-color: #806147;
}

.planning-brief .brief-card:nth-child(379) {
  border-left-color: #4e7a70;
}

.planning-brief .brief-card:nth-child(380) {
  border-left-color: #3f7d8f;
}

.planning-brief .brief-card:nth-child(381) {
  border-left-color: #8a6840;
}

.planning-brief .brief-card:nth-child(382) {
  border-left-color: #4f7d82;
}

.planning-brief .brief-card:nth-child(383) {
  border-left-color: #6f6f95;
}

.planning-brief .brief-card:nth-child(384) {
  border-left-color: #8a6a43;
}

.planning-brief .brief-card:nth-child(385) {
  border-left-color: #3f7c88;
}

.planning-brief .brief-card:nth-child(386) {
  border-left-color: #5f748d;
}

.planning-brief .brief-card:nth-child(387) {
  border-left-color: #7a6045;
}

.planning-brief .brief-card:nth-child(388) {
  border-left-color: #8a5f52;
}

.planning-brief .brief-card:nth-child(389) {
  border-left-color: #7a6640;
}

.planning-brief .brief-card:nth-child(390) {
  border-left-color: #4f7890;
}

.planning-brief .brief-card:nth-child(391) {
  border-left-color: #8a6f45;
}

.planning-brief .brief-card:nth-child(392) {
  border-left-color: #3f7d87;
}

.planning-brief .brief-card:nth-child(393) {
  border-left-color: #7d6047;
}

.planning-brief .brief-card:nth-child(394) {
  border-left-color: #8a6840;
}

.planning-brief .brief-card:nth-child(395) {
  border-left-color: #6f7b4c;
}

.planning-brief .brief-card:nth-child(396) {
  border-left-color: #4f7d72;
}

.planning-brief .brief-card:nth-child(397) {
  border-left-color: #6b6f92;
}

.planning-brief .brief-card:nth-child(398) {
  border-left-color: #8a6044;
}

.planning-brief .brief-card:nth-child(399) {
  border-left-color: #756240;
}

.planning-brief .brief-card:nth-child(400) {
  border-left-color: #4f778a;
}

.planning-brief .brief-card:nth-child(401) {
  border-left-color: #8a6942;
}

.planning-brief .brief-card:nth-child(402) {
  border-left-color: #6f5f8a;
}

.planning-brief .brief-card:nth-child(403) {
  border-left-color: #4f7a68;
}

.planning-brief .brief-card:nth-child(404) {
  border-left-color: #7a6f40;
}

.planning-brief .brief-card:nth-child(405) {
  border-left-color: #8a6045;
}

.planning-brief .brief-card:nth-child(406) {
  border-left-color: #5f6f94;
}

.planning-brief .brief-card:nth-child(407) {
  border-left-color: #6f5f8a;
}

.planning-brief .brief-card:nth-child(408) {
  border-left-color: #3f7d8a;
}

.planning-brief .brief-card:nth-child(409) {
  border-left-color: #6b7d4a;
}

.planning-brief .brief-card:nth-child(410) {
  border-left-color: #8a6240;
}

.planning-brief .brief-card:nth-child(411) {
  border-left-color: #7d5f4a;
}

.planning-brief .brief-card:nth-child(412) {
  border-left-color: #5c748f;
}

.planning-brief .brief-card:nth-child(413) {
  border-left-color: #4f7c68;
}

.planning-brief .brief-card:nth-child(414) {
  border-left-color: #7a6048;
}

.planning-brief .brief-card:nth-child(415) {
  border-left-color: #4e7a85;
}

.planning-brief .brief-card:nth-child(416) {
  border-left-color: #6f7b45;
}

.planning-brief .brief-card:nth-child(417) {
  border-left-color: #4f7d86;
}

.planning-brief .brief-card:nth-child(418) {
  border-left-color: #8a6942;
}

.planning-brief .brief-card:nth-child(419) {
  border-left-color: #5f748a;
}

.planning-brief .brief-card:nth-child(420) {
  border-left-color: #7b5f43;
}

.planning-brief .brief-card:nth-child(421) {
  border-left-color: #466f86;
}

.planning-brief .brief-card:nth-child(422) {
  border-left-color: #4f7d5e;
}

.planning-brief .brief-card:nth-child(423) {
  border-left-color: #55718f;
}

.planning-brief .brief-card:nth-child(424) {
  border-left-color: #8a6f42;
}

.planning-brief .brief-card:nth-child(425) {
  border-left-color: #6f5d86;
}

.planning-brief .brief-card:nth-child(426) {
  border-left-color: #4c7d89;
}

.planning-brief .brief-card:nth-child(427) {
  border-left-color: #765f4b;
}

.planning-brief .brief-card:nth-child(428) {
  border-left-color: #4f7a72;
}

.planning-brief .brief-card:nth-child(429) {
  border-left-color: #7b7046;
}

.planning-brief .brief-card:nth-child(430) {
  border-left-color: #59738c;
}

.planning-brief .brief-card:nth-child(431) {
  border-left-color: #4c7d75;
}

.planning-brief .brief-card:nth-child(432) {
  border-left-color: #6f7a48;
}

.planning-brief .brief-card:nth-child(433) {
  border-left-color: #8a6544;
}

.planning-brief .brief-card:nth-child(434) {
  border-left-color: #7d6d45;
}

.planning-brief .brief-card:nth-child(435) {
  border-left-color: #4f748d;
}

.planning-brief .brief-card:nth-child(436) {
  border-left-color: #4f7c83;
}

.planning-brief .brief-card:nth-child(437) {
  border-left-color: #746244;
}

.planning-brief .brief-card:nth-child(438) {
  border-left-color: #8a7040;
}

.planning-brief .brief-card:nth-child(439) {
  border-left-color: #4f7d6a;
}

.planning-brief .brief-card:nth-child(440) {
  border-left-color: #6f7945;
}

.planning-brief .brief-card:nth-child(441) {
  border-left-color: #7d6044;
}

.planning-brief .brief-card:nth-child(442) {
  border-left-color: #4d7b86;
}

.planning-brief .brief-card:nth-child(443) {
  border-left-color: #5b768d;
}

.planning-brief .brief-card:nth-child(444) {
  border-left-color: #4e7c70;
}

.planning-brief .brief-card:nth-child(445) {
  border-left-color: #4d748c;
}

.planning-brief .brief-card:nth-child(446) {
  border-left-color: #5f7d4a;
}

.planning-brief .brief-card:nth-child(447) {
  border-left-color: #7d6548;
}

.planning-brief .brief-card:nth-child(448) {
  border-left-color: #5d7489;
}

.planning-brief .brief-card:nth-child(449) {
  border-left-color: #4f7d7a;
}

.planning-brief .brief-card:nth-child(450) {
  border-left-color: #7a6544;
}

.planning-brief .brief-card:nth-child(451) {
  border-left-color: #5f748d;
}

.planning-brief .brief-card:nth-child(452) {
  border-left-color: #4f7a68;
}

.planning-brief .brief-card:nth-child(453) {
  border-left-color: #5d7890;
}

.planning-brief .brief-card:nth-child(454) {
  border-left-color: #7d6b45;
}

.planning-brief .brief-card:nth-child(455) {
  border-left-color: #4c7d86;
}

.planning-brief .brief-card:nth-child(456) {
  border-left-color: #6f7a4a;
}

.planning-brief .brief-card:nth-child(457) {
  border-left-color: #536f8f;
}

.planning-brief .brief-card:nth-child(458) {
  border-left-color: #4e7c72;
}

.planning-brief .brief-card:nth-child(459) {
  border-left-color: #806445;
}

.planning-brief .brief-card:nth-child(460) {
  border-left-color: #5a7d63;
}

.planning-brief .brief-card:nth-child(461) {
  border-left-color: #6f5f8a;
}

.planning-brief .brief-card:nth-child(462) {
  border-left-color: #6f7892;
}

.planning-brief .brief-card:nth-child(463) {
  border-left-color: #3f7c88;
}

.planning-brief .brief-card:nth-child(464) {
  border-left-color: #6f7890;
}

.planning-brief .brief-card:nth-child(465) {
  border-left-color: #8a6842;
}

.planning-brief .brief-card:nth-child(466) {
  border-left-color: #4f7d68;
}

.planning-brief .brief-card:nth-child(467) {
  border-left-color: #5a748a;
}

.planning-brief .brief-card:nth-child(468) {
  border-left-color: #7d6045;
}

.planning-brief .brief-card:nth-child(469) {
  border-left-color: #4c7c72;
}

.planning-brief .brief-card:nth-child(470) {
  border-left-color: #6f7a4a;
}

.planning-brief .brief-card:nth-child(471) {
  border-left-color: #55758a;
}

.planning-brief .brief-card:nth-child(472) {
  border-left-color: #3f7d8b;
}

.planning-brief .brief-card:nth-child(473) {
  border-left-color: #6b7d55;
}

.planning-brief .brief-card:nth-child(474) {
  border-left-color: #7a6548;
}

.planning-brief .brief-card:nth-child(475) {
  border-left-color: #5d7892;
}

.planning-brief .brief-card:nth-child(476) {
  border-left-color: #4f7a68;
}

.planning-brief .brief-card:nth-child(477) {
  border-left-color: #806646;
}

.planning-brief .brief-card:nth-child(478) {
  border-left-color: #5f768d;
}

.planning-brief .brief-card:nth-child(479) {
  border-left-color: #7d6842;
}

.planning-brief .brief-card:nth-child(480) {
  border-left-color: #4e7c82;
}

.planning-brief .brief-card:nth-child(481) {
  border-left-color: #5a748f;
}

.planning-brief .brief-card:nth-child(482) {
  border-left-color: #3f7d86;
}

.planning-brief .brief-card:nth-child(483) {
  border-left-color: #4f7d68;
}

.planning-brief .brief-card:nth-child(484) {
  border-left-color: #6f7890;
}

.planning-brief .brief-card:nth-child(485) {
  border-left-color: #5a7b6d;
}

.planning-brief .brief-card:nth-child(486) {
  border-left-color: #806646;
}

.planning-brief .brief-card:nth-child(487) {
  border-left-color: #6f748d;
}

.planning-brief .brief-card:nth-child(488) {
  border-left-color: #3f7c88;
}

.planning-brief .brief-card:nth-child(489) {
  border-left-color: #5f758a;
}

.planning-brief .brief-card:nth-child(490) {
  border-left-color: #7d6548;
}

.planning-brief .brief-card:nth-child(491) {
  border-left-color: #6f7a4a;
}

.planning-brief .brief-card:nth-child(492) {
  border-left-color: #8a6045;
}

.planning-brief .brief-card:nth-child(493) {
  border-left-color: #4d748c;
}

.planning-brief .brief-card:nth-child(494) {
  border-left-color: #7d6842;
}

.planning-brief .brief-card:nth-child(495) {
  border-left-color: #4f7c83;
}

.planning-brief .brief-card:nth-child(496) {
  border-left-color: #806646;
}

.planning-brief .brief-card:nth-child(497) {
  border-left-color: #5f748a;
}

.planning-brief .brief-card:nth-child(498) {
  border-left-color: #6f7a4a;
}

.planning-brief .brief-card:nth-child(499) {
  border-left-color: #4c7d86;
}

.planning-brief .brief-card:nth-child(500) {
  border-left-color: #7d6045;
}

.planning-brief .brief-card:nth-child(501) {
  border-left-color: #3f7c88;
}

.planning-brief .brief-card:nth-child(502) {
  border-left-color: #4f7a68;
}

.planning-brief .brief-card:nth-child(503) {
  border-left-color: #5d7892;
}

.planning-brief .brief-card:nth-child(504) {
  border-left-color: #6f5f8a;
}

.planning-brief .brief-card:nth-child(505) {
  border-left-color: #5a7b6d;
}

.planning-brief .brief-card:nth-child(506) {
  border-left-color: #4d748c;
}

.planning-brief .brief-card:nth-child(507) {
  border-left-color: #7d6548;
}

.planning-brief .brief-card:nth-child(508) {
  border-left-color: #6f748d;
}

.planning-brief strong {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.25;
}

.planning-brief span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}

.section {
  margin-bottom: 46px;
}

.section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.section-header.compact {
  align-items: center;
  margin-bottom: 14px;
}

.section-header h2 {
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.18;
}

.text-link {
  color: var(--brand-2);
  font-weight: 750;
}

.card-grid,
.destination-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
}

.card,
.destination-card,
.province-card,
.guide-chip {
  border-radius: var(--radius);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}

.card:hover,
.destination-card:hover,
.province-card:hover,
.guide-chip:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}

.card:active,
.destination-card:active,
.province-card:active,
.guide-chip:active {
  transform: translateY(-1px);
}

.card:focus-visible,
.destination-card:focus-visible,
.province-card:focus-visible,
.guide-chip:focus-visible {
  border-color: rgba(15, 139, 141, .55);
  box-shadow: 0 0 0 4px rgba(15, 139, 141, .14), var(--shadow);
}

.card-img {
  position: relative;
  min-height: 178px;
  background-position: center;
  background-size: cover;
}

.card-badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff;
  background: rgba(216, 79, 58, .92);
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 50%;
  font-weight: 850;
}

.card-body {
  padding: 16px;
}

.card-body h3 {
  margin-bottom: 8px;
  font-size: 18px;
}

.card-body p {
  display: -webkit-box;
  overflow: hidden;
  color: var(--muted);
  font-size: 14px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.destination-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.destination-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  color: #fff;
  background-position: center;
  background-size: cover;
  box-shadow: var(--shadow-soft);
}

.destination-card span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.destination-card h3 {
  margin-top: 6px;
  font-size: 30px;
  line-height: 1.12;
}

.destination-card p {
  width: max-content;
  max-width: 100%;
  padding: 7px 10px;
  background: rgba(255, 255, 255, .18);
  border-radius: var(--pill);
  backdrop-filter: blur(8px);
}

.province-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px;
}

.province-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 10px 12px;
  align-items: center;
  width: 100%;
  min-height: 80px;
  padding: 12px;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-soft);
}

.province-thumb {
  grid-row: span 2;
  width: 54px;
  height: 54px;
  background-position: center;
  background-size: cover;
  border-radius: 6px;
}

.pc-name {
  overflow-wrap: anywhere;
  font-weight: 800;
}

.pc-count {
  color: var(--muted);
  font-size: 12px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 4px 0 18px;
  color: var(--muted);
  font-size: 14px;
}

.breadcrumb a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  color: var(--brand-2);
  font-weight: 700;
}

.breadcrumb span[aria-current="page"] {
  color: var(--ink);
  font-weight: 750;
}

.guide-chip:disabled,
.guide-chip[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
  transform: none;
  box-shadow: none;
}

.page-heading {
  margin: 8px 0 24px;
}

.page-heading p {
  color: var(--muted);
}

.article-hero {
  min-height: 300px;
  margin-bottom: 22px;
}

.article-hero h1 {
  font-size: clamp(30px, 5vw, 54px);
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.hero-meta span {
  padding: 7px 11px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  border-radius: var(--pill);
}

.sidebar-layout,
.article-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.sidebar.sticky,
.article-aside {
  position: sticky;
  top: calc(var(--nav-h) + 20px);
  max-height: none;
  overflow: visible;
  overscroll-behavior-y: auto;
}

.sidebar-nav,
.article-aside,
.guide-panel,
.article-content {
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.sidebar-nav,
.article-aside {
  padding: 14px;
}

.sidebar-nav h4,
.article-aside h4 {
  margin: 8px 0 10px;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: .04em;
}

.sidebar-nav a,
.sidebar-nav span,
.article-aside a {
  display: block;
  padding: 8px 10px;
  color: var(--ink);
  border-radius: 6px;
  font-size: 14px;
}

.sidebar-nav a:hover,
.article-aside a:hover,
.sidebar-nav a.active,
.article-aside a.active {
  color: #fff;
  background: var(--brand-2);
}

.nav-sub {
  margin-left: 14px;
  color: var(--muted) !important;
  font-size: 13px !important;
}

.nav-sub.active,
.nav-sub:hover {
  color: #fff !important;
}

.main-content {
  min-width: 0;
}

.guide-panel {
  margin-bottom: 18px;
  padding: 18px;
}

.guide-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
}

.guide-chip {
  display: grid;
  gap: 3px;
  min-height: 72px;
  padding: 12px;
  text-align: left;
  background: var(--soft);
  border: 1px solid transparent;
}

.guide-chip strong {
  overflow-wrap: anywhere;
}

.guide-chip span {
  color: var(--muted);
  font-size: 12px;
}

.topic-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.tag {
  color: var(--brand-2);
  background: rgba(15, 139, 141, .08);
  border: 1px solid rgba(15, 139, 141, .18);
}

.tag:hover,
.tag.active {
  color: #fff;
  background: var(--brand-2);
}

.article-content {
  width: 100%;
  max-width: 940px;
  padding: clamp(22px, 4vw, 42px);
}

.continue-panel {
  max-width: 940px;
  margin-top: 18px;
  padding: 18px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.article-shell + .continue-panel {
  max-width: none;
}

.continue-panel h2 {
  margin: 2px 0 6px;
  font-size: 24px;
}

.continue-panel p {
  margin: 0 0 14px;
  color: var(--muted);
}

.continue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.continue-actions button {
  padding: 8px 12px;
  color: var(--brand-2);
  font-weight: 750;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(15, 139, 141, .22);
  border-radius: var(--pill);
  cursor: pointer;
}

.continue-actions button:hover,
.continue-actions button:focus-visible {
  color: #fff;
  background: var(--brand-2);
  outline: none;
}

.article-shell .article-content {
  max-width: none;
}

.article-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -6px 0 22px;
  padding: 10px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(99, 113, 129, .16);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 22px rgba(19, 32, 43, .055);
}

.article-actions button {
  min-height: 36px;
  padding: 7px 12px;
  color: #174552;
  background: #fff;
  border: 1px solid rgba(15, 139, 141, .22);
  border-radius: var(--pill);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.article-actions button:hover,
.article-actions button:focus-visible {
  color: #fff;
  background: var(--brand-2);
  border-color: var(--brand-2);
  transform: translateY(-1px);
}

.article-content h1 {
  margin-bottom: 10px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.18;
}

.trip-check-note {
  display: grid;
  gap: 4px;
  margin: 0 0 22px;
  padding: 13px 15px;
  color: #284653;
  background: linear-gradient(135deg, rgba(15, 139, 141, .12), rgba(216, 79, 58, .08));
  border: 1px solid rgba(15, 139, 141, .22);
  border-radius: var(--radius-sm);
}

.trip-check-note strong {
  color: var(--brand-2);
  font-size: 14px;
  line-height: 1.35;
}

.trip-check-note span {
  font-size: 14px;
  line-height: 1.65;
}

.trip-check-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 6px;
}

.trip-check-actions button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 6px 10px;
  color: #174552;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(15, 139, 141, .24);
  border-radius: var(--pill);
  cursor: pointer;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.trip-check-actions button:hover,
.trip-check-actions button:focus-visible {
  background: #fff;
  border-color: rgba(15, 139, 141, .52);
  transform: translateY(-1px);
}

.trip-check-actions button:active {
  transform: translateY(0);
}

.article-content h2 {
  margin: 34px 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  font-size: clamp(22px, 3vw, 30px);
}

.article-content h3 {
  margin: 24px 0 10px;
  color: #1f4e5f;
  font-size: 20px;
}

.article-content h2,
.article-content h3,
.article-content h4 {
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.article-content h2[id],
.article-content h3[id] {
  scroll-margin-top: calc(var(--nav-h) + env(safe-area-inset-top) + 18px);
}

.article-toc {
  position: relative;
  margin: 4px 0 24px;
  padding: 14px 16px;
  background: #f5f8f6;
  border-left: 4px solid var(--brand-2);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.article-toc:focus-visible,
.article-content h2[tabindex="-1"]:focus-visible,
.article-content h3[tabindex="-1"]:focus-visible {
  outline: 3px solid rgba(15, 139, 141, .24);
  outline-offset: 3px;
}

.article-toc strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.article-toc strong span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.article-toc div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
  scroll-padding-inline: 12px;
  scrollbar-color: rgba(15, 139, 141, .42) transparent;
  scrollbar-width: thin;
}

.article-toc div::-webkit-scrollbar {
  height: 6px;
}

.article-toc div::-webkit-scrollbar-thumb {
  background: rgba(15, 139, 141, .36);
  border-radius: 999px;
}

.article-toc.dense {
  padding-bottom: 12px;
}

.article-toc.dense div {
  max-height: 178px;
  overflow-y: auto;
  padding-right: 4px;
}

.article-toc button {
  max-width: min(100%, 280px);
  padding: 7px 10px;
  overflow: hidden;
  color: var(--brand-2);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(15, 139, 141, .2);
  border-radius: var(--pill);
  cursor: pointer;
  touch-action: manipulation;
}

.article-toc.dense button {
  max-width: min(100%, 240px);
  padding: 6px 9px;
  font-size: 13px;
}

.article-toc button.sub {
  color: #516170;
  border-color: rgba(99, 113, 129, .24);
}

.article-toc button:hover,
.article-toc button.active,
.article-toc button[aria-current="true"] {
  color: #fff;
  background: var(--brand-2);
  border-color: var(--brand-2);
  box-shadow: 0 4px 14px rgba(15, 139, 141, .18);
}

.article-content h4 {
  margin: 18px 0 8px;
  font-size: 17px;
}

.article-content a {
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.article-content h2,
.article-content h3,
.article-content h4 {
  scroll-margin-top: calc(var(--nav-h) + 22px);
}

.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content table {
  margin-bottom: 16px;
}

.article-content p,
.article-content li {
  line-height: 1.85;
}

.article-content p {
  text-wrap: pretty;
}

.article-content ul,
.article-content ol {
  padding-left: 24px;
}

.article-content li {
  margin-bottom: 7px;
}

.article-content blockquote {
  padding: 12px 16px;
  color: #284653;
  background: #f3f7f4;
  border-left: 4px solid var(--green);
  border-radius: 0 var(--radius) var(--radius) 0;
}

.article-content li::marker {
  color: var(--brand-2);
  font-weight: 800;
}

.article-content table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border-collapse: collapse;
  font-size: 14px;
  scrollbar-width: thin;
}

.table-wrap {
  margin-bottom: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 6px 18px rgba(19, 32, 43, .045);
}

.table-wrap table {
  margin-bottom: 0;
  border-radius: 0;
}

.table-hint {
  display: none;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.article-content th,
.article-content td {
  padding: 10px 12px;
  overflow-wrap: anywhere;
  word-break: break-word;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.article-content th {
  color: #fff;
  text-align: left;
  background: var(--brand-2);
}

.article-content tr:nth-child(even) td {
  background: rgba(238, 243, 241, .65);
}

.article-content tr:last-child td {
  border-bottom: 0;
}

.article-content code {
  padding: 2px 6px;
  background: var(--soft);
  border-radius: 4px;
}

.article-content pre {
  overflow: auto;
  padding: 16px;
  color: #edf6f7;
  background: #102330;
  border-radius: var(--radius);
}

.article-content hr {
  height: 1px;
  margin: 26px 0;
  background: var(--line);
  border: 0;
}

.loading {
  padding: 80px 20px;
  color: var(--muted);
  text-align: center;
}

.route-fallback {
  width: min(820px, 100%);
  margin: clamp(46px, 9vw, 96px) auto;
  padding: clamp(28px, 6vw, 54px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(239, 248, 245, .88)),
    #fff;
  border: 1px solid rgba(16, 27, 37, .1);
  border-radius: var(--radius);
  box-shadow: 0 22px 60px rgba(16, 27, 37, .1);
}

.route-fallback h1 {
  margin: 0 0 12px;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.08;
}

.route-fallback p {
  max-width: 620px;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 17px;
}

.route-fallback-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.route-fallback-actions button {
  min-height: 42px;
  padding: 9px 15px;
  color: #fff;
  background: var(--brand-2);
  border: 1px solid var(--brand-2);
  border-radius: var(--pill);
  cursor: pointer;
  font-weight: 850;
}

.route-fallback-actions button:nth-child(2) {
  color: var(--brand-2);
  background: #fff;
}

.route-fallback-actions button:nth-child(3) {
  color: var(--ink);
  background: var(--soft);
  border-color: rgba(16, 27, 37, .1);
}

.reading-progress {
  position: fixed;
  top: var(--nav-h);
  right: 0;
  left: 0;
  z-index: 999;
  height: 3px;
  pointer-events: none;
  opacity: 0;
  background: transparent;
  transition: opacity .18s ease;
}

.reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
  transform: scaleX(0);
  transform-origin: left center;
}

.reading-progress.show {
  opacity: 1;
}

.back-to-top {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 50;
  display: none;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #fff;
  background: var(--brand-2);
  border: 0;
  border-radius: 50%;
  box-shadow: var(--shadow);
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}

.back-to-top:hover {
  background: #0b7375;
  transform: translateY(-2px);
}

.back-to-top.show {
  display: grid;
}

.site-toast {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(78px, calc(env(safe-area-inset-bottom) + 78px));
  z-index: 80;
  max-width: min(320px, calc(100vw - 32px));
  padding: 10px 13px;
  color: #fff;
  background: rgba(16, 35, 48, .94);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
}

.site-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.footer {
  margin-top: 42px;
  padding: 42px 24px 22px;
  color: rgba(255, 255, 255, .82);
  background: #102330;
}

.footer-inner {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, minmax(120px, 1fr));
  gap: 24px;
  width: min(1380px, 100%);
  margin: 0 auto;
}

.footer-col h3 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 16px;
}

.footer-col p,
.footer-col a {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
}

.footer-col a {
  display: flex;
  min-height: 44px;
  align-items: center;
  margin-bottom: 4px;
}

.footer-col a:hover {
  color: #fff;
}

.footer-bottom {
  width: min(1380px, 100%);
  margin: 24px auto 0;
  padding-top: 18px;
  color: rgba(255, 255, 255, .56);
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: 13px;
  text-align: center;
}

.footer-legal {
  margin-top: 8px;
}

.footer-legal a {
  color: rgba(255, 255, 255, .66);
}

.footer-legal a:hover {
  color: #fff;
}

@media (max-width: 980px) {
  .nav-container {
    grid-template-columns: auto 1fr auto;
  }

  .nav-menu-btn {
    display: grid;
  }

  .nav-menu {
    display: none;
    grid-column: 1 / -1;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    margin-bottom: 12px;
    padding: 10px;
    background: rgba(255, 255, 255, .94);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
  }

  .nav-menu.open {
    display: flex;
    animation: menuDrop .18s ease both;
  }

  .nav-menu a {
    padding: 11px 12px;
  }

  .sidebar-nav a,
  .sidebar-nav span,
  .article-aside a {
    display: flex;
    min-height: 38px;
    align-items: center;
  }

  .sidebar-layout,
  .article-shell {
    grid-template-columns: 1fr;
  }

  .planning-brief {
    grid-template-columns: 1fr;
  }

  .risk-filter-panel {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .risk-filter-actions {
    justify-content: flex-start;
  }

  .planning-brief .brief-card {
    min-height: 0;
  }

  .sidebar.sticky,
  .article-aside {
    position: static;
    max-height: none;
  }

  .sidebar-nav,
  .article-aside {
    max-height: min(52vh, 420px);
    overflow: auto;
    overscroll-behavior: auto;
    scrollbar-width: thin;
  }

  .sidebar-nav h4,
  .article-aside h4 {
    position: sticky;
    top: -14px;
    z-index: 1;
    padding: 8px 0 10px;
    background: rgba(255, 255, 255, .96);
  }

  .footer-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 720px) {
  :root {
    --nav-h: 62px;
  }

  .nav-container {
    gap: 10px;
    padding: 0 14px;
  }

  .logo-text {
    display: none;
  }

  #app {
    padding: 14px;
  }

  .hero,
  .article-hero {
    min-height: 360px;
    padding: 34px 22px;
  }

  .hero p,
  .article-hero p,
  .page-heading p {
    font-size: 16px;
    word-break: break-all;
  }

  .section-header {
    align-items: start;
    flex-direction: column;
  }

  .quality-note {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .planning-brief {
    margin-bottom: 30px;
  }

  .risk-filter-panel {
    padding: 15px;
  }

  .risk-filter-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .card-grid,
  .destination-grid {
    grid-template-columns: 1fr;
  }

  .province-grid,
  .guide-chip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .province-card {
    grid-template-columns: 44px 1fr;
    gap: 8px 10px;
    min-height: 70px;
    padding: 10px;
  }

  .province-thumb {
    width: 44px;
    height: 44px;
  }

  .guide-chip {
    min-height: 66px;
    padding: 10px;
  }

  .province-card,
  .guide-chip {
    -webkit-tap-highlight-color: rgba(15, 139, 141, .12);
  }

  .article-content {
    padding: 20px;
  }

  .article-content p,
  .article-content li {
    line-height: 1.78;
  }

  .article-content p,
  .article-content ul,
  .article-content ol,
  .article-content blockquote,
  .article-content table {
    margin-bottom: 14px;
  }

  .article-content h2 {
    margin: 28px 0 12px;
  }

  .article-content h3 {
    margin: 20px 0 8px;
    font-size: 19px;
  }

  .article-content h2,
  .article-content h3,
  .article-content h4 {
    scroll-margin-top: calc(var(--nav-h) + 14px);
  }

  .article-content blockquote {
    padding: 10px 12px;
    border-left-width: 3px;
  }

  .article-content ul,
  .article-content ol {
    padding-left: 20px;
  }

  .article-toc {
    margin: 0 0 18px;
    padding: 10px 12px 8px;
  }

  .article-actions {
    gap: 7px;
    margin-bottom: 18px;
    padding: 8px;
  }

  .article-actions button {
    flex: 1 1 88px;
    min-height: 38px;
    text-align: center;
  }

  .article-toc strong {
    margin-bottom: 8px;
    font-size: 13px;
  }

  .sidebar-nav,
  .article-aside {
    max-height: 46vh;
  }

  .search-results {
    max-height: min(68vh, 560px);
  }

  .search-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .si-type {
    max-width: 100%;
    justify-self: start;
  }

  .si-risk-tags {
    gap: 5px;
  }

  .si-risk-tags span {
    min-height: 21px;
    padding: 3px 6px;
    font-size: 11px;
  }

  .nav-sub {
    margin-left: 0;
    padding-left: 22px !important;
  }

  .article-toc div {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    margin-right: -10px;
    max-height: 64px;
    padding: 0 10px 6px 0;
    scroll-padding-left: 10px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .article-toc.dense div {
    max-height: 86px;
  }

  .article-toc button {
    display: -webkit-box;
    flex: 0 0 auto;
    max-width: 220px;
    min-height: 40px;
    max-height: 52px;
    padding: 6px 9px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    scroll-snap-align: start;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .article-toc::after {
    position: absolute;
    right: 0;
    bottom: 8px;
    width: 32px;
    height: 40px;
    pointer-events: none;
    content: "";
    background: linear-gradient(90deg, rgba(245, 248, 246, 0), #f5f8f6 75%);
  }

  .search-results {
    top: calc(100% + 8px);
    max-height: min(58vh, calc(100vh - var(--nav-h) - 96px), 420px);
    max-height: min(56dvh, calc(100dvh - var(--nav-h) - 96px - env(safe-area-inset-bottom)), 400px);
    overscroll-behavior-y: contain;
    padding: 6px;
    padding-bottom: max(14px, env(safe-area-inset-bottom));
    scroll-padding-block: 8px 14px;
  }

  .search-summary {
    top: -6px;
    margin: -6px -6px 2px;
    padding: 7px 9px 6px;
  }

  .search-item {
    grid-template-columns: 1fr;
    gap: 5px;
    min-height: 52px;
    padding: 12px 11px;
  }

  .si-type {
    justify-self: start;
  }

  .table-wrap {
    padding: 10px;
    overflow: hidden;
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
  }

  .table-hint {
    display: block;
  }

  .footer-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
  .article-toc button {
    max-width: 190px;
  }
}

@media (max-width: 460px) {
  .nav-search input {
    height: 38px;
    padding: 0 12px;
    font-size: 13px;
  }

  .hero h1,
  .article-hero h1,
  .page-heading h1 {
    font-size: 31px;
  }

  .stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .risk-filter-actions button {
    padding-inline: 10px;
    font-size: 13px;
  }

  .province-grid,
  .guide-chip-grid {
    grid-template-columns: 1fr;
  }

  .back-to-top {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: 42px;
    height: 42px;
  }

  .site-toast {
    right: 14px;
    bottom: max(68px, calc(env(safe-area-inset-bottom) + 68px));
    left: 14px;
    max-width: none;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Premium visual refresh */
:root {
  --ink: #101b25;
  --muted: #667684;
  --soft: #eef6f2;
  --paper: #fbfaf5;
  --line: rgba(31, 52, 61, .13);
  --brand: #d84f3a;
  --brand-2: #0d8f91;
  --gold: #dfaa43;
  --green: #356e55;
  --shadow: 0 24px 70px rgba(15, 31, 42, .16);
  --shadow-soft: 0 14px 34px rgba(15, 31, 42, .09);
}

body {
  background:
    linear-gradient(180deg, rgba(245, 248, 244, .96) 0, rgba(251, 250, 245, .96) 520px),
    radial-gradient(1100px 520px at 20% -10%, rgba(216, 79, 58, .13), transparent 58%),
    radial-gradient(900px 520px at 88% 4%, rgba(13, 143, 145, .12), transparent 62%),
    var(--paper);
  text-rendering: optimizeLegibility;
}

.navbar {
  background: rgba(251, 250, 245, .78);
  border-bottom: 1px solid rgba(16, 27, 37, .08);
  box-shadow: 0 10px 34px rgba(16, 27, 37, .08);
}

.nav-container {
  grid-template-columns: auto minmax(260px, 560px) auto auto;
  gap: 22px;
}

.nav-logo {
  gap: 12px;
  min-width: 210px;
}

.brand-mark {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  place-items: center;
  background: #fff;
  border: 1px solid rgba(16, 27, 37, .08);
  border-radius: 50%;
  box-shadow: 0 14px 30px rgba(16, 27, 37, .14);
}

.brand-mark svg,
.brand-mark img {
  width: 38px;
  height: 38px;
}

.logo-text {
  display: grid;
  gap: 1px;
  line-height: 1.1;
}

.logo-text strong {
  color: var(--ink);
  font-size: 19px;
  font-weight: 900;
}

.logo-text em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}

.nav-search input,
.hero-search input {
  border-color: rgba(16, 27, 37, .11);
  background: rgba(255, 255, 255, .88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 26px rgba(16, 27, 37, .05);
}

.nav-search input {
  height: 46px;
}

.nav-menu {
  gap: 6px;
  padding: 5px;
  background: rgba(255, 255, 255, .54);
  border: 1px solid rgba(16, 27, 37, .08);
  border-radius: 999px;
}

.nav-menu a {
  border-radius: 999px;
  font-weight: 800;
}

.nav-menu a:hover {
  color: #fff;
  background: var(--ink);
}

.nav-menu a.active {
  color: #fff;
  background: linear-gradient(135deg, var(--brand-2), #166b73);
  box-shadow: 0 10px 22px rgba(13, 143, 145, .18);
}

.loading-brand {
  display: grid;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  place-items: center;
  background: #fff;
  border: 1px solid rgba(16, 27, 37, .08);
  border-radius: 50%;
  box-shadow: 0 16px 34px rgba(16, 27, 37, .14);
}

.loading-brand img {
  width: 48px;
  height: 48px;
}

#app {
  width: min(1450px, 100%);
  padding-top: 20px;
}

.hero,
.article-hero {
  isolation: isolate;
  border: 1px solid rgba(255, 255, 255, .48);
  box-shadow: 0 32px 90px rgba(16, 27, 37, .23);
}

.grand-hero {
  min-height: min(620px, calc(100vh - var(--nav-h) - 42px));
  display: grid;
  align-items: end;
  padding: clamp(46px, 7vw, 92px);
}

.grand-hero::before,
.article-hero::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background:
    linear-gradient(90deg, rgba(16, 27, 37, .78) 0, rgba(16, 27, 37, .42) 52%, rgba(16, 27, 37, .18) 100%),
    linear-gradient(180deg, rgba(16, 27, 37, .18), rgba(16, 27, 37, .68));
}

.grand-hero::after {
  position: absolute;
  right: clamp(22px, 5vw, 72px);
  bottom: clamp(22px, 5vw, 60px);
  z-index: 0;
  width: min(46vw, 520px);
  height: min(46vw, 520px);
  pointer-events: none;
  content: "";
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .18) 0 1px, transparent 1px 22px),
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, 0));
  clip-path: polygon(10% 68%, 30% 34%, 48% 57%, 64% 24%, 91% 72%, 91% 88%, 10% 88%);
  opacity: .78;
}

.hero-copy {
  position: relative;
  z-index: 1;
  width: min(780px, 100%);
}

.eyebrow,
.section-kicker {
  color: var(--gold);
  letter-spacing: .08em;
}

.grand-hero h1 {
  max-width: 850px;
  text-wrap: balance;
}

.grand-hero p {
  max-width: 760px;
  color: rgba(255, 255, 255, .9);
}

.hero p.editorial-site-note {
  width: fit-content;
  max-width: 760px;
  background: rgba(255, 255, 255, .13);
  border-color: rgba(255, 255, 255, .22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.hero-actions button {
  min-height: 44px;
  padding: 9px 16px;
  color: #fff;
  font-weight: 850;
  cursor: pointer;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .12);
  backdrop-filter: blur(10px);
}

.hero-actions button:first-child {
  color: var(--ink);
  background: #fff;
  border-color: #fff;
}

.hero-actions button:hover,
.hero-actions button:focus-visible {
  transform: translateY(-1px);
}

.hero-search {
  margin-top: 24px;
}

.hero-search input {
  height: 58px;
  border: 0;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .18);
}

.quick-tags {
  gap: 8px;
}

.quick-tags button,
.tag {
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .25);
}

.stats-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: -18px;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}

.stats-strip div {
  padding: 22px 24px;
  background: rgba(255, 255, 255, .88);
  border-color: rgba(16, 27, 37, .1);
  box-shadow: 0 18px 46px rgba(16, 27, 37, .1);
  backdrop-filter: blur(14px);
}

.stats-strip strong {
  color: var(--brand-2);
  font-size: 34px;
}

.section {
  margin-bottom: 54px;
}

.section-header {
  margin-bottom: 20px;
}

.section-header h2 {
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
}

.text-link {
  padding: 8px 13px;
  color: var(--brand-2);
  font-weight: 850;
  background: rgba(13, 143, 145, .08);
  border-radius: 999px;
}

.text-link:hover {
  color: #fff;
  background: var(--brand-2);
}

.card-grid {
  gap: 18px;
}

.card,
.destination-card,
.province-card,
.guide-panel,
.article-content,
.continue-panel,
.sidebar-nav,
.article-aside,
.quality-note,
.risk-filter-panel {
  border-color: rgba(16, 27, 37, .1);
  box-shadow: 0 18px 44px rgba(16, 27, 37, .08);
}

.card,
.destination-card,
.province-card,
.guide-chip,
.brief-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.card:hover,
.destination-card:hover,
.province-card:hover,
.guide-chip:hover,
.brief-card:hover {
  border-color: rgba(13, 143, 145, .28);
  box-shadow: 0 24px 58px rgba(16, 27, 37, .14);
  transform: translateY(-4px);
}

.card[role="button"],
.destination-card[role="button"] {
  cursor: pointer;
}

.card[role="button"]:focus-visible,
.destination-card[role="button"]:focus-visible {
  outline: 4px solid rgba(13, 143, 145, .32);
  outline-offset: 5px;
  border-color: rgba(13, 143, 145, .52);
  box-shadow: 0 24px 58px rgba(16, 27, 37, .15), 0 0 0 7px rgba(13, 143, 145, .1);
}

.media-card {
  overflow: hidden;
  background: rgba(255, 255, 255, .94);
}

.card-img {
  min-height: 176px;
}

.card-badge {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  background: linear-gradient(135deg, var(--brand), var(--gold));
  border: 2px solid rgba(255, 255, 255, .88);
  box-shadow: 0 10px 22px rgba(16, 27, 37, .16);
}

.card-body {
  padding: 18px 20px 22px;
}

.card-body h3 {
  font-size: 21px;
}

.card-body p {
  color: var(--muted);
}

.destination-grid {
  gap: 18px;
}

.destination-card {
  position: relative;
  min-height: 250px;
  overflow: hidden;
}

.destination-card::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(16, 27, 37, .08), rgba(16, 27, 37, .72));
}

.destination-card > * {
  position: relative;
  z-index: 1;
}

.quality-note,
.risk-filter-panel {
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(12px);
}

.risk-filter-actions button {
  min-height: 44px;
  background: #fff;
}

.planning-brief {
  gap: 14px;
}

.planning-brief .brief-card {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(241, 248, 244, .9)),
    #fff;
}

.page-heading {
  padding: 38px 0 10px;
}

.page-heading h1 {
  color: var(--ink);
}

.page-heading p {
  color: var(--muted);
}

.breadcrumb {
  padding: 7px 0 4px;
}

.article-shell,
.sidebar-layout {
  gap: 24px;
}

.article-content {
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(16, 27, 37, .1);
  border-radius: var(--radius);
}

.article-content h1,
.article-content h2,
.article-content h3 {
  color: var(--ink);
}

.article-content h2 {
  border-bottom-color: rgba(16, 27, 37, .1);
}

.article-toc,
.trip-check-note,
.article-actions {
  border-color: rgba(13, 143, 145, .16);
  background: linear-gradient(135deg, rgba(239, 248, 245, .96), rgba(255, 255, 255, .92));
}

.sidebar-nav,
.article-aside {
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(12px);
}

.sidebar-nav h4,
.article-aside h4 {
  color: var(--brand-2);
  font-weight: 900;
}

.sidebar-nav a.active,
.article-aside a.active {
  background: linear-gradient(135deg, var(--brand-2), #166b73);
  box-shadow: 0 10px 20px rgba(13, 143, 145, .18);
}

.footer {
  background:
    linear-gradient(135deg, rgba(16, 27, 37, .98), rgba(18, 53, 58, .96)),
    #101b25;
}

.not-found-page {
  display: grid;
  min-height: 100vh;
  padding: 28px;
  place-items: center;
  background:
    radial-gradient(860px 520px at 18% 8%, rgba(216, 79, 58, .14), transparent 60%),
    radial-gradient(780px 520px at 82% 12%, rgba(13, 143, 145, .16), transparent 62%),
    linear-gradient(180deg, rgba(245, 248, 244, .98), rgba(251, 250, 245, .98));
}

.not-found-card {
  position: relative;
  overflow: hidden;
  width: min(720px, 100%);
  padding: clamp(30px, 7vw, 58px);
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(16, 27, 37, .1);
  border-radius: var(--radius);
  box-shadow: 0 28px 80px rgba(16, 27, 37, .16);
  backdrop-filter: blur(16px);
}

.not-found-card::after {
  position: absolute;
  right: -80px;
  bottom: -110px;
  width: 340px;
  height: 280px;
  pointer-events: none;
  content: "";
  background:
    repeating-linear-gradient(135deg, rgba(13, 143, 145, .14) 0 1px, transparent 1px 20px),
    linear-gradient(135deg, rgba(216, 79, 58, .08), rgba(13, 143, 145, .08));
  clip-path: polygon(5% 78%, 26% 35%, 44% 58%, 62% 18%, 96% 82%, 96% 96%, 5% 96%);
}

.not-found-logo {
  position: relative;
  z-index: 1;
  margin-bottom: 34px;
}

.not-found-card h1 {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 0 14px;
  font-size: clamp(34px, 6vw, 58px);
  line-height: 1.08;
}

.not-found-card p {
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 0 26px;
  color: var(--muted);
  font-size: 17px;
}

.not-found-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.not-found-actions a {
  padding: 10px 16px;
  color: #fff;
  font-weight: 850;
  background: var(--brand-2);
  border: 1px solid var(--brand-2);
  border-radius: 999px;
}

.not-found-actions a + a {
  color: var(--brand-2);
  background: #fff;
}

.static-seo-page {
  background:
    radial-gradient(circle at 12% 0, rgba(216, 79, 58, .1), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(15, 139, 141, .12), transparent 28%),
    linear-gradient(180deg, rgba(255, 253, 248, .98), rgba(248, 244, 236, .96));
}

.static-nav-container {
  grid-template-columns: auto 1fr;
}

.static-nav-menu {
  position: static;
  display: flex;
  justify-content: flex-end;
  width: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.static-page {
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
  padding: 34px 0 80px;
}

.static-page.wide {
  width: min(1260px, calc(100% - 40px));
}

.static-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 14px;
}

.static-breadcrumb a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  color: var(--brand-2);
  font-weight: 800;
}

.static-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 22px;
  padding: 34px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(19, 32, 43, .94), rgba(15, 139, 141, .82)),
    url("/images/banner/hero-1.jpg") center/cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.static-hero::after {
  content: "";
  position: absolute;
  inset: auto 28px -42px auto;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 50%;
}

.static-hero.compact {
  margin-bottom: 28px;
}

.static-hero .section-kicker {
  position: relative;
  z-index: 1;
  color: #f8c76b;
}

.static-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 8px 0 12px;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.12;
}

.static-hero p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  color: rgba(255, 255, 255, .88);
  font-size: 17px;
}

.static-meta {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.static-meta span {
  padding: 7px 10px;
  color: rgba(255, 255, 255, .9);
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--pill);
  font-size: 13px;
  font-weight: 800;
}

.static-check-note {
  margin: 0 0 18px;
}

.static-article {
  width: 100%;
  max-width: none;
  padding: 34px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid rgba(221, 229, 225, .9);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.static-article h2 {
  margin-top: 28px;
}

.static-article h2:first-child {
  margin-top: 0;
}

.static-related {
  margin-top: 24px;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.static-trust-panel,
.static-faq,
.static-map-section {
  margin-top: 24px;
  padding: 26px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.static-trust-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(280px, 1fr);
  gap: 22px;
  align-items: start;
}

.static-trust-panel h2,
.static-faq h2,
.static-map-section h2 {
  margin: 0 0 12px;
  font-size: 24px;
}

.static-trust-panel p,
.static-faq p {
  color: var(--muted);
}

.static-trust-panel ul {
  display: grid;
  gap: 10px;
  padding-left: 18px;
  color: var(--ink);
}

.static-trust-panel a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-weight: 850;
}

.static-faq {
  display: grid;
  gap: 10px;
}

.static-faq details {
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff, rgba(238, 243, 241, .52));
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.static-faq summary {
  cursor: pointer;
  font-weight: 900;
}

.static-faq details[open] summary {
  margin-bottom: 8px;
  color: var(--brand-2);
}

.static-map-section {
  margin-top: 18px;
}

.static-related h2 {
  margin-bottom: 14px;
  font-size: 24px;
}

.static-related div,
.static-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.static-related a,
.static-link-card {
  display: grid;
  gap: 4px;
  min-height: 76px;
  padding: 14px 16px;
  color: var(--ink);
  background: linear-gradient(180deg, #fff, rgba(238, 243, 241, .56));
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.static-related a:hover,
.static-link-card:hover {
  border-color: rgba(15, 139, 141, .45);
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.static-link-card strong {
  font-size: 18px;
}

.static-link-card span {
  color: var(--muted);
  font-size: 14px;
}

@media (max-width: 980px) {
  .nav-container {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .nav-logo {
    min-width: 0;
  }

  .nav-menu {
    border-radius: var(--radius);
  }

  .stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
  }

  .static-nav-container {
    grid-template-columns: auto 1fr;
  }
}

@media (max-width: 720px) {
  .logo-text {
    display: grid;
  }

  .logo-text em {
    display: none;
  }

  .logo-text strong {
    font-size: 17px;
  }

  .brand-mark {
    width: 38px;
    height: 38px;
  }

  .brand-mark svg {
    width: 33px;
    height: 33px;
  }

  .grand-hero {
    min-height: 510px;
    padding: 34px 22px;
  }

  .hero-actions button {
    flex: 1 1 120px;
  }

  .static-page {
    width: min(100% - 28px, 980px);
    padding-top: 22px;
  }

  .static-hero,
  .static-article,
  .static-related,
  .static-trust-panel,
  .static-faq,
  .static-map-section {
    padding: 22px;
  }

  .static-trust-panel {
    grid-template-columns: 1fr;
  }

  .static-nav-menu {
    display: none;
  }
}

@media (max-width: 460px) {
  .stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stats-strip div {
    padding: 16px;
  }

  .stats-strip strong {
    font-size: 28px;
  }
}

.language-switcher {
  position: relative;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
}

.nav-container > .language-switcher {
  justify-self: end;
}

.static-nav-container:has(> .language-switcher) {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.lang-current {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  color: var(--ink);
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(16, 27, 37, .11);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), 0 10px 24px rgba(16, 27, 37, .07);
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
  touch-action: manipulation;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.lang-current:hover,
.language-switcher:focus-within .lang-current,
.language-switcher.is-open .lang-current,
.language-switcher.open .lang-current {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
  box-shadow: 0 12px 24px rgba(16, 27, 37, .16);
}

.lang-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 50;
  display: grid;
  min-width: min(220px, calc(100vw - 28px));
  max-width: calc(100vw - 28px);
  margin: 0;
  padding: 6px;
  background: rgba(255, 255, 255, .98);
  border: 1px solid rgba(16, 27, 37, .1);
  border-radius: 14px;
  box-shadow: var(--shadow);
  list-style: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  visibility: hidden;
}

.language-switcher:hover .lang-menu,
.language-switcher:focus-within .lang-menu,
.language-switcher:has(.lang-current[aria-expanded="true"]) .lang-menu,
.language-switcher.is-open .lang-menu,
.language-switcher.open .lang-menu,
.lang-menu.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.lang-menu li {
  min-width: 0;
  list-style: none;
}

.lang-menu a,
.lang-menu button {
  display: flex;
  min-height: 44px;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  touch-action: manipulation;
  white-space: normal;
  overflow-wrap: anywhere;
}

.lang-menu a:hover,
.lang-menu a:focus-visible,
.lang-menu button:hover,
.lang-menu button:focus-visible,
.lang-menu [aria-current="page"],
.lang-menu .active {
  color: #fff;
  background: var(--brand-2);
}

.nav-menu .language-switcher {
  align-self: center;
}

.nav-menu .lang-current {
  box-shadow: none;
}

.nav-menu .lang-menu a {
  padding: 10px 12px;
}

html[lang^="en"] .hero h1,
html[lang^="en"] .article-hero h1,
html[lang^="en"] .page-heading h1,
html[lang^="en"] .grand-hero h1,
html[lang^="en"] .static-hero h1,
html[lang^="en"] .article-content h1,
html[lang^="en"] .article-content h2,
html[lang^="en"] .article-content h3,
.static-hero h1,
.static-article h1,
.static-article h2,
.static-article h3 {
  max-width: 100%;
  hyphens: auto;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

html[lang^="en"] button,
html[lang^="en"] .button,
html[lang^="en"] .nav-menu a,
html[lang^="en"] .hero-actions button,
html[lang^="en"] .not-found-actions a,
html[lang^="en"] .card,
html[lang^="en"] .destination-card,
html[lang^="en"] .province-card,
html[lang^="en"] .guide-chip,
html[lang^="en"] .brief-card,
html[lang^="en"] .static-link-card,
html[lang^="en"] .static-related a,
.card-body,
.card-body h3,
.card-body p,
.destination-card,
.destination-card h3,
.destination-card p,
.province-card,
.guide-chip,
.brief-card,
.static-link-card,
.static-link-card strong,
.static-link-card span,
.static-related a,
.static-faq summary,
.static-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

html[lang^="en"] .nav-menu a,
html[lang^="en"] .hero-actions button,
html[lang^="en"] .empty-suggestions button,
html[lang^="en"] .not-found-actions a,
html[lang^="en"] .static-related a,
html[lang^="en"] .static-link-card,
.lang-current,
.lang-menu a,
.lang-menu button {
  hyphens: auto;
  white-space: normal;
}

@media (max-width: 980px) {
  .nav-container > .nav-logo,
  .nav-container > .nav-search,
  .nav-container > .search-shell {
    order: 0;
  }

  .nav-container > .nav-menu-btn {
    order: 1;
    justify-self: end;
  }

  .nav-container > .language-switcher {
    order: 2;
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
  }

  .nav-container > .nav-menu {
    order: 3;
  }

  .language-switcher {
    display: grid;
    width: 100%;
    justify-content: stretch;
  }

  .lang-current {
    width: 100%;
    justify-content: space-between;
  }

  .nav-menu .language-switcher {
    align-self: stretch;
  }

  .lang-menu {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-top: 8px;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
  }

  .nav-menu .lang-menu {
    background: rgba(255, 255, 255, .72);
  }
}

@media (max-width: 720px) {
  html[lang^="en"] .hero h1,
  html[lang^="en"] .article-hero h1,
  html[lang^="en"] .page-heading h1,
  html[lang^="en"] .grand-hero h1,
  html[lang^="en"] .static-hero h1 {
    font-size: clamp(30px, 10vw, 42px);
  }

  html[lang^="en"] .nav-menu a,
  html[lang^="en"] .hero-actions button,
  html[lang^="en"] .not-found-actions a {
    white-space: normal;
  }
}

@media print {
  :root {
    color-scheme: light;
  }

  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    padding-top: 0;
    background: #fff;
    color: #111;
  }

  .navbar,
  .footer,
  .back-to-top,
  .reading-progress,
  .article-aside,
  .article-actions,
  .article-toc,
  .search-results,
  .guide-panel {
    display: none !important;
  }

  #app,
  .article-shell,
  .article-content {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
  }

  .article-hero,
  .page-heading {
    min-height: 0;
    padding: 0 0 18px;
    background: #fff !important;
    color: #111;
  }

  .article-content a {
    color: #111;
    text-decoration: underline;
  }

  .article-content table {
    page-break-inside: auto;
  }

  .article-content h2,
  .article-content h3 {
    break-after: avoid;
  }
}
