body:has(.getting-started) :is(.marketing-header, .marketing-main, .marketing-footer) {
  --marketing-canvas: #f3f5f9;
  --marketing-surface: #ffffff;
  --marketing-surface-muted: #eaf0f6;
  --marketing-ink: #17243b;
  --marketing-muted: #526078;
  --marketing-border: #d8e0eb;
  --marketing-border-strong: #9aa9be;
  --marketing-blue: #234c7d;
  --marketing-blue-hover: #17243b;
  --marketing-action: #b83e10;
  --marketing-action-hover: #963109;
  --marketing-orange-text: #b83e10;
  --marketing-display: var(--font-sans);
}

.getting-started {
  width: min(100% - 3rem, 76rem);
  max-width: none;
  margin-inline: auto;
  padding-block: clamp(2rem, 5vw, 4.5rem);
  overflow-wrap: anywhere;
}

.getting-started__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2rem;
}

.getting-started__header h1 {
  max-width: 20ch;
  font-family: var(--font-sans);
  font-size: clamp(2.25rem, 4.2vw, 3.65rem);
  line-height: 1.06;
  letter-spacing: -.045em;
}

.getting-started__header p {
  max-width: 56ch;
  margin-top: 1.1rem;
  color: var(--marketing-muted);
  font-size: 1.0625rem;
  line-height: 1.65;
}

.getting-started__header > .button { flex-shrink: 0; }

.getting-started__paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.getting-started a.getting-started__path {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: .8rem;
  min-width: 0;
  padding: 1.5rem;
  border: 1px solid var(--marketing-border);
  border-radius: .75rem;
  background: var(--marketing-surface);
  color: var(--marketing-ink);
  text-decoration: none;
  box-shadow: 0 2px 5px rgb(23 36 59 / .03);
}

.getting-started a.getting-started__path:hover {
  border-color: var(--marketing-orange-text);
  color: var(--marketing-ink);
}

.getting-started__path h2 {
  font-family: var(--font-sans);
  font-size: 1.3rem;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.getting-started__path p {
  margin: 0;
  color: var(--marketing-muted);
  font-size: .9375rem;
  line-height: 1.55;
}

.getting-started__path-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  margin-top: auto;
  padding-top: .75rem;
  color: var(--marketing-orange-text);
  font-size: .9375rem;
  font-weight: 700;
}

.getting-started__path-action > span { font-size: 1.2rem; }

.getting-started__layout {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4rem);
}

.getting-started__contents {
  position: sticky;
  top: 2rem;
  display: grid;
  gap: .25rem;
  padding: .5rem;
  border: 1px solid var(--marketing-border);
  border-radius: .75rem;
  background: var(--marketing-surface);
}

.getting-started__contents a {
  display: block;
  padding: .65rem .7rem;
  border-radius: .375rem;
  color: var(--marketing-muted);
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
}

.getting-started__contents a:hover {
  background: var(--marketing-surface-muted);
  color: var(--marketing-ink);
}

.getting-started__contents-extra {
  margin-top: .5rem;
  border-top: 1px solid var(--marketing-border);
}

.getting-started__body { display: grid; gap: 2.75rem; min-width: 0; }
.getting-started__body > section { min-width: 0; scroll-margin-top: 2rem; }
.getting-started__body > section + section { padding-top: 2.75rem; border-top: 1px solid var(--marketing-border); }
.getting-started__section-intro { margin-bottom: 1.5rem; }

.getting-started__body h2 {
  max-width: 28ch;
  font-family: var(--font-sans);
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  line-height: 1.2;
  letter-spacing: -.025em;
}

.getting-started__section-intro p,
.getting-started__note {
  max-width: 66ch;
  margin-top: .8rem;
  color: var(--marketing-muted);
  font-size: .9375rem;
  line-height: 1.65;
}

.getting-started__steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: .3rem 1.5rem .3rem 3.25rem;
  border: 1px solid var(--marketing-border);
  border-radius: .75rem;
  background: var(--marketing-surface);
  list-style: decimal;
}

.getting-started__steps > li { min-width: 0; padding: 1.15rem 0 1.15rem .4rem; }
.getting-started__steps > li + li { border-top: 1px solid var(--marketing-border); }
.getting-started__steps > li::marker { color: var(--marketing-orange-text); font-size: .9375rem; font-weight: 750; }
.getting-started__steps h3,
.getting-started__example h3 { font-size: 1rem; line-height: 1.4; letter-spacing: -.01em; }

.getting-started__steps p {
  max-width: 64ch;
  margin: .4rem 0 0;
  color: var(--marketing-muted);
  font-size: .9375rem;
  line-height: 1.6;
}

.getting-started__steps strong,
.getting-started__section-intro strong { color: var(--marketing-ink); font-weight: 650; }
.getting-started__example { margin-top: 1.25rem; padding: 1.25rem 1.5rem; border-radius: .65rem; background: var(--marketing-surface-muted); }
.getting-started__example dl { display: grid; gap: .85rem; margin-top: 1rem; }
.getting-started__example dl > div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; font-size: .875rem; line-height: 1.6; }
.getting-started__example dt { color: var(--marketing-muted); font-weight: 600; }
.getting-started__example dd { margin: 0; color: var(--marketing-ink); }

.getting-started__optional,
.getting-started__help details { border: 1px solid var(--marketing-border); border-radius: .6rem; background: var(--marketing-surface); }
.getting-started__help details + details { margin-top: .6rem; }
.getting-started__optional summary,
.getting-started__help summary { padding: 1rem 1.25rem; font-size: .9375rem; font-weight: 650; line-height: 1.5; cursor: pointer; }
.getting-started__optional summary::marker,
.getting-started__help summary::marker { color: var(--marketing-orange-text); }
.getting-started__optional[open] summary,
.getting-started__help details[open] summary { border-bottom: 1px solid var(--marketing-border); }
.getting-started__optional .getting-started__steps { border: 0; border-radius: 0; background: transparent; }
.getting-started__help details > p { max-width: 66ch; margin: 0; padding: 1rem 1.25rem 1.25rem; color: var(--marketing-muted); font-size: .9375rem; line-height: 1.65; }

.getting-started__body > .getting-started__finish {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.75rem;
  border: 0;
  border-radius: .75rem;
  background: var(--marketing-ink);
  color: var(--marketing-surface);
}

.getting-started__finish h2 { max-width: 24ch; color: inherit; font-size: 1.4rem; }
.getting-started__finish p { margin-top: .7rem; color: #d5dfed; font-size: .9375rem; }
.getting-started a:focus-visible,
.getting-started summary:focus-visible { outline: 3px solid var(--marketing-blue); outline-offset: 4px; }
.getting-started__finish a:focus-visible { outline-color: var(--marketing-surface); }
.getting-started__body > section:target > .getting-started__section-intro h2 { text-decoration: underline; text-decoration-color: var(--marketing-orange-text); text-decoration-thickness: 2px; text-underline-offset: .3em; }

@media (max-width: 58rem) {
  .getting-started__header { align-items: start; flex-direction: column; gap: 1.5rem; }
  .getting-started__layout { grid-template-columns: 1fr; gap: 2rem; }
  .getting-started__contents { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .getting-started__contents-extra { margin: 0; border: 0; }
}

@media (max-width: 42rem) {
  .getting-started { width: min(100% - 2rem, 76rem); }
  .getting-started__paths { grid-template-columns: 1fr; gap: .75rem; }
  .getting-started a.getting-started__path { padding: 1.25rem; gap: .6rem; }
  .getting-started__path-action { padding-top: .35rem; }
  .getting-started__contents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .getting-started__contents a { padding: .65rem .5rem; font-size: .875rem; }
  .getting-started__steps { padding-inline: 2.5rem 1rem; }
  .getting-started__example { padding: 1.1rem; }
  .getting-started__example dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .getting-started__body > .getting-started__finish { padding: 1.5rem; }
}
