    .trustelis-control-plan-page,
    .trustelis-control-plan-page * { box-sizing:border-box; }

    .trustelis-control-plan-page {
      --tcp-stage-w:1672px;
      --tcp-stage-h:1600px;
      --tcp-fit-h:1600px;
      --tcp-scale:1;
      --tcp-blue:#087cff;
      --tcp-cyan:#22e6ff;
      --tcp-purple:#7c3dff;
      --tcp-text:#f8fafc;
      --tcp-muted:#d8e0ee;
      --tcp-soft:#9fb0cf;

      position:relative;
      width:100vw;
      max-width:100vw;
      left:50%;
      margin-left:-50vw;
      margin-right:-50vw;
      overflow-x:clip;
      overflow-y:visible;
      color:var(--tcp-text);
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      background:
        radial-gradient(circle at 12% 10%,rgba(8,124,255,.22),transparent 31%),
        radial-gradient(circle at 86% 18%,rgba(124,61,255,.18),transparent 34%),
        radial-gradient(circle at 88% 78%,rgba(192,44,255,.14),transparent 34%),
        linear-gradient(180deg,#020614 0%,#061127 54%,#020614 100%);
      isolation:isolate;
    }

    @supports (width:100dvw) {
      .trustelis-control-plan-page {
        width:100dvw;
        max-width:100dvw;
        margin-left:-50dvw;
        margin-right:-50dvw;
      }
    }

    @supports not (overflow:clip) {
      .trustelis-control-plan-page { overflow-x:hidden; }
    }

    .trustelis-control-plan-page a { color:inherit; text-decoration:none; }
    .trustelis-control-plan-page button,
    .trustelis-control-plan-page select { font:inherit; }

    .tcp-fit {
      position:relative;
      width:100%;
      height:var(--tcp-fit-h);
      min-height:var(--tcp-fit-h);
      overflow:visible;
      background:#020614;
    }

    .tcp-stage {
      position:absolute;
      left:50%;
      top:0;
      width:var(--tcp-stage-w);
      height:var(--tcp-stage-h);
      transform-origin:top center;
      transform:translateX(-50%) scale(var(--tcp-scale));
      overflow:visible;
      background:
        radial-gradient(circle at 13% 10%,rgba(8,124,255,.20),transparent 28%),
        radial-gradient(circle at 74% 14%,rgba(8,124,255,.12),transparent 30%),
        radial-gradient(circle at 90% 68%,rgba(124,61,255,.18),transparent 34%),
        linear-gradient(180deg,#020614 0%,#061229 52%,#020614 100%);
    }

    .tcp-stage::before {
      content:"";
      position:absolute;
      inset:0;
      opacity:.13;
      background:
        linear-gradient(rgba(255,255,255,.034) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.034) 1px,transparent 1px);
      background-size:76px 76px;
      mask-image:radial-gradient(circle at 60% 28%,black 0%,transparent 69%);
      pointer-events:none;
    }

    .tcp-orb {
      position:absolute;
      border-radius:999px;
      pointer-events:none;
      filter:blur(12px);
    }

    .tcp-orb.one {
      left:26px;
      top:46px;
      width:360px;
      height:360px;
      background:rgba(8,124,255,.16);
    }

    .tcp-orb.two {
      right:56px;
      top:88px;
      width:430px;
      height:430px;
      background:rgba(124,61,255,.14);
    }

    .tcp-page-flow {
      position:relative;
      width:1544px;
      height:auto;
      min-height:0;
      margin:0 auto;
      padding:72px 0 100px;
      display:flex;
      flex-direction:column;
      align-items:stretch;
      overflow:visible;
    }

    .tcp-hero {
      position:relative;
      left:auto;
      top:auto;
      width:100%;
      transform:none;
      text-align:center;
      z-index:3;
    }

    .tcp-hero-stack {
      position:relative;
      width:100%;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
    }

    .tcp-eyebrow {
      margin:0 0 20px;
      color:var(--tcp-cyan);
      font-size:15px;
      line-height:1;
      font-weight:850;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .tcp-title {
      display:flex!important;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      gap:0!important;
      margin:0!important;
      padding:0!important;
      color:#fff;
      font-size:64px;
      line-height:1!important;
      font-weight:880;
      letter-spacing:-.058em;
      text-align:center;
      text-shadow:0 16px 44px rgba(0,0,0,.42);
    }

    .tcp-title-row {
      display:block!important;
      width:100%;
      margin:0!important;
      padding:0!important;
      line-height:.88!important;
      white-space:nowrap;
      text-align:center;
    }

    .tcp-title-row + .tcp-title-row {
      margin-top:0!important;
    }

    .tcp-title-row > span {
      display:inline!important;
      position:static!important;
      inset:auto!important;
      top:auto!important;
      right:auto!important;
      bottom:auto!important;
      left:auto!important;
      width:auto!important;
      height:auto!important;
      min-width:0!important;
      min-height:0!important;
      margin:0!important;
      padding:0!important;
      transform:none!important;
      float:none!important;
      vertical-align:baseline!important;
      line-height:inherit!important;
    }

    .tcp-title-gradient-text {
      display:inline!important;
      position:static!important;
      inset:auto!important;
      top:auto!important;
      right:auto!important;
      bottom:auto!important;
      left:auto!important;
      width:auto!important;
      height:auto!important;
      margin:0!important;
      padding:0!important;
      transform:none!important;
      float:none!important;
      vertical-align:baseline!important;
      line-height:inherit!important;
      background:linear-gradient(90deg,#087cff 0%,#0b6fff 42%,#7c3dff 78%,#c02cff 100%)!important;
      -webkit-background-clip:text!important;
      background-clip:text!important;
      -webkit-text-fill-color:transparent!important;
      color:transparent!important;
      text-shadow:none!important;
    }

    .tcp-title .tcp-approve-blue {
      display:inline!important;
      position:static!important;
      inset:auto!important;
      top:auto!important;
      left:auto!important;
      width:auto!important;
      height:auto!important;
      margin:0!important;
      padding:0!important;
      transform:none!important;
      float:none!important;
      vertical-align:baseline!important;
      line-height:inherit!important;
      color:#087cff!important;
    }

    .tcp-subtitle {
      position:relative;
      z-index:auto;
      width:1120px;
      max-width:100%;
      margin:10px auto 0;
      color:rgba(238,244,255,.94);
      opacity:1;
      font-size:19px;
      line-height:1.4;
      font-weight:430;
      letter-spacing:-.018em;
    }

    .tcp-wizard {
      position:relative;
      left:auto;
      top:auto;
      width:100%;
      height:auto!important;
      min-height:0;
      margin-top:48px;
      padding:26px 30px;
      border-radius:24px;
      background:
        radial-gradient(circle at 15% 0%,rgba(8,124,255,.19),transparent 32%),
        radial-gradient(circle at 96% 92%,rgba(124,61,255,.16),transparent 36%),
        linear-gradient(180deg,rgba(9,25,60,.80),rgba(3,9,24,.94));
      border:1px solid rgba(8,124,255,.70);
      box-shadow:
        0 0 0 1px rgba(8,124,255,.08),
        0 0 42px rgba(8,124,255,.23),
        0 32px 80px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.12);
      overflow:visible;
      z-index:5;
    }

    .tcp-wizard::before {
      content:"";
      position:absolute;
      inset:0;
      border-radius:24px;
      overflow:hidden;
      background:
        linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
      background-size:54px 54px;
      mask-image:radial-gradient(circle at 74% 42%,black 0%,transparent 70%);
      opacity:.7;
      pointer-events:none;
    }

    .tcp-wizard > * { position:relative; z-index:2; }

    .tcp-wizard-head {
      display:flex;
      align-items:center;
      min-height:74px;
      gap:18px;
      padding-bottom:22px;
      border-bottom:1px solid rgba(8,124,255,.32);
    }

    .tcp-wizard-icon {
      width:54px;
      height:54px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      color:var(--tcp-cyan);
      border:1px solid rgba(34,230,255,.66);
      background:linear-gradient(145deg,rgba(8,124,255,.28),rgba(7,18,48,.76));
      box-shadow:0 0 24px rgba(8,124,255,.25);
      font-size:25px;
      font-weight:900;
    }

    .tcp-wizard-title { flex:1; min-width:0; }
    .tcp-wizard-title h2 {
      margin:0;
      font-size:31px;
      line-height:1;
      letter-spacing:-.045em;
      color:#fff;
      font-weight:850;
    }
    .tcp-wizard-title p {
      margin:7px 0 0;
      color:var(--tcp-cyan);
      font-size:15px;
      font-weight:750;
    }

    .tcp-step-pill {
      flex:none;
      padding:11px 18px;
      border-radius:14px;
      border:1px solid rgba(8,124,255,.82);
      background:rgba(4,15,39,.86);
      color:#fff;
      font-size:16px;
      font-weight:800;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }

    .tcp-context {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:22px 32px;
      padding:26px 0;
      border-bottom:1px solid rgba(8,124,255,.28);
    }

    .tcp-context-item { min-width:0; }
    .tcp-context-label {
      display:block;
      margin-bottom:7px;
      color:#63a6ff;
      font-size:12px;
      line-height:1;
      font-weight:850;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .tcp-context-value {
      display:block;
      color:#f8fbff;
      font-size:14px;
      line-height:1.42;
      font-weight:560;
      overflow-wrap:anywhere;
    }

    .tcp-form {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:24px 28px;
      padding:28px 0;
    }

    .tcp-field { min-width:0; }
    .tcp-field label {
      display:block;
      min-height:42px;
      margin:0 0 10px;
      color:#fff;
      font-size:14px;
      line-height:1.3;
      font-weight:760;
    }

    .tcp-select-wrap { position:relative; }
    .tcp-select {
      width:100%;
      height:50px;
      appearance:none;
      border-radius:12px;
      border:1px solid rgba(8,124,255,.62);
      background:rgba(2,12,34,.91);
      color:#fff;
      padding:0 42px 0 15px;
      font-size:14px;
      line-height:1.2;
      font-weight:650;
      outline:none;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
      transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
    }

    .tcp-select:hover,
    .tcp-select:focus {
      border-color:rgba(34,230,255,.86);
      box-shadow:0 0 0 3px rgba(34,230,255,.08),0 0 20px rgba(8,124,255,.14);
      background:rgba(3,15,42,.98);
    }

    .tcp-select-wrap::after {
      content:"⌄";
      position:absolute;
      right:15px;
      top:50%;
      transform:translateY(-55%);
      color:#dbe8ff;
      font-size:18px;
      pointer-events:none;
    }

    .tcp-summary {
      border:1px solid rgba(8,124,255,.56);
      border-radius:18px;
      background:rgba(1,9,25,.74);
      padding:26px 26px 24px;
    }

    .tcp-summary h3 {
      margin:0 0 16px;
      color:var(--tcp-cyan);
      font-size:25px;
      line-height:1;
      font-weight:850;
      letter-spacing:-.035em;
    }

    .tcp-summary-grid {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:18px 32px;
    }

    .tcp-summary-item {
      display:grid;
      grid-template-columns:34px minmax(0,1fr);
      gap:11px;
      min-width:0;
    }

    .tcp-summary-icon {
      width:34px;
      height:34px;
      border-radius:9px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#22e6ff;
      border:1px solid rgba(8,124,255,.52);
      background:rgba(8,124,255,.10);
      font-size:14px;
      font-weight:900;
    }

    .tcp-summary-item:nth-child(3n+2) .tcp-summary-icon,
    .tcp-summary-item:nth-child(3n+3) .tcp-summary-icon {
      color:#bd82ff;
      border-color:rgba(124,61,255,.58);
      background:rgba(124,61,255,.10);
    }

    .tcp-summary-copy { min-width:0; }
    .tcp-summary-copy strong {
      display:block;
      margin-bottom:3px;
      color:#fff;
      font-size:13px;
      line-height:1.1;
      font-weight:820;
    }
    .tcp-summary-copy span {
      display:block;
      color:#dfe8f8;
      font-size:13px;
      line-height:1.4;
      overflow-wrap:anywhere;
    }

    .tcp-readiness {
      display:flex;
      align-items:center;
      gap:14px;
      margin-top:22px;
      padding:13px 16px;
      border-radius:12px;
      border:1px solid rgba(8,124,255,.36);
      background:rgba(4,14,35,.82);
    }

    .tcp-readiness-badge {
      flex:none;
      min-width:134px;
      padding:10px 14px;
      border-radius:10px;
      text-align:center;
      color:#fff;
      background:linear-gradient(90deg,#087cff,#7c3dff);
      font-size:13px;
      font-weight:850;
    }

    .tcp-readiness-copy {
      min-width:0;
      color:#dce7f9;
      font-size:13px;
      line-height:1.4;
      font-weight:520;
    }

    .tcp-actions {
      display:grid;
      grid-template-columns:minmax(0,1fr) 280px;
      gap:18px;
      margin-top:16px;
    }

    .tcp-btn {
      min-height:54px;
      border-radius:11px;
      border:1px solid rgba(8,124,255,.72);
      display:flex;
      align-items:center;
      justify-content:center;
      gap:12px;
      cursor:pointer;
      font-size:14px;
      line-height:1;
      font-weight:850;
      letter-spacing:-.01em;
      transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
    }

    .tcp-btn:hover { transform:translateY(-1px); }

    .tcp-btn[aria-disabled="true"],
    .tcp-m-btn[aria-disabled="true"] {
      pointer-events:none;
      cursor:wait;
      opacity:.82;
      transform:none!important;
      filter:none!important;
    }

    .tcp-submit-status {
      display:none;
      width:100%;
      margin-top:12px;
      padding:12px 16px;
      border-radius:11px;
      font-size:13px;
      line-height:1.4;
      font-weight:700;
      text-align:center;
      overflow-wrap:anywhere;
    }

    .tcp-submit-status.is-visible { display:block; }

    .tcp-submit-status.is-error {
      color:#ffd9df;
      background:rgba(255,74,105,.10);
      border:1px solid rgba(255,107,122,.42);
    }

    .tcp-submit-status.is-success {
      color:#d8fff7;
      background:rgba(34,230,255,.09);
      border:1px solid rgba(34,230,255,.38);
    }

    .tcp-btn.primary {
      color:#fff;
      background:linear-gradient(90deg,#087cff,#2288ff);
      box-shadow:0 12px 30px rgba(8,124,255,.25),inset 0 1px 0 rgba(255,255,255,.18);
    }

    .tcp-btn.secondary {
      color:#fff;
      background:rgba(2,11,31,.88);
    }

    .tcp-timeline {
      position:relative;
      z-index:3;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
      width:100%;
      min-height:78px;
      margin-top:16px;
      padding:20px 22px;
      border-radius:15px;
      border:1px solid rgba(8,124,255,.38);
      background:rgba(2,10,28,.78);
      overflow:visible!important;
      flex:none;
      isolation:isolate;
    }

    .tcp-step {
      position:relative;
      display:grid;
      grid-template-columns:34px minmax(0,1fr);
      gap:10px;
      align-items:center;
      min-width:0;
    }

    .tcp-step:not(:last-child)::after {
      content:"";
      position:absolute;
      left:calc(100% - 6px);
      top:17px;
      width:18px;
      height:1px;
      background:linear-gradient(90deg,#22e6ff,rgba(34,230,255,.18));
    }

    .tcp-step-num {
      width:36px;
      height:36px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid rgba(34,230,255,.70);
      background:rgba(8,124,255,.14);
      color:#fff;
      font-size:13px;
      font-weight:850;
    }

    .tcp-step.is-active .tcp-step-num {
      background:linear-gradient(135deg,#087cff,#7c3dff);
      border-color:#7cc7ff;
      box-shadow:0 0 22px rgba(8,124,255,.35);
    }

    .tcp-step.is-complete .tcp-step-num::after {
      content:"✓";
      position:absolute;
      transform:translate(12px,-12px);
      width:18px;
      height:18px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#22e6ff;
      color:#02203a;
      font-size:11px;
      font-weight:950;
    }

    .tcp-step-copy { min-width:0; }
    .tcp-step-label {
      display:block;
      color:#fff;
      font-size:14px;
      font-weight:780;
      line-height:1.05;
    }
    .tcp-step-desc {
      display:block;
      margin-top:4px;
      color:#92a6c9;
      font-size:12px;
      line-height:1.1;
    }

    .tcp-guidance {
      position:relative;
      left:auto;
      top:auto;
      width:1496px;
      align-self:center;
      display:grid;
      grid-template-columns:1.22fr repeat(5,1fr);
      gap:14px;
      margin-top:56px;
      z-index:4;
    }

    .tcp-guidance-intro,
    .tcp-guidance-card {
      min-height:134px;
      border-radius:15px;
      border:1px solid rgba(8,124,255,.42);
      background:rgba(3,12,34,.82);
      padding:18px;
    }

    .tcp-guidance-intro h3 {
      margin:0 0 8px;
      color:#fff;
      font-size:18px;
      line-height:1.05;
      font-weight:850;
    }
    .tcp-guidance-intro p {
      margin:0;
      color:#aebdd7;
      font-size:12px;
      line-height:1.35;
    }

    .tcp-guidance-card {
      display:grid;
      grid-template-columns:34px minmax(0,1fr);
      gap:10px;
      align-content:start;
    }
    .tcp-guidance-icon {
      width:34px;
      height:34px;
      border-radius:9px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#22e6ff;
      border:1px solid rgba(34,230,255,.55);
      background:rgba(34,230,255,.08);
      font-size:14px;
      font-weight:900;
    }
    .tcp-guidance-card:nth-child(even) .tcp-guidance-icon {
      color:#bd82ff;
      border-color:rgba(124,61,255,.58);
      background:rgba(124,61,255,.10);
    }
    .tcp-guidance-card strong {
      display:block;
      color:#fff;
      font-size:12px;
      line-height:1.12;
      font-weight:820;
    }
    .tcp-guidance-card span {
      display:block;
      margin-top:6px;
      color:#9fb0cf;
      font-size:11px;
      line-height:1.27;
    }

    .tcp-mobile { display:none; }

    @media (min-width:901px) and (max-width:1250px) {
      .tcp-timeline {
        grid-template-columns:repeat(2,minmax(0,1fr));
        row-gap:18px;
      }

      .tcp-step:nth-child(2)::after {
        display:none;
      }
    }

    @media (max-width:900px) {
      .trustelis-control-plan-page {
        width:100%;
        max-width:100%;
        left:auto;
        margin-left:0;
        margin-right:0;
        overflow-x:hidden;
      }

      .tcp-fit { display:none; }

      .tcp-mobile {
        display:block;
        width:100%;
        padding:22px 14px max(40px,env(safe-area-inset-bottom));
        background:
          radial-gradient(circle at 12% 4%,rgba(8,124,255,.20),transparent 25%),
          radial-gradient(circle at 92% 15%,rgba(124,61,255,.17),transparent 28%),
          linear-gradient(180deg,#020614 0%,#061127 58%,#020614 100%);
      }

      .tcp-m-shell {
        width:min(100%,720px);
        margin:0 auto;
      }

      .tcp-m-hero {
        width:100%;
        margin:0 auto 18px;
        text-align:center;
      }

      .tcp-m-eyebrow {
        margin:0 0 9px;
        color:#22e6ff;
        font-size:11px;
        line-height:1;
        font-weight:850;
        letter-spacing:.14em;
        text-transform:uppercase;
        text-align:center;
      }

      .tcp-m-title {
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:0;
        margin:0;
        color:#fff;
        font-size:clamp(28px,7.7vw,32px);
        line-height:.98;
        letter-spacing:-.052em;
        text-align:center;
        font-weight:880;
        text-shadow:0 12px 32px rgba(0,0,0,.32);
      }

      .tcp-m-title-line {
        display:block;
        width:100%;
        margin:0;
        padding:0;
      }

      .tcp-m-title-line + .tcp-m-title-line {
        margin-top:2px;
      }

      .tcp-m-title .gradient {
        background:linear-gradient(90deg,#087cff 0%,#0b6fff 40%,#7c3dff 75%,#c02cff 100%);
        -webkit-background-clip:text;
        background-clip:text;
        -webkit-text-fill-color:transparent;
        color:transparent;
      }

      .tcp-m-title .tcp-approve-blue {
        color:#087cff;
      }

      .tcp-m-subtitle {
        width:min(100%,610px);
        margin:11px auto 0;
        color:#d8e0ee;
        font-size:13.5px;
        line-height:1.4;
        text-align:center;
        letter-spacing:-.01em;
      }

      /* Mobile uses independent modular cards. Desktop remains untouched. */
      .tcp-m-wizard {
        display:flex;
        flex-direction:column;
        gap:12px;
        width:100%;
        margin:0;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        overflow:visible;
      }

      .tcp-m-card {
        width:100%;
        min-width:0;
        border:1px solid rgba(8,124,255,.46);
        border-radius:15px;
        background:
          radial-gradient(circle at 10% 0%,rgba(8,124,255,.11),transparent 36%),
          linear-gradient(180deg,rgba(5,18,47,.91),rgba(2,10,29,.94));
        box-shadow:
          0 14px 34px rgba(0,0,0,.22),
          inset 0 1px 0 rgba(255,255,255,.05);
      }

      .tcp-m-head-card {
        padding:15px;
      }

      .tcp-m-head {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:10px;
      }

      .tcp-m-head-copy {
        min-width:0;
      }

      .tcp-m-head-copy h2 {
        margin:0;
        color:#fff;
        font-size:18px;
        line-height:1.08;
        letter-spacing:-.035em;
        font-weight:850;
      }

      .tcp-m-head-copy p {
        margin:4px 0 0;
        color:#22e6ff;
        font-size:11px;
        line-height:1.25;
        font-weight:750;
      }

      .tcp-m-pill {
        flex:none;
        min-width:78px;
        padding:8px 9px;
        border-radius:9px;
        border:1px solid rgba(8,124,255,.72);
        background:rgba(2,11,31,.72);
        color:#fff;
        font-size:10.5px;
        line-height:1;
        text-align:center;
        white-space:nowrap;
        font-weight:820;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
      }

      .tcp-m-section-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        margin:0 0 12px;
      }

      .tcp-m-section-head-copy {
        min-width:0;
      }

      .tcp-m-section-head h3 {
        margin:0;
        color:#fff;
        font-size:15px;
        line-height:1.15;
        letter-spacing:-.02em;
        font-weight:840;
      }

      .tcp-m-section-head p {
        margin:4px 0 0;
        color:#9fb0cf;
        font-size:11.5px;
        line-height:1.35;
      }

      .tcp-m-section-kicker {
        flex:none;
        padding:5px 7px;
        border-radius:999px;
        border:1px solid rgba(34,230,255,.32);
        background:rgba(34,230,255,.06);
        color:#22e6ff;
        font-size:9px;
        line-height:1;
        font-weight:850;
        letter-spacing:.06em;
        text-transform:uppercase;
        white-space:nowrap;
      }

      .tcp-m-context-card {
        padding:14px;
      }

      .tcp-m-context {
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        width:100%;
      }

      .tcp-m-context-item {
        min-width:0;
        padding:10px 11px;
        border-radius:10px;
        background:rgba(1,9,26,.70);
        border:1px solid rgba(8,124,255,.22);
      }

      .tcp-m-context-item strong {
        display:block;
        margin:0 0 4px;
        color:#62a6ff;
        font-size:9.5px;
        line-height:1.1;
        letter-spacing:.075em;
        text-transform:uppercase;
        font-weight:850;
      }

      .tcp-m-context-item span {
        display:block;
        min-width:0;
        color:#f7fbff;
        font-size:12.5px;
        line-height:1.32;
        font-weight:540;
        overflow-wrap:anywhere;
        word-break:normal;
      }

      .tcp-m-questions-card {
        padding:14px;
      }

      .tcp-m-fields {
        display:grid;
        grid-template-columns:1fr;
        gap:11px;
        width:100%;
      }

      .tcp-m-field {
        min-width:0;
        grid-column:1 / -1;
      }

      .tcp-m-field label {
        display:block;
        margin:0 0 6px;
        color:#fff;
        font-size:12.5px;
        line-height:1.28;
        font-weight:760;
      }

      .tcp-m-select-wrap {
        position:relative;
        width:100%;
        min-width:0;
      }

      .tcp-m-select-wrap::after {
        content:"";
        position:absolute;
        right:14px;
        top:50%;
        width:8px;
        height:8px;
        border-right:2px solid #dce8ff;
        border-bottom:2px solid #dce8ff;
        transform:translateY(-68%) rotate(45deg);
        pointer-events:none;
      }

      .tcp-m-field select {
        display:block;
        width:100%;
        min-width:0;
        height:46px;
        appearance:none;
        -webkit-appearance:none;
        border-radius:10px;
        border:1px solid rgba(8,124,255,.58);
        background:#03102b;
        color:#fff;
        padding:0 40px 0 12px;
        font-size:16px;
        line-height:1.2;
        font-weight:640;
        text-overflow:ellipsis;
        white-space:nowrap;
        overflow:hidden;
        outline:none;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
      }

      .tcp-m-field select:focus {
        border-color:rgba(34,230,255,.86);
        box-shadow:0 0 0 3px rgba(34,230,255,.08),0 0 18px rgba(8,124,255,.12);
      }

      .tcp-m-actions-primary {
        display:block;
        width:100%;
        margin:0;
      }

      .tcp-m-btn {
        width:100%;
        min-height:52px;
        border-radius:11px;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        padding:11px 14px;
        border:1px solid rgba(8,124,255,.72);
        text-align:center;
        font-size:12.5px;
        line-height:1.2;
        letter-spacing:-.01em;
        font-weight:880;
        cursor:pointer;
        transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
      }

      .tcp-m-btn.primary {
        color:#fff;
        background:linear-gradient(90deg,#087cff 0%,#2288ff 100%);
        box-shadow:0 12px 28px rgba(8,124,255,.26),inset 0 1px 0 rgba(255,255,255,.18);
      }

      .tcp-m-btn.primary:active {
        transform:translateY(1px);
      }

      .tcp-m-btn-label {
        min-width:0;
      }

      .tcp-m-btn-arrow {
        flex:none;
        font-size:18px;
        line-height:1;
      }

      .tcp-mobile .tcp-submit-status {
        margin-top:9px;
        padding:10px 12px;
        border-radius:10px;
        font-size:12px;
        line-height:1.35;
      }

      /* MOBILE ONLY — Builder Progress remains one horizontal row. */
      .tcp-m-timeline-card {
        padding:13px;
      }

      .tcp-m-timeline-card .tcp-m-section-head {
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:start;
        column-gap:8px;
      }

      .tcp-m-timeline-card .tcp-m-section-head h3 {
        white-space:nowrap;
      }

      .tcp-m-timeline {
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:6px;
        width:100%;
        margin:0;
        padding:0;
        border:0;
        background:transparent;
      }

      .tcp-m-step {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;
        gap:6px;
        min-width:0;
        min-height:88px;
        padding:8px 4px 7px;
        border-radius:10px;
        border:1px solid rgba(8,124,255,.22);
        background:rgba(1,9,26,.64);
        text-align:center;
      }

      .tcp-m-step-num {
        position:relative;
        width:28px;
        height:28px;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid rgba(34,230,255,.60);
        background:rgba(8,124,255,.10);
        color:#fff;
        font-size:10.5px;
        line-height:1;
        font-weight:860;
      }

      .tcp-m-step.is-complete .tcp-m-step-num::after {
        content:"✓";
        position:absolute;
        right:-4px;
        top:-5px;
        width:13px;
        height:13px;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        background:#22e6ff;
        color:#02203a;
        font-size:8px;
        font-weight:950;
      }

      .tcp-m-step.is-active {
        border-color:rgba(8,124,255,.62);
        background:linear-gradient(145deg,rgba(8,124,255,.18),rgba(124,61,255,.10));
        box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 18px rgba(8,124,255,.10);
      }

      .tcp-m-step.is-active .tcp-m-step-num {
        background:linear-gradient(135deg,#087cff,#7c3dff);
        border-color:#7cc7ff;
        box-shadow:0 0 16px rgba(8,124,255,.28);
      }

      .tcp-m-step-copy {
        min-width:0;
        width:100%;
      }

      .tcp-m-step strong {
        display:block;
        color:#fff;
        font-size:9.5px;
        line-height:1.08;
        font-weight:800;
        overflow-wrap:normal;
        word-break:normal;
      }

      .tcp-m-step span {
        display:block;
        margin-top:3px;
        color:#94a7c7;
        font-size:8.5px;
        line-height:1.05;
      }

      .tcp-m-summary {
        padding:14px;
      }

      .tcp-m-summary-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:10px;
        margin-bottom:11px;
      }

      .tcp-m-summary h3 {
        margin:0;
        color:#22e6ff;
        font-size:18px;
        line-height:1.1;
        letter-spacing:-.03em;
        font-weight:860;
      }

      .tcp-m-readiness {
        margin:0 0 12px;
        padding:11px 12px;
        border-radius:10px;
        background:
          linear-gradient(145deg,rgba(8,124,255,.12),rgba(124,61,255,.06)),
          rgba(4,14,35,.84);
        border:1px solid rgba(8,124,255,.34);
      }

      .tcp-m-readiness strong {
        display:block;
        margin:0 0 4px;
        color:#22e6ff;
        font-size:13px;
        line-height:1.2;
        font-weight:850;
      }

      .tcp-m-readiness span {
        display:block;
        color:#dce7f9;
        font-size:11.5px;
        line-height:1.34;
      }

      .tcp-m-summary-grid {
        display:grid;
        grid-template-columns:1fr;
        gap:7px;
      }

      .tcp-m-summary-row {
        display:grid;
        grid-template-columns:112px minmax(0,1fr);
        gap:9px;
        align-items:start;
        min-width:0;
        padding:8px 9px;
        border-radius:9px;
        border:1px solid rgba(8,124,255,.16);
        background:rgba(1,9,26,.55);
      }

      .tcp-m-summary-row strong {
        color:#fff;
        font-size:11px;
        line-height:1.24;
        font-weight:810;
      }

      .tcp-m-summary-row span {
        min-width:0;
        color:#d8e0ee;
        font-size:11.5px;
        line-height:1.3;
        overflow-wrap:anywhere;
        word-break:normal;
      }

      .tcp-m-back-actions {
        display:flex;
        justify-content:center;
        width:100%;
        margin:0;
      }

      .tcp-m-btn.secondary {
        min-height:44px;
        color:#fff;
        background:rgba(2,11,31,.72);
        border-color:rgba(8,124,255,.45);
        box-shadow:none;
        font-size:11.5px;
      }

      .tcp-m-guidance {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        margin-top:14px;
      }

      .tcp-m-guidance-card {
        min-width:0;
        min-height:112px;
        padding:12px;
        border-radius:12px;
        border:1px solid rgba(8,124,255,.30);
        background:rgba(3,12,34,.78);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
      }

      .tcp-m-guidance-card:last-child {
        grid-column:1 / -1;
        min-height:0;
      }

      .tcp-m-guidance-card strong {
        display:block;
        color:#fff;
        font-size:12px;
        line-height:1.2;
        font-weight:820;
      }

      .tcp-m-guidance-card span {
        display:block;
        margin-top:5px;
        color:#a7b6d0;
        font-size:11px;
        line-height:1.32;
      }
    }

    @media (min-width:390px) and (max-width:900px) {
      .tcp-m-context {
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .tcp-m-context-item.is-full {
        grid-column:1 / -1;
      }

      .tcp-m-fields {
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:10px;
      }

      .tcp-m-field.is-half {
        grid-column:auto;
      }

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

      .tcp-m-summary-row.is-compact {
        grid-column:auto;
        display:block;
      }

      .tcp-m-summary-row.is-compact strong {
        display:block;
        margin-bottom:4px;
      }

      .tcp-m-summary-row.is-full {
        grid-column:1 / -1;
      }
    }

    @media (max-width:389px) {
      /* MOBILE ONLY — keep all four Builder Progress stages in one row. */
      .tcp-m-timeline {
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:5px;
      }

      .tcp-m-step {
        min-height:84px;
        padding:7px 3px 6px;
      }

      .tcp-m-step-num {
        width:26px;
        height:26px;
        font-size:10px;
      }

      .tcp-m-step strong {
        font-size:9px;
      }

      .tcp-m-step span {
        font-size:8px;
      }

      .tcp-m-guidance {
        grid-template-columns:1fr;
      }

      .tcp-m-guidance-card,
      .tcp-m-guidance-card:last-child {
        grid-column:auto;
        min-height:0;
      }
    }

    @media (max-width:380px) {
      .tcp-mobile {
        padding-left:12px;
        padding-right:12px;
      }

      .tcp-m-title {
        font-size:28px;
      }

      .tcp-m-timeline-card {
        padding-left:10px;
        padding-right:10px;
      }

      .tcp-m-timeline-card .tcp-m-section-head {
        column-gap:6px;
      }

      .tcp-m-timeline-card .tcp-m-section-head h3 {
        font-size:14px;
      }

      .tcp-m-timeline-card .tcp-m-section-kicker {
        padding:5px 6px;
        font-size:8.5px;
      }

      .tcp-m-head {
        grid-template-columns:1fr;
        align-items:start;
      }

      .tcp-m-pill {
        justify-self:start;
      }

      .tcp-m-summary-row {
        grid-template-columns:1fr;
        gap:3px;
      }
    }
