
    :root {
      --bg: #f4f6fb;
      --card: #ffffff;
      --ink: #162033;
      --muted: #637089;
      --line: #dde4f0;
      --accent: #2257d9;
      --accent-soft: #ecf2ff;
      --danger: #b42318;
      --danger-soft: #fff1f1;
      --success: #0f9d58;
      --success-soft: #ecfbf3;
      --warning: #8a5a00;
      --shadow: 0 10px 28px rgba(18, 33, 64, 0.08);
      --radius: 18px;
    }

    * { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: Inter, Arial, Helvetica, sans-serif;
      background: var(--bg);
      color: var(--ink);
      line-height: 1.45;
    }

    .app {
      max-width: 430px;
      margin: 0 auto;
      padding: 14px 14px 36px;
    }

    .hero {
      background: linear-gradient(180deg, #173566 0%, #234987 100%);
      color: #fff;
      border-radius: 24px;
      padding: 20px 18px;
      box-shadow: var(--shadow);
      margin-bottom: 14px;
    }

    .hero h1 {
      margin: 0 0 8px;
      font-size: 1.7rem;
      line-height: 1.05;
      letter-spacing: -0.03em;
    }

    .hero p {
      margin: 0;
      color: rgba(255,255,255,0.88);
      font-size: 0.95rem;
    }

    .section {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      margin-bottom: 14px;
      overflow: hidden;
    }

    .section-head {
      padding: 16px 16px 8px;
    }

    .section-head h2 {
      margin: 0 0 4px;
      font-size: 1.05rem;
    }

    .section-head p {
      margin: 0;
      color: var(--muted);
      font-size: 0.9rem;
    }

    .fields {
      padding: 8px 16px 16px;
      display: grid;
      gap: 12px;
    }

    .field {
      display: grid;
      gap: 6px;
    }

    label {
      font-size: 0.92rem;
      font-weight: 700;
    }

    .hint {
      color: var(--muted);
      font-size: 0.78rem;
    }

    input, select {
      width: 100%;
      border: 1px solid #cfd8e8;
      border-radius: 12px;
      padding: 12px 12px;
      font-size: 1rem;
      color: var(--ink);
      background: #fff;
    }

    .actions {
      padding: 0 16px 16px;
      display: flex;
      gap: 10px;
    }

    button {
      flex: 1;
      border: 0;
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 0.95rem;
      font-weight: 800;
      cursor: pointer;
    }

    .primary {
      background: var(--accent);
      color: white;
    }

    .ghost {
      background: #eef3fb;
      color: var(--ink);
    }

    .loss-card {
      background: linear-gradient(180deg, #fff6f6 0%, #fff1f1 100%);
      border: 1px solid #f3cccc;
      border-radius: 20px;
      margin: 0 16px 16px;
      padding: 16px;
    }

    .eyebrow {
      color: var(--danger);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      font-size: 0.76rem;
      font-weight: 800;
    }

    .big-number {
      margin-top: 6px;
      font-size: 2.1rem;
      line-height: 1;
      letter-spacing: -0.05em;
      font-weight: 900;
      color: var(--danger);
    }

    .subtext {
      margin-top: 8px;
      color: #7a3d3d;
      font-size: 0.92rem;
    }


    .loss-cta {
      margin: 0 16px 16px;
      background: #fff;
      border: 1px solid #f3cccc;
      border-radius: 18px;
      padding: 14px;
      box-shadow: 0 8px 22px rgba(180, 35, 24, 0.08);
    }

    .loss-cta strong {
      display: block;
      font-size: 1rem;
      margin-bottom: 4px;
      color: var(--ink);
    }

    .loss-cta p {
      margin: 0;
      color: #6b3c3c;
      font-size: 0.88rem;
    }

    .loss-cta .actions-inline {
      display: grid;
      gap: 10px;
      margin-top: 12px;
    }

    .loss-cta .cta-btn {
      display: block;
      width: 100%;
      text-decoration: none;
      text-align: center;
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 0.94rem;
      font-weight: 800;
    }

    .loss-cta .cta-primary {
      background: var(--danger);
      color: #fff;
    }

    .loss-cta .cta-secondary {
      background: #fff4f4;
      color: var(--danger);
      border: 1px solid #efc3c3;
    }

    .micro-note {
      margin-top: 8px;
      font-size: 0.77rem;
      color: #8a5a5a;
    }

    .mini-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin: 12px 16px 16px;
    }

    .mini-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 14px;
    }

    .mini-card .label {
      color: var(--muted);
      font-size: 0.76rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      font-weight: 700;
    }

    .mini-card .value {
      margin-top: 6px;
      font-size: 1.28rem;
      font-weight: 800;
      letter-spacing: -0.03em;
    }

    .fix-card {
      background: linear-gradient(180deg, #f3fff8 0%, #ecfbf3 100%);
      border: 1px solid #cfe9da;
      border-radius: 20px;
      margin: 0 16px 16px;
      padding: 16px;
    }

    .fix-card .eyebrow {
      color: var(--success);
    }

    .fix-card .big-number {
      color: var(--success);
    }

    .fix-card .subtext {
      color: #35634a;
    }

    .checklist {
      display: grid;
      gap: 10px;
      padding: 0 16px 16px;
    }

    .item {
      background: #fafcff;
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 12px 13px;
    }

    .item strong {
      display: block;
      font-size: 0.92rem;
      margin-bottom: 3px;
    }

    .item p {
      margin: 0;
      font-size: 0.87rem;
      color: var(--muted);
    }

    .assumption {
      margin: 0 16px 16px;
      padding: 12px 14px;
      background: var(--accent-soft);
      border-radius: 14px;
      color: #35507a;
      font-size: 0.86rem;
    }


    .field-inline {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .field-inline input {
      flex: 1;
    }

    .suffix {
      min-width: 42px;
      text-align: center;
      border: 1px solid #cfd8e8;
      background: #f7f9fd;
      border-radius: 12px;
      padding: 12px 10px;
      font-size: 1rem;
      font-weight: 700;
      color: var(--muted);
    }

    .jump-link {
      display: inline-block;
      margin-top: 12px;
      color: var(--accent);
      font-weight: 700;
      text-decoration: none;
    }

    .jump-link:hover {
      text-decoration: underline;
    }

    .cta-wrap {
      padding: 0 16px 16px;
    }

    .cta-card {
      background: linear-gradient(180deg, #fffaf1 0%, #fff5df 100%);
      border: 1px solid #f0ddae;
      border-radius: 20px;
      padding: 16px;
    }

    .cta-card h3 {
      margin: 0 0 6px;
      font-size: 1.12rem;
      line-height: 1.15;
    }

    .cta-card p {
      margin: 0;
      color: #6d5731;
      font-size: 0.92rem;
    }

    .cta-points {
      display: grid;
      gap: 8px;
      margin: 12px 0 14px;
    }

    .cta-point {
      background: rgba(255,255,255,0.72);
      border: 1px solid #f0e2be;
      border-radius: 14px;
      padding: 10px 11px;
      font-size: 0.87rem;
      color: #5d4b2b;
    }

    .cta-actions {
      display: grid;
      gap: 10px;
      margin-top: 14px;
    }

    .cta-btn {
      display: block;
      width: 100%;
      text-align: center;
      border-radius: 12px;
      padding: 13px 14px;
      font-size: 0.95rem;
      font-weight: 800;
      text-decoration: none;
    }

    .cta-btn.primary-cta {
      background: var(--ink);
      color: #fff;
    }

    .cta-btn.secondary-cta {
      background: #fff;
      color: var(--ink);
      border: 1px solid #d9dfeb;
    }

    .cta-note {
      margin-top: 10px;
      font-size: 0.8rem;
      color: #74674d;
    }

    .followup-box {
      margin-top: 12px;
      padding: 12px 13px;
      border-radius: 14px;
      background: #fff;
      border: 1px solid #e6e9f1;
      font-size: 0.86rem;
      color: var(--ink);
      display: none;
    }

    .followup-box strong {
      display: block;
      margin-bottom: 4px;
    }

    @media (min-width: 700px) {
      .app { max-width: 470px; }
    }
  