/* One photographic choice per buyer task. The link text stays readable over any crop. */
body main :is(#welcome,.route-picker).buyer-start {
  width: auto;
  max-width: none;
  margin: 0;
  padding: clamp(25px, 3.5vw, 48px) var(--photo-edge);
  color: #283352;
}
.buyer-start .buyer-start-intro {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
:is(#welcome,.route-picker).buyer-start h2 { margin: 0; font: 450 clamp(26px, 3vw, 42px)/1.12 VambraceGeist,Satoshi,sans-serif; letter-spacing: -.045em; }
:is(#welcome,.route-picker).buyer-start .buyer-help { margin: 0; font: 500 1rem/1.4 Satoshi,Arial,sans-serif; }
:is(#welcome,.route-picker).buyer-start .buyer-help a { text-decoration: underline; text-underline-offset: .2em; color: inherit; }
body :is(#welcome,.route-picker).buyer-start .buyer-routes {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: clamp(8px,1vw,15px);
  margin: 0;
}
body :is(#welcome,.route-picker).buyer-start .buyer-routes > a {
  display: flex; flex-direction: column; justify-content: end; align-items: start;
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(178px,15.6vw,222px); min-width: 0; box-sizing: border-box;
  background: #202d43; color: white; text-decoration: none;
  border: 0; border-radius: 3px; box-shadow: none; margin: 0;
  padding: 16px clamp(12px,1.45vw,22px);
}
.buyer-start .route-photo,.buyer-start .buyer-routes > a::before {
  position: absolute; inset: 0; width: 100%; height: 100%;
}
.buyer-start .route-photo { z-index: -2; object-fit: cover; }
.buyer-start .buyer-routes > a::before { content:""; z-index:-1; background: linear-gradient(0deg,rgba(15,23,43,.96),rgba(15,23,43,.76) 33%,rgba(15,23,43,.14) 77%); }
:is(#welcome,.route-picker).buyer-start .buyer-routes h3 { margin: 0; color: white; padding-right: 17px; font: 500 clamp(20px,1.65vw,25px)/1.12 VambraceGeist,Satoshi,sans-serif; letter-spacing: -.035em; }
:is(#welcome,.route-picker).buyer-start .buyer-routes p { color: #f6f4fb; font: 400 .94rem/1.3 Satoshi,Arial,sans-serif; margin: 5px 0 0; padding-right: 16px; }
:is(#welcome,.route-picker).buyer-start .route-arrow { position: absolute; right: 13px; bottom: 14px; font: 400 1.1rem/1 Satoshi,sans-serif; color: white; text-decoration: none; }
:is(#welcome,.route-picker).buyer-start .buyer-routes a:is(:hover,:focus-visible) h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .12em; }
:is(#welcome,.route-picker).buyer-start .buyer-routes a:focus-visible { outline: 3px solid #764581; outline-offset: 3px; }

/* Shared page edges, section navigation and evidence typography. */
.offering-page { --offering-rule: #d9dae3; --offering-ink: #293451; --offering-muted: #51566c; }
.offering-page .offering-nav {
  display: flex; flex-wrap: wrap; gap: 4px clamp(18px,3vw,38px);
  padding: 5px var(--photo-edge); background: #fff; border-bottom: 1px solid var(--offering-rule);
}
.offering-nav > a,.offering-page .feature-intro > a,.offering-page .offering-copy a,.offering-page .process-rows > a {
  color: var(--offering-ink); font: 500 1rem/1.45 Satoshi,Arial,sans-serif;
  text-decoration: underline; text-underline-offset: .22em; text-decoration-thickness: 1px;
}
.offering-nav > a { display: inline-flex; align-items: center; min-height: 42px; }
.offering-page .offering-feature,.offering-page .offering-copy,.offering-page .offering-process {
  display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
  gap: clamp(25px,6vw,96px);
  margin: 0; padding: clamp(32px,4vw,61px) var(--photo-edge);
  color: var(--offering-ink); background: white; border-bottom: 1px solid var(--offering-rule);
}
.offering-page .offering-feature { background: #f6f6f8; }
.offering-page :is(.offering-feature,.offering-copy,.offering-process,.coverage-guide,.testing-directory,.pt-process) h2 {
  margin: 0 0 12px; color: var(--offering-ink);
  font: 450 clamp(26px,2.75vw,41px)/1.12 VambraceGeist,Satoshi,sans-serif;
  letter-spacing: -.043em; text-wrap: balance;
}
.offering-page :is(.offering-feature,.offering-copy,.offering-process,.coverage-guide,.testing-directory,.pt-process) p,
.offering-page .decision-record dd { font: 400 1rem/1.53 Satoshi,Arial,sans-serif; }
.offering-page .feature-intro > p:not(.feature-kicker),.offering-page .offering-process > div:first-child > p { max-width: 52ch; }
.offering-page .feature-intro .feature-kicker { margin: 0 0 12px; color: #634c70; font: 500 .8rem/1.35 VambraceGeistMono,monospace; }
.offering-page .offering-copy p { margin: 0 0 12px; max-width: 72ch; }
.offering-page .offering-copy p:last-child { margin-bottom: 0; }
.offering-page .feature-record {
  border-top: 2px solid #8c7197; padding: 13px 0 0;
}
.offering-page .feature-record h3,.offering-page .process-rows h3 {
  font: 500 clamp(19px,1.5vw,23px)/1.2 VambraceGeist,Satoshi,sans-serif; letter-spacing: -.025em; margin: 0 0 10px;
}
.offering-page .decision-record { margin: 0; }
.offering-page .decision-record > div {
  display: grid; grid-template-columns: minmax(76px,22%) 1fr;
  gap: 14px; padding-block: 11px; border-top: 1px solid var(--offering-rule);
}
.offering-page .decision-record dt { margin: 0; font: 600 .94rem/1.48 Satoshi,sans-serif; }
.offering-page .decision-record dd { margin: 0; }
.offering-page .process-rows > article { border-top: 1px solid var(--offering-rule); padding: 14px 0; }
.offering-page .process-rows p { margin: 0; max-width: 70ch; }
.offering-page .coverage-guide,.offering-page .testing-directory,.offering-page .pt-process {
  padding: clamp(32px,4vw,61px) var(--photo-edge); margin: 0; width: auto; max-width: none;
}
.offering-page .coverage-guide > p { max-width: 72ch; }
.offering-page .coverage-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(17px,3vw,45px); margin: 22px 0; }
.offering-page .coverage-options article { border-top: 2px solid #a8aabb; padding-top: 13px; }
.offering-page .coverage-options article:last-child { border-color: #876492; }
.offering-page .coverage-options h3,.offering-page .testing-groups h3 { font: 500 clamp(20px,1.8vw,26px)/1.16 VambraceGeist,Satoshi,sans-serif; margin: 0 0 6px; letter-spacing: -.03em; }
.offering-page .coverage-options strong { color: var(--offering-muted); font: 600 .92rem/1.4 Satoshi,sans-serif; }
.offering-page .coverage-options p { margin: 6px 0 0; }
.offering-page .capabilities-fold { border-block: 1px solid var(--offering-rule); }
.offering-page .capabilities-fold summary { padding: 16px 0; cursor: pointer; font: 600 1rem/1.45 Satoshi,sans-serif; }
.offering-page .compare-scroll { width: 100%; overflow-x: auto; }
.offering-page .testing-groups { display: block; border-bottom: 1px solid var(--offering-rule); margin-top: 20px; }
.offering-page .testing-groups > section {
  display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.18fr) minmax(0,1fr);
  align-items: start; gap: clamp(16px,3vw,44px); background: transparent;
  border: 0; border-top: 1px solid var(--offering-rule); padding: 16px 0; margin: 0;
}
.offering-page .testing-groups :is(p,ul) { margin: 0; }
.offering-page .testing-groups ul { padding: 0; list-style: none; }
.offering-page .testing-groups li { margin: 0; }
.offering-page .testing-groups a { display: inline-block; padding: 3px 0; color: var(--offering-ink); text-decoration: underline; text-underline-offset: .2em; font: 500 .97rem/1.35 Satoshi,sans-serif; }
.offering-page .pt-process { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: clamp(25px,6vw,96px); }
.offering-page .pt-process .process-rows { display: block; }
.offering-page .message-example { margin: 0; padding: 16px clamp(16px,2vw,29px); background: #fff; border: 1px solid #c9ccda; border-top: 2px solid #8c7197; }
.offering-page .message-example figcaption { color: #634c70; font: 500 .82rem/1.35 VambraceGeistMono,monospace; }
.offering-page .message-example dl { margin: 12px 0; }
.offering-page .message-example dl > div { display: grid; grid-template-columns: 4rem minmax(0,1fr); gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--offering-rule); }
.offering-page .message-example dt,.offering-page .message-example dd { margin: 0; font: 500 .94rem/1.45 Satoshi,sans-serif; }
.offering-page .message-example blockquote { font: 450 clamp(20px,1.75vw,26px)/1.27 VambraceGeist,Satoshi,sans-serif; margin: 12px 0; color: var(--offering-ink); }
.offering-page .message-example p { font-size: .94rem; margin: 0; }
.offering-page .message-example p strong { display: block; }
@media (max-width:960px) {
  body :is(#welcome,.route-picker).buyer-start .buyer-routes { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .buyer-start .buyer-routes > a::before {
    background: linear-gradient(0deg,rgba(15,23,43,.96),rgba(15,23,43,.88) 38%,rgba(15,23,43,.73) 56%,rgba(15,23,43,.18) 77%);
  }
}
@media (max-width:740px) {
  .offering-page .offering-nav { gap: 0 15px; }
  .offering-nav > a { min-height: 40px; font-size: .94rem; }
  .offering-page .offering-feature,.offering-page .offering-copy,.offering-page .offering-process,.offering-page .pt-process { grid-template-columns: 1fr; gap: 16px; }
  .offering-page .coverage-options { grid-template-columns: 1fr; gap: 15px; }
  .offering-page .testing-groups > section { grid-template-columns: 1fr; gap: 5px; }
  .offering-page .testing-groups ul { display: flex; flex-wrap: wrap; gap: 0 16px; }
  .offering-page .testing-groups a { padding-block: 7px; }
  .offering-page .decision-record > div { gap: 10px; }
  body :is(#welcome,.route-picker).buyer-start .buyer-routes > a { min-height: 158px; padding: 12px; }
  :is(#welcome,.route-picker).buyer-start .buyer-routes h3 { font-size: clamp(17px,4.3vw,22px); }
  :is(#welcome,.route-picker).buyer-start .buyer-routes p { font-size: .85rem; }
  :is(#welcome,.route-picker).buyer-start .route-arrow { right: 8px; bottom: 13px; }
}
@media (max-width:349px) {
  body :is(#welcome,.route-picker).buyer-start .buyer-routes { grid-template-columns: 1fr; }
  body :is(#welcome,.route-picker).buyer-start .buyer-routes > a { min-height: 105px; }
}
