/* =========================================================
   NIPPON FITNESS · TARIF-FINDER
   MASTER CSS V1.7.0
   Light-first · Montserrat · #db0000 · keine Diagonalen
   ========================================================= */


/* =========================================================
   GLOBALER MODAL-TRIGGER · #tarif-finden
   ========================================================= */

html.nftf-modal-lock,
body.nftf-modal-lock {
  overflow: hidden !important;
}

.nftf-modal[hidden] {
  display: none !important;
}

.nftf-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 180ms ease, visibility 180ms ease;
}

.nftf-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.nftf-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15,15,15,.78);
}

.nftf-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1480px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fafafa;
  border-radius: 16px;
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
  -webkit-overflow-scrolling: touch;
}

.nftf-modal__toolbar {
  position: sticky;
  top: 0;
  z-index: 80;
  height: 0;
  pointer-events: none;
}

.nftf-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(23,23,23,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 24px rgba(0,0,0,.09);
  cursor: pointer;
  pointer-events: auto;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.nftf-modal__close span::before,
.nftf-modal__close span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: #171717;
  transform-origin: center;
}

.nftf-modal__close span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.nftf-modal__close span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.nftf-modal__close:hover,
.nftf-modal__close:focus-visible {
  background: #171717;
  border-color: #171717;
  transform: translateY(-1px);
}

.nftf-modal__close:hover span::before,
.nftf-modal__close:hover span::after,
.nftf-modal__close:focus-visible span::before,
.nftf-modal__close:focus-visible span::after {
  background: #fff;
}

.nftf-modal__close:focus-visible {
  outline: 2px solid #db0000;
  outline-offset: 3px;
}

.nftf-modal .nftf__inner {
  width: min(calc(100% - 54px), 1380px);
  padding-top: clamp(68px, 6vw, 92px);
  padding-bottom: clamp(54px, 5vw, 78px);
}

@media (max-width: 767px) {
  .nftf-modal {
    padding: 0;
  }

  .nftf-modal__dialog {
    width: 100vw;
    max-height: 100dvh;
    min-height: 100dvh;
    border-radius: 0;
  }

  .nftf-modal__close {
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
  }

  .nftf-modal .nftf__inner {
    width: min(calc(100% - 30px), 1380px);
    padding-top: 70px;
  }
}

.nftf {
  --nftf-red: #db0000;
  --nftf-dark: #1c1c1c;
  --nftf-dark-2: #252525;
  --nftf-ink: #171717;
  --nftf-copy: #414141;
  --nftf-muted: #747474;
  --nftf-line: #e3e3e3;
  --nftf-soft: #f5f5f5;
  --nftf-white: #ffffff;
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #fafafa;
  color: var(--nftf-ink);
  font-family: "Montserrat", Arial, sans-serif;
  isolation: isolate;
}

.nftf *,
.nftf *::before,
.nftf *::after {
  box-sizing: border-box;
}

.nftf button,
.nftf a {
  font: inherit;
}

.nftf button {
  appearance: none;
}

.nftf a {
  color: inherit;
  text-decoration: none;
}

.nftf [hidden] {
  display: none !important;
}

.nftf__ambient {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  width: 1px;
  pointer-events: none;
}

.nftf__ambient--one {
  left: 7%;
  background: rgba(219,0,0,.06);
}

.nftf__ambient--two {
  right: 10%;
  background: rgba(20,20,20,.035);
}

.nftf__inner {
  width: min(calc(100% - 64px), 1380px);
  margin: 0 auto;
  padding: clamp(82px, 8vw, 122px) 0 clamp(76px, 7vw, 110px);
}

/* =========================================================
   HEADER
   ========================================================= */

.nftf__header {
  max-width: 880px;
  margin: 0 auto clamp(42px, 5vw, 66px);
  text-align: center;
}

.nftf__index {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 21px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nftf__index span {
  color: var(--nftf-ink);
}

.nftf__index i {
  width: 34px;
  height: 1px;
  background: rgba(23,23,23,.34);
}

.nftf__index strong {
  color: #7a7a7a;
  font-weight: 800;
}

.nftf__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--nftf-red);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nftf__header h2 {
  margin: 0;
  color: var(--nftf-ink);
  font-size: clamp(39px, 4.2vw, 64px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.047em;
}

.nftf__header > p {
  max-width: 760px;
  margin: 20px auto 0;
  color: var(--nftf-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.72;
}

/* =========================================================
   APP SHELL
   ========================================================= */

.nftf__shell {
  display: grid;
  grid-template-columns: 318px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  max-width: 1240px;
  margin: 0 auto;
}

.nftf__rail,
.nftf__stage {
  border-radius: 16px;
}

.nftf__rail {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 680px;
  padding: 29px 26px 25px;
  overflow: hidden;
  background: var(--nftf-dark);
  color: #fff;
  box-shadow: 0 22px 56px rgba(0,0,0,.09);
}

.nftf__rail::before,
.nftf__rail::after {
  content: "";
  position: absolute;
  width: 1px;
  pointer-events: none;
}

.nftf__rail::before {
  top: 0;
  bottom: 0;
  left: 13px;
  background: rgba(255,255,255,.05);
}

.nftf__rail::after {
  top: 30px;
  right: 0;
  height: 74px;
  background: var(--nftf-red);
}

.nftf__rail-head {
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.nftf__rail-head span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.45);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
}

.nftf__rail-head strong {
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .055em;
}

.nftf__rail-steps {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.nftf__rail-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 12px;
  align-items: center;
  min-height: 64px;
  padding: 8px 8px 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: opacity 220ms ease, transform 220ms ease;
}

.nftf__rail-steps li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 3px;
  height: 0;
  transform: translateY(-50%);
  background: var(--nftf-red);
  transition: height 220ms ease;
}

.nftf__rail-steps li > span {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  color: rgba(255,255,255,.47);
  font-size: 9px;
  font-weight: 900;
}

.nftf__rail-steps li strong,
.nftf__rail-steps li small {
  display: block;
}

.nftf__rail-steps li strong {
  color: rgba(255,255,255,.78);
  font-size: 9px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .12em;
}

.nftf__rail-steps li small {
  max-width: 175px;
  margin-top: 4px;
  overflow: hidden;
  color: rgba(255,255,255,.36);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nftf__rail-steps li.is-active::after {
  height: 34px;
}

.nftf__rail-steps li.is-active > span {
  border-color: var(--nftf-red);
  background: var(--nftf-red);
  color: #fff;
}

.nftf__rail-steps li.is-active strong,
.nftf__rail-steps li.is-active small {
  color: #fff;
}

.nftf__rail-steps li.is-complete:not(.is-active) > span {
  border-color: rgba(219,0,0,.55);
  color: #fff;
}

.nftf__rail-steps li.is-complete:not(.is-active) > span::after {
  content: "✓";
  position: absolute;
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: var(--nftf-dark);
  color: var(--nftf-red);
  font-size: 12px;
}

.nftf__rail-foot {
  margin-top: auto;
  padding-top: 24px;
}

.nftf__rail-foot > span {
  display: block;
  width: 26px;
  height: 2px;
  margin-bottom: 13px;
  background: var(--nftf-red);
}

.nftf__rail-foot p {
  margin: 0;
  color: rgba(255,255,255,.47);
  font-size: 11px;
  line-height: 1.6;
}

.nftf__rail-foot strong {
  color: rgba(255,255,255,.8);
  font-weight: 800;
}

.nftf__stage {
  position: relative;
  min-width: 0;
  min-height: 680px;
  padding: 28px clamp(28px, 4vw, 52px) 34px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--nftf-line);
  box-shadow: 0 22px 56px rgba(0,0,0,.055);
}

.nftf__stage::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(28px, 4vw, 52px);
  width: 46px;
  height: 3px;
  background: var(--nftf-red);
}

/* =========================================================
   PROGRESS
   ========================================================= */

.nftf__progress {
  position: relative;
  z-index: 2;
  margin-bottom: 46px;
}

.nftf__progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
}

.nftf__progress-meta > span {
  color: var(--nftf-ink);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}

.nftf__progress-meta button,
.nftf__result-footer button,
.nftf__backline button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #8a8a8a;
  cursor: pointer;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  transition: color 180ms ease;
}

.nftf__progress-meta button:hover,
.nftf__progress-meta button:focus-visible,
.nftf__result-footer button:hover,
.nftf__result-footer button:focus-visible,
.nftf__backline button:hover,
.nftf__backline button:focus-visible {
  color: var(--nftf-red);
  outline: none;
}

.nftf__progress-track {
  width: 100%;
  height: 2px;
  overflow: hidden;
  background: #ededed;
}

.nftf__progress-track span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--nftf-red);
  transition: width 380ms cubic-bezier(.2,.8,.2,1);
}

.nftf__live {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

/* =========================================================
   SCREEN TRANSITIONS
   ========================================================= */

.nftf__screen {
  min-width: 0;
}

.nftf__screen.is-active {
  animation: nftf-enter 360ms cubic-bezier(.2,.75,.2,1) both;
}

@keyframes nftf-enter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   START
   ========================================================= */

.nftf__start {
  max-width: 820px;
  padding: clamp(18px, 3vw, 42px) 0 10px;
}

.nftf__screen-kicker,
.nftf__question-head > span,
.nftf__subeyebrow {
  display: block;
  color: var(--nftf-red);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nftf__start h3,
.nftf__question-head h3 {
  margin: 10px 0 0;
  color: var(--nftf-ink);
  font-size: clamp(33px, 3.5vw, 50px);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.nftf__start h3 span {
  display: block;
  color: #777;
}

.nftf__start > p,
.nftf__question-head p {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--nftf-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
}

.nftf__start-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 34px 0 36px;
  background: var(--nftf-line);
  border: 1px solid var(--nftf-line);
}

.nftf__start-facts > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-height: 75px;
  padding: 19px 20px;
  background: #fafafa;
}

.nftf__start-facts strong {
  color: var(--nftf-ink);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.nftf__start-facts span {
  color: #747474;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
}

/* =========================================================
   QUESTIONS / OPTIONS
   ========================================================= */

.nftf__question-head {
  max-width: 840px;
  margin-bottom: 30px;
}

.nftf__options {
  display: grid;
  gap: 11px;
}

.nftf__options--five,
.nftf__options--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nftf__options--five .nftf__option:last-child {
  grid-column: 1 / -1;
}

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

.nftf__option {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 24px;
  gap: 15px;
  align-items: center;
  min-width: 0;
  min-height: 112px;
  padding: 19px 18px;
  overflow: hidden;
  border: 1px solid #dfdfdf;
  border-radius: 10px;
  background: #fff;
  color: var(--nftf-ink);
  cursor: pointer;
  text-align: left;
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease, color 220ms ease;
}

.nftf__option::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 0;
  transform: translateY(-50%);
  background: var(--nftf-red);
  transition: height 220ms ease;
}

.nftf__option:hover,
.nftf__option:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(219,0,0,.45);
  box-shadow: 0 14px 30px rgba(0,0,0,.055);
  outline: none;
}

.nftf__option:hover::before,
.nftf__option:focus-visible::before,
.nftf__option.is-selected::before {
  height: 58%;
}

.nftf__option.is-selected {
  border-color: var(--nftf-dark-2);
  background: var(--nftf-dark-2);
  color: #fff;
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
}

.nftf__option-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid #e2e2e2;
  border-radius: 50%;
  background: #fafafa;
  color: #4c4c4c;
  transition: background 220ms ease, border-color 220ms ease, color 220ms ease;
}

.nftf__option-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nftf__option.is-selected .nftf__option-icon {
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: #fff;
}

.nftf__option-copy {
  min-width: 0;
}

.nftf__option-copy strong,
.nftf__option-copy small,
.nftf__option-copy em {
  display: block;
}

.nftf__option-copy strong {
  color: inherit;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .035em;
}

.nftf__option-copy small {
  margin-top: 5px;
  color: #777;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
}

.nftf__option-copy em {
  width: max-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 99px;
  background: #f2f2f2;
  color: #606060;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nftf__option.is-selected .nftf__option-copy small {
  color: rgba(255,255,255,.57);
}

.nftf__option.is-selected .nftf__option-copy em {
  background: rgba(255,255,255,.09);
  color: #fff;
}

.nftf__option-arrow {
  color: #a5a5a5;
  font-size: 18px;
  transition: transform 180ms ease, color 180ms ease;
}

.nftf__option:hover .nftf__option-arrow,
.nftf__option:focus-visible .nftf__option-arrow {
  transform: translateX(3px);
  color: var(--nftf-red);
}

.nftf__option.is-selected .nftf__option-arrow {
  color: #fff;
}

.nftf__backline {
  display: flex;
  align-items: center;
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid #ededed;
}

.nftf__backline button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

/* =========================================================
   MODULES
   ========================================================= */

.nftf__module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.nftf__module {
  position: relative;
  min-height: 105px;
  padding: 18px 16px 16px;
  overflow: hidden;
  border: 1px solid #dedede;
  border-radius: 9px;
  background: #fff;
  color: var(--nftf-ink);
  cursor: pointer;
  text-align: left;
  transition: border-color 200ms ease, background 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.nftf__module:hover,
.nftf__module:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(219,0,0,.42);
  box-shadow: 0 12px 28px rgba(0,0,0,.05);
  outline: none;
}

.nftf__module.is-selected {
  border-color: var(--nftf-dark-2);
  background: var(--nftf-dark-2);
  color: #fff;
}

.nftf__module-check {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 18px;
  height: 18px;
  border: 1px solid #cfcfcf;
  border-radius: 50%;
  transition: background 180ms ease, border-color 180ms ease;
}

.nftf__module.is-selected .nftf__module-check {
  border-color: var(--nftf-red);
  background: var(--nftf-red);
}

.nftf__module.is-selected .nftf__module-check::after {
  content: "✓";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.nftf__module strong,
.nftf__module small {
  display: block;
  max-width: calc(100% - 22px);
}

.nftf__module strong {
  padding-top: 24px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .035em;
}

.nftf__module small {
  margin-top: 5px;
  color: #7a7a7a;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.45;
}

.nftf__module.is-selected small {
  color: rgba(255,255,255,.55);
}

.nftf__module--none {
  background: #f7f7f7;
}

.nftf__module-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 22px;
}

/* =========================================================
   NOTICES
   ========================================================= */

.nftf__notice {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  align-items: start;
  margin-top: 22px;
  padding: 14px 16px;
  border-left: 2px solid var(--nftf-red);
  background: #f7f7f7;
}

.nftf__notice > span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--nftf-red);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.nftf__notice p {
  margin: 1px 0 0;
  color: #666;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.55;
}

.nftf__notice--soft {
  border-left-color: #303030;
}

.nftf__notice--soft > span {
  background: #303030;
}

/* =========================================================
   BUTTONS
   ========================================================= */

.nftf__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 46px;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.nftf__button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 180ms ease;
}

.nftf__button:hover svg,
.nftf__button:focus-visible svg {
  transform: translateX(3px);
}

.nftf__button--large {
  min-height: 52px;
  padding-inline: 27px;
}

.nftf__button--primary {
  border-color: #242424;
  background: #242424;
  color: #fff;
}

.nftf__button--primary:hover,
.nftf__button--primary:focus-visible {
  border-color: var(--nftf-red);
  background: var(--nftf-red);
  color: #fff;
  outline: none;
  box-shadow: 0 12px 28px rgba(219,0,0,.17);
}

.nftf__button--outline {
  border-color: #303030;
  background: transparent;
  color: #242424;
}

.nftf__button--outline:hover,
.nftf__button--outline:focus-visible {
  border-color: var(--nftf-red);
  background: var(--nftf-red);
  color: #fff;
  outline: none;
}

.nftf__button--ghost {
  border-color: #e0e0e0;
  background: #f6f6f6;
  color: #3c3c3c;
}

.nftf__button--ghost:hover,
.nftf__button--ghost:focus-visible {
  border-color: #242424;
  background: #242424;
  color: #fff;
  outline: none;
}

/* =========================================================
   RESULT
   ========================================================= */

.nftf__stage:has([data-nftf-screen="result"].is-active) {
  padding: 0;
}

.nftf__stage:has([data-nftf-screen="result"].is-active)::before,
.nftf__stage:has([data-nftf-screen="result"].is-active) > .nftf__progress {
  display: none;
}

.nftf__result {
  min-height: 678px;
  background: #fff;
}

.nftf__result-hero {
  position: relative;
  min-height: 292px;
  padding: 35px clamp(28px, 4vw, 52px) 33px;
  overflow: hidden;
  background: #1b1b1b;
  color: #fff;
}

.nftf__result-hero::before,
.nftf__result-hero::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  pointer-events: none;
}

.nftf__result-hero::before {
  right: 20%;
  background: rgba(255,255,255,.06);
}

.nftf__result-hero::after {
  right: 20%;
  top: 36px;
  bottom: auto;
  height: 68px;
  background: var(--nftf-red);
}

.nftf__result-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.nftf__result-topline span {
  color: rgba(255,255,255,.43);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .17em;
}

.nftf__result-topline strong {
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}

.nftf__signal {
  position: absolute;
  top: 83px;
  right: clamp(28px, 5vw, 63px);
  display: flex;
  align-items: flex-end;
  gap: 5px;
  height: 55px;
}

.nftf__signal i {
  display: block;
  width: 4px;
  background: var(--nftf-red);
  animation: nftf-signal 700ms cubic-bezier(.2,.8,.2,1) both;
}

.nftf__signal i:nth-child(1) { height: 20px; }
.nftf__signal i:nth-child(2) { height: 36px; animation-delay: 80ms; }
.nftf__signal i:nth-child(3) { height: 52px; animation-delay: 160ms; }

@keyframes nftf-signal {
  from { transform: scaleY(0); transform-origin: bottom; opacity: .2; }
  to { transform: scaleY(1); transform-origin: bottom; opacity: 1; }
}

.nftf__result-kicker {
  display: block;
  max-width: calc(100% - 90px);
  margin-top: 31px;
  color: var(--nftf-red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.nftf__result-hero h3 {
  margin: 5px 0 0;
  color: #fff;
  font-size: clamp(44px, 6vw, 74px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.055em;
}

.nftf__result-claim {
  margin: 8px 0 0;
  color: rgba(255,255,255,.63);
  font-size: 13px;
  font-weight: 700;
}

.nftf__price {
  position: absolute;
  right: clamp(28px, 4vw, 52px);
  bottom: 30px;
  min-width: 235px;
  padding-left: 19px;
  border-left: 2px solid var(--nftf-red);
  text-align: right;
}

.nftf__price > span {
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.37);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .10em;
}

.nftf__price > div {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 7px;
}

.nftf__price strong {
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 900;
  letter-spacing: -.045em;
}

.nftf__price small {
  color: rgba(255,255,255,.47);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}

.nftf__price p {
  margin: 3px 0 0;
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-weight: 600;
}

.nftf__result-main {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 0;
}

.nftf__why,
.nftf__configuration,
.nftf__compare,
.nftf__actions {
  padding: 30px clamp(24px, 3vw, 38px);
}

.nftf__why {
  border-right: 1px solid var(--nftf-line);
  border-bottom: 1px solid var(--nftf-line);
}

.nftf__configuration {
  border-bottom: 1px solid var(--nftf-line);
}

.nftf__subeyebrow {
  font-size: 9px;
  letter-spacing: .12em;
}

.nftf__why h4 {
  margin: 8px 0 20px;
  color: var(--nftf-ink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.nftf__why ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nftf__why li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
}

.nftf__why li > span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid #dedede;
  border-radius: 50%;
  color: var(--nftf-red);
  font-size: 8px;
  font-weight: 900;
}

.nftf__why li p {
  margin: 2px 0 0;
  color: #626262;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.55;
}

.nftf__config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid #e5e5e5;
  background: #e5e5e5;
}

.nftf__config-grid > div {
  min-width: 0;
  padding: 13px 14px;
  background: #fafafa;
}

.nftf__config-grid span,
.nftf__config-modules > span {
  display: block;
  color: #999;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .10em;
}

.nftf__config-grid strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: #262626;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nftf__config-modules {
  margin-top: 14px;
  padding: 13px 14px;
  border-left: 2px solid var(--nftf-red);
  background: #f7f7f7;
}

.nftf__config-modules p {
  margin: 5px 0 0;
  color: #444;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
}

.nftf__compare {
  position: relative;
  border-right: 1px solid var(--nftf-line);
  background: #f6f6f6;
}

.nftf__compare::before {
  content: "";
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 0;
  width: 2px;
  background: var(--nftf-red);
}

.nftf__compare.is-max::before {
  background: #242424;
}

.nftf__compare-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

.nftf__compare-head span {
  display: block;
  color: #939393;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
}

.nftf__compare-head h4 {
  margin: 5px 0 0;
  color: #1d1d1d;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.nftf__compare-head > strong {
  flex: 0 0 auto;
  padding: 6px 8px;
  border-radius: 99px;
  background: #fff;
  color: var(--nftf-red);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .05em;
}

.nftf__compare > p {
  margin: 15px 0 0;
  color: #686868;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.6;
}

.nftf__compare-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
}

.nftf__compare-facts span {
  padding: 6px 8px;
  border: 1px solid #dddddd;
  border-radius: 99px;
  background: #fff;
  color: #565656;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .05em;
}

.nftf__textlink {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  color: #232323;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.nftf__textlink span {
  color: var(--nftf-red);
  transition: transform 180ms ease;
}

.nftf__textlink:hover,
.nftf__textlink:focus-visible {
  color: var(--nftf-red);
  outline: none;
}

.nftf__textlink:hover span,
.nftf__textlink:focus-visible span {
  transform: translateX(3px);
}

.nftf__actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nftf__button--checkout {
  width: 100%;
  min-height: 52px;
}

.nftf__checkout-note {
  display: block;
  margin: 8px 0 0;
  color: #8a8a8a;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.nftf__actions-secondary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 17px;
}

.nftf__actions-secondary .nftf__button {
  width: 100%;
  min-height: 42px;
  font-size: 8px;
}

.nftf__result-footer {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px clamp(24px, 3vw, 38px);
  border-top: 1px solid var(--nftf-line);
}

/* =========================================================
   RESPONSIVE · TABLET
   ========================================================= */

@media (max-width: 1080px) {
  .nftf__inner {
    width: min(calc(100% - 40px), 1180px);
  }

  .nftf__shell {
    grid-template-columns: 270px minmax(0, 1fr);
  }

  .nftf__rail {
    padding-inline: 22px;
  }

  .nftf__module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nftf__options--three {
    grid-template-columns: 1fr;
  }

  .nftf__options--three .nftf__option {
    min-height: 98px;
  }

  .nftf__result-main {
    grid-template-columns: 1fr;
  }

  .nftf__why,
  .nftf__compare {
    border-right: 0;
  }

  .nftf__configuration,
  .nftf__compare,
  .nftf__actions {
    border-bottom: 1px solid var(--nftf-line);
  }

  .nftf__price {
    position: static;
    max-width: 360px;
    margin-top: 24px;
    text-align: left;
  }

  .nftf__price > div {
    justify-content: flex-start;
  }

  .nftf__result-hero {
    min-height: 360px;
  }
}

@media (max-width: 900px) {
  .nftf__inner {
    width: min(calc(100% - 32px), 850px);
  }

  .nftf__shell {
    display: block;
  }

  .nftf__rail {
    display: none;
  }

  .nftf__stage {
    min-height: 650px;
  }

  .nftf__options--five,
  .nftf__options--four {
    grid-template-columns: 1fr;
  }

  .nftf__options--five .nftf__option:last-child {
    grid-column: auto;
  }

  .nftf__option {
    min-height: 96px;
  }
}

/* =========================================================
   RESPONSIVE · MOBILE
   ========================================================= */

@media (max-width: 600px) {
  .nftf__inner {
    width: min(calc(100% - 24px), 560px);
    padding: 66px 0 70px;
  }

  .nftf__header {
    margin-bottom: 34px;
  }

  .nftf__index {
    margin-bottom: 17px;
  }

  .nftf__eyebrow,
  .nftf__screen-kicker,
  .nftf__question-head > span {
    font-size: 12px;
  }

  .nftf__header h2 {
    font-size: clamp(34px, 11vw, 45px);
    line-height: 1;
  }

  .nftf__header > p,
  .nftf__start > p,
  .nftf__question-head p,
  .nftf__result-claim {
    font-size: 12px;
  }

  .nftf__stage {
    min-height: 620px;
    padding: 24px 18px 26px;
    border-radius: 13px;
  }

  .nftf__stage::before {
    left: 18px;
    width: 38px;
  }

  .nftf__progress {
    margin-bottom: 33px;
  }

  .nftf__start {
    padding-top: 8px;
  }

  .nftf__start h3,
  .nftf__question-head h3 {
    font-size: clamp(29px, 9vw, 38px);
    line-height: 1.02;
  }

  .nftf__start-facts {
    grid-template-columns: 1fr;
    margin: 27px 0 28px;
  }

  .nftf__start-facts > div {
    min-height: 59px;
    padding: 13px 16px;
  }

  .nftf__start-facts strong {
    font-size: 22px;
  }

  .nftf__button--large,
  .nftf__module-footer .nftf__button {
    width: 100%;
  }

  .nftf__question-head {
    margin-bottom: 24px;
  }

  .nftf__options,
  .nftf__module-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .nftf__option {
    grid-template-columns: 43px minmax(0,1fr) 20px;
    gap: 12px;
    min-height: 88px;
    padding: 14px 13px;
    border-radius: 8px;
  }

  .nftf__option-icon {
    width: 41px;
    height: 41px;
  }

  .nftf__option-icon svg {
    width: 22px;
    height: 22px;
  }

  .nftf__option-copy strong {
    font-size: 10px;
  }

  .nftf__option-copy small {
    font-size: 9px;
  }

  .nftf__module {
    min-height: 88px;
    padding: 14px;
  }

  .nftf__module strong {
    padding-top: 18px;
  }

  .nftf__notice {
    margin-top: 17px;
    padding: 12px 13px;
  }

  .nftf__backline {
    margin-top: 20px;
  }

  .nftf__stage:has([data-nftf-screen="result"].is-active) {
    padding: 0;
  }

  .nftf__result-hero {
    min-height: 382px;
    padding: 27px 20px 29px;
  }

  .nftf__result-topline {
    padding-bottom: 16px;
  }

  .nftf__signal {
    top: 72px;
    right: 22px;
  }

  .nftf__result-kicker {
    margin-top: 31px;
    font-size: 8px;
  }

  .nftf__result-hero h3 {
    max-width: calc(100% - 50px);
    font-size: clamp(42px, 15vw, 60px);
  }

  .nftf__price {
    max-width: none;
    margin-top: 26px;
    padding-left: 14px;
  }

  .nftf__price > span {
    font-size: 7px;
  }

  .nftf__why,
  .nftf__configuration,
  .nftf__compare,
  .nftf__actions {
    padding: 24px 19px;
  }

  .nftf__config-grid {
    grid-template-columns: 1fr 1fr;
  }

  .nftf__compare-head {
    display: block;
  }

  .nftf__compare-head > strong {
    display: inline-block;
    margin-top: 10px;
  }

  .nftf__result-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 19px 20px;
  }

  .nftf__actions-secondary {
    gap: 7px;
  }
}

@media (max-width: 380px) {
  .nftf__inner {
    width: calc(100% - 16px);
  }

  .nftf__stage {
    padding-inline: 14px;
  }

  .nftf__config-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================================= */

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

.nftf__term-note {
  margin: 12px 0 0;
  color: #858585;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.55;
}

/* Link-CTAs behalten ihre explizite Buttonfarbe trotz lokaler Link-Normalisierung. */
.nftf a.nftf__button--primary,
.nftf a.nftf__button--primary:visited {
  color: #ffffff;
}

@media (max-width: 600px) {
  .nftf__result-hero h3 {
    max-width: calc(100% - 35px);
    font-size: clamp(38px, 12.5vw, 52px);
    white-space: nowrap;
  }
}


/* =========================================================
   NIPPON FITNESS · TARIF-FINDER
   UX MASTER OVERRIDES V1.2.0
   Ziel: desktop ohne Finder-Scroll, mobile-first kompakt,
   theme-sichere CI-States, reduzierte Radien, Conversion-Fokus
   ========================================================= */

.nftf {
  --nftf-card-radius: 6px;
  --nftf-panel-radius: 10px;
}

/* ---------- Modal: im Overlay keine doppelte Intro-Höhe ---------- */
.nftf-modal .nftf__header {
  display: none;
}

.nftf-modal__dialog {
  border-radius: 12px;
}

/* ---------- Auswahlkarten: rechteckiger, kontrastreicher, theme-sicher ---------- */
.nftf .nftf__option {
  min-height: 92px;
  padding: 15px 16px;
  border: 1px solid #d9d9d9 !important;
  border-radius: var(--nftf-card-radius);
  background: #ffffff !important;
  color: #171717 !important;
  box-shadow: none !important;
}

.nftf .nftf__option:hover,
.nftf .nftf__option:focus-visible {
  border-color: #db0000 !important;
  background: #f7f7f7 !important;
  color: #171717 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.05) !important;
  outline: none !important;
}

.nftf .nftf__option.is-selected,
.nftf .nftf__option.is-selected:hover,
.nftf .nftf__option.is-selected:focus-visible {
  border-color: #1c1c1c !important;
  background: #1c1c1c !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.12) !important;
}

.nftf .nftf__option::before {
  width: 3px;
}

.nftf .nftf__option-icon {
  width: 42px;
  height: 42px;
  border-color: #dddddd !important;
  background: #fafafa !important;
  color: #333333 !important;
}

.nftf .nftf__option:hover .nftf__option-icon,
.nftf .nftf__option:focus-visible .nftf__option-icon {
  border-color: rgba(219,0,0,.35) !important;
  background: #ffffff !important;
  color: #171717 !important;
}

.nftf .nftf__option.is-selected .nftf__option-icon,
.nftf .nftf__option.is-selected:hover .nftf__option-icon,
.nftf .nftf__option.is-selected:focus-visible .nftf__option-icon {
  border-color: rgba(255,255,255,.22) !important;
  background: #2a2a2a !important;
  color: #ffffff !important;
}

.nftf .nftf__option-copy strong {
  color: inherit !important;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}

.nftf .nftf__option-copy small {
  margin-top: 5px;
  color: #5f5f5f !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.nftf .nftf__option.is-selected .nftf__option-copy small {
  color: rgba(255,255,255,.78) !important;
}

.nftf .nftf__option-copy em {
  color: #555555 !important;
}

.nftf .nftf__option.is-selected .nftf__option-copy em {
  color: rgba(255,255,255,.82) !important;
}

.nftf .nftf__option-arrow {
  color: #8a8a8a !important;
}

.nftf .nftf__option:hover .nftf__option-arrow,
.nftf .nftf__option:focus-visible .nftf__option-arrow {
  color: #db0000 !important;
}

.nftf .nftf__option.is-selected .nftf__option-arrow {
  color: #db0000 !important;
}

/* ---------- Extras ---------- */
.nftf .nftf__module {
  min-height: 88px;
  padding: 14px 15px;
  border: 1px solid #d9d9d9 !important;
  border-radius: var(--nftf-card-radius);
  background: #ffffff !important;
  color: #171717 !important;
  box-shadow: none !important;
}

.nftf .nftf__module:hover,
.nftf .nftf__module:focus-visible {
  border-color: #db0000 !important;
  background: #f7f7f7 !important;
  color: #171717 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.05) !important;
  outline: none !important;
}

.nftf .nftf__module.is-selected,
.nftf .nftf__module.is-selected:hover,
.nftf .nftf__module.is-selected:focus-visible {
  border-color: #1c1c1c !important;
  background: #1c1c1c !important;
  color: #ffffff !important;
}

.nftf .nftf__module strong {
  padding-top: 17px;
  color: inherit !important;
  font-size: 13px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.nftf .nftf__module small {
  margin-top: 4px;
  color: #5f5f5f !important;
  font-size: 12px;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.nftf .nftf__module.is-selected small {
  color: rgba(255,255,255,.76) !important;
}

/* ---------- Zurück / Reset: niemals Theme-Hoverfarbe ---------- */
.nftf .nftf__backline button,
.nftf .nftf__progress-meta button,
.nftf .nftf__result-footer button {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #666666 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.nftf .nftf__backline button:hover,
.nftf .nftf__backline button:focus-visible,
.nftf .nftf__progress-meta button:hover,
.nftf .nftf__progress-meta button:focus-visible,
.nftf .nftf__result-footer button:hover,
.nftf .nftf__result-footer button:focus-visible {
  background: transparent !important;
  color: #db0000 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ---------- CTA-Buttons ebenfalls gegen Theme-Farben absichern ---------- */
.nftf .nftf__button--primary,
.nftf a.nftf__button--primary,
.nftf a.nftf__button--primary:visited {
  border-color: #242424 !important;
  background: #242424 !important;
  color: #ffffff !important;
}

.nftf .nftf__button--primary:hover,
.nftf .nftf__button--primary:focus-visible,
.nftf a.nftf__button--primary:hover,
.nftf a.nftf__button--primary:focus-visible {
  border-color: #db0000 !important;
  background: #db0000 !important;
  color: #ffffff !important;
}

.nftf .nftf__button--outline {
  border-color: #2f2f2f !important;
  background: #ffffff !important;
  color: #242424 !important;
}

.nftf .nftf__button--outline:hover,
.nftf .nftf__button--outline:focus-visible {
  border-color: #db0000 !important;
  background: #db0000 !important;
  color: #ffffff !important;
}

.nftf .nftf__button--ghost {
  border-color: #dedede !important;
  background: #f6f6f6 !important;
  color: #303030 !important;
}

.nftf .nftf__button--ghost:hover,
.nftf .nftf__button--ghost:focus-visible {
  border-color: #242424 !important;
  background: #242424 !important;
  color: #ffffff !important;
}

/* ---------- Allgemein kompakter ---------- */
.nftf__shell {
  gap: 14px;
}

.nftf__rail,
.nftf__stage {
  border-radius: var(--nftf-panel-radius);
}

.nftf__question-head {
  margin-bottom: 21px;
}

.nftf__question-head h3 {
  font-size: clamp(30px, 3vw, 43px);
  line-height: .98;
}

.nftf__question-head p {
  margin-top: 11px;
  color: #666666;
  line-height: 1.5;
}

.nftf__options {
  gap: 9px;
}

.nftf__module-grid {
  gap: 8px;
}

.nftf__module-footer {
  margin-top: 15px;
}

.nftf__notice {
  margin-top: 15px;
  padding: 11px 13px;
}

.nftf__notice p {
  color: #5f5f5f;
  font-size: 12px;
  line-height: 1.4;
}

.nftf__backline {
  margin-top: 15px;
}

/* ---------- Result: CTA früher und stärker ---------- */
.nftf__actions-title {
  margin: 7px 0 14px;
  color: #171717;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.nftf__actions {
  justify-content: flex-start;
}

.nftf__button--checkout {
  min-height: 50px;
}

.nftf__checkout-note {
  color: #6f6f6f;
  font-size: 11px;
  line-height: 1.35;
}

.nftf__why li p,
.nftf__config-modules p,
.nftf__compare > p {
  font-size: 12px;
  line-height: 1.42;
}

.nftf__term-note {
  font-size: 11px;
  line-height: 1.4;
}

/* =========================================================
   DESKTOP / NOTEBOOK: KEIN SCROLL IM TARIF-FINDER
   ========================================================= */
@media (min-width: 901px) {
  .nftf-modal {
    padding: 12px;
  }

  .nftf-modal__dialog {
    width: min(1480px, calc(100vw - 24px));
    height: min(820px, calc(100dvh - 24px));
    max-height: none;
    overflow: hidden;
  }

  .nftf-modal .nftf,
  .nftf-modal .nftf__inner,
  .nftf-modal .nftf__shell {
    height: 100%;
  }

  .nftf-modal .nftf__inner {
    width: min(calc(100% - 56px), 1380px);
    padding: 28px 0 22px;
  }

  .nftf-modal .nftf__shell {
    max-width: 1280px;
  }

  .nftf-modal .nftf__rail,
  .nftf-modal .nftf__stage {
    min-height: 0;
    height: 100%;
  }

  .nftf-modal .nftf__rail {
    padding: 22px 22px 18px;
  }

  .nftf-modal .nftf__rail-head {
    padding-bottom: 15px;
  }

  .nftf-modal .nftf__rail-steps {
    margin-top: 13px;
    gap: 0;
  }

  .nftf-modal .nftf__rail-steps li {
    min-height: 52px;
    padding-block: 6px;
  }

  .nftf-modal .nftf__rail-foot {
    padding-top: 14px;
  }

  .nftf-modal .nftf__rail-foot p {
    font-size: 11px;
    line-height: 1.42;
  }

  .nftf-modal .nftf__stage {
    padding: 22px clamp(24px, 3vw, 42px) 24px;
  }

  .nftf-modal .nftf__stage::before {
    left: clamp(24px, 3vw, 42px);
  }

  .nftf-modal .nftf__progress {
    margin-bottom: 24px;
  }

  .nftf-modal .nftf__start {
    max-width: 760px;
    padding: 10px 0 0;
  }

  .nftf-modal .nftf__start h3 {
    font-size: clamp(34px, 3vw, 45px);
  }

  .nftf-modal .nftf__start > p {
    margin-top: 13px;
    line-height: 1.5;
  }

  .nftf-modal .nftf__start-facts {
    margin: 24px 0 24px;
  }

  .nftf-modal .nftf__start-facts > div {
    min-height: 64px;
    padding: 14px 16px;
  }

  .nftf-modal .nftf__screen[data-nftf-screen="result"],
  .nftf-modal .nftf__result {
    height: 100%;
    min-height: 0;
  }

  .nftf-modal .nftf__stage:has([data-nftf-screen="result"].is-active) {
    height: 100%;
    padding: 0;
  }

  .nftf-modal .nftf__result {
    display: grid;
    grid-template-rows: 220px minmax(0, 1fr);
    overflow: hidden;
  }

  .nftf-modal .nftf__result-hero {
    min-height: 0;
    height: 220px;
    padding: 25px 34px 23px;
  }

  .nftf-modal .nftf__result-topline {
    padding-bottom: 13px;
  }

  .nftf-modal .nftf__result-kicker {
    margin-top: 20px;
  }

  .nftf-modal .nftf__result-hero h3 {
    font-size: clamp(43px, 5vw, 64px);
  }

  .nftf-modal .nftf__signal {
    top: 68px;
    right: 38px;
    height: 44px;
  }

  .nftf-modal .nftf__price {
    right: 34px;
    bottom: 23px;
    min-width: 215px;
  }

  .nftf-modal .nftf__result-main {
    min-height: 0;
    height: 100%;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
    grid-template-areas:
      "why actions"
      "configuration compare"
      "footer footer";
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) auto;
    overflow: hidden;
  }

  .nftf-modal .nftf__why { grid-area: why; }
  .nftf-modal .nftf__actions { grid-area: actions; }
  .nftf-modal .nftf__configuration { grid-area: configuration; }
  .nftf-modal .nftf__compare { grid-area: compare; }
  .nftf-modal .nftf__result-footer { grid-area: footer; }

  .nftf-modal .nftf__why,
  .nftf-modal .nftf__configuration,
  .nftf-modal .nftf__compare,
  .nftf-modal .nftf__actions {
    min-height: 0;
    padding: 17px 22px;
    overflow: hidden;
  }

  .nftf-modal .nftf__why h4 {
    margin: 6px 0 12px;
    font-size: 16px;
  }

  .nftf-modal .nftf__why ul {
    gap: 7px;
  }

  .nftf-modal .nftf__why li {
    grid-template-columns: 24px 1fr;
    gap: 9px;
  }

  .nftf-modal .nftf__why li > span {
    width: 23px;
    height: 23px;
  }

  .nftf-modal .nftf__config-grid {
    margin-top: 9px;
  }

  .nftf-modal .nftf__config-grid > div {
    padding: 8px 10px;
  }

  .nftf-modal .nftf__config-modules {
    margin-top: 8px;
    padding: 8px 10px;
  }

  .nftf-modal .nftf__term-note {
    margin-top: 7px;
  }

  .nftf-modal .nftf__compare::before {
    top: 17px;
    bottom: 17px;
  }

  .nftf-modal .nftf__compare-head h4 {
    font-size: 15px;
  }

  .nftf-modal .nftf__compare > p {
    margin-top: 9px;
  }

  .nftf-modal .nftf__compare-facts {
    margin-top: 9px;
    gap: 4px;
  }

  .nftf-modal .nftf__textlink {
    margin-top: 10px;
  }

  .nftf-modal .nftf__actions-title {
    margin: 6px 0 10px;
    font-size: 17px;
  }

  .nftf-modal .nftf__actions-secondary {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-top: 10px;
  }

  .nftf-modal .nftf__actions-secondary .nftf__button {
    min-height: 38px;
    padding-inline: 10px;
  }

  .nftf-modal .nftf__result-footer {
    padding: 10px 22px;
  }
}

/* =========================================================
   MOBILE-FIRST COMPACT MODE
   ========================================================= */
@media (max-width: 900px) {
  .nftf-modal {
    padding: 0;
  }

  .nftf-modal__dialog {
    width: 100vw;
    min-height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 0;
  }

  .nftf-modal .nftf__inner {
    width: 100%;
    padding: 56px 12px 16px;
  }

  .nftf-modal .nftf__shell {
    max-width: none;
  }

  .nftf-modal .nftf__rail {
    display: none;
  }

  .nftf-modal .nftf__stage {
    min-height: 0;
    padding: 18px 14px 18px;
    border-radius: 8px;
  }

  .nftf-modal .nftf__stage::before {
    left: 14px;
    width: 34px;
  }

  .nftf-modal .nftf__progress {
    margin-bottom: 18px;
  }

  .nftf-modal .nftf__progress-meta {
    margin-bottom: 8px;
  }

  .nftf-modal .nftf__question-head {
    margin-bottom: 15px;
  }

  .nftf-modal .nftf__question-head h3,
  .nftf-modal .nftf__start h3 {
    margin-top: 7px;
    font-size: clamp(27px, 8vw, 34px);
    line-height: .98;
  }

  .nftf-modal .nftf__question-head p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.35;
  }

  .nftf-modal .nftf__start {
    padding-top: 2px;
  }

  .nftf-modal .nftf__start > p {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.4;
  }

  .nftf-modal .nftf__start-facts {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 1px;
    margin: 18px 0 18px;
  }

  .nftf-modal .nftf__start-facts > div {
    display: block;
    min-height: 58px;
    padding: 9px 7px;
    text-align: center;
  }

  .nftf-modal .nftf__start-facts strong {
    display: block;
    font-size: 20px;
  }

  .nftf-modal .nftf__start-facts span {
    display: block;
    margin-top: 2px;
    font-size: 9px;
    line-height: 1.2;
  }

  .nftf-modal .nftf__options--five,
  .nftf-modal .nftf__options--four,
  .nftf-modal .nftf__options--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nftf-modal .nftf__options--five .nftf__option:last-child,
  .nftf-modal .nftf__options--three .nftf__option:last-child {
    grid-column: 1 / -1;
  }

  .nftf-modal .nftf__option {
    grid-template-columns: 32px minmax(0,1fr) 12px;
    gap: 7px;
    min-height: 68px;
    padding: 9px 9px;
    border-radius: 5px;
  }

  .nftf-modal .nftf__option-icon {
    width: 31px;
    height: 31px;
  }

  .nftf-modal .nftf__option-icon svg {
    width: 18px;
    height: 18px;
  }

  .nftf-modal .nftf__option-copy strong {
    font-size: 11px;
    line-height: 1.14;
  }

  .nftf-modal .nftf__option-copy small {
    display: none;
  }

  .nftf-modal .nftf__option--term {
    min-height: 82px;
  }

  .nftf-modal .nftf__option--term .nftf__option-copy small {
    display: block;
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.2;
  }

  .nftf-modal .nftf__option--term .nftf__option-copy em {
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.2;
  }

  .nftf-modal .nftf__module-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
  }

  .nftf-modal .nftf__module {
    min-height: 72px;
    padding: 10px;
    border-radius: 5px;
  }

  .nftf-modal .nftf__module strong {
    max-width: calc(100% - 18px);
    padding-top: 13px;
    font-size: 11px;
    line-height: 1.13;
  }

  .nftf-modal .nftf__module small {
    display: none;
  }

  .nftf-modal .nftf__module-check {
    top: 9px;
    right: 9px;
    width: 16px;
    height: 16px;
  }

  .nftf-modal .nftf__module-footer {
    margin-top: 12px;
  }

  .nftf-modal .nftf__module-footer .nftf__button {
    min-height: 44px;
  }

  .nftf-modal .nftf__notice {
    grid-template-columns: 22px 1fr;
    gap: 9px;
    margin-top: 12px;
    padding: 9px 10px;
  }

  .nftf-modal .nftf__notice > span {
    width: 20px;
    height: 20px;
  }

  .nftf-modal .nftf__notice p {
    font-size: 11px;
    line-height: 1.32;
  }

  .nftf-modal .nftf__backline {
    margin-top: 12px;
    padding-top: 12px;
  }

  /* Ergebnis: Abschluss zuerst, Details danach */
  .nftf-modal .nftf__stage:has([data-nftf-screen="result"].is-active) {
    padding: 0;
  }

  .nftf-modal .nftf__result {
    min-height: 0;
  }

  .nftf-modal .nftf__result-hero {
    min-height: 270px;
    padding: 22px 18px 22px;
  }

  .nftf-modal .nftf__result-hero h3 {
    font-size: clamp(40px, 13vw, 54px);
  }

  .nftf-modal .nftf__price {
    margin-top: 18px;
  }

  .nftf-modal .nftf__result-main {
    display: flex;
    flex-direction: column;
  }

  .nftf-modal .nftf__actions { order: 1; }
  .nftf-modal .nftf__why { order: 2; }
  .nftf-modal .nftf__configuration { order: 3; }
  .nftf-modal .nftf__compare { order: 4; }
  .nftf-modal .nftf__result-footer { order: 5; }

  .nftf-modal .nftf__why,
  .nftf-modal .nftf__configuration,
  .nftf-modal .nftf__compare,
  .nftf-modal .nftf__actions {
    padding: 19px 17px;
  }

  .nftf-modal .nftf__actions-title {
    margin: 6px 0 12px;
    font-size: 17px;
  }

  .nftf-modal .nftf__actions-secondary {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
    margin-top: 11px;
  }

  .nftf-modal .nftf__actions-secondary .nftf__button {
    min-height: 40px;
    padding-inline: 9px;
    font-size: 9px;
  }
}

@media (max-width: 430px) {
  .nftf-modal .nftf__question-head p {
    display: none;
  }

  .nftf-modal .nftf__options {
    gap: 7px;
  }

  .nftf-modal .nftf__option {
    min-height: 64px;
  }

  .nftf-modal .nftf__option--term {
    min-height: 78px;
  }

  .nftf-modal .nftf__button--large {
    min-height: 48px;
  }

  .nftf-modal .nftf__result-topline strong,
  .nftf-modal .nftf__result-topline span {
    font-size: 8px;
  }

  .nftf-modal .nftf__result-claim {
    font-size: 12px;
  }
}

@media (hover: none) {
  .nftf .nftf__option:hover,
  .nftf .nftf__module:hover {
    transform: none;
  }
}

/* =========================================================
   V1.3.0 · UX REFINEMENT
   Feste Navigation · Mobile Stacks · Kreis-Keyfacts · Rail 2.0
   ========================================================= */

/* --- App-Screens als feste vertikale Bühne: Navigation bleibt unten --- */
.nftf-modal .nftf__stage {
  display: flex;
  flex-direction: column;
}

.nftf-modal .nftf__progress {
  flex: 0 0 auto;
}

.nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]) {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
}

.nftf-modal .nftf__question-head,
.nftf-modal .nftf__options,
.nftf-modal .nftf__module-grid,
.nftf-modal .nftf__notice {
  flex: 0 0 auto;
}

/* --- Einheitliche Bottom-Navigation --- */
.nftf__navrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #ececec;
}

.nftf__nav-spacer {
  display: block;
  width: 1px;
  height: 1px;
}

.nftf__navbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  background: #fff;
  color: #5f5f5f;
  cursor: pointer;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: border-color 170ms ease, background 170ms ease, color 170ms ease, transform 170ms ease;
}

.nftf__navbtn svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nftf__navbtn--back {
  min-width: 108px;
  border-color: #e2e2e2;
  background: #f8f8f8;
  color: #777;
}

.nftf__navbtn--next,
.nftf__navbtn--start {
  min-width: 132px;
  border-color: #242424;
  background: #242424;
  color: #fff;
}

.nftf__navbtn--back:hover,
.nftf__navbtn--back:focus-visible {
  border-color: #bdbdbd;
  background: #efefef;
  color: #242424;
  outline: none;
}

.nftf__navbtn--next:hover,
.nftf__navbtn--next:focus-visible,
.nftf__navbtn--start:hover,
.nftf__navbtn--start:focus-visible {
  border-color: var(--nftf-red);
  background: var(--nftf-red);
  color: #fff;
  transform: translateY(-1px);
  outline: none;
}

.nftf__navrow--start {
  margin-top: auto;
}

.nftf__nav-hint {
  max-width: 420px;
  color: #737373;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
}

/* Altes Backline-Layout ist in v1.3 nicht mehr relevant. */
.nftf__backline,
.nftf__module-footer {
  display: none !important;
}

/* --- Startscreen: 3 eigenständige Kreis-Keyfacts statt Tabelle --- */
.nftf__start {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
}

.nftf__start-facts {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: clamp(18px, 3vw, 34px);
  width: 100%;
  margin: 28px 0 22px;
  border: 0;
  background: transparent;
}

.nftf__start-facts > .nftf__start-fact {
  display: flex;
  min-width: 112px;
  min-height: 0;
  padding: 0;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: transparent;
  text-align: center;
}

.nftf__fact-circle {
  position: relative;
  display: grid !important;
  place-items: center;
  align-content: center;
  width: 112px;
  height: 112px;
  margin: 0;
  border: 1px solid #cfcfcf;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.035);
}

.nftf__fact-circle::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 50%;
  width: 24px;
  height: 3px;
  transform: translateX(-50%);
  background: var(--nftf-red);
}

.nftf__start-facts .nftf__fact-circle strong {
  display: block;
  color: #191919;
  font-size: 29px;
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.05em;
}

.nftf__start-facts .nftf__fact-circle small {
  display: block;
  margin-top: 7px;
  color: #707070;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
}

.nftf__start-fact > em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 10px;
  border: 1px solid #e1e1e1;
  border-radius: 999px;
  background: #f8f8f8;
  color: #5b5b5b;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
}

/* --- Rail 2.0: mehr Open Space, klare Profilführung --- */
.nftf__rail-head {
  position: relative;
}

.nftf__rail-head > span {
  margin-bottom: 11px;
}

.nftf__rail-score {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0 0 6px;
}

.nftf__rail-score strong {
  color: #fff;
  font-size: 42px;
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.055em;
}

.nftf__rail-score em {
  color: rgba(255,255,255,.34);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .06em;
}

.nftf__rail-head > p {
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: 9px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: .13em;
}

/* --- Auswahlkacheln: weniger Radius, mehr nutzbarer Platz --- */
.nftf .nftf__option,
.nftf .nftf__module {
  border-radius: 6px;
}

.nftf .nftf__option {
  grid-template-columns: 44px minmax(0, 1fr) 18px;
  gap: 12px;
  min-height: 96px;
  padding: 15px 14px;
}

.nftf .nftf__option-copy strong {
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.22;
}

.nftf .nftf__option-copy small {
  overflow-wrap: anywhere;
  font-size: 10px;
  line-height: 1.35;
}

.nftf .nftf__option-arrow {
  justify-self: end;
  min-width: 14px;
  text-align: right;
}

/* Badge muss immer den Inhalt aufnehmen. */
.nftf .nftf__option-copy em {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 5px 9px;
  border-radius: 999px;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 8px;
  line-height: 1.15;
}

/* --- Result Hero: Signalbars nicht mehr im Preisbereich --- */
.nftf-modal .nftf__signal {
  display: none !important;
}

.nftf-modal .nftf__price {
  padding-left: 22px;
  border-left: 2px solid var(--nftf-red);
}

.nftf-modal .nftf__price > span {
  display: block;
  max-width: 240px;
  line-height: 1.3;
}

/* =========================================================
   DESKTOP / NOTEBOOK v1.3
   ========================================================= */
@media (min-width: 901px) {
  .nftf-modal__dialog {
    height: min(820px, calc(100dvh - 24px));
  }

  .nftf-modal .nftf__shell {
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 18px;
  }

  .nftf-modal .nftf__rail {
    padding: 26px 25px 22px;
  }

  .nftf-modal .nftf__rail-head {
    padding-bottom: 20px;
  }

  .nftf-modal .nftf__rail-steps {
    margin-top: 18px;
  }

  .nftf-modal .nftf__rail-steps li {
    min-height: 55px;
    padding-block: 7px;
  }

  .nftf-modal .nftf__rail-steps li strong {
    font-size: 9px;
  }

  .nftf-modal .nftf__rail-steps li small {
    font-size: 10px;
  }

  .nftf-modal .nftf__rail-foot {
    padding-top: 18px;
  }

  .nftf-modal .nftf__stage {
    padding: 22px 42px 24px;
  }

  .nftf-modal .nftf__progress {
    margin-bottom: 23px;
  }

  .nftf-modal .nftf__question-head {
    margin-bottom: 22px;
  }

  .nftf-modal .nftf__question-head h3 {
    font-size: clamp(33px, 3.3vw, 48px);
  }

  .nftf-modal .nftf__options {
    gap: 9px;
  }

  .nftf-modal .nftf__options--five,
  .nftf-modal .nftf__options--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nftf-modal .nftf__options--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nftf-modal .nftf__option {
    min-height: 88px;
  }

  .nftf-modal .nftf__module-grid {
    gap: 8px;
  }

  .nftf-modal .nftf__module {
    min-height: 91px;
    padding: 13px 13px 12px;
  }

  .nftf-modal .nftf__module strong {
    padding-top: 20px;
    font-size: 11px;
  }

  .nftf-modal .nftf__module small {
    font-size: 9px;
  }

  .nftf-modal .nftf__notice {
    margin-top: 14px;
    padding: 10px 12px;
  }

  .nftf-modal .nftf__navrow {
    min-height: 61px;
    padding-top: 15px;
  }

  .nftf-modal .nftf__start {
    max-width: 800px;
    padding-top: 6px;
  }

  .nftf-modal .nftf__start-facts {
    margin: 26px 0 18px;
  }

  .nftf-modal .nftf__navrow--start {
    width: 100%;
  }

  .nftf-modal .nftf__navbtn--start {
    min-width: 176px;
  }

  /* Ergebnis bleibt vollständig im Desktop-Viewport. */
  .nftf-modal .nftf__stage:has([data-nftf-screen="result"].is-active) {
    display: block;
  }

  .nftf-modal .nftf__result-hero {
    padding-right: 36px;
  }

  .nftf-modal .nftf__price {
    right: 34px;
    min-width: 235px;
  }
}

/* =========================================================
   MOBILE-FIRST v1.3
   Auswahlseiten ohne Scrollen, klare Ein-Zeilen-Entscheidungen
   ========================================================= */
@media (max-width: 900px) {
  .nftf-modal__dialog {
    width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }

  .nftf-modal .nftf,
  .nftf-modal .nftf__inner,
  .nftf-modal .nftf__shell {
    height: 100%;
    min-height: 0;
  }

  .nftf-modal .nftf__inner {
    padding: 58px 12px 12px;
  }

  .nftf-modal .nftf__stage {
    height: 100%;
    min-height: 0;
    padding: 17px 15px 14px;
    overflow: hidden;
    border-radius: 7px;
  }

  .nftf-modal .nftf__progress {
    margin-bottom: 14px;
  }

  .nftf-modal .nftf__progress-meta {
    margin-bottom: 7px;
  }

  .nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]) {
    overflow: hidden;
  }

  .nftf-modal .nftf__question-head {
    margin-bottom: 12px;
  }

  .nftf-modal .nftf__question-head h3,
  .nftf-modal .nftf__start h3 {
    margin-top: 6px;
    font-size: clamp(26px, 7.5vw, 32px);
    line-height: .98;
  }

  .nftf-modal .nftf__question-head p,
  .nftf-modal .nftf__start > p {
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.32;
  }

  /* Einfache Entscheidungen: eine klare Kachel pro Zeile. */
  .nftf-modal .nftf__options--five,
  .nftf-modal .nftf__options--four,
  .nftf-modal .nftf__options--three {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .nftf-modal .nftf__options--five .nftf__option:last-child,
  .nftf-modal .nftf__options--three .nftf__option:last-child {
    grid-column: auto;
  }

  .nftf-modal .nftf__option {
    grid-template-columns: 36px minmax(0, 1fr) 18px;
    gap: 10px;
    min-height: 52px;
    padding: 7px 11px;
    border-radius: 5px;
  }

  .nftf-modal .nftf__option-icon {
    width: 34px;
    height: 34px;
  }

  .nftf-modal .nftf__option-icon svg {
    width: 19px;
    height: 19px;
  }

  .nftf-modal .nftf__option-copy strong {
    font-size: 12px;
    line-height: 1.12;
  }

  .nftf-modal .nftf__option-copy small {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    font-size: 9px;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Schritt 3 bleibt bewusst kompakt: 3 Reihen x 2 Spalten. */
  .nftf-modal .nftf__module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .nftf-modal .nftf__module {
    min-height: 62px;
    padding: 9px 9px 8px;
    border-radius: 5px;
  }

  .nftf-modal .nftf__module strong {
    max-width: calc(100% - 17px);
    padding-top: 14px;
    overflow-wrap: anywhere;
    font-size: 10px;
    line-height: 1.08;
  }

  .nftf-modal .nftf__module small {
    display: none;
  }

  .nftf-modal .nftf__module-check {
    top: 7px;
    right: 7px;
    width: 16px;
    height: 16px;
  }

  /* Laufzeit immer als drei eigenständige Zeilen. */
  .nftf-modal .nftf__screen[data-nftf-screen="6"] .nftf__options {
    grid-template-columns: 1fr;
  }

  .nftf-modal .nftf__option--term {
    min-height: 66px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .nftf-modal .nftf__option--term .nftf__option-copy small {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.12;
    white-space: normal;
  }

  .nftf-modal .nftf__option--term .nftf__option-copy em {
    display: inline-flex;
    margin-top: 4px;
    min-height: 20px;
    padding: 4px 8px;
    font-size: 8px;
    line-height: 1.1;
    white-space: normal;
  }

  .nftf-modal .nftf__notice {
    grid-template-columns: 21px 1fr;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 9px;
  }

  .nftf-modal .nftf__notice > span {
    width: 20px;
    height: 20px;
  }

  .nftf-modal .nftf__notice p {
    margin: 0;
    font-size: 10px;
    line-height: 1.25;
  }

  /* Navigation liegt in jedem Schritt exakt unten. */
  .nftf-modal .nftf__navrow {
    min-height: 51px;
    padding-top: 8px;
  }

  .nftf-modal .nftf__navbtn {
    min-height: 42px;
  }

  .nftf-modal .nftf__navbtn--back {
    min-width: 48px;
    width: 48px;
    padding: 0;
    border-color: #e5e5e5;
    background: #f8f8f8;
  }

  .nftf-modal .nftf__navbtn--back b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .nftf-modal .nftf__navbtn--back span {
    font-size: 19px;
    font-weight: 500;
  }

  .nftf-modal .nftf__navbtn--next,
  .nftf-modal .nftf__navbtn--start {
    min-width: 118px;
    padding: 0 16px;
  }

  /* Start-Keyfacts: drei echte Outline-Kreise, nicht als Tabelle. */
  .nftf-modal .nftf__start-facts {
    justify-content: space-between;
    gap: 6px;
    margin: 15px 0 10px;
  }

  .nftf-modal .nftf__start-facts > .nftf__start-fact {
    min-width: 0;
    flex: 1 1 0;
    gap: 6px;
  }

  .nftf-modal .nftf__fact-circle {
    width: clamp(74px, 22vw, 88px);
    height: clamp(74px, 22vw, 88px);
  }

  .nftf-modal .nftf__start-facts .nftf__fact-circle strong {
    font-size: 23px;
  }

  .nftf-modal .nftf__start-facts .nftf__fact-circle small {
    margin-top: 5px;
    font-size: 7px;
  }

  .nftf-modal .nftf__start-fact > em {
    min-height: 20px;
    padding: 0 7px;
    font-size: 7px;
  }

  .nftf-modal .nftf__navrow--start {
    margin-top: auto;
  }

  .nftf-modal .nftf__nav-hint {
    display: none;
  }

  .nftf-modal .nftf__navbtn--start {
    margin-left: auto;
  }

  /* Ergebnis darf mobil scrollen; Auswahlseiten nicht. */
  .nftf-modal .nftf__stage:has([data-nftf-screen="result"].is-active) {
    display: block;
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nftf-modal .nftf__screen[data-nftf-screen="result"].is-active {
    display: block;
    min-height: 100%;
  }
}

@media (max-width: 430px) {
  .nftf-modal .nftf__inner {
    padding-top: 56px;
  }

  .nftf-modal .nftf__stage {
    padding-left: 13px;
    padding-right: 13px;
  }

  .nftf-modal .nftf__question-head h3,
  .nftf-modal .nftf__start h3 {
    font-size: clamp(25px, 7.2vw, 30px);
  }

  .nftf-modal .nftf__option {
    min-height: 50px;
  }

  .nftf-modal .nftf__option-copy small {
    font-size: 8px;
  }

  .nftf-modal .nftf__module {
    min-height: 60px;
  }

  .nftf-modal .nftf__option--term {
    min-height: 64px;
  }
}

/* V1.3.0 · Navigation exakt auf identischer Grundlinie */
@media (min-width: 901px) {
  .nftf-modal .nftf__navrow {
    height: 61px;
    min-height: 61px;
    flex: 0 0 61px;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__navrow {
    height: 51px;
    min-height: 51px;
    flex: 0 0 51px;
  }
}

/* V1.3.0 · Bottom-Navigation an die Stage verankert: kein vertikales Springen */
.nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]) {
  padding-bottom: 76px;
}

.nftf-modal .nftf__navrow {
  position: absolute;
  z-index: 6;
  right: 42px;
  bottom: 24px;
  left: 42px;
  width: auto;
  margin: 0;
  background: #fff;
}

@media (max-width: 900px) {
  .nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]) {
    padding-bottom: 62px;
  }

  .nftf-modal .nftf__navrow {
    right: 13px;
    bottom: 14px;
    left: 13px;
  }
}

/* V1.3.0 · Im Modal nur Fade, keine vertikale Screen-Bewegung: Navigation bleibt optisch fest */
.nftf-modal .nftf__screen.is-active {
  animation: nftf-modal-fade 180ms ease both;
}

@keyframes nftf-modal-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* =========================================================
   NIPPON FITNESS · TARIF-FINDER
   UX OVERRIDES V1.4.0
   Einspaltige Entscheidungen · klare Navigation · CI-Hover
   ========================================================= */

/* Alle Entscheidungslisten bewusst einspaltig führen. */
.nftf-modal .nftf__options,
.nftf-modal .nftf__options--five,
.nftf-modal .nftf__options--four,
.nftf-modal .nftf__options--three,
.nftf-modal .nftf__module-grid {
  grid-template-columns: 1fr !important;
}

.nftf-modal .nftf__options--five .nftf__option:last-child,
.nftf-modal .nftf__options--three .nftf__option:last-child {
  grid-column: auto !important;
}

/* Mehr Fläche pro Entscheidung statt leerer Stage. */
.nftf-modal .nftf__question-head {
  margin-bottom: 18px;
}

.nftf-modal .nftf__options,
.nftf-modal .nftf__module-grid {
  gap: 8px;
}

.nftf-modal .nftf__option,
.nftf-modal .nftf__module {
  border: 1px solid #d7d7d7;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,.025);
}

.nftf-modal .nftf__option {
  grid-template-columns: 44px minmax(0, 1fr) 22px;
  min-height: 66px;
  gap: 14px;
  padding: 10px 15px;
}

.nftf-modal .nftf__option::before,
.nftf-modal .nftf__module::before {
  content: "";
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 0;
  width: 3px;
  height: auto;
  background: var(--nftf-red);
  opacity: 0;
  transform: none;
  transition: opacity 170ms ease;
}

.nftf-modal .nftf__option:hover,
.nftf-modal .nftf__option:focus-visible,
.nftf-modal .nftf__module:hover,
.nftf-modal .nftf__module:focus-visible {
  transform: translateX(2px);
  border-color: rgba(219,0,0,.58);
  background: #f7f7f7;
  color: #171717;
  box-shadow: 0 9px 22px rgba(0,0,0,.055);
  outline: none;
}

.nftf-modal .nftf__option:hover::before,
.nftf-modal .nftf__option:focus-visible::before,
.nftf-modal .nftf__module:hover::before,
.nftf-modal .nftf__module:focus-visible::before,
.nftf-modal .nftf__option.is-selected::before,
.nftf-modal .nftf__module.is-selected::before {
  opacity: 1;
}

.nftf-modal .nftf__option.is-selected,
.nftf-modal .nftf__option.is-selected:hover,
.nftf-modal .nftf__option.is-selected:focus-visible,
.nftf-modal .nftf__module.is-selected,
.nftf-modal .nftf__module.is-selected:hover,
.nftf-modal .nftf__module.is-selected:focus-visible {
  transform: none;
  border-color: #1f1f1f;
  background: #1f1f1f;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

.nftf-modal .nftf__option-icon,
.nftf-modal .nftf__module-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid #d7d7d7;
  border-radius: 50%;
  background: #fafafa;
  color: #333;
  transition: border-color 170ms ease, background 170ms ease, color 170ms ease;
}

.nftf-modal .nftf__option-icon svg,
.nftf-modal .nftf__module-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nftf-modal .nftf__option:hover .nftf__option-icon,
.nftf-modal .nftf__option:focus-visible .nftf__option-icon,
.nftf-modal .nftf__module:hover .nftf__module-icon,
.nftf-modal .nftf__module:focus-visible .nftf__module-icon {
  border-color: rgba(219,0,0,.45);
  color: var(--nftf-red);
}

.nftf-modal .nftf__option.is-selected .nftf__option-icon,
.nftf-modal .nftf__module.is-selected .nftf__module-icon {
  border-color: rgba(255,255,255,.38);
  background: rgba(255,255,255,.04);
  color: #fff;
}

.nftf-modal .nftf__option-copy strong,
.nftf-modal .nftf__module-copy strong {
  display: block;
  max-width: none;
  padding: 0;
  color: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: .01em;
  overflow-wrap: normal;
}

.nftf-modal .nftf__option-copy small,
.nftf-modal .nftf__module-copy small {
  display: block;
  max-width: none;
  margin-top: 4px;
  color: #696969;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  white-space: normal;
}

.nftf-modal .nftf__option.is-selected .nftf__option-copy small,
.nftf-modal .nftf__module.is-selected .nftf__module-copy small {
  color: rgba(255,255,255,.68);
}

.nftf-modal .nftf__option-arrow {
  justify-self: end;
  color: #777;
  font-size: 19px;
  font-weight: 900;
  line-height: 1;
}

.nftf-modal .nftf__option:hover .nftf__option-arrow,
.nftf-modal .nftf__option:focus-visible .nftf__option-arrow,
.nftf-modal .nftf__option.is-selected .nftf__option-arrow {
  color: var(--nftf-red);
}

/* Extras: aus gequetschten Boxen werden echte Auswahlzeilen mit Icon. */
.nftf-modal .nftf__module {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 24px;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 9px 15px;
  overflow: hidden;
  text-align: left;
}

.nftf-modal .nftf__module-copy {
  min-width: 0;
}

.nftf-modal .nftf__module-check {
  position: relative;
  top: auto;
  right: auto;
  justify-self: end;
  width: 21px;
  height: 21px;
  border: 2px solid #c8c8c8;
  background: #fff;
}

.nftf-modal .nftf__module.is-selected .nftf__module-check {
  border-color: var(--nftf-red);
  background: var(--nftf-red);
}

.nftf-modal .nftf__module--none {
  background: #f9f9f9;
}

/* Laufzeit: jede Wahl eine volle Zeile, Badge ohne Umbruch. */
.nftf-modal .nftf__option--term {
  grid-template-columns: 44px minmax(0,1fr) auto 22px;
  min-height: 70px;
}

.nftf-modal .nftf__option--term .nftf__option-copy {
  display: contents;
}

.nftf-modal .nftf__option--term .nftf__option-copy strong,
.nftf-modal .nftf__option--term .nftf__option-copy small {
  grid-column: 2;
}

.nftf-modal .nftf__option--term .nftf__option-copy strong {
  align-self: end;
}

.nftf-modal .nftf__option--term .nftf__option-copy small {
  align-self: start;
  margin-top: 1px;
}

.nftf-modal .nftf__option--term .nftf__option-copy em {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: none;
  min-height: 28px;
  margin: 0;
  padding: 6px 11px;
  border-radius: 999px;
  background: #f0f0f0;
  color: #4a4a4a;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
  overflow-wrap: normal;
}

.nftf-modal .nftf__option--term .nftf__option-arrow {
  grid-column: 4;
  grid-row: 1 / span 2;
  align-self: center;
}

.nftf-modal .nftf__option--term.is-selected .nftf__option-copy em {
  background: #fff;
  color: #171717;
}

/* Navigation: sichtbar, kontrastreich, klar hierarchisiert. */
.nftf-modal .nftf__navrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #e4e4e4;
}

.nftf-modal .nftf__navbtn {
  min-height: 46px;
  border-width: 1px;
  opacity: 1;
  box-shadow: none;
}

.nftf-modal .nftf__navbtn--back {
  min-width: 126px;
  border-color: #bfbfbf;
  background: #f1f1f1;
  color: #4a4a4a;
}

.nftf-modal .nftf__navbtn--back:hover,
.nftf-modal .nftf__navbtn--back:focus-visible {
  transform: translateY(-1px);
  border-color: #8e8e8e;
  background: #dedede;
  color: #171717;
}

.nftf-modal .nftf__navbtn--next,
.nftf-modal .nftf__navbtn--start {
  min-width: 150px;
  border-color: #242424;
  background: #242424;
  color: #fff;
}

.nftf-modal .nftf__navbtn--next:hover,
.nftf-modal .nftf__navbtn--next:focus-visible,
.nftf-modal .nftf__navbtn--start:hover,
.nftf-modal .nftf__navbtn--start:focus-visible {
  transform: translateY(-1px);
  border-color: var(--nftf-red);
  background: var(--nftf-red);
  color: #fff;
}

/* Disabled bleibt sichtbar und als Zustand verständlich. */
.nftf-modal .nftf__navbtn--next:disabled,
.nftf-modal .nftf__navbtn--next[aria-disabled="true"] {
  border-color: #bdbdbd;
  background: #d8d8d8;
  color: #656565;
  cursor: not-allowed;
  transform: none;
}

.nftf-modal .nftf__navbtn--next:disabled svg,
.nftf-modal .nftf__navbtn--next[aria-disabled="true"] svg {
  color: #656565;
}

/* Notebook / Desktop: mehr Präsenz pro Zeile, aber weiterhin ohne Modal-Scroll. */
@media (min-width: 901px) {
  .nftf-modal .nftf__question-head {
    margin-bottom: 16px;
  }

  .nftf-modal .nftf__question-head h3 {
    font-size: clamp(31px, 2.9vw, 44px);
  }

  .nftf-modal .nftf__question-head p {
    margin-top: 8px;
    line-height: 1.4;
  }

  .nftf-modal .nftf__option {
    min-height: 64px;
  }

  .nftf-modal .nftf__module {
    min-height: 61px;
  }

  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="5"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="6"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="3"] .nftf__module-grid {
    width: 100%;
    max-width: 900px;
  }

  .nftf-modal .nftf__notice {
    max-width: 900px;
    margin-top: 10px;
  }
}

/* Mobile: gleiche Hierarchie, aber nur starke Pfeile in runden Buttons. */
@media (max-width: 900px) {
  .nftf-modal .nftf__question-head {
    margin-bottom: 10px;
  }

  .nftf-modal .nftf__question-head h3,
  .nftf-modal .nftf__start h3 {
    font-size: clamp(25px, 7.1vw, 30px);
  }

  .nftf-modal .nftf__question-head p {
    margin-top: 5px;
    line-height: 1.25;
  }

  .nftf-modal .nftf__options,
  .nftf-modal .nftf__module-grid {
    gap: 5px;
  }

  .nftf-modal .nftf__option,
  .nftf-modal .nftf__module {
    min-height: 53px;
    grid-template-columns: 36px minmax(0,1fr) 18px;
    gap: 10px;
    padding: 6px 10px;
  }

  .nftf-modal .nftf__option-icon,
  .nftf-modal .nftf__module-icon {
    width: 34px;
    height: 34px;
  }

  .nftf-modal .nftf__option-icon svg,
  .nftf-modal .nftf__module-icon svg {
    width: 18px;
    height: 18px;
  }

  .nftf-modal .nftf__option-copy strong,
  .nftf-modal .nftf__module-copy strong {
    font-size: 12px;
  }

  .nftf-modal .nftf__option-copy small,
  .nftf-modal .nftf__module-copy small {
    margin-top: 2px;
    font-size: 9px;
    line-height: 1.1;
  }

  .nftf-modal .nftf__module-check {
    width: 18px;
    height: 18px;
  }

  .nftf-modal .nftf__option--term {
    grid-template-columns: 36px minmax(0,1fr) auto 16px;
    min-height: 58px;
  }

  .nftf-modal .nftf__option--term .nftf__option-copy em {
    min-height: 24px;
    padding: 5px 8px;
    font-size: 7px;
  }

  .nftf-modal .nftf__notice {
    margin-top: 6px;
    padding: 7px 9px;
  }

  .nftf-modal .nftf__navrow {
    min-height: 58px;
    height: 58px;
    padding-top: 8px;
  }

  .nftf-modal .nftf__navbtn--back,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 50px;
    min-width: 50px;
    height: 50px;
    min-height: 50px;
    padding: 0;
    border-radius: 50%;
  }

  .nftf-modal .nftf__navbtn--back b,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .nftf-modal .nftf__navbtn--back span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    color: currentColor;
    font-size: 27px;
    font-weight: 900;
    line-height: 1;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) svg {
    width: 24px;
    height: 24px;
    stroke-width: 2.7;
  }

  .nftf-modal .nftf__navbtn--back {
    border-color: #bcbcbc;
    background: #f1f1f1;
    color: #4b4b4b;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    border-color: #242424;
    background: #242424;
    color: #fff;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border-color: #bdbdbd;
    background: #d8d8d8;
    color: #656565;
  }
}

@media (max-width: 430px) {
  .nftf-modal .nftf__option,
  .nftf-modal .nftf__module {
    min-height: 50px;
  }

  .nftf-modal .nftf__option--term {
    min-height: 56px;
  }

  .nftf-modal .nftf__option--term .nftf__option-copy em {
    font-size: 6.8px;
    padding-inline: 7px;
  }
}

/* V1.4.0 · Entscheidungsfläche aktiv nutzen statt Leerraum stehen lassen. */
@media (min-width: 901px) {
  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__options { height: 370px; grid-auto-rows: 1fr; }
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__options { height: 340px; grid-auto-rows: 1fr; }
  .nftf-modal .nftf__screen[data-nftf-screen="3"] .nftf__module-grid { height: 385px; grid-auto-rows: 1fr; }
  .nftf-modal .nftf__screen[data-nftf-screen="5"] .nftf__options { height: 285px; grid-auto-rows: 1fr; }
  .nftf-modal .nftf__screen[data-nftf-screen="6"] .nftf__options { height: 285px; grid-auto-rows: 1fr; }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="3"] .nftf__module-grid,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="5"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="6"] .nftf__options {
    height: min(350px, 46dvh);
    grid-auto-rows: minmax(0, 1fr);
  }
}

/* V1.4.0 · finale Flächennutzung: größere, bewusst klickbare Entscheidungszeilen. */
@media (min-width: 901px) {
  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__options { height: 420px; }
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__options { height: 390px; }
  .nftf-modal .nftf__screen[data-nftf-screen="3"] .nftf__module-grid { height: 420px; }
  .nftf-modal .nftf__screen[data-nftf-screen="5"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="6"] .nftf__options { height: 315px; }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="3"] .nftf__module-grid,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__options {
    height: min(450px, 55dvh);
  }

  .nftf-modal .nftf__screen[data-nftf-screen="5"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="6"] .nftf__options {
    height: min(390px, 48dvh);
  }
}

/* ========================================================================
   V1.5.0 · FINAL UX POLISH
   Start-Keyfacts als Eyecatcher, robuste Laufzeit-Kacheln und echte
   kleiner-/größer-Navigation auf Mobile.
   ======================================================================== */

/* --- START: drei große, eigenständige Decision-Metrics --- */
.nftf-modal .nftf__start-facts.nftf__start-facts--v150 {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: clamp(24px, 4vw, 58px) !important;
  width: min(100%, 860px) !important;
  min-height: 210px;
  margin: clamp(24px, 4vh, 42px) 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.nftf-modal .nftf__start-facts.nftf__start-facts--v150::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 72px;
  height: 1px;
  background: #dedede;
  z-index: 0;
}

.nftf-modal .nftf__start-stat {
  position: relative;
  z-index: 1;
  display: grid !important;
  justify-items: center;
  align-content: start;
  gap: 10px;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center;
}

.nftf-modal .nftf__start-stat-index {
  position: absolute;
  top: 4px;
  left: calc(50% + 55px);
  color: #8a8a8a;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .14em;
}

.nftf-modal .nftf__start-stat-ring {
  position: relative;
  display: grid;
  place-content: center;
  width: 146px;
  height: 146px;
  border: 2px solid #242424;
  border-radius: 50%;
  background: #fff;
  color: #171717;
  box-shadow: 0 14px 36px rgba(0,0,0,.06);
}

.nftf-modal .nftf__start-stat-ring::before,
.nftf-modal .nftf__start-stat-ring::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.nftf-modal .nftf__start-stat-ring::before {
  top: -3px;
  width: 42px;
  height: 5px;
  background: var(--nftf-red);
}

.nftf-modal .nftf__start-stat-ring::after {
  inset: 10px;
  left: 10px;
  transform: none;
  border: 1px solid #ececec;
  border-radius: 50%;
  pointer-events: none;
}

.nftf-modal .nftf__start-stat-ring strong {
  position: relative;
  z-index: 1;
  display: block;
  color: inherit !important;
  font-size: clamp(42px, 4.5vw, 64px) !important;
  font-weight: 900 !important;
  line-height: .82 !important;
  letter-spacing: -.055em !important;
}

.nftf-modal .nftf__start-stat-ring small {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
}

.nftf-modal .nftf__start-stat--accent .nftf__start-stat-ring {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}

.nftf-modal .nftf__start-stat--accent .nftf__start-stat-ring::after {
  border-color: rgba(255,255,255,.15);
}

.nftf-modal .nftf__start-stat-copy {
  display: grid;
  gap: 4px;
  justify-items: center;
}

.nftf-modal .nftf__start-stat-copy b {
  color: #171717;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.nftf-modal .nftf__start-stat-copy small {
  color: #686868;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

/* --- LAUFZEIT: klare Zonen; Badges niemals unlesbar --- */
.nftf-modal .nftf__option--term {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto 22px !important;
  grid-template-rows: 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 82px !important;
  padding: 11px 16px !important;
}

.nftf-modal .nftf__option--term .nftf__option-icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.nftf-modal .nftf__term-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: baseline;
  gap: 18px;
  min-width: 0;
  color: inherit;
}

.nftf-modal .nftf__term-copy strong {
  flex: 0 0 auto;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
}

.nftf-modal .nftf__term-copy small {
  min-width: 0;
  margin: 0 !important;
  color: #666 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.nftf-modal .nftf__option--term.is-selected .nftf__term-copy small {
  color: rgba(255,255,255,.72) !important;
}

.nftf-modal .nftf__term-badge {
  grid-column: 3 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  min-height: 29px !important;
  margin: 0 !important;
  padding: 7px 12px !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 999px !important;
  background: #f1f1f1 !important;
  color: #3f3f3f !important;
  opacity: 1 !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.nftf-modal .nftf__option--term.is-selected .nftf__term-badge,
.nftf-modal .nftf__option--term[aria-pressed="true"] .nftf__term-badge {
  border-color: #d6d6d6 !important;
  background: #fff !important;
  color: #171717 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #171717 !important;
}

.nftf-modal .nftf__option--term .nftf__option-arrow {
  grid-column: 4 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  color: #7a7a7a;
  font-size: 27px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.nftf-modal .nftf__option--term.is-selected .nftf__option-arrow {
  color: var(--nftf-red) !important;
}

/* --- NAVIGATION: echte kleiner-/größer-Zeichen, klare Hierarchie --- */
.nftf-modal .nftf__navbtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
}

.nftf-modal .nftf__navglyph {
  display: inline-block;
  color: currentColor;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 20px;
  font-weight: 900;
  line-height: .8;
  transform: translateY(-1px);
}

.nftf-modal .nftf__navbtn--back {
  border: 1.5px solid #a6a6a6 !important;
  background: #f0f0f0 !important;
  color: #3d3d3d !important;
}

.nftf-modal .nftf__navbtn--back:hover,
.nftf-modal .nftf__navbtn--back:focus-visible {
  border-color: #707070 !important;
  background: #d8d8d8 !important;
  color: #171717 !important;
}

.nftf-modal .nftf__navbtn--next:not(:disabled):not([aria-disabled="true"]),
.nftf-modal .nftf__navbtn--start {
  border: 2px solid #242424 !important;
  background: #242424 !important;
  color: #fff !important;
  box-shadow: 0 9px 24px rgba(0,0,0,.10);
}

.nftf-modal .nftf__navbtn--next:not(:disabled):not([aria-disabled="true"]):hover,
.nftf-modal .nftf__navbtn--next:not(:disabled):not([aria-disabled="true"]):focus-visible,
.nftf-modal .nftf__navbtn--start:hover,
.nftf-modal .nftf__navbtn--start:focus-visible {
  border-color: var(--nftf-red) !important;
  background: var(--nftf-red) !important;
  color: #fff !important;
}

.nftf-modal .nftf__navbtn--next:disabled,
.nftf-modal .nftf__navbtn--next[aria-disabled="true"] {
  border: 1.5px solid #a9a9a9 !important;
  background: #e3e3e3 !important;
  color: #666 !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Mobile: nur < und >, maximal klar und fett. */
@media (max-width: 900px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v150 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    min-height: 142px;
    margin-top: 18px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v150::before {
    left: 8%;
    right: 8%;
    top: 47px;
  }

  .nftf-modal .nftf__start-stat {
    gap: 6px;
  }

  .nftf-modal .nftf__start-stat-index {
    display: none;
  }

  .nftf-modal .nftf__start-stat-ring {
    width: clamp(82px, 24vw, 96px);
    height: clamp(82px, 24vw, 96px);
    border-width: 1.5px;
    box-shadow: 0 9px 22px rgba(0,0,0,.055);
  }

  .nftf-modal .nftf__start-stat-ring::before {
    width: 30px;
    height: 4px;
  }

  .nftf-modal .nftf__start-stat-ring::after {
    inset: 7px;
    left: 7px;
  }

  .nftf-modal .nftf__start-stat-ring strong {
    font-size: clamp(31px, 10vw, 40px) !important;
  }

  .nftf-modal .nftf__start-stat-ring small {
    margin-top: 7px;
    font-size: 8px !important;
    letter-spacing: .09em !important;
  }

  .nftf-modal .nftf__start-stat-copy b {
    font-size: 9px;
  }

  .nftf-modal .nftf__start-stat-copy small {
    display: none;
  }

  .nftf-modal .nftf__navbtn--back,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }

  .nftf-modal .nftf__navbtn--back b,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    display: block !important;
    font-size: 35px !important;
    font-weight: 900 !important;
    line-height: .72 !important;
    letter-spacing: -.08em !important;
    transform: translateY(-2px) scaleX(.92) !important;
  }

  .nftf-modal .nftf__navbtn--back {
    border: 2px solid #a0a0a0 !important;
    background: #f4f4f4 !important;
    color: #444 !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]) {
    border: 2px solid var(--nftf-red) !important;
    background: #242424 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]):hover,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]):focus-visible,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]):active {
    border-color: var(--nftf-red) !important;
    background: var(--nftf-red) !important;
    color: #fff !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border: 2px solid #b0b0b0 !important;
    background: #e1e1e1 !important;
    color: #6a6a6a !important;
  }

  /* Mobile Laufzeit: Text oben, Badge sauber darunter – niemals kollidierend. */
  .nftf-modal .nftf__option--term {
    grid-template-columns: 42px minmax(0, 1fr) 18px !important;
    grid-template-rows: auto auto !important;
    column-gap: 12px !important;
    row-gap: 7px !important;
    min-height: 96px !important;
    padding: 10px 11px !important;
  }

  .nftf-modal .nftf__option--term .nftf__option-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
  }

  .nftf-modal .nftf__term-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    gap: 4px !important;
    align-self: end !important;
  }

  .nftf-modal .nftf__term-copy strong {
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf__term-copy small {
    font-size: 9.5px !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf__term-badge {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    max-width: 100% !important;
    min-height: 24px !important;
    padding: 5px 8px !important;
    font-size: 7.4px !important;
    letter-spacing: .015em !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf__option--term .nftf__option-arrow {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    font-size: 24px !important;
  }
}

@media (max-width: 430px) {
  .nftf-modal .nftf__term-badge {
    font-size: 7px !important;
    padding-inline: 7px !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v150 .nftf__start-stat-index {
    display: none !important;
  }

  .nftf-modal .nftf__screen[data-nftf-screen="start"],
  .nftf-modal .nftf__start {
    overflow-x: hidden !important;
  }
}

/* ========================================================================
   V1.6.0 · BRANDING, CHEVRON SYSTEM & STARTSCREEN JOURNEY
   ======================================================================== */

/* --- Startscreen: klarer Nippon-Fitness-Markenanker --- */
.nftf-modal .nftf__start {
  position: relative;
}

.nftf-modal .nftf__start-brand {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  max-width: 100%;
  margin-bottom: 18px;
  padding: 9px 12px 9px 0;
  border-bottom: 1px solid #e2e2e2;
}

.nftf-modal .nftf__start-brand img {
  display: block;
  width: clamp(172px, 18vw, 235px);
  max-width: 58%;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) contrast(1.08);
}

.nftf-modal .nftf__start-brand span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding-left: 13px;
  border-left: 3px solid var(--nftf-red);
  color: #171717;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .15em;
  white-space: nowrap;
}

.nftf-modal .nftf__start-watermark {
  position: absolute;
  z-index: 0;
  right: -7%;
  bottom: 19%;
  width: min(62%, 610px);
  height: auto;
  opacity: .022;
  filter: grayscale(1) contrast(1.25);
  pointer-events: none;
  user-select: none;
}

.nftf-modal .nftf__start > *:not(.nftf__start-watermark) {
  position: relative;
  z-index: 2;
}

/* --- Facts: roter Bogen statt geradem Balken --- */
.nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring::before {
  top: -4px !important;
  left: 50% !important;
  width: 54px !important;
  height: 27px !important;
  border: 0 !important;
  border-top: 5px solid var(--nftf-red) !important;
  border-radius: 50% !important;
  background: transparent !important;
  transform: translateX(-50%) !important;
}

.nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring {
  width: 154px;
  height: 154px;
}

.nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-copy b {
  font-size: 13px;
}

.nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-copy small {
  font-size: 12px;
}

/* --- Ein einheitliches Chevron für alle Entscheidungsflächen --- */
.nftf-modal .nftf__option-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px;
  height: 28px;
  color: #858585;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 29px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

.nftf-modal .nftf__option:hover .nftf__option-arrow,
.nftf-modal .nftf__option:focus-visible .nftf__option-arrow,
.nftf-modal .nftf__option.is-selected .nftf__option-arrow {
  transform: translateX(2px) !important;
  color: var(--nftf-red) !important;
}

/* --- Laufzeit: ausgewähltes Highlight bleibt garantiert lesbar --- */
.nftf-modal .nftf__option--term.is-selected > .nftf__term-badge,
.nftf-modal .nftf__option--term[aria-pressed="true"] > .nftf__term-badge {
  border-color: var(--nftf-red) !important;
  background: var(--nftf-red) !important;
  color: #fff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* --- Navigation: Desktop bleibt textgeführt, Chevron-System identisch --- */
.nftf-modal .nftf__navglyph {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px;
  height: 24px;
  color: currentColor;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}

/* --- Mobile: Facts als 2 + 1 Journey, Navigation wie Close-Button --- */
@media (max-width: 900px) {
  .nftf-modal .nftf__start-brand {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 13px;
    padding: 5px 0 9px;
  }

  .nftf-modal .nftf__start-brand img {
    width: 158px;
    max-width: 60%;
  }

  .nftf-modal .nftf__start-brand span {
    min-height: 22px;
    padding-left: 9px;
    border-left-width: 2px;
    font-size: 8px;
    letter-spacing: .12em;
  }

  .nftf-modal .nftf__start-watermark {
    display: none;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 12px 18px !important;
    width: min(100%, 330px) !important;
    min-height: 246px !important;
    margin: 16px auto 0 !important;
    align-items: start !important;
    justify-items: center !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 50px !important;
    left: 25% !important;
    right: 25% !important;
    width: auto !important;
    height: 1px !important;
    background: #dcdcdc !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 98px;
    left: 50%;
    width: 1px;
    height: 43px;
    background: #dcdcdc;
    transform: translateX(-50%);
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat {
    width: 100%;
    gap: 5px;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat:nth-child(3) {
    grid-column: 1 / -1 !important;
    width: 50%;
    justify-self: center;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring {
    width: 98px !important;
    height: 98px !important;
    border-width: 1px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.045);
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring::before {
    top: -3px !important;
    width: 38px !important;
    height: 18px !important;
    border-top-width: 4px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring::after {
    inset: 7px !important;
    left: 7px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring strong {
    font-size: 38px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring small {
    margin-top: 6px !important;
    font-size: 7.5px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-copy b {
    font-size: 9px;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-copy small {
    display: none;
  }

  .nftf-modal .nftf__navbtn--back,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }

  .nftf-modal .nftf__navbtn--back {
    border: 1px solid rgba(23,23,23,.18) !important;
    background: rgba(255,255,255,.96) !important;
    color: #4a4a4a !important;
    box-shadow: 0 7px 18px rgba(0,0,0,.055) !important;
  }

  .nftf-modal .nftf__navbtn--back:hover,
  .nftf-modal .nftf__navbtn--back:focus-visible,
  .nftf-modal .nftf__navbtn--back:active {
    border-color: #6e6e6e !important;
    background: #ececec !important;
    color: #171717 !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]) {
    border: 1px solid #1f1f1f !important;
    background: #1f1f1f !important;
    color: #fff !important;
    box-shadow: 0 9px 22px rgba(0,0,0,.12) !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]):hover,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]):focus-visible,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):not(:disabled):not([aria-disabled="true"]):active {
    border-color: var(--nftf-red) !important;
    background: var(--nftf-red) !important;
    color: #fff !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border: 1px solid rgba(23,23,23,.16) !important;
    background: #ededed !important;
    color: #8a8a8a !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 31px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    transform: translateY(-1px) !important;
  }

  .nftf-modal .nftf__option-arrow,
  .nftf-modal .nftf__option--term .nftf__option-arrow {
    font-size: 29px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  /* „UNSERE EMPFEHLUNG“ bleibt auf einer Linie; Badge erhält eine eigene Zone. */
  .nftf-modal .nftf__option--term .nftf__term-copy small {
    white-space: nowrap !important;
  }

  .nftf-modal .nftf__option--term .nftf__term-badge {
    max-width: 100% !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 {
    width: min(100%, 308px) !important;
    gap: 10px 12px !important;
    min-height: 232px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160 .nftf__start-stat-ring {
    width: 92px !important;
    height: 92px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160::before {
    top: 46px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v160::after {
    top: 92px !important;
    height: 38px !important;
  }
}
\n\n/* ========================================================================
   V1.7.0 · ARCHITECTURAL POLISH
   Exakter Kreisbogen · Rail Branding · viewportfeste Mobile-UX ·
   sauber zentrierte Chevron-Navigation
   ======================================================================== */

/* --- START FACTS: der rote Akzent liegt exakt AUF der Kreislinie. --- */
.nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring::before {
  display: none !important;
}

.nftf-modal .nftf__start-stat-arc {
  position: absolute;
  z-index: 4;
  inset: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  overflow: visible;
  pointer-events: none;
}

.nftf-modal .nftf__start-stat-arc circle {
  fill: none;
  stroke: var(--nftf-red);
  stroke-width: 4.4;
  stroke-linecap: butt;
  stroke-dasharray: 46 259;
  transform: rotate(-117.5deg);
  transform-origin: 50% 50%;
}

/* Die Verbindung bleibt bewusst konstruktiv: dünne Achse + kleine Knoten. */
.nftf-modal .nftf__start-facts--v170::before {
  top: 77px !important;
  left: 9% !important;
  right: 9% !important;
  height: 1px !important;
  background: #d7d7d7 !important;
}

.nftf-modal .nftf__start-facts--v170 .nftf__start-stat::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 73px;
  right: -4px;
  width: 7px;
  height: 7px;
  border: 1px solid #d7d7d7;
  background: #fff;
  transform: rotate(45deg);
}

.nftf-modal .nftf__start-facts--v170 .nftf__start-stat:last-child::after {
  display: none;
}

/* --- DESKTOP: Logo raus aus dem weißen Start-Hero, dafür als starke Rail-Signatur. --- */
@media (min-width: 901px) {
  .nftf-modal .nftf__start-brand {
    display: none !important;
  }

  .nftf-modal .nftf__start {
    max-width: 900px !important;
    padding-top: 14px !important;
  }

  .nftf-modal .nftf__start-facts--v170 {
    width: min(100%, 850px) !important;
    margin-top: 28px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring {
    width: 154px !important;
    height: 154px !important;
  }
}

/* --- RAIL BRAND: dauerhaftes Nippon-Fitness-Signet im schwarzen Führungspanel. --- */
.nftf-modal .nftf__rail-brand {
  position: relative;
  isolation: isolate;
  display: none;
  min-height: 116px;
  margin: auto -6px 0;
  padding: 22px 14px 13px;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.08);
}

.nftf-modal .nftf__rail-brand-lines {
  position: absolute;
  z-index: -1;
  top: 8px;
  bottom: 8px;
  left: 17px;
  width: 1px;
  background: rgba(255,255,255,.055);
  box-shadow:
    24px 0 0 rgba(255,255,255,.045),
    48px 0 0 rgba(255,255,255,.04),
    72px 0 0 rgba(255,255,255,.035),
    96px 0 0 rgba(255,255,255,.03),
    120px 0 0 rgba(255,255,255,.028),
    144px 0 0 rgba(255,255,255,.025),
    168px 0 0 rgba(255,255,255,.022),
    192px 0 0 rgba(255,255,255,.02),
    216px 0 0 rgba(255,255,255,.018),
    240px 0 0 rgba(255,255,255,.016);
}

.nftf-modal .nftf__rail-brand::before {
  content: "";
  position: absolute;
  top: 21px;
  left: 0;
  width: 34px;
  height: 2px;
  background: var(--nftf-red);
}

.nftf-modal .nftf__rail-brand::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 1px;
  height: 58px;
  background: rgba(219,0,0,.65);
}

.nftf-modal .nftf__rail-brand img {
  display: block;
  width: min(100%, 238px);
  height: auto;
  margin: 9px 0 5px;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: .96;
}

.nftf-modal .nftf__rail-brand-word {
  display: block;
  width: fit-content;
  margin-left: auto;
  color: rgba(255,255,255,.70);
  font-family: "Brush Script MT", "Segoe Script", cursive;
  font-size: 23px;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .01em;
  transform: rotate(-2deg);
}

@media (min-width: 901px) {
  .nftf-modal .nftf__rail-brand {
    display: block;
  }

  /* Etwas kompaktere Führung, damit Logo + Foot bewusst Luft bekommen. */
  .nftf-modal .nftf__rail-steps li {
    min-height: 48px !important;
  }

  .nftf-modal .nftf__rail-foot {
    margin-top: 0 !important;
    padding-top: 12px !important;
  }
}

/* --- NAVIGATION: gleiche Chevron-Geometrie wie die Auswahlkacheln. --- */
.nftf-modal .nftf__navbtn {
  position: relative;
}

.nftf-modal .nftf__navglyph,
.nftf-modal .nftf__option-arrow {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: geometricPrecision;
}

@media (min-width: 901px) {
  .nftf-modal .nftf__navbtn--back {
    color: #9b9b9b !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph {
    color: #adadad !important;
  }

  .nftf-modal .nftf__navbtn--back:hover,
  .nftf-modal .nftf__navbtn--back:focus-visible {
    color: #5f5f5f !important;
  }

  .nftf-modal .nftf__navbtn--back:hover .nftf__navglyph,
  .nftf-modal .nftf__navbtn--back:focus-visible .nftf__navglyph {
    color: #5f5f5f !important;
  }

  .nftf-modal .nftf__navglyph {
    height: 18px !important;
    line-height: 18px !important;
    font-size: 22px !important;
    transform: translateY(-1px) !important;
  }
}

/* --- MOBILE: Stage wird zu einem echten Viewport-Layout, nicht zu einer langen Seite. --- */
@media (max-width: 900px) {
  .nftf-modal .nftf__stage {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf__progress {
    flex: 0 0 auto !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]) {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding-bottom: 58px !important;
  }

  .nftf-modal .nftf__question-head {
    flex: 0 0 auto !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf__options,
  .nftf-modal .nftf__module-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    grid-auto-rows: minmax(0, 1fr) !important;
  }

  .nftf-modal .nftf__option,
  .nftf-modal .nftf__module {
    min-height: 0 !important;
    height: auto !important;
  }

  .nftf-modal .nftf__notice {
    flex: 0 0 auto !important;
  }

  /* Startscreen exakt in die verfügbare Höhe einpassen. */
  .nftf-modal .nftf__screen[data-nftf-screen="start"].is-active {
    padding-bottom: 60px !important;
  }

  .nftf-modal .nftf__start {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 0 !important;
  }

  .nftf-modal .nftf__start-brand {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 0 7px !important;
    border-bottom: 1px solid #ececec !important;
  }

  .nftf-modal .nftf__start-brand img {
    width: 126px !important;
    max-width: 48% !important;
  }

  .nftf-modal .nftf__start-brand span {
    min-height: 18px !important;
    padding-left: 8px !important;
    border-left-width: 2px !important;
    font-size: 7px !important;
  }

  .nftf-modal .nftf__screen-kicker {
    flex: 0 0 auto;
    font-size: 11px !important;
  }

  .nftf-modal .nftf__start h3 {
    flex: 0 0 auto;
    margin-top: 5px !important;
    font-size: clamp(24px, 6.8vw, 29px) !important;
    line-height: .95 !important;
  }

  .nftf-modal .nftf__start > p {
    flex: 0 0 auto;
    margin-top: 7px !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
  }

  .nftf-modal .nftf__start-facts--v170 {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 5px 18px !important;
    width: min(100%, 304px) !important;
    min-height: 0 !important;
    margin: 9px auto 0 !important;
  }

  .nftf-modal .nftf__start-facts--v170::before {
    top: 43px !important;
    left: 25% !important;
    right: 25% !important;
  }

  .nftf-modal .nftf__start-facts--v170::after {
    top: 84px !important;
    height: 26px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat {
    gap: 3px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat:nth-child(3) {
    grid-column: 1 / -1 !important;
    width: 50% !important;
    justify-self: center !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat::after {
    display: none !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring {
    width: 86px !important;
    height: 86px !important;
    border-width: 1.5px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring strong {
    font-size: 34px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring small {
    margin-top: 5px !important;
    font-size: 7px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-copy b {
    font-size: 8px !important;
  }

  .nftf-modal .nftf__navrow--start {
    height: 52px !important;
    min-height: 52px !important;
  }

  /* Zurück: bewusst sekundär, exakt dieselbe Tonalität wie der Outline-Kreis. */
  .nftf-modal .nftf__navbtn--back {
    border-color: #cfcfcf !important;
    background: #fff !important;
    color: #b4b4b4 !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.035) !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph {
    color: #b4b4b4 !important;
  }

  .nftf-modal .nftf__navbtn--back:hover,
  .nftf-modal .nftf__navbtn--back:focus-visible,
  .nftf-modal .nftf__navbtn--back:active {
    border-color: #aaa !important;
    background: #f5f5f5 !important;
    color: #7a7a7a !important;
  }

  .nftf-modal .nftf__navbtn--back:hover .nftf__navglyph,
  .nftf-modal .nftf__navbtn--back:focus-visible .nftf__navglyph,
  .nftf-modal .nftf__navbtn--back:active .nftf__navglyph {
    color: #7a7a7a !important;
  }

  /* Chevron exakt mittig im Kreis. */
  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 28px !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
  }
}

/* Sehr niedrige Mobile-Viewports: Cards werden gleichmäßig kompakter statt zu scrollen. */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf__inner {
    padding-top: 52px !important;
  }

  .nftf-modal .nftf__stage {
    padding-top: 13px !important;
    padding-bottom: 10px !important;
  }

  .nftf-modal .nftf__progress {
    margin-bottom: 7px !important;
  }

  .nftf-modal .nftf__question-head > span {
    font-size: 11px !important;
  }

  .nftf-modal .nftf__question-head h3 {
    margin-top: 4px !important;
    font-size: clamp(22px, 6.2vw, 27px) !important;
  }

  .nftf-modal .nftf__question-head p {
    display: none !important;
  }

  .nftf-modal .nftf__options,
  .nftf-modal .nftf__module-grid {
    gap: 4px !important;
  }

  .nftf-modal .nftf__option,
  .nftf-modal .nftf__module {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .nftf-modal .nftf__notice {
    margin-top: 4px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .nftf-modal .nftf__start-brand {
    margin-bottom: 4px !important;
    padding-bottom: 4px !important;
  }

  .nftf-modal .nftf__start h3 {
    font-size: clamp(21px, 6vw, 26px) !important;
  }

  .nftf-modal .nftf__start > p {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .nftf-modal .nftf__start-facts--v170 {
    width: min(100%, 270px) !important;
    margin-top: 5px !important;
    gap: 2px 14px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring {
    width: 72px !important;
    height: 72px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring strong {
    font-size: 29px !important;
  }

  .nftf-modal .nftf__start-facts--v170 .nftf__start-stat-ring small {
    margin-top: 3px !important;
    font-size: 6.5px !important;
  }

  .nftf-modal .nftf__start-facts--v170::before {
    top: 36px !important;
  }

  .nftf-modal .nftf__start-facts--v170::after {
    top: 72px !important;
    height: 18px !important;
  }
}

/* V1.7.0 · Final specificity / viewport corrections */
.nftf-modal .nftf__navrow {
  position: absolute !important;
}

@media (min-width: 901px) {
  .nftf-modal .nftf__navrow {
    right: 42px !important;
    bottom: 24px !important;
    left: 42px !important;
  }

  .nftf-modal .nftf__navbtn b {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 18px;
    line-height: 18px !important;
  }

  .nftf-modal .nftf__navglyph {
    position: relative !important;
    top: -1px !important;
    align-self: center !important;
    transform: none !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__navrow {
    right: 13px !important;
    bottom: 14px !important;
    left: 13px !important;
  }

  .nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]) {
    padding-bottom: 70px !important;
  }

  .nftf-modal .nftf__screen[data-nftf-screen="start"].is-active {
    padding-bottom: 70px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 5px 18px !important;
    width: min(100%, 304px) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 9px auto 0 !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170::before {
    top: 43px !important;
    left: 25% !important;
    right: 25% !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170::after {
    top: 86px !important;
    height: 22px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat {
    gap: 3px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat:nth-child(3) {
    grid-column: 1 / -1 !important;
    width: 50% !important;
    justify-self: center !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-ring {
    width: 86px !important;
    height: 86px !important;
    border-width: 1.5px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-ring strong {
    font-size: 34px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-ring small {
    margin-top: 5px !important;
    font-size: 7px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-copy b {
    font-size: 8px !important;
  }
}

@media (max-width: 900px) and (min-height: 800px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 {
    width: min(100%, 322px) !important;
    gap: 8px 22px !important;
    margin-top: 13px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-ring {
    width: 94px !important;
    height: 94px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170::before {
    top: 47px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170::after {
    top: 94px !important;
    height: 26px !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf__screen.is-active:not([data-nftf-screen="result"]),
  .nftf-modal .nftf__screen[data-nftf-screen="start"].is-active {
    padding-bottom: 66px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 {
    width: min(100%, 268px) !important;
    gap: 2px 14px !important;
    margin-top: 5px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-ring {
    width: 72px !important;
    height: 72px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170 .nftf__start-stat-ring strong {
    font-size: 29px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170::before {
    top: 36px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v170::after {
    top: 72px !important;
    height: 16px !important;
  }
}

/* V1.7.0 · Start-CTA an dieselbe feste Navigationsachse wie alle Schritte */
.nftf-modal .nftf__start {
  position: static !important;
}

@media (min-width: 901px) {
  .nftf-modal .nftf__navglyph {
    top: 0 !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    transform: none !important;
  }
}

/* ========================================================================
   V1.8.0 · FINAL ARCHITECTURAL REFINEMENT
   Präzise Kreissegmente · größere Mobile-Facts ohne Scroll · zentriertes
   Branding · weichere Rail-Architektur · optisch zentrierte Navigation
   ======================================================================== */

/* --- Fact-Akzent: ausschließlich SVG. Alte Pseudo-Balken vollständig aus. --- */
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nftf-modal .nftf__start-facts--v180 .nftf__start-stat-arc {
  position: absolute !important;
  z-index: 5 !important;
  inset: -1px !important;
  width: calc(100% + 2px) !important;
  height: calc(100% + 2px) !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.nftf-modal .nftf__start-facts--v180 .nftf__start-stat-arc circle {
  fill: none !important;
  stroke: var(--nftf-red) !important;
  stroke-width: 5.2 !important;
  stroke-linecap: butt !important;
  stroke-dasharray: 48 257 !important;
  transform-origin: 50% 50% !important;
  vector-effect: non-scaling-stroke;
}

/* Drei Facts, drei leicht unterschiedliche architektonische Positionen. */
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(1) .nftf__start-stat-arc circle {
  transform: rotate(-128deg) !important;
}
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(2) .nftf__start-stat-arc circle {
  transform: rotate(-104deg) !important;
}
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-arc circle {
  transform: rotate(-78deg) !important;
}

/* Der innere Kontrollring bleibt bewusst neutral – niemals rosa/rot. */
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring::after {
  border-color: #e7e7e7 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat--accent .nftf__start-stat-ring::after {
  border-color: rgba(255,255,255,.15) !important;
}

/* --- Desktop Facts: Segment exakt über Kreisrand, Fläche vollständig sichtbar. --- */
@media (min-width: 901px) {
  .nftf-modal .nftf__start-facts--v180 {
    width: min(100%, 880px) !important;
    min-height: 228px !important;
    margin-top: 24px !important;
    gap: clamp(34px, 5vw, 72px) !important;
  }

  .nftf-modal .nftf__start-facts--v180::before {
    top: 82px !important;
    left: 8.5% !important;
    right: 8.5% !important;
    background: #d8d8d8 !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 164px !important;
    height: 164px !important;
    border-width: 1.7px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat::after {
    top: 78px !important;
  }
}

/* --- Mobile Start-Brand: bewusst zentrierter Marken-Lockup statt Seitenleiste. --- */
@media (max-width: 900px) {
  .nftf-modal .nftf__screen[data-nftf-screen="start"].is-active {
    padding-bottom: 66px !important;
  }

  .nftf-modal .nftf__start-brand {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 0 auto 5px !important;
    padding: 0 0 5px !important;
    border: 0 !important;
    background: transparent !important;
  }

  .nftf-modal .nftf__start-brand img {
    display: block !important;
    width: min(176px, 52vw) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .nftf-modal .nftf__start-brand span {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #4b4b4b !important;
    font-size: 7.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .19em !important;
  }

  .nftf-modal .nftf__start .nftf__screen-kicker {
    margin-top: 2px !important;
  }

  /* Facts nutzen die freie Mitte brachialer – 2 oben, 1 mittig darunter. */
  .nftf-modal .nftf__start-facts.nftf__start-facts--v180 {
    flex: 1 1 auto !important;
    align-content: center !important;
    width: min(100%, 350px) !important;
    max-height: 318px !important;
    min-height: 242px !important;
    margin: 5px auto 0 !important;
    gap: 8px 24px !important;
  }

  .nftf-modal .nftf__start-facts--v180::before {
    top: 58px !important;
    left: 21% !important;
    right: 21% !important;
    background: #d7d7d7 !important;
  }

  .nftf-modal .nftf__start-facts--v180::after {
    top: 116px !important;
    height: 35px !important;
    background: #d7d7d7 !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat {
    gap: 4px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) {
    width: 58% !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 116px !important;
    height: 116px !important;
    border-width: 1.5px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 126px !important;
    height: 126px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring strong {
    font-size: 45px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 50px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring small {
    margin-top: 6px !important;
    font-size: 8px !important;
    letter-spacing: .10em !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-copy b {
    font-size: 10px !important;
  }

  /* Keine alten Hilfs-/Knoten-Akzente an den Facts. */
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat::after {
    display: none !important;
  }
}

/* Sehr kompakte Mobilhöhen: Größe intelligent reduzieren, nie scrollen. */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf__start-brand {
    margin-bottom: 2px !important;
    padding-bottom: 2px !important;
  }
  .nftf-modal .nftf__start-brand img {
    width: min(148px, 46vw) !important;
  }
  .nftf-modal .nftf__start-brand span {
    font-size: 6.5px !important;
  }
  .nftf-modal .nftf__start-facts.nftf__start-facts--v180 {
    width: min(100%, 292px) !important;
    min-height: 184px !important;
    max-height: 208px !important;
    gap: 2px 16px !important;
    margin-top: 2px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 80px !important;
    height: 80px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 88px !important;
    height: 88px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring strong {
    font-size: 31px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 35px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring small {
    margin-top: 3px !important;
    font-size: 6.5px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-copy b {
    font-size: 8px !important;
  }
  .nftf-modal .nftf__start-facts--v180::before {
    top: 40px !important;
  }
  .nftf-modal .nftf__start-facts--v180::after {
    top: 80px !important;
    height: 22px !important;
  }
}

/* --- Rail: kurvige Architektur statt gerader Strichwand. --- */
.nftf-modal .nftf__rail-brand {
  min-height: 122px !important;
  padding-top: 20px !important;
}

.nftf-modal .nftf__rail-brand-lines {
  position: absolute !important;
  z-index: -1 !important;
  top: -34px !important;
  left: -42px !important;
  width: 170px !important;
  height: 170px !important;
  border: 1px solid rgba(255,255,255,.055) !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nftf-modal .nftf__rail-brand-lines::before,
.nftf-modal .nftf__rail-brand-lines::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 50%;
  pointer-events: none;
}
.nftf-modal .nftf__rail-brand-lines::before {
  inset: 24px;
}
.nftf-modal .nftf__rail-brand-lines::after {
  inset: 51px;
  border-color: rgba(219,0,0,.22);
}

.nftf-modal .nftf__rail-brand img {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 244px) !important;
  margin-top: 10px !important;
}

.nftf-modal .nftf__rail-brand-word {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 1px !important;
  margin-right: 7px !important;
  color: rgba(255,255,255,.76) !important;
  font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", cursive !important;
  font-size: 24px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: rotate(-3deg) !important;
}

/* --- Navigation: optische statt nur mathematische Zentrierung. --- */
@media (min-width: 901px) {
  .nftf-modal .nftf__navbtn--back {
    color: #a9a9a9 !important;
  }
  .nftf-modal .nftf__navbtn--back .nftf__navglyph {
    color: #b8b8b8 !important;
  }
  .nftf-modal .nftf__navbtn--back:hover,
  .nftf-modal .nftf__navbtn--back:focus-visible {
    color: #666 !important;
  }
  .nftf-modal .nftf__navbtn--back:hover .nftf__navglyph,
  .nftf-modal .nftf__navbtn--back:focus-visible .nftf__navglyph {
    color: #777 !important;
  }

  .nftf-modal .nftf__navglyph {
    display: inline-grid !important;
    place-items: center !important;
    width: 14px !important;
    height: 18px !important;
    line-height: 1 !important;
    font-size: 23px !important;
    transform: translateY(-1.7px) !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__navbtn--back,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    overflow: hidden !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    line-height: .72 !important;
    font-size: 28px !important;
    font-weight: 900 !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph {
    color: #c0c0c0 !important;
    transform: translate(-54%, -56%) !important;
  }

  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    transform: translate(-46%, -56%) !important;
  }

  .nftf-modal .nftf__navbtn--back:hover .nftf__navglyph,
  .nftf-modal .nftf__navbtn--back:focus-visible .nftf__navglyph,
  .nftf-modal .nftf__navbtn--back:active .nftf__navglyph {
    color: #8a8a8a !important;
  }
}

/* --- Auswahlsteps: in 720–844px Höhe nie nach unten abgeschnitten. --- */
@media (max-width: 900px) {
  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__options {
    gap: clamp(5px, .85vh, 9px) !important;
  }

  .nftf-modal .nftf__screen[data-nftf-screen="1"] .nftf__option,
  .nftf-modal .nftf__screen[data-nftf-screen="2"] .nftf__option,
  .nftf-modal .nftf__screen[data-nftf-screen="4"] .nftf__option {
    min-height: 0 !important;
  }
}

/* V1.8.0 · QA corrections: one single arc + optical chevron centering */
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat-arc circle {
  vector-effect: none !important;
}

/* Navigation gets a geometrically drawn chevron: no font-metric drift. */
.nftf-modal .nftf__navglyph {
  position: relative !important;
  display: inline-block !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: currentColor !important;
  transform: none !important;
}
.nftf-modal .nftf__navglyph::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2.5px solid currentColor;
  border-right: 2.5px solid currentColor;
  transform: translate(-58%, -50%) rotate(45deg);
  transform-origin: center;
}
.nftf-modal .nftf__navbtn--back .nftf__navglyph::before {
  transform: translate(-42%, -50%) rotate(-135deg);
}

@media (min-width: 901px) {
  .nftf-modal .nftf__navglyph {
    width: 12px !important;
    height: 16px !important;
    top: auto !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }
  .nftf-modal .nftf__navglyph::before {
    width: 10px;
    height: 10px;
    border-width: 3.6px 3.6px 0 0;
    transform: translate(-58%, -50%) rotate(45deg);
  }
  .nftf-modal .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-42%, -50%) rotate(-135deg);
  }
}

@media (max-width: 900px) and (min-height: 800px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v180 {
    width: min(100%, 360px) !important;
    max-height: 328px !important;
    min-height: 272px !important;
    gap: 7px 26px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 126px !important;
    height: 126px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 140px !important;
    height: 140px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring strong {
    font-size: 49px !important;
  }
  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 56px !important;
  }
  .nftf-modal .nftf__start-facts--v180::before {
    top: 63px !important;
  }
  .nftf-modal .nftf__start-facts--v180::after {
    top: 126px !important;
    height: 31px !important;
  }
}

/* ========================================================================
   V1.8.1 · FINAL MICRO POLISH
   Architektonische Rail-Textur · filigranere Faktensegmente ·
   saubere Mobile-Brandingbalance · eindeutige Chevron-Zentrierung
   ======================================================================== */

/* --- Sicherheitsnetz: Nav-Glyphs zeigen nur die gezeichnete Form, nie Text. --- */
.nftf-modal .nftf__navglyph {
  color: currentColor !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

/* --- Filigrane Fakt-Segmente mit stärkerer Variation. --- */
.nftf-modal .nftf__start-facts--v180 .nftf__start-stat-arc circle {
  stroke-width: 4.15 !important;
  stroke-linecap: round !important;
}

.nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(1) .nftf__start-stat-arc circle {
  stroke-dasharray: 34 271 !important;
  transform: rotate(-141deg) !important;
}

.nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(2) .nftf__start-stat-arc circle {
  stroke-dasharray: 52 253 !important;
  transform: rotate(-101deg) !important;
}

.nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-arc circle {
  stroke-dasharray: 40 265 !important;
  transform: rotate(-63deg) !important;
}

/* --- Desktop: ruhiger, präziser und etwas hochwertiger. --- */
@media (min-width: 901px) {
  .nftf-modal .nftf__start-facts--v180 {
    gap: clamp(38px, 5.2vw, 76px) !important;
  }

  .nftf-modal .nftf__start-facts--v180::before {
    top: 82px !important;
    left: 8% !important;
    right: 8% !important;
    height: 1px !important;
    background:
      linear-gradient(90deg,
        rgba(0,0,0,0) 0%,
        #d8d8d8 10%,
        #d8d8d8 90%,
        rgba(0,0,0,0) 100%) !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 164px !important;
    height: 164px !important;
    border-width: 1.55px !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.038) !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-copy b {
    letter-spacing: .1em !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-copy small {
    color: #717171 !important;
  }

  /* Rail-Branding: moderner Reißbrett-/Dotwork-Hintergrund statt zu brav. */
  .nftf-modal .nftf__rail-brand {
    min-height: 128px !important;
    padding: 20px 14px 12px !important;
    background:
      radial-gradient(circle at 18px 19px, rgba(219,0,0,.96) 0 1.1px, transparent 1.5px),
      radial-gradient(circle at 54px 36px, rgba(255,255,255,.08) 0 1px, transparent 1.4px),
      radial-gradient(circle at 122px 18px, rgba(255,255,255,.055) 0 1px, transparent 1.4px),
      radial-gradient(circle at 208px 56px, rgba(255,255,255,.04) 0 1px, transparent 1.4px),
      radial-gradient(circle at 238px 90px, rgba(219,0,0,.18) 0 1.15px, transparent 1.5px),
      linear-gradient(90deg, transparent 0, transparent 100%);
    background-repeat: no-repeat !important;
  }

  .nftf-modal .nftf__rail-brand-lines {
    top: -26px !important;
    left: -46px !important;
    width: 214px !important;
    height: 214px !important;
    border: 1px solid rgba(255,255,255,.045) !important;
    border-radius: 50% !important;
    background:
      radial-gradient(circle at 38% 38%, rgba(255,255,255,.035) 0 1px, transparent 1.5px),
      radial-gradient(circle at 70% 22%, rgba(255,255,255,.03) 0 1px, transparent 1.45px),
      radial-gradient(circle at 76% 74%, rgba(219,0,0,.12) 0 1.1px, transparent 1.5px);
    clip-path: inset(0 16% 10% 0);
  }

  .nftf-modal .nftf__rail-brand-lines::before,
  .nftf-modal .nftf__rail-brand-lines::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
  }

  .nftf-modal .nftf__rail-brand-lines::before {
    inset: 28px;
    border: 1px solid rgba(255,255,255,.038);
    border-right-color: rgba(255,255,255,.015);
    border-bottom-color: rgba(255,255,255,.02);
  }

  .nftf-modal .nftf__rail-brand-lines::after {
    inset: 58px;
    border: 1px solid rgba(219,0,0,.18);
    border-left-color: rgba(255,255,255,.018);
    border-bottom-color: rgba(255,255,255,.012);
  }

  .nftf-modal .nftf__rail-brand img {
    width: min(100%, 246px) !important;
  }

  .nftf-modal .nftf__rail-brand-word {
    margin-top: 2px !important;
    margin-right: 5px !important;
    color: rgba(255,255,255,.83) !important;
    font-family: "Snell Roundhand", "Apple Chancery", "Segoe Script", cursive !important;
    font-size: 27px !important;
    font-weight: 500 !important;
    line-height: .95 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transform: rotate(-5deg) !important;
  }

  .nftf-modal .nftf__navglyph {
    width: 13px !important;
    height: 17px !important;
  }

  .nftf-modal .nftf__navglyph::before {
    width: 8px !important;
    height: 8px !important;
    border-top-width: 2.2px !important;
    border-right-width: 2.2px !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-55%, -50%) rotate(45deg) !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-45%, -50%) rotate(-135deg) !important;
  }
}

/* --- Mobile: Logo besser im Flow und Facts füllen die verfügbare Bühne aus. --- */
@media (max-width: 900px) {
  .nftf-modal .nftf__start-brand {
    margin: 0 auto 4px !important;
    gap: 2px !important;
  }

  .nftf-modal .nftf__start-brand img {
    width: min(182px, 54vw) !important;
  }

  .nftf-modal .nftf__start-brand span {
    color: #585858 !important;
    font-size: 7.2px !important;
    letter-spacing: .2em !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v180 {
    position: relative !important;
    width: min(100%, 360px) !important;
    min-height: 266px !important;
    max-height: 336px !important;
    gap: 8px 24px !important;
    margin: 8px auto 0 !important;
    padding: 2px 0 0 !important;
    background:
      radial-gradient(circle at 50% 57%, rgba(0,0,0,.065) 0 1px, transparent 1.5px),
      radial-gradient(circle at 24% 22%, rgba(0,0,0,.045) 0 1px, transparent 1.5px),
      radial-gradient(circle at 76% 22%, rgba(0,0,0,.045) 0 1px, transparent 1.5px),
      linear-gradient(0deg, transparent 0, transparent 100%) !important;
    background-repeat: no-repeat !important;
  }

  .nftf-modal .nftf__start-facts--v180::before {
    top: 58px !important;
    left: 21% !important;
    right: 21% !important;
    height: 1px !important;
    background:
      linear-gradient(90deg,
        rgba(0,0,0,0) 0%,
        #d6d6d6 14%,
        #d6d6d6 86%,
        rgba(0,0,0,0) 100%) !important;
  }

  .nftf-modal .nftf__start-facts--v180::after {
    top: 116px !important;
    height: 42px !important;
    width: 1px !important;
    background:
      linear-gradient(180deg,
        rgba(0,0,0,0) 0%,
        #d6d6d6 18%,
        #d6d6d6 82%,
        rgba(0,0,0,0) 100%) !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat {
    gap: 5px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 118px !important;
    height: 118px !important;
    border-width: 1.35px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.05) !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) {
    width: 62% !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 136px !important;
    height: 136px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring strong {
    font-size: 46px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 54px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring small {
    font-size: 8px !important;
    letter-spacing: .11em !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-copy b {
    font-size: 10px !important;
    letter-spacing: .11em !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-arc circle {
    stroke-width: 3.65 !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(1) .nftf__start-stat-arc circle {
    stroke-dasharray: 30 275 !important;
    transform: rotate(-144deg) !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(2) .nftf__start-stat-arc circle {
    stroke-dasharray: 44 261 !important;
    transform: rotate(-100deg) !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-arc circle {
    stroke-dasharray: 52 253 !important;
    transform: rotate(-60deg) !important;
  }

  .nftf-modal .nftf__navbtn--back,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .nftf-modal .nftf__navglyph::before {
    width: 10px !important;
    height: 10px !important;
    border-top-width: 3px !important;
    border-right-width: 3px !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-54%, -50%) rotate(45deg) !important;
  }

  .nftf-modal .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-46%, -50%) rotate(-135deg) !important;
  }
}

@media (max-width: 900px) and (min-height: 800px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v180 {
    width: min(100%, 368px) !important;
    min-height: 278px !important;
    max-height: 344px !important;
    gap: 9px 26px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 124px !important;
    height: 124px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 144px !important;
    height: 144px !important;
  }

  .nftf-modal .nftf__start-facts--v180::before {
    top: 62px !important;
  }

  .nftf-modal .nftf__start-facts--v180::after {
    top: 124px !important;
    height: 44px !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf__start-brand img {
    width: min(150px, 46vw) !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v180 {
    width: min(100%, 300px) !important;
    min-height: 196px !important;
    max-height: 230px !important;
    gap: 3px 18px !important;
    margin-top: 3px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring {
    width: 84px !important;
    height: 84px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 96px !important;
    height: 96px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring strong {
    font-size: 32px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 37px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-ring small {
    font-size: 6.8px !important;
  }

  .nftf-modal .nftf__start-facts--v180 .nftf__start-stat-copy b {
    font-size: 8px !important;
  }

  .nftf-modal .nftf__start-facts--v180::before {
    top: 42px !important;
  }

  .nftf-modal .nftf__start-facts--v180::after {
    top: 84px !important;
    height: 26px !important;
  }
}

/* ========================================================================
   V1.9.0 · MOCKUP IMPLEMENTATION / FINAL BRAND POLISH
   Hypercar-Sketch-Architektur · Graffiti-Signatur · variable Fact-Arcs
   ======================================================================== */

/* Gemeinsame Blueprint-Linien: bewusst filigran, keine flächigen Verläufe. */
.nftf-modal .nftf__facts-blueprint,
.nftf-modal .nftf__rail-blueprint {
  pointer-events: none;
  user-select: none;
}

.nftf-modal .nftf__facts-blueprint {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  opacity: .58;
}

.nftf-modal .nftf__facts-blueprint path,
.nftf-modal .nftf__facts-blueprint polyline,
.nftf-modal .nftf__facts-blueprint line {
  fill: none;
  stroke: #c9c9c9;
  stroke-width: .9;
  vector-effect: non-scaling-stroke;
}

.nftf-modal .nftf__facts-blueprint circle {
  fill: #fff;
  stroke: #a9a9a9;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.nftf-modal .nftf__facts-blueprint .nftf__facts-hatch line {
  stroke: #b9b9b9;
  stroke-width: .65;
}

.nftf-modal .nftf__facts-blueprint--mobile {
  display: none;
}

.nftf-modal .nftf__start-facts--v190 > .nftf__start-stat {
  z-index: 2;
}

/* Rote Segmente: dünner, unterschiedlich lang und unterschiedlich positioniert. */
.nftf-modal .nftf__start-facts--v190 .nftf__start-stat-arc circle {
  stroke-width: 3.15 !important;
  stroke-linecap: round !important;
}

.nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(1) .nftf__start-stat-arc circle {
  stroke-dasharray: 27 278 !important;
  transform: rotate(-151deg) !important;
}

.nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(2) .nftf__start-stat-arc circle {
  stroke-dasharray: 44 261 !important;
  transform: rotate(-98deg) !important;
}

.nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-arc circle {
  stroke-dasharray: 36 269 !important;
  transform: rotate(-37deg) !important;
}

/* Graffiti-Signatur: typografische Spray-/Marker-Anmutung ohne externes Font-Asset. */
.nftf-modal .nftf__graffiti {
  position: relative;
  display: inline-grid;
  width: max-content;
  max-width: 100%;
  transform-origin: center;
  font-family: "Marker Felt", "Chalkboard SE", "Noteworthy", "Segoe Print", "Comic Sans MS", cursive;
  text-transform: none;
}

.nftf-modal .nftf__graffiti strong {
  position: relative;
  display: block;
  font-family: inherit;
  font-size: 32px;
  font-weight: 900;
  font-style: normal;
  line-height: .88;
  letter-spacing: -.07em;
  white-space: nowrap;
  transform: skewX(-8deg);
  -webkit-text-stroke: .3px currentColor;
}

.nftf-modal .nftf__graffiti strong::after {
  content: "";
  position: absolute;
  left: 7%;
  right: -2%;
  bottom: -7px;
  height: 3px;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  transform: rotate(-4deg) skewX(-16deg);
  opacity: .75;
}

.nftf-modal .nftf__graffiti small {
  justify-self: end;
  margin-top: 8px;
  margin-right: 4px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
  transform: rotate(-5deg);
}

.nftf-modal .nftf__graffiti--mobile {
  display: none;
}

/* Rail: komplett neue Hypercar-/Reißbrett-Untermalung. */
.nftf-modal .nftf__rail-brand {
  isolation: isolate;
  min-height: 144px !important;
  margin-top: auto !important;
  padding: 17px 12px 10px !important;
  overflow: hidden !important;
}

.nftf-modal .nftf__rail-brand::before {
  top: 18px !important;
  width: 36px !important;
  height: 2px !important;
}

.nftf-modal .nftf__rail-brand::after {
  top: 9px !important;
  right: 12px !important;
  height: 78px !important;
  background: rgba(219,0,0,.48) !important;
}

.nftf-modal .nftf__rail-brand-lines {
  display: none !important;
}

.nftf-modal .nftf__rail-blueprint {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .75;
}

.nftf-modal .nftf__rail-blueprint .nftf__bp-line,
.nftf-modal .nftf__rail-blueprint .nftf__bp-hatch line {
  fill: none;
  stroke: rgba(255,255,255,.16);
  stroke-width: .85;
  vector-effect: non-scaling-stroke;
}

.nftf-modal .nftf__rail-blueprint .nftf__bp-line--soft {
  stroke: rgba(255,255,255,.075);
}

.nftf-modal .nftf__rail-blueprint .nftf__bp-line--red {
  stroke: rgba(219,0,0,.52);
  stroke-width: 1;
}

.nftf-modal .nftf__rail-blueprint .nftf__bp-node {
  fill: #1d1d1d;
  stroke: rgba(255,255,255,.28);
  stroke-width: .8;
}

.nftf-modal .nftf__rail-blueprint .nftf__bp-node--red {
  fill: var(--nftf-red);
  stroke: var(--nftf-red);
}

.nftf-modal .nftf__rail-brand img {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 247px) !important;
  margin: 19px 0 3px !important;
  opacity: .94 !important;
}

.nftf-modal .nftf__graffiti--rail {
  z-index: 2;
  margin: 2px 7px 0 auto;
  color: rgba(255,255,255,.58);
  transform: rotate(-3deg);
}

.nftf-modal .nftf__graffiti--rail strong {
  font-size: 31px;
  text-shadow: 1px 0 rgba(255,255,255,.08), -1px 1px rgba(0,0,0,.5);
}

.nftf-modal .nftf__graffiti--rail small {
  color: rgba(255,255,255,.46);
  font-size: 14px;
}

/* Desktop Facts: mehr Raum für die feine technische Zeichnung. */
@media (min-width: 901px) {
  .nftf-modal .nftf__start-facts--v190 {
    width: min(100%, 900px) !important;
    min-height: 232px !important;
    margin-top: 23px !important;
    gap: clamp(42px, 5.5vw, 82px) !important;
  }

  .nftf-modal .nftf__start-facts--v190::before,
  .nftf-modal .nftf__start-facts--v190::after {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat::after {
    display: none !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring {
    width: 166px !important;
    height: 166px !important;
    border-width: 1.35px !important;
    box-shadow: 0 15px 32px rgba(0,0,0,.032) !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-copy b {
    font-size: 12px !important;
    letter-spacing: .11em !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-copy small {
    font-size: 11px !important;
    color: #777 !important;
  }
}

/* Mobile: Facts + Graffiti nutzen den bis dato freien Raum, ohne Scroll-Zwang. */
@media (max-width: 900px) {
  .nftf-modal .nftf__facts-blueprint--desktop {
    display: none !important;
  }

  .nftf-modal .nftf__facts-blueprint--mobile {
    display: block !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v190 {
    position: relative !important;
    flex: 0 0 auto !important;
    width: min(100%, 365px) !important;
    min-height: 286px !important;
    max-height: 286px !important;
    margin: 6px auto 0 !important;
    padding: 0 !important;
    gap: 8px 26px !important;
    background: transparent !important;
  }

  .nftf-modal .nftf__start-facts--v190::before,
  .nftf-modal .nftf__start-facts--v190::after {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring {
    width: 124px !important;
    height: 124px !important;
    border-width: 1.3px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.04) !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(3) {
    width: 64% !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 148px !important;
    height: 148px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring strong {
    font-size: 48px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 58px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring small {
    font-size: 8px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-copy b {
    font-size: 10px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat::after {
    display: none !important;
  }

  .nftf-modal .nftf__graffiti--mobile {
    position: absolute;
    z-index: 5;
    right: 22px;
    bottom: 76px;
    display: inline-grid;
    color: #686868;
    opacity: .88;
    transform: rotate(-4deg);
  }

  .nftf-modal .nftf__graffiti--mobile strong {
    font-size: clamp(31px, 9vw, 39px);
    text-shadow: 1px 1px rgba(0,0,0,.05);
  }

  .nftf-modal .nftf__graffiti--mobile small {
    color: #777;
    font-size: clamp(14px, 4vw, 18px);
  }
}

/* Auf kleinen Höhen wird die Signatur kompakter – der Finder bleibt viewportfest. */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf__start-facts.nftf__start-facts--v190 {
    width: min(100%, 300px) !important;
    min-height: 202px !important;
    max-height: 202px !important;
    gap: 3px 18px !important;
    margin-top: 2px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring {
    width: 86px !important;
    height: 86px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 98px !important;
    height: 98px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring strong {
    font-size: 33px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 38px !important;
  }

  .nftf-modal .nftf__graffiti--mobile {
    right: 18px;
    bottom: 72px;
    transform: rotate(-3deg) scale(.78);
    transform-origin: right bottom;
  }
}

/* ========================================================================
   V1.9.1 · FINAL MOCKUP ALIGNMENT
   ======================================================================== */

/* Nav-Glyphs: exakt ein Chevron, optisch sauber zentriert. */
.nftf-modal .nftf__navglyph {
  display: block !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.nftf-modal .nftf__navglyph::after {
  content: none !important;
}

.nftf-modal .nftf__navbtn--back .nftf__navglyph,
.nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
  position: absolute !important;
  inset: 0 !important;
}

.nftf-modal .nftf__navglyph::before {
  top: 50% !important;
  left: 50% !important;
}

/* Desktop: linke Profilkachel nah am Mockup, mit ruhiger technischer Zeichnung. */
@media (min-width: 901px) {
  .nftf-modal .nftf__rail-brand {
    min-height: 140px !important;
    padding: 16px 14px 11px !important;
  }

  .nftf-modal .nftf__rail-blueprint {
    opacity: .92 !important;
  }

  .nftf-modal .nftf__rail-blueprint .nftf__bp-line,
  .nftf-modal .nftf__rail-blueprint .nftf__bp-hatch line {
    stroke: rgba(255,255,255,.115) !important;
    stroke-width: .82 !important;
  }

  .nftf-modal .nftf__rail-blueprint .nftf__bp-line--soft {
    stroke: rgba(255,255,255,.055) !important;
  }

  .nftf-modal .nftf__rail-blueprint .nftf__bp-line--red {
    stroke: rgba(219,0,0,.58) !important;
    stroke-width: .95 !important;
  }

  .nftf-modal .nftf__rail-blueprint .nftf__bp-node {
    stroke: rgba(255,255,255,.24) !important;
  }

  .nftf-modal .nftf__graffiti--rail {
    margin-right: 2px !important;
    color: rgba(255,255,255,.64) !important;
    transform: rotate(-4deg) !important;
  }

  .nftf-modal .nftf__graffiti--rail strong {
    font-size: 35px !important;
  }

  .nftf-modal .nftf__graffiti--rail small {
    font-size: 15px !important;
    color: rgba(255,255,255,.5) !important;
  }
}

/* Mobile: exakt nah ans Mockup – saubere Bühne, keine Überlagerungen, voller CTA. */
@media (max-width: 900px) {
  .nftf-modal .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
  }

  .nftf-modal .nftf__start-brand {
    display: inline-grid !important;
    justify-items: center !important;
    margin: 2px auto 10px !important;
    padding: 0 0 10px !important;
    gap: 2px !important;
    border-bottom: 1px solid #e3e3e3 !important;
  }

  .nftf-modal .nftf__start-brand img {
    width: min(212px, 62vw) !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf__start-brand span {
    min-height: auto !important;
    padding: 0 !important;
    border-left: 0 !important;
    color: #4f4f4f !important;
    font-size: 6.9px !important;
    letter-spacing: .22em !important;
  }

  .nftf-modal .nftf__start .nftf__screen-kicker {
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf__start h3 {
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf__start > p {
    margin-bottom: 12px !important;
  }

  .nftf-modal .nftf__facts-blueprint--mobile {
    display: none !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v190 {
    position: relative !important;
    width: min(100%, 348px) !important;
    min-height: 284px !important;
    max-height: none !important;
    margin: 4px auto 2px !important;
    padding: 0 !important;
    gap: 8px 28px !important;
    align-content: start !important;
    justify-content: center !important;
    background: transparent !important;
  }

  .nftf-modal .nftf__start-facts--v190::before {
    content: "" !important;
    position: absolute !important;
    top: 65px !important;
    left: 72px !important;
    right: 72px !important;
    height: 1px !important;
    background: #d8d8d8 !important;
    display: block !important;
  }

  .nftf-modal .nftf__start-facts--v190::after {
    content: "" !important;
    position: absolute !important;
    top: 132px !important;
    left: 50% !important;
    width: 1px !important;
    height: 38px !important;
    transform: translateX(-50%) !important;
    background: #d8d8d8 !important;
    display: block !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat {
    position: relative !important;
    z-index: 2 !important;
    gap: 6px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat::after {
    display: none !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring {
    width: 114px !important;
    height: 114px !important;
    border-width: 1.25px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.028) !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(3) {
    width: 100% !important;
    margin-top: -2px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 138px !important;
    height: 138px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring strong {
    font-size: 44px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 54px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring small {
    font-size: 8px !important;
    letter-spacing: .11em !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-copy b {
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-copy small {
    font-size: 9px !important;
    color: #767676 !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-arc circle {
    stroke-width: 3.4 !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(1) .nftf__start-stat-arc circle {
    stroke-dasharray: 22 283 !important;
    transform: rotate(-152deg) !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(2) .nftf__start-stat-arc circle {
    stroke-dasharray: 28 277 !important;
    transform: rotate(-112deg) !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(3) .nftf__start-stat-arc circle {
    stroke-dasharray: 40 265 !important;
    transform: rotate(-24deg) !important;
  }

  .nftf-modal .nftf__graffiti--mobile {
    position: static !important;
    display: inline-grid !important;
    align-self: flex-start !important;
    margin: 10px 0 6px !important;
    color: #686868 !important;
    opacity: .92 !important;
    transform: rotate(-4deg) !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf__graffiti--mobile strong {
    font-size: clamp(34px, 9vw, 40px) !important;
  }

  .nftf-modal .nftf__graffiti--mobile small {
    margin-top: 7px !important;
    margin-right: 8px !important;
    color: #7a7a7a !important;
    font-size: clamp(15px, 3.9vw, 17px) !important;
  }

  .nftf-modal .nftf__navrow--start {
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 10px !important;
  }

  .nftf-modal .nftf__navrow--start .nftf__nav-hint {
    display: none !important;
  }

  .nftf-modal .nftf__navbtn--start {
    width: 100% !important;
    min-width: 100% !important;
    justify-content: center !important;
  }

  .nftf-modal .nftf__navbtn--back,
  .nftf-modal .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
  }
}

/* Kleine Mobile-Höhen: gleiche Dramaturgie, nur kompakter. */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf__start-brand img {
    width: min(180px, 54vw) !important;
  }

  .nftf-modal .nftf__start h3 {
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf__start > p {
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf__start-facts.nftf__start-facts--v190 {
    width: min(100%, 292px) !important;
    min-height: 206px !important;
    gap: 4px 18px !important;
  }

  .nftf-modal .nftf__start-facts--v190::before {
    top: 46px !important;
    left: 56px !important;
    right: 56px !important;
  }

  .nftf-modal .nftf__start-facts--v190::after {
    top: 94px !important;
    height: 30px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring {
    width: 88px !important;
    height: 88px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring {
    width: 102px !important;
    height: 102px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-ring strong {
    font-size: 34px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat:nth-child(3) .nftf__start-stat-ring strong {
    font-size: 40px !important;
  }

  .nftf-modal .nftf__start-facts--v190 .nftf__start-stat-copy b {
    font-size: 8px !important;
  }

  .nftf-modal .nftf__graffiti--mobile {
    margin: 6px 0 4px !important;
    transform: rotate(-3deg) scale(.84) !important;
    transform-origin: left top !important;
  }
}

/* ========================================================================
   V2.0.0 · FINAL MOCKUP BUILD
   Visual layer rebuilt from the approved desktop/mobile mockups.
   Core funnel, pricing, checkout handoff and statistics are untouched.
   ======================================================================== */

/* ---------- shared mockup primitives ---------- */
.nftf-modal .nftf--v200 .nftf__facts-blueprint {
  opacity: .62 !important;
}
.nftf-modal .nftf--v200 .nftf__facts-blueprint .nftf__facts-grid line,
.nftf-modal .nftf--v200 .nftf__facts-blueprint .nftf__facts-hatch line {
  stroke: #d1d1d1 !important;
  stroke-width: .75 !important;
}
.nftf-modal .nftf--v200 .nftf__facts-blueprint .nftf__facts-nodes circle {
  fill: #fff !important;
  stroke: #a8a8a8 !important;
  stroke-width: .9 !important;
}

.nftf-modal .nftf--v200 .nftf__start-facts--v190::before,
.nftf-modal .nftf--v200 .nftf__start-facts--v190::after,
.nftf-modal .nftf--v200 .nftf__start-stat::after {
  content: none !important;
  display: none !important;
}

.nftf-modal .nftf--v200 .nftf__start-stat-ring::before {
  content: none !important;
  display: none !important;
}

.nftf-modal .nftf--v200 .nftf__start-stat-arc {
  inset: -2px !important;
  width: calc(100% + 4px) !important;
  height: calc(100% + 4px) !important;
  overflow: visible !important;
}
.nftf-modal .nftf--v200 .nftf__start-stat-arc circle {
  stroke: #db0000 !important;
  stroke-width: 3.1 !important;
  stroke-linecap: round !important;
  fill: none !important;
  transform-box: fill-box !important;
  transform-origin: center !important;
}
.nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(1) .nftf__start-stat-arc circle {
  stroke-dasharray: 29 276 !important;
  transform: rotate(-146deg) !important;
}
.nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(2) .nftf__start-stat-arc circle {
  stroke-dasharray: 43 262 !important;
  transform: rotate(-105deg) !important;
}
.nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-arc circle {
  stroke-dasharray: 38 267 !important;
  transform: rotate(-32deg) !important;
}

.nftf-modal .nftf--v200 .nftf__graffiti-img {
  display: block;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  user-select: none;
}

/* ---------- desktop / notebook ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v200 .nftf__shell {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .nftf-modal .nftf--v200 .nftf__rail {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: #191919 !important;
    border-radius: 8px !important;
  }

  .nftf-modal .nftf--v200 .nftf__rail > *:not(.nftf__rail-sketch) {
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v200 .nftf__rail-sketch {
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .78 !important;
    pointer-events: none !important;
  }

  .nftf-modal .nftf--v200 .nftf__rail-sketch-grid line {
    stroke: rgba(255,255,255,.032) !important;
    stroke-width: .75 !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-sketch-lines path,
  .nftf-modal .nftf--v200 .nftf__rail-sketch-lines circle {
    fill: none !important;
    stroke: rgba(255,255,255,.11) !important;
    stroke-width: .85 !important;
    vector-effect: non-scaling-stroke !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-sketch-hatch line {
    stroke: rgba(255,255,255,.09) !important;
    stroke-width: .7 !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-sketch-dots circle {
    fill: #191919 !important;
    stroke: rgba(255,255,255,.28) !important;
    stroke-width: .85 !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-sketch-red {
    fill: none !important;
    stroke: rgba(219,0,0,.82) !important;
    stroke-width: 1.15 !important;
  }

  .nftf-modal .nftf--v200 .nftf__rail-brand {
    position: relative !important;
    margin-top: auto !important;
    min-height: 156px !important;
    padding: 18px 10px 8px !important;
    background: transparent !important;
    overflow: visible !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-brand::before,
  .nftf-modal .nftf--v200 .nftf__rail-brand::after,
  .nftf-modal .nftf--v200 .nftf__rail-blueprint,
  .nftf-modal .nftf--v200 .nftf__rail-brand-lines,
  .nftf-modal .nftf--v200 .nftf__graffiti--rail,
  .nftf-modal .nftf--v200 .nftf__rail-brand-word {
    display: none !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-logo {
    width: min(100%, 242px) !important;
    margin: 10px auto 2px !important;
    filter: grayscale(1) brightness(3.5) contrast(.78) !important;
    opacity: .9 !important;
  }
  .nftf-modal .nftf--v200 .nftf__graffiti-img--rail {
    width: min(100%, 244px) !important;
    margin: -2px auto 0 !important;
    filter: invert(1) grayscale(1) contrast(.8) !important;
    opacity: .48 !important;
    transform: rotate(-2.5deg) !important;
  }

  .nftf-modal .nftf--v200 .nftf__stage {
    padding: 22px 40px 22px !important;
  }

  .nftf-modal .nftf--v200 .nftf__screen[data-nftf-screen="start"].is-active,
  .nftf-modal .nftf--v200 .nftf__start {
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v200 .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    max-width: 860px !important;
    padding-top: 4px !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-brand {
    margin-bottom: 13px !important;
  }

  .nftf-modal .nftf--v200 .nftf__start h3 {
    max-width: 815px !important;
    font-size: clamp(35px, 3.35vw, 51px) !important;
    line-height: .91 !important;
    letter-spacing: -.042em !important;
  }

  .nftf-modal .nftf--v200 .nftf__start > p {
    max-width: 790px !important;
    margin-top: 8px !important;
    font-size: 13px !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 {
    position: relative !important;
    flex: 0 0 auto !important;
    width: min(100%, 850px) !important;
    min-height: 210px !important;
    max-height: 210px !important;
    margin: 17px auto 0 !important;
    padding: 0 10px !important;
    gap: clamp(42px, 5vw, 74px) !important;
    align-items: start !important;
  }

  .nftf-modal .nftf--v200 .nftf__facts-blueprint--desktop {
    display: block !important;
    inset: 0 !important;
  }
  .nftf-modal .nftf--v200 .nftf__facts-blueprint--mobile {
    display: none !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-stat-ring {
    width: 152px !important;
    height: 152px !important;
    border: 1.4px solid #1d1d1d !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.035) !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring::after {
    inset: 12px !important;
    border: 1px solid #e0e0e0 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat--accent .nftf__start-stat-ring {
    border-color: #1b1b1b !important;
    background: #1b1b1b !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring strong {
    font-size: 53px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring small {
    font-size: 8px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy {
    margin-top: 4px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy b {
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy small {
    font-size: 10px !important;
    color: #737373 !important;
  }

  /* approved mockup: graffiti becomes a deliberate start-screen brand moment */
  .nftf-modal .nftf--v200 .nftf__graffiti-img--mobile {
    position: relative !important;
    display: block !important;
    align-self: center !important;
    width: min(55%, 480px) !important;
    max-height: 98px !important;
    margin: -2px auto 5px !important;
    opacity: .46 !important;
    transform: rotate(-1.7deg) !important;
    filter: grayscale(1) contrast(.9) !important;
  }

  .nftf-modal .nftf--v200 .nftf__navrow--start {
    margin-top: auto !important;
    min-height: 54px !important;
    padding-top: 12px !important;
  }
}

/* ---------- mobile mockup ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v200 .nftf__rail-sketch {
    display: none !important;
  }

  .nftf-modal .nftf--v200 .nftf__screen[data-nftf-screen="start"].is-active {
    padding-bottom: 64px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v200 .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-brand {
    display: grid !important;
    justify-items: center !important;
    width: fit-content !important;
    max-width: 76% !important;
    margin: 0 auto 8px !important;
    padding: 0 0 8px !important;
    gap: 2px !important;
    border: 0 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-brand img {
    width: min(205px, 61vw) !important;
    max-width: 100% !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-brand span {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    color: #565656 !important;
    font-size: 7px !important;
    letter-spacing: .22em !important;
  }

  .nftf-modal .nftf--v200 .nftf__start .nftf__screen-kicker {
    margin: 0 0 7px !important;
    font-size: 11px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start h3 {
    margin: 0 0 8px !important;
    font-size: clamp(31px, 8.1vw, 40px) !important;
    line-height: .94 !important;
    letter-spacing: -.043em !important;
  }
  .nftf-modal .nftf--v200 .nftf__start > p {
    margin: 0 0 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 {
    position: relative !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100%, 350px) !important;
    min-height: 252px !important;
    max-height: 252px !important;
    margin: 4px auto 0 !important;
    padding: 0 6px !important;
    gap: 5px 28px !important;
    align-content: start !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v200 .nftf__facts-blueprint--desktop {
    display: none !important;
  }
  .nftf-modal .nftf--v200 .nftf__facts-blueprint--mobile {
    display: block !important;
    inset: 0 !important;
    height: 100% !important;
    opacity: .48 !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-stat {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    justify-items: center !important;
    align-content: start !important;
    gap: 4px !important;
    width: 100% !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: 58% !important;
    margin-top: -2px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-index {
    display: none !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring {
    width: 108px !important;
    height: 108px !important;
    border: 1.35px solid #171717 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.03) !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring::after {
    inset: 11px !important;
    border: 1px solid #dedede !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 124px !important;
    height: 124px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring strong {
    font-size: 42px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 49px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring small {
    margin-top: 4px !important;
    font-size: 7px !important;
    letter-spacing: .11em !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy {
    margin-top: 1px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy b {
    font-size: 9px !important;
    letter-spacing: .12em !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy small {
    display: none !important;
  }

  .nftf-modal .nftf--v200 .nftf__start-stat-arc circle {
    stroke-width: 3 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(1) .nftf__start-stat-arc circle {
    stroke-dasharray: 24 281 !important;
    transform: rotate(-148deg) !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(2) .nftf__start-stat-arc circle {
    stroke-dasharray: 32 273 !important;
    transform: rotate(-106deg) !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-arc circle {
    stroke-dasharray: 36 269 !important;
    transform: rotate(-29deg) !important;
  }

  /* Raster graffiti taken from the approved mockup rather than a font approximation. */
  .nftf-modal .nftf--v200 .nftf__graffiti-img--mobile {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    align-self: center !important;
    width: min(90%, 340px) !important;
    max-height: 91px !important;
    margin: 4px auto 5px !important;
    opacity: .69 !important;
    transform: rotate(-1.3deg) !important;
    filter: grayscale(1) contrast(.96) !important;
  }

  .nftf-modal .nftf--v200 .nftf__navrow--start {
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    min-height: 54px !important;
  }
  .nftf-modal .nftf--v200 .nftf__navrow--start .nftf__nav-hint {
    display: none !important;
  }
  .nftf-modal .nftf--v200 .nftf__navbtn--start {
    width: 100% !important;
    min-width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    letter-spacing: .08em !important;
  }

  /* navigation: one crisp chevron, no duplicated glyphs */
  .nftf-modal .nftf--v200 .nftf__navbtn--back,
  .nftf-modal .nftf--v200 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    border-width: 1.25px !important;
  }
  .nftf-modal .nftf--v200 .nftf__navglyph {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    text-indent: -9999px !important;
    font-size: 0 !important;
    overflow: hidden !important;
  }
  .nftf-modal .nftf--v200 .nftf__navglyph::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 8px !important;
    height: 8px !important;
    border-top: 2.7px solid currentColor !important;
    border-right: 2.7px solid currentColor !important;
    transform: translate(-56%, -50%) rotate(45deg) !important;
  }
  .nftf-modal .nftf--v200 .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-44%, -50%) rotate(-135deg) !important;
  }
  .nftf-modal .nftf--v200 .nftf__navglyph::after {
    content: none !important;
    display: none !important;
  }
}

/* Compact phones: keep the approved hierarchy without forcing page scroll. */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v200 .nftf__start-brand {
    margin-bottom: 4px !important;
    padding-bottom: 4px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-brand img {
    width: min(164px, 50vw) !important;
  }
  .nftf-modal .nftf--v200 .nftf__start .nftf__screen-kicker {
    margin-bottom: 4px !important;
    font-size: 9px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start h3 {
    margin-bottom: 5px !important;
    font-size: clamp(25px, 7vw, 31px) !important;
  }
  .nftf-modal .nftf--v200 .nftf__start > p {
    margin-bottom: 4px !important;
    font-size: 10px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 {
    width: min(100%, 292px) !important;
    min-height: 190px !important;
    max-height: 190px !important;
    gap: 2px 18px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring {
    width: 78px !important;
    height: 78px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 90px !important;
    height: 90px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring strong {
    font-size: 30px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 35px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-ring small {
    font-size: 6px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-stat-copy b {
    font-size: 7px !important;
  }
  .nftf-modal .nftf--v200 .nftf__graffiti-img--mobile {
    width: min(79%, 250px) !important;
    max-height: 59px !important;
    margin: 2px auto 2px !important;
  }
  .nftf-modal .nftf--v200 .nftf__navbtn--start {
    height: 44px !important;
    min-height: 44px !important;
  }
}

/* V2.0.0 QA: explicit mobile fact placement prevents legacy nth-child rules from
   moving the first fact into the center row when blueprint SVGs are present. */
@media (max-width: 900px) {
  .nftf-modal .nftf--v200 .nftf__start-facts--v190 > .nftf__start-stat {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts--v190 > .nftf__start-stat:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts--v190 > .nftf__start-stat:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts--v190 > .nftf__start-stat:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    width: 60% !important;
    margin: -5px auto 0 !important;
  }
}

/* V2.0.0 final specificity guard for fact ordering/sizing after legacy layers. */
@media (max-width: 900px) {
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    width: 60% !important;
    margin: -12px auto 0 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring,
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring {
    width: 108px !important;
    height: 108px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 122px !important;
    height: 122px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring strong,
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring strong {
    font-size: 42px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 48px !important;
  }
  .nftf-modal .nftf--v200 .nftf__graffiti-img--mobile {
    width: min(88%, 330px) !important;
    max-height: 82px !important;
    margin: 7px auto 3px !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring,
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring {
    width: 78px !important;
    height: 78px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 90px !important;
    height: 90px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring strong,
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring strong {
    font-size: 30px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 35px !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) {
    margin-top: -8px !important;
  }
  .nftf-modal .nftf--v200 .nftf__graffiti-img--mobile {
    width: min(78%, 240px) !important;
    max-height: 54px !important;
    margin: 3px auto 1px !important;
  }
}

@media (min-width: 901px) {
  .nftf-modal .nftf--v200 .nftf__graffiti-img--mobile {
    width: min(58%, 520px) !important;
    max-height: none !important;
    height: auto !important;
    margin: -5px auto 4px !important;
  }
}

@media (min-width: 901px) {
  .nftf-modal .nftf--v200 .nftf__start-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    padding: 7px 12px 7px 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-brand img {
    display: block !important;
    width: clamp(180px, 17vw, 236px) !important;
    max-width: 58% !important;
    height: auto !important;
  }
  .nftf-modal .nftf--v200 .nftf__start-brand span {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding-left: 12px !important;
    border-left: 2px solid #db0000 !important;
    color: #191919 !important;
    font-size: 9px !important;
    letter-spacing: .16em !important;
  }
  .nftf-modal .nftf--v200 .nftf__rail-logo {
    display: block !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* =========================================================
   NIPPON FITNESS TARIF-FINDER · FINAL VISUAL UPDATE 2.0.1
   Approved mockup alignment: desktop + mobile start, cleaner rail
   ========================================================= */

.nftf-modal .nftf--v201 .nftf__start-watermark {
  display: none !important;
}

.nftf-modal .nftf--v201 .nftf__start-brand-logo--desktop,
.nftf-modal .nftf--v201 .nftf__start-brand-logo--mobile {
  display: block;
  height: auto;
  object-fit: contain;
}

.nftf-modal .nftf--v201 .nftf__start-topclaim,
.nftf-modal .nftf--v201 .nftf__start-orbit {
  display: none;
}

/* ---------- Desktop / notebook ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v201 .nftf__shell {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 50% 0, rgba(255,255,255,.045), transparent 40%),
      linear-gradient(180deg, #161616 0%, #121212 100%) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03) !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail > *:not(.nftf__rail-sketch) {
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .9 !important;
    pointer-events: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch-grid line {
    stroke: rgba(255,255,255,.038) !important;
    stroke-width: .8 !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch-lines path,
  .nftf-modal .nftf--v201 .nftf__rail-sketch-lines circle {
    fill: none !important;
    stroke: rgba(255,255,255,.15) !important;
    stroke-width: .95 !important;
    vector-effect: non-scaling-stroke !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch-hatch line {
    stroke: rgba(255,255,255,.11) !important;
    stroke-width: .72 !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch-dots circle {
    fill: #151515 !important;
    stroke: rgba(255,255,255,.34) !important;
    stroke-width: .9 !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch-red {
    fill: none !important;
    stroke: rgba(219,0,0,.86) !important;
    stroke-width: 1.18 !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-head {
    padding-bottom: 10px !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-score strong {
    font-size: 58px !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-brand {
    position: relative !important;
    margin-top: auto !important;
    min-height: 170px !important;
    padding: 22px 12px 8px !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-logo {
    width: min(100%, 242px) !important;
    margin: 8px auto 8px !important;
    filter: grayscale(1) brightness(12) contrast(.92) !important;
    opacity: .98 !important;
  }

  .nftf-modal .nftf--v201 .nftf__graffiti-img--rail {
    display: block !important;
    width: min(100%, 246px) !important;
    margin: 4px auto 0 !important;
    filter: invert(1) grayscale(1) contrast(.94) !important;
    opacity: .8 !important;
    transform: rotate(-2.2deg) !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-foot {
    margin-top: 16px !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-foot p {
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: rgba(255,255,255,.88) !important;
  }

  .nftf-modal .nftf--v201 .nftf__stage {
    padding: 22px 40px 20px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: 860px !important;
    padding-top: 4px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 7px 0 7px 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand-logo--desktop {
    width: clamp(198px, 17vw, 236px) !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand-logo--mobile {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand span {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding: 0 0 0 14px !important;
    border-left: 2px solid #db0000 !important;
    color: #191919 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }

  .nftf-modal .nftf--v201 .nftf__screen-kicker {
    margin: 4px 0 8px !important;
    font-size: 12px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start h3 {
    max-width: 815px !important;
    margin: 0 !important;
    font-size: clamp(35px, 3.35vw, 51px) !important;
    line-height: .91 !important;
    letter-spacing: -.042em !important;
  }

  .nftf-modal .nftf--v201 .nftf__start > p {
    max-width: 790px !important;
    margin: 10px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 {
    position: relative !important;
    flex: 0 0 auto !important;
    width: min(100%, 850px) !important;
    min-height: 214px !important;
    max-height: 214px !important;
    margin: 18px auto 0 !important;
    padding: 0 10px !important;
    gap: clamp(42px, 5vw, 74px) !important;
    align-items: start !important;
  }

  .nftf-modal .nftf--v201 .nftf__facts-blueprint--desktop {
    display: block !important;
    inset: 0 !important;
  }

  .nftf-modal .nftf--v201 .nftf__facts-blueprint--mobile,
  .nftf-modal .nftf--v201 .nftf__start-orbit {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-ring {
    width: 152px !important;
    height: 152px !important;
    border: 1.45px solid #1d1d1d !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.035) !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-ring::after {
    inset: 12px !important;
    border: 1px solid #e0e0e0 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat--accent .nftf__start-stat-ring {
    border-color: #1b1b1b !important;
    background: #1b1b1b !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-ring strong {
    font-size: 53px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-ring small {
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-copy {
    margin-top: 4px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-copy b {
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-copy small {
    font-size: 10px !important;
    color: #737373 !important;
  }

  .nftf-modal .nftf--v201 .nftf__graffiti-img--mobile {
    position: relative !important;
    display: block !important;
    align-self: center !important;
    width: min(60%, 520px) !important;
    max-height: none !important;
    height: auto !important;
    margin: 8px auto 4px !important;
    opacity: .56 !important;
    transform: rotate(-1.8deg) !important;
    filter: grayscale(1) contrast(.95) !important;
  }

  .nftf-modal .nftf--v201 .nftf__navrow--start {
    margin-top: auto !important;
    min-height: 54px !important;
    padding-top: 14px !important;
  }

  .nftf-modal .nftf--v201 .nftf__navrow--start .nftf__nav-hint {
    font-size: 12px !important;
    color: #696969 !important;
  }

  .nftf-modal .nftf--v201 .nftf__result-hero {
    background: linear-gradient(90deg, #151515 0%, #191919 45%, #141414 100%) !important;
    border-radius: 0 !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v201[data-nftf-current-screen="start"] .nftf__progress {
    display: none !important;
  }

  .nftf-modal .nftf--v201[data-nftf-current-screen="start"] .nftf__stage {
    padding-top: 0 !important;
  }

  .nftf-modal .nftf--v201 .nftf__rail-sketch {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__screen[data-nftf-screen="start"].is-active {
    padding-bottom: 64px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v201 .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 16px !important;
    margin: 0 0 12px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand {
    display: block !important;
    width: auto !important;
    max-width: 68% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand-logo--desktop {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand-logo--mobile {
    display: block !important;
    width: min(250px, 65vw) !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-brand span {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-topclaim {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-top: 2px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-topclaim i {
    display: block !important;
    width: 1px !important;
    height: 82px !important;
    background: #d8d8d8 !important;
    flex: 0 0 1px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-topclaim span {
    display: block !important;
    color: #8b8b8b !important;
    font-size: 10px !important;
    line-height: 1.62 !important;
    letter-spacing: .34em !important;
    font-weight: 500 !important;
    text-align: left !important;
    text-transform: uppercase !important;
  }

  .nftf-modal .nftf--v201 .nftf__screen-kicker {
    margin: 0 0 10px !important;
    font-size: 11px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start h3 {
    margin: 0 0 10px !important;
    font-size: clamp(33px, 8.9vw, 56px) !important;
    line-height: .93 !important;
    letter-spacing: -.043em !important;
  }

  .nftf-modal .nftf--v201 .nftf__start > p {
    margin: 0 0 10px !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 {
    position: relative !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100%, 362px) !important;
    min-height: 286px !important;
    max-height: 286px !important;
    margin: 8px auto 0 !important;
    padding: 0 6px !important;
    gap: 8px 28px !important;
    align-content: start !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v201 .nftf__facts-blueprint--desktop {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__facts-blueprint--mobile {
    display: block !important;
    inset: 0 !important;
    height: 100% !important;
    opacity: .72 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit {
    position: absolute !important;
    z-index: 1 !important;
    display: block !important;
    color: #8c8c8c !important;
    font-size: 8px !important;
    line-height: 1.4 !important;
    letter-spacing: .28em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: normal !important;
    pointer-events: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit--center {
    top: 92px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit--left {
    left: 8px !important;
    bottom: 42px !important;
    text-align: left !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit--right {
    right: 8px !important;
    bottom: 42px !important;
    text-align: right !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    width: 62% !important;
    margin: -6px auto 0 !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring,
  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring {
    width: 116px !important;
    height: 116px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 138px !important;
    height: 138px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring strong,
  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring strong {
    font-size: 44px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 52px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-stat-copy small {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__graffiti-img--mobile {
    position: relative !important;
    display: block !important;
    align-self: center !important;
    width: min(92%, 394px) !important;
    max-height: none !important;
    height: auto !important;
    margin: 14px auto 6px !important;
    opacity: 1 !important;
    transform: rotate(-1.4deg) !important;
    filter: grayscale(1) contrast(.95) !important;
  }

  .nftf-modal .nftf--v201 .nftf__navrow--start {
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    min-height: auto !important;
  }

  .nftf-modal .nftf--v201 .nftf__navrow--start .nftf__nav-hint {
    display: none !important;
  }

  .nftf-modal .nftf--v201 .nftf__navbtn--start {
    width: 100% !important;
    min-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    letter-spacing: .08em !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v201 .nftf__start-brand-logo--mobile {
    width: min(214px, 58vw) !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-topclaim i {
    height: 72px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-topclaim span {
    font-size: 9px !important;
  }

  .nftf-modal .nftf--v201 .nftf__screen-kicker {
    margin-bottom: 6px !important;
    font-size: 9px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start h3 {
    margin-bottom: 6px !important;
    font-size: clamp(26px, 7vw, 33px) !important;
  }

  .nftf-modal .nftf--v201 .nftf__start > p {
    margin-bottom: 6px !important;
    font-size: 10px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 {
    width: min(100%, 304px) !important;
    min-height: 206px !important;
    max-height: 206px !important;
    gap: 2px 18px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring,
  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring {
    width: 82px !important;
    height: 82px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring {
    width: 96px !important;
    height: 96px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(1) .nftf__start-stat-ring strong,
  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(2) .nftf__start-stat-ring strong {
    font-size: 31px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-facts.nftf__start-facts--v190 > article.nftf__start-stat:nth-of-type(3) .nftf__start-stat-ring strong {
    font-size: 36px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit {
    font-size: 6px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit--center {
    top: 66px !important;
  }

  .nftf-modal .nftf--v201 .nftf__start-orbit--left,
  .nftf-modal .nftf--v201 .nftf__start-orbit--right {
    bottom: 30px !important;
  }

  .nftf-modal .nftf--v201 .nftf__graffiti-img--mobile {
    width: min(78%, 248px) !important;
    margin: 6px auto 2px !important;
  }

  .nftf-modal .nftf--v201 .nftf__navbtn--start {
    height: 44px !important;
    min-height: 44px !important;
  }
}

/* =========================================================
   V2.0.2 · RESPONSIVE FINISH / LIVE QA
   Mobile crown + full-width CTA · Desktop single brand lockup ·
   rail contrast · restored navigation · stable result grid
   ========================================================= */

.nftf-modal .nftf--v202 .nftf__start-brand-logo {
  display: block !important;
  height: auto !important;
  object-fit: contain !important;
}

.nftf-modal .nftf--v202 .nftf__start-brand-lockup {
  display: inline-grid !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.nftf-modal .nftf--v202 .nftf__start-brand-lockup small {
  display: block !important;
  color: #6f6f6f !important;
  font-size: 7px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .31em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Graffiti gets an unclipped crown overlay; the source crop stays untouched. */
.nftf-modal .nftf--v202 .nftf__graffiti-wrap {
  position: relative !important;
  display: block !important;
  align-self: center !important;
  overflow: visible !important;
  isolation: isolate !important;
}

.nftf-modal .nftf--v202 .nftf__graffiti-crown {
  position: absolute !important;
  z-index: 4 !important;
  display: none;
  width: 48px !important;
  height: 34px !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.nftf-modal .nftf--v202 .nftf__graffiti-crown path {
  fill: none !important;
  stroke: #4c4c4c !important;
  stroke-width: 4.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* ---------- DESKTOP / NOTEBOOK ---------- */
@media (min-width: 901px) {
  /* A little less dead margin: all screens gain usable width. */
  .nftf-modal .nftf--v202 .nftf__stage {
    padding: 20px 26px 20px !important;
  }

  /* One logo only on the white start screen. */
  .nftf-modal .nftf--v202 .nftf__start-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    margin: 0 0 11px !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 8px !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-logo {
    width: clamp(205px, 18vw, 250px) !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-lockup small {
    margin-top: 1px !important;
    font-size: 6.8px !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding-left: 14px !important;
    border-left: 2px solid #db0000 !important;
    color: #191919 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-topclaim {
    display: none !important;
  }

  /* Graffiti belongs to the black profile rail on desktop, nowhere else. */
  .nftf-modal .nftf--v202 .nftf__start > .nftf__graffiti-wrap {
    display: none !important;
  }

  /* Rail: flat dark CI, architectural sketch remains, logo becomes white. */
  .nftf-modal .nftf--v202 .nftf__rail {
    background: #151515 !important;
  }

  .nftf-modal .nftf--v202 .nftf__rail-brand {
    position: relative !important;
    margin-top: auto !important;
    min-height: 174px !important;
    padding: 20px 12px 8px !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v202 .nftf__rail-brand::before {
    content: "" !important;
    position: absolute !important;
    z-index: 3 !important;
    left: 50% !important;
    top: 33px !important;
    width: 18px !important;
    height: 38px !important;
    background: #db0000 !important;
    clip-path: polygon(55% 0, 100% 0, 68% 42%, 96% 42%, 22% 100%, 42% 56%, 12% 56%) !important;
    transform: translateX(-8px) !important;
    pointer-events: none !important;
  }

  .nftf-modal .nftf--v202 .nftf__rail-logo {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: min(100%, 242px) !important;
    height: auto !important;
    margin: 8px auto 10px !important;
    filter: brightness(0) invert(1) !important;
    opacity: .98 !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-img--rail {
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 246px) !important;
    margin: 2px auto 0 !important;
    opacity: .78 !important;
    filter: invert(1) grayscale(1) contrast(.96) !important;
    transform: rotate(-2.1deg) !important;
  }

  /* Restore the clean button arrangement: ‹ ZURÜCK | WEITER › */
  .nftf-modal .nftf--v202 .nftf__navrow {
    align-items: center !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--back,
  .nftf-modal .nftf--v202 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--back b,
  .nftf-modal .nftf--v202 .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    position: static !important;
    display: inline-block !important;
    line-height: 1 !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf--v202 .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: relative !important;
    inset: auto !important;
    display: inline-block !important;
    flex: 0 0 12px !important;
    width: 12px !important;
    height: 16px !important;
    transform: none !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v202 .nftf__navglyph::before {
    top: 50% !important;
    left: 50% !important;
    width: 7px !important;
    height: 7px !important;
    border-top: 2.35px solid currentColor !important;
    border-right: 2.35px solid currentColor !important;
    transform: translate(-58%, -50%) rotate(45deg) !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-42%, -50%) rotate(-135deg) !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--back .nftf__navglyph {
    order: 0 !important;
  }
  .nftf-modal .nftf--v202 .nftf__navbtn--back b {
    order: 1 !important;
  }
  .nftf-modal .nftf--v202 .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    order: 0 !important;
  }
  .nftf-modal .nftf--v202 .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    order: 1 !important;
  }

  /* RESULT: black hero flush to stage edges, no card overlap below. */
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__stage {
    padding: 0 !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__result {
    grid-template-rows: 220px minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__result-hero {
    height: 220px !important;
    min-height: 220px !important;
    margin: 0 !important;
    padding: 24px 34px 22px !important;
    background: #171717 !important;
    border-radius: 0 !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__result-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
    grid-template-areas:
      "why actions"
      "configuration compare"
      "footer footer" !important;
    grid-template-rows: minmax(190px, .92fr) minmax(214px, 1.08fr) 38px !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__actions,
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__configuration,
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__compare {
    min-height: 0 !important;
    padding: 16px 22px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__actions-title {
    margin: 6px 0 9px !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 48px !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__checkout-note {
    margin-top: 6px !important;
    line-height: 1.25 !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__actions-secondary {
    gap: 7px !important;
    margin-top: 8px !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__actions-secondary .nftf__button {
    min-height: 36px !important;
    padding: 7px 10px !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__compare-head,
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__compare > p,
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__compare-facts,
  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__textlink {
    position: relative !important;
    z-index: 1 !important;
  }

  .nftf-modal .nftf--v202[data-nftf-current-screen="result"] .nftf__result-footer {
    min-height: 38px !important;
    padding: 8px 22px !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v202 .nftf__start {
    padding-top: 15px !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 24px !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand {
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-lockup {
    justify-items: center !important;
    width: min(100%, 258px) !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-logo {
    width: min(100%, 258px) !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-lockup small {
    margin-top: 3px !important;
    font-size: 7px !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-topclaim {
    display: flex !important;
    align-items: center !important;
    gap: 17px !important;
    margin-top: 4px !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-topclaim i {
    display: block !important;
    width: 1px !important;
    height: 82px !important;
    flex: 0 0 1px !important;
    background: #d8d8d8 !important;
  }

  .nftf-modal .nftf--v202 .nftf__start-topclaim span {
    color: #898989 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;
    letter-spacing: .34em !important;
    text-align: left !important;
  }

  /* Full width inside the viewport/card; never wider. */
  .nftf-modal .nftf--v202 .nftf__navrow--start {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--start {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-wrap {
    width: min(94%, 410px) !important;
    margin: 12px auto 6px !important;
    padding-top: 16px !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-img--mobile {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    transform: rotate(-1.25deg) !important;
    filter: grayscale(1) contrast(.96) !important;
    overflow: visible !important;
  }

  /* Hide the cut source-crown area and redraw it cleanly in front. */
  .nftf-modal .nftf--v202 .nftf__graffiti-wrap::before {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 10px !important;
    right: 9% !important;
    width: 58px !important;
    height: 30px !important;
    background: #fff !important;
    transform: rotate(-1deg) !important;
    pointer-events: none !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-crown {
    display: block !important;
    top: -1px !important;
    right: 8.5% !important;
    transform: rotate(-4deg) !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v202 .nftf__start {
    padding-top: 8px !important;
  }
  .nftf-modal .nftf--v202 .nftf__start-top {
    margin-bottom: 12px !important;
  }
  .nftf-modal .nftf--v202 .nftf__graffiti-wrap {
    width: min(80%, 260px) !important;
    margin-top: 4px !important;
    padding-top: 10px !important;
  }
  .nftf-modal .nftf--v202 .nftf__graffiti-crown {
    width: 36px !important;
    height: 26px !important;
    top: -1px !important;
  }
}

/* V2.0.2 mobile live-fit correction: preserve the successful layout, remove overflow. */
@media (max-width: 900px) {
  .nftf-modal .nftf--v202 .nftf__navrow--start {
    width: auto !important;
    max-width: none !important;
    left: 13px !important;
    right: 13px !important;
    margin: 0 !important;
  }

  .nftf-modal .nftf--v202 .nftf__navbtn--start {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-wrap {
    width: min(82%, 316px) !important;
    max-height: 92px !important;
    margin: 7px auto 4px !important;
    padding-top: 0 !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-img--mobile {
    width: 100% !important;
    height: auto !important;
    max-height: 88px !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-wrap::before {
    top: -4px !important;
    right: 9.5% !important;
    width: 48px !important;
    height: 20px !important;
  }

  .nftf-modal .nftf--v202 .nftf__graffiti-crown {
    width: 38px !important;
    height: 28px !important;
    top: -13px !important;
    right: 8.5% !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v202 .nftf__graffiti-wrap {
    width: min(72%, 232px) !important;
    max-height: 58px !important;
    margin: 3px auto 1px !important;
  }
  .nftf-modal .nftf--v202 .nftf__graffiti-img--mobile {
    max-height: 56px !important;
  }
  .nftf-modal .nftf--v202 .nftf__graffiti-crown {
    width: 30px !important;
    height: 22px !important;
    top: -10px !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf--v202 .nftf__graffiti-wrap {
    width: min(76%, 292px) !important;
    max-height: 66px !important;
    margin: 3px auto 2px !important;
  }
  .nftf-modal .nftf--v202 .nftf__graffiti-img--mobile {
    max-height: 64px !important;
  }
  .nftf-modal .nftf--v202 .nftf__graffiti-crown {
    width: 34px !important;
    height: 25px !important;
    top: -12px !important;
  }
}
@media (max-width: 900px) {
  .nftf-modal .nftf--v202 .nftf__graffiti-wrap { max-height: 60px !important; }
  .nftf-modal .nftf--v202 .nftf__graffiti-img--mobile { max-height: 58px !important; }
}

/* =========================================================
   V2.0.3 · FINAL ALIGNMENT / OVERLAP-FREE POLISH
   - Mobile logo restored and vertically balanced
   - Graffiti crown uses complete source artwork, no synthetic overlay
   - Desktop rail branding separated cleanly
   - Start brand reduced to one Nippon logo + TARIF-FINDER
   - Navigation labels optically centered
   ========================================================= */

.nftf-modal .nftf--v203 .nftf__graffiti-crown {
  display: none !important;
}

.nftf-modal .nftf--v203 .nftf__start-brand-lockup small {
  display: none !important;
}

.nftf-modal .nftf--v203 .nftf__start-brand-logo,
.nftf-modal .nftf--v203 .nftf__rail-logo,
.nftf-modal .nftf--v203 .nftf__graffiti-img {
  visibility: visible !important;
  opacity: 1;
}

/* Navigation: preserve previous correct chevron order, center the words optically. */
.nftf-modal .nftf--v203 .nftf__navbtn--back,
.nftf-modal .nftf--v203 .nftf__navbtn--next:not(.nftf__navbtn--start) {
  align-items: center !important;
}

.nftf-modal .nftf--v203 .nftf__navbtn--back b,
.nftf-modal .nftf--v203 .nftf__navbtn--next:not(.nftf__navbtn--start) b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: translateY(1px) !important;
}

/* -------------------- DESKTOP -------------------- */
@media (min-width: 901px) {
  /* White start card: one logo only, visually centered with TARIF-FINDER. */
  .nftf-modal .nftf--v203 .nftf__start-top {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 48px !important;
    margin: 0 0 10px !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 16px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 0 7px !important;
    border-bottom: 1px solid #e6e6e6 !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-lockup {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-logo {
    display: block !important;
    width: clamp(202px, 17.4vw, 244px) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    min-height: 28px !important;
    padding: 0 0 0 15px !important;
    margin: 0 !important;
    border-left: 2px solid #db0000 !important;
    color: #171717 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .17em !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-topclaim {
    display: none !important;
  }

  /* Start screen graffiti exists only in the black rail on desktop. */
  .nftf-modal .nftf--v203 .nftf__start > .nftf__graffiti-wrap {
    display: none !important;
  }

  /* Rail logo and graffiti get independent vertical zones so crown never collides. */
  .nftf-modal .nftf--v203 .nftf__rail-brand {
    position: relative !important;
    z-index: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 194px !important;
    margin-top: auto !important;
    padding: 2px 10px 4px !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v203 .nftf__rail-brand::before {
    display: none !important;
  }

  .nftf-modal .nftf--v203 .nftf__rail-logo {
    position: relative !important;
    z-index: 8 !important;
    display: block !important;
    width: min(91%, 246px) !important;
    height: auto !important;
    margin: 0 auto 18px !important;
    filter: none !important;
    transform: translateY(-4px) !important;
  }

  .nftf-modal .nftf--v203 .nftf__graffiti-img--rail {
    position: relative !important;
    z-index: 9 !important;
    display: block !important;
    width: min(100%, 258px) !important;
    height: auto !important;
    max-height: 92px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    transform: translateY(4px) rotate(-1.5deg) !important;
    overflow: visible !important;
  }

  /* Keep architectural sketch behind all branding. */
  .nftf-modal .nftf--v203 .nftf__rail-sketch {
    z-index: 1 !important;
  }

  .nftf-modal .nftf--v203 .nftf__rail-head,
  .nftf-modal .nftf--v203 .nftf__rail-steps,
  .nftf-modal .nftf--v203 .nftf__rail-foot {
    position: relative !important;
    z-index: 6 !important;
  }

  /* Result layout remains the stable v2.0.2 geometry. */
  .nftf-modal .nftf--v203[data-nftf-current-screen="result"] .nftf__result-main {
    overflow: hidden !important;
  }
}

/* -------------------- MOBILE -------------------- */
@media (max-width: 900px) {
  /* Restore logo; place logo/claim lower and balanced in the top band. */
  .nftf-modal .nftf--v203 .nftf__start {
    padding-top: 0 !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 18px !important;
    min-height: 126px !important;
    margin: 0 0 18px !important;
    padding-top: 18px !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-lockup {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-logo {
    display: block !important;
    width: min(100%, 246px) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-topclaim {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-topclaim i {
    height: 92px !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-topclaim span {
    font-size: 10px !important;
    line-height: 1.64 !important;
    letter-spacing: .34em !important;
  }

  /* Full, uncut graffiti including its original crown; above blueprint layer. */
  .nftf-modal .nftf--v203 .nftf__graffiti-wrap {
    position: relative !important;
    z-index: 30 !important;
    display: block !important;
    width: min(92%, 356px) !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 13px auto 4px !important;
    padding: 0 !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  .nftf-modal .nftf--v203 .nftf__graffiti-wrap::before {
    display: none !important;
  }

  .nftf-modal .nftf--v203 .nftf__graffiti-img--mobile {
    position: relative !important;
    z-index: 31 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    transform: rotate(-1.15deg) !important;
    overflow: visible !important;
  }

  /* Start CTA uses exactly the screen/card content width and can never exceed it. */
  .nftf-modal .nftf--v203 .nftf__navrow--start {
    right: 0 !important;
    left: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .nftf-modal .nftf--v203 .nftf__navbtn--start {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v203 .nftf__start-top {
    min-height: 92px !important;
    margin-bottom: 10px !important;
    padding-top: 8px !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-brand-logo {
    width: min(100%, 198px) !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-topclaim i {
    height: 68px !important;
  }

  .nftf-modal .nftf--v203 .nftf__start-topclaim span {
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v203 .nftf__graffiti-wrap {
    width: min(75%, 246px) !important;
    margin-top: 4px !important;
  }
}

/* V2.0.3 final visibility guard for local brand asset. */
.nftf-modal .nftf--v203 .nftf__start-brand-logo {
  filter: none !important;
}

/* =========================================================
   V2.0.4 · FINAL BRAND ASSET QUALITY / CROWN SAFE AREA
   - replaces low-quality/cropped logo assets with clean padded versions
   - restores visible mobile logo in free top space
   - gives the graffiti crown extra safe area on mobile and desktop rail
   - preserves all working layout/logic from v2.0.3
   ========================================================= */

.nftf-modal .nftf--v204 .nftf__start-brand-logo,
.nftf-modal .nftf--v204 .nftf__rail-logo,
.nftf-modal .nftf--v204 .nftf__graffiti-img {
  image-rendering: auto !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* desktop */
@media (min-width: 901px) {
  .nftf-modal .nftf--v204 .nftf__start-top {
    align-items: center !important;
    min-height: 52px !important;
    margin: 0 0 12px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand {
    gap: 18px !important;
    padding: 1px 0 8px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand-lockup {
    min-width: 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand-logo {
    width: clamp(236px, 20vw, 292px) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand-label {
    align-self: center !important;
    min-height: 30px !important;
    padding-left: 16px !important;
    letter-spacing: .18em !important;
  }

  .nftf-modal .nftf--v204 .nftf__rail-brand {
    min-height: 214px !important;
    padding: 0 10px 4px !important;
  }

  .nftf-modal .nftf--v204 .nftf__rail-logo {
    width: min(96%, 252px) !important;
    margin: 0 auto 20px !important;
    transform: none !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v204 .nftf__graffiti-img--rail {
    width: min(100%, 266px) !important;
    max-height: 102px !important;
    margin: 0 auto !important;
    transform: translateY(6px) rotate(-1.2deg) !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    overflow: visible !important;
  }
}

/* mobile / tablet modal */
@media (max-width: 900px) {
  .nftf-modal .nftf--v204 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 18px !important;
    min-height: 140px !important;
    margin: 0 0 18px !important;
    padding-top: 16px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-self: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand-lockup {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand-logo {
    display: block !important;
    width: min(100%, 262px) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-topclaim {
    align-self: center !important;
    margin-top: 2px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-topclaim i {
    height: 106px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-topclaim span {
    line-height: 1.68 !important;
  }

  .nftf-modal .nftf--v204 .nftf__graffiti-wrap {
    z-index: 30 !important;
    width: min(95%, 372px) !important;
    max-width: 100% !important;
    margin: 14px auto 4px !important;
    padding: 0 !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  .nftf-modal .nftf--v204 .nftf__graffiti-img--mobile {
    position: relative !important;
    z-index: 31 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    transform: rotate(-1deg) !important;
    filter: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v204 .nftf__start-top {
    min-height: 102px !important;
    padding-top: 8px !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-brand-logo {
    width: min(100%, 212px) !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-topclaim i {
    height: 74px !important;
  }

  .nftf-modal .nftf--v204 .nftf__start-topclaim span {
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v204 .nftf__graffiti-wrap {
    width: min(80%, 280px) !important;
    margin-top: 6px !important;
  }
}

/* =========================================================
   V2.0.5 · FINAL BRAND POLISH / STARTSCREEN
   - mobile: visible grey logo in top free space
   - mobile: graffiti fully visible, lifted above nav row, no crown clipping
   - desktop: bold large background brand mark in white start card
   - desktop rail: cleaner brand block, pushed lower, full graffiti crown
   ========================================================= */

.nftf-modal .nftf--v205 .nftf__start,
.nftf-modal .nftf--v205 .nftf__rail-brand {
  position: relative;
}

.nftf-modal .nftf--v205 .nftf__graffiti-wrap,
.nftf-modal .nftf--v205 .nftf__rail-brand {
  isolation: isolate;
}

/* subtle CI-red energy around graffiti without changing copy */
.nftf-modal .nftf--v205 .nftf__graffiti-wrap::after,
.nftf-modal .nftf--v205 .nftf__rail-brand::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 30% 50%, rgba(219,0,0,.14), rgba(219,0,0,0) 62%),
    linear-gradient(90deg, rgba(219,0,0,.16), rgba(219,0,0,0));
  filter: blur(12px);
  opacity: .9;
}

/* desktop white card: huge watermark logo */
@media (min-width: 901px) {
  .nftf-modal .nftf--v205 .nftf__start {
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v205 .nftf__start::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 18px;
    width: min(52%, 520px);
    height: 104px;
    background: url('logo-start-top-v205.png') no-repeat left center / contain;
    opacity: .22;
    z-index: 0;
    pointer-events: none;
  }

  .nftf-modal .nftf--v205 .nftf__start > * {
    position: relative;
    z-index: 1;
  }

  .nftf-modal .nftf--v205 .nftf__start-top {
    min-height: 54px !important;
    margin-bottom: 18px !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand {
    width: auto !important;
    min-width: 0 !important;
    gap: 10px !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand-logo {
    display: none !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand-label {
    padding-left: 12px !important;
    border-left: 2px solid rgba(219,0,0,.85) !important;
    letter-spacing: .22em !important;
    color: #0d0d10 !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v205 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 248px !important;
    padding: 16px 10px 24px !important;
    gap: 12px !important;
  }

  .nftf-modal .nftf--v205 .nftf__rail-brand::after {
    right: 10px;
    bottom: 0;
    width: 88px;
    height: 74px;
  }

  .nftf-modal .nftf--v205 .nftf__rail-logo {
    width: min(94%, 230px) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto 2px !important;
    filter: none !important;
    transform: none !important;
  }

  .nftf-modal .nftf--v205 .nftf__graffiti-img--rail {
    position: relative !important;
    z-index: 1 !important;
    width: min(100%, 248px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateY(2px) rotate(-1.3deg) !important;
    filter: none !important;
    overflow: visible !important;
  }
}

/* mobile / tablet */
@media (max-width: 900px) {
  .nftf-modal .nftf--v205 .nftf__start-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 16px !important;
    min-height: 132px !important;
    padding-top: 10px !important;
    margin-bottom: 14px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: block !important;
    width: min(62%, 272px) !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand-lockup {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand-logo {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    visibility: visible !important;
    opacity: .42 !important;
    filter: grayscale(1) brightness(.62) contrast(.95) !important;
    transform: none !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-topclaim {
    justify-self: end !important;
    align-self: center !important;
    margin-top: 0 !important;
    z-index: 3 !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-topclaim i {
    height: 102px !important;
  }

  .nftf-modal .nftf--v205 .nftf__graffiti-wrap {
    position: relative !important;
    z-index: 20 !important;
    width: min(84%, 340px) !important;
    max-width: 100% !important;
    margin: 4px auto -2px !important;
    transform: translateY(-14px) !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v205 .nftf__graffiti-wrap::after {
    right: 6px;
    bottom: 18px;
    width: 84px;
    height: 64px;
  }

  .nftf-modal .nftf--v205 .nftf__graffiti-img--mobile {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    transform: rotate(-1deg) !important;
    filter: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v205 .nftf__start-top {
    min-height: 104px !important;
    padding-top: 2px !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-brand {
    width: min(58%, 220px) !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-topclaim i {
    height: 76px !important;
  }

  .nftf-modal .nftf--v205 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v205 .nftf__graffiti-wrap {
    width: min(72%, 268px) !important;
    transform: translateY(-8px) !important;
    margin-bottom: -10px !important;
  }
}

/* =========================================================
   V2.0.6 · FINAL STARTSCREEN BRAND REPAIR
   - desktop watermark much larger, lighter, shifted to upper-right
   - rail logo crisp and graffiti bright, centered, non-clipped
   - mobile logo forced visibly into free top area
   - mobile graffiti restored with full crown and clean safe area
   ========================================================= */

/* desktop */
@media (min-width: 901px) {
  .nftf-modal .nftf--v206 .nftf__start {
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v206 .nftf__start::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 38px;
    width: min(78%, 760px);
    height: 152px;
    background: url('logo-start-top-v205.png') no-repeat left top / contain;
    opacity: .11;
    z-index: 0;
    pointer-events: none;
    transform: none !important;
  }

  .nftf-modal .nftf--v206 .nftf__start > * {
    position: relative;
    z-index: 1;
  }

  .nftf-modal .nftf--v206 .nftf__start-top {
    min-height: 64px !important;
    margin-bottom: 18px !important;
    align-items: center !important;
  }

  .nftf-modal .nftf--v206 .nftf__start-brand {
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v206 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 252px !important;
    padding: 22px 8px 26px !important;
    gap: 10px !important;
  }

  .nftf-modal .nftf--v206 .nftf__rail-logo {
    width: min(96%, 212px) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
    margin: 0 auto 4px !important;
  }

  .nftf-modal .nftf--v206 .nftf__graffiti-img--rail {
    width: min(100%, 252px) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    opacity: .98 !important;
    transform: none !important;
    filter: drop-shadow(0 0 8px rgba(219,0,0,.18)) drop-shadow(0 10px 22px rgba(219,0,0,.08)) !important;
  }
}

/* mobile / tablet */
@media (max-width: 900px) {
  .nftf-modal .nftf--v206 .nftf__start-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    min-height: 140px !important;
    padding-top: 8px !important;
    margin-bottom: 16px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v206 .nftf__start-top::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: min(58%, 252px);
    height: 56px;
    transform: translateY(-50%);
    background: url('logo-start-mobile-grey-v206.png') no-repeat left center / contain;
    opacity: .72;
    z-index: 2;
    pointer-events: none;
  }

  .nftf-modal .nftf--v206 .nftf__start-brand {
    display: none !important;
  }

  .nftf-modal .nftf--v206 .nftf__start-topclaim {
    justify-self: end !important;
    align-self: center !important;
    z-index: 3 !important;
    margin-top: 0 !important;
  }

  .nftf-modal .nftf--v206 .nftf__start-topclaim i {
    height: 102px !important;
  }

  .nftf-modal .nftf--v206 .nftf__graffiti-wrap {
    position: relative !important;
    z-index: 12 !important;
    width: min(84%, 352px) !important;
    max-width: 100% !important;
    margin: 10px auto 6px !important;
    transform: none !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v206 .nftf__graffiti-img--mobile {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    opacity: .98 !important;
    transform: none !important;
    filter: drop-shadow(0 0 8px rgba(219,0,0,.16)) drop-shadow(0 12px 22px rgba(219,0,0,.08)) !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v206 .nftf__start-top {
    min-height: 118px !important;
    padding-top: 4px !important;
    margin-bottom: 12px !important;
  }

  .nftf-modal .nftf--v206 .nftf__start-top::before {
    width: min(55%, 214px);
    height: 46px;
  }

  .nftf-modal .nftf--v206 .nftf__start-topclaim i {
    height: 82px !important;
  }

  .nftf-modal .nftf--v206 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v206 .nftf__graffiti-wrap {
    width: min(76%, 286px) !important;
    margin-top: 8px !important;
    margin-bottom: 4px !important;
  }
}

/* =========================================================
   V2.0.7 · FINAL BRAND CLEANUP
   - crisp mobile top logo without slogan
   - transparent graffiti assets without white sticker box
   - desktop start watermark enlarged/lightened
   - rail brand made cleaner and non-clipped
   ========================================================= */

.nftf-modal .nftf--v207 .nftf__graffiti-wrap,
.nftf-modal .nftf--v207 .nftf__rail-brand,
.nftf-modal .nftf--v207 .nftf__start {
  position: relative;
}

.nftf-modal .nftf--v207 .nftf__graffiti-wrap,
.nftf-modal .nftf--v207 .nftf__rail-brand {
  isolation: isolate;
}

.nftf-modal .nftf--v207 .nftf__graffiti-wrap::before,
.nftf-modal .nftf--v207 .nftf__graffiti-wrap::after,
.nftf-modal .nftf--v207 .nftf__rail-brand::before,
.nftf-modal .nftf--v207 .nftf__rail-brand::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 901px) {
  .nftf-modal .nftf--v207 .nftf__start {
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v207 .nftf__start::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 46px;
    width: min(82%, 820px);
    height: 146px;
    background: url('logo-start-watermark-v207.png') no-repeat left top / contain;
    opacity: .54;
    z-index: 0;
    pointer-events: none;
  }

  .nftf-modal .nftf--v207 .nftf__start > * {
    position: relative;
    z-index: 1;
  }

  .nftf-modal .nftf--v207 .nftf__start-top {
    min-height: 62px !important;
    margin-bottom: 18px !important;
    align-items: center !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-brand {
    width: auto !important;
    min-width: 0 !important;
    gap: 14px !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-brand-lockup {
    display: block !important;
    width: 246px !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-brand-logo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-brand-label {
    padding-left: 14px !important;
    border-left: 2px solid rgba(219,0,0,.92) !important;
    letter-spacing: .22em !important;
    color: #0d0d10 !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v207 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 254px !important;
    padding: 22px 8px 28px !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v207 .nftf__rail-logo {
    width: min(98%, 220px) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
    margin: 0 auto 2px !important;
  }

  .nftf-modal .nftf--v207 .nftf__graffiti-img--rail {
    position: relative !important;
    z-index: 2 !important;
    width: min(108%, 258px) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    transform: translateY(4px) rotate(-1.5deg) !important;
    filter: drop-shadow(0 0 8px rgba(219,0,0,.18)) drop-shadow(0 12px 20px rgba(219,0,0,.08)) !important;
    overflow: visible !important;
    background: transparent !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf--v207 .nftf__start::before {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    min-height: 144px !important;
    padding-top: 8px !important;
    margin-bottom: 18px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-top::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: min(60%, 260px);
    height: 58px;
    transform: translateY(-50%);
    background: url('logo-start-mobile-grey-v207.png') no-repeat left center / contain;
    opacity: .90;
    z-index: 2;
    pointer-events: none;
  }

  .nftf-modal .nftf--v207 .nftf__start-brand {
    display: none !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-topclaim {
    justify-self: end !important;
    align-self: center !important;
    margin-top: 0 !important;
    z-index: 3 !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-topclaim i {
    height: 102px !important;
  }

  .nftf-modal .nftf--v207 .nftf__graffiti-wrap {
    position: relative !important;
    z-index: 20 !important;
    width: min(80%, 318px) !important;
    max-width: 100% !important;
    margin: 4px auto 8px !important;
    transform: translateY(-6px) rotate(-0.6deg) !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .nftf-modal .nftf--v207 .nftf__graffiti-img--mobile {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    transform: none !important;
    filter: drop-shadow(0 0 8px rgba(219,0,0,.14)) drop-shadow(0 12px 20px rgba(219,0,0,.08)) !important;
    overflow: visible !important;
    background: transparent !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v207 .nftf__start-top {
    min-height: 118px !important;
    padding-top: 4px !important;
    margin-bottom: 12px !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-top::before {
    width: min(56%, 224px);
    height: 48px;
  }

  .nftf-modal .nftf--v207 .nftf__start-topclaim i {
    height: 82px !important;
  }

  .nftf-modal .nftf--v207 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v207 .nftf__graffiti-wrap {
    width: min(74%, 272px) !important;
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    transform: translateY(-4px) rotate(-0.6deg) !important;
  }
}

/* =========================================================
   V2.0.8 · BRAND RESET / PREMIUM CLEANUP
   Focus: cleaner brand integration, subtle watermark,
   crisp logos, transparent graffiti, no clipping/sticker look.
   ========================================================= */

.nftf-modal .nftf--v208 .nftf__start,
.nftf-modal .nftf--v208 .nftf__rail-brand,
.nftf-modal .nftf--v208 .nftf__graffiti-wrap {
  position: relative;
}

.nftf-modal .nftf--v208 .nftf__graffiti-wrap,
.nftf-modal .nftf--v208 .nftf__rail-brand {
  isolation: isolate;
}

.nftf-modal .nftf--v208 .nftf__graffiti-wrap::before,
.nftf-modal .nftf--v208 .nftf__graffiti-wrap::after,
.nftf-modal .nftf--v208 .nftf__rail-brand::before,
.nftf-modal .nftf--v208 .nftf__rail-brand::after,
.nftf-modal .nftf--v208 .nftf__start::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 901px) {
  .nftf-modal .nftf--v208 .nftf__start {
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v208 .nftf__start::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 44px;
    width: min(92%, 960px);
    height: 168px;
    background: url('logo-start-watermark-v208.png') no-repeat left top / contain;
    opacity: .16;
    z-index: 0;
    pointer-events: none;
  }

  .nftf-modal .nftf--v208 .nftf__start > * {
    position: relative;
    z-index: 1;
  }

  .nftf-modal .nftf--v208 .nftf__start-top {
    align-items: center !important;
    min-height: 66px !important;
    margin-bottom: 16px !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-brand {
    gap: 14px !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-brand-lockup {
    width: 222px !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-brand-logo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-brand-label {
    padding-left: 14px !important;
    border-left: 2px solid rgba(219,0,0,.92) !important;
    letter-spacing: .22em !important;
    color: #121215 !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v208 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 256px !important;
    padding: 16px 10px 30px !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v208 .nftf__rail-logo {
    width: min(88%, 204px) !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto 6px !important;
    filter: none !important;
    image-rendering: auto !important;
  }

  .nftf-modal .nftf--v208 .nftf__graffiti-img--rail {
    width: min(90%, 230px) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    margin: 0 auto !important;
    transform: rotate(-2deg) translateY(2px) !important;
    opacity: .96 !important;
    filter: drop-shadow(0 0 6px rgba(219,0,0,.12)) drop-shadow(0 10px 16px rgba(0,0,0,.16)) !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf--v208 .nftf__start::before {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-top {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    min-height: 136px !important;
    padding-top: 6px !important;
    margin-bottom: 16px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-top::before {
    content: "";
    position: absolute;
    left: 0;
    top: 49%;
    width: min(62%, 274px);
    height: 56px;
    transform: translateY(-50%);
    background: url('logo-start-mobile-grey-v208.png') no-repeat left center / contain;
    opacity: .92;
    z-index: 2;
    pointer-events: none;
  }

  .nftf-modal .nftf--v208 .nftf__start-brand {
    display: none !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-topclaim {
    justify-self: end !important;
    align-self: center !important;
    margin-top: 0 !important;
    z-index: 3 !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-topclaim i {
    height: 98px !important;
  }

  .nftf-modal .nftf--v208 .nftf__graffiti-wrap {
    z-index: 20 !important;
    width: min(78%, 330px) !important;
    max-width: 100% !important;
    margin: -2px auto 8px !important;
    transform: rotate(-1deg) !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .nftf-modal .nftf--v208 .nftf__graffiti-img--mobile {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    margin: 0 auto !important;
    transform: none !important;
    opacity: .98 !important;
    filter: drop-shadow(0 0 6px rgba(219,0,0,.10)) drop-shadow(0 8px 14px rgba(0,0,0,.08)) !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v208 .nftf__start-top {
    min-height: 114px !important;
    padding-top: 4px !important;
    margin-bottom: 12px !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-top::before {
    width: min(58%, 238px);
    height: 46px;
  }

  .nftf-modal .nftf--v208 .nftf__start-topclaim i {
    height: 82px !important;
  }

  .nftf-modal .nftf--v208 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v208 .nftf__graffiti-wrap {
    width: min(70%, 258px) !important;
    margin-top: -6px !important;
    margin-bottom: 2px !important;
  }
}

/* =========================================================
   V2.0.9 · BRAND RESET / CLEAN PREMIUM INTEGRATION
   Goal: eliminate noisy branding, remove clipping risks,
   use crisp vector logo assets, simplify the visual system.
   ========================================================= */

.nftf-modal .nftf--v209 .nftf__start::before,
.nftf-modal .nftf--v209 .nftf__start::after,
.nftf-modal .nftf--v209 .nftf__rail-brand::before,
.nftf-modal .nftf--v209 .nftf__rail-brand::after,
.nftf-modal .nftf--v209 .nftf__graffiti-wrap::before,
.nftf-modal .nftf--v209 .nftf__graffiti-wrap::after {
  content: none !important;
  display: none !important;
}

.nftf-modal .nftf--v209 .nftf__graffiti-wrap,
.nftf-modal .nftf--v209 .nftf__graffiti-img,
.nftf-modal .nftf--v209 .nftf__graffiti-img--mobile,
.nftf-modal .nftf--v209 .nftf__graffiti-img--rail {
  display: none !important;
}

.nftf-modal .nftf--v209 .nftf__start {
  overflow: hidden !important;
}

.nftf-modal .nftf--v209 .nftf__start-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 84px !important;
  margin-bottom: 16px !important;
}

.nftf-modal .nftf--v209 .nftf__start-brand {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.nftf-modal .nftf--v209 .nftf__start-brand-lockup {
  display: block !important;
  width: min(100%, 276px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.nftf-modal .nftf--v209 .nftf__start-brand-logo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  image-rendering: auto !important;
  filter: none !important;
}

.nftf-modal .nftf--v209 .nftf__start-brand-label {
  display: inline-flex !important;
  align-items: center !important;
  padding-left: 14px !important;
  border-left: 2px solid rgba(219,0,0,.92) !important;
  color: #111317 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: .9 !important;
}

.nftf-modal .nftf--v209 .nftf__start-topclaim {
  flex: 0 0 auto !important;
  margin-left: 8px !important;
}

.nftf-modal .nftf--v209 .nftf__rail-brand {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-height: 120px !important;
  padding: 8px 10px 10px !important;
  overflow: visible !important;
}

.nftf-modal .nftf--v209 .nftf__rail-logo {
  display: block !important;
  width: min(90%, 196px) !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
  image-rendering: auto !important;
}

.nftf-modal .nftf--v209 .nftf__rail-brand::after {
  content: "TARIF-FINDER" !important;
  display: block !important;
  color: rgba(255,255,255,.56) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .28em !important;
  line-height: 1 !important;
  margin-top: 2px !important;
}

@media (min-width: 901px) {
  .nftf-modal .nftf--v209 .nftf__start-top {
    min-height: 62px !important;
    margin-bottom: 14px !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-brand-lockup {
    width: 286px !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-topclaim i {
    height: 92px !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-topclaim span {
    color: rgba(125,126,132,.98) !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf--v209 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 120px !important;
    padding-top: 2px !important;
    margin-bottom: 14px !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-brand-lockup {
    width: min(56vw, 236px) !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-topclaim {
    justify-self: end !important;
    margin-left: 0 !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-topclaim i {
    height: 98px !important;
  }

  .nftf-modal .nftf--v209 .nftf__rail-brand {
    min-height: 82px !important;
    padding-bottom: 6px !important;
  }

  .nftf-modal .nftf--v209 .nftf__rail-logo {
    width: min(88%, 176px) !important;
  }

  .nftf-modal .nftf--v209 .nftf__rail-brand::after {
    font-size: 9px !important;
    letter-spacing: .24em !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v209 .nftf__start-top {
    min-height: 100px !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-brand-lockup {
    width: min(53vw, 208px) !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-topclaim i {
    height: 84px !important;
  }

  .nftf-modal .nftf--v209 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }
}

/* =========================================================
   V2.0.10 · Official logo reset
   Uses only the provided official Nippon logo file as source,
   removes noisy legacy branding, keeps start/rail crisp.
   ========================================================= */

.nftf-modal .nftf--v210 .nftf__start::before,
.nftf-modal .nftf--v210 .nftf__start::after,
.nftf-modal .nftf--v210 .nftf__start-top::before,
.nftf-modal .nftf--v210 .nftf__start-top::after,
.nftf-modal .nftf--v210 .nftf__start-brand::before,
.nftf-modal .nftf--v210 .nftf__start-brand::after,
.nftf-modal .nftf--v210 .nftf__rail-brand::before,
.nftf-modal .nftf--v210 .nftf__rail-brand::after,
.nftf-modal .nftf--v210 .nftf__graffiti-wrap::before,
.nftf-modal .nftf--v210 .nftf__graffiti-wrap::after {
  content: none !important;
  display: none !important;
}

.nftf-modal .nftf--v210 .nftf__graffiti-wrap,
.nftf-modal .nftf--v210 .nftf__graffiti-img,
.nftf-modal .nftf--v210 .nftf__graffiti-img--mobile,
.nftf-modal .nftf--v210 .nftf__graffiti-img--rail,
.nftf-modal .nftf--v210 .nftf__graffiti,
.nftf-modal .nftf--v210 .nftf__graffiti--mobile,
.nftf-modal .nftf--v210 .nftf__graffiti--rail {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.nftf-modal .nftf--v210 .nftf__start,
.nftf-modal .nftf--v210 .nftf__rail-brand {
  overflow: hidden !important;
}

.nftf-modal .nftf--v210 .nftf__start-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  min-height: 74px !important;
  margin-bottom: 18px !important;
  padding: 4px 0 12px !important;
  border-bottom: 1px solid rgba(17,19,23,.08) !important;
}

.nftf-modal .nftf--v210 .nftf__start-brand {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.nftf-modal .nftf--v210 .nftf__start-brand-lockup {
  display: block !important;
  width: min(100%, 334px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.nftf-modal .nftf--v210 .nftf__start-brand-logo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  image-rendering: auto !important;
  filter: none !important;
}

.nftf-modal .nftf--v210 .nftf__start-brand-label {
  display: inline-flex !important;
  align-items: center !important;
  padding-left: 18px !important;
  border-left: 2px solid #db0000 !important;
  color: #343840 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .22em !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
}

.nftf-modal .nftf--v210 .nftf__start-topclaim {
  flex: 0 0 auto !important;
  margin-left: 8px !important;
}

.nftf-modal .nftf--v210 .nftf__start-topclaim i {
  background: rgba(17,19,23,.12) !important;
}

.nftf-modal .nftf--v210 .nftf__start-topclaim span {
  color: #8f949d !important;
}

.nftf-modal .nftf--v210 .nftf__rail-brand {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-height: 102px !important;
  padding: 10px 12px 8px !important;
  margin-top: 6px !important;
  isolation: isolate !important;
}

.nftf-modal .nftf--v210 .nftf__rail-logo {
  display: block !important;
  width: min(90%, 172px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  image-rendering: auto !important;
  filter: none !important;
}

.nftf-modal .nftf--v210 .nftf__rail-brand > :not(.nftf__rail-logo) {
  position: relative !important;
  z-index: 2 !important;
}

.nftf-modal .nftf--v210 .nftf__rail-brand::after {
  content: "Tarif-Finder" !important;
  display: block !important;
  position: static !important;
  color: rgba(255,255,255,.58) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
}

@media (min-width: 901px) {
  .nftf-modal .nftf--v210 .nftf__start-brand-lockup {
    width: 316px !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-topclaim i {
    height: 94px !important;
  }

  .nftf-modal .nftf--v210 .nftf__rail-brand {
    min-height: 116px !important;
  }

  .nftf-modal .nftf--v210 .nftf__rail-logo {
    width: 178px !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf--v210 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 112px !important;
    padding-top: 2px !important;
    margin-bottom: 16px !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-brand {
    gap: 0 !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-brand-lockup {
    width: min(57vw, 250px) !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-topclaim {
    justify-self: end !important;
    margin-left: 0 !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-topclaim i {
    height: 94px !important;
  }

  .nftf-modal .nftf--v210 .nftf__rail-brand {
    min-height: 84px !important;
    padding: 8px 10px 6px !important;
  }

  .nftf-modal .nftf--v210 .nftf__rail-logo {
    width: min(88%, 166px) !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v210 .nftf__start-top {
    min-height: 96px !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-brand-lockup {
    width: min(54vw, 212px) !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-topclaim i {
    height: 82px !important;
  }

  .nftf-modal .nftf--v210 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }
}

/* =========================================================
   V2.0.11 · Official logo + transparent graffiti return
   Goal: keep the now-approved logo placement, remove the red blur,
   and reintroduce a clean transparent graffiti tag in web + mobile.
   ========================================================= */

.nftf-modal .nftf--v211 .nftf__start,
.nftf-modal .nftf--v211 .nftf__start-top,
.nftf-modal .nftf--v211 .nftf__start-brand,
.nftf-modal .nftf--v211 .nftf__rail-brand,
.nftf-modal .nftf--v211 .nftf__graffiti-wrap {
  position: relative !important;
}

.nftf-modal .nftf--v211 .nftf__start::before,
.nftf-modal .nftf--v211 .nftf__start::after,
.nftf-modal .nftf--v211 .nftf__start-top::before,
.nftf-modal .nftf--v211 .nftf__start-top::after,
.nftf-modal .nftf--v211 .nftf__start-brand::before,
.nftf-modal .nftf--v211 .nftf__start-brand::after,
.nftf-modal .nftf--v211 .nftf__rail-brand::before,
.nftf-modal .nftf--v211 .nftf__rail-brand::after,
.nftf-modal .nftf--v211 .nftf__graffiti-wrap::before,
.nftf-modal .nftf--v211 .nftf__graffiti-wrap::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.nftf-modal .nftf--v211 .nftf__start,
.nftf-modal .nftf--v211 .nftf__rail-brand {
  overflow: visible !important;
}

.nftf-modal .nftf--v211 .nftf__rail-logo,
.nftf-modal .nftf--v211 .nftf__start-brand-logo {
  display: block !important;
  height: auto !important;
  object-fit: contain !important;
  image-rendering: auto !important;
  filter: none !important;
  transform: none !important;
}

.nftf-modal .nftf--v211 .nftf__graffiti-wrap,
.nftf-modal .nftf--v211 .nftf__graffiti-img,
.nftf-modal .nftf--v211 .nftf__graffiti-img--mobile,
.nftf-modal .nftf--v211 .nftf__graffiti-img--rail {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  overflow: visible !important;
  pointer-events: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* desktop / web */
@media (min-width: 901px) {
  .nftf-modal .nftf--v211 .nftf__start-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    min-height: 72px !important;
    margin-bottom: 18px !important;
    padding: 4px 0 12px !important;
    border-bottom: 1px solid rgba(17,19,23,.08) !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand-lockup {
    display: block !important;
    width: 146px !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand-logo {
    width: 100% !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand-label {
    display: inline-flex !important;
    align-items: center !important;
    padding-left: 14px !important;
    border-left: 2px solid #db0000 !important;
    color: #343840 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim {
    margin-left: 8px !important;
    flex: 0 0 auto !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim i {
    height: 94px !important;
    background: rgba(17,19,23,.12) !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim span {
    color: #8f949d !important;
  }

  .nftf-modal .nftf--v211 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    min-height: 154px !important;
    padding: 10px 14px 4px !important;
    margin-top: 8px !important;
    isolation: isolate !important;
  }

  .nftf-modal .nftf--v211 .nftf__rail-logo {
    width: min(90%, 174px) !important;
    max-width: 100% !important;
    object-position: center !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v211 .nftf__graffiti-img--rail {
    width: min(104%, 226px) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: -4px auto 0 !important;
    transform: rotate(-1.6deg) !important;
    position: relative !important;
    z-index: 3 !important;
    opacity: .96 !important;
  }
}

/* mobile / responsive */
@media (max-width: 900px) {
  .nftf-modal .nftf--v211 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 118px !important;
    padding: 4px 0 12px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(17,19,23,.08) !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: min(60vw, 250px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    justify-self: start !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand-lockup {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand-logo {
    width: 100% !important;
    object-position: left center !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim {
    justify-self: end !important;
    margin-left: 0 !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim i {
    height: 94px !important;
    background: rgba(17,19,23,.12) !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim span {
    color: #8f949d !important;
  }

  .nftf-modal .nftf--v211 .nftf__graffiti-wrap {
    width: min(68%, 282px) !important;
    max-width: 100% !important;
    margin: 2px auto 16px !important;
    transform: rotate(-1.3deg) !important;
    z-index: 12 !important;
  }

  .nftf-modal .nftf--v211 .nftf__graffiti-img--mobile {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    opacity: .97 !important;
  }

  .nftf-modal .nftf--v211 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-height: 102px !important;
    padding: 8px 10px 4px !important;
    margin-top: 6px !important;
  }

  .nftf-modal .nftf--v211 .nftf__rail-logo {
    width: min(88%, 166px) !important;
    max-width: 100% !important;
    object-position: center !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v211 .nftf__graffiti-img--rail {
    width: min(96%, 188px) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: -2px auto 0 !important;
    transform: rotate(-1.3deg) !important;
    position: relative !important;
    z-index: 3 !important;
    opacity: .94 !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v211 .nftf__start-top {
    min-height: 100px !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-brand {
    width: min(56vw, 214px) !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim i {
    height: 82px !important;
  }

  .nftf-modal .nftf--v211 .nftf__start-topclaim span {
    font-size: 8px !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v211 .nftf__graffiti-wrap {
    width: min(62%, 236px) !important;
    margin: 0 auto 12px !important;
  }
}

/* =========================================================
   V2.0.12 · MOCKUP MATCH
   Startscreen only: deterministic desktop + responsive layout.
   All funnel logic and non-start screens remain untouched.
   ========================================================= */

/* Neutralize legacy branding effects on this version */
.nftf-modal .nftf--v212 .nftf__start::before,
.nftf-modal .nftf--v212 .nftf__start::after,
.nftf-modal .nftf--v212 .nftf__start-top::before,
.nftf-modal .nftf--v212 .nftf__start-top::after,
.nftf-modal .nftf--v212 .nftf__start-brand::before,
.nftf-modal .nftf--v212 .nftf__start-brand::after,
.nftf-modal .nftf--v212 .nftf__rail-brand::before,
.nftf-modal .nftf--v212 .nftf__rail-brand::after,
.nftf-modal .nftf--v212 .nftf__graffiti-wrap::before,
.nftf-modal .nftf--v212 .nftf__graffiti-wrap::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.nftf-modal .nftf--v212 .nftf__start-brand-logo,
.nftf-modal .nftf--v212 .nftf__rail-logo,
.nftf-modal .nftf--v212 .nftf__graffiti-img {
  image-rendering: auto !important;
  filter: none !important;
  box-shadow: none !important;
}

/* --- Desktop / Web mockup --- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v212 .nftf__shell {
    grid-template-columns: 250px minmax(0,1fr) !important;
    gap: 0 !important;
    width: min(1120px, calc(100vw - 120px)) !important;
    min-height: 650px !important;
    max-height: min(82vh, 760px) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail {
    padding: 32px 26px 24px !important;
    border-radius: 0 !important;
    background: #151516 !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail-head {
    margin-bottom: 18px !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail-steps {
    gap: 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail-steps li {
    min-height: 48px !important;
    padding: 8px 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    min-height: 168px !important;
    margin: 8px 0 8px !important;
    padding: 12px 0 0 !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail-logo {
    display: block !important;
    width: 182px !important;
    max-width: 90% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .nftf-modal .nftf--v212 .nftf__graffiti-img--rail {
    display: block !important;
    visibility: visible !important;
    opacity: .98 !important;
    width: 214px !important;
    max-width: 110% !important;
    height: auto !important;
    margin: -2px auto 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: rotate(-1.5deg) !important;
    position: relative !important;
    z-index: 4 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__rail-foot {
    margin-top: 6px !important;
  }

  .nftf-modal .nftf--v212 .nftf__stage {
    padding: 24px 34px 22px !important;
    background: #fff !important;
    border-radius: 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__progress {
    margin-bottom: 16px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: calc(100% - 2px) !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-top {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    min-height: 54px !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    width: auto !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-lockup {
    display: block !important;
    width: 184px !important;
    max-width: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-logo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    opacity: 1 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding-left: 16px !important;
    border-left: 2px solid #db0000 !important;
    color: #4d5056 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .24em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-topclaim {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__screen-kicker {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    letter-spacing: .05em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start h3 {
    max-width: 760px !important;
    margin: 0 0 10px !important;
    font-size: clamp(42px, 4.1vw, 56px) !important;
    line-height: .88 !important;
    letter-spacing: -.045em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start h3 span {
    display: block !important;
    color: #86878b !important;
  }

  .nftf-modal .nftf--v212 .nftf__start > p {
    max-width: 730px !important;
    margin: 0 0 8px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #6f7176 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-facts--v190 {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    align-items: center !important;
    justify-items: center !important;
    min-height: 214px !important;
    height: 214px !important;
    margin: 6px 0 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__facts-blueprint--desktop {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .62 !important;
    z-index: 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__facts-blueprint--mobile {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-ring {
    width: 124px !important;
    height: 124px !important;
    min-width: 124px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat--accent .nftf__start-stat-ring {
    width: 136px !important;
    height: 136px !important;
    min-width: 136px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-ring strong {
    font-size: 48px !important;
    line-height: .9 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat--accent .nftf__start-stat-ring strong {
    font-size: 52px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-copy b {
    font-size: 13px !important;
    letter-spacing: .08em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-copy small {
    display: block !important;
    margin-top: 4px !important;
    font-size: 10px !important;
    color: #777980 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-orbit--center {
    top: 92px !important;
    left: 50% !important;
    transform: translate(-50%,-50%) !important;
    z-index: 3 !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: .28em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-orbit--left,
  .nftf-modal .nftf--v212 .nftf__start-orbit--right {
    top: 152px !important;
    font-size: 8px !important;
    line-height: 1.35 !important;
    letter-spacing: .23em !important;
  }

  .nftf-modal .nftf--v212 .nftf__graffiti-wrap {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__navrow--start {
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid #ececee !important;
    align-items: center !important;
  }

  .nftf-modal .nftf--v212 .nftf__navrow--start .nftf__nav-hint {
    display: block !important;
    color: #6f7176 !important;
    font-size: 12px !important;
  }

  .nftf-modal .nftf--v212 .nftf__navbtn--start {
    min-width: 170px !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    background: #db0000 !important;
    border-color: #db0000 !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__navbtn--start:hover,
  .nftf-modal .nftf--v212 .nftf__navbtn--start:focus-visible {
    background: #b90000 !important;
    border-color: #b90000 !important;
  }
}

/* --- Mobile / Responsive mockup --- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v212 .nftf__rail {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__shell {
    display: block !important;
    width: calc(100vw - 28px) !important;
    max-width: 430px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - 32px) !important;
    margin: 16px auto !important;
    border-radius: 14px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v212 .nftf__stage {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: calc(100svh - 32px) !important;
    padding: 24px 16px 16px !important;
    border-radius: 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v212 .nftf__stage:has([data-nftf-screen="start"].is-active) > .nftf__progress {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__screen[data-nftf-screen="start"].is-active {
    display: block !important;
  }

  .nftf-modal .nftf--v212 .nftf__start {
    display: flex !important;
    flex-direction: column !important;
    min-height: calc(100svh - 80px) !important;
    height: auto !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    min-height: 122px !important;
    margin: 0 0 18px !important;
    padding: 2px 0 16px !important;
    border-bottom: 1px solid #e8e8ea !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-lockup {
    display: block !important;
    width: min(61vw, 250px) !important;
    max-width: 100% !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-logo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    opacity: 1 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-label {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-topclaim {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-topclaim i {
    display: block !important;
    width: 1px !important;
    height: 92px !important;
    background: #d8d8dc !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-topclaim span {
    color: #8d9198 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.8 !important;
    letter-spacing: .28em !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf--v212 .nftf__screen-kicker {
    display: block !important;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    letter-spacing: .03em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start h3 {
    margin: 0 0 12px !important;
    font-size: clamp(38px, 10.6vw, 48px) !important;
    line-height: .92 !important;
    letter-spacing: -.045em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start h3 span {
    display: block !important;
    color: #8a8b8f !important;
  }

  .nftf-modal .nftf--v212 .nftf__start > p {
    margin: 0 0 10px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
    color: #76787d !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-facts--v190 {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 146px 162px !important;
    align-items: start !important;
    justify-items: center !important;
    width: 100% !important;
    min-height: 308px !important;
    height: 308px !important;
    margin: 2px 0 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v212 .nftf__facts-blueprint--desktop {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__facts-blueprint--mobile {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .68 !important;
    z-index: 0 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .nftf-modal .nftf--v212 .nftf__start-stat:nth-of-type(2) { grid-column: 2; grid-row: 1; }
  .nftf-modal .nftf--v212 .nftf__start-stat:nth-of-type(3) { grid-column: 1 / span 2; grid-row: 2; align-self: end; }

  .nftf-modal .nftf--v212 .nftf__start-stat-ring {
    width: 106px !important;
    height: 106px !important;
    min-width: 106px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat--accent .nftf__start-stat-ring {
    width: 126px !important;
    height: 126px !important;
    min-width: 126px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-ring strong {
    font-size: 44px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat--accent .nftf__start-stat-ring strong {
    font-size: 52px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-copy b {
    font-size: 13px !important;
    letter-spacing: .08em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-copy small {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-orbit--center {
    display: block !important;
    top: 123px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 3 !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: .27em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-orbit--left,
  .nftf-modal .nftf--v212 .nftf__start-orbit--right {
    display: block !important;
    top: 228px !important;
    z-index: 3 !important;
    font-size: 8px !important;
    line-height: 1.35 !important;
    letter-spacing: .22em !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-orbit--left { left: 6px !important; }
  .nftf-modal .nftf--v212 .nftf__start-orbit--right { right: 2px !important; }

  .nftf-modal .nftf--v212 .nftf__graffiti-wrap {
    display: block !important;
    visibility: visible !important;
    width: min(82%, 330px) !important;
    max-width: 100% !important;
    margin: -2px auto 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: rotate(-1deg) !important;
    z-index: 5 !important;
  }

  .nftf-modal .nftf--v212 .nftf__graffiti-img--mobile {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__navrow--start {
    display: block !important;
    margin-top: auto !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #e8e8ea !important;
  }

  .nftf-modal .nftf--v212 .nftf__navrow--start .nftf__nav-hint {
    display: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__navbtn--start {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    background: #212123 !important;
    border-color: #212123 !important;
    color: #fff !important;
    font-size: 16px !important;
    letter-spacing: .16em !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v212 .nftf__navbtn--start:hover,
  .nftf-modal .nftf--v212 .nftf__navbtn--start:focus-visible {
    background: #db0000 !important;
    border-color: #db0000 !important;
  }
}

@media (max-width: 900px) and (max-height: 820px) {
  .nftf-modal .nftf--v212 .nftf__stage {
    padding-top: 18px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-top {
    min-height: 102px !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-brand-lockup {
    width: min(56vw, 218px) !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-topclaim i {
    height: 76px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-topclaim span {
    font-size: 8px !important;
    line-height: 1.65 !important;
  }

  .nftf-modal .nftf--v212 .nftf__start h3 {
    font-size: clamp(34px, 9.8vw, 42px) !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start > p {
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-facts--v190 {
    grid-template-rows: 130px 146px !important;
    min-height: 276px !important;
    height: 276px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-ring {
    width: 94px !important;
    height: 94px !important;
    min-width: 94px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat--accent .nftf__start-stat-ring {
    width: 112px !important;
    height: 112px !important;
    min-width: 112px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat-ring strong {
    font-size: 40px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-stat--accent .nftf__start-stat-ring strong {
    font-size: 46px !important;
  }

  .nftf-modal .nftf--v212 .nftf__start-orbit--center { top: 110px !important; }
  .nftf-modal .nftf--v212 .nftf__start-orbit--left,
  .nftf-modal .nftf--v212 .nftf__start-orbit--right { top: 208px !important; }

  .nftf-modal .nftf--v212 .nftf__graffiti-wrap {
    width: min(72%, 270px) !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v212 .nftf__navbtn--start {
    min-height: 54px !important;
  }
}

/* =========================================================
   V2.0.13 · STARTSCREEN REBUILD
   Dedicated start-screen architecture. No legacy start markup.
   Desktop and mobile are composed independently around the same content.
   ========================================================= */

.nftf-modal .nftf--v213 .nftf213-start,
.nftf-modal .nftf--v213 .nftf213-start * {
  box-sizing: border-box;
}

.nftf-modal .nftf--v213 .nftf213-start {
  width: 100%;
  min-width: 0;
  color: #141416;
}

.nftf-modal .nftf--v213 .nftf213-brandbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #e8e8ea;
}

.nftf-modal .nftf--v213 .nftf213-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.nftf-modal .nftf--v213 .nftf213-brand img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
  image-rendering: auto;
}

.nftf-modal .nftf--v213 .nftf213-brand > span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding-left: 16px;
  border-left: 2px solid #db0000;
  color: #34363b;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .22em;
  white-space: nowrap;
}

.nftf-modal .nftf--v213 .nftf213-claim {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
}

.nftf-modal .nftf--v213 .nftf213-claim i {
  display: block;
  width: 1px;
  background: #d8d8dc;
}

.nftf-modal .nftf--v213 .nftf213-claim span {
  color: #8d9198;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .28em;
  white-space: nowrap;
}

.nftf-modal .nftf--v213 .nftf213-kicker {
  display: block;
  color: #db0000;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .03em;
}

.nftf-modal .nftf--v213 .nftf213-copy h3 {
  margin: 0;
  font-weight: 900;
  text-transform: uppercase;
}

.nftf-modal .nftf--v213 .nftf213-copy h3 b,
.nftf-modal .nftf--v213 .nftf213-copy h3 em {
  display: block;
  font-style: normal;
  font-weight: 900;
}

.nftf-modal .nftf--v213 .nftf213-copy h3 b { color: #151517; }
.nftf-modal .nftf--v213 .nftf213-copy h3 em { color: #8a8b8f; }

.nftf-modal .nftf--v213 .nftf213-copy p {
  margin: 0;
  color: #74767b;
}

.nftf-modal .nftf--v213 .nftf213-facts {
  position: relative;
  isolation: isolate;
}

.nftf-modal .nftf--v213 .nftf213-blueprint {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.nftf-modal .nftf--v213 .nftf213-gridlines {
  stroke: #d8d9dc;
  stroke-width: 1;
  fill: none;
}

.nftf-modal .nftf--v213 .nftf213-nodes {
  fill: #fff;
  stroke: #c8c9cd;
  stroke-width: 1;
}

.nftf-modal .nftf--v213 .nftf213-stat {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.nftf-modal .nftf--v213 .nftf213-ring {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid #18181a;
  border-radius: 50%;
  background: #fff;
}

.nftf-modal .nftf--v213 .nftf213-ring::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid #dedfe2;
  border-radius: 50%;
}

.nftf-modal .nftf--v213 .nftf213-arc {
  position: absolute;
  inset: -5px;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  overflow: visible;
  pointer-events: none;
}

.nftf-modal .nftf--v213 .nftf213-arc circle {
  fill: none;
  stroke: #db0000;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 32 264;
  transform-origin: 50% 50%;
}

.nftf-modal .nftf--v213 .nftf213-stat--one .nftf213-arc circle { transform: rotate(218deg); }
.nftf-modal .nftf--v213 .nftf213-stat--two .nftf213-arc circle { transform: rotate(280deg); stroke-dasharray: 40 256; }
.nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-arc circle { transform: rotate(332deg); stroke-dasharray: 50 246; }

.nftf-modal .nftf--v213 .nftf213-ring strong,
.nftf-modal .nftf--v213 .nftf213-ring small,
.nftf-modal .nftf--v213 .nftf213-stat > b,
.nftf-modal .nftf--v213 .nftf213-stat-sub {
  position: relative;
  z-index: 2;
}

.nftf-modal .nftf--v213 .nftf213-ring strong {
  font-weight: 900;
  line-height: .84;
  letter-spacing: -.05em;
}

.nftf-modal .nftf--v213 .nftf213-ring small,
.nftf-modal .nftf--v213 .nftf213-stat > b {
  font-weight: 900;
  letter-spacing: .08em;
}

.nftf-modal .nftf--v213 .nftf213-ring small {
  margin-top: 7px;
  font-size: 9px;
}

.nftf-modal .nftf--v213 .nftf213-stat > b {
  margin-top: 9px;
  font-size: 12px;
}

.nftf-modal .nftf--v213 .nftf213-stat-sub {
  margin-top: 3px;
  color: #777980;
  font-size: 9px;
  line-height: 1.2;
}

.nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring {
  background: #202022;
  border-color: #202022;
  color: #fff;
}

.nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring::before {
  border-color: rgba(255,255,255,.18);
}

.nftf-modal .nftf--v213 .nftf213-orbit {
  position: absolute;
  z-index: 3;
  color: #8d9097;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .24em;
  text-align: center;
  pointer-events: none;
}

.nftf-modal .nftf--v213 .nftf213-graffiti {
  display: none;
}

.nftf-modal .nftf--v213 .nftf213-graffiti img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  image-rendering: auto;
}

.nftf-modal .nftf--v213 .nftf213-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #e8e8ea;
}

.nftf-modal .nftf--v213 .nftf213-cta > span {
  color: #73757a;
  font-size: 11px;
  line-height: 1.35;
}

.nftf-modal .nftf--v213 .nftf213-cta button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 48px;
  margin: 0;
  padding: 0 24px;
  border: 1px solid #222224;
  border-radius: 999px;
  background: #222224;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .15em;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.nftf-modal .nftf--v213 .nftf213-cta button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nftf-modal .nftf--v213 .nftf213-cta button:hover,
.nftf-modal .nftf--v213 .nftf213-cta button:focus-visible {
  background: #db0000;
  border-color: #db0000;
  transform: translateY(-1px);
  outline: none;
}

/* Start state: shared chrome */
.nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__progress {
  display: none !important;
}

.nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__stage::before {
  width: 40px !important;
}

/* Desktop / Web */
@media (min-width: 901px) {
  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__shell {
    grid-template-columns: 270px minmax(0,1fr) !important;
    gap: 0 !important;
    width: min(1160px, calc(100vw - 110px)) !important;
    min-height: 650px !important;
    max-height: min(82vh, 760px) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__rail {
    padding: 30px 24px 22px !important;
    border-radius: 0 !important;
    background: #171718 !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    min-height: 180px !important;
    margin: 6px 0 8px !important;
    padding: 10px 0 0 !important;
    gap: 5px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__rail-brand::before,
  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__rail-brand::after {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__rail-logo {
    display: block !important;
    width: 186px !important;
    max-width: 90% !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    filter: none !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__graffiti-img--rail {
    display: block !important;
    visibility: visible !important;
    width: 225px !important;
    max-width: 110% !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    opacity: .98 !important;
    transform: rotate(-1.4deg) !important;
    position: relative !important;
    z-index: 4 !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__stage {
    min-height: 650px !important;
    padding: 24px 34px 20px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v213 [data-nftf-screen="start"].is-active {
    height: 100% !important;
  }

  .nftf-modal .nftf--v213 .nftf213-start {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 606px;
  }

  .nftf-modal .nftf--v213 .nftf213-brandbar {
    min-height: 64px;
    padding: 0 0 12px;
    margin-bottom: 14px;
  }

  .nftf-modal .nftf--v213 .nftf213-brand img { width: 196px; }
  .nftf-modal .nftf--v213 .nftf213-claim { display: none; }

  .nftf-modal .nftf--v213 .nftf213-kicker {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .nftf-modal .nftf--v213 .nftf213-copy h3 {
    margin-bottom: 9px;
    font-size: clamp(38px, 3.35vw, 50px);
    line-height: .89;
    letter-spacing: -.045em;
  }

  .nftf-modal .nftf--v213 .nftf213-copy p {
    max-width: 770px;
    font-size: 13px;
    line-height: 1.42;
  }

  .nftf-modal .nftf--v213 .nftf213-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    justify-items: center;
    height: 224px;
    min-height: 224px;
    margin-top: 4px;
  }

  .nftf-modal .nftf--v213 .nftf213-blueprint--desktop { display: block; opacity: .62; }
  .nftf-modal .nftf--v213 .nftf213-blueprint--mobile { display: none; }

  .nftf-modal .nftf--v213 .nftf213-stat--one { grid-column: 1; }
  .nftf-modal .nftf--v213 .nftf213-stat--two { grid-column: 2; }
  .nftf-modal .nftf--v213 .nftf213-stat--three { grid-column: 3; }

  .nftf-modal .nftf--v213 .nftf213-ring {
    width: 126px;
    height: 126px;
  }

  .nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring {
    width: 136px;
    height: 136px;
  }

  .nftf-modal .nftf--v213 .nftf213-ring strong { font-size: 48px; }
  .nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring strong { font-size: 52px; }

  .nftf-modal .nftf--v213 .nftf213-orbit--center {
    top: 90px;
    left: 50%;
    transform: translate(-50%,-50%);
  }

  .nftf-modal .nftf--v213 .nftf213-orbit--left { left: 5px; top: 160px; text-align: left; }
  .nftf-modal .nftf--v213 .nftf213-orbit--right { right: 0; top: 160px; text-align: right; }

  .nftf-modal .nftf--v213 .nftf213-graffiti { display: none; }

  .nftf-modal .nftf--v213 .nftf213-cta {
    margin-top: auto;
    padding-top: 13px;
  }
}

/* Mobile / Responsive */
@media (max-width: 900px) {
  .nftf-modal:has(.nftf--v213 [data-nftf-screen="start"].is-active) {
    padding: 0 !important;
  }

  .nftf-modal:has(.nftf--v213 [data-nftf-screen="start"].is-active) .nftf-modal__dialog {
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #f7f7f7 !important;
  }

  .nftf-modal:has(.nftf--v213 [data-nftf-screen="start"].is-active) .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    padding: 70px 14px 14px !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) {
    height: 100% !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__rail {
    display: none !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__shell {
    display: block !important;
    width: min(100%, 430px) !important;
    height: calc(100dvh - 84px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 18px 55px rgba(0,0,0,.055) !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__stage {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 16px 14px 14px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v213 [data-nftf-screen="start"].is-active {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v213 .nftf213-start {
    display: grid;
    grid-template-rows: auto auto minmax(218px, 1fr) auto auto;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .nftf-modal .nftf--v213 .nftf213-brandbar {
    min-height: 96px;
    padding: 0 0 10px;
    margin-bottom: 10px;
  }

  .nftf-modal .nftf--v213 .nftf213-brand {
    gap: 0;
    width: min(62%, 248px);
  }

  .nftf-modal .nftf--v213 .nftf213-brand img { width: 100%; }
  .nftf-modal .nftf--v213 .nftf213-brand > span { display: none; }

  .nftf-modal .nftf--v213 .nftf213-claim {
    gap: 12px;
  }

  .nftf-modal .nftf--v213 .nftf213-claim i { height: 74px; }

  .nftf-modal .nftf--v213 .nftf213-claim span {
    font-size: 9px;
    line-height: 1.75;
    letter-spacing: .28em;
  }

  .nftf-modal .nftf--v213 .nftf213-copy {
    min-width: 0;
  }

  .nftf-modal .nftf--v213 .nftf213-kicker {
    margin-bottom: 7px;
    font-size: 12px;
  }

  .nftf-modal .nftf--v213 .nftf213-copy h3 {
    margin-bottom: 9px;
    font-size: clamp(31px, 8.65vw, 38px);
    line-height: .91;
    letter-spacing: -.045em;
  }

  .nftf-modal .nftf--v213 .nftf213-copy p {
    font-size: 13px;
    line-height: 1.38;
  }

  .nftf-modal .nftf--v213 .nftf213-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 114px 118px;
    align-items: start;
    justify-items: center;
    align-self: center;
    width: 100%;
    height: 232px;
    min-height: 232px;
    margin-top: 2px;
  }

  .nftf-modal .nftf--v213 .nftf213-blueprint--desktop { display: none; }
  .nftf-modal .nftf--v213 .nftf213-blueprint--mobile { display: block; opacity: .68; }

  .nftf-modal .nftf--v213 .nftf213-stat--one { grid-column: 1; grid-row: 1; }
  .nftf-modal .nftf--v213 .nftf213-stat--two { grid-column: 2; grid-row: 1; }
  .nftf-modal .nftf--v213 .nftf213-stat--three { grid-column: 1 / span 2; grid-row: 2; align-self: end; }

  .nftf-modal .nftf--v213 .nftf213-ring {
    width: 98px;
    height: 98px;
  }

  .nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring {
    width: 114px;
    height: 114px;
  }

  .nftf-modal .nftf--v213 .nftf213-ring strong { font-size: 42px; }
  .nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring strong { font-size: 48px; }

  .nftf-modal .nftf--v213 .nftf213-ring small { font-size: 8px; margin-top: 5px; }
  .nftf-modal .nftf--v213 .nftf213-stat > b { margin-top: 5px; font-size: 11px; }
  .nftf-modal .nftf--v213 .nftf213-stat-sub { display: none; }

  .nftf-modal .nftf--v213 .nftf213-orbit--center {
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 7px;
    letter-spacing: .26em;
  }

  .nftf-modal .nftf--v213 .nftf213-orbit--left {
    left: 4px;
    top: 182px;
    text-align: left;
    font-size: 7px;
  }

  .nftf-modal .nftf--v213 .nftf213-orbit--right {
    right: 0;
    top: 182px;
    text-align: right;
    font-size: 7px;
  }

  .nftf-modal .nftf--v213 .nftf213-graffiti {
    display: block;
    width: min(60%, 244px);
    margin: -2px auto 4px;
    transform: rotate(-1.1deg);
  }

  .nftf-modal .nftf--v213 .nftf213-cta {
    display: block;
    padding-top: 9px;
  }

  .nftf-modal .nftf--v213 .nftf213-cta > span { display: none; }

  .nftf-modal .nftf--v213 .nftf213-cta button {
    width: 100%;
    min-height: 58px;
    padding: 0 24px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .16em;
  }
}

@media (max-width: 900px) and (max-height: 790px) {
  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__shell {
    height: calc(100dvh - 78px) !important;
  }

  .nftf-modal .nftf--v213:has([data-nftf-screen="start"].is-active) .nftf__stage {
    padding-top: 12px !important;
    padding-bottom: 10px !important;
  }

  .nftf-modal .nftf--v213 .nftf213-start {
    grid-template-rows: auto auto minmax(202px, 1fr) auto auto;
  }

  .nftf-modal .nftf--v213 .nftf213-brandbar {
    min-height: 80px;
    margin-bottom: 8px;
  }

  .nftf-modal .nftf--v213 .nftf213-brand { width: min(58%, 214px); }
  .nftf-modal .nftf--v213 .nftf213-claim i { height: 64px; }
  .nftf-modal .nftf--v213 .nftf213-claim span { font-size: 8px; }

  .nftf-modal .nftf--v213 .nftf213-kicker { font-size: 11px; margin-bottom: 5px; }
  .nftf-modal .nftf--v213 .nftf213-copy h3 { font-size: clamp(28px, 7.8vw, 34px); margin-bottom: 6px; }
  .nftf-modal .nftf--v213 .nftf213-copy p { font-size: 12px; line-height: 1.32; }

  .nftf-modal .nftf--v213 .nftf213-facts {
    grid-template-rows: 100px 105px;
    height: 205px;
    min-height: 205px;
  }

  .nftf-modal .nftf--v213 .nftf213-ring { width: 86px; height: 86px; }
  .nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring { width: 100px; height: 100px; }
  .nftf-modal .nftf--v213 .nftf213-ring strong { font-size: 36px; }
  .nftf-modal .nftf--v213 .nftf213-stat--three .nftf213-ring strong { font-size: 42px; }
  .nftf-modal .nftf--v213 .nftf213-stat > b { font-size: 10px; }
  .nftf-modal .nftf--v213 .nftf213-orbit--center { top: 87px; }
  .nftf-modal .nftf--v213 .nftf213-orbit--left,
  .nftf-modal .nftf--v213 .nftf213-orbit--right { top: 163px; }

  .nftf-modal .nftf--v213 .nftf213-graffiti {
    width: min(54%, 205px);
    margin-bottom: 2px;
  }

  .nftf-modal .nftf--v213 .nftf213-cta button { min-height: 52px; font-size: 14px; }
}

/* =========================================================
   V2.0.14 · HARD LAYOUT RESET
   Start + Result rebuilt as isolated layouts. Existing funnel logic untouched.
   ========================================================= */

/* ---------- Shared hard reset for the two critical screens ---------- */
.nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__shell,
.nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__shell {
  box-sizing: border-box !important;
  align-items: stretch !important;
  background: transparent !important;
}

.nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__stage,
.nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__stage {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* =========================================================
   STARTSCREEN · DESKTOP
   ========================================================= */
@media (min-width: 901px) {
  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__shell {
    display: grid !important;
    grid-template-columns: 258px minmax(0, 1fr) !important;
    gap: 18px !important;
    width: min(1160px, calc(100vw - 110px)) !important;
    height: min(680px, calc(100vh - 86px)) !important;
    min-height: 620px !important;
    max-height: 680px !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__rail {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 26px 22px 18px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #171718 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
    padding: 20px 28px 18px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v214 [data-nftf-screen="start"].is-active {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-start {
    display: grid !important;
    grid-template-rows: 54px auto 198px 1fr 54px !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brandbar {
    min-height: 0 !important;
    height: 54px !important;
    padding: 0 0 10px !important;
    margin: 0 !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brand {
    width: auto !important;
    gap: 14px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brand img {
    display: block !important;
    width: 162px !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    image-rendering: auto !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brand > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 27px !important;
    padding-left: 13px !important;
    border-left: 2px solid #db0000 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .20em !important;
    color: #24262a !important;
  }

  .nftf-modal .nftf--v214 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v214 .nftf213-copy {
    padding-top: 12px !important;
    min-width: 0 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-kicker {
    display: block !important;
    margin: 0 0 6px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-copy h3 {
    max-width: 790px !important;
    margin: 0 0 7px !important;
    font-size: clamp(37px, 3.2vw, 48px) !important;
    line-height: .90 !important;
    letter-spacing: -.045em !important;
  }

  .nftf-modal .nftf--v214 .nftf213-copy p {
    max-width: 760px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-facts {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    width: 100% !important;
    height: 198px !important;
    min-height: 198px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v214 .nftf213-blueprint--desktop {
    display: block !important;
    inset: 9px 0 0 !important;
    width: 100% !important;
    height: 182px !important;
    opacity: .48 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-blueprint--mobile { display: none !important; }

  .nftf-modal .nftf--v214 .nftf213-stat {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
  }

  .nftf-modal .nftf--v214 .nftf213-ring {
    width: 112px !important;
    height: 112px !important;
  }
  .nftf-modal .nftf--v214 .nftf213-stat--three .nftf213-ring {
    width: 122px !important;
    height: 122px !important;
  }
  .nftf-modal .nftf--v214 .nftf213-ring strong { font-size: 43px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat--three .nftf213-ring strong { font-size: 47px !important; }
  .nftf-modal .nftf--v214 .nftf213-ring small { font-size: 7px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat > b { margin-top: 5px !important; font-size: 11px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat-sub { font-size: 8px !important; }

  /* Never place the center phrase inside the middle circle on desktop. */
  .nftf-modal .nftf--v214 .nftf213-orbit--center { display: none !important; }
  .nftf-modal .nftf--v214 .nftf213-orbit--left {
    left: 2px !important;
    top: 145px !important;
    font-size: 7px !important;
  }
  .nftf-modal .nftf--v214 .nftf213-orbit--right {
    right: 0 !important;
    top: 145px !important;
    font-size: 7px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v214 .nftf213-cta {
    align-self: end !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v214 .nftf213-cta button {
    min-width: 178px !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    font-size: 11px !important;
  }

  /* Rail branding: full vector artwork, no crop, no glow. */
  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 3px !important;
    flex: 1 1 auto !important;
    min-height: 165px !important;
    margin: 4px 0 6px !important;
    padding: 10px 0 2px !important;
    overflow: visible !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__rail-logo {
    width: 166px !important;
    max-width: 88% !important;
    height: auto !important;
    filter: none !important;
    box-shadow: none !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__graffiti-img--rail {
    display: block !important;
    visibility: visible !important;
    width: 205px !important;
    max-width: 102% !important;
    height: auto !important;
    margin: -2px auto 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    transform: rotate(-1.1deg) !important;
    filter: none !important;
    box-shadow: none !important;
  }
}

/* =========================================================
   STARTSCREEN · MOBILE
   ========================================================= */
@media (max-width: 900px) {
  .nftf-modal:has(.nftf--v214[data-nftf-current-screen="start"]) {
    padding: 0 !important;
  }

  .nftf-modal:has(.nftf--v214[data-nftf-current-screen="start"]) .nftf-modal__dialog {
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #f7f7f7 !important;
  }

  .nftf-modal:has(.nftf--v214[data-nftf-current-screen="start"]) .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    padding: 58px 12px 12px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] {
    height: 100% !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__rail {
    display: none !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__shell {
    display: block !important;
    width: min(100%, 420px) !important;
    height: calc(100dvh - 70px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    border-radius: 13px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 14px 44px rgba(0,0,0,.05) !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__stage {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 12px 13px 12px !important;
    border-radius: 13px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v214 [data-nftf-screen="start"].is-active {
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-start {
    display: grid !important;
    grid-template-rows: 74px auto 198px 58px 54px !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brandbar {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 0 !important;
    height: 74px !important;
    padding: 0 0 8px !important;
    margin: 0 0 8px !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brand {
    display: flex !important;
    align-items: center !important;
    width: min(58vw, 220px) !important;
    max-width: 100% !important;
    gap: 0 !important;
    min-width: 0 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-brand img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    image-rendering: auto !important;
  }
  .nftf-modal .nftf--v214 .nftf213-brand > span { display: none !important; }

  .nftf-modal .nftf--v214 .nftf213-claim {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-claim i {
    width: 1px !important;
    height: 52px !important;
    background: #d6d7da !important;
  }
  .nftf-modal .nftf--v214 .nftf213-claim span {
    font-size: 7.5px !important;
    line-height: 1.7 !important;
    letter-spacing: .27em !important;
    color: #8f9298 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-copy {
    min-width: 0 !important;
    padding: 7px 0 0 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-kicker {
    margin: 0 0 5px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-copy h3 {
    margin: 0 0 7px !important;
    font-size: clamp(27px, 7.3vw, 31px) !important;
    line-height: .92 !important;
    letter-spacing: -.042em !important;
  }
  .nftf-modal .nftf--v214 .nftf213-copy p {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.34 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-facts {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 98px 100px !important;
    align-items: start !important;
    justify-items: center !important;
    width: 100% !important;
    height: 198px !important;
    min-height: 198px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v214 .nftf213-blueprint--desktop { display: none !important; }
  .nftf-modal .nftf--v214 .nftf213-blueprint--mobile {
    display: block !important;
    inset: 0 !important;
    width: 100% !important;
    height: 198px !important;
    opacity: .52 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-stat--one { grid-column: 1 !important; grid-row: 1 !important; }
  .nftf-modal .nftf--v214 .nftf213-stat--two { grid-column: 2 !important; grid-row: 1 !important; }
  .nftf-modal .nftf--v214 .nftf213-stat--three { grid-column: 1 / span 2 !important; grid-row: 2 !important; align-self: end !important; }

  .nftf-modal .nftf--v214 .nftf213-stat {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
  }
  .nftf-modal .nftf--v214 .nftf213-ring {
    width: 78px !important;
    height: 78px !important;
  }
  .nftf-modal .nftf--v214 .nftf213-stat--three .nftf213-ring {
    width: 92px !important;
    height: 92px !important;
  }
  .nftf-modal .nftf--v214 .nftf213-ring strong { font-size: 32px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat--three .nftf213-ring strong { font-size: 38px !important; }
  .nftf-modal .nftf--v214 .nftf213-ring small { margin-top: 3px !important; font-size: 6.5px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat > b { margin-top: 3px !important; font-size: 9px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat-sub { display: none !important; }

  /* Center label sits in the empty space BETWEEN the two top circles. */
  .nftf-modal .nftf--v214 .nftf213-orbit--center {
    display: block !important;
    top: 29px !important;
    left: 50% !important;
    width: 72px !important;
    transform: translateX(-50%) !important;
    font-size: 6px !important;
    line-height: 1.35 !important;
    letter-spacing: .23em !important;
    z-index: 5 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-orbit--left {
    left: 0 !important;
    top: 154px !important;
    font-size: 6px !important;
    line-height: 1.35 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-orbit--right {
    right: 0 !important;
    top: 154px !important;
    font-size: 6px !important;
    line-height: 1.35 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 58px !important;
    margin: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }
  .nftf-modal .nftf--v214 .nftf213-graffiti img {
    display: block !important;
    width: min(62%, 210px) !important;
    max-width: 100% !important;
    height: 56px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: rotate(-1deg) !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v214 .nftf213-cta {
    display: block !important;
    align-self: end !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 5px 0 0 !important;
    border-top: 1px solid #ececee !important;
  }
  .nftf-modal .nftf--v214 .nftf213-cta > span { display: none !important; }
  .nftf-modal .nftf--v214 .nftf213-cta button {
    width: 100% !important;
    min-height: 49px !important;
    max-height: 49px !important;
    padding: 0 22px !important;
    font-size: 13px !important;
    letter-spacing: .14em !important;
  }
}

/* Short-height phones: preserve CTA and facts; reduce copy, never clip the CTA. */
@media (max-width: 900px) and (max-height: 720px) {
  .nftf-modal:has(.nftf--v214[data-nftf-current-screen="start"]) .nftf__inner {
    padding-top: 54px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 64px) !important;
  }
  .nftf-modal .nftf--v214 .nftf213-start {
    grid-template-rows: 62px auto 178px 48px 50px !important;
  }
  .nftf-modal .nftf--v214 .nftf213-brandbar { height: 62px !important; }
  .nftf-modal .nftf--v214 .nftf213-brand { width: min(52vw, 190px) !important; }
  .nftf-modal .nftf--v214 .nftf213-claim i { height: 44px !important; }
  .nftf-modal .nftf--v214 .nftf213-copy h3 { font-size: 25px !important; margin-bottom: 5px !important; }
  .nftf-modal .nftf--v214 .nftf213-copy p { font-size: 10px !important; line-height: 1.28 !important; }
  .nftf-modal .nftf--v214 .nftf213-facts { grid-template-rows: 88px 90px !important; height: 178px !important; min-height: 178px !important; }
  .nftf-modal .nftf--v214 .nftf213-blueprint--mobile { height: 178px !important; }
  .nftf-modal .nftf--v214 .nftf213-ring { width: 70px !important; height: 70px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat--three .nftf213-ring { width: 84px !important; height: 84px !important; }
  .nftf-modal .nftf--v214 .nftf213-ring strong { font-size: 29px !important; }
  .nftf-modal .nftf--v214 .nftf213-stat--three .nftf213-ring strong { font-size: 34px !important; }
  .nftf-modal .nftf--v214 .nftf213-orbit--center { top: 24px !important; }
  .nftf-modal .nftf--v214 .nftf213-orbit--left,
  .nftf-modal .nftf--v214 .nftf213-orbit--right { top: 140px !important; }
  .nftf-modal .nftf--v214 .nftf213-graffiti { height: 48px !important; }
  .nftf-modal .nftf--v214 .nftf213-graffiti img { height: 46px !important; }
  .nftf-modal .nftf--v214 .nftf213-cta { height: 50px !important; }
  .nftf-modal .nftf--v214 .nftf213-cta button { min-height: 45px !important; max-height: 45px !important; }
}

/* =========================================================
   RESULT · DESKTOP
   Completely isolates the result grid to eliminate overlap.
   ========================================================= */
@media (min-width: 901px) {
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__shell {
    display: grid !important;
    grid-template-columns: 258px minmax(0,1fr) !important;
    gap: 18px !important;
    width: min(1180px, calc(100vw - 100px)) !important;
    height: min(680px, calc(100vh - 86px)) !important;
    min-height: 630px !important;
    max-height: 680px !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 26px 22px 18px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #171718 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__stage {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] [data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result {
    display: grid !important;
    grid-template-rows: 188px minmax(0,1fr) !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-hero {
    position: relative !important;
    width: 100% !important;
    height: 188px !important;
    min-height: 188px !important;
    margin: 0 !important;
    padding: 20px 28px 18px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #171717 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-topline {
    padding-bottom: 9px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-kicker {
    margin-top: 14px !important;
    font-size: 9px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    margin: 4px 0 3px !important;
    font-size: clamp(44px, 4.3vw, 58px) !important;
    line-height: .9 !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-claim {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__signal {
    top: 64px !important;
    right: 28px !important;
    height: 38px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__price {
    right: 28px !important;
    bottom: 17px !important;
    min-width: 220px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__price > span {
    font-size: 7px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__price strong {
    font-size: 38px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__price p {
    margin-top: 4px !important;
    font-size: 7px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr) !important;
    grid-template-areas:
      "why actions"
      "configuration compare"
      "footer footer" !important;
    grid-template-rows: 184px minmax(0,1fr) 36px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why { grid-area: why !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions { grid-area: actions !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration { grid-area: configuration !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare { grid-area: compare !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-footer { grid-area: footer !important; }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare {
    position: relative !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 14px 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration {
    border-right: 1px solid #ececee !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions {
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why h4,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions-title {
    margin: 5px 0 9px !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why ul {
    gap: 5px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why li {
    grid-template-columns: 21px 1fr !important;
    gap: 7px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why li > span {
    width: 20px !important;
    height: 20px !important;
    font-size: 7px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why li p {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 43px !important;
    font-size: 10px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__checkout-note {
    margin-top: 5px !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions-secondary {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 7px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions-secondary .nftf__button {
    min-height: 32px !important;
    padding: 6px 8px !important;
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-grid {
    margin-top: 7px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-grid > div {
    padding: 7px 9px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-grid span,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-modules > span {
    font-size: 7px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-grid strong,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-modules p {
    font-size: 10px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-modules {
    margin-top: 6px !important;
    padding: 7px 9px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__term-note {
    margin-top: 6px !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare::before {
    top: 14px !important;
    bottom: 14px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare-head h4 {
    font-size: 14px !important;
    line-height: 1.1 !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare-head > strong {
    font-size: 8px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare > p {
    margin-top: 7px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare-facts {
    margin-top: 7px !important;
    gap: 4px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare-facts span {
    padding: 5px 7px !important;
    font-size: 6.5px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__textlink {
    margin-top: 8px !important;
    font-size: 9px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 6px 18px !important;
    border-top: 1px solid #ececee !important;
    overflow: hidden !important;
  }
}

/* =========================================================
   RESULT · MOBILE
   Result may scroll vertically; overlap is never allowed.
   ========================================================= */
@media (max-width: 900px) {
  .nftf-modal:has(.nftf--v214[data-nftf-current-screen="result"]) .nftf-modal__dialog {
    width: 100vw !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
    background: #f7f7f7 !important;
  }

  .nftf-modal:has(.nftf--v214[data-nftf-current-screen="result"]) .nftf__inner {
    width: 100% !important;
    padding: 58px 12px 16px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail {
    display: none !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__shell {
    display: block !important;
    width: min(100%, 420px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border-radius: 13px !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__stage {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 13px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-hero {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 235px !important;
    padding: 18px 16px 20px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #171717 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    font-size: clamp(40px, 12vw, 50px) !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__price {
    position: static !important;
    min-width: 0 !important;
    margin-top: 16px !important;
    padding-left: 13px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-main {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions { order: 1 !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why { order: 2 !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration { order: 3 !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare { order: 4 !important; }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-footer { order: 5 !important; }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 18px 16px !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions-secondary {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    overflow: visible !important;
  }
}

/* V2.0.14 QA refinements */
.nftf-modal .nftf--v214 .nftf213-brand-logo--desktop { display: block !important; }
.nftf-modal .nftf--v214 .nftf213-brand-logo--mobile { display: none !important; }

@media (min-width: 901px) {
  .nftf-modal .nftf--v214 .nftf213-copy p { font-size: 13px !important; }
  .nftf-modal .nftf--v214 .nftf213-cta button {
    background: #222224 !important;
    border-color: #222224 !important;
    color: #fff !important;
  }
  .nftf-modal .nftf--v214 .nftf213-cta button:hover,
  .nftf-modal .nftf--v214 .nftf213-cta button:focus-visible {
    background: #db0000 !important;
    border-color: #db0000 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-head,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-steps,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-foot {
    flex: 0 0 auto !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-brand {
    flex: 1 1 auto !important;
    min-height: 92px !important;
    max-height: 126px !important;
    margin: 3px 0 4px !important;
    padding: 3px 0 !important;
    gap: 2px !important;
    overflow: visible !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-logo {
    width: 150px !important;
    max-width: 82% !important;
    height: auto !important;
    filter: none !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__graffiti-img--rail {
    display: block !important;
    width: 172px !important;
    max-width: 90% !important;
    height: auto !important;
    margin: -2px auto 0 !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
    transform: rotate(-1deg) !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-foot {
    padding-top: 8px !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-foot p {
    font-size: 10px !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 900px) {
  .nftf-modal .nftf--v214 .nftf213-brand-logo--desktop { display: none !important; }
  .nftf-modal .nftf--v214 .nftf213-brand-logo--mobile { display: block !important; }

  .nftf-modal .nftf--v214 .nftf213-start {
    grid-template-rows: 74px auto 198px 58px minmax(4px,1fr) 54px !important;
    align-content: stretch !important;
  }
  .nftf-modal .nftf--v214 .nftf213-brandbar { grid-row: 1 !important; }
  .nftf-modal .nftf--v214 .nftf213-copy { grid-row: 2 !important; }
  .nftf-modal .nftf--v214 .nftf213-facts { grid-row: 3 !important; align-self: start !important; }
  .nftf-modal .nftf--v214 .nftf213-graffiti { grid-row: 4 !important; }
  .nftf-modal .nftf--v214 .nftf213-cta { grid-row: 6 !important; }

  .nftf-modal .nftf--v214 .nftf213-copy p {
    font-size: 12px !important;
    line-height: 1.32 !important;
  }
  .nftf-modal .nftf--v214 .nftf213-cta button {
    background: #222224 !important;
    border-color: #222224 !important;
    color: #fff !important;
  }
  .nftf-modal .nftf--v214 .nftf213-cta button:hover,
  .nftf-modal .nftf--v214 .nftf213-cta button:focus-visible {
    background: #db0000 !important;
    border-color: #db0000 !important;
  }
}

@media (max-width: 900px) and (max-height: 720px) {
  .nftf-modal .nftf--v214 .nftf213-start {
    grid-template-rows: 62px auto 178px 48px minmax(2px,1fr) 50px !important;
  }
}

/* V2.0.14 logo breakpoint lock: prevent legacy img rules from re-enabling both assets */
@media (min-width: 901px) {
  .nftf-modal .nftf--v214 .nftf213-brand img.nftf213-brand-logo--desktop { display: block !important; }
  .nftf-modal .nftf--v214 .nftf213-brand img.nftf213-brand-logo--mobile { display: none !important; }
}
@media (max-width: 900px) {
  .nftf-modal .nftf--v214 .nftf213-brand img.nftf213-brand-logo--desktop { display: none !important; }
  .nftf-modal .nftf--v214 .nftf213-brand img.nftf213-brand-logo--mobile { display: block !important; }
}

/* V2.0.14 mobile-result height release: allow natural content height + modal scrolling */
@media (max-width: 900px) {
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"],
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__inner,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__shell,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__stage,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] [data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__shell,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__stage,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] [data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-main {
    overflow: visible !important;
  }
}

/* ========================================================================
   V2.0.15 · GRAFFITI / MOBILE NAV / RESULT SCALE POLISH
   - Graffiti asset uncropped and sharper on start + result rail
   - Mobile prev/next locked to same baseline
   - Mobile decision screens use height more consistently
   - Desktop result screen scaled up with less dead whitespace
   ======================================================================== */

/* Shared graffiti fidelity */
.nftf-modal .nftf--v214 .nftf213-graffiti,
.nftf-modal .nftf--v214 .nftf__rail-brand {
  overflow: visible !important;
}

.nftf-modal .nftf--v214 .nftf213-graffiti img,
.nftf-modal .nftf--v214 .nftf__graffiti-img--rail {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  image-rendering: auto !important;
  -webkit-user-drag: none;
}

/* Desktop start screen: logo stays clean, graffiti gets more room and cannot crop */
@media (min-width: 901px) {
  .nftf-modal .nftf--v214 .nftf213-start {
    grid-template-rows: 84px auto minmax(210px, 1fr) 72px !important;
    row-gap: 18px !important;
    min-height: 100% !important;
  }

  .nftf-modal .nftf--v214 .nftf213-facts {
    min-height: 0 !important;
    align-self: stretch !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti {
    align-self: end !important;
    justify-self: center !important;
    width: min(100%, 455px) !important;
    height: 74px !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti img {
    filter: none !important;
    transform: none !important;
  }

  .nftf-modal .nftf--v214 .nftf213-cta {
    align-self: end !important;
    margin-top: 0 !important;
  }

  /* Result rail / left column */
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail {
    width: 232px !important;
    padding: 18px 18px 16px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-brand {
    flex: 1 1 auto !important;
    justify-content: end !important;
    min-height: 122px !important;
    max-height: 144px !important;
    margin: 8px 0 10px !important;
    padding: 8px 0 2px !important;
    gap: 8px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-logo {
    width: 154px !important;
    max-width: 84% !important;
    height: auto !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__graffiti-img--rail {
    width: 182px !important;
    height: 62px !important;
    margin: 2px auto 0 !important;
    filter: brightness(0) invert(1) !important;
    opacity: .96 !important;
    transform: none !important;
  }

  /* Result stage larger and denser */
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__stage {
    padding: 18px 20px 14px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__screen[data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result {
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result {
    display: grid !important;
    grid-template-rows: auto 1fr !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-hero {
    min-height: 154px !important;
    padding: 18px 24px 16px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    font-size: clamp(52px, 4.8vw, 64px) !important;
    line-height: .9 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__signal {
    min-width: 218px !important;
    padding-left: 28px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__price {
    font-size: clamp(36px, 3.4vw, 50px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-main {
    grid-template-columns: minmax(0, 1.08fr) minmax(270px, .92fr) !important;
    grid-template-rows: auto minmax(165px, 1fr) auto !important;
    min-height: 382px !important;
    gap: 0 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__actions,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare {
    min-height: 0 !important;
    padding: 12px 16px 14px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare,
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__configuration {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__config-grid {
    gap: 0 !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare > p {
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__compare-facts {
    margin-top: auto !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__result-footer {
    min-height: 34px !important;
    padding: 10px 16px !important;
  }
}

/* Mobile start + decision screens */
@media (max-width: 900px) {
  .nftf-modal .nftf--v214 .nftf__stage {
    position: relative !important;
    padding-bottom: 12px !important;
  }

  .nftf-modal .nftf--v214 .nftf__screen.is-active:not([data-nftf-screen="result"]) {
    position: relative !important;
    height: 100% !important;
    min-height: 0 !important;
    padding-bottom: 84px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v214 .nftf__question-head,
  .nftf-modal .nftf--v214 .nftf__start,
  .nftf-modal .nftf--v214 .nftf__options,
  .nftf-modal .nftf--v214 .nftf__module-grid,
  .nftf-modal .nftf--v214 .nftf__notice {
    position: relative;
    z-index: 1;
  }

  .nftf-modal .nftf--v214 .nftf__navrow {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin-top: 0 !important;
    min-height: 68px !important;
    height: 68px !important;
    padding: 12px 0 0 !important;
    background: linear-gradient(180deg, rgba(250,250,250,0) 0%, rgba(250,250,250,.82) 20%, #fafafa 42%) !important;
    border-top: 0 !important;
  }

  .nftf-modal .nftf--v214 .nftf__navbtn--back,
  .nftf-modal .nftf--v214 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-start {
    grid-template-rows: 84px auto minmax(278px, 1fr) 64px 70px !important;
    row-gap: 12px !important;
    min-height: 100% !important;
    align-content: stretch !important;
  }

  .nftf-modal .nftf--v214 .nftf213-brandbar {
    grid-row: 1 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-copy {
    grid-row: 2 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-facts {
    grid-row: 3 !important;
    align-self: stretch !important;
    min-height: 278px !important;
    height: auto !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti {
    grid-row: 4 !important;
    align-self: end !important;
    justify-self: center !important;
    width: min(100%, 286px) !important;
    height: 58px !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti img {
    filter: none !important;
    transform: none !important;
  }

  .nftf-modal .nftf--v214 .nftf213-cta {
    grid-row: 5 !important;
    align-self: end !important;
    height: auto !important;
    margin-top: 0 !important;
  }

  .nftf-modal .nftf--v214 .nftf213-cta button {
    min-height: 56px !important;
    max-height: none !important;
  }

  /* Let all question screens breathe and use the vertical space more evenly */
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="1"] .nftf__options,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="2"] .nftf__options,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="4"] .nftf__options,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="5"] .nftf__options,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="6"] .nftf__options,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="3"] .nftf__module-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-content: stretch !important;
    grid-auto-rows: 1fr !important;
  }

  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="3"] .nftf__module-grid {
    grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
  }

  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="5"] .nftf__options,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="6"] .nftf__options {
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  }

  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="6"] .nftf__notice,
  .nftf-modal .nftf--v214 .nftf__screen[data-nftf-screen="5"] .nftf__notice {
    margin-top: 10px !important;
  }
}

/* Small mobile devices: keep the same baseline, only scale content slightly */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v214 .nftf213-start {
    grid-template-rows: 76px auto minmax(250px, 1fr) 56px 64px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-facts {
    min-height: 250px !important;
  }

  .nftf-modal .nftf--v214 .nftf213-graffiti {
    height: 52px !important;
  }
}

/* Mobile result rail graffiti also gets the full uncropped source */
@media (max-width: 900px) {
  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__rail-brand {
    min-height: 108px !important;
    gap: 8px !important;
  }

  .nftf-modal .nftf--v214[data-nftf-current-screen="result"] .nftf__graffiti-img--rail {
    width: 184px !important;
    height: 58px !important;
    margin: 2px auto 0 !important;
    filter: brightness(0) invert(1) !important;
    transform: none !important;
    opacity: .96 !important;
  }
}

/* =========================================================
   V2.0.16 · STARTSCREEN + NAVIGATION REPAIR
   Ziel: erstes Mockup wieder sauber umsetzen, Graffiti transparent und vollständig,
   CTA sichtbar, Modalfläche besser nutzen, Mobile Bottom-Actions stabil.
   ========================================================= */

/* ---------- Funnel-Navigation stabil an der Unterkante ---------- */
.nftf-modal .nftf--v216 .nftf__stage {
  display: flex !important;
  flex-direction: column !important;
}

.nftf-modal .nftf--v216 .nftf__progress,
.nftf-modal .nftf--v216 .nftf__live {
  flex: 0 0 auto !important;
}

.nftf-modal .nftf--v216 .nftf__screen.is-active:not([data-nftf-screen="result"]):not([data-nftf-screen="start"]) {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  flex-direction: column !important;
  padding-bottom: 0 !important;
}

.nftf-modal .nftf--v216 .nftf__question-head,
.nftf-modal .nftf--v216 .nftf__options,
.nftf-modal .nftf--v216 .nftf__module-grid,
.nftf-modal .nftf--v216 .nftf__notice {
  flex: 0 0 auto !important;
}

.nftf-modal .nftf--v216 .nftf__navrow {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  margin-top: auto !important;
  background: transparent !important;
}

/* ---------- Desktop / Web ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__shell {
    display: grid !important;
    grid-template-columns: 282px minmax(0,1fr) !important;
    gap: 14px !important;
    width: min(1320px, calc(100vw - 44px)) !important;
    height: min(736px, calc(100dvh - 42px)) !important;
    min-height: 650px !important;
    max-height: 736px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__rail {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 24px 22px 18px !important;
    border-radius: 12px !important;
    background: #161618 !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
    padding: 18px 22px 16px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-start {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    color: #151517 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brandbar {
    min-height: 58px !important;
    padding: 0 0 12px !important;
    margin: 0 0 14px !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brand {
    gap: 16px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brand img {
    width: 176px !important;
    height: auto !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brand > span {
    display: inline-flex !important;
    min-height: 30px !important;
    padding-left: 14px !important;
    border-left: 2px solid #db0000 !important;
    color: #282a2f !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .20em !important;
  }

  .nftf-modal .nftf--v216 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy {
    min-width: 0 !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-kicker {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy h3 {
    max-width: 900px !important;
    margin: 0 0 10px !important;
    font-size: clamp(48px, 4.45vw, 70px) !important;
    line-height: .90 !important;
    letter-spacing: -.055em !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy p {
    max-width: 820px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
    color: #707279 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-facts {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    align-items: center !important;
    justify-items: center !important;
    width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;
    margin: 8px 0 6px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v216 .nftf213-blueprint--desktop {
    display: block !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .58 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-blueprint--mobile {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring {
    width: 124px !important;
    height: 124px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring {
    width: 136px !important;
    height: 136px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring strong {
    font-size: 48px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring strong {
    font-size: 54px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring small {
    margin-top: 6px !important;
    font-size: 9px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat > b {
    margin-top: 9px !important;
    font-size: 13px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat-sub {
    margin-top: 3px !important;
    font-size: 10px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--center {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--left {
    left: -4px !important;
    top: 148px !important;
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--right {
    right: -2px !important;
    top: 148px !important;
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-graffiti {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 82px !important;
    align-items: flex-end !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 6px 0 0 !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v216 .nftf213-graffiti img {
    display: block !important;
    width: min(54%, 410px) !important;
    max-width: 100% !important;
    max-height: 126px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: rotate(-1.4deg) !important;
    filter: saturate(.9) contrast(1.02) !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 60px !important;
    margin-top: 6px !important;
    padding-top: 12px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta > span {
    display: block !important;
    color: #7a7c82 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta button {
    min-width: 252px !important;
    min-height: 50px !important;
    padding: 0 28px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .15em !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__rail-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    min-height: 196px !important;
    margin: 2px 0 8px !important;
    padding: 14px 0 6px !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__rail-logo {
    width: 192px !important;
    max-width: 92% !important;
    height: auto !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__graffiti-img--rail {
    display: block !important;
    visibility: visible !important;
    width: min(92%, 226px) !important;
    max-width: 92% !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    opacity: .98 !important;
    filter: none !important;
  }
}

/* ---------- Mobile / Responsive ---------- */
@media (max-width: 900px) {
  .nftf-modal:has(.nftf--v216[data-nftf-current-screen="start"]) .nftf-modal__dialog {
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #f6f6f7 !important;
  }

  .nftf-modal:has(.nftf--v216[data-nftf-current-screen="start"]) .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    padding: 58px 10px 10px !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] {
    height: 100% !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__rail {
    display: none !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__shell {
    display: block !important;
    width: min(100%, 430px) !important;
    height: calc(100dvh - 68px) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 12px 36px rgba(0,0,0,.045) !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__stage {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 12px 12px 10px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .nftf-modal .nftf--v216 [data-nftf-screen="start"].is-active {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-start {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brandbar {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 70px !important;
    padding: 0 0 8px !important;
    margin: 0 0 10px !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brand {
    width: min(62vw, 240px) !important;
    gap: 0 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brand img {
    width: 100% !important;
    height: auto !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brand > span {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy {
    flex: 0 0 auto !important;
  }

  .nftf-modal .nftf--v216 .nftf213-kicker {
    margin: 0 0 7px !important;
    font-size: 12px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy h3 {
    margin: 0 0 8px !important;
    font-size: clamp(31px, 8.4vw, 39px) !important;
    line-height: .92 !important;
    letter-spacing: -.05em !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy p {
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #72747a !important;
  }

  .nftf-modal .nftf--v216 .nftf213-facts {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 118px 126px !important;
    align-items: start !important;
    justify-items: center !important;
    width: 100% !important;
    height: 244px !important;
    min-height: 244px !important;
    margin: 10px 0 4px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v216 .nftf213-blueprint--desktop {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-blueprint--mobile {
    display: block !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .7 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--one { grid-column: 1 !important; grid-row: 1 !important; }
  .nftf-modal .nftf--v216 .nftf213-stat--two { grid-column: 2 !important; grid-row: 1 !important; }
  .nftf-modal .nftf--v216 .nftf213-stat--three { grid-column: 1 / span 2 !important; grid-row: 2 !important; align-self: end !important; }

  .nftf-modal .nftf--v216 .nftf213-ring {
    width: 102px !important;
    height: 102px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring {
    width: 118px !important;
    height: 118px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring strong {
    font-size: 42px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring strong {
    font-size: 48px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring small {
    font-size: 8px !important;
    margin-top: 5px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat > b {
    margin-top: 5px !important;
    font-size: 11px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat-sub {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--center {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--left {
    left: 0 !important;
    top: 188px !important;
    font-size: 7px !important;
    text-align: left !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--right {
    right: 0 !important;
    top: 188px !important;
    font-size: 7px !important;
    text-align: right !important;
  }

  .nftf-modal .nftf--v216 .nftf213-graffiti {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 70px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 2px 0 4px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-graffiti img {
    width: min(72%, 240px) !important;
    max-width: 100% !important;
    max-height: 86px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: rotate(-1deg) !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta {
    display: block !important;
    flex: 0 0 auto !important;
    min-height: 60px !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta > span {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta button {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 22px !important;
    font-size: 14px !important;
    letter-spacing: .14em !important;
  }

  .nftf-modal .nftf--v216 .nftf__screen.is-active:not([data-nftf-screen="result"]):not([data-nftf-screen="start"]) {
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v216 .nftf__navrow {
    min-height: 52px !important;
    padding-top: 10px !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 64px) !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brandbar {
    min-height: 62px !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy h3 {
    font-size: clamp(28px, 7.8vw, 34px) !important;
    margin-bottom: 6px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy p {
    font-size: 12px !important;
    line-height: 1.28 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-facts {
    grid-template-rows: 104px 112px !important;
    height: 216px !important;
    min-height: 216px !important;
    margin-top: 8px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring {
    width: 90px !important;
    height: 90px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring {
    width: 104px !important;
    height: 104px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring strong {
    font-size: 36px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring strong {
    font-size: 42px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-graffiti img {
    width: min(66%, 212px) !important;
    max-height: 72px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta button {
    min-height: 52px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   V2.0.17 · DESKTOP STARTSCREEN FIT REPAIR
   Nur Layout-Fix für den Startscreen: CTA bleibt sichtbar,
   Facts werden nicht geclippt, Desktop nutzt die Dialoghöhe.
   ========================================================= */
@media (min-width: 901px) {
  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__shell {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] .nftf__stage {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v216[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(188px, 1fr) auto !important;
    align-content: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v216 .nftf213-brandbar {
    min-height: 52px !important;
    margin-bottom: 10px !important;
    padding-bottom: 9px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy {
    margin-bottom: 2px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy h3 {
    font-size: clamp(43px, 3.85vw, 60px) !important;
    line-height: .91 !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy p {
    max-width: 840px !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .nftf-modal .nftf--v216 .nftf213-facts {
    align-self: stretch !important;
    height: 100% !important;
    min-height: 188px !important;
    max-height: 220px !important;
    margin: 3px 0 2px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring {
    width: 116px !important;
    height: 116px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring {
    width: 128px !important;
    height: 128px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring strong {
    font-size: 45px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring strong {
    font-size: 50px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--left {
    left: 10px !important;
    top: 144px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--right {
    right: 10px !important;
    top: 144px !important;
  }

  /* Desktop: Graffiti bleibt bewusst in der schwarzen Profilkachel.
     Dadurch bekommt der Start-CTA einen festen, sichtbaren Abschluss. */
  .nftf-modal .nftf--v216 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta {
    display: flex !important;
    flex: 0 0 auto !important;
    min-height: 58px !important;
    margin-top: 2px !important;
    padding-top: 10px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-cta button {
    min-width: 238px !important;
    min-height: 48px !important;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .nftf-modal .nftf--v216 .nftf213-copy h3 {
    font-size: clamp(39px, 3.55vw, 54px) !important;
  }

  .nftf-modal .nftf--v216 .nftf213-copy p {
    font-size: 11px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-facts {
    min-height: 170px !important;
    max-height: 186px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-ring {
    width: 106px !important;
    height: 106px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-stat--three .nftf213-ring {
    width: 116px !important;
    height: 116px !important;
  }

  .nftf-modal .nftf--v216 .nftf213-orbit--left,
  .nftf-modal .nftf--v216 .nftf213-orbit--right {
    top: 130px !important;
  }
}

/* =========================================================
   V2.0.18 · START + RESULT LAYOUT TUNING
   Ziel:
   - Desktop-Start CTA vollständig sichtbar und unten rechts sauber verankert
   - Mobile-Start CTA zuverlässig sichtbar + Tarif-Finder Label im Branding
   - Result-Screen nutzt die verfügbare Fläche stärker aus
   ========================================================= */

/* ---------- Gemeinsame Modal-Flächennutzung ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v218 .nftf__inner {
    width: min(calc(100% - 38px), 1340px) !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}

/* ---------- Desktop Startscreen ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__shell {
    width: 100% !important;
    height: min(742px, calc(100dvh - 44px)) !important;
    min-height: 640px !important;
    max-height: 742px !important;
    gap: 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__stage {
    padding: 16px 22px 16px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(176px, 1fr) auto !important;
    gap: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218 .nftf213-brandbar {
    min-height: 50px !important;
    margin: 0 0 10px !important;
    padding: 0 0 10px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy {
    margin-bottom: 0 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-kicker {
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy h3 {
    max-width: 860px !important;
    margin: 0 0 8px !important;
    font-size: clamp(41px, 3.7vw, 58px) !important;
    line-height: .91 !important;
    letter-spacing: -.055em !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy p {
    max-width: 840px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-facts {
    align-self: stretch !important;
    height: auto !important;
    min-height: 176px !important;
    max-height: 214px !important;
    margin: 4px 0 0 !important;
    padding-bottom: 2px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-blueprint--desktop {
    opacity: .62 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-gridlines line:nth-child(1),
  .nftf-modal .nftf--v218 .nftf213-gridlines line:nth-child(2),
  .nftf-modal .nftf--v218 .nftf213-gridlines line:nth-child(5) {
    stroke: #d9dadd !important;
  }

  .nftf-modal .nftf--v218 .nftf213-nodes circle:nth-child(2),
  .nftf-modal .nftf--v218 .nftf213-nodes circle:nth-child(4) {
    fill: #ffffff !important;
    stroke: #db0000 !important;
    stroke-width: 1.6 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring {
    width: 112px !important;
    height: 112px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring {
    width: 126px !important;
    height: 126px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring strong {
    font-size: 43px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring strong {
    font-size: 48px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring small {
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat > b {
    margin-top: 7px !important;
    font-size: 13px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat-sub {
    font-size: 10px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-orbit--left {
    left: 8px !important;
    top: 138px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-orbit--right {
    right: 8px !important;
    top: 138px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: end !important;
    gap: 18px !important;
    min-height: 74px !important;
    margin-top: auto !important;
    padding-top: 12px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta > span {
    display: block !important;
    align-self: end !important;
    padding-bottom: 4px !important;
    color: #62656c !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta button {
    align-self: end !important;
    justify-self: end !important;
    min-width: 260px !important;
    min-height: 54px !important;
    padding: 0 30px !important;
    border-radius: 999px !important;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .nftf-modal .nftf--v218 .nftf213-copy h3 {
    font-size: clamp(37px, 3.35vw, 52px) !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy p {
    font-size: 11px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-facts {
    min-height: 162px !important;
    max-height: 190px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring {
    width: 102px !important;
    height: 102px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring {
    width: 114px !important;
    height: 114px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-orbit--left,
  .nftf-modal .nftf--v218 .nftf213-orbit--right {
    top: 126px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta {
    min-height: 66px !important;
    padding-top: 10px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta button {
    min-height: 50px !important;
    min-width: 244px !important;
  }
}

/* ---------- Desktop Ergebnis-Screen ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__shell {
    width: 100% !important;
    height: min(742px, calc(100dvh - 44px)) !important;
    min-height: 650px !important;
    max-height: 742px !important;
    gap: 18px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__rail {
    height: 100% !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
    padding: 14px 18px 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] [data-nftf-screen="result"].is-active {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__result {
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__result-hero {
    min-height: 168px !important;
    padding: 18px 20px 16px !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    margin-top: 6px !important;
    font-size: clamp(54px, 4.1vw, 72px) !important;
    line-height: .88 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__result-claim {
    font-size: 18px !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__price > div strong {
    font-size: clamp(36px, 3vw, 52px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__result-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr) !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 14px 18px !important;
    align-content: stretch !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__why {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-right: 10px !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__configuration {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__compare {
    grid-column: 2 !important;
    grid-row: 2 / span 2 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__actions,
  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__configuration,
  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__compare {
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 54px !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="result"] .nftf__result-footer {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 0 !important;
    padding-top: 4px !important;
  }
}

/* ---------- Mobile Startscreen ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    padding: 58px 12px 12px !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__shell {
    width: min(100%, 430px) !important;
    height: calc(100dvh - 78px) !important;
    max-height: calc(100dvh - 78px) !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__stage {
    padding: 12px 14px 12px !important;
  }

  .nftf-modal .nftf--v218 [data-nftf-screen="start"].is-active {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(214px, 1fr) auto !important;
    gap: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v218 .nftf213-brandbar {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    min-height: 78px !important;
    margin: 0 0 10px !important;
    padding: 0 0 10px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: min(72vw, 258px) !important;
  }

  .nftf-modal .nftf--v218 .nftf213-brand img {
    width: 100% !important;
  }

  .nftf-modal .nftf--v218 .nftf213-brand > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 18px !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    color: #767980 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy h3 {
    margin: 0 0 8px !important;
    font-size: clamp(28px, 8vw, 38px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy p {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-facts {
    grid-template-rows: 108px 118px !important;
    height: 226px !important;
    min-height: 226px !important;
    margin: 8px 0 2px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-blueprint--mobile {
    opacity: .72 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-nodes circle:nth-child(2),
  .nftf-modal .nftf--v218 .nftf213-nodes circle:nth-child(4) {
    fill: #ffffff !important;
    stroke: #db0000 !important;
    stroke-width: 1.4 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring {
    width: 96px !important;
    height: 96px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring {
    width: 112px !important;
    height: 112px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring strong {
    font-size: 39px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring strong {
    font-size: 46px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring small {
    font-size: 7.5px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat > b {
    margin-top: 4px !important;
    font-size: 10px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-orbit--left,
  .nftf-modal .nftf--v218 .nftf213-orbit--right {
    top: 178px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    min-height: 76px !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta > span {
    display: block !important;
    color: #686b71 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta button {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 20px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__inner {
    padding-top: 52px !important;
    padding-bottom: 10px !important;
  }

  .nftf-modal .nftf--v218[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 66px) !important;
    max-height: calc(100dvh - 66px) !important;
  }

  .nftf-modal .nftf--v218 .nftf213-brandbar {
    min-height: 68px !important;
    margin-bottom: 8px !important;
    padding-bottom: 8px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy h3 {
    font-size: clamp(26px, 7.3vw, 34px) !important;
  }

  .nftf-modal .nftf--v218 .nftf213-copy p {
    font-size: 11px !important;
    line-height: 1.24 !important;
  }

  .nftf-modal .nftf--v218 .nftf213-facts {
    grid-template-rows: 98px 104px !important;
    height: 202px !important;
    min-height: 202px !important;
    margin-top: 6px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring {
    width: 86px !important;
    height: 86px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring {
    width: 98px !important;
    height: 98px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-ring strong {
    font-size: 35px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-stat--three .nftf213-ring strong {
    font-size: 40px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-orbit--left,
  .nftf-modal .nftf--v218 .nftf213-orbit--right {
    top: 160px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta {
    min-height: 68px !important;
    padding-top: 8px !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta > span {
    display: none !important;
  }

  .nftf-modal .nftf--v218 .nftf213-cta button {
    min-height: 50px !important;
    font-size: 12px !important;
  }
}


/* =========================================================
   V2.0.19 · RESPONSIVE CARD LOCK + START/RESULT PREMIUM TUNING
   Ziel:
   - Mobile: weiße Content-Kachel konstant auf Viewport-Höhe
   - Mobile: Zurück / Weiter kleiner und unten links / rechts fixiert
   - Startscreen: CTA sauber unten verankert, obere Fläche effizienter genutzt
   - Desktop Result: hochwertigere Hero-Fläche, stärkerer Haupt-CTA
   ========================================================= */

.nftf-modal .nftf--v219 .nftf__progress-steps {
  display: none;
}

/* ---------- Mobile · konstante Kartenhöhe + Navigation ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v219 .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 10px 12px 12px !important;
    display: flex !important;
    align-items: stretch !important;
  }

  .nftf-modal .nftf--v219 .nftf__shell {
    width: min(100%, 430px) !important;
    height: calc(100dvh - 22px) !important;
    min-height: calc(100dvh - 22px) !important;
    max-height: calc(100dvh - 22px) !important;
    margin: 0 auto !important;
  }

  .nftf-modal .nftf--v219 .nftf__stage {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 14px 14px 16px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v219 .nftf__progress {
    flex: 0 0 auto !important;
    margin: 0 0 12px !important;
  }

  .nftf-modal .nftf--v219 .nftf__progress-track {
    height: 3px !important;
    border-radius: 999px !important;
  }

  .nftf-modal .nftf--v219 .nftf__progress-steps {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
  }

  .nftf-modal .nftf--v219 .nftf__progress-steps li {
    display: grid;
    place-items: center;
    min-height: 26px;
    border: 1px solid #e2e3e6;
    border-radius: 999px;
    background: #fff;
    color: #9aa0a7;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="1"] .nftf__progress-steps li:nth-child(-n+1),
  .nftf-modal .nftf--v219[data-nftf-current-screen="2"] .nftf__progress-steps li:nth-child(-n+2),
  .nftf-modal .nftf--v219[data-nftf-current-screen="3"] .nftf__progress-steps li:nth-child(-n+3),
  .nftf-modal .nftf--v219[data-nftf-current-screen="4"] .nftf__progress-steps li:nth-child(-n+4),
  .nftf-modal .nftf--v219[data-nftf-current-screen="5"] .nftf__progress-steps li:nth-child(-n+5),
  .nftf-modal .nftf--v219[data-nftf-current-screen="6"] .nftf__progress-steps li:nth-child(-n+6),
  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__progress-steps li {
    border-color: #202124;
    background: #202124;
    color: #fff;
  }

  .nftf-modal .nftf--v219 .nftf__screen.is-active:not([data-nftf-screen="start"]):not([data-nftf-screen="result"]) {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding-right: 1px !important;
  }

  .nftf-modal .nftf--v219 .nftf__question-head {
    margin-bottom: 16px !important;
  }

  .nftf-modal .nftf--v219 .nftf__question-head h3 {
    margin-top: 8px !important;
  }

  .nftf-modal .nftf--v219 .nftf__options,
  .nftf-modal .nftf--v219 .nftf__module-grid {
    gap: 9px !important;
  }

  .nftf-modal .nftf--v219 .nftf__notice {
    margin-top: 14px !important;
  }

  .nftf-modal .nftf--v219 .nftf__navrow {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 8 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 14px !important;
    margin-top: auto !important;
    padding: 16px 2px 2px !important;
    background: linear-gradient(to top, rgba(255,255,255,1) 72%, rgba(255,255,255,.94) 88%, rgba(255,255,255,0) 100%) !important;
  }

  .nftf-modal .nftf--v219 .nftf__nav-spacer {
    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
  }

  .nftf-modal .nftf--v219 .nftf__navbtn--back,
  .nftf-modal .nftf--v219 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.08) !important;
  }

  .nftf-modal .nftf--v219 .nftf__navbtn--back b,
  .nftf-modal .nftf--v219 .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    display: none !important;
  }

  .nftf-modal .nftf--v219 .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf--v219 .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    width: 18px !important;
    height: 18px !important;
  }

  .nftf-modal .nftf--v219 .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf--v219 .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    box-shadow: none !important;
  }

  /* Mobile Startscreen */
  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__inner {
    padding-top: 46px !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 58px) !important;
    min-height: calc(100dvh - 58px) !important;
    max-height: calc(100dvh - 58px) !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__stage {
    padding: 16px 16px 16px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    gap: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brandbar {
    position: relative !important;
    min-height: 58px !important;
    margin: 0 0 10px !important;
    padding: 6px 0 10px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brandbar::before {
    content: "";
    position: absolute;
    top: -4px;
    right: -6px;
    width: min(74vw, 290px);
    height: 66px;
    background: url("logo-start-mobile-grey-v208.png") no-repeat right top / contain;
    opacity: .15;
    pointer-events: none;
  }

  .nftf-modal .nftf--v219 .nftf213-brand {
    position: relative !important;
    z-index: 2 !important;
    width: min(72vw, 250px) !important;
    gap: 10px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brand > span {
    font-size: 10px !important;
    letter-spacing: .18em !important;
  }

  .nftf-modal .nftf--v219 .nftf213-copy h3 {
    margin: 0 0 10px !important;
    font-size: clamp(30px, 8.2vw, 40px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-copy p {
    font-size: 12px !important;
    line-height: 1.33 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-facts {
    align-self: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 10px 0 0 !important;
    padding-bottom: 6px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat > b {
    font-size: 11px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat-sub {
    display: none !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta {
    margin-top: auto !important;
    padding-top: 14px !important;
    min-height: 88px !important;
    align-items: end !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta > span {
    display: block !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta button {
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 20px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
  }

  /* Mobile Result */
  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__shell {
    height: calc(100dvh - 22px) !important;
    min-height: calc(100dvh - 22px) !important;
    max-height: calc(100dvh - 22px) !important;
  }

  .nftf-modal .nftf--v219 .nftf__screen[data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v219 .nftf__result {
    height: 100% !important;
    min-height: 0 !important;
    overflow: auto !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__inner {
    padding-top: 42px !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 50px) !important;
    min-height: calc(100dvh - 50px) !important;
    max-height: calc(100dvh - 50px) !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brandbar {
    min-height: 54px !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-copy h3 {
    font-size: clamp(27px, 7.4vw, 35px) !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-copy p {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-facts {
    margin-top: 6px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-ring {
    width: 88px !important;
    height: 88px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat--three .nftf213-ring {
    width: 100px !important;
    height: 100px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-ring strong {
    font-size: 36px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat--three .nftf213-ring strong {
    font-size: 40px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta > span {
    display: none !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta {
    min-height: 70px !important;
    padding-top: 10px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta button {
    min-height: 52px !important;
    font-size: 12px !important;
  }
}

/* ---------- Desktop · Startscreen verankern ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v219 .nftf__inner {
    width: min(calc(100% - 34px), 1360px) !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__shell {
    width: 100% !important;
    height: min(760px, calc(100dvh - 36px)) !important;
    min-height: 662px !important;
    max-height: 760px !important;
    gap: 16px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="start"] .nftf__stage {
    padding: 18px 24px 18px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v219 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(196px, 1fr) auto !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brandbar {
    min-height: 58px !important;
    margin: 0 0 12px !important;
    padding: 0 0 12px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brand {
    gap: 18px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-brand > span {
    min-height: 28px !important;
    padding-left: 14px !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
  }

  .nftf-modal .nftf--v219 .nftf213-copy h3 {
    max-width: 860px !important;
    margin: 0 0 10px !important;
    font-size: clamp(42px, 3.7vw, 58px) !important;
    line-height: .9 !important;
    letter-spacing: -.056em !important;
  }

  .nftf-modal .nftf--v219 .nftf213-copy p {
    max-width: 860px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-facts {
    min-height: 190px !important;
    max-height: none !important;
    margin: 10px 0 0 !important;
    padding: 8px 4px 2px !important;
    align-self: stretch !important;
  }

  .nftf-modal .nftf--v219 .nftf213-blueprint--desktop {
    opacity: .5 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-ring {
    width: 114px !important;
    height: 114px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat--three .nftf213-ring {
    width: 128px !important;
    height: 128px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-ring strong {
    font-size: 44px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat--three .nftf213-ring strong {
    font-size: 49px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat > b {
    margin-top: 8px !important;
    font-size: 13px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-stat-sub {
    font-size: 10px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-orbit--left {
    left: 0 !important;
    top: 145px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-orbit--right {
    right: 0 !important;
    top: 145px !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 20px !important;
    min-height: 78px !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta > span {
    align-self: end !important;
    max-width: 420px !important;
    padding-bottom: 4px !important;
    color: #62656c !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .nftf-modal .nftf--v219 .nftf213-cta button {
    justify-self: end !important;
    min-width: 276px !important;
    min-height: 56px !important;
    padding: 0 30px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
  }
}

/* ---------- Desktop · Ergebnis-Hero aufwerten ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__shell {
    width: 100% !important;
    height: min(760px, calc(100dvh - 36px)) !important;
    min-height: 666px !important;
    max-height: 760px !important;
    gap: 18px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
    padding: 14px 18px 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-hero {
    min-height: 182px !important;
    padding: 20px 24px 18px !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    background: radial-gradient(circle at 82% 20%, rgba(219,0,0,.16), rgba(219,0,0,0) 22%), linear-gradient(135deg, #0f1012 0%, #17191d 58%, #101114 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 34px rgba(0,0,0,.12) !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-hero::before {
    right: 17% !important;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.12) 18%, rgba(255,255,255,.03) 100%) !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-hero::after {
    right: 17% !important;
    top: 24px !important;
    height: 84px !important;
    width: 2px !important;
    background: linear-gradient(to bottom, #db0000 0%, rgba(219,0,0,.18) 100%) !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-topline {
    padding-bottom: 16px !important;
    border-bottom-color: rgba(255,255,255,.12) !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-topline span {
    color: rgba(255,255,255,.5) !important;
    letter-spacing: .18em !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-topline strong {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.05) !important;
    letter-spacing: .14em !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__signal {
    top: 79px !important;
    right: 26px !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-kicker {
    margin-top: 18px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    margin-top: 6px !important;
    font-size: clamp(60px, 4.45vw, 78px) !important;
    line-height: .88 !important;
    letter-spacing: -.062em !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-claim {
    margin-top: 10px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__price {
    right: 24px !important;
    bottom: 22px !important;
    min-width: 252px !important;
    padding-left: 22px !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__price > span {
    font-size: 8px !important;
    letter-spacing: .13em !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__price > div strong {
    font-size: clamp(38px, 3.05vw, 54px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr) !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 14px 18px !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 62px !important;
    padding: 0 28px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    box-shadow: 0 18px 30px rgba(0,0,0,.12) !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__button--checkout svg {
    width: 19px !important;
    height: 19px !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__actions-secondary .nftf__button {
    min-height: 42px !important;
  }

  .nftf-modal .nftf--v219[data-nftf-current-screen="result"] .nftf__result-footer {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 0 !important;
    padding-top: 4px !important;
  }
}


/* =========================================================
   V2.0.20 · QA FIXES AFTER RESPONSIVE REVIEW
   - Mobile: single background logo, constant viewport card, smaller visible nav
   - Desktop: deeper CTA anchoring, more layered facts, simplified start branding
   - Result desktop: more premium summary card treatment
   ========================================================= */

.nftf-modal .nftf--v220 .nftf__progress-steps {
  display: none;
}

/* ---------- MOBILE · stable viewport card + clean bottom navigation ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v220 .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 10px 12px 12px !important;
    display: flex !important;
    align-items: stretch !important;
  }

  .nftf-modal .nftf--v220 .nftf__shell {
    width: min(100%, 430px) !important;
    height: calc(100dvh - 22px) !important;
    min-height: calc(100dvh - 22px) !important;
    max-height: calc(100dvh - 22px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220 .nftf__stage {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 14px 14px 16px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220 .nftf__progress {
    flex: 0 0 auto !important;
    margin: 0 0 12px !important;
  }

  .nftf-modal .nftf--v220 .nftf__progress-meta {
    padding-right: 56px !important;
  }

  .nftf-modal .nftf--v220 .nftf__progress-track {
    height: 3px !important;
    border-radius: 999px !important;
  }

  .nftf-modal .nftf--v220 .nftf__progress-steps {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
  }

  .nftf-modal .nftf--v220 .nftf__progress-steps li {
    display: grid;
    place-items: center;
    min-height: 24px;
    border: 1px solid #e2e3e6;
    border-radius: 999px;
    background: #fff;
    color: #9aa0a7;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="1"] .nftf__progress-steps li:nth-child(-n+1),
  .nftf-modal .nftf--v220[data-nftf-current-screen="2"] .nftf__progress-steps li:nth-child(-n+2),
  .nftf-modal .nftf--v220[data-nftf-current-screen="3"] .nftf__progress-steps li:nth-child(-n+3),
  .nftf-modal .nftf--v220[data-nftf-current-screen="4"] .nftf__progress-steps li:nth-child(-n+4),
  .nftf-modal .nftf--v220[data-nftf-current-screen="5"] .nftf__progress-steps li:nth-child(-n+5),
  .nftf-modal .nftf--v220[data-nftf-current-screen="6"] .nftf__progress-steps li:nth-child(-n+6),
  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__progress-steps li {
    border-color: #202124;
    background: #202124;
    color: #fff;
  }

  .nftf-modal .nftf--v220 .nftf__screen.is-active:not([data-nftf-screen="start"]):not([data-nftf-screen="result"]) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding-right: 0 !important;
  }

  .nftf-modal .nftf--v220 .nftf__question-head {
    flex: 0 0 auto !important;
    margin-bottom: 14px !important;
    padding-right: 4px !important;
  }

  .nftf-modal .nftf--v220 .nftf__question-head h3 {
    margin-top: 8px !important;
    font-size: clamp(30px, 7.8vw, 38px) !important;
    line-height: .95 !important;
  }

  .nftf-modal .nftf--v220 .nftf__question-head p {
    margin-top: 8px !important;
    font-size: 12px !important;
    line-height: 1.32 !important;
  }

  .nftf-modal .nftf--v220 .nftf__options,
  .nftf-modal .nftf--v220 .nftf__module-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 2px !important;
    padding-bottom: 4px !important;
    gap: 8px !important;
    align-content: start !important;
  }

  .nftf-modal .nftf--v220 .nftf__notice {
    flex: 0 0 auto !important;
    margin-top: 10px !important;
  }

  .nftf-modal .nftf--v220 .nftf__navrow {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 8 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    gap: 14px !important;
    margin-top: 12px !important;
    padding: 12px 0 0 !important;
    background: none !important;
  }

  .nftf-modal .nftf--v220 .nftf__nav-spacer {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--back,
  .nftf-modal .nftf--v220 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 8px 16px rgba(0,0,0,.06) !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--back {
    border: 1px solid #d4d5d8 !important;
    background: #fff !important;
    color: #868a91 !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    border: 1px solid #18191b !important;
    background: #18191b !important;
    color: #fff !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf--v220 .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border-color: #e3e4e7 !important;
    background: #f0f1f3 !important;
    color: #b0b4ba !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--back b,
  .nftf-modal .nftf--v220 .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    display: none !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf--v220 .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220 .nftf__navglyph::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px !important;
    height: 10px !important;
    border-top: 2.6px solid currentColor !important;
    border-right: 2.6px solid currentColor !important;
    transform: translate(-58%, -50%) rotate(45deg) !important;
  }

  .nftf-modal .nftf--v220 .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-42%, -50%) rotate(-135deg) !important;
  }

  /* Mobile Startscreen */
  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__inner {
    padding-top: 46px !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 58px) !important;
    min-height: calc(100dvh - 58px) !important;
    max-height: calc(100dvh - 58px) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__stage {
    padding: 16px 16px 16px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto !important;
    gap: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-brandbar {
    position: relative !important;
    min-height: 48px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v220 .nftf213-brandbar::before {
    content: "";
    position: absolute;
    inset: 0 auto 8px 0;
    width: 100%;
    background: url("logo-start-mobile-grey-v208.png") no-repeat center top / min(84vw, 340px);
    opacity: .19;
    pointer-events: none;
  }

  .nftf-modal .nftf--v220 .nftf213-brand,
  .nftf-modal .nftf--v220 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy {
    padding-top: 4px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy h3 {
    margin: 0 0 12px !important;
    font-size: clamp(30px, 8vw, 39px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy p {
    max-width: 100% !important;
    font-size: 12px !important;
    line-height: 1.34 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-facts {
    align-self: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 12px 0 0 !important;
    padding-bottom: 4px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat-sub {
    display: none !important;
  }

  .nftf-modal .nftf--v220 .nftf213-graffiti {
    display: block !important;
    align-self: start !important;
    height: 42px !important;
    margin-top: 4px !important;
    opacity: .96 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-graffiti img {
    height: 100% !important;
    width: auto !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta {
    margin-top: auto !important;
    padding-top: 10px !important;
    min-height: 78px !important;
    align-items: end !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta > span {
    display: none !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta button {
    width: 100% !important;
    min-height: 56px !important;
    margin-top: auto !important;
    padding: 0 22px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
  }

  /* Mobile Result */
  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__shell {
    height: calc(100dvh - 22px) !important;
    min-height: calc(100dvh - 22px) !important;
    max-height: calc(100dvh - 22px) !important;
  }

  .nftf-modal .nftf--v220 .nftf__screen[data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v220 .nftf__result {
    height: 100% !important;
    min-height: 0 !important;
    overflow: auto !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__inner {
    padding-top: 42px !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 50px) !important;
    min-height: calc(100dvh - 50px) !important;
    max-height: calc(100dvh - 50px) !important;
  }

  .nftf-modal .nftf--v220 .nftf213-brandbar {
    min-height: 40px !important;
    margin-bottom: 6px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy h3 {
    font-size: clamp(27px, 7.2vw, 34px) !important;
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy p {
    font-size: 11px !important;
    line-height: 1.26 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-facts {
    margin-top: 6px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-ring {
    width: 82px !important;
    height: 82px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--three .nftf213-ring {
    width: 94px !important;
    height: 94px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-ring strong {
    font-size: 33px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--three .nftf213-ring strong {
    font-size: 39px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-graffiti {
    height: 34px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta {
    min-height: 66px !important;
    padding-top: 8px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta button {
    min-height: 50px !important;
    font-size: 12px !important;
  }
}

/* ---------- DESKTOP · Startscreen with deeper CTA and more depth ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v220 .nftf__inner {
    width: min(calc(100% - 34px), 1360px) !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__shell {
    width: 100% !important;
    height: min(760px, calc(100dvh - 36px)) !important;
    min-height: 662px !important;
    max-height: 760px !important;
    gap: 16px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="start"] .nftf__stage {
    padding: 18px 24px 18px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(220px, 1fr) auto auto !important;
    gap: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-brandbar {
    min-height: 54px !important;
    margin: 0 0 12px !important;
    padding: 0 0 12px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy h3 {
    max-width: 860px !important;
    margin: 0 0 12px !important;
    font-size: clamp(42px, 3.75vw, 58px) !important;
    line-height: .9 !important;
    letter-spacing: -.056em !important;
  }

  .nftf-modal .nftf--v220 .nftf213-copy p {
    max-width: 820px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-facts {
    min-height: 220px !important;
    max-height: none !important;
    margin: 14px 0 0 !important;
    padding: 10px 4px 6px !important;
    align-self: stretch !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--one {
    align-self: start !important;
    margin-top: 10px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--two {
    align-self: start !important;
    margin-top: 2px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--three {
    align-self: end !important;
    margin-top: 24px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-ring {
    width: 116px !important;
    height: 116px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--three .nftf213-ring {
    width: 132px !important;
    height: 132px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-ring strong {
    font-size: 44px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat--three .nftf213-ring strong {
    font-size: 50px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat > b {
    margin-top: 8px !important;
    font-size: 13px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-stat-sub {
    font-size: 10px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-orbit--center {
    top: 84px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-orbit--left {
    left: 0 !important;
    top: 164px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-orbit--right {
    right: 0 !important;
    top: 146px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-graffiti {
    display: block !important;
    margin-top: 4px !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 20px !important;
    min-height: 88px !important;
    margin-top: auto !important;
    padding-top: 18px !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta > span {
    align-self: end !important;
    max-width: 460px !important;
    padding-bottom: 4px !important;
    color: #62656c !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .nftf-modal .nftf--v220 .nftf213-cta button {
    justify-self: end !important;
    min-width: 284px !important;
    min-height: 58px !important;
    padding: 0 32px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
  }
}

/* ---------- DESKTOP · result hero / summary more modern ---------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__shell {
    width: 100% !important;
    height: min(760px, calc(100dvh - 36px)) !important;
    min-height: 666px !important;
    max-height: 760px !important;
    gap: 18px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
    padding: 14px 18px 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(248px, 286px) !important;
    grid-template-areas:
      "top price"
      "kicker price"
      "title price"
      "claim price" !important;
    align-items: start !important;
    gap: 8px 24px !important;
    min-height: 188px !important;
    padding: 20px 24px 18px !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    background:
      radial-gradient(circle at 80% 18%, rgba(219,0,0,.17), rgba(219,0,0,0) 23%),
      linear-gradient(135deg, #0f1012 0%, #17191d 58%, #101114 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 34px rgba(0,0,0,.12) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-hero::before {
    right: 22% !important;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.1) 18%, rgba(255,255,255,.02) 100%) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-hero::after {
    right: 22% !important;
    top: 26px !important;
    height: 88px !important;
    width: 2px !important;
    background: linear-gradient(to bottom, #db0000 0%, rgba(219,0,0,.18) 100%) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-topline {
    grid-area: top !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    border-bottom: 0 !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-topline span,
  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-topline strong {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    letter-spacing: .14em !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-topline span {
    color: rgba(255,255,255,.74) !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-topline strong {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(255,255,255,.08) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__signal {
    top: 26px !important;
    right: 22px !important;
    opacity: .92 !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-kicker {
    grid-area: kicker !important;
    margin-top: 6px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    grid-area: title !important;
    margin: 0 !important;
    font-size: clamp(60px, 4.45vw, 78px) !important;
    line-height: .88 !important;
    letter-spacing: -.062em !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-claim {
    grid-area: claim !important;
    margin-top: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__price {
    grid-area: price !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    align-self: stretch !important;
    justify-self: end !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 18px 18px 16px !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05)) !important;
    backdrop-filter: blur(6px);
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__price > span {
    font-size: 8px !important;
    letter-spacing: .13em !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__price > div strong {
    font-size: clamp(38px, 2.95vw, 52px) !important;
    line-height: .92 !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(350px, .92fr) !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 14px 18px !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 62px !important;
    padding: 0 28px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    box-shadow: 0 18px 30px rgba(0,0,0,.12) !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__button--checkout svg {
    width: 19px !important;
    height: 19px !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__actions-secondary .nftf__button {
    min-height: 42px !important;
  }

  .nftf-modal .nftf--v220[data-nftf-current-screen="result"] .nftf__result-footer {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    margin-top: 0 !important;
    padding-top: 4px !important;
  }
}


/* =========================================================
   V2.0.21 · UX / CONVERSION STABILIZATION
   ========================================================= */

/* ---------------- MODAL FRAME: mehr nutzbare Fläche ---------------- */
@media (min-width: 901px) {
  .nftf-modal {
    padding: 8px !important;
  }
  .nftf-modal__dialog {
    width: min(1660px, calc(100vw - 16px)) !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 14px !important;
  }
  .nftf-modal__close {
    top: 10px !important;
    right: 10px !important;
    width: 42px !important;
    height: 42px !important;
    box-shadow: none !important;
  }
  .nftf-modal .nftf--v221 .nftf__inner {
    width: calc(100% - 16px) !important;
    max-width: none !important;
    padding: 8px 0 !important;
  }
  .nftf-modal .nftf--v221 .nftf__shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* ---------------- DESKTOP START: klare Konversionsachse ---------------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v221[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 32px) !important;
    min-height: 650px !important;
    max-height: 820px !important;
    gap: 14px !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="start"] .nftf__stage {
    padding: 18px 22px 16px !important;
  }

  .nftf-modal .nftf--v221 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(220px, 1fr) auto !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 0 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brandbar {
    min-height: 52px !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand {
    gap: 16px !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand-logo--desktop {
    display: block !important;
    width: min(245px, 24vw) !important;
    max-width: 245px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand-logo--mobile,
  .nftf-modal .nftf--v221 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-copy h3 {
    max-width: 900px !important;
    margin: 0 0 10px !important;
    font-size: clamp(42px, 3.7vw, 59px) !important;
    line-height: .9 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-copy p {
    max-width: 830px !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-facts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    align-items: start !important;
    min-height: 230px !important;
    height: 100% !important;
    margin: 14px 0 0 !important;
    padding: 10px 30px 0 !important;
    overflow: visible !important;
  }

  /* Symmetrische Tiefenstaffelung: Außen gleich, Mitte bewusst tiefer. */
  .nftf-modal .nftf--v221 .nftf213-stat--one,
  .nftf-modal .nftf--v221 .nftf213-stat--three {
    align-self: start !important;
    margin-top: 0 !important;
  }
  .nftf-modal .nftf--v221 .nftf213-stat--two {
    align-self: start !important;
    margin-top: 26px !important;
  }

  .nftf-modal .nftf--v221 .nftf213-ring {
    width: 120px !important;
    height: 120px !important;
  }
  .nftf-modal .nftf--v221 .nftf213-stat--three .nftf213-ring {
    width: 132px !important;
    height: 132px !important;
  }

  .nftf-modal .nftf--v221 .nftf213-orbit--center {
    top: 92px !important;
  }
  .nftf-modal .nftf--v221 .nftf213-orbit--left,
  .nftf-modal .nftf--v221 .nftf213-orbit--right {
    top: 170px !important;
  }

  /* Im Startscreen keine zusätzliche Graffiti-Grafik in der Conversionfläche. */
  .nftf-modal .nftf--v221 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta {
    grid-row: 4 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 24px !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #e7e7e9 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta > span {
    display: block !important;
    align-self: center !important;
    max-width: 520px !important;
    padding: 0 !important;
    color: #666a70 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta button {
    position: relative !important;
    z-index: 20 !important;
    justify-self: end !important;
    min-width: 300px !important;
    min-height: 58px !important;
    padding: 0 32px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #1f2022 !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta button:hover,
  .nftf-modal .nftf--v221 .nftf213-cta button:focus-visible {
    background: #db0000 !important;
  }
}

/* ---------------- MOBILE FRAME: echte Bildschirmhöhe statt Contenthöhe ---------------- */
@media (max-width: 900px) {
  .nftf-modal,
  .nftf-modal__dialog,
  .nftf-modal .nftf--v221,
  .nftf-modal .nftf--v221 .nftf__inner {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }

  .nftf-modal {
    padding: 0 !important;
  }

  .nftf-modal__dialog {
    width: 100vw !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
  }

  .nftf-modal__dialog::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 22px;
    left: 28px;
    width: 54px;
    height: 2px;
    background: #db0000;
    pointer-events: none;
  }

  .nftf-modal__dialog::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 22px;
    left: 94px;
    width: 42px;
    height: 1px;
    background: #d9d9d9;
    pointer-events: none;
  }

  .nftf-modal__close {
    top: 8px !important;
    right: 12px !important;
    width: 42px !important;
    height: 42px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v221 .nftf__inner {
    width: 100% !important;
    padding: 54px 8px 8px !important;
    box-sizing: border-box !important;
  }

  .nftf-modal .nftf--v221 .nftf__shell {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .nftf-modal .nftf--v221 .nftf__stage {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 16px 16px 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v221 .nftf__progress {
    flex: 0 0 auto !important;
    margin: 0 0 12px !important;
  }

  .nftf-modal .nftf--v221 .nftf__progress-meta {
    padding-right: 8px !important;
  }

  .nftf-modal .nftf--v221 .nftf__progress-steps {
    display: grid !important;
  }

  .nftf-modal .nftf--v221 .nftf__screen.is-active:not([data-nftf-screen="start"]):not([data-nftf-screen="result"]) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v221 .nftf__question-head {
    flex: 0 0 auto !important;
    margin-bottom: 12px !important;
  }

  .nftf-modal .nftf--v221 .nftf__question-head h3 {
    font-size: clamp(30px, 7.7vw, 38px) !important;
    line-height: .95 !important;
  }

  .nftf-modal .nftf--v221 .nftf__options,
  .nftf-modal .nftf--v221 .nftf__module-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-content: start !important;
    gap: 8px !important;
    padding: 0 1px 2px 0 !important;
  }

  .nftf-modal .nftf--v221 .nftf__option,
  .nftf-modal .nftf--v221 .nftf__module {
    flex: 0 0 auto !important;
  }

  .nftf-modal .nftf--v221 .nftf__notice {
    flex: 0 0 auto !important;
    margin-top: 10px !important;
  }

  .nftf-modal .nftf--v221 .nftf__navrow {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 52px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v221 .nftf__nav-spacer {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
  }

  .nftf-modal .nftf--v221 .nftf__navbtn--back,
  .nftf-modal .nftf--v221 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v221 .nftf__navbtn--back {
    border: 1px solid #d4d5d8 !important;
    background: #fff !important;
    color: #8b8f95 !important;
  }

  .nftf-modal .nftf--v221 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    border: 1px solid #1c1d1f !important;
    background: #1c1d1f !important;
    color: #fff !important;
  }

  .nftf-modal .nftf--v221 .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf--v221 .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border-color: #dddfe2 !important;
    background: #f0f1f3 !important;
    color: #aeb2b7 !important;
  }

  .nftf-modal .nftf--v221 .nftf__navbtn--back b,
  .nftf-modal .nftf--v221 .nftf__navbtn--next:not(.nftf__navbtn--start) b {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf__navbtn--back .nftf__navglyph,
  .nftf-modal .nftf--v221 .nftf__navbtn--next:not(.nftf__navbtn--start) .nftf__navglyph {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .nftf-modal .nftf--v221 .nftf__navglyph::before {
    width: 8px !important;
    height: 8px !important;
    border-top: 2.4px solid currentColor !important;
    border-right: 2.4px solid currentColor !important;
  }

  /* START: genau ein gehostetes Logo, keine Watermark-Doppelung. */
  .nftf-modal .nftf--v221[data-nftf-current-screen="start"] .nftf__progress {
    display: none !important;
  }

  .nftf-modal .nftf--v221 [data-nftf-screen="start"].is-active {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(0,1fr) auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 0 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brandbar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 54px !important;
    margin: 0 0 10px !important;
    padding: 0 0 10px !important;
    overflow: visible !important;
    border-bottom: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brandbar::before {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand-logo--desktop {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand-logo--mobile {
    display: block !important;
    width: min(245px, 68vw) !important;
    max-width: 245px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .nftf-modal .nftf--v221 .nftf213-brand > span {
    display: inline-flex !important;
    min-height: 24px !important;
    align-items: center !important;
    padding-left: 10px !important;
    border-left: 2px solid #db0000 !important;
    color: #43464b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
    white-space: nowrap !important;
  }

  .nftf-modal .nftf--v221 .nftf213-claim {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-copy h3 {
    margin-bottom: 10px !important;
    font-size: clamp(29px, 7.8vw, 38px) !important;
    line-height: .93 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-copy p {
    font-size: 12px !important;
    line-height: 1.33 !important;
  }

  .nftf-modal .nftf--v221 .nftf213-facts {
    align-self: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 10px 0 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v221 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta {
    display: block !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #ececee !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta > span {
    display: none !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta button {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    background: #1f2022 !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
  }

  .nftf-modal .nftf--v221 .nftf213-cta button:hover,
  .nftf-modal .nftf--v221 .nftf213-cta button:focus-visible {
    background: #db0000 !important;
  }
}

/* Kompakte Mobile-Höhen: Inhalte dürfen intern scrollen, Navigation bleibt unten. */
@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v221 .nftf__inner {
    padding-top: 50px !important;
  }
  .nftf-modal .nftf--v221 .nftf__stage {
    padding-top: 12px !important;
    padding-bottom: 10px !important;
  }
  .nftf-modal .nftf--v221 .nftf__question-head {
    margin-bottom: 8px !important;
  }
  .nftf-modal .nftf--v221 .nftf__question-head h3 {
    font-size: clamp(26px, 7vw, 32px) !important;
  }
  .nftf-modal .nftf--v221 .nftf__option,
  .nftf-modal .nftf--v221 .nftf__module {
    min-height: 62px !important;
  }
  .nftf-modal .nftf--v221 .nftf213-brand-logo--mobile {
    width: min(210px, 62vw) !important;
  }
  .nftf-modal .nftf--v221 .nftf213-copy h3 {
    font-size: clamp(26px, 7.2vw, 33px) !important;
  }
  .nftf-modal .nftf--v221 .nftf213-copy p {
    font-size: 11px !important;
  }
  .nftf-modal .nftf--v221 .nftf213-cta {
    min-height: 62px !important;
  }
  .nftf-modal .nftf--v221 .nftf213-cta button {
    min-height: 50px !important;
    font-size: 12px !important;
  }
}

/* ---------------- DESKTOP RESULT: helle Premium-Summary statt schwarzer Vollbalken ---------------- */
@media (min-width: 901px) {
  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__shell {
    height: calc(100dvh - 32px) !important;
    min-height: 650px !important;
    max-height: 820px !important;
    gap: 14px !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__stage {
    padding: 12px 14px !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(250px,300px) !important;
    grid-template-areas:
      "top price"
      "kicker price"
      "title price"
      "claim price" !important;
    gap: 6px 24px !important;
    min-height: 190px !important;
    padding: 20px 22px !important;
    overflow: hidden !important;
    border: 1px solid #dedfe2 !important;
    border-left: 4px solid #db0000 !important;
    border-radius: 14px !important;
    background: #f3f3f4 !important;
    color: #171717 !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-hero::before,
  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-hero::after {
    content: none !important;
    display: none !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-topline {
    grid-area: top !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-topline span,
  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-topline strong {
    display: inline-flex !important;
    min-height: 30px !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-topline span {
    border: 1px solid #d7d8db !important;
    background: #fff !important;
    color: #5d6167 !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-topline strong {
    border: 1px solid #1d1e20 !important;
    background: #1d1e20 !important;
    color: #fff !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-kicker {
    grid-area: kicker !important;
    margin: 7px 0 0 !important;
    color: #db0000 !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    grid-area: title !important;
    margin: 0 !important;
    color: #161719 !important;
    font-size: clamp(60px,4.5vw,80px) !important;
    line-height: .88 !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__result-claim {
    grid-area: claim !important;
    margin: 0 !important;
    color: #666a70 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__signal {
    display: none !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__price {
    grid-area: price !important;
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px 18px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #1b1c1e !important;
    color: #fff !important;
    text-align: left !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__price > span {
    color: #aeb1b6 !important;
    font-size: 8px !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__price > div {
    justify-content: flex-start !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__price strong {
    color: #fff !important;
    font-size: clamp(40px,3vw,54px) !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__price small,
  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__price p {
    color: #b9bcc1 !important;
  }

  .nftf-modal .nftf--v221[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 62px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
    box-shadow: none !important;
  }
}

/* =========================================================
   V2.0.22 · FINAL LAYOUT / SCROLL / RESULT POLISH
   - Desktop dialog proportion restored; content no longer stretched full-width
   - Mobile start CTA anchored below facts without overlap
   - Fact arcs thinner; SVG nodes stay circular
   - Mobile result becomes independently scrollable
   - Desktop result price integrated into the open hero surface
   ========================================================= */

/* ---------- FACTS · clean stopwatch treatment ---------- */
.nftf-modal .nftf--v222 .nftf213-blueprint {
  overflow: visible !important;
}
.nftf-modal .nftf--v222 .nftf213-nodes circle {
  vector-effect: non-scaling-stroke;
  fill: #fff !important;
  stroke: #db0000 !important;
  stroke-width: 1.2px !important;
}
.nftf-modal .nftf--v222 .nftf213-arc {
  inset: -4px !important;
  width: calc(100% + 8px) !important;
  height: calc(100% + 8px) !important;
  overflow: visible !important;
}
.nftf-modal .nftf--v222 .nftf213-arc circle {
  stroke-width: 2px !important;
  stroke-linecap: round !important;
}
.nftf-modal .nftf--v222 .nftf213-stat--one .nftf213-arc circle {
  stroke-dasharray: 26 270 !important;
  transform: rotate(220deg) !important;
}
.nftf-modal .nftf--v222 .nftf213-stat--two .nftf213-arc circle {
  stroke-dasharray: 34 262 !important;
  transform: rotate(286deg) !important;
}
.nftf-modal .nftf--v222 .nftf213-stat--three .nftf213-arc circle {
  stroke-dasharray: 42 254 !important;
  transform: rotate(342deg) !important;
}

/* ---------- DESKTOP · stable premium frame ---------- */
@media (min-width: 901px) {
  .nftf-modal {
    padding: 10px 48px !important;
  }

  .nftf-modal__dialog {
    width: min(1280px, calc(100vw - 96px)) !important;
    height: min(760px, calc(100dvh - 20px)) !important;
    min-height: 650px !important;
    max-height: none !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .nftf-modal__close {
    top: 10px !important;
    right: 10px !important;
  }

  .nftf-modal .nftf--v222,
  .nftf-modal .nftf--v222 .nftf__inner {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v222 .nftf__inner {
    padding: 10px 48px 10px 10px !important;
  }

  .nftf-modal .nftf--v222 .nftf__shell {
    display: grid !important;
    grid-template-columns: 248px minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v222 .nftf__rail,
  .nftf-modal .nftf--v222 .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v222 .nftf__stage {
    padding: 14px 18px 14px !important;
    overflow: hidden !important;
  }

  /* START */
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf__shell {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(220px, 1fr) 76px !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-brandbar {
    min-height: 48px !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-brand-logo--desktop {
    width: 220px !important;
    max-width: 220px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-brand > span {
    font-size: 10px !important;
    letter-spacing: .17em !important;
  }

  .nftf-modal .nftf--v222 .nftf213-copy h3 {
    max-width: 850px !important;
    margin: 0 0 9px !important;
    font-size: clamp(40px, 3.4vw, 54px) !important;
    line-height: .91 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-copy p {
    max-width: 820px !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.38 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-facts {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    min-height: 220px !important;
    height: 100% !important;
    margin: 10px 0 0 !important;
    padding: 8px 26px 0 !important;
    overflow: visible !important;
  }

  /* bewusst klare, symmetrische Tiefe statt zufälliger Schieflage */
  .nftf-modal .nftf--v222 .nftf213-stat--one,
  .nftf-modal .nftf--v222 .nftf213-stat--three {
    margin-top: 0 !important;
    align-self: start !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--two {
    margin-top: 24px !important;
    align-self: start !important;
  }

  .nftf-modal .nftf--v222 .nftf213-ring {
    width: 116px !important;
    height: 116px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--three .nftf213-ring {
    width: 130px !important;
    height: 130px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-ring strong {
    font-size: 44px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--three .nftf213-ring strong {
    font-size: 49px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-orbit--center {
    top: 92px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-orbit--left,
  .nftf-modal .nftf--v222 .nftf213-orbit--right {
    top: 170px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v222 .nftf213-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 22px !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid #e7e7e9 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-cta > span {
    display: block !important;
    align-self: center !important;
    max-width: 520px !important;
    color: #676a70 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-cta button {
    position: relative !important;
    z-index: 50 !important;
    justify-self: end !important;
    align-self: end !important;
    min-width: 286px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 30px !important;
    background: #1f2022 !important;
    color: #fff !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  /* RESULT */
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__shell {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__stage {
    padding: 8px 10px !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__screen[data-nftf-screen="result"].is-active,
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result {
    display: grid !important;
    grid-template-rows: 188px minmax(0, 1fr) !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 34%) !important;
    grid-template-areas:
      "top top"
      "kicker price"
      "title price"
      "claim price" !important;
    gap: 3px 20px !important;
    min-height: 0 !important;
    padding: 18px 22px 16px !important;
    overflow: hidden !important;
    border: 1px solid #dddfe2 !important;
    border-left: 4px solid #db0000 !important;
    border-radius: 14px !important;
    background: #f4f4f5 !important;
    color: #171719 !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-topline {
    grid-area: top !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #dedfe2 !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-topline span,
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-topline strong {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-topline span {
    color: #74777d !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-topline strong {
    color: #1d1e20 !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-kicker {
    grid-area: kicker !important;
    align-self: end !important;
    margin: 6px 0 0 !important;
    color: #db0000 !important;
    font-size: 9px !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    grid-area: title !important;
    margin: 0 !important;
    color: #151618 !important;
    font-size: clamp(58px, 4.3vw, 76px) !important;
    line-height: .88 !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-claim {
    grid-area: claim !important;
    margin: 0 !important;
    color: #62666b !important;
    font-size: 17px !important;
    font-weight: 700 !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price {
    grid-area: price !important;
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 0 10px 24px !important;
    border: 0 !important;
    border-left: 1px solid #cfd1d5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #161719 !important;
    text-align: left !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price::before {
    content: "";
    position: absolute;
    left: -1px;
    top: 18%;
    width: 2px;
    height: 64%;
    background: #db0000;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price > span {
    color: #777a80 !important;
    font-size: 8px !important;
    letter-spacing: .12em !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price > div {
    justify-content: flex-start !important;
    margin-top: 8px !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price strong {
    color: #151618 !important;
    font-size: clamp(48px, 3.3vw, 62px) !important;
    line-height: .9 !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price small,
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__price p {
    color: #686b70 !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-main {
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(330px, .94fr) !important;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) auto !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__why,
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__configuration,
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__compare,
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__actions {
    padding: 13px 16px !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 58px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
  }
}

/* ---------- MOBILE · viewport-safe start/questions/result ---------- */
@media (max-width: 900px) {
  .nftf-modal,
  .nftf-modal__dialog {
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }

  .nftf-modal__dialog {
    overflow: hidden !important;
    background: #f7f7f7 !important;
  }

  .nftf-modal .nftf--v222 .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 52px 10px 10px !important;
    box-sizing: border-box !important;
  }

  .nftf-modal .nftf--v222 .nftf__shell {
    width: min(100%, 430px) !important;
    height: calc(100dvh - 62px) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 62px) !important;
    margin: 0 auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v222 .nftf__stage {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 14px 14px 12px !important;
    overflow: hidden !important;
  }

  /* QUESTIONS: navigation always visible at bottom */
  .nftf-modal .nftf--v222 .nftf__screen.is-active:not([data-nftf-screen="start"]):not([data-nftf-screen="result"]) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v222 .nftf__options,
  .nftf-modal .nftf--v222 .nftf__module-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-content: stretch !important;
    gap: 8px !important;
  }

  .nftf-modal .nftf--v222 .nftf__options:not(.nftf__options--three),
  .nftf-modal .nftf--v222 .nftf__module-grid {
    grid-auto-rows: minmax(60px, 1fr) !important;
  }
  .nftf-modal .nftf--v222 .nftf__options--three {
    grid-auto-rows: minmax(72px, 1fr) !important;
  }

  .nftf-modal .nftf--v222 .nftf__navrow {
    flex: 0 0 46px !important;
    min-height: 46px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    align-items: flex-end !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v222 .nftf__nav-spacer,
  .nftf-modal .nftf--v222 .nftf__navbtn--back,
  .nftf-modal .nftf--v222 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 50% !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v222 .nftf__navbtn--back {
    border: 1px solid #d6d7da !important;
    background: #fff !important;
    color: #a9adb2 !important;
  }
  .nftf-modal .nftf--v222 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    border: 1px solid #1d1e20 !important;
    background: #1d1e20 !important;
    color: #fff !important;
  }
  .nftf-modal .nftf--v222 .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf--v222 .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border-color: #e0e1e4 !important;
    background: #f2f3f4 !important;
    color: #aeb2b7 !important;
  }

  .nftf-modal .nftf--v222 .nftf__navglyph::before {
    width: 8px !important;
    height: 8px !important;
    border-top-width: 2px !important;
    border-right-width: 2px !important;
  }

  /* START: CTA gets its own row, never overlays facts */
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf__progress {
    display: none !important;
  }

  .nftf-modal .nftf--v222 [data-nftf-screen="start"].is-active {
    display: flex !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v222 .nftf213-start {
    display: grid !important;
    grid-template-rows: auto auto minmax(300px, 1fr) 70px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-brandbar {
    min-height: 58px !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v222 .nftf213-brand-logo--desktop {
    display: none !important;
  }
  .nftf-modal .nftf--v222 .nftf213-brand-logo--mobile {
    display: block !important;
    width: min(245px, 70vw) !important;
    max-width: 245px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .nftf-modal .nftf--v222 .nftf213-copy h3 {
    margin-bottom: 8px !important;
    font-size: clamp(27px, 7.2vw, 34px) !important;
    line-height: .93 !important;
  }
  .nftf-modal .nftf--v222 .nftf213-copy p {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  .nftf-modal .nftf--v222 .nftf213-facts {
    position: relative !important;
    align-self: stretch !important;
    min-height: 300px !important;
    height: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 2px !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v222 .nftf213-blueprint--mobile {
    overflow: visible !important;
  }

  .nftf-modal .nftf--v222 .nftf213-stat--one,
  .nftf-modal .nftf--v222 .nftf213-stat--two {
    margin-top: 4px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--three {
    margin-top: 6px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-ring {
    width: 90px !important;
    height: 90px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--three .nftf213-ring {
    width: 106px !important;
    height: 106px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-ring strong {
    font-size: 36px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--three .nftf213-ring strong {
    font-size: 43px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-orbit--center {
    top: 102px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-orbit--left,
  .nftf-modal .nftf--v222 .nftf213-orbit--right {
    top: 220px !important;
  }

  .nftf-modal .nftf--v222 .nftf213-graffiti {
    display: none !important;
  }

  .nftf-modal .nftf--v222 .nftf213-cta {
    display: flex !important;
    align-items: flex-end !important;
    min-height: 70px !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #ececee !important;
  }
  .nftf-modal .nftf--v222 .nftf213-cta > span {
    display: none !important;
  }
  .nftf-modal .nftf--v222 .nftf213-cta button {
    position: relative !important;
    z-index: 30 !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  /* RESULT: the detail area must be reachable */
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__progress {
    display: none !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__stage {
    padding: 0 !important;
    overflow: hidden !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__screen[data-nftf-screen="result"].is-active {
    display: block !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result {
    display: block !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: visible !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-hero {
    min-height: 300px !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result-main {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v222 .nftf213-start {
    grid-template-rows: auto auto minmax(240px, 1fr) 64px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-brandbar {
    min-height: 48px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-brand-logo--mobile {
    width: min(205px, 62vw) !important;
  }
  .nftf-modal .nftf--v222 .nftf213-copy h3 {
    font-size: clamp(24px, 6.8vw, 31px) !important;
  }
  .nftf-modal .nftf--v222 .nftf213-copy p {
    font-size: 10.5px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-facts {
    min-height: 240px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-ring {
    width: 80px !important;
    height: 80px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-stat--three .nftf213-ring {
    width: 92px !important;
    height: 92px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-orbit--center {
    top: 88px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-orbit--left,
  .nftf-modal .nftf--v222 .nftf213-orbit--right {
    top: 184px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-cta {
    min-height: 64px !important;
  }
  .nftf-modal .nftf--v222 .nftf213-cta button {
    min-height: 48px !important;
  }
}

/* V2.0.22b · specificity hotfixes for mobile viewport containment */
@media (max-width: 900px) {
  .nftf-modal .nftf--v222,
  .nftf-modal .nftf--v222 .nftf__inner,
  .nftf-modal .nftf--v222 .nftf__shell,
  .nftf-modal .nftf--v222 .nftf__stage,
  .nftf-modal .nftf--v222 [data-nftf-screen="start"].is-active,
  .nftf-modal .nftf--v222 .nftf213-start {
    box-sizing: border-box !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf__inner {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 52px 10px 10px !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf__shell {
    height: calc(100dvh - 62px) !important;
    min-height: calc(100dvh - 62px) !important;
    max-height: calc(100dvh - 62px) !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf__stage,
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active,
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] .nftf213-start {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    display: block !important;
  }

  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__inner {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 52px 10px 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__shell {
    height: calc(100dvh - 62px) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 62px) !important;
    overflow: hidden !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__stage {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__screen[data-nftf-screen="result"].is-active {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .nftf-modal .nftf--v222[data-nftf-current-screen="result"] .nftf__result {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* Startscreen inherited mobile spacer removal: CTA must remain inside the visible card. */
@media (max-width: 900px) {
  .nftf-modal .nftf--v222[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    padding: 0 !important;
  }
}

/* =========================================================
   V2.0.23 · FINAL STABILITY / RESPONSIVE / RESULT PREMIUM
   - Mobile: stabile Viewport-Kachel in jedem Schritt
   - Mobile: Start-CTA bleibt auch nach Neustart sicher sichtbar
   - Mobile: Facts tiefer und ruhiger zentriert
   - Mobile: Navigation kleiner, schattenfrei, immer unten
   - Desktop: Startscreen nutzt die volle Kartenhöhe; CTA sitzt unten
   - Desktop: Antwortkarten füllen den Raum bis zur Navigation
   - Desktop Result: hochwertigere, klar hierarchisierte Tarifpräsentation
   ========================================================= */

/* ---------- shared ---------- */
.nftf-modal .nftf--v223 .nftf213-arc circle {
  stroke-width: 1.55px !important;
  stroke-linecap: round !important;
}

/* ---------- MOBILE / RESPONSIVE ---------- */
@media (max-width: 900px) {
  .nftf-modal .nftf--v223 .nftf__inner {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 52px 10px 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223 .nftf__shell {
    width: min(100%, 430px) !important;
    height: calc(100dvh - 62px) !important;
    min-height: calc(100dvh - 62px) !important;
    max-height: calc(100dvh - 62px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223 .nftf__stage {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: 14px 14px 12px !important;
    overflow: hidden !important;
  }

  /* Jeder Fragescreen bekommt dieselbe nutzbare Höhe. */
  .nftf-modal .nftf--v223 .nftf__screen.is-active:not([data-nftf-screen="start"]):not([data-nftf-screen="result"]) {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223 .nftf__question-head {
    flex: 0 0 auto !important;
    margin-bottom: 10px !important;
  }

  .nftf-modal .nftf--v223 .nftf__options,
  .nftf-modal .nftf--v223 .nftf__module-grid {
    display: grid !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-content: stretch !important;
    gap: 9px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
  }

  .nftf-modal .nftf--v223 .nftf__options:not(.nftf__options--three),
  .nftf-modal .nftf--v223 .nftf__module-grid {
    grid-auto-rows: minmax(60px, 1fr) !important;
  }

  .nftf-modal .nftf--v223 .nftf__options--three {
    grid-auto-rows: minmax(72px, 1fr) !important;
  }

  .nftf-modal .nftf--v223 .nftf__notice {
    flex: 0 0 auto !important;
    margin-top: 8px !important;
  }

  /* Navigation bleibt unabhängig von der Content-Höhe immer unten. */
  .nftf-modal .nftf--v223 .nftf__navrow {
    flex: 0 0 42px !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    align-items: flex-end !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v223 .nftf__nav-spacer,
  .nftf-modal .nftf--v223 .nftf__navbtn--back,
  .nftf-modal .nftf--v223 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    filter: none !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn--back,
  .nftf-modal .nftf--v223 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn b {
    display: none !important;
  }

  .nftf-modal .nftf--v223 .nftf__navglyph {
    position: relative !important;
    inset: auto !important;
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .nftf-modal .nftf--v223 .nftf__navglyph::before {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    transform-origin: center !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn--back .nftf__navglyph::before {
    transform: translate(-42%, -50%) rotate(-135deg) !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn--next .nftf__navglyph::before {
    transform: translate(-58%, -50%) rotate(45deg) !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn--back {
    border: 1px solid #d5d7da !important;
    background: #fff !important;
    color: #b8bcc1 !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn--next:not(.nftf__navbtn--start) {
    border: 1px solid #1f2022 !important;
    background: #1f2022 !important;
    color: #fff !important;
  }

  .nftf-modal .nftf--v223 .nftf__navbtn--next:not(.nftf__navbtn--start):disabled,
  .nftf-modal .nftf--v223 .nftf__navbtn--next:not(.nftf__navbtn--start)[aria-disabled="true"] {
    border-color: #dfe1e4 !important;
    background: #f1f2f3 !important;
    color: #b8bcc1 !important;
  }

  /* STARTSCREEN: stabile Karte + CTA am Kartenboden. */
  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf__progress {
    display: none !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    position: relative !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-start {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) 66px !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223 .nftf213-brandbar {
    flex: 0 0 auto !important;
  }

  .nftf-modal .nftf--v223 .nftf213-copy {
    position: relative !important;
    z-index: 3 !important;
  }

  .nftf-modal .nftf--v223 .nftf213-copy h3 {
    margin-bottom: 8px !important;
  }

  .nftf-modal .nftf--v223 .nftf213-facts {
    position: relative !important;
    z-index: 2 !important;
    align-self: stretch !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 10px 0 0 !important;
    padding: 8px 2px 0 !important;
    overflow: visible !important;
    transform: translateY(8px) !important;
  }

  .nftf-modal .nftf--v223 .nftf213-blueprint--mobile,
  .nftf-modal .nftf--v223 .nftf213-arc {
    overflow: visible !important;
  }

  .nftf-modal .nftf--v223 .nftf213-cta {
    position: relative !important;
    z-index: 80 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: flex-end !important;
    width: 100% !important;
    min-height: 66px !important;
    height: 66px !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    border-top: 1px solid #ececee !important;
    overflow: visible !important;
  }

  .nftf-modal .nftf--v223 .nftf213-cta > span {
    display: none !important;
  }

  .nftf-modal .nftf--v223 .nftf213-cta button {
    position: relative !important;
    z-index: 90 !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* Ergebnis bleibt vollständig scrollbar; Header selbst unverändert. */
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__screen[data-nftf-screen="result"].is-active {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
  }
}

@media (max-width: 900px) and (max-height: 760px) {
  .nftf-modal .nftf--v223 .nftf213-facts {
    transform: translateY(2px) !important;
  }

  .nftf-modal .nftf--v223 .nftf__options,
  .nftf-modal .nftf--v223 .nftf__module-grid {
    gap: 7px !important;
  }

  .nftf-modal .nftf--v223 .nftf__navrow {
    margin-top: 7px !important;
  }
}

/* ---------- DESKTOP ---------- */
@media (min-width: 901px) {
  /* Startscreen: geerbtes Bottom-Padding entfernen, damit CTA wirklich unten sitzt. */
  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] [data-nftf-screen="start"].is-active {
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-start {
    height: 100% !important;
    min-height: 0 !important;
    grid-template-rows: auto auto minmax(220px, 1fr) 76px !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-facts {
    align-items: start !important;
    padding-top: 16px !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-stat--one {
    margin-top: 8px !important;
  }
  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-stat--two {
    margin-top: 28px !important;
  }
  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-stat--three {
    margin-top: 2px !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-cta {
    align-self: end !important;
    min-height: 76px !important;
    height: 76px !important;
    padding-top: 14px !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="start"] .nftf213-cta button {
    position: relative !important;
    z-index: 100 !important;
    align-self: end !important;
  }

  /* Fragen: letzte Auswahlkarte läuft bis an die Navigationszone heran. */
  .nftf-modal .nftf--v223 .nftf__screen.is-active:not([data-nftf-screen="start"]):not([data-nftf-screen="result"]) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  .nftf-modal .nftf--v223 .nftf__question-head {
    flex: 0 0 auto !important;
  }

  .nftf-modal .nftf--v223 .nftf__options,
  .nftf-modal .nftf--v223 .nftf__module-grid {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-content: stretch !important;
    grid-auto-rows: minmax(0, 1fr) !important;
  }

  .nftf-modal .nftf--v223 .nftf__notice {
    flex: 0 0 auto !important;
  }

  .nftf-modal .nftf--v223 .nftf__navrow {
    flex: 0 0 auto !important;
    margin-top: 10px !important;
  }

  /* Ergebnis-Hero: heller Graphit, technische Mikrostruktur, Preis als Hero-Fakt. */
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result {
    grid-template-rows: 200px minmax(0, 1fr) !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border: 1px solid #d8dade !important;
    border-left: 4px solid #db0000 !important;
    border-radius: 16px !important;
    background-color: #eceef0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='200' viewBox='0 0 520 200'%3E%3Cg fill='none' stroke='%23c8cbd0' stroke-width='1' opacity='.58'%3E%3Cpath d='M34 36H486M34 72H486M34 108H486M34 144H486M86 18V182M182 18V182M278 18V182M374 18V182M470 18V182'/%3E%3C/g%3E%3Cg fill='%23eceef0' stroke='%23b9bdc3' stroke-width='1'%3E%3Ccircle cx='182' cy='72' r='4'/%3E%3Ccircle cx='374' cy='108' r='4'/%3E%3C/g%3E%3Cpath d='M470 34V166' stroke='%23db0000' stroke-width='2' opacity='.8'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: min(52%, 520px) 100% !important;
    color: #151618 !important;
    box-shadow: none !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-hero::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 5px !important;
    background: #db0000 !important;
    opacity: .96 !important;
    pointer-events: none !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-hero::after {
    content: "" !important;
    position: absolute !important;
    left: 54% !important;
    top: 26px !important;
    bottom: 26px !important;
    width: 1px !important;
    background: #c8cbd0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-topline,
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-kicker,
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-hero h3,
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-claim,
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price {
    position: relative !important;
    z-index: 2 !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__result-hero h3 {
    color: #141517 !important;
    text-shadow: none !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price {
    padding-left: 30px !important;
    border-left: 0 !important;
    background: transparent !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price::before {
    left: 6px !important;
    top: 12% !important;
    width: 3px !important;
    height: 76% !important;
    background: #db0000 !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price > span {
    color: #5f646a !important;
    font-size: 8.5px !important;
    font-weight: 900 !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price strong {
    color: #111214 !important;
    font-size: clamp(56px, 4vw, 72px) !important;
    letter-spacing: -.045em !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price small,
  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__price p {
    color: #5f646a !important;
  }

  .nftf-modal .nftf--v223[data-nftf-current-screen="result"] .nftf__button--checkout {
    min-height: 60px !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
  }
}
