:root {
  color-scheme: light;
  --ink: #151719;
  --muted: #66717d;
  --line: #dfe3e8;
  --surface: #ffffff;
  --surface-2: #f5f6f3;
  --accent: #b21f2d;
  --accent-2: #2d7a57;
  --gold: #bc8d28;
  --shadow: 0 18px 45px rgba(22, 24, 27, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--surface-2);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 66px;
  padding: 10px clamp(14px, 3vw, 42px);
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 230px;
  text-decoration: none;
}

.brand-logo {
  width: 50px;
  height: 50px;
  object-fit: contain;
  flex: 0 0 auto;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: var(--ink);
  color: #fff;
  border-radius: 4px;
  font-weight: 800;
  letter-spacing: 0;
}

.brand strong,
.brand small {
  display: block;
}

.brand small {
  color: var(--muted);
  font-size: 12px;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.header-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.header-nav a {
  padding: 8px 10px;
  border-radius: 3px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.header-nav a:hover,
.header-nav a:focus-visible {
  background: #ecefeb;
  color: var(--ink);
  outline: none;
}

.site-session {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
}

.session-chip {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  width: auto;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.site-session[data-state="signed-in"] .session-chip {
  border-color: #cbd2d9;
  background: #fff;
}

.session-chip strong,
.session-chip small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-chip strong {
  font-size: 13px;
  line-height: 1.4;
}

.session-chip small {
  display: none;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.session-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 20;
  display: grid;
  min-width: 240px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  box-shadow: var(--shadow);
}

.session-menu[hidden] {
  display: none;
}

.session-menu-identity {
  padding: 8px;
  border-bottom: 1px solid var(--line);
}

.session-menu-identity strong,
.session-menu-identity span {
  display: block;
}

.session-menu-identity strong {
  overflow-wrap: anywhere;
}

.session-menu-identity span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.session-menu a,
.session-menu button {
  display: flex;
  align-items: center;
  min-height: 36px;
  width: 100%;
  padding: 0 10px;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.session-menu a:hover,
.session-menu a:focus-visible,
.session-menu button:hover,
.session-menu button:focus-visible {
  background: #f2f4f1;
  outline: none;
}

.app-shell {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 18px clamp(14px, 3vw, 42px) 48px;
}

.cedar-home { --home-space: clamp(28px, 5vw, 76px); }
.home-intro { display: grid; grid-template-columns: .85fr 1.15fr; background: #eeefe9; }
.home-intro-copy { padding: clamp(28px, 4vw, 60px); align-self: center; }
.home-intro h1 { font-size: clamp(46px, 4.9vw, 76px); line-height: 1.02; letter-spacing: -.065em; margin: 24px 0; font-weight: 800; }
.home-lead { max-width: 37ch; color: #46504f; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.7; }
.home-intro .cta-row { align-items: center; gap: 18px; margin-top: 28px; }
.cedar-home .button { min-height: 48px; padding: 12px 20px; gap: 18px; border-radius: 0; }
.home-intro .button, .home-finder .button { background: #a71e2e; border-color: #a71e2e; }
.cedar-home .button:hover { background: #32383a; border-color: #32383a; color: white; }
.cedar-home :is(a,button,select):focus-visible { outline: 3px solid #b21f2d; outline-offset: 4px; }
.home-text-link { display: inline-flex; align-items: center; gap: 12px; font-weight: 650; text-underline-offset: 5px; }
.home-price { display: flex; align-items: center; gap: 14px; margin-top: 36px; border-top: 1px solid #cdd1c9; padding-top: 20px; }
.home-price strong { font-size: 32px; letter-spacing: -.04em; }
.home-price span { max-width: 17ch; font-size: 13px; line-height: 1.4; }
.home-price-note { color: #56605c; font-size: 12px; margin: 8px 0 0; }
.home-intro-photo { margin: 0; display: flex; flex-direction: column; justify-content: center; background: #192122; }
.home-intro-photo img { display: block; width: 100%; height: auto; }
.home-intro-photo figcaption { padding: 12px 20px; color: #dce3df; font-size: 11px; letter-spacing: .04em; }
.home-finder { scroll-margin-top: 100px; padding: 32px clamp(22px, 4vw, 48px); background: white; border: 1px solid var(--line); display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; column-gap: 32px; }
.home-finder h2 { font-size: 25px; letter-spacing: -.035em; margin: 4px 0 8px; }
.home-finder p { font-size: 13px; margin: 5px 0; color: #56605c; }
.home-finder-form { display: grid; grid-template-columns: 1.15fr .85fr auto; gap: 12px; align-items: end; }
.home-finder-form select { width: 100%; min-height: 48px; border: 1px solid #b9c0bb; border-radius: 0; background: white; color: var(--ink); padding: 10px; }
.home-finder-form .field { min-width: 0; }
.home-finder-form .button { white-space: nowrap; }
.home-finder .home-other-makes { grid-column: 2; margin-top: 12px; }
.home-other-makes a { font-weight: 650; text-underline-offset: 3px; }
.home-shop { padding: var(--home-space) 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--home-space); align-items: center; }
.home-shop figure { margin: 0; }
.home-shop img { display: block; width: 100%; height: auto; }
.home-shop figcaption { color: var(--muted); margin-top: 10px; font-size: 12px; }
.home-shop h2 { font-size: clamp(34px, 3.5vw, 52px); letter-spacing: -.055em; line-height: 1.06; margin: 20px 0; }
.home-shop-copy > p:not(.eyebrow) { max-width: 47ch; color: #56605c; line-height: 1.7; }
.home-service-notes { margin: 26px 0; }
.home-service-notes > div { padding: 15px 0; border-top: 1px solid #d4d8d1; }
.home-service-notes dt { font-weight: 750; font-size: 14px; }
.home-service-notes dd { margin: 5px 0 0; color: #56605c; font-size: 14px; max-width: 48ch; }
.home-more-makes { border-top: 1px solid #bdc4bc; padding: 36px 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--home-space); }
.home-more-makes h2 { font-size: clamp(23px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -.035em; margin: 12px 0; }
.home-more-makes p:not(.eyebrow) { color: #56605c; font-size: 14px; }
.home-more-makes nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.home-more-makes nav a { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; border-bottom: 1px solid #cdd1c9; text-decoration: none; font-weight: 650; }
.home-more-makes nav a:hover { color: var(--accent); }
.home-visit { padding: clamp(28px, 4vw, 56px); background: #192122; color: white; display: grid; grid-template-columns: 1fr 1fr; gap: var(--home-space); align-items: center; }
.home-visit .eyebrow { color: #d2b8af; }
.home-visit h2 { font-size: clamp(26px, 3vw, 42px); line-height: 1.18; letter-spacing: -.045em; margin: 15px 0 0; }
.home-visit p:not(.eyebrow) { color: #d2dbd5; max-width: 32ch; }
.home-visit .button { background: #edf1e8; color: #192122; border-color: #edf1e8; }
.home-visit .home-text-link { margin: 16px 0 0 18px; font-size: 14px; }
.catalog-title { font-size: 26px; letter-spacing: -.04em; margin: 5px 0 0; }
@media (max-width: 1100px) {
  .home-finder { grid-template-columns: 1fr; gap: 18px; }
  .home-finder .home-other-makes { grid-column: 1; margin-top: 0; }
  .home-intro h1 { font-size: clamp(42px, 5vw, 60px); }
  .home-intro-copy { padding: 30px; }
  .home-intro .cta-row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 700px) {
  .home-intro { grid-template-columns: 1fr; }
  .home-intro-copy { padding: 28px 24px; }
  .home-intro h1 { font-size: clamp(46px, 12vw, 68px); margin: 18px 0; }
  .home-lead { max-width: 40ch; }
  .home-intro .cta-row { flex-direction: row; flex-wrap: wrap; }
  .home-price { margin-top: 24px; }
  .home-finder-form { grid-template-columns: 1.15fr .85fr; }
  .home-finder-form .button { grid-column: 1 / -1; }
  .home-shop, .home-more-makes, .home-visit { grid-template-columns: 1fr; }
  .home-shop { gap: 24px; }
  .home-shop h2 br { display: none; }
  .home-shop h2 { max-width: 12ch; }
  .home-more-makes { gap: 12px; }
  .home-visit { gap: 18px; }
  .home-visit .home-text-link { display: flex; margin-left: 0; }
}

.site-footer {
  border-top: 1px solid #2d3034;
  background: var(--ink);
  color: #fff;
}

.site-footer-inner,
.site-footer-legal {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding-right: clamp(14px, 3vw, 42px);
  padding-left: clamp(14px, 3vw, 42px);
}

.site-footer-inner {
  display: grid;
  grid-template-columns: minmax(250px, 1.5fr) repeat(3, minmax(150px, 0.7fr));
  gap: clamp(28px, 4vw, 64px);
  padding-top: 38px;
  padding-bottom: 34px;
}

.site-footer-brand {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.site-footer-brand img {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  padding: 4px;
  background: #fff;
}

.site-footer-brand strong,
.site-footer-brand span,
.site-footer-links strong,
.site-footer-links a,
.site-footer-contact strong,
.site-footer-contact a,
.site-footer-contact span {
  display: block;
}

.site-footer-brand strong {
  font-size: 18px;
}

.site-footer-brand span,
.site-footer-contact span {
  max-width: 300px;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 13px;
}

.site-footer-links,
.site-footer-contact {
  display: grid;
  align-content: start;
  gap: 7px;
}

.site-footer-links strong,
.site-footer-contact strong {
  margin-bottom: 3px;
  color: #fff;
  font-size: 11px;
  text-transform: uppercase;
}

.site-footer-links a,
.site-footer-contact a {
  width: max-content;
  max-width: 100%;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  text-decoration: none;
}

.site-footer-links a:hover,
.site-footer-links a:focus-visible,
.site-footer-contact a:hover,
.site-footer-contact a:focus-visible {
  color: #fff;
  outline: none;
  text-decoration: underline;
}

.site-footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-top: 14px;
  padding-bottom: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
}

.loading-state {
  min-height: 50vh;
  display: grid;
  place-content: center;
  text-align: center;
}

.summary-band {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(280px, 0.52fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.intro-panel,
.contact-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: var(--shadow);
}

.intro-panel {
  display: block;
  min-height: auto;
  overflow: hidden;
}

.intro-copy {
  padding: clamp(22px, 3vw, 34px);
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0;
  line-height: 1.08;
  letter-spacing: 0;
}

h1 {
  max-width: 780px;
  font-size: clamp(38px, 7vw, 72px);
}

.intro-copy h1 {
  max-width: 840px;
  font-size: clamp(34px, 4vw, 58px);
}

h2 {
  font-size: clamp(24px, 3vw, 36px);
}

h3 {
  font-size: 18px;
}

.intro-copy p {
  max-width: 760px;
  margin: 14px 0 0;
  color: #4a525a;
  font-size: 17px;
}

.intro-media {
  position: relative;
  min-height: 280px;
  background: #202326;
}

.intro-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.stats-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border-top: 1px solid var(--line);
  background: var(--line);
}

.stat {
  min-width: 0;
  padding: 18px;
  background: var(--surface);
}

.stat strong,
.stat span {
  display: block;
}

.stat strong {
  font-size: 24px;
}

.stat span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.contact-panel {
  display: grid;
  align-content: start;
  gap: 20px;
  padding: 24px;
}

.contact-panel h2 {
  max-width: 520px;
  font-size: clamp(24px, 2.2vw, 34px);
}

.contact-panel p:not(.eyebrow) {
  max-width: 620px;
  margin: 0;
  color: #3d454d;
}

.contact-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
}

.contact-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #3d454d;
}

.contact-row span {
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #edf5ef;
  color: var(--accent-2);
  font-size: 13px;
  font-weight: 800;
}

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid var(--ink);
  border-radius: 3px;
  background: var(--ink);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.button.secondary {
  background: transparent;
  color: var(--ink);
}

.workbench {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.filters {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 14px;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
}

.field {
  display: grid;
  gap: 6px;
}

.field label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.field input,
.field select {
  width: 100%;
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid #cbd2d9;
  border-radius: 3px;
  background: #fff;
  color: var(--ink);
}

.filter-count {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.filter-count strong {
  font-size: 28px;
}

.filter-count span {
  color: var(--muted);
  font-size: 13px;
}

.catalog-layout {
  display: grid;
  grid-template-columns: minmax(380px, 0.78fr) minmax(560px, 1.22fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
  scroll-margin-top: 86px;
}

.catalog-layout.no-match-layout {
  grid-template-columns: 1fr;
}

.product-results-column {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.product-list {
  display: grid;
  align-content: start;
  gap: 8px;
}

.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.catalog-pagination > span {
  display: grid;
  place-items: center;
  line-height: 1.25;
  text-align: center;
}

.catalog-pagination strong {
  color: var(--ink);
}

.catalog-pagination small {
  color: var(--muted);
}

.catalog-pagination .button {
  min-width: 92px;
}

.catalog-pagination .button:disabled {
  opacity: 0.4;
  cursor: default;
}

.product-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-height: 104px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.product-card:hover,
.product-card.is-active {
  border-color: var(--accent);
  box-shadow: 0 10px 26px rgba(178, 31, 45, 0.14);
}

.catalog-image {
  display: block;
  object-position: center;
}

.media-cover {
  object-fit: cover;
}

.media-contain {
  object-fit: contain;
  background: #fff;
}

.media-stock-generated {
  background: #ececea;
}

.media-technical {
  padding: 8px;
}

.media-logo {
  padding: 12px;
}

.product-card .catalog-image,
.product-card .image-fallback {
  width: 88px;
  height: 88px;
  border-radius: 3px;
  background: #e8ebe7;
}

.product-card .catalog-image.media-stock-generated {
  object-position: 28% 58%;
}

.image-fallback {
  display: grid;
  align-content: center;
  place-items: center;
  gap: 3px;
  overflow: hidden;
  padding: 8px;
  color: var(--muted);
  text-align: center;
  font-weight: 800;
}

.generated-media {
  border: 1px solid #dfe3e8;
  background: #f7f8f6;
}

.generated-media strong,
.generated-media span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.generated-media strong {
  color: var(--ink);
  font-size: 12px;
}

.generated-media span {
  color: var(--muted);
  font-size: 10px;
}

.generated-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 3px;
  background: var(--ink);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.product-card-content {
  min-width: 0;
}

.product-card h3 {
  overflow-wrap: anywhere;
}

.product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.product-offer-line {
  display: block;
  margin-top: 6px;
  color: #3f4750;
  font-size: 12px;
  font-weight: 800;
}

.pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid #d5dadd;
  border-radius: 3px;
  background: #f8f9f7;
  color: #4d555e;
  font-size: 12px;
  font-weight: 800;
}

.pill.green {
  border-color: #c6dfd2;
  background: #eef8f1;
  color: #28654b;
}

.detail-panel {
  position: sticky;
  top: 92px;
  max-height: none;
  overflow: visible;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  scroll-margin-top: 82px;
}

.detail-hero {
  display: grid;
  grid-template-columns: minmax(180px, 0.62fr) minmax(0, 1.38fr);
  gap: 0;
  border-bottom: 1px solid var(--line);
}

.detail-panel:not(.standalone-detail) .detail-hero {
  grid-template-columns: 1fr;
}

.detail-image {
  min-height: 220px;
  background: #202326;
  overflow: hidden;
}

.detail-image .catalog-image,
.detail-image .image-fallback {
  width: 100%;
  height: 100%;
  min-height: 220px;
  border-radius: 0;
}

.detail-image .media-technical {
  padding: 14px;
}

.detail-image .media-logo {
  padding: 28px;
}

.detail-image .media-stock-generated {
  object-fit: contain;
  padding: 0;
  background: #f2f2ef;
}

.detail-panel:not(.standalone-detail) .detail-image .media-stock-generated {
  object-fit: cover;
  object-position: center 58%;
  background: #202326;
}

.detail-panel:not(.standalone-detail) .detail-image {
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.detail-panel:not(.standalone-detail) .detail-image .catalog-image,
.detail-panel:not(.standalone-detail) .detail-image .image-fallback {
  min-height: 0;
}

.detail-image .generated-mark {
  width: 58px;
  height: 58px;
  font-size: 22px;
}

.detail-image .generated-media strong {
  font-size: 18px;
}

.detail-image .generated-media span {
  font-size: 13px;
}

.detail-heading {
  display: grid;
  align-content: center;
  gap: 12px;
  padding: 20px;
}

.detail-panel:not(.standalone-detail) .detail-heading {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "vehicle price"
    "title price"
    "summary summary"
    "actions actions";
  align-items: start;
  column-gap: 24px;
  row-gap: 9px;
  padding: 22px 24px 24px;
}

.detail-panel:not(.standalone-detail) .detail-vehicle {
  grid-area: vehicle;
}

.detail-panel:not(.standalone-detail) .detail-heading h2 {
  grid-area: title;
  max-width: 18ch;
  font-size: clamp(30px, 2.6vw, 44px);
  line-height: 1.02;
}

.detail-panel:not(.standalone-detail) .detail-heading .price,
.detail-panel:not(.standalone-detail) .detail-heading .detail-service-tag {
  grid-area: price;
  align-self: center;
  text-align: right;
}

.detail-panel:not(.standalone-detail) .detail-summary {
  grid-area: summary;
  max-width: 72ch;
  margin-top: 4px;
  color: var(--muted);
}

.detail-panel:not(.standalone-detail) .detail-heading .cta-row {
  grid-area: actions;
  margin-top: 5px;
}

.detail-heading h2 {
  overflow-wrap: anywhere;
  font-size: clamp(28px, 2.4vw, 42px);
}

.detail-heading h1 {
  overflow-wrap: anywhere;
  font-size: clamp(34px, 4.2vw, 56px);
}

.price {
  color: var(--accent);
  font-size: 24px;
  font-weight: 900;
}

.detail-service-tag,
.product-service-tag {
  margin: 0;
  color: var(--accent);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.detail-service-summary {
  display: grid;
  gap: 5px;
  padding: 15px 16px;
  border-left: 3px solid var(--accent);
  background: #f8f9f7;
}

.detail-service-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.detail-service-summary p {
  margin: 0;
  color: var(--muted);
}

.detail-body {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 20px;
}

.detail-body > section {
  min-width: 0;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.dyno-sheet-panel {
  max-width: 100%;
  min-width: 0;
  margin: 0 0 12px;
}

.dyno-reference-list {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
}

.dyno-reference-card {
  display: grid;
  gap: 7px;
  padding: 15px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 4px;
  background: #f7f8f6;
}

.dyno-reference-card .eyebrow {
  margin: 0 0 4px;
}

.dyno-reference-output {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.1;
}

.dyno-reference-output span {
  margin-left: 8px;
  color: var(--muted);
  font-size: 0.64em;
  font-weight: 800;
}

.dyno-reference-method,
.dyno-reference-note {
  margin: 0;
}

.dyno-reference-method {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.dyno-reference-note {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.dyno-sheet-scroll {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #fff;
}

.dyno-sheet-svg {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  background: #fff;
}

.dyno-run {
  opacity: 0.46;
  transition: opacity 0.12s ease;
}

.dyno-run .dyno-line {
  stroke-width: 2.1;
  transition: stroke-width 0.12s ease, opacity 0.12s ease;
}

.dyno-run .dyno-peak-label {
  opacity: 0.58;
  font-weight: 500;
}

.dyno-run.is-selected {
  opacity: 1;
}

.dyno-run.is-selected .dyno-line {
  stroke-width: 5.8;
}

.dyno-run.is-selected .dyno-peak-label {
  opacity: 1;
  font-weight: 800;
}

.dyno-run-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: #fff;
}

.dyno-run-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #f8f9f7;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.dyno-run-toggle > span:last-child {
  display: grid;
  gap: 1px;
}

.dyno-run-toggle strong,
.dyno-run-toggle small {
  display: block;
  line-height: 1.15;
}

.dyno-run-toggle small {
  color: var(--muted);
  font-size: 11px;
}

.dyno-run-toggle.is-selected {
  border-color: var(--ink);
  background: #fff;
  box-shadow: inset 0 -3px 0 var(--ink);
  font-weight: 900;
}

.dyno-run-swatch {
  display: grid;
  gap: 3px;
  width: 16px;
}

.dyno-run-swatch i {
  display: block;
  width: 16px;
  height: 5px;
}

.performance-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.stage-price-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.performance-table th,
.performance-table td,
.stage-price-table th,
.stage-price-table td {
  padding: 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.performance-table th,
.stage-price-table th {
  background: #f4f5f2;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.performance-table tr:last-child td,
.stage-price-table tr:last-child td {
  border-bottom: 0;
}

.performance-table tr.is-selected-stage td {
  background: #f7f8f6;
  box-shadow: inset 3px 0 0 var(--accent);
  font-weight: 800;
}

.copy-block {
  color: #3f4750;
  white-space: pre-line;
}

.brand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}

.brand-tile {
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
}

.brand-tile strong,
.brand-tile span {
  display: block;
}

.brand-tile span {
  color: var(--muted);
  font-size: 13px;
}

.empty-state {
  padding: 22px;
  border: 1px dashed #c2c9c2;
  border-radius: 4px;
  background: #fbfcfa;
  color: var(--muted);
}

.no-match-panel {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
}

.no-match-panel h2 {
  max-width: 860px;
}

.no-match-panel p:not(.eyebrow) {
  max-width: 860px;
  margin: 12px 0 0;
  color: #4a525a;
}

.recovery-results {
  display: grid;
  gap: 12px;
}

.recovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}

.recovery-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fbfcfa;
}

.recovery-card .catalog-image,
.recovery-card .image-fallback {
  width: 92px;
  height: 92px;
  border-radius: 3px;
}

.recovery-card p {
  margin: 8px 0 0;
  color: var(--muted);
}

.hero-actions,
.toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.toggle-row {
  margin-top: -9px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.toggle-row label,
.check-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.content-band,
.finder-panel,
.portal-panel,
.seo-hero {
  margin-top: 18px;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
}

.make-heading {
  display: grid;
  gap: 9px;
  margin-top: 20px;
  padding: 6px 0 4px;
}

.make-heading h1 {
  max-width: 780px;
  font-size: clamp(36px, 4.4vw, 58px);
}

.make-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.make-stats span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.seo-hero {
  display: grid;
  gap: 14px;
}

.seo-hero h1 {
  max-width: 980px;
}

.seo-hero p {
  max-width: 860px;
  margin: 0;
  color: #4a525a;
  font-size: 17px;
}

.model-landing-page {
  overflow: hidden;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
}

.tune-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 44px;
  padding: 10px 22px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.tune-breadcrumb a {
  color: #3e4852;
  text-decoration: none;
}

.tune-breadcrumb a:hover,
.tune-breadcrumb a:focus-visible {
  color: var(--accent);
  text-decoration: underline;
  outline: none;
}

.breadcrumb-separator {
  color: #a3abb3;
}

.model-landing-hero {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  background: #dfe3e4;
}

.model-landing-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.model-landing-image,
.model-landing-media .generated-media {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.model-landing-image {
  display: block;
  object-fit: cover;
  object-position: var(--landing-position, 28% 56%);
}

.model-landing-image.media-stock-generated {
  object-position: var(--landing-position, 28% 58%);
}

.catalog-image.media-photo-framed,
.model-landing-image.media-photo-framed {
  object-fit: contain;
  object-position: center;
  padding: clamp(14px, 2vw, 28px);
  background:
    radial-gradient(circle at 50% 42%, rgba(92, 103, 112, 0.34), transparent 46%),
    linear-gradient(145deg, #252a2e, #121518 72%);
}

.model-landing-brand {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 11px 8px 8px;
  border-left: 3px solid var(--accent);
  border-radius: 2px;
  background: rgba(15, 17, 18, 0.78);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  color: #fff;
}

.model-landing-brand img {
  width: 32px;
  height: 32px;
}

.model-landing-brand span,
.model-landing-brand strong,
.model-landing-brand small {
  display: block;
}

.model-landing-brand strong {
  font-size: 12px;
}

.model-landing-brand small {
  margin-top: 1px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 9px;
}

.model-landing-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 17px;
  width: min(52%, 760px);
  min-height: 430px;
  margin-left: auto;
  padding: 46px 48px;
  background: rgba(17, 19, 21, 0.76);
  color: #fff;
}

.model-landing-copy .eyebrow {
  margin: 0;
  color: #ef7d72;
}

.model-landing-copy h1 {
  max-width: 760px;
  overflow-wrap: anywhere;
  color: #fff;
  font-size: 58px;
  line-height: 1.02;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.78);
}

.model-landing-copy > p:not(.eyebrow) {
  max-width: 700px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.55;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.8);
}

.model-landing-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.model-landing-actions .button {
  border-color: #fff;
}

.model-landing-actions .button.secondary {
  color: #fff;
}

.model-landing-actions .button.secondary:hover,
.model-landing-actions .button.secondary:focus-visible {
  background: #fff;
  color: var(--ink);
}

.model-landing-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.model-landing-facts > div {
  min-width: 0;
  padding: 16px 20px;
  border-right: 1px solid var(--line);
}

.model-landing-facts > div:last-child {
  border-right: 0;
}

.model-landing-facts span,
.model-landing-facts strong {
  display: block;
}

.model-landing-facts span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.model-landing-facts strong {
  margin-top: 3px;
  overflow-wrap: anywhere;
  font-size: 16px;
}

.model-year-nav {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--line);
  background: #f8f9f7;
}

.model-year-nav > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.model-year-nav > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.model-year-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid #cfd5da;
  border-radius: 2px;
  background: #fff;
  color: #3f4851;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.model-year-nav a:hover,
.model-year-nav a:focus-visible,
.model-year-nav a[aria-current="page"] {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  outline: none;
}

.model-product-section,
.model-calibration-section,
.related-tune-section {
  padding: 34px 32px;
}

.model-calibration-section,
.related-tune-section {
  border-top: 1px solid var(--line);
}

.related-tune-section {
  background: #f5f6f3;
}

.model-section-heading {
  display: grid;
  gap: 8px;
  max-width: 860px;
  margin-bottom: 24px;
}

.model-section-heading .eyebrow,
.model-section-heading h2,
.model-section-heading p {
  margin: 0;
}

.model-section-heading h2 {
  font-size: 34px;
}

.model-section-heading > p:not(.eyebrow) {
  color: var(--muted);
  font-size: 16px;
}

.model-year-groups {
  display: grid;
  gap: 34px;
}

.model-year-groups.model-year-groups-compact { gap: 0; border-top: 2px solid var(--ink); }
.make-tune-options { border-top: 2px solid var(--ink); }
.model-tune-option { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 24px; padding: 20px 12px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.model-tune-option:hover { background: #f5f6f4; }
.model-tune-option:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.model-tune-option-vehicle { min-width: 0; }
.model-tune-option h3 { margin: 0; font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
.model-tune-option p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.model-tune-option-price { color: var(--accent); font-size: 16px; white-space: nowrap; }
.model-tune-option-action { font-size: 13px; font-weight: 800; white-space: nowrap; }
@media (max-width: 700px) {
  .model-tune-option { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 16px; padding: 18px 4px; }
  .model-tune-option-vehicle { grid-column: 1 / -1; }
  .model-tune-option-price { font-size: 15px; white-space: normal; }
}

.model-year-group {
  scroll-margin-top: 90px;
}

.model-year-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding-bottom: 9px;
  border-bottom: 2px solid var(--ink);
}

.model-year-heading h3 {
  font-size: 22px;
}

.model-year-heading span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.tune-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 12px;
}

.tune-product-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
}

.tune-product-card a {
  display: grid;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.tune-product-card:hover,
.tune-product-card:focus-within {
  border-color: var(--accent);
}

.tune-product-card a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.tune-product-media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #e7e9e6;
}

.tune-product-media .catalog-image,
.tune-product-media .image-fallback {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.tune-product-media .catalog-image {
  object-fit: cover;
  object-position: 30% 58%;
}

.tune-product-copy {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 15px 16px 16px;
}

.tune-product-kicker {
  color: var(--accent);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.tune-product-copy h3 {
  overflow-wrap: anywhere;
  font-size: 20px;
  line-height: 1.12;
}

.tune-product-offer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.tune-product-offer strong {
  color: var(--accent);
  font-size: 17px;
}

.tune-product-offer span,
.tune-product-copy p {
  color: var(--muted);
  font-size: 12px;
}

.tune-product-copy p {
  margin: 0;
}

.tune-product-action {
  align-self: end;
  margin-top: 3px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
  text-decoration: underline;
}

.model-calibration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.model-calibration-grid article {
  min-width: 0;
  padding: 16px 22px 0 0;
  border-top: 2px solid var(--ink);
}

.model-calibration-grid article + article {
  padding-left: 22px;
  border-left: 1px solid var(--line);
}

.model-calibration-grid span,
.model-calibration-grid strong {
  display: block;
}

.model-calibration-grid span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.model-calibration-grid strong {
  margin-top: 4px;
  overflow-wrap: anywhere;
  font-size: 20px;
}

.model-calibration-grid p {
  margin: 8px 0 0;
  color: #4c5660;
  font-size: 14px;
}

.related-tune-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.related-tune-links a {
  display: grid;
  gap: 5px;
  padding-top: 12px;
  border-top: 2px solid #aeb5bb;
  text-decoration: none;
}

.related-tune-links a:hover,
.related-tune-links a:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  outline: none;
}

.related-tune-links strong {
  overflow-wrap: anywhere;
  font-size: 16px;
}

.related-tune-links span {
  color: var(--muted);
  font-size: 12px;
}

.make-landing-page {
  overflow: hidden;
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
}

.make-landing-hero {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  background: #1f2225;
}

.make-landing-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.make-landing-media .model-landing-image,
.make-landing-media .generated-media {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.make-landing-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 17px;
  width: min(49%, 720px);
  min-height: 470px;
  margin-left: auto;
  padding: 50px 48px;
  background: rgba(17, 19, 21, 0.72);
  color: #fff;
}

.make-landing-copy .eyebrow {
  color: #ef7d72;
}

.make-landing-copy h1 {
  color: #fff;
  font-size: 60px;
  line-height: 1;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.72);
}

.make-landing-copy > p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 17px;
  line-height: 1.6;
}

.make-landing-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.make-landing-facts > div {
  min-width: 0;
  padding: 17px 22px;
  border-right: 1px solid var(--line);
}

.make-landing-facts > div:last-child {
  border-right: 0;
}

.make-landing-facts span,
.make-landing-facts strong {
  display: block;
}

.make-landing-facts span,
.make-platform-grid span,
.make-platform-grid small,
.make-directory summary small,
.make-calibration-strip span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.make-landing-facts strong {
  margin-top: 3px;
  overflow-wrap: anywhere;
  font-size: 17px;
}

.make-platform-section,
.make-directory-section,
.make-featured-section {
  padding: 34px 32px;
}

.make-directory-section,
.make-featured-section {
  border-top: 1px solid var(--line);
}

.make-platform-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 2px solid var(--ink);
  border-left: 1px solid var(--line);
}

.make-platform-grid a {
  display: grid;
  align-content: start;
  gap: 4px;
  min-height: 132px;
  padding: 15px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.make-platform-grid a:hover,
.make-platform-grid a:focus-visible {
  background: #f6f7f4;
  box-shadow: inset 0 -3px 0 var(--accent);
  outline: none;
}

.make-platform-grid strong {
  overflow-wrap: anywhere;
  font-size: 19px;
  line-height: 1.18;
}

.make-platform-grid small {
  overflow-wrap: anywhere;
  text-transform: none;
}

.make-platform-grid b {
  margin-top: auto;
  color: var(--accent);
  font-size: 12px;
}

.make-directory {
  border-top: 2px solid var(--ink);
}

.make-directory summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 76px;
  padding: 12px 2px;
  cursor: pointer;
  list-style: none;
}

.make-directory summary::-webkit-details-marker {
  display: none;
}

.make-directory summary span,
.make-directory summary small,
.make-directory summary strong {
  display: block;
}

.make-directory summary strong {
  margin-top: 2px;
  font-size: 23px;
}

.make-directory summary > b {
  display: grid;
  place-items: center;
  min-width: 38px;
  height: 30px;
  border: 1px solid var(--ink);
  font-size: 13px;
}

.make-directory-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.make-directory-links a {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
}

.make-directory-links a:hover,
.make-directory-links a:focus-visible {
  background: #f6f7f4;
  color: var(--accent);
  outline: none;
}

.make-directory-links strong,
.make-directory-links span {
  overflow-wrap: anywhere;
}

.make-directory-links span {
  color: var(--muted);
  font-size: 11px;
}

.make-featured-section {
  background: #f5f6f3;
}

.make-calibration-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: #33363a;
}

.make-calibration-strip > div {
  min-width: 0;
  padding: 20px 24px;
  background: var(--ink);
  color: #fff;
}

.make-calibration-strip span,
.make-calibration-strip strong {
  display: block;
}

.make-calibration-strip span {
  color: rgba(255, 255, 255, 0.52);
}

.make-calibration-strip strong {
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-size: 16px;
}

.warning-hero {
  border-color: #ebc26a;
  background: #fff9ea;
}

.portal-page {
  min-height: 62vh;
}

.portal-masthead {
  min-height: 0;
  padding: clamp(24px, 3vw, 38px);
  background: var(--ink);
  color: #fff;
}

.portal-masthead .eyebrow {
  color: #ef7d72;
}

.portal-masthead h1 {
  max-width: 900px;
  margin-top: 8px;
  color: #fff;
  font-size: clamp(32px, 3.5vw, 44px);
  line-height: 1.08;
}

.portal-masthead p:not(.eyebrow) {
  max-width: 680px;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 16px;
}

.finder-panel {
  margin-top: 0;
  margin-bottom: 14px;
}

.finder-panel h1 {
  max-width: 820px;
  font-size: clamp(30px, 2.6vw, 44px);
}

.finder-grid,
.form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
}

.finder-search {
  grid-column: span 2;
}

.field textarea {
  width: 100%;
  min-height: 92px;
  padding: 10px;
  border: 1px solid #cbd2d9;
  border-radius: 3px;
  resize: vertical;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
}

.product-card-link a {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 10px;
  min-height: 92px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--surface);
  color: inherit;
  text-decoration: none;
}

.product-card-link .catalog-image,
.product-card-link .image-fallback {
  width: 76px;
  height: 76px;
  border-radius: 3px;
}

.product-card-link strong,
.product-card-link span {
  display: block;
}

.product-card-link span {
  color: var(--muted);
  font-size: 13px;
}

.pill.warning {
  border-color: #e0ba55;
  background: #fff4d8;
  color: #805d00;
}

.standalone-detail {
  position: static;
  max-height: none;
}

.product-page {
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
}

.product-hero {
  display: grid;
  grid-template-columns: minmax(390px, 0.86fr) minmax(0, 1.14fr);
  min-height: 410px;
  border-bottom: 1px solid var(--line);
}

.product-hero-media {
  min-height: 410px;
  overflow: hidden;
  background: #1b1e21;
}

.product-hero-media .catalog-image,
.product-hero-media .image-fallback {
  width: 100%;
  height: 100%;
  min-height: 410px;
  border-radius: 0;
}

.product-hero-media .media-cover {
  object-fit: cover;
  object-position: 42% 58%;
}

.product-hero-media .media-stock-generated {
  object-fit: contain;
  object-position: center;
  background: #202326;
}

.product-hero-media .media-technical,
.product-hero-media .media-logo {
  object-fit: contain;
  background: #fff;
}

.product-hero-media .media-technical {
  padding: 18px;
}

.product-hero-media .media-logo {
  padding: 36px;
}

.product-media-gallery {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
}

.product-media-thumbnails {
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  left: 12px;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 6px;
  background: rgba(18, 20, 22, 0.76);
  backdrop-filter: blur(8px);
}

.product-media-thumbnails button {
  flex: 0 0 auto;
  width: 62px;
  height: 46px;
  overflow: hidden;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 2px;
  background: #202326;
  cursor: pointer;
}

.product-media-thumbnails button:hover,
.product-media-thumbnails button:focus-visible,
.product-media-thumbnails button[aria-pressed="true"] {
  border-color: #fff;
  outline: none;
}

.product-media-thumbnails img,
.product-hero-media .product-media-thumbnails img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  object-fit: cover;
}

.product-hero-copy {
  display: grid;
  align-content: center;
  gap: 11px;
  padding: clamp(24px, 3vw, 46px);
}

.product-hero-copy h1 {
  max-width: 760px;
  overflow-wrap: anywhere;
  font-size: clamp(38px, 4vw, 62px);
  line-height: 1.02;
}

.product-hero-copy > p:not(.eyebrow) {
  max-width: 860px;
  margin: 0;
  color: #384049;
  font-size: 15px;
  line-height: 1.6;
}

.product-hero-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 4px;
}

.product-hero-facts div {
  min-width: 0;
  padding-top: 9px;
  border-top: 1px solid var(--ink);
}

.product-hero-facts span,
.product-hero-facts strong {
  display: block;
}

.product-hero-facts span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.product-hero-facts strong {
  margin-top: 2px;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.product-content {
  display: grid;
  gap: 0;
  padding: 0 clamp(16px, 2.6vw, 34px) 30px;
}

.product-section {
  min-width: 0;
  padding: 26px 0;
  border-top: 1px solid var(--line);
}

.product-stage-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  border-top: 0;
  padding: 22px 0 24px;
}

.product-stage-section .product-section-heading {
  align-self: center;
  margin-bottom: 0;
}

.product-stage-section .product-section-heading h2 {
  font-size: clamp(28px, 2.4vw, 36px);
}

.stage-selector {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.stage-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 7px;
}

.stage-choice {
  position: relative;
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 116px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.stage-choice:hover,
.stage-choice.is-selected {
  border-color: var(--ink);
}

.stage-choice.is-selected {
  box-shadow: inset 0 -4px 0 var(--accent);
}

.stage-choice-name {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stage-choice strong {
  color: var(--accent);
  font-size: 21px;
  line-height: 1.1;
}

.stage-choice .stage-choice-target {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}

.stage-choice small {
  color: #444c54;
  font-size: 12px;
  line-height: 1.35;
}

.stage-choice-review {
  width: max-content;
  margin-top: auto;
  padding-top: 5px;
  border-top: 1px solid var(--line);
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.stage-selection-summary {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.stage-selection-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.stage-selection-facts div {
  min-width: 0;
  padding-top: 8px;
  border-top: 1px solid var(--ink);
}

.stage-selection-facts span,
.stage-selection-facts strong {
  display: block;
}

.stage-selection-facts span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.stage-selection-facts strong {
  margin-top: 3px;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.stage-selection-summary > p {
  max-width: 980px;
  margin: 0;
  color: #444c54;
  line-height: 1.55;
}

.stage-selection-summary > .button {
  width: max-content;
}

.product-section-heading {
  display: grid;
  gap: 3px;
  margin-bottom: 14px;
}

.product-section-heading h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.stage-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.stage-price-card {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  background: #fff;
}

.stage-price-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.stage-price-card strong {
  color: var(--accent);
  font-size: 23px;
  line-height: 1.1;
}

.product-page .retail-copy > p {
  max-width: 940px;
  margin: 0;
}

.product-page .value-grid article,
.product-page .option-grid article {
  background: #fff;
}

.product-page .power-target-section .dyno-sheet-panel {
  margin-top: 4px;
}

.product-page .faq-list {
  gap: 0;
  margin-top: 0;
}

.product-page .faq-list article {
  padding: 15px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.product-page .faq-list article:first-child {
  border-top: 0;
}

.mail-in-coverage-section > p,
.bench-patch-coverage-section > p {
  max-width: 860px;
  color: #424a52;
  line-height: 1.7;
}

.mail-in-coverage-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.mail-in-coverage-list article {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--line);
  background: #f8f9f7;
}

.mail-in-coverage-list h3,
.mail-in-coverage-list p {
  margin: 0;
}

.mail-in-coverage-list h3 {
  font-size: 17px;
}

.mail-in-coverage-list p,
.mail-in-coverage-list span {
  color: var(--muted);
  line-height: 1.5;
}

.mail-in-coverage-list span {
  font-size: 13px;
  font-weight: 700;
}

.product-page .retail-cta-panel {
  margin-top: 26px;
  padding: 24px;
  border: 0;
  background: var(--ink);
  color: #fff;
}

.product-page .retail-cta-panel p {
  color: rgba(255, 255, 255, 0.72);
}

.product-page .retail-cta-panel .button {
  border-color: #fff;
  background: #fff;
  color: var(--ink);
}

.product-page .retail-cta-panel .button.secondary {
  border-color: rgba(255, 255, 255, 0.46);
  background: transparent;
  color: #fff;
}

.review-band .stats-strip {
  border: 1px solid var(--line);
}

.portal-grid {
  display: grid;
  grid-template-columns: minmax(280px, 520px);
  gap: 24px;
}

.portal-entry-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(320px, 1.25fr);
  width: min(920px, 100%);
  margin-top: 24px;
  border: 1px solid var(--line);
  background: #fff;
}

.checkout-entry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 22px;
  width: min(1120px, 100%);
  margin-top: 24px;
}

.checkout-primary .portal-panel,
.checkout-entry-grid > .portal-panel {
  margin-top: 0;
}

.checkout-account-options {
  display: grid;
  align-content: start;
  gap: 22px;
}

.checkout-account-options form {
  display: grid;
  gap: 13px;
}

.checkout-account-options details {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.checkout-account-options summary {
  cursor: pointer;
  font-weight: 850;
}

.checkout-account-options details form {
  margin-top: 16px;
}

.checkout-help,
.field-help,
.checkout-terms,
.sale-catalog-note {
  color: var(--muted);
  font-size: 13px;
}

.checkout-contact-grid label span,
.checkout-panel label span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
}

.checkout-next-step {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--accent);
  background: #f7f4f1;
  font-weight: 750;
}

.form-status {
  min-height: 20px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.form-status:empty {
  min-height: 0;
}

.form-status.is-error {
  color: #a11222;
}

.form-status.is-success {
  color: var(--accent-2);
}

button[disabled] {
  cursor: wait;
  opacity: 0.62;
}

.portal-entry-context {
  display: grid;
  align-content: space-between;
  gap: 28px;
  min-height: 330px;
  padding: 30px;
  background: #eceeeb;
}

.portal-entry-context h2 {
  margin-top: 5px;
  font-size: 38px;
  line-height: 1.05;
}

.portal-entry-context dl {
  display: grid;
  gap: 14px;
  margin: 0;
}

.portal-entry-context dl div {
  padding-top: 9px;
  border-top: 1px solid var(--ink);
}

.portal-entry-context dt,
.portal-entry-context dd {
  margin: 0;
}

.portal-entry-context dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-entry-context dd {
  margin-top: 2px;
  font-weight: 800;
}

.portal-entry-grid > .portal-panel {
  align-content: center;
  margin: 0;
  padding: 30px;
  border: 0;
  border-radius: 0;
}

.portal-workspace-shell {
  margin-top: 24px;
  border-top: 2px solid var(--ink);
  background: #fff;
}

.portal-workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.portal-workspace-header h2 {
  margin-top: 2px;
  font-size: 34px;
}

.guest-session-note { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 20px; border: 1px solid #dce4e8; border-top: 0; background: #f2f6f7; }
.guest-session-note strong { display: block; font-size: 14px; }
.guest-session-note p { max-width: 780px; margin: 4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.guest-session-note a { flex: 0 0 auto; color: var(--ink); font-size: 13px; font-weight: 800; text-decoration: underline; }
.guest-return-link { justify-self: start; font-size: 14px; font-weight: 700; }
.account-help-link { display: inline-block; margin-top: 10px; color: var(--ink); font-size: 13px; font-weight: 700; }
.password-reset-page { display: grid; gap: 16px; width: min(560px, calc(100% - 32px)); margin: 42px auto 72px; padding: clamp(22px, 4vw, 36px); }
.password-reset-page h1 { margin: 0; font-size: clamp(28px, 4vw, 38px); line-height: 1.1; }
.password-reset-page > p { margin: 0; line-height: 1.5; }
.password-reset-page form { display: grid; gap: 15px; }
.password-reset-page form[hidden] { display: none; }
.password-reset-page .button { justify-self: start; }
.password-reset-page .form-status:empty { display: none; }

.portal-view-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
}

.portal-view-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font-weight: 850;
}

.portal-view-tabs button:hover,
.portal-view-tabs button:focus-visible,
.portal-view-tabs button[aria-pressed="true"] {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  outline: none;
}

.portal-view-tabs span {
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 1px solid currentColor;
  font-size: 10px;
}

.portal-new-request {
  padding: 0 20px 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.portal-new-request .portal-panel {
  max-width: 1120px;
  margin-top: 0;
  padding: 24px 0 0;
  border: 0;
}

.login-state {
  display: flex;
  align-items: center;
}

.login-state {
  gap: 8px;
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.status-dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #9aa3ad;
}

.status-dot.signed-in {
  background: var(--accent-2);
  box-shadow: 0 0 0 4px rgba(45, 122, 87, 0.12);
}

.session-chip .status-dot {
  width: 8px;
  height: 8px;
}

.session-chip .status-dot.signed-in {
  box-shadow: 0 0 0 3px rgba(45, 122, 87, 0.12);
}

.portal-workbench {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  padding: 0 20px 22px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.portal-main {
  display: grid;
  gap: 18px;
}

.ticket-list-panel {
  position: sticky;
  top: 92px;
}

.ticket-list {
  display: grid;
  gap: 8px;
}

.ticket-row {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.ticket-row.is-active,
.ticket-row:hover {
  border-color: var(--accent);
  box-shadow: 0 10px 24px rgba(178, 31, 45, 0.12);
}

.ticket-row span {
  color: var(--muted);
  font-size: 13px;
}

.ticket-row small { color: var(--muted); font-size: 11px; }

@media (max-width: 760px) {
  .guest-session-note { align-items: flex-start; flex-direction: column; gap: 10px; }
}

.intake-panel,
.ticket-detail {
  display: grid;
  gap: 16px;
}

.order-selection-summary {
  display: grid;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line);
}

.order-selection-heading {
  display: grid;
  gap: 2px;
}

.order-selection-heading span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.order-selection-heading strong {
  font-size: 20px;
}

.order-selection-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.order-selection-facts div {
  min-width: 0;
  padding-top: 7px;
  border-top: 1px solid var(--line);
}

.order-selection-facts span,
.order-selection-facts strong {
  display: block;
}

.order-selection-facts span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.order-selection-facts strong {
  margin-top: 2px;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.order-selection-summary > p,
.order-selection-empty span {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.order-selection-empty {
  display: grid;
  gap: 4px;
}

.ticket-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  margin: 0;
}

.ticket-facts div {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8f9f7;
}

.ticket-facts dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.ticket-facts dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.message-list {
  display: grid;
  gap: 10px;
}

.message {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
}

.message.internal {
  border-color: #e0ba55;
  background: #fff8e8;
}

.message strong,
.message small {
  display: block;
}

.message small {
  color: var(--muted);
}

.message p {
  margin: 8px 0 0;
  white-space: pre-line;
}

.file-list {
  display: grid;
  gap: 8px;
}

.file-list a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8f9f7;
  text-decoration: none;
}

.admin-controls {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.value-grid,
.option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.option-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.retail-copy > p,
.faq-section > p,
.retail-cta-panel > p {
  max-width: 860px;
  color: #424a52;
  font-size: 16px;
  line-height: 1.7;
}

.retail-grid {
  margin-bottom: 4px;
}

.value-grid article,
.option-grid article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8f9f7;
}

.value-grid strong,
.value-grid span,
.option-grid strong,
.option-grid span {
  display: block;
}

.value-grid span,
.option-grid span {
  color: var(--muted);
}

.faq-list {
  display: grid;
  gap: 10px;
  margin-top: -9px;
}

.faq-list article,
.retail-cta-panel {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8f9f7;
}

.faq-list h3 {
  font-size: 17px;
}

.faq-list p,
.retail-cta-panel p {
  margin: 0;
  color: var(--muted);
}

.retail-cta-panel .cta-row {
  margin-top: 4px;
}

.source-notes {
  margin-top: 16px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
}

.source-notes summary {
  cursor: pointer;
  font-weight: 800;
}

.source-notes p {
  margin: 12px 0 0;
  color: #3f4750;
}

.step-list {
  display: grid;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: steps;
}

.step-list li {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 68px;
  padding: 12px 12px 12px 52px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8f9f7;
  counter-increment: steps;
}

.step-list li::before {
  content: counter(steps);
  position: absolute;
  left: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-weight: 900;
}

.step-list strong,
.step-list span {
  display: block;
}

.step-list span {
  color: var(--muted);
}

.dev-link {
  padding: 10px;
  border: 1px solid #c6dfd2;
  border-radius: 4px;
  background: #eef8f1;
  overflow-wrap: anywhere;
}

.wiki-page {
  width: min(1180px, 100%);
  margin: -13px auto 0;
}

.wiki-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.wiki-breadcrumb a {
  color: inherit;
}

.wiki-hero {
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid var(--line);
  border-radius: 5px;
  background: linear-gradient(115deg, #151719 0%, #20262a 67%, #773029 160%);
  color: #fff;
}

.wiki-kicker {
  display: block;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.wiki-hero .wiki-kicker {
  color: #ff8d83;
}

.wiki-hero h1 {
  max-width: 900px;
  margin: 8px 0 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.wiki-hero > p {
  max-width: 780px;
  margin: 18px 0 0;
  color: #e2e7e7;
  font-size: 18px;
  line-height: 1.65;
}

.wiki-index-page {
  margin-top: 18px;
  padding-bottom: 56px;
}

.wiki-index-masthead {
  padding: 25px 4px 30px;
  border-top: 6px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.wiki-index-masthead-meta {
  display: block;
}

.wiki-index-masthead h1 {
  max-width: 1040px;
  margin: 20px 0 0;
  font-size: clamp(46px, 6vw, 68px);
  line-height: 0.95;
  letter-spacing: -0.052em;
}

.wiki-index-section {
  margin-top: 38px;
}

.wiki-index-section-heading {
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--ink);
}

.wiki-index-section-heading h2 {
  margin: 0;
  font-size: 19px;
  letter-spacing: -0.015em;
}

.wiki-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.wiki-featured-card {
  position: relative;
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 270px;
  padding: 28px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.wiki-featured-card::before {
  position: absolute;
  inset: -1px -1px auto;
  height: 4px;
  background: var(--accent);
  content: "";
}

.wiki-featured-card:hover,
.wiki-featured-card:focus-visible {
  border-color: var(--ink);
  box-shadow: 0 12px 28px rgba(18, 22, 24, 0.08);
  transform: translateY(-2px);
}

.wiki-featured-card-copy {
  padding-right: 0;
}

.wiki-featured-card h2 {
  max-width: 470px;
  margin: 12px 0 0;
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.wiki-featured-card p {
  max-width: 520px;
  margin: 18px 0 0;
  color: #4d555d;
  font-size: 16px;
  line-height: 1.55;
}

.wiki-featured-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  padding-top: 15px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.wiki-featured-card-meta > span {
  color: var(--ink);
  font-weight: 900;
}

.wiki-title-index {
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: #fff;
}

.wiki-title-index-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 18px;
  min-height: 96px;
  padding: 20px 26px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
  transition: background 140ms ease, color 140ms ease;
}

.wiki-title-index-row:hover,
.wiki-title-index-row:focus-visible {
  background: #f0f1ef;
}

.wiki-title-index-row:hover .wiki-title-index-arrow,
.wiki-title-index-row:focus-visible .wiki-title-index-arrow {
  color: var(--accent);
}

.wiki-title-index-row h2 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(22px, 2.7vw, 31px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.wiki-title-index-arrow {
  justify-self: end;
  font-size: 22px;
  font-weight: 900;
}

.wiki-article {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
}

.wiki-article .wiki-breadcrumb {
  margin: 18px 20px 0;
}

.wiki-article .wiki-hero {
  margin: 18px 20px 0;
}

.wiki-section,
.wiki-source {
  padding: clamp(24px, 4vw, 42px);
  border-top: 1px solid var(--line);
}

.wiki-article .wiki-hero + .wiki-section {
  margin-top: 22px;
}

.wiki-dyno-guide .wiki-hero {
  position: relative;
  margin: 16px clamp(24px, 4vw, 42px) 0;
  padding: 0 0 27px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
}

.wiki-dyno-guide .wiki-hero .wiki-kicker {
  color: var(--accent);
}

.wiki-dyno-guide .wiki-hero h1 {
  max-width: 880px;
  margin-top: 0;
  color: var(--ink);
}

.wiki-dyno-guide .wiki-hero > p {
  max-width: none;
  color: #424a52;
}

.dynojet-reference-sheet {
  margin: 0 clamp(24px, 4vw, 42px) 4px;
  border: 1px solid var(--line);
  background: #fff;
}

.dynojet-reference-image {
  overflow: hidden;
  background: #f2f3f1;
}

.dynojet-reference-image img {
  display: block;
  width: 100%;
  height: auto;
}

.dynojet-reference-sheet figcaption {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 15px 18px 17px;
  border-top: 1px solid var(--line);
}

.dynojet-reference-sheet .wiki-kicker {
  flex: 0 0 auto;
}

.dynojet-reference-sheet p {
  max-width: 820px;
  margin: 0;
  color: #424a52;
  line-height: 1.55;
}

.wiki-section h2,
.wiki-source h2 {
  margin: 5px 0 0;
  font-size: clamp(27px, 3.2vw, 40px);
  letter-spacing: -0.035em;
}

.wiki-section > p,
.wiki-source p {
  max-width: 900px;
  color: #424a52;
  font-size: 16px;
  line-height: 1.75;
}

.wiki-reference-list {
  display: grid;
  gap: 11px;
  max-width: 900px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.wiki-reference-list li {
  position: relative;
  padding-left: 20px;
  color: #424a52;
  line-height: 1.65;
}

.wiki-reference-list li::before {
  position: absolute;
  top: 0.66em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  content: "";
}

.wiki-reference-boundaries {
  background: #f5f6f3;
}

.wiki-table-wrap {
  margin-top: 20px;
  overflow-x: auto;
  border: 1px solid var(--line);
}

.wiki-table-scroll-hint {
  display: none;
}

.wiki-state-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 14px;
}

.wiki-state-table th,
.wiki-state-table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.wiki-state-table th {
  background: #f1f3f1;
  color: #596572;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.wiki-state-table td:first-child,
.wiki-torque-table td:nth-child(2),
.wiki-torque-table td:nth-child(3) {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.wiki-state-table tr:last-child td {
  border-bottom: 0;
}

.wiki-source {
  background: #f5f6f3;
}

.wiki-source p a {
  font-weight: 800;
}

@media (max-width: 1180px) {
  .summary-band,
  .workbench,
  .catalog-layout,
  .portal-workbench {
    grid-template-columns: 1fr;
  }

  .product-hero-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-stage-section {
    grid-template-columns: 1fr;
  }

  .filters,
  .detail-panel,
  .ticket-list-panel {
    position: static;
    max-height: none;
  }

  .product-list {
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 900px) {
  .make-landing-copy {
    width: 58%;
    padding: 36px 30px;
  }

  .make-platform-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .make-directory-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer-brand {
    grid-column: 1 / -1;
  }

  .model-landing-copy {
    width: 58%;
    padding: 34px 30px;
  }

  .model-landing-copy h1 {
    font-size: 44px;
  }

  .model-landing-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .model-landing-facts > div:nth-child(2) {
    border-right: 0;
  }

  .model-landing-facts > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .product-hero {
    grid-template-columns: 1fr;
  }

  .product-hero-media {
    height: 300px;
    min-height: 300px;
  }

  .product-hero-media .catalog-image,
  .product-hero-media .image-fallback {
    height: 100%;
    min-height: 0;
  }

  .stage-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .portal-masthead {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 34px 24px;
  }

  .portal-masthead-index {
    display: none;
  }

  .portal-masthead h1 {
    font-size: 44px;
  }

  .portal-entry-grid,
  .checkout-entry-grid {
    grid-template-columns: 1fr;
  }

  .portal-entry-context {
    min-height: 220px;
    padding: 24px;
  }

  .portal-workspace-header {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .portal-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-view-tabs button {
    justify-content: center;
  }

  .portal-workbench,
  .portal-new-request {
    padding-right: 14px;
    padding-left: 14px;
  }

  .app-header {
    align-items: stretch;
    flex-direction: column;
    gap: 6px;
    padding: 7px 10px 8px;
  }

  .app-shell {
    padding: 14px 12px 40px;
  }

  .brand {
    min-width: 0;
  }

  .brand-logo {
    width: 40px;
    height: 40px;
  }

  .header-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    align-items: center;
    gap: 6px;
  }

  .header-nav {
    width: auto;
    min-width: 0;
    gap: 0;
    flex-wrap: nowrap;
  }

  .site-session {
    flex: 0 0 auto;
    margin-left: 0;
  }

  .session-chip {
    min-width: 0;
  }

  .header-nav a {
    padding: 6px 7px;
    font-size: 12px;
  }

  .model-landing-page {
    margin-top: 14px;
  }

  .tune-breadcrumb {
    padding: 9px 14px;
  }

  .model-landing-hero {
    min-height: 0;
  }

  .make-landing-hero {
    display: grid;
    min-height: 0;
  }

  .make-landing-media {
    position: relative;
    height: 280px;
  }

  .make-landing-copy {
    width: 100%;
    min-height: 0;
    padding: 28px 22px;
    background: var(--ink);
  }

  .make-landing-copy h1 {
    font-size: 44px;
  }

  .make-landing-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .make-landing-facts > div:nth-child(2) {
    border-right: 0;
  }

  .make-landing-facts > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .make-platform-section,
  .make-directory-section,
  .make-featured-section {
    padding: 28px 20px;
  }

  .make-calibration-strip {
    grid-template-columns: 1fr;
  }

  .model-landing-media {
    position: relative;
    height: 220px;
  }

  .model-landing-image {
    object-position: var(--landing-mobile-position, var(--landing-position, 50% 56%));
  }

  .model-landing-brand {
    left: 10px;
    bottom: 10px;
    padding: 6px 8px 6px 6px;
  }

  .model-landing-brand img {
    width: 27px;
    height: 27px;
  }

  .model-landing-copy {
    width: 100%;
    min-height: 0;
    padding: 25px 20px 28px;
    background: #17191b;
  }

  .model-landing-copy h1 {
    font-size: 38px;
  }

  .model-landing-copy > p:not(.eyebrow) {
    font-size: 15px;
  }

  .model-landing-actions .button {
    flex: 1 1 150px;
  }

  .model-landing-facts > div {
    padding: 13px 14px;
  }

  .model-year-nav {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 14px;
  }

  .model-product-section,
  .model-calibration-section,
  .related-tune-section {
    padding: 26px 18px;
  }

  .model-section-heading {
    margin-bottom: 20px;
  }

  .model-section-heading h2 {
    font-size: 28px;
  }

  .model-year-groups {
    gap: 28px;
  }

  .tune-product-grid,
  .model-calibration-grid {
    grid-template-columns: 1fr;
  }

  .model-calibration-grid {
    gap: 20px;
  }

  .model-calibration-grid article,
  .model-calibration-grid article + article {
    padding: 14px 0 0;
    border-left: 0;
  }

  .related-tune-links {
    grid-template-columns: 1fr;
  }

  .content-band,
  .finder-panel,
  .portal-panel,
  .seo-hero {
    margin-top: 14px;
    padding: 14px;
  }

  .section-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .section-title .button {
    width: 100%;
  }

  .intro-panel,
  .detail-hero {
    grid-template-columns: 1fr;
  }

  .detail-panel:not(.standalone-detail) .detail-hero {
    grid-template-columns: 1fr;
  }

  .detail-panel:not(.standalone-detail) .detail-image {
    aspect-ratio: 4 / 3;
  }

  .detail-panel:not(.standalone-detail) .detail-heading {
    grid-template-columns: 1fr;
    grid-template-areas:
      "vehicle"
      "title"
      "price"
      "summary"
      "actions";
    padding: 20px;
  }

  .detail-panel:not(.standalone-detail) .detail-heading .price,
  .detail-panel:not(.standalone-detail) .detail-heading .detail-service-tag {
    justify-self: start;
    text-align: left;
  }

  .stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .finder-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .form-grid,
  .ticket-facts,
  .value-grid,
  .option-grid,
  .stage-card-grid,
  .order-selection-facts {
    grid-template-columns: 1fr;
  }

  .stage-choice-grid,
  .stage-selection-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stage-selection-summary > .button {
    width: 100%;
  }

  .product-hero-copy {
    padding: 22px;
  }

  .product-hero-media {
    height: 280px;
    min-height: 280px;
  }

  .product-hero-media .catalog-image,
  .product-hero-media .image-fallback {
    height: 100%;
    min-height: 0;
  }

  .product-hero-copy h1 {
    font-size: clamp(36px, 11vw, 54px);
  }

  .product-hero-facts {
    grid-template-columns: 1fr;
  }

  .finder-search {
    grid-column: 1 / -1;
  }

  .product-card {
    grid-template-columns: 72px minmax(0, 1fr);
    min-height: 88px;
  }

  .product-card .catalog-image,
  .product-card .image-fallback {
    width: 72px;
    height: 72px;
  }

  .catalog-pagination {
    align-items: stretch;
  }

  .catalog-pagination > span {
    min-width: 92px;
  }

  .wiki-page {
    margin-top: -9px;
  }

  .wiki-index-page {
    margin-top: 14px;
    padding: 0 14px 42px;
  }

  .wiki-index-masthead {
    padding: 22px 0 24px;
  }

  .wiki-index-masthead h1 {
    margin-top: 17px;
    font-size: clamp(40px, 11vw, 54px);
    line-height: 0.98;
  }

  .wiki-index-section {
    margin-top: 30px;
  }

  .wiki-featured-grid {
    grid-template-columns: 1fr;
  }

  .wiki-featured-card {
    min-height: 240px;
    padding: 24px;
  }

  .wiki-featured-card h2 {
    font-size: clamp(28px, 8vw, 34px);
  }

  .wiki-title-index-row {
    grid-template-columns: minmax(0, 1fr) 24px;
    gap: 10px;
    min-height: 86px;
    padding: 18px 14px;
  }

  .wiki-title-index-row h2 {
    font-size: clamp(20px, 6vw, 27px);
  }

  .wiki-article .wiki-breadcrumb,
  .wiki-article .wiki-hero {
    margin-right: 14px;
    margin-left: 14px;
  }

  .wiki-article .wiki-breadcrumb > [aria-current="page"],
  .wiki-article .wiki-breadcrumb > span[aria-hidden="true"]:last-of-type {
    display: none;
  }

  .wiki-section,
  .wiki-source {
    padding: 26px 18px;
  }

  .wiki-table-scroll-hint {
    display: block;
    margin: 16px 0 -10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
  }

  .wiki-state-table th {
    font-size: 12px;
  }
}

@media (max-width: 560px) {
  .site-footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .site-footer-brand {
    grid-column: auto;
  }

  .site-footer-legal {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .make-platform-grid,
  .make-directory-links {
    grid-template-columns: 1fr;
  }

  .make-platform-grid a {
    min-height: 112px;
  }

  .stage-choice-grid,
  .stage-selection-facts {
    grid-template-columns: 1fr;
  }

  .product-hero-media {
    height: 245px;
    min-height: 245px;
  }
}

@media (max-width: 480px) {
  .finder-grid {
    grid-template-columns: 1fr;
  }
}

.accounting-workspace {
  display: grid;
  gap: 18px;
}

.accounting-toolbar {
  display: grid;
  gap: 18px;
}

.accounting-search .button-row {
  align-items: stretch;
  flex-wrap: nowrap;
}

.accounting-search input {
  min-width: 0;
  width: 100%;
}

.accounting-records .portal-main {
  display: grid;
  gap: 18px;
}

.accounting-json {
  background: #111713;
  border: 1px solid rgba(161, 185, 166, 0.2);
  border-radius: 8px;
  color: #dce7de;
  font: 12px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
  margin: 18px 0 0;
  max-height: 520px;
  overflow: auto;
  padding: 16px;
  white-space: pre-wrap;
}

#qbPayload {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 13px;
}

.accounting-link-controls {
  border-top: 1px solid rgba(161, 185, 166, 0.2);
  margin-top: 18px;
  padding-top: 18px;
}

.ticket-payment {
  background: #f8f9f7;
  border: 1px solid #d9dfe3;
  border-left: 4px solid var(--accent);
  border-radius: 6px;
  color: var(--ink);
  display: grid;
  gap: 16px;
  margin: 18px 0;
  padding: 22px;
}

.ticket-payment p,
.paypal-checkout-status {
  margin: 0;
}

.ticket-payment .section-title { margin: 0; align-items: start; }
.ticket-payment .section-title h3 { margin: 2px 0 0; font-size: clamp(25px, 2.4vw, 32px); }
.ticket-payment .section-title .eyebrow { color: var(--accent); }
.payment-intro { color: var(--muted); }
.payment-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }

.paypal-checkout {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
}

.paypal-checkout h4 { margin: 0 0 4px; font-size: 17px; }
.paypal-checkout-status { color: var(--muted); font-size: 13px; }
.affirm-checkout { min-width: 0; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.affirm-checkout[hidden] { display: none; }
.affirm-checkout summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; cursor: pointer; list-style: none; }
.affirm-checkout summary::-webkit-details-marker { display: none; }
.affirm-checkout summary strong { display: block; font-size: 15px; font-weight: 500; }
.stage-purchase-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.affirm-payment-button { font-weight: 500; }
.affirm-payment-button[hidden] { display: none; }
.affirm-checkout summary small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.affirm-chevron { font-size: 28px; line-height: 1; color: var(--accent); transition: transform .2s; }
.affirm-checkout[open] .affirm-chevron { transform: rotate(90deg); }
.affirm-checkout form { display: grid; gap: 16px; padding: 0 18px 18px; }
.affirm-checkout form > p:first-child { padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.5; }
.affirm-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.affirm-fields .field { min-width: 0; }
.affirm-fields .field > span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.affirm-fields input { width: 100%; }
.affirm-checkout form > .button { width: 100%; }
.affirm-checkout-status { min-height: 1em; color: var(--muted); font-size: 13px; }
.affirm-checkout-status:empty { display: none; }
.affirm-resume { display: grid; justify-items: start; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.affirm-resume strong { font-size: 17px; }
.affirm-resume > p { color: var(--muted); }

@media (max-width: 900px) {
  .payment-method-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
  .ticket-payment { padding: 16px; }
  .affirm-fields { grid-template-columns: minmax(0, 1fr); }
}

.paypal-checkout paypal-button,
.paypal-checkout venmo-button,
.paypal-checkout paypal-basic-card-container {
  display: block;
  width: 100%;
}

.paypal-checkout [hidden] {
  display: none;
}

.payment-reconciliation-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.payment-reconciliation-list article {
  align-items: center;
  border-top: 1px solid rgba(161, 185, 166, 0.18);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding-top: 12px;
}

.payment-reconciliation-list article > div:first-child {
  display: grid;
  gap: 3px;
}

.payment-reconciliation-list span,
.payment-reconciliation-list small {
  color: var(--muted);
}

@media (max-width: 720px) {
  .dynojet-reference-sheet {
    margin: 18px 18px 2px;
  }

  .wiki-dyno-guide .wiki-hero {
    margin: 16px 18px 0;
    padding-top: 0;
  }

  .wiki-stage-label-guide .wiki-hero {
    margin: 12px 16px 0;
    padding-bottom: 22px;
  }

  .wiki-stage-label-guide .wiki-hero h1 {
    max-width: 640px;
    font-size: clamp(29px, 8.4vw, 35px);
    line-height: 1;
    letter-spacing: -0.04em;
    text-wrap: balance;
  }

  .wiki-stage-label-guide .wiki-hero > p {
    margin-top: 15px;
    font-size: 16px;
    line-height: 1.55;
  }

  .wiki-stage-label-guide .wiki-hero > p + p {
    margin-top: 14px;
  }

  .wiki-stage-label-guide .wiki-hero + .wiki-section {
    margin-top: 0;
  }

  .dynojet-reference-sheet figcaption {
    display: block;
    padding: 14px 15px 16px;
  }

  .dynojet-reference-sheet .wiki-kicker {
    margin-bottom: 6px;
  }

  .payment-reconciliation-list article {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 420px) {
  .brand {
    gap: 8px;
  }

  .brand strong {
    font-size: 16px;
  }

  .brand small {
    font-size: 11px;
  }

  .header-nav a {
    padding-right: 5px;
    padding-left: 5px;
    font-size: 11.5px;
  }

  .session-chip {
    min-height: 32px;
    padding: 0 8px;
  }

  .session-chip strong {
    font-size: 12px;
  }

  .wiki-stage-label-guide .wiki-section,
  .wiki-stage-label-guide .wiki-source {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Unlock directory and platform pages */
.unlock-page { max-width:1180px; margin:24px auto 48px; }
.unlock-page h1 { font-size:clamp(30px,4vw,48px); line-height:1.1; letter-spacing:-.035em; margin:14px 0 20px; }
.unlock-page h2,.unlock-delivery h2 { font-size:clamp(22px,2.5vw,28px); line-height:1.2; margin:0 0 14px; }
.unlock-page h3 { margin:24px 0 8px; }
.unlock-page p { line-height:1.65; }
.unlock-hero { padding:36px 40px; background:#fff; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:5px; }
.unlock-hero > p { max-width:720px; }
.unlock-lead { font-size:20px; color:var(--ink); }
.unlock-delivery { display:grid; grid-template-columns:1fr 1.7fr; gap:32px; padding:30px 36px; margin:24px 0; background:#fff; border:1px solid var(--line); border-radius:5px; }
.unlock-delivery p:first-child { margin-top:0; }
.unlock-delivery p:last-child { margin-bottom:0; }
.unlock-method-note { color:var(--muted); font-size:13px; }
.unlock-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:32px 0 18px; }
.unlock-section-heading > p { max-width:340px; color:var(--muted); font-size:14px; }
.unlock-make-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }
.unlock-make-card { border:1px solid var(--line); border-radius:5px; background:#fff; overflow:hidden; }
.unlock-make-card summary { padding:20px; cursor:pointer; font-weight:750; font-size:19px; }
.unlock-make-card summary small { display:block; padding-left:19px; color:var(--muted); font-size:12px; font-weight:400; }
.unlock-make-card ul { list-style:none; padding:0 20px 12px; margin:0; }
.unlock-make-card li + li { border-top:1px solid var(--line); }
.unlock-make-card a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; text-decoration:none; font-size:14px; }
.unlock-make-card a small { flex-shrink:0; font-size:10px; color:var(--muted); }
.unlock-page a:hover { color:var(--accent); }
.unlock-page a:focus-visible,.unlock-make-card summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.unlock-option-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.unlock-option-grid a { padding:22px; background:white; border:1px solid var(--line); border-radius:5px; text-decoration:none; }
.unlock-option-grid strong,.unlock-option-grid span { display:block; }
.unlock-option-grid span { margin-top:10px; color:var(--muted); font-size:14px; }
.unlock-help { padding:28px 0; margin-top:20px; border-top:1px solid var(--line); }
.unlock-help p { max-width:720px; }
.unlock-help > a { font-weight:700; color:var(--accent); }
.unlock-platform > .product-section { margin:22px 0; padding:30px 36px; background:white; border:1px solid var(--line); border-radius:5px; }
.unlock-platform > nav { color:var(--muted); font-size:13px; }
.unlock-platform ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; padding-left:20px; }
.unlock-platform .performance-table { width:100%; }
#choose-make,#unlock-years { scroll-margin-top:100px; }
@media(max-width:850px) { .unlock-make-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .unlock-option-grid { grid-template-columns:1fr; } .unlock-delivery { grid-template-columns:1fr; gap:8px; } }
@media(max-width:560px) { .unlock-page { margin-top:16px; } .unlock-hero,.unlock-delivery,.unlock-platform > .product-section { padding:24px 20px; } .unlock-make-grid,.unlock-platform ul { grid-template-columns:1fr; } .unlock-section-heading { display:block; } .unlock-hero .cta-row { flex-wrap:wrap; } }

/* Directory service guidance, kept separate from the make dropdown styling. */
.unlock-directory .unlock-hero h1 { max-width:840px; }
.unlock-directory .unlock-lead { font-size:18px; max-width:780px; }
.unlock-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:24px 0; margin:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.unlock-step-number { color:var(--accent); font-size:13px; font-weight:750; }
.unlock-steps h3 { font-size:18px; margin:10px 0; }
.unlock-steps p { font-size:14px; color:var(--muted); margin:0; }
.unlock-faq { margin:36px 0; }
.unlock-faq details { background:var(--surface); border:1px solid var(--line); border-radius:4px; margin:8px 0; padding:0 22px; }
.unlock-faq summary { cursor:pointer; padding:18px 0; font-weight:650; }
.unlock-faq details p { max-width:880px; margin:0 0 18px; color:var(--muted); font-size:14px; }
.unlock-faq summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:650px) { .unlock-steps { grid-template-columns:1fr; gap:24px; } .unlock-faq details { padding:0 18px; } }

/* Compact lookup layout: directory is a task screen, not a landing-page hero. */
.unlock-directory { max-width:1050px; margin:16px auto 28px; }
.unlock-compact-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.unlock-directory .unlock-compact-header h1 { font-size:clamp(22px,2.4vw,30px); margin:0 0 6px; letter-spacing:-.025em; }
.unlock-compact-header p { font-size:13px; color:var(--muted); margin:0; }
.unlock-compact-header > a { white-space:nowrap; font-size:14px; font-weight:700; color:var(--accent); }
.unlock-directory .unlock-chooser-label { font-size:14px; margin:0 0 8px; }
.unlock-directory .unlock-make-grid { display:block; border:1px solid var(--line); border-radius:5px; overflow:hidden; background:white; }
.unlock-directory .unlock-make-card { border:0; border-radius:0; }
.unlock-directory .unlock-make-card + .unlock-make-card { border-top:1px solid var(--line); }
.unlock-directory .unlock-make-card summary { padding:11px 16px; font-size:15px; line-height:22px; }
.unlock-directory .unlock-make-card summary small { float:right; display:inline; padding:0; font-size:12px; font-weight:400; }
.unlock-directory .unlock-make-card[open] summary { background:var(--surface-2); color:var(--accent); }
.unlock-directory .unlock-make-card ul { padding:2px 20px 8px 35px; }
.unlock-directory .unlock-make-card a { padding:9px 0; }
.unlock-reading { margin-top:14px; border-top:1px solid var(--line); }
.unlock-reading > summary { cursor:pointer; font-size:14px; padding:14px 0; font-weight:650; }
.unlock-reading > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.unlock-reading .unlock-section-heading { margin-top:20px; }
@media(max-width:560px) { .unlock-compact-header { align-items:start; gap:12px; } .unlock-compact-header > a { font-size:12px; margin-top:5px; } .unlock-directory .unlock-compact-header h1 { font-size:22px; } }

/* Compact vehicle unlock lookup. */
.unlock-platform-compact { max-width:1050px; margin:18px auto 28px; }
.unlock-platform-compact > nav { margin-bottom:14px; }
.unlock-platform-compact .unlock-compact-header { margin-bottom:18px; }
.unlock-platform-compact h1 { font-size:clamp(22px,2.4vw,30px); margin:0 0 6px; letter-spacing:-.025em; }
.unlock-platform-compact h2 { font-size:17px; margin:0 0 10px; }
.unlock-platform-compact .unlock-year-picker ul { display:flex; flex-wrap:wrap; list-style:none; gap:8px; padding:0; margin:0; }
.unlock-year-picker li a { display:block; padding:8px 16px; background:white; border:1px solid var(--line); border-radius:4px; font-weight:700; text-decoration:none; }
.unlock-year-picker li a:hover { border-color:var(--accent); color:var(--accent); }
.unlock-platform-compact .unlock-coverage { margin-top:20px; }
.unlock-table-wrap { overflow-x:auto; }
.unlock-platform-compact .performance-table { background:white; margin:0; }
.unlock-platform-compact .unlock-source { font-size:12px; color:var(--muted); margin:8px 0 0; }
.unlock-platform-compact .unlock-arrangements { font-size:14px; margin:18px 0; }
.unlock-related { border-top:1px solid var(--line); padding-top:12px; font-size:13px; }
.unlock-related summary { cursor:pointer; font-weight:700; }
@media(max-width:560px) { .unlock-platform-compact .performance-table { font-size:12px; } .unlock-platform-compact .performance-table th,.unlock-platform-compact .performance-table td { padding:8px 6px; } }
.booking-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:650px; }
.booking-form label { display:flex; flex-direction:column; gap:5px; font-size:14px; font-weight:600; }
.booking-form input,.booking-form select,.booking-form textarea { width:100%; min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); }
.booking-wide { grid-column:1/-1; }
.tune-deposit-page { max-width:760px; margin-inline:auto; }
.tune-deposit-page .booking-form { max-width:none; }
.tune-deposit-page .booking-form { gap:10px 14px; }
.tune-deposit-page .booking-form p { margin:4px 0; }
.tune-deposit-page #booking-message:empty { display:none; }
.booking-terms { font-size:12px; line-height:1.5; color:var(--muted); margin:4px 0; }
.booking-setup { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.booking-form .booking-consent { display:grid; grid-template-columns:1.25rem 1fr; align-items:start; gap:.7rem; font-weight:500; line-height:1.45; }
.booking-form .booking-consent input { width:1.15rem; height:1.15rem; min-height:0; margin-top:.15rem; }
#booking-slots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#booking-slots label { min-width:0; }
.cart-items { padding:0; list-style:none; }
.cart-page { max-width:1100px; margin:42px auto 64px; }
.cart-page > .eyebrow { font-size:11px; letter-spacing:.12em; }
.cart-page > h1 { font-size:clamp(36px,4vw,52px); margin:10px 0 8px; }
.cart-page .cart-intro { margin:0 0 16px; color:#63707b; font-size:16px; }
.cart-preview-note { display:inline-block; margin:0 0 24px; padding:7px 12px; border:1px dashed #ccd3d9; border-radius:0; font-size:11px; color:#65717b; }
.cart-checkout-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:26px; align-items:start; }
.cart-summary { padding:30px; background:#181b1e; color:#fff; border-radius:0; overflow:hidden; position:sticky; top:24px; box-shadow:0 12px 32px #15171812; border-top:3px solid #bd1830; }
.cart-kicker { display:block; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; color:#bd1830; }
.cart-summary .cart-kicker { color:#fa7588; }
.cart-summary-heading h2 { color:#fff; font-size:26px; letter-spacing:-.025em; line-height:1.15; margin:10px 0 24px; max-width:270px; }
.cart-summary .cart-items { margin:0; }
.cart-summary .cart-items li { display:grid; grid-template-columns:124px minmax(0,1fr); gap:16px; align-items:start; border-color:#ffffff1c; padding:22px 0; }
.cart-summary .cart-items li:first-child { padding-top:0; }
.cart-item-image { width:124px; flex-shrink:0; border-radius:0; overflow:hidden; background:#f3f4f3; aspect-ratio:1.35; display:flex; align-items:center; justify-content:center; }
.cart-summary .cart-item-image { width:100%; }
.cart-item-image img { display:block; width:100%; height:100%; object-fit:contain; }
.cart-service-icon { color:#bd1830; background:#292d31; }
.cart-service-icon svg { width:54px; height:54px; }
.cart-item-details { display:flex; flex-direction:column; min-width:0; align-items:flex-start; }
.cart-item-type { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:#a5adb5; margin-bottom:6px; }
.cart-item-details strong { font-size:15px; line-height:1.35; overflow-wrap:anywhere; }
.cart-item-stage { font-size:12px; color:#bfc7ce; margin-top:5px; }
.cart-item-price { font-size:16px; font-weight:700; margin-top:9px; }
.cart-remove { border:0; padding:0; background:none; color:inherit; opacity:.65; text-decoration:underline; font:inherit; font-size:10px; cursor:pointer; margin-top:10px; }
.cart-remove:hover { opacity:1; }
.cart-total { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin:26px 0 18px; }
.cart-total span { font-size:13px; color:#c2c9d0; }
.cart-total strong { font-size:32px; line-height:1; letter-spacing:-.035em; }
.cart-visit-badge { display:flex; align-items:center; gap:8px; font-size:11px; background:#ffffff08; padding:10px 12px; border:1px solid #ffffff15; border-radius:0; }
.cart-dot { width:6px; height:6px; background:#fa7588; border-radius:50%; }
.cart-page .cart-summary-note { font-size:11px; color:#9da7b0; line-height:1.6; margin:14px 0 22px; }
.cart-page .cart-continue { color:#e7eaed; font-size:11px; text-decoration:none; }
.cart-page .cart-continue:hover { color:#fa7588; }
.cart-details { background:#fff; border:1px solid #e1e5e8; border-radius:0; padding:30px; box-shadow:0 8px 26px #15171805; }
.cart-details .booking-form { max-width:none; gap:14px 16px; }
.cart-panel-heading h2 { font-size:27px; letter-spacing:-.025em; margin:9px 0 8px; }
.cart-page .cart-panel-heading p { color:#7a858e; font-size:12px; margin:0 0 6px; }
.cart-page .cart-section-title { font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:#63707a; margin:12px 0 0; border-top:1px solid #edf0f2; padding-top:18px; }
.cart-details .booking-form label { font-size:12px; font-weight:600; gap:7px; }
.cart-details .booking-form input:not([type=checkbox]),.cart-details .booking-form select { border-color:#e0e5e9; border-radius:0; min-height:44px; background:#fafbfc; padding:10px 12px; font-size:13px; }
.cart-details input:focus,.cart-details select:focus { outline:2px solid #bd1830; outline-offset:2px; background:#fff; }
.cart-page .cart-location { font-size:11px; line-height:1.65; margin:0 0 4px; color:#4c5963; }
.cart-location span { color:#8a949c; font-size:10px; }
.cart-page .cart-compatibility { font-size:10px; margin:0; color:#77818a; }
.cart-details .booking-form .cart-consent { font-weight:400; font-size:11px; color:#65717b; line-height:1.65; margin:8px 0; }
.cart-details .button { min-height:46px; border-radius:0; font-size:12px; padding:11px 12px; }
.cart-details .button[type=submit]:not(.secondary) { background:#bd1830; border-color:#bd1830; color:#fff; }
.cart-details .button[type=submit]:not(.secondary):hover { background:#981327; color:#fff; }
.cart-details .button.secondary { border-color:#d4dae0; color:#282d33; background:#fff; font-weight:500; }
.cart-details .button.secondary:hover { background:#f5f6f7; color:#151718; }
.cart-page .cart-payment-note { text-align:center; color:#929aa2; font-size:9px; margin:0; }
.cart-details [role=status]:empty { display:none; }
@media(max-width:800px) { .cart-checkout-grid { grid-template-columns:1fr; gap:18px; } .cart-summary { position:static; } .cart-page { max-width:600px; } }
@media(max-width:560px) { .cart-page { margin:22px auto 40px; } .cart-summary,.cart-details { padding:22px; border-radius:0; } .cart-summary-heading h2 { max-width:none; font-size:23px; } .cart-summary .cart-items li { grid-template-columns:100px minmax(0,1fr); gap:14px; } .cart-details .booking-form { grid-template-columns:1fr; } .cart-preview-note { font-size:10px; } .cart-total strong { font-size:29px; } }
#cart-form input[type=checkbox] { width:18px; height:18px; min-height:0; display:inline-block; vertical-align:middle; margin:0 6px 0 0; }
.cart-items li { display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid #dbe0e5; padding:16px 0; }
[data-cart-add][hidden] { display:none; }
#booking-slots > p { grid-column:1/-1; margin:4px 0; }
.booking-hours { font-size:13px; color:var(--muted); }
#booking-message:not(:empty) { padding:10px; border-left:3px solid var(--accent); }
#paypal-booking { max-width:400px; }
#apple-pay-booking apple-pay-button { --apple-pay-button-width:100%; --apple-pay-button-height:48px; --apple-pay-button-border-radius:4px; display:block; max-width:400px; margin:1rem 0; }
.booking-divider { display:flex; align-items:center; gap:.75rem; max-width:400px; color:var(--muted); }
.booking-divider::before,.booking-divider::after { content:""; flex:1; border-top:1px solid var(--line); }
.booking-confirmation h2 { font-size:20px; }
@media(max-width:560px) { .booking-form { grid-template-columns:1fr; } }

.booking-signin { background: none; border: 0; padding: 0; color: var(--red, #bd1830); text-decoration: underline; font: inherit; cursor: pointer; }

.unlock-book-action { margin: 1rem 0 1.5rem; }
.unlock-book-action > .button { display: inline-flex; background: #bd1830; border-color: #bd1830; color: #fff; padding: .8rem 1.25rem; font-weight: 700; text-decoration: none; }
.unlock-book-action > .button:hover { background: #981327; }
.unlock-book-action > .button:focus-visible { outline: 3px solid #151718; outline-offset: 3px; }
.unlock-book-action .unlock-source { margin-top: .5rem; }

/* Original shop photographs: retain the complete frame beside the page copy. */
.make-landing-hero:has(.media-photo-framed) {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  align-items: center;
  min-height: 0;
}
.make-landing-hero:has(.media-photo-framed) .make-landing-media {
  position: relative;
  inset: auto;
  height: auto;
}
.make-landing-media .model-landing-image.media-photo-framed {
  width: 100%;
  height: auto;
  padding: 0;
  background: none;
}
.make-landing-media:has(.media-photo-framed) .model-landing-brand {
  display: none;
}
.make-landing-hero:has(.media-photo-framed) .make-landing-copy {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: clamp(24px, 3vw, 42px);
  background: transparent;
}
.make-landing-hero:has(.media-photo-framed) .make-landing-copy h1 {
  font-size: clamp(32px, 3.5vw, 52px);
}
@media (max-width: 760px) {
  .make-landing-hero:has(.media-photo-framed) {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Small courtyard originals keep their full frame and native display size. */
:is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) {
  display: grid;
  grid-template-columns: minmax(0, 576px) minmax(0, 1fr);
  align-items: center;
  min-height: 0;
  background: #fff;
}
:is(.make-landing-media, .model-landing-media):has(.media-native-frame) {
  position: relative;
  inset: auto;
  height: auto;
}
:is(.make-landing-media, .model-landing-media) .model-landing-image.media-native-frame {
  width: 100%;
  max-width: 576px;
  height: auto;
  margin: auto;
  padding: 0;
  background: none;
}
:is(.make-landing-media, .model-landing-media):has(.media-native-frame) .model-landing-brand { display: none; }
:is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) :is(.make-landing-copy, .model-landing-copy) {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: clamp(24px, 3vw, 42px);
  background: transparent;
  color: var(--ink);
}
:is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) :is(.make-landing-copy, .model-landing-copy) h1 {
  color: var(--ink);
  font-size: clamp(32px, 3.5vw, 52px);
  text-shadow: none;
}
:is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) :is(.make-landing-copy, .model-landing-copy) > p:not(.eyebrow) { color: var(--muted); text-shadow: none; }
:is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) :is(.make-landing-copy, .model-landing-copy) .eyebrow { color: var(--accent); }
:is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) .button.secondary { color: var(--ink); border-color: var(--ink); }
@media (max-width: 900px) {
  :is(.make-landing-hero, .model-landing-hero):has(.media-native-frame) { grid-template-columns: minmax(0, 1fr); }
}

/* Supporting original photography stays at or below its native display size. */
.model-calibration-with-photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 576px); align-items: center; gap: 28px; }
.model-calibration-with-photo .model-calibration-grid { grid-template-columns: minmax(0, 1fr); }
.model-calibration-with-photo .model-calibration-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
.model-supporting-photo { width: 100%; max-width: 576px; margin: 0; justify-self: center; }
.model-supporting-photo img { display: block; width: 100%; height: auto; }
.model-supporting-photo figcaption { margin-top: 10px; color: var(--muted); font-size: 13px; }
@media (max-width: 900px) { .model-calibration-with-photo { grid-template-columns: minmax(0, 1fr); } }

/* Compact unlock service offer, scoped away from booking and tune pages. */
.unlock-offer { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:24px 32px; padding:28px; margin:20px 0; background:#fff; border:1px solid #dfe3e7; border-top:4px solid #bd1830; border-radius:4px; }
.unlock-offer-kicker { margin:0 0 10px; color:#bd1830; font-size:11px; font-weight:800; letter-spacing:.07em; }
.unlock-platform-compact .unlock-offer h1 { margin:0; font-size:clamp(24px,2.4vw,32px); line-height:1.15; }
.unlock-offer-intro { margin:12px 0 20px; color:#38414b; font-size:16px; }
.unlock-offer-actions { display:flex; gap:10px; flex-wrap:wrap; }
.unlock-offer-actions .button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; background:#bd1830; border:1px solid #bd1830; color:#fff; font-weight:750; text-decoration:none; }
.unlock-offer-actions .button:hover { background:#981327; }
.unlock-offer-actions .unlock-call { background:#fff; border-color:#9da5ad; color:#151718; }
.unlock-offer-actions .unlock-call:hover { background:#f0f2f3; }
.unlock-offer-actions .button:focus-visible { outline:3px solid #151718; outline-offset:3px; }
.unlock-offer-note { margin:10px 0 0; font-size:12px; color:#65707d; }
.unlock-offer-price { border-left:1px solid #e0e4e8; display:flex; flex-direction:column; justify-content:center; padding-left:28px; gap:5px; }
.unlock-offer-price strong { font-size:52px; line-height:1; letter-spacing:-.04em; color:#bd1830; }
.unlock-offer-price span { font-size:14px; font-weight:700; }
.unlock-offer-price small { color:#65707d; font-size:11px; }
.unlock-offer-facts { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px 24px; border-top:1px solid #e0e4e8; padding-top:16px; font-size:12px; color:#47515b; }
.unlock-offer-facts span::before { content:'✓'; color:#bd1830; margin-right:7px; font-weight:800; }
.unlock-technical { background:#fff; border:1px solid #dfe3e7; border-radius:4px; margin:16px 0; padding:0 16px; }
.unlock-technical > summary { padding:16px 0; cursor:pointer; font-size:14px; font-weight:700; }
.unlock-technical[open] > summary { border-bottom:1px solid #e0e4e8; margin-bottom:12px; }
@media(max-width:600px) { .unlock-offer { padding:20px; grid-template-columns:1fr; gap:18px; } .unlock-offer-price { grid-row:2; border-left:0; border-top:1px solid #e0e4e8; padding:16px 0 0; flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:8px 12px; } .unlock-offer-price strong { font-size:38px; } .unlock-offer-facts { gap:10px; flex-direction:column; } .unlock-offer-actions .button { flex:1 1 auto; } }

/* Optional shop photograph alongside the make platform directory. */
.make-platform-with-photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 576px); gap: 28px; align-items: center; }
.make-platform-with-photo .make-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1000px) { .make-platform-with-photo { grid-template-columns: minmax(0, 1fr); } }

@media (max-width: 560px) { .make-platform-with-photo .make-platform-grid { grid-template-columns: minmax(0, 1fr); } }

.unlock-platform-compact .unlock-related .unlock-link-label { margin:18px 0 8px; font-size:12px; font-weight:700; color:#65707d; }
.unlock-platform-compact .unlock-related ul { list-style:none; padding:0; margin:0 0 12px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.unlock-platform-compact .unlock-related li { margin:0; }
.unlock-platform-compact .unlock-related li a { display:block; padding:10px 12px; background:#fff; border:1px solid #dfe3e7; border-radius:3px; color:#26303a; text-decoration:none; font-size:13px; }
.unlock-platform-compact .unlock-related li a:hover { border-color:#bd1830; color:#bd1830; }
.unlock-platform-compact .unlock-related li a:focus-visible { outline:2px solid #bd1830; outline-offset:2px; }
@media(max-width:600px) { .unlock-platform-compact .unlock-related ul { grid-template-columns:1fr; } }

/* Keep the purchase action legible in every interaction state. */
.unlock-offer-actions a.button:hover,.unlock-offer-actions a.button:focus-visible,.unlock-offer-actions a.button:visited { color:#fff; }
.unlock-offer-actions a.unlock-call:hover,.unlock-offer-actions a.unlock-call:focus-visible,.unlock-offer-actions a.unlock-call:visited { color:#151718; }
.booking-order-summary { padding:16px 20px; margin:16px 0; background:#fff; border:1px solid #dfe3e7; border-left:3px solid #bd1830; }
.booking-order-summary p { margin:6px 0; }

/* Portrait shop photos retain their full frame without dominating the copy. */
.model-supporting-photo-portrait { width: fit-content; max-width: 340px; }
.model-supporting-photo-portrait img { width: auto; max-width: 100%; max-height: 520px; }
.model-calibration-with-photo:has(.model-supporting-photo-portrait),
.make-platform-with-photo:has(.model-supporting-photo-portrait) { grid-template-columns: minmax(0, 1fr) minmax(0, 340px); }
@media (max-width: 1000px) {
  .make-platform-with-photo:has(.model-supporting-photo-portrait) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .model-calibration-with-photo:has(.model-supporting-photo-portrait) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .model-supporting-photo-portrait { max-width: 100%; }
  .model-supporting-photo-portrait img { max-height: 440px; }
}
