.destination-guide-site {
  --guide-ink: #14213a;
  --guide-blue: #3157db;
  --guide-muted: #5f6e84;
  --guide-line: #d5deea;
  --guide-paper: #f5f7fb;
  background: var(--guide-paper);
  color: var(--guide-ink);
  font-family: "DM Sans", system-ui, sans-serif;
}

.destination-guide-site h1,
.destination-guide-site h2,
.destination-guide-site h3 {
  font-family: Manrope, system-ui, sans-serif;
  letter-spacing: -0.035em;
}

.guide-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 34px;
  color: #5e6d84;
  font-size: 12px;
}

.guide-breadcrumb a {
  color: var(--guide-blue);
  font-weight: 700;
  text-decoration: none;
}

.guide-hero {
  padding: 72px 0 92px;
  background: linear-gradient(180deg, #fff, var(--guide-paper));
}

.guide-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: 70px;
  align-items: center;
}

.guide-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(50px, 5.7vw, 78px);
  line-height: 1;
}

.guide-hero h1 em {
  color: var(--guide-blue);
  font-style: normal;
}

.guide-hero-copy > p {
  max-width: 680px;
  margin: 27px 0 0;
  color: var(--guide-muted);
  font-size: 18px;
  line-height: 1.72;
}

.guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.guide-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid #cbd6e5;
  border-radius: 8px;
  background: #fff;
  color: var(--guide-ink);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.guide-button.primary {
  border-color: var(--guide-blue);
  background: var(--guide-blue);
  color: #fff;
}

.guide-visual {
  overflow: hidden;
  border-radius: 16px;
  background: #eaf0ff;
  box-shadow: 0 26px 65px rgba(31, 49, 86, 0.16);
}

.guide-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.guide-body {
  padding: 100px 0 112px;
  background: #fff;
}

.guide-layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 760px);
  gap: 90px;
  justify-content: center;
}

.guide-toc {
  align-self: start;
  position: sticky;
  top: 130px;
  padding-top: 18px;
  border-top: 1px solid var(--guide-line);
}

.guide-toc strong {
  display: block;
  margin-bottom: 13px;
  font-size: 12px;
}

.guide-toc a {
  display: block;
  padding: 7px 0;
  color: var(--guide-muted);
  font-size: 12px;
  text-decoration: none;
}

.guide-article {
  min-width: 0;
}

.guide-section {
  scroll-margin-top: 130px;
  padding: 0 0 70px;
}

.guide-section + .guide-section {
  padding-top: 70px;
  border-top: 1px solid var(--guide-line);
}

.guide-section h2 {
  margin: 0 0 22px;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.08;
}

.guide-section h3 {
  margin: 34px 0 10px;
  font-size: 22px;
}

.guide-section p,
.guide-section li {
  color: #526078;
  font-size: 16px;
  line-height: 1.75;
}

.guide-section a {
  color: var(--guide-blue);
  font-weight: 700;
}

.guide-section ul,
.guide-section ol {
  padding-left: 22px;
}

.guide-steps {
  margin: 28px 0 0;
  padding: 0;
  border-top: 1px solid var(--guide-line);
  list-style: none;
  counter-reset: guide-step;
}

.guide-steps li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 19px;
  padding: 23px 0;
  border-bottom: 1px solid var(--guide-line);
  counter-increment: guide-step;
}

.guide-steps li::before {
  content: counter(guide-step, decimal-leading-zero);
  padding-top: 3px;
  color: var(--guide-blue);
  font-size: 11px;
  font-weight: 900;
}

.guide-steps strong {
  display: block;
  color: var(--guide-ink);
}

.guide-note {
  margin: 28px 0;
  padding: 22px 24px;
  border-radius: 12px;
  background: #eef3ff;
  color: #344767;
}

.guide-note strong {
  display: block;
  margin-bottom: 6px;
  color: var(--guide-ink);
}

.guide-code {
  overflow-x: auto;
  margin: 24px 0;
  padding: 21px;
  border-radius: 12px;
  background: #14213a;
  color: #e7edff;
  font: 13px/1.7 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.guide-related {
  padding: 90px 0;
  background: #edf2fb;
}

.guide-related-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: 80px;
  align-items: start;
}

.guide-related h2 {
  margin: 0;
  font-size: clamp(38px, 4.4vw, 58px);
  line-height: 1.04;
}

.guide-related-links {
  border-top: 1px solid #cbd5e2;
}

.guide-related-links a {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  min-height: 64px;
  align-items: center;
  border-bottom: 1px solid #cbd5e2;
  color: var(--guide-ink);
  font-weight: 800;
  text-decoration: none;
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.guide-related-links a span {
  color: var(--guide-blue);
}

@media (hover: hover) {
  .guide-button:hover,
  .guide-related-links a:hover {
    transform: translateY(-2px);
  }
}

@media (max-width: 950px) {
  .guide-hero-grid,
  .guide-related-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .guide-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .guide-toc {
    position: static;
    columns: 2;
  }
}

@media (max-width: 650px) {
  .guide-hero {
    padding: 48px 0 70px;
  }

  .guide-hero h1 {
    font-size: clamp(46px, 13vw, 56px);
  }

  .guide-hero-copy > p {
    font-size: 16px;
  }

  .guide-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .guide-body {
    padding: 74px 0 84px;
  }

  .guide-toc {
    columns: 1;
  }

  .guide-section,
  .guide-section + .guide-section {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  .guide-related {
    padding: 72px 0;
  }
}

@media (pointer: coarse) {
  .guide-toc a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .guide-button,
  .guide-related-links a {
    transition: none;
  }

  .guide-button:hover,
  .guide-related-links a:hover {
    transform: none;
  }
}

.destination-guide-site {
  scrollbar-color: #8799ba #edf2fb;
  scrollbar-width: thin;
}

.destination-guide-site::-webkit-scrollbar {
  width: 11px;
}

.destination-guide-site::-webkit-scrollbar-track {
  background: #edf2fb;
}

.destination-guide-site::-webkit-scrollbar-thumb {
  border: 3px solid #edf2fb;
  border-radius: 10px;
  background: #8799ba;
}
