/* Bounded finish for the patient guides. Shared navigation, type and brand
   assets stay authoritative; this file only tunes the guide reading surface. */
.patient-guide {
  --guide-panel: rgba(13, 14, 16, .92);
  --guide-line: rgba(239, 231, 220, .12);
  --guide-soft-line: rgba(239, 231, 220, .08);
  --guide-pink: var(--article-pink, var(--pink, #df7e9e));
  --guide-cream: var(--article-cream, var(--cream, #efe7dc));
  --guide-muted: var(--article-muted, var(--muted, #c2b5a7));
  --guide-display: var(--tr-font-display, var(--article-display, var(--serif, Georgia, serif)));
  --guide-body: var(--tr-font-body, var(--article-ui, var(--ui, system-ui, sans-serif)));
  overflow-x: hidden;
}

.patient-guide .atlas-nav,
.patient-guide .atlas-hero,
.patient-guide .atlas-article,
.patient-guide .atlas-foot {
  position: relative;
  z-index: 1;
}

.patient-guide .atlas-nav {
  min-height: 88px;
  padding-block: 12px;
}

.patient-guide .atlas-hero {
  padding-block: clamp(3.5rem, 7vw, 5.5rem) clamp(2.5rem, 5vw, 4rem);
}

.patient-guide .atlas-hero h1 {
  max-width: 18ch;
  text-wrap: balance;
}

.patient-guide .atlas-hero p,
.patient-guide .atlas-meta,
.patient-guide .atlas-copy,
.patient-guide .atlas-aside,
.patient-guide .atlas-foot {
  font-family: var(--guide-body) !important;
}

.patient-guide .atlas-article {
  grid-template-columns: minmax(0, 70ch) minmax(15rem, 18rem);
  column-gap: clamp(2rem, 5vw, 4.5rem);
  justify-content: center;
  padding-block: clamp(2.75rem, 5vw, 4rem) clamp(3.5rem, 6vw, 5.25rem);
}

.patient-guide .atlas-copy,
.patient-guide .atlas-aside {
  min-width: 0;
  align-self: start;
}

.patient-guide .atlas-copy {
  width: 100%;
}

.patient-guide .atlas-copy h2,
.patient-guide .atlas-aside > strong {
  font-family: var(--guide-display) !important;
  text-wrap: balance;
}

.patient-guide .atlas-copy h2 {
  max-width: 25ch;
  margin-block: clamp(2.5rem, 5vw, 3.5rem) 1rem;
}

.patient-guide .atlas-copy h2:first-child {
  margin-top: 0;
}

.patient-guide .atlas-copy p,
.patient-guide .atlas-copy li {
  max-width: 70ch;
  text-wrap: pretty;
}

.patient-guide .atlas-copy p {
  margin-bottom: 1.2rem;
}

.patient-guide .article-steps,
.patient-guide .article-checklist,
.patient-guide .article-summary-list {
  padding-left: 1.35rem;
}

.patient-guide .article-steps li,
.patient-guide .article-checklist li,
.patient-guide .article-summary-list li {
  margin-bottom: .65rem;
}

.patient-guide .article-steps li::marker {
  color: var(--guide-pink);
  font-weight: 800;
}

.patient-guide .atlas-callout {
  display: grid;
  gap: .5rem;
  max-width: 70ch;
  margin-block: 1.75rem 2rem;
  padding: 1.15rem 1.3rem 1.2rem;
  border: 1px solid var(--guide-line);
  border-left: 4px solid var(--guide-pink);
  border-radius: 0 14px 14px 0;
  background:
    linear-gradient(110deg, rgba(223, 126, 158, .1), transparent 78%),
    var(--guide-panel);
  color: var(--guide-muted);
  font-family: var(--guide-body) !important;
  font-size: clamp(1rem, .97rem + .18vw, 1.12rem) !important;
  line-height: 1.65;
  text-wrap: pretty;
}

.patient-guide .atlas-callout strong {
  color: var(--guide-cream);
  font-family: var(--guide-display);
  font-size: 1.06em;
}

.patient-guide .atlas-callout p {
  margin: 0;
}

.patient-guide .medical-safety-note {
  margin-block: 1.6rem 0 !important;
  padding: .9rem 1rem;
  border: 1px solid rgba(176, 135, 92, .28);
  border-radius: 10px;
  background: rgba(176, 135, 92, .06);
  color: var(--guide-muted) !important;
  font-size: .96rem !important;
}

.patient-guide .article-closure {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  padding: clamp(1.15rem, 2.4vw, 1.5rem);
  border: 1px solid var(--guide-line);
  border-radius: 14px;
  background:
    linear-gradient(110deg, rgba(223, 126, 158, .09), transparent 78%),
    var(--guide-panel);
}

.patient-guide .article-closure h2 {
  margin-top: 0;
}

.patient-guide .article-summary-list {
  margin: 0;
  padding-left: 1.35rem;
}

.patient-guide .atlas-aside {
  position: sticky;
  inset-block-start: 1.25rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  width: 100%;
  max-width: 18rem;
  padding: 1.2rem 1.25rem .9rem;
  border: 1px solid var(--guide-line);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(223, 126, 158, .09), transparent 52%),
    var(--guide-panel);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}

.patient-guide .atlas-aside > * {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.patient-guide .atlas-aside > .kicker {
  margin-bottom: .7rem;
  font-family: var(--guide-body) !important;
  font-size: .8125rem;
  line-height: 1.45;
  text-wrap: pretty;
}

.patient-guide .atlas-aside > strong {
  display: block;
  color: var(--guide-cream);
  font-size: clamp(1.35rem, 1.15rem + .45vw, 1.7rem) !important;
  font-weight: 600 !important;
  line-height: 1.15;
}

.patient-guide .atlas-aside > p {
  margin: .75rem 0 .65rem;
  color: var(--guide-muted);
  font-size: .94rem !important;
  line-height: 1.6;
  text-wrap: pretty;
}

.patient-guide .atlas-aside > a {
  display: flex;
  align-items: flex-start;
  min-height: 44px;
  margin: 0;
  padding: .68rem 0;
  border-top: 1px solid var(--guide-soft-line);
  color: var(--guide-pink);
  font-size: .82rem !important;
  font-weight: 700;
  line-height: 1.38;
  text-decoration: none;
  text-wrap: pretty;
}

.patient-guide .atlas-aside > a:hover,
.patient-guide .atlas-aside > a:focus-visible {
  color: var(--guide-cream);
}

.patient-guide a:focus-visible {
  outline: 3px solid var(--guide-pink);
  outline-offset: 4px;
}

@media (max-width: 960px) {
  .patient-guide .atlas-article {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2rem;
  }

  .patient-guide .atlas-aside {
    position: static;
    max-width: none;
  }
}

@media (max-width: 780px) {
  .patient-guide .atlas-nav {
    min-height: 0;
  }

  .patient-guide .atlas-hero {
    padding-block: 3rem 2.5rem;
  }

  .patient-guide .atlas-article {
    row-gap: 1.5rem;
    padding-block: 2.5rem 3.75rem;
  }

  .patient-guide .atlas-aside {
    padding: 1.1rem 1.15rem .8rem;
  }
}

@media (max-width: 520px) {
  .patient-guide .atlas-callout {
    padding: 1rem 1.05rem 1.05rem;
  }

  .patient-guide .article-closure {
    padding: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .patient-guide,
  .patient-guide * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
