/*
 * Post-sale implementation handbook.
 *
 * This route is an engineering document, not a readiness dashboard. It keeps
 * current sandbox evidence, target delivery work and external activation gates
 * visibly separate.
 */

.implementation-page {
  padding: 0;
  background: var(--workbench);
  container-name: implementation-page;
  container-type: inline-size;
}

.implementation-page > * {
  padding-inline: clamp(24px, 3.3vw, 52px);
}

.implementation-page h3 {
  margin: 0;
  font-size: clamp(24px, 2.4vw, 36px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.implementation-page p {
  margin: 0;
}

.implementation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr);
  min-height: 540px;
  align-items: stretch;
  gap: clamp(36px, 6vw, 96px);
  padding-block: clamp(64px, 8vw, 116px);
  border-bottom: 1px solid var(--line);
}

.implementation-hero-copy {
  align-self: center;
}

.implementation-hero h2 {
  max-width: 880px;
  margin: 18px 0 0;
  font-size: clamp(48px, 6vw, 92px);
  font-weight: 630;
  line-height: .91;
  letter-spacing: -.072em;
}

.implementation-lead {
  max-width: 760px;
  margin-top: 30px !important;
  color: var(--muted);
  font-size: clamp(15px, 1.2vw, 19px);
  line-height: 1.62;
}

.implementation-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  margin-top: 32px;
}

.implementation-answer {
  align-self: center;
  padding: clamp(26px, 3vw, 42px);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-top: 4px solid var(--accent);
}

.implementation-answer h3 {
  max-width: 540px;
  margin-top: 13px;
  font-size: clamp(22px, 2vw, 32px);
}

.implementation-answer ol {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.implementation-answer li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}

.implementation-answer li > span {
  color: var(--accent-text);
  font: 680 10px/1.5 var(--mono);
}

.implementation-answer li p {
  display: grid;
  gap: 2px;
}

.implementation-answer li strong {
  font-size: 13px;
}

.implementation-answer li small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.implementation-truth,
.delivery-profiles,
.implementation-phases,
.implementation-ownership,
.delivery-register {
  padding-block: clamp(52px, 6vw, 88px);
  border-bottom: 1px solid var(--line);
}

.implementation-truth > header,
.delivery-profiles > header,
.implementation-phases > header,
.implementation-ownership > header,
.delivery-register > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
  align-items: end;
  gap: 32px;
  margin-bottom: 30px;
}

.implementation-truth > header h3,
.delivery-profiles > header h3,
.implementation-phases > header h3,
.implementation-ownership > header h3,
.delivery-register > header h3 {
  margin-top: 8px;
}

.delivery-profiles > header > p,
.implementation-phases > header > p,
.implementation-ownership > header > p,
.delivery-register > header > p {
  max-width: 620px;
  justify-self: end;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.implementation-truth-register {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line-strong);
}

.implementation-truth-register article {
  min-width: 0;
  min-height: 210px;
  padding: 24px;
  border-right: 1px solid var(--line);
}

.implementation-truth-register article:last-child {
  border-right: 0;
}

.implementation-truth-register article::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  margin: -24px 0 22px;
  background: var(--faint);
}

.implementation-truth-register .is-live::before { background: var(--accent); }
.implementation-truth-register .is-target::before { background: var(--blue); }
.implementation-truth-register .is-blocked::before { background: var(--amber); }
.implementation-truth-register .is-disabled::before { background: var(--red); }

.implementation-truth-register span,
.implementation-state,
.deployment-zone-title small,
.deployment-handoff,
.delivery-artifacts > article > b {
  font-family: var(--mono);
  font-size: 9px;
  font-variant-ligatures: none;
  letter-spacing: .08em;
}

.implementation-truth-register span {
  color: var(--faint);
}

.implementation-truth-register .is-live span { color: var(--accent-text); }
.implementation-truth-register .is-target span { color: var(--blue); }
.implementation-truth-register .is-blocked span { color: var(--amber); }
.implementation-truth-register .is-disabled span { color: var(--red); }

.implementation-truth-register strong {
  display: block;
  margin-top: 13px;
  font-size: 17px;
  letter-spacing: -.02em;
}

.implementation-truth-register p {
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.deployment-blueprint {
  margin: 0;
  padding-block: clamp(52px, 6vw, 88px);
  background: color-mix(in srgb, var(--surface) 45%, var(--workbench));
  border-bottom: 1px solid var(--line);
  container-name: deployment-blueprint;
  container-type: inline-size;
}

.deployment-blueprint > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 30px;
}

.deployment-blueprint > header h3 {
  margin-top: 8px;
}

.deployment-blueprint > header > span {
  padding: 7px 10px;
  color: var(--blue);
  border: 1px solid color-mix(in srgb, var(--blue) 38%, var(--line));
  font: 650 9px/1 var(--mono);
  letter-spacing: .08em;
}

.deployment-flow {
  display: grid;
  grid-template-columns: minmax(250px, .85fr) 94px minmax(380px, 1.25fr) 94px minmax(250px, .85fr);
  align-items: stretch;
  border: 1px solid var(--line-strong);
}

.deployment-zone {
  min-width: 0;
  padding: 24px;
  background: var(--surface);
}

.deployment-certarail {
  background: color-mix(in srgb, var(--accent) 5%, var(--surface));
  border-top: 4px solid var(--accent);
}

.deployment-external {
  background: color-mix(in srgb, var(--amber) 4%, var(--surface));
}

.deployment-zone-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line);
}

.deployment-zone-title > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: var(--text);
  border: 1px solid var(--line-strong);
  font: 650 9px var(--mono);
}

.deployment-certarail .deployment-zone-title > span {
  color: var(--accent-ink);
  background: var(--accent-fill);
  border-color: var(--accent-fill);
}

.deployment-zone-title p {
  display: grid;
  gap: 2px;
}

.deployment-zone-title strong {
  font-size: 16px;
}

.deployment-zone-title small {
  color: var(--faint);
}

.deployment-zone > ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.deployment-zone > ol li {
  position: relative;
  display: grid;
  gap: 3px;
  min-height: 76px;
  justify-content: stretch;
  padding: 17px 62px 17px 0;
  border-bottom: 1px solid var(--line);
}

.deployment-zone > ol li::after {
  content: "↓";
  position: absolute;
  right: 2px;
  top: 20px;
  color: var(--faint);
  font: 16px var(--mono);
}

.deployment-zone > ol li:last-child::after {
  content: "";
}

.deployment-zone > ol b {
  font-size: 13px;
}

.deployment-zone > ol small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.deployment-zone > ol em {
  position: absolute;
  right: 0;
  top: 21px;
  color: var(--amber);
  font: normal 650 8px/1.4 var(--mono);
}

.deployment-external > ol li:nth-child(2) em,
.deployment-external > ol li:nth-child(4) em {
  color: var(--red);
}

.deployment-data-note {
  margin-top: 18px !important;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.deployment-data-note strong {
  color: var(--text);
}

.deployment-handoff {
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  padding: 16px 7px;
  color: var(--faint);
  text-align: center;
  background: var(--surface-2);
  border-inline: 1px solid var(--line);
}

.deployment-handoff::after {
  content: "→";
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  margin-top: 12px;
  color: var(--accent-text);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  font-size: 16px;
}

.deployment-handoff-async::after {
  color: var(--amber);
  border-style: dashed;
}

.deployment-handoff > span {
  color: var(--faint);
  font-size: 8px;
}

.deployment-handoff > b {
  color: var(--text);
  font-size: 11px;
}

.deployment-handoff > small {
  max-width: 80px;
  font-size: 8px;
  line-height: 1.45;
}

.runtime-topology {
  display: grid;
  gap: 10px;
  padding-block: 18px;
}

.runtime-topology > div {
  min-width: 0;
}

.runtime-topology b {
  font-size: 11px;
}

.runtime-topology small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.4;
}

.runtime-ingress,
.runtime-replicas > span,
.runtime-core > span,
.runtime-async > span {
  display: grid;
  gap: 2px;
  padding: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
}

.runtime-ingress {
  text-align: center;
  border-color: color-mix(in srgb, var(--blue) 38%, var(--line));
}

.runtime-replicas,
.runtime-core,
.runtime-async {
  display: grid;
  gap: 10px;
}

.runtime-replicas,
.runtime-core { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.runtime-async { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.runtime-core > span:first-child {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
}

.deployment-blueprint figcaption {
  display: flex;
  gap: 10px;
  padding: 18px 22px;
  color: var(--muted);
  background: var(--surface-2);
  border: 1px solid var(--line-strong);
  border-top: 0;
  font-size: 11px;
  line-height: 1.55;
}

.deployment-blueprint figcaption strong {
  flex: 0 0 auto;
  color: var(--text);
}

.delivery-profile-register,
.implementation-raci {
  overflow-x: auto;
  border: 1px solid var(--line-strong);
  scrollbar-width: thin;
}

.delivery-profile-register table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
}

.implementation-raci table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.delivery-profile-register th,
.delivery-profile-register td,
.implementation-raci th,
.implementation-raci td {
  padding: 17px 18px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.delivery-profile-register tr:last-child th,
.delivery-profile-register tr:last-child td,
.implementation-raci tr:last-child th,
.implementation-raci tr:last-child td {
  border-bottom: 0;
}

.delivery-profile-register th:last-child,
.delivery-profile-register td:last-child,
.implementation-raci th:last-child,
.implementation-raci td:last-child {
  border-right: 0;
}

.delivery-profile-register thead th,
.implementation-raci thead th {
  color: var(--faint);
  background: var(--surface-2);
  font: 650 9px/1.4 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.delivery-profile-register tbody th,
.implementation-raci tbody th {
  color: var(--text);
  background: var(--surface);
  font: 650 12px/1.45 var(--sans);
}

.delivery-profile-register tbody td,
.implementation-raci tbody td {
  max-width: none;
  overflow: visible;
  color: var(--muted);
  background: var(--surface);
  font: 10px/1.55 var(--sans);
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.implementation-raci tbody td b {
  color: var(--text);
}

.implementation-state {
  display: inline-block;
  color: var(--faint);
  font-weight: 650;
  white-space: nowrap;
}

.implementation-state.live { color: var(--accent-text); }
.implementation-state.preferred { color: var(--blue); }
.implementation-state.target,
.implementation-state.conditional,
.implementation-state.blocked { color: var(--red); }
.implementation-state.disabled { color: var(--red); }

.phase-register {
  position: relative;
  border: 1px solid var(--line-strong);
}

.phase-register details {
  scroll-margin-top: 88px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.phase-register details:last-child { border-bottom: 0; }

.phase-register details[open] {
  background: color-mix(in srgb, var(--accent) 2.5%, var(--surface));
}

.phase-register summary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: 16px;
  min-height: 88px;
  padding: 16px 20px;
  cursor: pointer;
  list-style: none;
}

.phase-register summary::-webkit-details-marker { display: none; }

.phase-register summary::after {
  content: "+";
  grid-column: 4;
  justify-self: end;
  color: var(--faint);
  font: 17px var(--mono);
}

.phase-register details[open] summary::after { content: "−"; }

.phase-register summary > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--faint);
  border: 1px solid var(--line-strong);
  font: 650 9px var(--mono);
}

.phase-register details[open] summary > span {
  color: var(--accent-ink);
  background: var(--accent-fill);
  border-color: var(--accent-fill);
}

.phase-register summary > p {
  display: grid;
  gap: 3px;
}

.phase-register summary strong {
  font-size: 15px;
  line-height: 1.3;
}

.phase-register summary small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.phase-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
}

.phase-detail section {
  min-width: 0;
  padding: 22px 24px 26px;
  border-right: 1px solid var(--line);
}

.phase-detail > section:nth-of-type(3n) { border-right: 0; }

.phase-detail h4 {
  margin: 0;
  color: var(--faint);
  font: 650 9px/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.phase-detail p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

.phase-boundary,
.phase-contract-seam {
  grid-column: 1 / -1;
  min-width: 0;
  border-top: 1px solid var(--line);
}

.phase-boundary {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 15px 24px 17px;
  background: color-mix(in srgb, var(--surface-2) 66%, var(--surface));
}

.phase-boundary strong {
  color: var(--faint);
  font: 650 9px/1.5 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.phase-boundary span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.phase-contract-seam {
  display: grid;
  grid-template-columns: 118px minmax(290px, 1.35fr) minmax(230px, .85fr) auto;
  align-items: center;
  gap: 16px 24px;
  padding: 18px 24px;
  background: color-mix(in srgb, var(--accent) 5%, var(--surface));
}

.phase-contract-seam > span {
  color: var(--accent-text);
  font: 680 9px/1.5 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.phase-contract-seam code {
  min-width: 0;
  color: var(--text);
  font: 650 11px/1.6 var(--mono);
  overflow-wrap: anywhere;
  white-space: normal;
}

.phase-contract-seam p {
  margin: 0;
  font-size: 10px;
  line-height: 1.55;
}

.phase-contract-seam nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 14px;
}

.phase-contract-seam a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--accent-text);
  font-size: 10px;
  font-weight: 650;
  white-space: nowrap;
}

.delivery-artifacts {
  border: 1px solid var(--line-strong);
}

.delivery-artifacts > article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 70px;
  padding: 13px 18px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.delivery-artifacts > article:last-child { border-bottom: 0; }

.delivery-artifacts > article > span {
  color: var(--faint);
  font: 650 9px var(--mono);
}

.delivery-artifacts > article > p {
  display: grid;
  gap: 3px;
}

.delivery-artifacts > article strong { font-size: 12px; }

.delivery-artifacts > article small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.delivery-artifacts > article > b {
  color: var(--blue);
  font-weight: 650;
}

.implementation-next-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  margin-top: 24px;
  padding: 26px;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
}

.implementation-next-actions > div {
  display: grid;
  gap: 6px;
}

.implementation-next-actions > div > strong {
  font-size: 17px;
}

.implementation-next-actions > div > span {
  color: var(--muted);
  font-size: 11px;
}

.implementation-next-actions nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 18px;
}

@container implementation-page (max-width: 1000px) {
  .implementation-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .implementation-answer {
    width: 100%;
    max-width: 760px;
  }

  .implementation-truth-register { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .implementation-truth-register article:nth-child(2) { border-right: 0; }
  .implementation-truth-register article:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .phase-contract-seam {
    grid-template-columns: 110px minmax(0, 1fr);
  }
  .phase-contract-seam p,
  .phase-contract-seam nav {
    grid-column: 2;
  }
  .phase-contract-seam nav { justify-content: flex-start; }
  .implementation-next-actions { grid-template-columns: 1fr; }
  .implementation-next-actions nav { justify-content: flex-start; }
}

@media (max-width: 1420px) {
  .deployment-flow {
    grid-template-columns: minmax(220px, .8fr) 72px minmax(330px, 1.15fr) 72px minmax(220px, .8fr);
  }

  .deployment-handoff { padding-inline: 4px; }
  .deployment-handoff > small { display: none; }
  .runtime-async { grid-template-columns: 1fr; }
}

@container deployment-blueprint (max-width: 930px) {
  .deployment-flow { grid-template-columns: 1fr; }

  .deployment-handoff {
    min-height: 76px;
    grid-template-columns: auto auto auto;
    justify-content: center;
    border: 0;
    border-block: 1px solid var(--line);
  }

  .deployment-handoff::after {
    grid-row: 1;
    grid-column: 4;
    margin: 0 0 0 12px;
    transform: rotate(90deg);
  }

  .deployment-handoff > small {
    display: block;
    max-width: none;
  }

  .runtime-async { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1120px) {
  .implementation-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .implementation-answer {
    width: 100%;
    max-width: 760px;
  }

  .implementation-truth-register { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .implementation-truth-register article:nth-child(2) { border-right: 0; }
  .implementation-truth-register article:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }

  .deployment-flow {
    grid-template-columns: 1fr;
  }

  .deployment-handoff {
    min-height: 76px;
    grid-template-columns: auto auto auto;
    justify-content: center;
    border: 0;
    border-block: 1px solid var(--line);
  }

  .deployment-handoff::after {
    grid-row: 1;
    grid-column: 4;
    margin: 0 0 0 12px;
    transform: rotate(90deg);
  }

  .deployment-handoff > small { display: block; max-width: none; }

  .runtime-async { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .phase-contract-seam {
    grid-template-columns: 110px minmax(0, 1fr) minmax(220px, .8fr);
  }

  .phase-contract-seam nav {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }

  .implementation-next-actions {
    grid-template-columns: 1fr;
  }

  .implementation-next-actions nav { justify-content: flex-start; }
}

@media (max-width: 800px) {
  .implementation-page > * {
    padding-inline: 20px;
  }

  .implementation-page h3 { font-size: 25px; }
  .implementation-hero { padding-block: 50px; gap: 34px; }
  .implementation-hero h2 { font-size: clamp(45px, 13vw, 68px); }

  .implementation-truth > header,
  .delivery-profiles > header,
  .implementation-phases > header,
  .implementation-ownership > header,
  .delivery-register > header {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .delivery-profiles > header > p,
  .implementation-phases > header > p,
  .implementation-ownership > header > p,
  .delivery-register > header > p {
    justify-self: start;
  }

  .implementation-truth-register { grid-template-columns: 1fr; }
  .implementation-truth-register article,
  .implementation-truth-register article:nth-child(2) {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .implementation-truth-register article:last-child { border-bottom: 0; }

  .deployment-blueprint > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .deployment-blueprint figcaption {
    flex-direction: column;
  }

  .phase-register summary {
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    gap: 12px;
  }

  .phase-register summary > p { grid-column: 2; }
  .phase-register summary > .implementation-state {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    font-size: 9px;
  }
  .phase-register summary::after {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
  .phase-detail { grid-template-columns: 1fr; }
  .phase-detail section { border-right: 0; border-bottom: 1px solid var(--line); }
  .phase-detail > section:nth-of-type(3n) { border-bottom: 0; }

  .phase-boundary,
  .phase-contract-seam {
    grid-template-columns: 1fr;
  }

  .phase-contract-seam nav {
    grid-column: 1;
  }

  .delivery-artifacts > article {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .delivery-artifacts > article > b {
    grid-column: 2;
  }
}

@media (max-width: 520px) {
  .implementation-page > * { padding-inline: 16px; }

  .implementation-actions,
  .implementation-next-actions nav {
    align-items: stretch;
    flex-direction: column;
  }

  .implementation-actions .primary-button,
  .implementation-next-actions .primary-button {
    width: 100%;
  }

  .implementation-answer { padding: 22px 18px; }

  .runtime-replicas,
  .runtime-core,
  .runtime-async { grid-template-columns: 1fr; }

  .deployment-zone { padding: 20px 17px; }

  .deployment-handoff {
    grid-template-columns: auto auto;
  }

  .deployment-handoff > small { grid-column: 1 / -1; }
  .deployment-handoff::after { grid-column: 3; }

  .phase-register summary { padding-inline: 13px; }
  .phase-register summary small { font-size: 10px; }

  .phase-boundary,
  .phase-contract-seam {
    padding-inline: 16px;
  }

  .phase-contract-seam nav {
    align-items: flex-start;
    flex-direction: column;
  }

  .implementation-next-actions { padding: 20px; }
}

@media (pointer: coarse) {
  .phase-register summary,
  .implementation-actions a,
  .implementation-next-actions a {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .implementation-page *,
  .implementation-page *::before,
  .implementation-page *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
