/* 21.10.2026 · CROSSREF: templates/partials/layout/theme-config.php,
   classes/Services/ContentBlocks/Renderers/Feature/ContentList/FeatureCardsRenderer.php.
   НЕ УДАЛЯТЬ по требованию владельца системы.
   Стили стендовых вариантов контент-блоков. Подключаются один раз из theme-config. */

/* Compact chrome: footer + feature-cards (short class names instead of long Tailwind in HTML) */

/* —— Footer —— */
.site-footer {
  position: relative;
  overflow: hidden;
  background: #fafafa;
  color: var(--color-dark, #1a1a1a);
}
.site-footer::before,
.site-footer::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, transparent);
  filter: blur(48px);
}
.site-footer::before {
  top: 0;
  right: 0;
  width: 24rem;
  height: 24rem;
}
.site-footer::after {
  bottom: 0;
  left: 0;
  width: 16rem;
  height: 16rem;
  filter: blur(32px);
}
.ft-wrap {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 1280px) {
  .ft-wrap { padding-left: 2.5rem; padding-right: 2.5rem; }
}
.ft-band { position: relative; border-bottom: 1px solid #e5e7eb; }
.ft-h {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-dark, #1a1a1a);
}
.ft-link {
  font-size: 0.875rem;
  color: #4b5563;
  transition: color 0.15s ease;
}
.ft-link:hover { color: var(--color-primary-700, #8f7d35); }
.ft-link-strong {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-dark, #1a1a1a);
  transition: color 0.15s ease;
}
.ft-link-strong:hover { color: var(--color-primary-700, #8f7d35); }
.ft-list { list-style: none; margin: 0; padding: 0; }
.ft-list li + li { margin-top: 0.625rem; }
.ft-row { display: flex; align-items: flex-start; gap: 0.75rem; }
.ft-ico {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 20%, transparent);
}
.ft-ico svg {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-primary-700, #8f7d35);
}
.ft-soc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  border: 1px solid #e5e7eb;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  transition: background .15s ease, border-color .15s ease;
}
.ft-soc:hover { background: color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, #fff); border-color: var(--color-primary, #c6ac4a); }
.ft-soc img { width: 1.25rem; height: 1.25rem; object-fit: contain; filter: grayscale(1); transition: filter .2s ease; }
.ft-soc:hover img { filter: none; }
.ft-soc svg { width: 1.25rem; height: 1.25rem; color: #6b7280; transition: color .15s ease; }
.ft-soc:hover svg { color: #fff; }
.ft-soc--vk:hover { background: var(--color-primary, #c6ac4a); border-color: var(--color-primary, #c6ac4a); }
.ft-soc--yt:hover { background: #ef4444; border-color: #ef4444; }
.ft-soc--wa:hover { background: #22c55e; border-color: #22c55e; }
.ft-muted { font-size: 0.875rem; color: #6b7280; }
.ft-muted-xs { font-size: 0.75rem; color: #6b7280; }
.ft-promo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-radius: 24px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 15%, transparent);
  background: rgba(255,255,255,.95);
  padding: 1rem 1.25rem;
  box-shadow: 0 10px 30px rgba(17,24,39,.06);
}
@media (min-width: 1024px) {
  .ft-promo { flex-direction: row; align-items: center; justify-content: space-between; }
}
.ft-promo-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, transparent);
  color: var(--color-primary-700, #8f7d35);
  padding: 0.25rem 0.75rem;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.ft-promo-btn {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: var(--color-primary, #c6ac4a);
  color: #fff;
  padding: 0.75rem 1.25rem;
  font-weight: 600;
  border: 0;
  cursor: pointer;
  transition: background .15s ease;
}
@media (min-width: 640px) { .ft-promo-btn { width: auto; } }
.ft-promo-btn:hover { background: var(--color-primary-600, #b09a40); }
.ft-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  padding: 3rem 0;
}
@media (min-width: 768px) { .ft-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  .ft-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.5rem;
    padding: 4rem 0;
  }
}
.ft-brand { grid-column: span 2; }
@media (min-width: 768px) { .ft-brand { grid-column: span 3; } }
@media (min-width: 1024px) { .ft-brand { grid-column: span 4; } }
.ft-col { }
@media (min-width: 1024px) { .ft-col { grid-column: span 2; } }
.ft-col--desk { display: none; }
@media (min-width: 1024px) { .ft-col--desk { display: block; } }
.ft-contacts { grid-column: span 2; }
@media (min-width: 1024px) { .ft-contacts { grid-column: span 2; } }
.ft-contacts-stack { display: flex; flex-direction: column; gap: 1rem; }
.ft-req { padding: 2rem 0; }
.ft-req-grid {
  display: grid;
  gap: 0.375rem 2rem;
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: #4b5563;
}
@media (min-width: 640px) { .ft-req-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ft-req-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ft-bottom { padding: 1.5rem 0; }
.ft-bottom-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .ft-bottom-row { flex-direction: row; justify-content: space-between; }
}
.ft-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  font-size: 0.875rem;
  color: #6b7280;
}
@media (min-width: 1024px) { .ft-legal { justify-content: flex-start; } }
.ft-legal a, .ft-legal button {
  color: #6b7280;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
  transition: color .15s ease;
}
.ft-legal a:hover, .ft-legal button:hover { color: var(--color-primary-700, #8f7d35); }
.ft-disclaimer {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  font-size: 0.75rem;
  line-height: 1.6;
  color: #6b7280;
  text-align: center;
}
@media (min-width: 1024px) { .ft-disclaimer { text-align: left; } }

/* —— Feature cards slider —— */
.fcs {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, transparent);
  background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--color-primary, #c6ac4a) 8%, #fff) 45%, #fff);
  padding: 1.25rem;
  box-shadow: 0 26px 72px -48px rgba(24,48,51,.42);
}
@media (min-width: 768px) { .fcs { padding: 2rem; } }
.fcs__glow {
  pointer-events: none;
  position: absolute;
  border-radius: 9999px;
  filter: blur(48px);
}
.fcs__glow--a { right: -5rem; top: -6rem; width: 16rem; height: 16rem; background: color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, transparent); }
.fcs__glow--b { bottom: -7rem; left: 2.5rem; width: 18rem; height: 18rem; background: rgba(0,0,0,.05); }
.fcs__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}
.fcs__nav { display: none; flex-shrink: 0; gap: 0.75rem; }
@media (min-width: 768px) { .fcs__nav { display: flex; } }
.fcs__controls {
  position: relative;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-top: 1.5rem;
}
@media (min-width: 768px) { .fcs__controls { display: flex; } }
.fcs__controls .fcs__nav { display: flex; }
.fcs__controls .feature-cards-dots {
  display: flex;
  margin-top: 0;
  justify-content: flex-start;
}
.fcs__btn {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 15%, transparent);
  background: #fff;
  color: var(--color-primary, #c6ac4a);
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.fcs__btn:hover { background: var(--color-primary, #c6ac4a); color: var(--color-primary-fg, #1a1a1a); border-color: var(--color-primary, #c6ac4a); }
.fcs__btn--dark { background: var(--color-dark, #1a1a1a); color: #fff; border-color: transparent; }
.fcs__btn svg { width: 1.25rem; height: 1.25rem; }
.feature-cards-viewport {
  position: relative;
  z-index: 1;
  margin-left: -1.25rem;
  margin-right: -1.25rem;
  overflow-x: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.feature-cards-viewport::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
  .feature-cards-viewport { margin: 0; overflow: hidden; padding: 0; }
}
.feature-cards-track {
  display: flex;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .feature-cards-track {
    transition: transform 450ms cubic-bezier(.4,0,.2,1);
  }
}
.feature-cards-slide {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 286px;
  min-height: 250px;
  overflow: hidden;
  scroll-snap-align: start;
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, transparent);
  background: rgba(255,255,255,.95);
  padding: 1.5rem;
  box-shadow: 0 18px 48px -38px rgba(24,48,51,.48);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
@media (min-width: 768px) { .feature-cards-slide { width: 340px; } }
.feature-cards-slide:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--color-primary, #c6ac4a) 30%, transparent);
  box-shadow: 0 24px 56px -34px rgba(24,48,51,.46);
}
.fcs-card__bar {
  position: absolute;
  inset-inline: 1.5rem;
  top: 0;
  height: 4px;
  border-radius: 0 0 9999px 9999px;
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 70%, transparent);
}
.fcs-card__blob {
  pointer-events: none;
  position: absolute;
  right: -2.5rem;
  top: -2.5rem;
  width: 7rem;
  height: 7rem;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 10%, transparent);
  transition: transform .3s ease;
}
.feature-cards-slide:hover .fcs-card__blob { transform: scale(1.25); }
.fcs-card__top {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.fcs-card__icon {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: var(--color-primary-50, #faf8f0);
  color: var(--color-primary, #c6ac4a);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary, #c6ac4a) 15%, transparent);
}
.fcs-card__icon img { width: 1.5rem; height: 1.5rem; object-fit: contain; }
.fcs-card__num {
  font-size: 3.25rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: rgba(26,26,26,.06);
}
.fcs-card__title {
  position: relative;
  margin: 1.5rem 0 0;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--color-dark, #1a1a1a);
}
/* Title-only tips (whole paragraph in h3): body weight, not heavy display */
.feature-cards-slide:not(:has(.fcs-card__text)) .fcs-card__title {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0;
  color: var(--color-body, #555);
}
.fcs-card__text {
  position: relative;
  margin: 0.75rem 0 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.625;
  color: var(--color-body, #555);
}
.fcs-card__foot {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-stroke, #e5e5e5);
}
.fcs-card__subtitle {
  position: relative;
  margin: 0.25rem 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--color-body-secondary, #999);
}
.fcs-card__stat {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-primary, #c6ac4a);
  text-align: right;
}
.fcs-card__stat--line {
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.fcs-card__stat-label {
  display: block;
  margin-top: 0.25rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-body-secondary, #999);
  text-align: right;
}
.feature-cards-dots {
  position: relative;
  z-index: 1;
  display: none;
  justify-content: flex-start;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
@media (min-width: 768px) { .feature-cards-dots { display: flex; } }

/* Product lines: keep card footers on one baseline */
.content-block--product-lines-slider .feature-cards-slide {
  min-height: 292px;
}
@media (min-width: 768px) {
  .content-block--product-lines-slider .feature-cards-slide { min-height: 308px; }
}
.content-block--product-lines-slider .fcs-card__foot {
  margin-top: auto;
}

.fcs-note {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-top: 1.5rem;
  padding: 0.95rem 1.1rem;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 22%, transparent);
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 8%, #fff);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.fcs-note__icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: #fff;
  color: var(--color-primary, #c6ac4a);
  box-shadow: 0 1px 2px rgba(24,48,51,.08);
}
.fcs-note__icon svg { width: 1.1rem; height: 1.1rem; }
.fcs-note__text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--color-dark, #1a1a1a);
}
@media (min-width: 768px) {
  .fcs-note { padding: 1.05rem 1.25rem; }
  .fcs-note__text { font-size: 1rem; }
}

/* —— Exam intake stations (clinical protocol rail) —— */
.eis {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 16%, #e8e4dc);
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--color-primary, #c6ac4a) 14%, transparent), transparent 42%),
    linear-gradient(180deg, #fff 0%, #faf8f2 100%);
  padding: 1.5rem 1.25rem 1.75rem;
}
@media (min-width: 768px) {
  .eis { padding: 2.25rem 2rem 2.5rem; }
}
.eis__head {
  max-width: 46rem;
  margin-bottom: 1.75rem;
}
@media (min-width: 768px) {
  .eis__head { margin-bottom: 2.25rem; }
}
.eis__eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary-700, #8f7d35);
}
.eis__title {
  margin: 0.65rem 0 0;
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--color-dark, #1a1a1a);
  text-wrap: balance;
}
.eis__lead {
  margin: 0.85rem 0 0;
  max-width: 40rem;
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-body, #555);
}
.eis__rail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.1rem;
  position: relative;
}
@media (min-width: 1100px) {
  .eis__rail {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.9rem;
    align-items: stretch;
  }
  .eis__rail::before {
    content: "";
    position: absolute;
    top: 1.15rem;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      color-mix(in srgb, var(--color-primary, #c6ac4a) 55%, #e8e4dc) 12%,
      color-mix(in srgb, var(--color-primary, #c6ac4a) 55%, #e8e4dc) 88%,
      transparent 100%
    );
    pointer-events: none;
  }
}
.eis__station {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
}
@media (max-width: 1099px) {
  .eis__station {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.85rem 1rem;
    align-items: start;
  }
  .eis__station:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 1.15rem;
    top: 2.5rem;
    bottom: -1.1rem;
    width: 2px;
    background: color-mix(in srgb, var(--color-primary, #c6ac4a) 35%, #e8e4dc);
  }
}
.eis__marker {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}
.eis__num {
  display: inline-flex;
  width: 2.3rem;
  height: 2.3rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: 2px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 55%, #fff);
  background: #fff;
  color: var(--color-dark, #1a1a1a);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 8px 18px -12px rgba(24, 48, 51, 0.45);
}
.eis__card {
  flex: 1;
  min-height: 100%;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 12%, #e8e4dc);
  background: rgba(255, 255, 255, 0.92);
  padding: 1.1rem 1.05rem 1.2rem;
  box-shadow: 0 16px 36px -30px rgba(24, 48, 51, 0.4);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.eis__card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--color-primary, #c6ac4a) 35%, #e8e4dc);
  box-shadow: 0 22px 40px -28px rgba(24, 48, 51, 0.42);
}
.eis__icon {
  display: inline-flex;
  width: 2.6rem;
  height: 2.6rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.9rem;
  background: var(--color-primary-50, #faf8f0);
  color: var(--color-primary, #c6ac4a);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary, #c6ac4a) 18%, transparent);
}
.eis__icon img { width: 1.35rem; height: 1.35rem; object-fit: contain; }
.eis__card-title {
  margin: 0.85rem 0 0;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--color-dark, #1a1a1a);
}
.eis__card-text {
  margin: 0.55rem 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-body, #555);
}

/* —— Exam clinic dossier (vertical clinical chart) —— */
.ecd {
  --ecd-ink: #17333a;
  --ecd-ink-soft: #234851;
  --ecd-paper: #f3f6f4;
  --ecd-line: rgba(255, 255, 255, 0.12);
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 55% at 85% -10%, rgba(198, 172, 74, 0.22), transparent 55%),
    linear-gradient(145deg, #12262c 0%, var(--ecd-ink) 48%, #0f1f24 100%);
  color: #e8efec;
  padding: 1.25rem;
}
@media (min-width: 768px) {
  .ecd { padding: 1.5rem; }
}
.ecd__sheet {
  display: grid;
  gap: 1.5rem;
  border-radius: 24px;
  border: 1px solid var(--ecd-line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 40%),
    color-mix(in srgb, var(--ecd-ink-soft) 88%, #000);
  padding: 1.35rem 1.2rem 1.15rem;
}
@media (min-width: 960px) {
  .ecd__sheet {
    grid-template-columns: minmax(16rem, 0.9fr) minmax(0, 1.55fr);
    gap: 0;
    padding: 0;
    min-height: 28rem;
  }
}
.ecd__meta {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0.15rem 0.15rem 0.5rem;
}
@media (min-width: 960px) {
  .ecd__meta {
    position: sticky;
    top: 1.25rem;
    align-self: start;
    padding: 2rem 1.75rem 2rem 2rem;
    border-right: 1px solid var(--ecd-line);
    min-height: 100%;
  }
}
.ecd__code {
  margin: 0;
  display: inline-flex;
  align-self: flex-start;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(198, 172, 74, 0.45);
  background: rgba(198, 172, 74, 0.12);
  color: #e8d48a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.ecd__title {
  margin: 0;
  font-size: clamp(1.65rem, 2.5vw, 2.4rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: #f7faf8;
  text-wrap: balance;
}
.ecd__lead {
  margin: 0;
  max-width: 28rem;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(232, 239, 236, 0.72);
}
.ecd__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.65rem 0 0;
}
.ecd__stats > div {
  padding-top: 0.7rem;
  border-top: 1px solid var(--ecd-line);
}
.ecd__stats dt {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(232, 239, 236, 0.45);
}
.ecd__stats dd {
  margin: 0.35rem 0 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: #f0f5f2;
}
.ecd__rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
@media (min-width: 960px) {
  .ecd__rows { padding: 0.35rem 0; }
}
.ecd__row {
  position: relative;
  display: grid;
  grid-template-columns: 3.1rem minmax(0, 1fr);
  gap: 0.85rem 1rem;
  align-items: start;
  padding: 1.15rem 0.35rem 1.2rem;
  border-top: 1px solid var(--ecd-line);
  transition: background .22s ease;
  animation: ecd-row-in .55s ease both;
  animation-delay: calc(var(--ecd-i, 0) * 70ms);
}
@media (min-width: 960px) {
  .ecd__row {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: 1rem 1.25rem;
    padding: 1.35rem 1.75rem 1.4rem 1.35rem;
  }
}
.ecd__row:first-child { border-top: 0; }
.ecd__row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  bottom: 0.85rem;
  width: 3px;
  border-radius: 999px;
  background: transparent;
  transition: background .22s ease;
}
.ecd__row:hover {
  background: rgba(255, 255, 255, 0.035);
}
.ecd__row:hover::before {
  background: var(--color-primary, #c6ac4a);
}
.ecd__idx {
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: rgba(198, 172, 74, 0.55);
  font-variant-numeric: tabular-nums;
  padding-top: 0.15rem;
}
.ecd__body { min-width: 0; }
.ecd__row-title {
  margin: 0;
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #f7faf8;
}
.ecd__row-text {
  margin: 0.45rem 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(232, 239, 236, 0.7);
  max-width: 46rem;
}
@keyframes ecd-row-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ecd__row { animation: none; }
}

/* —— Aftercare care rhythm (recovery lanes, no slider) —— */
.acr {
  --acr-ink: #1a1a1a;
  --acr-soft: #f4efe4;
  --acr-line: color-mix(in srgb, var(--color-primary, #c6ac4a) 22%, #e4dccb);
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 28%, #e4dccb);
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--color-primary, #c6ac4a) 22%, transparent), transparent 38%),
    linear-gradient(165deg, #faf6ee 0%, var(--acr-soft) 48%, #efe6d6 100%);
  padding: 1.4rem 1.2rem 1.35rem;
}
@media (min-width: 768px) {
  .acr { padding: 2rem 1.85rem 1.85rem; }
}
.acr__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.1rem 1.5rem;
  margin-bottom: 1.45rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--acr-line);
}
.acr__head-copy { max-width: 42rem; min-width: 0; }
.acr__eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary-700, #8f7d35);
}
.acr__title {
  margin: 0.55rem 0 0;
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--acr-ink);
  text-wrap: balance;
}
.acr__lead {
  margin: 0.75rem 0 0;
  max-width: 38rem;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(26, 26, 26, 0.68);
}
.acr__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.65rem 0.9rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--acr-line);
  box-shadow: 0 14px 30px -26px rgba(58, 46, 32, 0.35);
}
.acr__meta-count {
  font-size: 1.85rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--acr-ink);
  font-variant-numeric: tabular-nums;
}
.acr__meta-label {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(26, 26, 26, 0.55);
}
.acr__lanes {
  --acr-n: 5;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
@media (min-width: 1100px) {
  .acr__lanes {
    grid-template-columns: repeat(var(--acr-n), minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid var(--acr-line);
    border-radius: 22px;
    overflow: hidden;
  }
}
.acr__lane {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-width: 0;
  padding: 1.05rem 1rem 1.15rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--acr-line);
  animation: acr-lane-in .5s ease both;
  animation-delay: calc(var(--acr-i, 0) * 60ms);
  transition: background .2s ease, transform .2s ease;
}
@media (min-width: 1100px) {
  .acr__lane {
    border: 0;
    border-radius: 0;
    border-right: 1px solid var(--acr-line);
    background: transparent;
    padding: 1.35rem 1.15rem 1.45rem;
    min-height: 100%;
  }
  .acr__lane:nth-child(5n) { border-right: 0; }
  .acr__lane:last-child { border-right: 0; }
  .acr__lane:nth-child(n+6) { border-top: 1px solid var(--acr-line); }
  .acr__lane:hover {
    background: rgba(255, 255, 255, 0.72);
    transform: none;
  }
}
.acr__lane:hover { transform: translateY(-2px); }
.acr__lane--alert {
  background: #fff;
  border-color: color-mix(in srgb, var(--color-primary, #c6ac4a) 55%, #e4dccb);
  box-shadow:
    inset 3px 0 0 var(--color-primary, #c6ac4a),
    0 0 0 1px color-mix(in srgb, var(--color-primary, #c6ac4a) 35%, transparent);
}
@media (min-width: 1100px) {
  .acr__lane--alert {
    background: #fff;
    border-right: 0;
    box-shadow:
      inset 3px 0 0 var(--color-primary, #c6ac4a),
      inset 0 0 0 1px color-mix(in srgb, var(--color-primary, #c6ac4a) 40%, transparent);
  }
}
.acr__icon {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--color-primary-700, #8f7d35);
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 14%, #fff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary, #c6ac4a) 24%, transparent);
}
.acr__lane--alert .acr__icon {
  color: var(--color-primary-fg, #1a1a1a);
  background: var(--color-primary, #c6ac4a);
  box-shadow: none;
}
.acr__icon svg { width: 1.15rem; height: 1.15rem; }
.acr__icon img { width: 1.15rem; height: 1.15rem; object-fit: contain; }
.acr__lane-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
  color: var(--acr-ink);
}
/* Title-only tips (no body): don't render the whole paragraph as heavy h3 */
.acr__lane:not(:has(.acr__lane-text)) .acr__lane-title {
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.55;
  color: rgba(26, 26, 26, 0.78);
}
.acr__lane-text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(26, 26, 26, 0.68);
}
@keyframes acr-lane-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .acr__lane { animation: none; }
}

/* —— Aftercare care ledger (horizontal entries, no cards) —— */
.acl {
  --acl-ink: #f6f0e4;
  --acl-rule: rgba(198, 172, 74, 0.28);
  border-radius: 8px;
  background:
    radial-gradient(ellipse 70% 50% at 100% 0%, rgba(198, 172, 74, 0.22), transparent 55%),
    linear-gradient(165deg, #4a3b28 0%, #3a2e20 48%, #2c2418 100%);
  border: 1px solid color-mix(in srgb, var(--color-primary, #c6ac4a) 35%, #3a2e20);
  color: var(--acl-ink);
  padding: 1.6rem 1.2rem 0.4rem;
}
@media (min-width: 768px) {
  .acl { padding: 2.1rem 2.2rem 0.6rem; }
}
.acl__mast {
  display: grid;
  gap: 0.9rem 2rem;
  margin-bottom: 1.35rem;
  padding-bottom: 1.2rem;
  border-bottom: 2px solid var(--acl-ink);
}
@media (min-width: 860px) {
  .acl__mast {
    grid-template-columns: minmax(0, 1.4fr) minmax(14rem, 0.7fr);
    align-items: end;
  }
}
.acl__kicker {
  margin: 0 0 0.45rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-primary, #c6ac4a);
}
.acl__title {
  margin: 0;
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--acl-ink);
  text-wrap: balance;
}
.acl__aside {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(246, 240, 228, 0.72);
}
@media (min-width: 860px) {
  .acl__aside {
    padding-bottom: 0.2rem;
    border-left: 1px solid var(--acl-rule);
    padding-left: 1.25rem;
  }
}
.acl__rows {
  list-style: none;
  margin: 0;
  padding: 0;
}
.acl__row {
  display: grid;
  gap: 0.25rem 1.1rem;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  padding: 1.05rem 0;
  border-bottom: 1px solid var(--acl-rule);
}
@media (min-width: 860px) {
  .acl__row {
    grid-template-columns: 3rem 12.5rem minmax(0, 1fr);
    align-items: baseline;
    gap: 1.25rem 1.5rem;
    padding: 1.2rem 0;
  }
}
.acl__row:last-child { border-bottom: 0; }
.acl__idx {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-primary, #c6ac4a);
  font-variant-numeric: tabular-nums;
  padding-top: 0.2rem;
}
.acl__row-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--acl-ink);
}
.acl__row-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(246, 240, 228, 0.74);
}
@media (max-width: 859px) {
  .acl__row-text { grid-column: 2; }
}
.acl__row--alert {
  margin: 0.35rem -1.2rem 0.6rem;
  padding: 1.05rem 1.2rem;
  border-bottom: 0;
  border-radius: 6px;
  background: color-mix(in srgb, var(--color-primary, #c6ac4a) 18%, #241c14);
  color: #f6f1e8;
}
@media (min-width: 768px) {
  .acl__row--alert {
    margin: 0.5rem -2.2rem 0.8rem;
    padding: 1.15rem 2.2rem;
  }
}
.acl__row--alert .acl__idx,
.acl__row--alert .acl__row-title { color: #f3d7a1; }
.acl__row--alert .acl__row-text { color: rgba(246, 241, 232, 0.82); }

/* Disadvantages · tradeoff brief */
.dtb {
  --dtb-ink: #1a1916;
  --dtb-gold: #c6ac4a;
  --dtb-paper: #f7f2e4;
  --dtb-line: rgba(198, 172, 74, 0.35);
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid #e7dfc7;
  background: linear-gradient(165deg, #fffdf7 0%, #f5efd9 100%);
  box-shadow: 0 20px 52px rgba(40, 34, 18, 0.08);
}
.dtb__mast {
  display: block;
  padding: 28px 28px 24px;
  background: var(--dtb-ink);
  color: #fff;
}
.dtb__mast:before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--dtb-gold), transparent 70%);
}
.dtb__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #e5d7a1;
}
.dtb__title {
  margin: 0 !important;
  max-width: none;
  white-space: nowrap;
  font-size: clamp(1.45rem, 2.6vw, 2.2rem);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.045em;
  color: #fff;
}
.dtb__lead {
  margin: 12px 0 0 !important;
  max-width: 46ch;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
}
.dtb__badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(198, 172, 74, 0.35);
  background: rgba(255, 255, 255, 0.04);
}
.dtb__badge-num {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--dtb-gold);
}
.dtb__badge-label {
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}
.dtb__grid {
  list-style: none;
  margin: 0 !important;
  /* Beat .prose .content-block ol { padding-left: 0 } so L/R gutters stay equal */
  padding: 22px !important;
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(var(--dtb-n, 3), minmax(0, 1fr));
  gap: 14px;
}
.dtb__card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  width: 100%;
  min-height: 220px;
  padding: 22px 20px 20px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5d8b7;
  box-shadow: 0 12px 28px rgba(40, 34, 18, 0.05);
  animation: dtb-card-in 0.55s cubic-bezier(.2, .8, .2, 1) both;
  animation-delay: calc(var(--dtb-i, 0) * 90ms);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dtb__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(40, 34, 18, 0.1);
}
.dtb__card:after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--dtb-gold), transparent);
}
.dtb__watermark {
  position: absolute;
  right: 8px;
  top: 4px;
  font-size: 4.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.08em;
  color: rgba(198, 172, 74, 0.12);
  pointer-events: none;
  user-select: none;
}
.dtb__card-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}
.dtb__idx {
  display: inline-flex;
  min-width: 2.4rem;
  height: 2.4rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--dtb-ink);
  color: #e5d7a1;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.dtb__tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6e602a;
  background: #f3e8c0;
  border-radius: 999px;
  padding: 6px 10px;
}
.dtb__card-title {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  font-size: 1.28rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.035em;
  color: var(--dtb-ink);
}
.dtb__card-text {
  position: relative;
  z-index: 1;
  margin: 10px 0 0 !important;
  font-size: 14.5px;
  line-height: 1.55;
  color: #5a5242;
}
.dtb__note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0 22px 22px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5d8b7;
}
.dtb__note-mark {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--dtb-gold);
  box-shadow: 0 0 0 4px rgba(198, 172, 74, 0.18);
}
.dtb__note-text {
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.55;
  color: #3a3a3a;
}
@keyframes dtb-card-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 900px) {
  .dtb__mast { padding: 22px 20px 20px; }
  .dtb__mast:before { left: 20px; right: 20px; }
  .dtb__title { white-space: normal; }
  .dtb__grid { grid-template-columns: 1fr; padding: 16px !important; }
  .dtb__card { min-height: 0; }
  .dtb__note { margin: 0 16px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .dtb__card { animation: none; }
  .dtb__card:hover { transform: none; }
}

/* Disadvantages · quote stack */
.dqs {
  color: #1a1916;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.dqs__intro {
  max-width: 720px;
  padding-bottom: 8px;
  border-bottom: 1px solid #1a1916;
}
.dqs__kicker {
  margin: 0 !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #8a7a3a;
}
.dqs__title {
  margin: 8px 0 0 !important;
  font-size: clamp(2.1rem, 4vw, 3.4rem);
  line-height: 0.95;
  font-weight: 500;
  letter-spacing: -0.045em;
  color: #1a1916;
}
.dqs__dek {
  margin: 14px 0 0 !important;
  max-width: 38ch;
  font-size: 16px;
  line-height: 1.5;
  color: #5c5648;
}
.dqs__list {
  list-style: none;
  margin: 0 !important;
  padding: 8px 0 0;
}
.dqs__item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 8px 18px;
  align-items: start;
  padding: 28px 0 26px;
  border-bottom: 1px solid #e4dcc8;
}
.dqs__item--shift {
  padding-left: 8vw;
}
.dqs__mark {
  font-size: 3.2rem;
  line-height: 0.8;
  font-weight: 300;
  color: #c6ac4a;
}
.dqs__quote {
  margin: 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.04em;
  color: #1a1916;
}
.dqs__body {
  margin: 10px 0 0 !important;
  max-width: 62ch;
  font-size: 16px;
  line-height: 1.55;
  color: #4e493f;
}
@media (max-width: 700px) {
  .dqs__item,
  .dqs__item--shift { padding-left: 0; }
  .dqs__item { grid-template-columns: 36px minmax(0, 1fr); padding-top: 22px; padding-bottom: 20px; }
  .dqs__mark { font-size: 2.4rem; }
}

/* Disadvantages · signal strips */
.dss { color: #1a1916; }
.dss__head { max-width: 640px; margin-bottom: 18px; }
.dss__eyebrow {
  margin: 0 !important;
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6e602a;
}
.dss__title {
  margin: 10px 0 0 !important;
  font-size: clamp(1.8rem, 3.2vw, 2.7rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.dss__lead {
  margin: 12px 0 0 !important;
  font-size: 15.5px;
  line-height: 1.55;
  color: #5a5242;
}
.dss__stack {
  display: grid;
  gap: 10px;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid #e5d8b7;
  box-shadow: 0 18px 40px rgba(40, 34, 18, 0.08);
}
.dss__strip {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(180px, 0.8fr);
  gap: 20px 28px;
  align-items: end;
  padding: 26px 28px;
  animation: dss-in 0.5s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: calc(var(--dss-i, 0) * 80ms);
}
.dss__strip--ink {
  background: #1a1916;
  color: #f6f1e8;
}
.dss__strip--paper {
  background: #f7f2e4;
  color: #1a1916;
}
.dss__code {
  margin: 0 0 10px !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  opacity: 0.55;
}
.dss__strip-title {
  margin: 0 !important;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.035em;
}
.dss__strip-text {
  margin: 10px 0 0 !important;
  max-width: 48ch;
  font-size: 15px;
  line-height: 1.55;
  opacity: 0.82;
}
.dss__meter-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dss__meter-top strong {
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.dss__strip--ink .dss__meter-top { color: #e5d7a1; }
.dss__strip--paper .dss__meter-top { color: #6e602a; }
.dss__meter-track {
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(198, 172, 74, 0.18);
}
.dss__strip--ink .dss__meter-track { background: rgba(255, 255, 255, 0.12); }
.dss__meter-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: #c6ac4a;
  animation: dss-fill 0.85s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: calc(120ms + var(--dss-i, 0) * 90ms);
}
@keyframes dss-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes dss-fill {
  from { width: 0; }
  to { width: var(--dss-w, 50%); }
}
@media (max-width: 800px) {
  .dss__strip {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dss__strip,
  .dss__meter-fill { animation: none; }
  .dss__meter-fill { width: var(--dss-w, 50%); }
}

/* Indications + contraindications · unified panel */
.icp {
  --icp-ink: #1a1916;
  --icp-gold: #c6ac4a;
  --icp-yes: #4a7c59;
  --icp-no: #8b4545;
  color: var(--icp-ink);
}
.icp__head { max-width: 720px; margin-bottom: 18px; }
.icp__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6e602a;
}
.icp__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.icp__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15.5px;
  line-height: 1.55;
  color: #5a5242;
}
.icp--indications-only .icp__board {
  grid-template-columns: 1fr;
}
.icp--indications-only .icp__rule,
.icp--indications-only .icp__col--no {
  display: none;
}
.icp--contraindications-only .icp__board {
  grid-template-columns: 1fr;
}
.icp--contraindications-only .icp__rule,
.icp--contraindications-only .icp__col--yes {
  display: none;
}
.icp__board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  gap: 0;
  border-radius: 28px;
  border: 1px solid #e5d8b7;
  background: linear-gradient(160deg, #fffdf7 0%, #f5efd9 100%);
  box-shadow: 0 18px 44px rgba(40, 34, 18, 0.08);
  overflow: hidden;
}
.icp__col { padding: 26px 24px 28px; min-width: 0; }
.icp__rule {
  width: 1px;
  background: linear-gradient(to bottom, transparent, #c6ac4a, transparent);
}
.icp__col-head { margin-bottom: 18px; }
.icp__pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.icp__pill--yes { background: rgba(74, 124, 89, 0.12); color: var(--icp-yes); }
.icp__pill--no { background: rgba(139, 69, 69, 0.12); color: var(--icp-no); }
.icp__col-title {
  margin: 10px 0 0 !important;
  font-size: 1.35rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.icp__list {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  gap: 12px;
}
.icp__item {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(229, 216, 183, 0.9);
}
.icp__tick,
.icp__dash {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.icp__tick { background: rgba(74, 124, 89, 0.14); }
.icp__tick:after {
  content: "";
  box-sizing: border-box;
  width: 5px;
  height: 9px;
  margin-top: -1px;
  border: solid var(--icp-yes);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.icp__dash { background: rgba(139, 69, 69, 0.12); }
.icp__dash:after {
  content: "";
  width: 8px;
  height: 2px;
  border-radius: 2px;
  background: var(--icp-no);
}
.icp__item-title {
  display: block;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--icp-ink);
}
.icp__item-text {
  margin: 4px 0 0 !important;
  font-size: 14px;
  line-height: 1.45;
  color: #5a5242;
}
.icp__col--yes .icp__item:only-child .icp__item-text,
.icp__col--yes .icp__item .icp__item-title:empty + .icp__item-text {
  margin-top: 0 !important;
}
.icp__col--yes .icp__item-title:empty { display: none; }
@media (max-width: 860px) {
  .icp__board { grid-template-columns: 1fr; }
  .icp__rule {
    width: auto;
    height: 1px;
    margin: 0 20px;
    background: linear-gradient(to right, transparent, #c6ac4a, transparent);
  }
  .icp__col { padding: 22px 18px; }
}

/* Indications + contraindications · switchboard */
.ics {
  --ics-ink: #141311;
  --ics-gold: #c6ac4a;
  border-radius: 30px;
  background: var(--ics-ink);
  color: #f6f1e8;
  padding: 28px;
  box-shadow: 0 22px 48px rgba(20, 19, 17, 0.28);
}
.ics__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px 28px;
  align-items: end;
  margin-bottom: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(246, 241, 232, 0.12);
}
.ics__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #e5d7a1;
}
.ics__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.045em;
  color: #fff;
}
.ics__lead {
  margin: 12px 0 0 !important;
  max-width: 48ch;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(246, 241, 232, 0.7);
}
.ics__switch {
  display: inline-flex;
  padding: 4px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  gap: 4px;
}
.ics__tab {
  appearance: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: transparent;
  color: rgba(246, 241, 232, 0.72);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  max-width: 240px;
  transition: background .18s ease, color .18s ease;
}
.ics__tab span {
  display: inline-flex;
  min-width: 1.6rem;
  height: 1.6rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}
.ics__tab[aria-selected="true"] {
  background: var(--ics-gold);
  color: #1a1916;
}
.ics__tab[aria-selected="true"] span {
  background: rgba(26, 25, 22, 0.12);
  color: #1a1916;
}
.ics[data-mode="yes"] .ics__pane--yes,
.ics[data-mode="no"] .ics__pane--no { display: block; }
.ics__lines {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  gap: 0;
}
.ics__line {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px 4px;
  border-bottom: 1px solid rgba(246, 241, 232, 0.1);
}
.ics__line:last-child { border-bottom: 0; padding-bottom: 4px; }
.ics__n {
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: var(--ics-gold);
  font-variant-numeric: tabular-nums;
}
.ics__line-title {
  margin: 0 !important;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #fff;
}
.ics__line-text {
  margin: 8px 0 0 !important;
  max-width: 60ch;
  font-size: 14.5px;
  line-height: 1.5;
  color: rgba(246, 241, 232, 0.68);
}
.ics[data-mode="no"] .ics__n { color: #e0a0a0; }
@media (max-width: 820px) {
  .ics { padding: 20px; border-radius: 24px; }
  .ics__top { grid-template-columns: 1fr; }
  .ics__switch { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .ics__tab { max-width: none; justify-content: space-between; }
  .ics__line { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
}

/* Comfort · pain arc (unlike feature_cards_slider) */
.cpa {
  --cpa-ink: #152428;
  --cpa-soft: #3d6b72;
  --cpa-line: #9ec4c8;
  --cpa-n: 3;
  color: var(--cpa-ink);
  border-radius: 32px;
  padding: 28px 28px 30px;
  background:
    radial-gradient(ellipse 70% 55% at 8% 0%, rgba(158, 196, 200, 0.35), transparent 55%),
    linear-gradient(165deg, #f3f8f8 0%, #e7f0f1 48%, #dfe9ea 100%);
  border: 1px solid rgba(61, 107, 114, 0.16);
  box-shadow: 0 20px 48px rgba(21, 36, 40, 0.08);
  overflow: hidden;
}
.cpa__head { max-width: 720px; margin-bottom: 20px; }
.cpa__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cpa-soft);
}
.cpa__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.cpa__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15.5px;
  line-height: 1.55;
  color: #40555a;
}
.cpa__answer {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 16px;
  margin: 0 0 26px !important;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(61, 107, 114, 0.14);
  animation: cpa-in 0.55s ease both;
}
.cpa__answer-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cpa-soft);
}
.cpa__answer-text {
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.25;
  color: var(--cpa-ink);
}
.cpa__arc {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--cpa-n), minmax(0, 1fr));
  gap: 0 18px;
}
.cpa__phase {
  min-width: 0;
  animation: cpa-in 0.6s ease both;
  animation-delay: calc(0.08s * var(--cpa-i, 0));
}
.cpa__node {
  position: relative;
  height: 18px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
}
.cpa__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--cpa-soft);
  box-shadow: 0 0 0 4px rgba(61, 107, 114, 0.12);
  flex: 0 0 auto;
  z-index: 1;
}
.cpa__bridge {
  position: absolute;
  left: 14px;
  right: -18px;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, var(--cpa-line), rgba(158, 196, 200, 0.25));
}
.cpa__phase:last-child .cpa__bridge { display: none; }
.cpa__phase-label {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cpa-soft);
}
.cpa__phase-title {
  margin: 8px 0 0 !important;
  font-size: 1.15rem;
  line-height: 1.25;
  font-weight: 850;
  letter-spacing: -0.03em;
}
.cpa__phase-text {
  margin: 8px 0 0 !important;
  font-size: 14.5px;
  line-height: 1.5;
  color: #40555a;
  max-width: 34ch;
}
.cpa__note {
  margin: 22px 0 0 !important;
  max-width: 62ch;
  font-size: 14px;
  line-height: 1.5;
  color: #4a6268;
}
@keyframes cpa-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 820px) {
  .cpa { padding: 22px 18px 24px; border-radius: 24px; }
  .cpa__arc { grid-template-columns: 1fr; gap: 22px; }
  .cpa__bridge {
    left: 6px;
    right: auto;
    top: 14px;
    bottom: -30px;
    width: 2px;
    height: auto;
    transform: none;
    background: linear-gradient(180deg, var(--cpa-line), rgba(158, 196, 200, 0.15));
  }
  .cpa__phase:last-child .cpa__bridge { display: none; }
  .cpa__phase-text { max-width: none; }
}

/* Comfort · pain beats (unlike arc / FCS) */
.cpb {
  --cpb-ink: #f4f1ea;
  --cpb-muted: rgba(244, 241, 234, 0.62);
  --cpb-gold: #c6ac4a;
  border-radius: 30px;
  padding: 28px;
  background:
    radial-gradient(ellipse 55% 40% at 100% 0%, rgba(198, 172, 74, 0.16), transparent 55%),
    linear-gradient(160deg, #1c2426 0%, #14191a 55%, #101516 100%);
  color: var(--cpb-ink);
  box-shadow: 0 22px 48px rgba(16, 21, 22, 0.28);
}
.cpb__mast {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.8fr);
  gap: 22px 28px;
  align-items: end;
  margin-bottom: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(244, 241, 234, 0.12);
}
.cpb__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cpb-gold);
}
.cpb__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.cpb__lead {
  margin: 12px 0 0 !important;
  max-width: 48ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--cpb-muted);
}
.cpb__verdict {
  display: grid;
  gap: 8px;
  justify-items: start;
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(198, 172, 74, 0.28);
  animation: cpb-in 0.5s ease both;
}
.cpb__verdict-word {
  font-size: clamp(2.4rem, 5vw, 3.4rem);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -0.06em;
  color: var(--cpb-gold);
}
.cpb__verdict-text {
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--cpb-muted);
}
.cpb__beats {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  gap: 0;
}
.cpb__beat {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 18px 0;
  border-top: 1px solid rgba(244, 241, 234, 0.1);
  animation: cpb-in 0.55s ease both;
  animation-delay: calc(0.07s * var(--cpb-i, 0));
}
.cpb__beat:first-child { border-top: 0; padding-top: 4px; }
.cpb__phase {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cpb-gold);
}
.cpb__beat-title {
  margin: 0 !important;
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.cpb__beat-text {
  margin: 8px 0 0 !important;
  max-width: 58ch;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--cpb-muted);
}
.cpb__note {
  margin: 18px 0 0 !important;
  padding-top: 16px;
  border-top: 1px solid rgba(244, 241, 234, 0.1);
  max-width: 62ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(244, 241, 234, 0.52);
}
@keyframes cpb-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 820px) {
  .cpb { padding: 22px 18px; border-radius: 24px; }
  .cpb__mast { grid-template-columns: 1fr; }
  .cpb__beat { grid-template-columns: 1fr; gap: 8px; }
}

/* Comfort · pain scene with photo (brand gold) */
.cps {
  --cps-ink: #1a1916;
  --cps-soft: #6e602a;
  --cps-gold: #c6ac4a;
  --cps-body: #5a5242;
  display: grid;
  grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.08fr);
  gap: 0;
  border-radius: 32px;
  overflow: hidden;
  background: linear-gradient(160deg, #fffdf7 0%, #f5efd9 55%, #efe6c8 100%);
  border: 1px solid #e5d8b7;
  box-shadow: 0 22px 48px rgba(40, 34, 18, 0.1);
  color: var(--cps-ink);
}
.cps__media {
  margin: 0;
  min-height: 100%;
  background: #ebe1c2;
  animation: cps-in 0.65s ease both;
}
.cps__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  object-position: center 20%;
}
.cps__copy {
  padding: 30px 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  animation: cps-in 0.7s ease both;
  animation-delay: 0.06s;
}
.cps__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cps-soft);
}
.cps__title {
  margin: 10px 0 0 !important;
  font-size: clamp(1.65rem, 2.8vw, 2.4rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.cps__lead {
  margin: 12px 0 0 !important;
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--cps-body);
}
.cps__answer {
  margin: 18px 0 0 !important;
  padding: 12px 14px;
  border-left: 3px solid var(--cps-gold);
  background: rgba(255, 255, 255, 0.72);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--cps-ink);
}
.cps__moments {
  list-style: none;
  margin: 20px 0 0 !important;
  padding: 0;
  display: grid;
  gap: 14px;
}
.cps__moment {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding-top: 14px;
  border-top: 1px solid rgba(198, 172, 74, 0.28);
  animation: cps-in 0.55s ease both;
  animation-delay: calc(0.08s * var(--cps-i, 0));
}
.cps__moment:first-child {
  border-top: 0;
  padding-top: 0;
}
.cps__phase {
  margin-top: 3px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cps-soft);
}
.cps__moment-title {
  margin: 0 !important;
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.cps__moment-text {
  margin: 6px 0 0 !important;
  font-size: 14px;
  line-height: 1.45;
  color: var(--cps-body);
}
.cps__note {
  margin: 18px 0 0 !important;
  max-width: 46ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--cps-body);
}
@keyframes cps-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .cps { grid-template-columns: 1fr; }
  .cps__img { min-height: 240px; max-height: 320px; }
  .cps__copy { padding: 22px 18px 24px; }
  .cps__moment { grid-template-columns: 1fr; gap: 6px; }
}

/* Comfort · pain meter / scale 0–10 (unlike table, arc, beats, scene) */
.cpm {
  --cpm-ink: #1a1916;
  --cpm-gold: #c6ac4a;
  --cpm-soft: #6e602a;
  --cpm-body: #5a5242;
  --cpm-n: 2;
  color: var(--cpm-ink);
  border-radius: 32px;
  padding: 28px 28px 30px;
  background:
    radial-gradient(ellipse 55% 50% at 100% 0%, rgba(198, 172, 74, 0.22), transparent 55%),
    linear-gradient(165deg, #fffdf7 0%, #f5efd9 48%, #efe6c8 100%);
  border: 1px solid #e5d8b7;
  box-shadow: 0 20px 48px rgba(40, 34, 18, 0.09);
  overflow: hidden;
}
.cpm__head { max-width: 720px; margin-bottom: 18px; }
.cpm__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cpm-soft);
}
.cpm__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.cpm__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--cpm-body);
}
.cpm__answer {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 16px;
  margin: 0 0 22px !important;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid #e5d8b7;
  animation: cpm-in 0.55s ease both;
}
.cpm__answer-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cpm-soft);
}
.cpm__answer-text {
  font-size: clamp(1.05rem, 2vw, 1.28rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.25;
}
.cpm__grid {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--cpm-n), minmax(0, 1fr));
  gap: 16px;
}
.cpm__card {
  min-width: 0;
  padding: 22px 20px 20px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #e5d8b7;
  box-shadow: 0 14px 34px rgba(40, 34, 18, 0.06);
  animation: cpm-in 0.6s ease both;
  animation-delay: calc(0.08s * var(--cpm-i, 0));
}
.cpm__phase {
  margin: 0 0 14px !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cpm-soft);
}
.cpm__dial {
  position: relative;
  width: 132px;
  height: 132px;
  margin: 0 auto 16px;
}
.cpm__ring {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.cpm__track,
.cpm__progress {
  fill: none;
  stroke-width: 10;
  stroke-linecap: round;
}
.cpm__track { stroke: #f0e6c8; }
.cpm__progress {
  stroke: var(--cpm-gold);
  transition: stroke-dashoffset 0.8s ease;
}
.cpm__card--low .cpm__progress { stroke: #8f7d35; }
.cpm__card--mid .cpm__progress { stroke: #c6ac4a; }
.cpm__card--high .cpm__progress { stroke: #a67c2d; }
.cpm__score {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
  line-height: 1;
}
.cpm__score strong {
  font-size: 2.15rem;
  font-weight: 950;
  letter-spacing: -0.05em;
}
.cpm__score span {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--cpm-soft);
}
.cpm__card-title {
  margin: 0 0 8px !important;
  font-size: 1.15rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.03em;
  text-align: center;
}
.cpm__card-text {
  margin: 0 0 14px !important;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--cpm-body);
  text-align: center;
}
.cpm__bar {
  height: 8px;
  border-radius: 999px;
  background: #f3e8c0;
  overflow: hidden;
}
.cpm__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8f7d35, var(--cpm-gold));
  transition: width 0.8s ease;
}
.cpm__card--high .cpm__bar span {
  background: linear-gradient(90deg, #c6ac4a, #a67c2d);
}
.cpm__note {
  margin: 18px 0 0 !important;
  max-width: 62ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--cpm-body);
}
@keyframes cpm-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 820px) {
  .cpm { padding: 22px 18px 24px; border-radius: 24px; }
  .cpm__grid { grid-template-columns: 1fr; }
}

/* Comfort · pain pillars (poster typography — unlike meter rings / arc / beats / scene / table) */
.cpp {
  --cpp-ink: #1a1916;
  --cpp-gold: #c6ac4a;
  --cpp-soft: #6e602a;
  --cpp-body: #5a5242;
  --cpp-n: 2;
  color: var(--cpp-ink);
}
.cpp__head {
  max-width: 680px;
  margin: 0 auto 28px;
  text-align: center;
}
.cpp__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cpp-soft);
}
.cpp__title {
  margin: 10px 0 0 !important;
  font-size: clamp(1.85rem, 3.4vw, 2.7rem);
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -0.045em;
}
.cpp__lead {
  margin: 12px auto 0 !important;
  max-width: 48ch;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--cpp-body);
}
.cpp__answer {
  display: inline-block;
  margin: 18px 0 0 !important;
  padding: 10px 16px;
  border-radius: 999px;
  background: #1a1916;
  color: #f6f1e8;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  animation: cpp-in 0.55s ease both;
}
.cpp__row {
  display: grid;
  grid-template-columns: repeat(var(--cpp-n), minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.cpp__pillar {
  position: relative;
  overflow: hidden;
  min-height: 340px;
  padding: 28px 24px 26px;
  border-radius: 28px;
  border: 1px solid #e5d8b7;
  background:
    linear-gradient(180deg, rgba(255, 253, 247, 0.92) 0%, rgba(245, 239, 217, 0.96) 100%);
  box-shadow: 0 18px 44px rgba(40, 34, 18, 0.08);
  display: flex;
  flex-direction: column;
  animation: cpp-in 0.65s ease both;
  animation-delay: calc(0.1s * var(--cpp-i, 0));
}
.cpp__pillar--calm {
  background:
    radial-gradient(ellipse 80% 55% at 100% 0%, rgba(198, 172, 74, 0.2), transparent 60%),
    linear-gradient(180deg, #fffdf7 0%, #f5efd9 100%);
}
.cpp__pillar--soft {
  background:
    radial-gradient(ellipse 80% 55% at 0% 100%, rgba(198, 172, 74, 0.28), transparent 58%),
    linear-gradient(195deg, #1c1914 0%, #12100e 100%);
  color: #f6f1e8;
  border-color: #2a261f;
  box-shadow: 0 22px 48px rgba(18, 16, 14, 0.28);
}
.cpp__pillar--soft .cpp__phase,
.cpp__pillar--soft .cpp__signal,
.cpp__pillar--soft .cpp__pillar-text {
  color: rgba(246, 241, 232, 0.72);
}
.cpp__pillar--soft .cpp__mark span {
  color: rgba(198, 172, 74, 0.9);
}
.cpp__pillar--warm {
  background:
    linear-gradient(165deg, #2a2318 0%, #1a1916 100%);
  color: #f6f1e8;
  border-color: #3a3224;
}
.cpp__watermark {
  position: absolute;
  right: -8px;
  bottom: -28px;
  font-size: clamp(8rem, 18vw, 12rem);
  font-weight: 950;
  line-height: 0.8;
  letter-spacing: -0.08em;
  color: rgba(198, 172, 74, 0.14);
  pointer-events: none;
  user-select: none;
}
.cpp__pillar--soft .cpp__watermark,
.cpp__pillar--warm .cpp__watermark {
  color: rgba(198, 172, 74, 0.16);
}
.cpp__phase {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cpp-soft);
}
.cpp__mark {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 18px 0 8px !important;
  line-height: 0.9;
}
.cpp__mark strong {
  font-size: clamp(4.2rem, 9vw, 5.6rem);
  font-weight: 950;
  letter-spacing: -0.07em;
}
.cpp__mark span {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--cpp-soft);
}
.cpp__signal {
  position: relative;
  z-index: 1;
  margin: 0 0 22px !important;
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--cpp-soft);
}
.cpp__pillar-title {
  position: relative;
  z-index: 1;
  margin: auto 0 10px !important;
  font-size: 1.2rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.cpp__pillar-text {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--cpp-body);
}
.cpp__note {
  margin: 20px auto 0 !important;
  max-width: 58ch;
  text-align: center;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--cpp-body);
}
@keyframes cpp-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 820px) {
  .cpp__row { grid-template-columns: 1fr; }
  .cpp__pillar { min-height: 280px; padding: 24px 20px; border-radius: 22px; }
  .cpp__mark strong { font-size: 4rem; }
}

/* Guarantees · covenant charter (unlike FCS / guarantees_panel) */
.gcv {
  --gcv-ink: #1a1916;
  --gcv-gold: #c6ac4a;
  --gcv-soft: #6e602a;
  --gcv-body: #5a5242;
  color: var(--gcv-ink);
  border-radius: 32px;
  padding: 28px 28px 26px;
  background:
    radial-gradient(ellipse 60% 45% at 100% 0%, rgba(198, 172, 74, 0.18), transparent 55%),
    linear-gradient(160deg, #fffdf7 0%, #f5efd9 52%, #efe6c8 100%);
  border: 1px solid #e5d8b7;
  box-shadow: 0 20px 48px rgba(40, 34, 18, 0.09);
}
.gcv__head { max-width: 720px; margin-bottom: 20px; }
.gcv__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gcv-soft);
}
.gcv__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.gcv__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--gcv-body);
}
.gcv__rows {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  gap: 12px;
}
.gcv__row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px 20px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(229, 216, 183, 0.95);
  border-left: 3px solid var(--gcv-gold);
  animation: gcv-in 0.55s ease both;
  animation-delay: calc(0.07s * var(--gcv-i, 0));
}
.gcv__meta {
  display: grid;
  gap: 6px;
  padding-top: 2px;
}
.gcv__scope {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gcv-soft);
}
.gcv__term {
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--gcv-ink);
}
.gcv__row-title {
  margin: 0 !important;
  font-size: 1.15rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.gcv__row-text {
  margin: 8px 0 0 !important;
  max-width: 58ch;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--gcv-body);
}
.gcv__foot {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(198, 172, 74, 0.28);
}
.gcv__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--gcv-soft);
  text-decoration: none;
}
.gcv__cta:after {
  content: "→";
  font-size: 1.05em;
  transition: transform 0.2s ease;
}
.gcv__cta:hover { color: var(--gcv-ink); }
.gcv__cta:hover:after { transform: translateX(3px); }
@keyframes gcv-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 720px) {
  .gcv { padding: 22px 18px; border-radius: 24px; }
  .gcv__row { grid-template-columns: 1fr; gap: 8px; }
}

/* Guarantees · dark coverage layers (unlike covenant / FCS) */
.glr {
  --glr-ink: #f6f1e8;
  --glr-gold: #c6ac4a;
  --glr-muted: rgba(246, 241, 232, 0.64);
  border-radius: 30px;
  padding: 28px;
  background:
    radial-gradient(ellipse 50% 40% at 0% 0%, rgba(198, 172, 74, 0.18), transparent 55%),
    linear-gradient(165deg, #1c1914 0%, #14120f 55%, #0f0e0c 100%);
  color: var(--glr-ink);
  box-shadow: 0 22px 48px rgba(15, 14, 12, 0.3);
}
.glr--with-media {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  border: 1px solid rgba(198, 172, 74, 0.28);
}
.glr--with-media .glr__main {
  padding: 28px;
  min-width: 0;
}
.glr__media {
  margin: 0;
  min-height: 100%;
  background: #2a2418;
}
.glr--with-media .glr__media {
  position: relative;
  align-self: stretch;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
}
.glr__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  object-position: center 18%;
}
.glr--with-media .glr__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center 18%;
}
.glr__head { max-width: 680px; margin-bottom: 22px; }
.glr__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--glr-gold);
}
.glr__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.glr__lead {
  margin: 12px 0 0 !important;
  max-width: 50ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--glr-muted);
}
.glr__stack {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: grid;
  gap: 10px;
}
.glr__layer {
  display: block;
  padding: 18px 18px 18px 16px;
  border-radius: 18px;
  background: linear-gradient(
    90deg,
    rgba(198, 172, 74, calc(0.22 - (var(--glr-i, 0) * 0.05))) 0%,
    rgba(255, 255, 255, 0.04) 42%,
    rgba(255, 255, 255, 0.02) 100%
  );
  border: 1px solid rgba(198, 172, 74, calc(0.34 - (var(--glr-i, 0) * 0.06)));
  animation: glr-in 0.55s ease both;
  animation-delay: calc(0.08s * var(--glr-i, 0));
}
.glr__label {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--glr-gold);
}
.glr__layer-title {
  margin: 6px 0 0 !important;
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.glr__layer-text {
  margin: 8px 0 0 !important;
  max-width: 56ch;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--glr-muted);
}
.glr__foot {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(246, 241, 232, 0.12);
}
.glr__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--glr-gold);
  color: #1a1916;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-decoration: none;
  transition: filter 0.2s ease, transform 0.2s ease;
}
.glr__cta:after { content: "→"; transition: transform 0.2s ease; }
.glr__cta:hover { filter: brightness(1.06); color: #1a1916; }
.glr__cta:hover:after { transform: translateX(3px); }
@keyframes glr-in {
  from { opacity: 0; transform: translateX(-10px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .glr--with-media { grid-template-columns: 1fr; }
  .glr--with-media .glr__media {
    order: -1;
    position: relative;
    height: auto;
    min-height: 260px;
    max-height: 340px;
  }
  .glr--with-media .glr__img {
    position: absolute;
    inset: 0;
    min-height: 0;
  }
  .glr__img { min-height: 260px; max-height: 340px; }
  .glr--with-media .glr__main { padding: 22px 18px 24px; }
}
@media (max-width: 720px) {
  .glr { padding: 22px 18px; border-radius: 24px; }
  .glr--with-media { padding: 0; }
}

/* Guarantees · bond + photo (unlike layers / covenant / CPS) */
.gbs {
  --gbs-ink: #f6f1e8;
  --gbs-gold: #c6ac4a;
  --gbs-muted: rgba(246, 241, 232, 0.66);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 0;
  border-radius: 32px;
  overflow: hidden;
  background: linear-gradient(155deg, #1b1712 0%, #12100e 60%, #0e0c0a 100%);
  color: var(--gbs-ink);
  border: 1px solid rgba(198, 172, 74, 0.28);
  box-shadow: 0 22px 48px rgba(14, 12, 10, 0.32);
}
.gbs__bond {
  padding: 30px 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  animation: gbs-in 0.65s ease both;
}
.gbs__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gbs-gold);
}
.gbs__title {
  margin: 10px 0 0 !important;
  font-size: clamp(1.65rem, 2.8vw, 2.4rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.gbs__lead {
  margin: 12px 0 0 !important;
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--gbs-muted);
}
.gbs__clauses {
  list-style: none;
  margin: 22px 0 0 !important;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(198, 172, 74, 0.28);
}
.gbs__clause {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(246, 241, 232, 0.1);
  animation: gbs-in 0.55s ease both;
  animation-delay: calc(0.08s * var(--gbs-i, 0));
}
.gbs__n {
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: var(--gbs-gold);
  padding-top: 2px;
}
.gbs__clause-title {
  margin: 0 !important;
  font-size: 1.08rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.gbs__clause-text {
  margin: 6px 0 0 !important;
  font-size: 14px;
  line-height: 1.45;
  color: var(--gbs-muted);
}
.gbs__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  align-self: flex-start;
  padding: 11px 16px;
  border-radius: 999px;
  background: var(--gbs-gold);
  color: #1a1916;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.gbs__cta:after { content: "→"; transition: transform 0.2s ease; }
.gbs__cta:hover:after { transform: translateX(3px); }
.gbs__media {
  margin: 0;
  min-height: 100%;
  background: #2a2418;
  animation: gbs-in 0.7s ease both;
  animation-delay: 0.05s;
}
.gbs__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  object-position: center 18%;
}
@keyframes gbs-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .gbs { grid-template-columns: 1fr; }
  .gbs__media { order: -1; }
  .gbs__img { min-height: 260px; max-height: 340px; }
  .gbs__bond { padding: 22px 18px 24px; }
}

/* Bone deficit · Sticky Bone brief (unlike HTML text card / FCS) */
.bdb {
  --bdb-ink: #1a1916;
  --bdb-gold: #c6ac4a;
  --bdb-soft: #6e602a;
  --bdb-body: #5a5242;
  color: var(--bdb-ink);
  border-radius: 32px;
  padding: 30px 28px 28px;
  background:
    radial-gradient(ellipse 55% 45% at 100% 0%, rgba(198, 172, 74, 0.2), transparent 55%),
    linear-gradient(160deg, #fffdf7 0%, #f5efd9 52%, #efe6c8 100%);
  border: 1px solid #e5d8b7;
  box-shadow: 0 20px 48px rgba(40, 34, 18, 0.09);
}
.bdb__head { max-width: 720px; margin-bottom: 18px; }
.bdb__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bdb-soft);
}
.bdb__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.bdb__subtitle {
  margin: 10px 0 0 !important;
  font-size: 1.1rem;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--bdb-soft);
}
.bdb__body {
  margin: 0 0 16px;
  padding: 18px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(229, 216, 183, 0.95);
  animation: bdb-in 0.55s ease both;
}
.bdb__text {
  margin: 0 !important;
  max-width: 62ch;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--bdb-body);
}
.bdb__link {
  color: var(--bdb-soft);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bdb__link:hover { color: var(--bdb-ink); }
.bdb__note {
  margin: 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(26, 25, 22, 0.94);
  color: #f6f1e8;
  animation: bdb-in 0.6s ease both;
  animation-delay: 0.06s;
}
.bdb__note-title {
  margin: 0 !important;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--bdb-gold);
}
.bdb__note-text {
  margin: 8px 0 0 !important;
  max-width: 58ch;
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(246, 241, 232, 0.78);
}
.bdb__points {
  list-style: none;
  margin: 16px 0 0 !important;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.bdb__point {
  padding: 14px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(229, 216, 183, 0.95);
  animation: bdb-in 0.55s ease both;
  animation-delay: calc(0.08s * var(--bdb-i, 0));
}
.bdb__point-title {
  display: block;
  font-size: 14.5px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--bdb-ink);
}
.bdb__point-text {
  display: block;
  margin-top: 6px;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--bdb-body);
}
@keyframes bdb-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 820px) {
  .bdb { padding: 22px 18px; border-radius: 24px; }
  .bdb__points { grid-template-columns: 1fr; }
}

/* Bone deficit · ask/answer split (unlike brief panel) */
.bds {
  --bds-ink: #1a1916;
  --bds-gold: #c6ac4a;
  --bds-soft: #6e602a;
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
  gap: 0;
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid #e5d8b7;
  box-shadow: 0 20px 48px rgba(40, 34, 18, 0.1);
}
.bds__ask {
  padding: 30px 26px;
  background:
    radial-gradient(ellipse 70% 50% at 0% 100%, rgba(198, 172, 74, 0.22), transparent 55%),
    linear-gradient(165deg, #1c1914 0%, #12100e 100%);
  color: #f6f1e8;
  opacity: 1;
  animation: bds-in 0.55s ease both;
}
.bds__answer {
  padding: 30px 28px;
  background: linear-gradient(160deg, #fffdf7 0%, #f5efd9 100%);
  color: var(--bds-ink);
  opacity: 1;
  animation: bds-in 0.65s ease both;
  animation-delay: 0.05s;
}
.bds__eyebrow {
  margin: 0 0 14px !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bds-gold);
}
.bds__kicker {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(246, 241, 232, 0.55);
}
.bds__kicker--gold { color: var(--bds-soft); }
.bds__title {
  margin: 10px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.bds__subtitle {
  margin: 14px 0 0 !important;
  max-width: 22ch;
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 700;
  color: rgba(246, 241, 232, 0.72);
}
.bds__text {
  margin: 12px 0 0 !important;
  max-width: 48ch;
  font-size: 15.5px;
  line-height: 1.6;
  color: #5a5242;
}
.bds__link {
  color: var(--bds-soft);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bds__link:hover { color: var(--bds-ink); }
.bds__note {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(198, 172, 74, 0.35);
}
.bds__note-title {
  margin: 0 !important;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--bds-soft);
}
.bds__note-text {
  margin: 8px 0 0 !important;
  max-width: 46ch;
  font-size: 14.5px;
  line-height: 1.55;
  color: #5a5242;
}
@keyframes bds-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bds__ask,
  .bds__answer {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
@media (max-width: 860px) {
  .bds { grid-template-columns: 1fr; }
  .bds__ask, .bds__answer { padding: 22px 18px; }
  .bds__subtitle { max-width: none; }
}

/* Lineup · choice board (which product when) */
.lcb {
  --lcb-ink: #1a1916;
  --lcb-gold: #c6ac4a;
  --lcb-paper: #f7f2e4;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid #e7dfc7;
  background:
    radial-gradient(ellipse 55% 45% at 100% 0%, rgba(198, 172, 74, 0.14), transparent 55%),
    linear-gradient(165deg, #fffdf7 0%, #f3ecda 100%);
  box-shadow: 0 20px 52px rgba(40, 34, 18, 0.08);
  padding: 28px;
}
.lcb__head {
  max-width: 52rem;
  margin-bottom: 22px;
  padding-left: 18px;
  border-left: 3px solid var(--lcb-gold);
}
.lcb__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6e602a;
}
.lcb__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.55rem, 2.8vw, 2.35rem);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.045em;
  color: var(--lcb-ink);
}
.lcb__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15px;
  line-height: 1.55;
  color: #5a5242;
}
.lcb__grid {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(var(--lcb-n, 4), minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}
.lcb__card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-width: 0;
  padding: 20px 18px 16px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5d8b7;
  box-shadow: 0 12px 28px rgba(40, 34, 18, 0.05);
  animation: lcb-in 0.5s cubic-bezier(.2, .8, .2, 1) both;
  animation-delay: calc(var(--lcb-i, 0) * 70ms);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.lcb__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(40, 34, 18, 0.1);
}
.lcb__card:before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lcb-gold), transparent);
}
.lcb__idx {
  position: absolute;
  right: 10px;
  top: 6px;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.08em;
  color: rgba(198, 172, 74, 0.16);
  pointer-events: none;
  user-select: none;
}
.lcb__tag {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  align-self: flex-start;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6e602a;
  background: #f3e8c0;
  border-radius: 999px;
  padding: 6px 10px;
}
.lcb__name {
  position: relative;
  z-index: 1;
  margin: 14px 0 0 !important;
  font-size: 1.35rem;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.035em;
  color: var(--lcb-ink);
}
.lcb__text {
  position: relative;
  z-index: 1;
  margin: 10px 0 0 !important;
  flex: 1 1 auto;
  font-size: 14.5px;
  line-height: 1.5;
  color: #5a5242;
}
.lcb__when {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 4px;
  margin: 16px 0 0 !important;
  padding: 12px 12px;
  border-radius: 14px;
  background: #f7f2e4;
  border: 1px solid #ebe1c4;
}
.lcb__when-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lcb-gold);
}
.lcb__when-text {
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--lcb-ink);
}
.lcb__note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5d8b7;
}
.lcb__note-mark {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--lcb-gold);
  box-shadow: 0 0 0 4px rgba(198, 172, 74, 0.18);
}
.lcb__note-text {
  margin: 0 !important;
  font-size: 14.5px;
  line-height: 1.55;
  color: #3a3a3a;
}
@keyframes lcb-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 1100px) {
  .lcb__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .lcb { padding: 20px 16px; }
  .lcb__head { padding-left: 14px; }
  .lcb__grid { grid-template-columns: 1fr; }
  .lcb__card { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .lcb__card { animation: none; }
  .lcb__card:hover { transform: none; }
}

/* Lineup · decision route (if → then stack, unlike choice board grid) */
.ldr {
  --ldr-ink: #1a1916;
  --ldr-gold: #c6ac4a;
  --ldr-muted: rgba(246, 241, 232, 0.68);
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(26, 25, 22, 0.88);
  background: #14120f;
  color: #f6f1e8;
  box-shadow: 0 22px 48px rgba(15, 14, 12, 0.28);
}
.ldr__mast {
  padding: 28px 28px 22px;
  background:
    radial-gradient(ellipse 50% 80% at 0% 0%, rgba(198, 172, 74, 0.2), transparent 55%),
    linear-gradient(180deg, #1c1914 0%, #14120f 100%);
  border-bottom: 1px solid rgba(246, 241, 232, 0.08);
}
.ldr__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ldr-gold);
}
.ldr__title {
  margin: 8px 0 0 !important;
  max-width: 18ch;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.045em;
}
.ldr__lead {
  margin: 12px 0 0 !important;
  max-width: 52ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ldr-muted);
}
.ldr__stack {
  list-style: none;
  margin: 0 !important;
  padding: 8px 0 4px !important;
}
.ldr__row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 0 8px;
  padding: 0 20px;
  animation: ldr-in 0.5s ease both;
  animation-delay: calc(var(--ldr-i, 0) * 70ms);
}
.ldr__rail {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 22px;
}
.ldr__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  background: rgba(198, 172, 74, 0.16);
  border: 1px solid rgba(198, 172, 74, 0.45);
  color: var(--ldr-gold);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  z-index: 1;
}
.ldr__spine {
  flex: 1 1 auto;
  width: 1px;
  margin-top: 8px;
  min-height: 28px;
  background: linear-gradient(180deg, rgba(198, 172, 74, 0.55), rgba(198, 172, 74, 0.08));
}
.ldr__body {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(180px, 0.85fr);
  gap: 14px;
  align-items: stretch;
  margin: 10px 0;
  padding: 18px 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(246, 241, 232, 0.08);
  transition: background 0.2s ease, border-color 0.2s ease;
}
.ldr__row:hover .ldr__body {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(198, 172, 74, 0.28);
}
.ldr__if {
  min-width: 0;
}
.ldr__then {
  min-width: 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(198, 172, 74, 0.18), rgba(198, 172, 74, 0.06));
  border: 1px solid rgba(198, 172, 74, 0.32);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ldr__verb {
  display: inline-block;
  margin: 0 0 8px !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(246, 241, 232, 0.45);
}
.ldr__verb--gold { color: var(--ldr-gold); }
.ldr__condition {
  margin: 0 !important;
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #f6f1e8;
}
.ldr__hint {
  margin: 8px 0 0 !important;
  max-width: 46ch;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ldr-muted);
}
.ldr__pick {
  margin: 0 !important;
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #fff;
}
.ldr__tag {
  margin: 8px 0 0 !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(246, 241, 232, 0.55);
}
.ldr__note {
  margin: 4px 20px 22px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(198, 172, 74, 0.35);
}
.ldr__note-text {
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ldr-muted);
}
@keyframes ldr-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 860px) {
  .ldr__mast { padding: 22px 18px 18px; }
  .ldr__row { grid-template-columns: 48px minmax(0, 1fr); padding: 0 12px; }
  .ldr__body { grid-template-columns: 1fr; gap: 12px; padding: 16px 14px; }
  .ldr__note { margin: 4px 12px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ldr__row { animation: none; }
}

/* Lineup · consult scene with photo (menu + media, unlike board/route) */
.lcs {
  --lcs-ink: #f6f1e8;
  --lcs-gold: #c6ac4a;
  --lcs-muted: rgba(246, 241, 232, 0.66);
  border-radius: 32px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 45% 50% at 0% 0%, rgba(198, 172, 74, 0.16), transparent 55%),
    linear-gradient(165deg, #1c1914 0%, #12110e 100%);
  color: var(--lcs-ink);
  border: 1px solid rgba(198, 172, 74, 0.28);
  box-shadow: 0 22px 48px rgba(15, 14, 12, 0.3);
}
.lcs--with-media {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 0;
}
.lcs__copy {
  padding: 30px 28px 32px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  animation: lcs-in 0.6s ease both;
}
.lcs__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lcs-gold);
}
.lcs__title {
  margin: 10px 0 0 !important;
  max-width: 16ch;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.045em;
}
.lcs__lead {
  margin: 12px 0 0 !important;
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--lcs-muted);
}
.lcs__menu {
  list-style: none;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(246, 241, 232, 0.1);
}
.lcs__pick {
  padding: 14px 0;
  border-bottom: 1px solid rgba(246, 241, 232, 0.1);
  animation: lcs-in 0.5s ease both;
  animation-delay: calc(0.06s * var(--lcs-i, 0));
}
.lcs__pick-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.lcs__pick-name {
  margin: 0 !important;
  font-size: 1.2rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #fff;
}
.lcs__pick-label {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lcs-gold);
}
.lcs__pick-when {
  margin: 6px 0 0 !important;
  max-width: 46ch;
  font-size: 14px;
  line-height: 1.45;
  color: var(--lcs-muted);
}
.lcs__note {
  margin: 18px 0 0 !important;
  padding-top: 14px;
  border-top: 1px dashed rgba(198, 172, 74, 0.35);
  max-width: 48ch;
  font-size: 14px;
  line-height: 1.55;
  color: var(--lcs-muted);
}
.lcs__media {
  position: relative;
  margin: 0;
  min-height: 100%;
  background: #2a2418;
  animation: lcs-in 0.7s ease both;
  animation-delay: 0.05s;
}
.lcs__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
  object-position: center 18%;
}
.lcs__caption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(20, 18, 14, 0.72);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(198, 172, 74, 0.3);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  color: #f6f1e8;
}
@keyframes lcs-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .lcs--with-media { grid-template-columns: 1fr; }
  .lcs__copy { padding: 24px 18px 22px; order: 1; }
  .lcs__media { order: 0; max-height: 360px; }
  .lcs__img { min-height: 280px; max-height: 360px; }
}
@media (prefers-reduced-motion: reduce) {
  .lcs__copy, .lcs__media, .lcs__pick { animation: none; }
}

/* —— Tech blocks catalog (internal showcase) —— */
.tcat {
  --tcat-ink: #1a1a1a;
  --tcat-soft: rgba(26, 26, 26, 0.62);
  --tcat-line: #e5e5e5;
  --tcat-note: #f7f4ea;
  --tcat-gold: var(--color-primary, #c6ac4a);
  margin: 0 auto;
  padding: 1.5rem 0 4rem;
  max-width: 100%;
}
.tcat__hero {
  padding: 0 0 1.75rem;
  border-bottom: 1px solid var(--tcat-line);
  margin-bottom: 1.5rem;
}
.tcat__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tcat-gold);
}
.tcat__title {
  margin: 0;
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--tcat-ink);
}
.tcat__lead {
  margin: 0.75rem 0 0;
  max-width: 46rem;
  font-size: 15px;
  line-height: 1.55;
  color: var(--tcat-soft);
}
.tcat__lead code {
  font-size: 0.9em;
  padding: 0.1em 0.35em;
  border-radius: 4px;
  background: rgba(198, 172, 74, 0.12);
}
.tcat__layout {
  display: block;
}
.tcat__toc { display: none !important; }
.tcat__stream { min-width: 0; width: 100%; }
.tcat__sec {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
  padding: 1.5rem 0 2rem;
  border-bottom: 1px dashed var(--tcat-line);
  scroll-margin-top: 6rem;
  width: 100%;
}
.tcat__note {
  align-self: flex-start;
  width: auto;
  max-width: 40rem;
  margin: 0;
  padding: 0.75rem 0.95rem;
  border-radius: 12px;
  background: var(--tcat-note);
  border: 1px solid color-mix(in srgb, var(--tcat-gold) 28%, transparent);
  text-align: left;
}
.tcat__note-code {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--tcat-gold);
  word-break: break-word;
}
.tcat__note-label {
  margin: 0.35rem 0 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--tcat-ink);
}
.tcat__note-when {
  margin: 0.45rem 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--tcat-soft);
}
.tcat__note-when span {
  display: block;
  margin-bottom: 0.15rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(26, 26, 26, 0.45);
}
.tcat__preview { min-width: 0; width: 100%; }

/* Anesthesia · dose rail (1–N cards, not FCS / default icon cards) */
.adr {
  --adr-ink: #16181c;
  --adr-muted: #5c6470;
  --adr-soft: #8a7360;
  --adr-gold: #c6ac4a;
  --adr-line: rgba(22, 24, 28, 0.1);
  --adr-n: 1;
  --adr-cols: 1;
  color: var(--adr-ink);
  border-radius: 28px;
  padding: 26px 24px 28px;
  background:
    radial-gradient(ellipse 48% 42% at 0% 0%, rgba(198, 172, 74, 0.16), transparent 58%),
    linear-gradient(155deg, #f7f8fa 0%, #eef1f5 52%, #e8ebf0 100%);
  border: 1px solid #d9dde5;
  box-shadow: 0 18px 44px rgba(22, 28, 38, 0.07);
  overflow: hidden;
}
.adr__head { max-width: 720px; margin-bottom: 18px; }
.adr__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--adr-soft);
}
.adr__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.adr__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--adr-muted);
}
.adr__rail {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(var(--adr-cols), minmax(0, 1fr));
}
.adr--solo .adr__rail { grid-template-columns: 1fr; }
.adr__dose {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px 18px;
  align-items: start;
  margin: 0 !important;
  padding: 18px 18px 18px 16px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(22, 24, 28, 0.08);
  box-shadow: 0 10px 28px rgba(22, 28, 38, 0.05);
  overflow: hidden;
  animation: adrIn 0.55s ease both;
  animation-delay: calc(0.07s * var(--adr-i, 0));
}
.adr--solo .adr__dose {
  padding: 22px 22px 22px 18px;
  min-height: 132px;
  align-items: center;
}
@keyframes adrIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.adr__spine {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 52px;
}
.adr--solo .adr__spine {
  flex-direction: row;
  gap: 14px;
  min-width: 0;
  padding-right: 6px;
  border-right: 1px solid var(--adr-line);
  margin-right: 2px;
  padding-right: 16px;
}
.adr__idx {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--adr-soft);
  font-variant-numeric: tabular-nums;
}
.adr__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(160deg, #faf6ea, #efe4c4);
  color: #6e602a;
  box-shadow: inset 0 0 0 1px rgba(198, 172, 74, 0.35);
}
.adr__icon svg { width: 22px; height: 22px; }
.adr--solo .adr__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
}
.adr--solo .adr__icon svg { width: 24px; height: 24px; }
.adr__body { min-width: 0; }
.adr__badge {
  display: inline-flex;
  align-items: center;
  margin: 0 0 8px !important;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4d431d;
  background: rgba(198, 172, 74, 0.22);
  border: 1px solid rgba(198, 172, 74, 0.4);
}
.adr__dose-title {
  margin: 0 !important;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--adr-ink);
}
.adr--solo .adr__dose-title {
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
}
.adr__dose-text {
  margin: 8px 0 0 !important;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--adr-muted);
}
.adr__pulse {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--adr-gold);
  box-shadow: 0 0 0 0 rgba(198, 172, 74, 0.55);
  animation: adrPulse 2.4s ease-out infinite;
  animation-delay: calc(0.15s * var(--adr-i, 0));
}
@keyframes adrPulse {
  0% { box-shadow: 0 0 0 0 rgba(198, 172, 74, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(198, 172, 74, 0); }
  100% { box-shadow: 0 0 0 0 rgba(198, 172, 74, 0); }
}
.adr__note {
  margin: 16px 0 0 !important;
  max-width: 62ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--adr-muted);
}
@media (max-width: 900px) {
  .adr { padding: 22px 16px 24px; border-radius: 24px; }
  .adr--multi .adr__rail {
    grid-template-columns: 1fr;
  }
  .adr--multi[data-count="2"] .adr__rail,
  .adr--multi[data-count="3"] .adr__rail,
  .adr--multi[data-count="4"] .adr__rail {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .adr--multi[data-count="2"] .adr__dose,
  .adr--multi[data-count="3"] .adr__dose,
  .adr--multi[data-count="4"] .adr__dose {
    flex: 0 0 min(82vw, 300px);
    scroll-snap-align: start;
  }
  .adr--solo .adr__spine {
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
    border-right: 0;
    margin-right: 0;
    padding-right: 0;
    border-bottom: 1px solid var(--adr-line);
    padding-bottom: 12px;
    margin-bottom: 2px;
  }
  .adr--solo .adr__dose {
    grid-template-columns: 1fr;
    align-items: start;
  }
}
@media (min-width: 901px) {
  .adr--multi[data-count="4"] {
    --adr-cols: 2;
  }
  .adr--multi[data-count="3"] {
    --adr-cols: 3;
  }
  .adr--multi[data-count="2"] {
    --adr-cols: 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  .adr__dose, .adr__pulse { animation: none; }
}

/* Anesthesia · calm chamber (unlike dose_rail / FCS / default cards) */
.acc {
  --acc-ink: #f4f1ea;
  --acc-muted: rgba(244, 241, 234, 0.68);
  --acc-dim: rgba(244, 241, 234, 0.42);
  --acc-line: rgba(244, 241, 234, 0.12);
  --acc-gold: #c6ac4a;
  --acc-n: 1;
  position: relative;
  color: var(--acc-ink);
  border-radius: 30px;
  padding: 28px 24px 30px;
  background:
    linear-gradient(165deg, #24262b 0%, #1a1c20 48%, #121417 100%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 28px 60px rgba(10, 12, 16, 0.35);
  overflow: hidden;
}
.acc__glow {
  position: absolute;
  inset: -20% auto auto -10%;
  width: 55%;
  height: 55%;
  background: radial-gradient(circle, rgba(198, 172, 74, 0.18), transparent 68%);
  pointer-events: none;
}
.acc__head {
  position: relative;
  z-index: 1;
  max-width: 640px;
  margin-bottom: 20px;
}
.acc__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--acc-gold);
}
.acc__title {
  margin: 10px 0 0 !important;
  font-size: clamp(1.75rem, 3.2vw, 2.6rem);
  line-height: 1.05;
  font-weight: 850;
  letter-spacing: -0.045em;
  color: #fff;
}
.acc__lead {
  margin: 12px 0 0 !important;
  max-width: 48ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--acc-muted);
}
.acc__chamber {
  position: relative;
  z-index: 1;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--acc-line);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  overflow: hidden;
}
.acc__list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
}
.acc__row {
  position: relative;
  display: grid;
  grid-template-columns: 4px 1fr;
  gap: 0 18px;
  margin: 0 !important;
  padding: 18px 20px 18px 16px;
  border-bottom: 1px solid var(--acc-line);
}
.acc__row:last-child { border-bottom: 0; }
.acc--solo .acc__row {
  padding: 28px 26px 30px 20px;
  min-height: 140px;
  align-items: center;
}
.acc__bar {
  display: block;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--acc-gold), rgba(198, 172, 74, 0.15));
  align-self: stretch;
  min-height: 100%;
}
.acc--solo .acc__bar {
  width: 5px;
  min-height: 72px;
}
.acc__copy { min-width: 0; }
.acc__row-title {
  margin: 0 !important;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: #fff;
}
.acc--solo .acc__row-title {
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.035em;
}
.acc__row-text {
  margin: 8px 0 0 !important;
  max-width: 52ch;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--acc-muted);
}
.acc--solo .acc__row-text {
  margin-top: 10px !important;
  font-size: 16px;
  max-width: 42ch;
}
.acc__included {
  margin: 12px 0 0 !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--acc-dim);
}
.acc__included::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 999px;
  background: var(--acc-gold);
  vertical-align: 1px;
  opacity: 0.85;
}
.acc__note {
  position: relative;
  z-index: 1;
  margin: 16px 0 0 !important;
  max-width: 58ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--acc-dim);
}
@media (max-width: 900px) {
  .acc { padding: 22px 16px 24px; border-radius: 24px; }
  .acc--solo .acc__row { padding: 22px 18px; min-height: 0; }
  .acc--stack .acc__list {
    /* keep vertical stack — chamber is not a card grid */
  }
  .acc--stack[data-count="3"] .acc__row,
  .acc--stack[data-count="4"] .acc__row {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .acc__glow { display: none; }
}

/* Price factors · weight board (unlike comparison table / canon-shell) */
.pfw {
  --pfw-ink: #1a1916;
  --pfw-muted: #5c5648;
  --pfw-soft: #8f7d35;
  --pfw-gold: #c6ac4a;
  --pfw-line: rgba(26, 25, 22, 0.1);
  --pfw-n: 5;
  color: var(--pfw-ink);
  border-radius: 28px;
  padding: 26px 24px 28px;
  background:
    radial-gradient(ellipse 50% 40% at 100% 0%, rgba(198, 172, 74, 0.18), transparent 60%),
    linear-gradient(160deg, #fffdf8 0%, #f3eee0 55%, #ebe4d2 100%);
  border: 1px solid #e2d8bf;
  box-shadow: 0 18px 44px rgba(40, 34, 18, 0.08);
  overflow: hidden;
}
.pfw__head { margin-bottom: 18px; }
.pfw__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pfw-soft);
}
.pfw__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.pfw__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--pfw-muted);
}
.pfw__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.pfw__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid var(--pfw-line);
  background: rgba(255, 255, 255, 0.7);
  color: var(--pfw-muted);
}
.pfw__legend-item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 2px;
}
.pfw__legend-item--low::before { background: #c5bda8; }
.pfw__legend-item--mid::before { background: #b09a40; }
.pfw__legend-item--high::before { background: #6e602a; }
.pfw__list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pfw__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px 20px;
  align-items: center;
  margin: 0 !important;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(26, 25, 22, 0.08);
  box-shadow: 0 8px 22px rgba(40, 34, 18, 0.04);
  animation: pfwIn 0.45s ease both;
  animation-delay: calc(0.05s * var(--pfw-i, 0));
}
@keyframes pfwIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.pfw__copy { min-width: 0; }
.pfw__factor {
  margin: 0 !important;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.pfw__details {
  margin: 6px 0 0 !important;
  font-size: 14px;
  line-height: 1.5;
  color: var(--pfw-muted);
}
.pfw__weight {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 108px;
}
.pfw__weight-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pfw__row--low .pfw__weight-label { color: #8a8270; }
.pfw__row--mid .pfw__weight-label { color: #8f7d35; }
.pfw__row--high .pfw__weight-label { color: #4d431d; }
.pfw__meter {
  display: flex;
  gap: 5px;
}
.pfw__tick {
  display: block;
  width: 28px;
  height: 10px;
  border-radius: 3px;
  background: rgba(26, 25, 22, 0.08);
}
.pfw__row--low .pfw__tick.is-on { background: #c5bda8; }
.pfw__row--mid .pfw__tick.is-on { background: linear-gradient(90deg, #b09a40, #c6ac4a); }
.pfw__row--high .pfw__tick.is-on { background: linear-gradient(90deg, #6e602a, #c6ac4a); }
.pfw__row--high {
  border-color: rgba(198, 172, 74, 0.35);
  background: linear-gradient(110deg, rgba(255, 255, 255, 0.92), rgba(250, 244, 220, 0.9));
}
.pfw__note {
  margin: 16px 0 0 !important;
  max-width: 60ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--pfw-muted);
}
@media (max-width: 700px) {
  .pfw { padding: 22px 16px 24px; border-radius: 24px; }
  .pfw__row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .pfw__weight {
    align-items: flex-start;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pfw__row { animation: none; }
}

/* Price factors · triage board (columns by impact — unlike table / weight meters) */
.pft {
  --pft-ink: #17191d;
  --pft-muted: #5a616c;
  --pft-line: rgba(23, 25, 29, 0.1);
  --pft-cols: 3;
  color: var(--pft-ink);
  border-radius: 28px;
  padding: 26px 22px 28px;
  background:
    radial-gradient(ellipse 42% 36% at 0% 0%, rgba(110, 96, 42, 0.12), transparent 60%),
    linear-gradient(155deg, #f5f6f8 0%, #eceff3 50%, #e4e8ee 100%);
  border: 1px solid #d5dae2;
  box-shadow: 0 18px 44px rgba(22, 28, 38, 0.07);
  overflow: hidden;
}
.pft__head { max-width: 640px; margin-bottom: 20px; }
.pft__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8f7d35;
}
.pft__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.pft__lead {
  margin: 12px 0 0 !important;
  max-width: 52ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--pft-muted);
}
.pft__board {
  display: grid;
  grid-template-columns: repeat(var(--pft-cols), minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}
.pft__col {
  border-radius: 20px;
  padding: 14px 12px 12px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--pft-line);
  min-width: 0;
}
.pft__col--high {
  background: linear-gradient(180deg, #2a2c31 0%, #1b1d21 100%);
  border-color: rgba(255, 255, 255, 0.08);
  color: #f4f1ea;
}
.pft__col--high .pft__col-title { color: #fff; }
.pft__col--high .pft__col-count {
  color: #1a1916;
  background: #c6ac4a;
}
.pft__col--high .pft__card {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
}
.pft__col--high .pft__card-title { color: #fff; }
.pft__col--high .pft__card-text { color: rgba(244, 241, 234, 0.68); }
.pft__col--mid {
  background: rgba(255, 253, 247, 0.92);
  border-color: #e5d8b7;
}
.pft__col--low {
  background: rgba(255, 255, 255, 0.55);
}
.pft__col-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 0 4px;
}
.pft__col-mark {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
.pft__col--high .pft__col-mark { background: #c6ac4a; }
.pft__col--mid .pft__col-mark { background: #b09a40; }
.pft__col--low .pft__col-mark { background: #b0b6c0; }
.pft__col-title {
  margin: 0 !important;
  flex: 1;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.pft__col-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: rgba(23, 25, 29, 0.08);
  color: var(--pft-muted);
}
.pft__cards {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pft__card {
  margin: 0 !important;
  padding: 12px 12px 13px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--pft-line);
  animation: pftIn 0.4s ease both;
  animation-delay: calc(0.06s * var(--pft-i, 0));
}
@keyframes pftIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
.pft__card-title {
  margin: 0 !important;
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -0.015em;
}
.pft__card-text {
  margin: 6px 0 0 !important;
  font-size: 13px;
  line-height: 1.45;
  color: var(--pft-muted);
}
.pft__note {
  margin: 16px 0 0 !important;
  max-width: 58ch;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--pft-muted);
}
@media (max-width: 900px) {
  .pft { padding: 22px 14px 24px; border-radius: 24px; }
  .pft__board {
    grid-template-columns: 1fr;
  }
  .pft__col--high {
    /* keep dark column identity on mobile */
  }
}
@media (prefers-reduced-motion: reduce) {
  .pft__card { animation: none; }
}

/* Consider · signal board (unlike white symptom cards + emoji checklist) */
.csb {
  --csb-ink: #17191d;
  --csb-muted: #5a616c;
  --csb-gold: #c6ac4a;
  --csb-soft: #8f7d35;
  --csb-line: rgba(23, 25, 29, 0.1);
  --csb-n: 3;
  color: var(--csb-ink);
  border-radius: 28px;
  padding: 26px 22px 28px;
  background:
    radial-gradient(ellipse 46% 40% at 100% 0%, rgba(198, 172, 74, 0.14), transparent 58%),
    linear-gradient(155deg, #f4f5f7 0%, #e9ecf1 52%, #e2e6ec 100%);
  border: 1px solid #d4d9e1;
  box-shadow: 0 18px 44px rgba(22, 28, 38, 0.07);
  overflow: hidden;
}
.csb__head { max-width: 720px; margin-bottom: 18px; }
.csb__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--csb-soft);
}
.csb__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.csb__lead {
  margin: 12px 0 0 !important;
  max-width: 54ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--csb-muted);
}
.csb__signals {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.csb__signal {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 16px;
  align-items: stretch;
  margin: 0 !important;
  padding: 0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--csb-line);
  overflow: hidden;
  animation: csbIn 0.45s ease both;
  animation-delay: calc(0.06s * var(--csb-i, 0));
}
@keyframes csbIn {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: none; }
}
.csb__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 58px;
  padding: 16px 0 14px;
  background: linear-gradient(180deg, #24262b 0%, #1a1c20 100%);
  color: #f4f1ea;
}
.csb__idx {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
  color: var(--csb-gold);
}
.csb__beam {
  flex: 1;
  width: 3px;
  min-height: 28px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--csb-gold), rgba(198, 172, 74, 0.15));
}
.csb__copy {
  min-width: 0;
  padding: 16px 18px 16px 0;
}
.csb__signal-title {
  margin: 0 !important;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.csb__signal-text {
  margin: 7px 0 0 !important;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--csb-muted);
}
.csb__foot {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}
.csb__threshold {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 !important;
  padding: 14px 16px;
  border-radius: 16px;
  background: #1a1c20;
  color: #f4f1ea;
}
.csb__threshold-mark {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--csb-gold);
  color: #1a1916;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.02em;
}
.csb__threshold-text {
  padding-top: 8px;
  font-size: 14.5px;
  line-height: 1.45;
  color: rgba(244, 241, 234, 0.88);
}
.csb__urgency {
  margin: 0 !important;
  padding: 12px 14px;
  border-radius: 14px;
  border-left: 3px solid var(--csb-gold);
  background: rgba(255, 255, 255, 0.65);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--csb-muted);
}
@media (max-width: 700px) {
  .csb { padding: 22px 14px 24px; border-radius: 24px; }
  .csb__rail { width: 48px; }
  .csb__copy { padding-right: 14px; }
  .csb__threshold { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .csb__signal { animation: none; }
}

/* Consider · triage gauge (unlike csb rails / ≥2 / vertical stack) */
.ctg {
  --ctg-ink: #14201c;
  --ctg-muted: #5a6a64;
  --ctg-teal: #1f7a66;
  --ctg-teal-soft: #3a9a82;
  --ctg-wash: #e8f3ef;
  --ctg-line: rgba(20, 32, 28, 0.1);
  --ctg-n: 3;
  --ctg-need: 2;
  --ctg-fill: 66.67%;
  color: var(--ctg-ink);
  border-radius: 4px 28px 28px 4px;
  padding: 28px 24px 30px;
  background:
    linear-gradient(90deg, var(--ctg-teal) 0 5px, transparent 5px),
    linear-gradient(180deg, #fbfefd 0%, #f0f7f4 100%);
  border: 1px solid #c9ddd6;
  box-shadow: 0 16px 40px rgba(20, 48, 40, 0.06);
  overflow: hidden;
}
.ctg__head {
  max-width: 640px;
  margin-bottom: 22px;
  padding-left: 8px;
}
.ctg__eyebrow {
  margin: 0 !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ctg-teal);
}
.ctg__title {
  margin: 8px 0 0 !important;
  font-size: clamp(1.55rem, 2.8vw, 2.2rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.035em;
}
.ctg__lead {
  margin: 10px 0 0 !important;
  max-width: 52ch;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ctg-muted);
}
.ctg__flags {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(var(--ctg-n), minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--ctg-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  overflow: hidden;
}
.ctg__flag {
  position: relative;
  margin: 0 !important;
  padding: 22px 18px 20px;
  border-right: 1px solid var(--ctg-line);
  min-height: 100%;
  animation: ctgIn 0.5s ease both;
  animation-delay: calc(0.08s * var(--ctg-i, 0));
}
.ctg__flag:last-child { border-right: 0; }
@keyframes ctgIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.ctg__mark {
  position: absolute;
  top: 8px;
  right: 10px;
  font-size: clamp(2.6rem, 5vw, 3.6rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.06em;
  color: rgba(31, 122, 102, 0.12);
  pointer-events: none;
  user-select: none;
}
.ctg__copy { position: relative; z-index: 1; }
.ctg__flag-title {
  margin: 0 !important;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.ctg__flag-text {
  margin: 10px 0 0 !important;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ctg-muted);
}
.ctg__foot {
  margin-top: 22px;
  padding: 0 4px;
  display: grid;
  gap: 14px;
}
.ctg__gauge { display: grid; gap: 10px; }
.ctg__track {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: rgba(31, 122, 102, 0.12);
  overflow: hidden;
}
.ctg__fill {
  display: block;
  height: 100%;
  width: var(--ctg-fill);
  border-radius: inherit;
  background: linear-gradient(90deg, #2a9a7e, var(--ctg-teal));
  transform-origin: left center;
  animation: ctgFill 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes ctgFill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.ctg__ticks {
  display: grid;
  grid-template-columns: repeat(var(--ctg-n), minmax(0, 1fr));
  gap: 0;
  margin-top: -2px;
}
.ctg__tick {
  position: relative;
  display: flex;
  justify-content: flex-end;
  padding-right: 0;
  font-style: normal;
}
.ctg__tick em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  margin-right: -11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  font-style: normal;
  color: var(--ctg-muted);
  background: #fff;
  border: 1px solid var(--ctg-line);
}
.ctg__tick.is-threshold em {
  color: #fff;
  background: var(--ctg-teal);
  border-color: var(--ctg-teal);
  box-shadow: 0 0 0 4px rgba(31, 122, 102, 0.16);
}
.ctg__gauge-label {
  margin: 2px 0 0 !important;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--ctg-ink);
}
.ctg__gauge-label strong {
  color: var(--ctg-teal);
  font-weight: 900;
}
.ctg__urgency {
  margin: 0 !important;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ctg-muted);
  max-width: 62ch;
}
@media (max-width: 800px) {
  .ctg { padding: 22px 14px 24px; border-radius: 4px 22px 22px 4px; }
  .ctg__flags {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }
  .ctg__flag {
    border-right: 0;
    border-bottom: 1px solid var(--ctg-line);
    padding: 18px 16px 16px;
  }
  .ctg__flag:last-child { border-bottom: 0; }
  .ctg__mark { font-size: 2.8rem; top: 6px; right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ctg__flag { animation: none; }
  .ctg__fill { animation: none; }
}

/* —— Straumann originals: passport ticket (.opt) and protocol dossier (.opd) —— */
/* 21.10.2026 · CROSSREF: classes/Services/ContentBlocks/Renderers/Feature/ContentList/OriginalsRenderer.php */
.content-block--originals-passport-ticket .opt {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #1a1916;
  background: #f3efe4;
  box-shadow: 0 16px 36px rgba(26, 25, 22, .1);
}
.content-block--originals-passport-ticket .opt__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
  padding: 16px 22px;
  background: #1a1916;
  color: #f3efe4;
}
.content-block--originals-passport-ticket .opt__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.content-block--originals-passport-ticket .opt__meta li {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(243, 239, 228, .72);
}
.content-block--originals-passport-ticket .opt__meta strong { color: #c6ac4a; }
.content-block--originals-passport-ticket .opt__stamp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1.5px solid #c6ac4a;
  border-radius: 4px;
  transform: rotate(-2deg);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #c6ac4a;
}
.content-block--originals-passport-ticket .opt__main { padding: 28px 24px 10px; }
.content-block--originals-passport-ticket .opt__eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #7a6b35;
}
.content-block--originals-passport-ticket .opt__title {
  margin: 0;
  max-width: 20ch;
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.04em;
  color: #1a1916;
}
.content-block--originals-passport-ticket .opt__lead {
  margin: 14px 0 0;
  max-width: 40rem;
  font-size: 16px;
  line-height: 1.6;
  color: #3f3a2f;
}
.content-block--originals-passport-ticket .opt__perf {
  position: relative;
  height: 28px;
  margin: 22px 0 0;
  background: repeating-linear-gradient(90deg, #1a1916 0 10px, transparent 10px 18px) center / 100% 2px no-repeat;
}
.content-block--originals-passport-ticket .opt__perf::before,
.content-block--originals-passport-ticket .opt__perf::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
  box-shadow: inset 0 0 0 1px #1a1916;
}
.content-block--originals-passport-ticket .opt__perf::before { left: -11px; }
.content-block--originals-passport-ticket .opt__perf::after { right: -11px; }
.content-block--originals-passport-ticket .opt__fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0 8px 8px;
  list-style: none;
}
.content-block--originals-passport-ticket .opt__field {
  padding: 18px 16px 22px;
  border-top: 1px solid #d8cfb6;
}
.content-block--originals-passport-ticket .opt__field + .opt__field { border-left: 1px solid #d8cfb6; }
.content-block--originals-passport-ticket .opt__code {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #9a8850;
}
.content-block--originals-passport-ticket .opt__field-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
  color: #1a1916;
}
.content-block--originals-passport-ticket .opt__field-text {
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: #5c5546;
}
@media (max-width: 860px) {
  .content-block--originals-passport-ticket .opt__fields { grid-template-columns: 1fr; }
  .content-block--originals-passport-ticket .opt__field + .opt__field { border-left: 0; }
  .content-block--originals-passport-ticket .opt__title { max-width: none; }
}

.content-block--originals-protocol-dossier .opd {
  display: grid;
  grid-template-columns: minmax(200px, .72fr) minmax(0, 1.28fr);
  gap: 0;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid #d9c89a;
  background: #fff;
  box-shadow: 0 18px 42px rgba(40, 34, 18, .08);
}
.content-block--originals-protocol-dossier .opd__mark {
  position: relative;
  box-sizing: border-box;
  min-height: 100%;
  padding: 28px 24px;
  color: #f4ecd4;
  background: linear-gradient(165deg, #1a1916 0%, #2a261c 48%, #1a1916 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
}
.content-block--originals-protocol-dossier .opd__mark::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px dashed rgba(198, 172, 74, .45);
  border-radius: 18px;
  pointer-events: none;
}
.content-block--originals-protocol-dossier .opd__seal-wrap { position: relative; z-index: 1; }
.content-block--originals-protocol-dossier .opd__seal {
  display: block;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
}
.content-block--originals-protocol-dossier .opd__seal-sub {
  display: inline-block;
  margin-top: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #c6ac4a;
  color: #1a1916;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.content-block--originals-protocol-dossier .opd__rail {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.content-block--originals-protocol-dossier .opd__rail li {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(244, 236, 212, .72);
}
.content-block--originals-protocol-dossier .opd__body {
  padding: 30px 28px 28px;
  background: linear-gradient(160deg, #fffef9 0%, #f7f1e2 100%);
}
.content-block--originals-protocol-dossier .opd__eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8a7a3d;
}
.content-block--originals-protocol-dossier .opd__title {
  margin: 0;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.035em;
  color: #1a1916;
}
.content-block--originals-protocol-dossier .opd__lead {
  margin: 14px 0 0;
  max-width: 46rem;
  font-size: 16px;
  line-height: 1.6;
  color: #4a4538;
}
.content-block--originals-protocol-dossier .opd__proofs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.content-block--originals-protocol-dossier .opd__proof {
  padding: 14px 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid #e6d7b0;
}
.content-block--originals-protocol-dossier .opd__num {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  color: #c6ac4a;
}
.content-block--originals-protocol-dossier .opd__proof-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 800;
  color: #1a1916;
}
.content-block--originals-protocol-dossier .opd__proof-text {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: #655d4a;
}
@media (max-width: 860px) {
  .content-block--originals-protocol-dossier .opd { grid-template-columns: 1fr; }
  .content-block--originals-protocol-dossier .opd__proofs { grid-template-columns: 1fr; }
  .content-block--originals-protocol-dossier .opd__mark { min-height: 0; gap: 18px; }
}

/* 21.10.2026 · comparison chooser. CROSSREF: ProductComparisonRenderer.php */
.content-block--product-comparison .stmc3,
.content-block--product-comparison .stmc3 * { box-sizing: border-box; }
.content-block--product-comparison .stmc3 { margin: 14px 0 38px; color: #1a1a1a; }
.content-block--product-comparison .stmc3 h2,
.content-block--product-comparison .stmc3 h3,
.content-block--product-comparison .stmc3 p { margin: 0; }
.content-block--product-comparison .stmc3__canvas {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid #e7dfc7;
  background: linear-gradient(135deg, #fffdf7 0%, #f5efd9 100%);
  box-shadow: 0 20px 52px rgba(40, 34, 18, .08);
  padding: 26px;
}
.content-block--product-comparison .stmc3__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: end;
  margin-bottom: 22px;
}
.content-block--product-comparison .stmc3__title {
  font-size: clamp(1.55rem, 2.7vw, 2.35rem);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -.045em;
  color: #1a1a1a;
}
.content-block--product-comparison .stmc3__title span { color: #8f7d35; }
.content-block--product-comparison .stmc3__mini {
  padding: 16px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #e5d8b7;
  box-shadow: 0 12px 28px rgba(40, 34, 18, .06);
}
.content-block--product-comparison .stmc3__mini strong {
  display: block;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  color: #1a1a1a;
}
.content-block--product-comparison .stmc3__mini span {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.45;
  color: #6e602a;
}
.content-block--product-comparison .stmc3__chooser {
  display: grid;
  gap: 14px;
  align-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.content-block--product-comparison .stmc3__chooser--pair {
  grid-template-columns: minmax(0, 1fr) 78px minmax(0, 1fr);
}
.content-block--product-comparison .stmc3__product {
  position: relative;
  min-width: 0;
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #e5d8b7;
  box-shadow: 0 14px 34px rgba(40, 34, 18, .06);
}
.content-block--product-comparison .stmc3__product--gold {
  background: #1a1a1a;
  color: #fff;
  border-color: #1a1a1a;
  box-shadow: 0 18px 40px rgba(26, 26, 26, .18);
}
.content-block--product-comparison .stmc3__name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.content-block--product-comparison .stmc3__name h3 {
  font-size: 1.35rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -.04em;
}
.content-block--product-comparison .stmc3__tag {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #c6ac4a;
  color: #1a1a1a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.content-block--product-comparison .stmc3__product:not(.stmc3__product--gold) .stmc3__tag {
  background: #f3e8c0;
  color: #6e602a;
}
.content-block--product-comparison .stmc3__list { display: grid; gap: 9px; }
.content-block--product-comparison .stmc3__item {
  display: block;
  padding: 11px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
}
.content-block--product-comparison .stmc3__product:not(.stmc3__product--gold) .stmc3__item {
  background: #faf7ed;
  border-color: #eee3c7;
}
.content-block--product-comparison .stmc3__item b {
  display: block;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 850;
}
.content-block--product-comparison .stmc3__item span {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255, 255, 255, .72);
}
.content-block--product-comparison .stmc3__product:not(.stmc3__product--gold) .stmc3__item span { color: #655d4a; }
.content-block--product-comparison .stmc3__vs {
  align-self: center;
  display: grid;
  gap: 10px;
  justify-items: center;
}
.content-block--product-comparison .stmc3__vsline {
  width: 1px;
  height: 88px;
  background: linear-gradient(to bottom, transparent, #c6ac4a, transparent);
}
.content-block--product-comparison .stmc3__vscircle {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #c6ac4a;
  color: #1a1a1a;
  font-weight: 950;
  letter-spacing: -.04em;
  box-shadow: 0 12px 24px rgba(198, 172, 74, .32);
}
.content-block--product-comparison .stmc3__foot {
  margin-top: 14px;
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5d8b7;
}
.content-block--product-comparison .stmc3__foot p {
  font-size: 15.5px;
  line-height: 1.65;
  color: #3a3a3a;
}
@media (max-width: 860px) {
  .content-block--product-comparison .stmc3__canvas { padding: 18px; border-radius: 22px; }
  .content-block--product-comparison .stmc3__head { grid-template-columns: 1fr; }
  .content-block--product-comparison .stmc3__chooser,
  .content-block--product-comparison .stmc3__chooser--pair { grid-template-columns: 1fr; }
  .content-block--product-comparison .stmc3__vs { display: none; }
  .content-block--product-comparison .stmc3__product { padding: 18px; }
}

/* 21.10.2026 · typed service intro. CROSSREF: StructuredIntroRenderer.php */
.content-block--structured-intro .stm3,
.content-block--structured-intro .stm3 * { box-sizing: border-box; }
.content-block--structured-intro .stm3 { margin: 10px 0 32px; color: #1a1a1a; }
.content-block--structured-intro .stm3 h2,
.content-block--structured-intro .stm3 h3,
.content-block--structured-intro .stm3 p { margin: 0; }
.content-block--structured-intro .stm3 a { color: inherit; text-decoration: none; }
.content-block--structured-intro .stm3__wrap {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: #f7f2e4;
  border: 1px solid #e6dab8;
  box-shadow: 0 20px 54px rgba(40, 34, 18, .08);
}
.content-block--structured-intro .stm3__wrap:before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: auto -120px -180px auto;
  width: 390px;
  height: 390px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(198, 172, 74, .34), rgba(198, 172, 74, 0) 68%);
  pointer-events: none;
}
.content-block--structured-intro .stm3__hero,
.content-block--structured-intro .stm3__route,
.content-block--structured-intro .stm3__bottom { position: relative; z-index: 1; }
.content-block--structured-intro .stm3__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
  gap: 28px;
  align-items: start;
  padding: 34px 34px 0;
}
.content-block--structured-intro .stm3__hero--solo { grid-template-columns: 1fr; }
.content-block--structured-intro .stm3__title {
  max-width: 820px;
  padding-bottom: 16px;
  font-size: clamp(1.9rem, 3.4vw, 3.25rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.055em;
  color: #1a1a1a;
}
.content-block--structured-intro .stm3__title span {
  display: block;
  margin-top: 6px;
}
.content-block--structured-intro .stm3__lead {
  max-width: 690px;
  font-size: 1.08rem;
  line-height: 1.65;
  color: #514b3b;
}
.content-block--structured-intro .stm3__note { margin-top: 26px; }
.content-block--structured-intro .stm3__passport {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  padding: 22px;
  border-radius: 24px;
  background: #1a1a1a;
  color: #fff;
  box-shadow: 0 18px 36px rgba(26, 26, 26, .18);
}
.content-block--structured-intro .stm3__passport small {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #dccb8b;
}
.content-block--structured-intro .stm3__passport strong {
  display: block;
  font-size: 2.75rem;
  line-height: .95;
  letter-spacing: -.06em;
  color: #fff;
}
.content-block--structured-intro .stm3__passport p {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.45;
  color: #d8d8d8;
}
.content-block--structured-intro .stm3__prices {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  max-width: 690px;
  display: grid;
  gap: 8px;
}
.content-block--structured-intro .stm3__prices li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid #e3d5ae;
}
.content-block--structured-intro .stm3__prices span {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 750;
  color: #1a1a1a;
}
.content-block--structured-intro .stm3__prices span:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c6ac4a;
  flex: none;
}
.content-block--structured-intro .stm3__prices b {
  flex: none;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -.02em;
  color: #1a1a1a;
  white-space: nowrap;
}
.content-block--structured-intro .stm3__route {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 12px 34px 0;
  border: 1px solid #e3d5ae;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}
.content-block--structured-intro .stm3__route--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.content-block--structured-intro .stm3__route--flow { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.content-block--structured-intro .stm3__step {
  position: relative;
  min-height: 166px;
  padding: 20px 18px 18px;
  border-right: 1px solid #e3d5ae;
}
.content-block--structured-intro .stm3__step:last-child { border-right: 0; }
.content-block--structured-intro .stm3__num {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #1a1a1a;
  color: #e5d7a1;
  font-weight: 900;
  font-size: 13px;
}
.content-block--structured-intro .stm3__step h3 {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 850;
  color: #1a1a1a;
}
.content-block--structured-intro .stm3__step p {
  margin-top: 9px;
  font-size: 14px;
  line-height: 1.48;
  color: #5a5242;
}
.content-block--structured-intro .stm3__bottom { padding: 18px 34px 34px; }
.content-block--structured-intro .stm3__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.content-block--structured-intro .stm3__link {
  display: flex;
  min-height: 92px;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e3d5ae;
  color: #1a1a1a;
  transition: transform .18s ease, box-shadow .18s ease;
}
.content-block--structured-intro .stm3__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(40, 34, 18, .08);
}
.content-block--structured-intro .stm3__link span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8f7d35;
}
.content-block--structured-intro .stm3__link b {
  font-size: 15px;
  line-height: 1.28;
  font-weight: 850;
}
.content-block--structured-intro .stm3__link--accent {
  background: #c6ac4a;
  border-color: #c6ac4a;
  color: #1a1a1a;
}
.content-block--structured-intro .stm3__link--accent span { color: #1a1a1a; }
.content-block--structured-intro .stm3__link--accent:hover { box-shadow: 0 12px 26px rgba(198, 172, 74, .35); }
@media (min-width: 941px) {
  .content-block--structured-intro .stm3__title { padding-bottom: 20px; }
}
@media (max-width: 940px) {
  .content-block--structured-intro .stm3__hero,
  .content-block--structured-intro .stm3__hero--solo { grid-template-columns: 1fr; }
  .content-block--structured-intro .stm3__route,
  .content-block--structured-intro .stm3__route--3 { grid-template-columns: 1fr 1fr; }
  .content-block--structured-intro .stm3__step:nth-child(2) { border-right: 0; }
  .content-block--structured-intro .stm3__step:nth-child(1),
  .content-block--structured-intro .stm3__step:nth-child(2) { border-bottom: 1px solid #e3d5ae; }
}
@media (max-width: 640px) {
  .content-block--structured-intro .stm3__wrap { border-radius: 22px; }
  .content-block--structured-intro .stm3__hero,
  .content-block--structured-intro .stm3__bottom { padding-left: 16px; padding-right: 16px; }
  .content-block--structured-intro .stm3__hero { padding-top: 22px; gap: 16px; }
  .content-block--structured-intro .stm3__route,
  .content-block--structured-intro .stm3__route--3,
  .content-block--structured-intro .stm3__route--flow {
    grid-template-columns: 1fr;
    margin-left: 16px;
    margin-right: 16px;
  }
  .content-block--structured-intro .stm3__step {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid #e3d5ae;
  }
  .content-block--structured-intro .stm3__step:last-child { border-bottom: 0; }
  .content-block--structured-intro .stm3__links { grid-template-columns: 1fr; }
  .content-block--structured-intro .stm3__title { font-size: 2rem; }
  .content-block--structured-intro .stm3__passport strong { font-size: 2.25rem; }
  .content-block--structured-intro .stm3__prices li {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .content-block--structured-intro .stm3__prices b { padding-left: 18px; }
}
