:root {
  --deep-green: #0F3D2E;
  --forest-green: #155D41;
  --sage-green: #6FA67A;
  --gold: #D4AF37;
  --charcoal: #1A1F23;
  --light-gray: #F2F4F7;

  --white: #FFFFFF;
  --muted: #64716B;
  --border: #DCE5DF;
  --surface: #FFFFFF;
  --surface-soft: #F8FAF9;

  --danger: #A33737;

  --shadow-sm:
    0 8px 30px rgba(15, 61, 46, 0.08);

  --shadow-md:
    0 18px 55px rgba(15, 61, 46, 0.13);

  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 30px;

  --max-width: 1180px;
}


* {
  box-sizing: border-box;
}


html {
  scroll-behavior: smooth;
}


body {
  margin: 0;

  background:
    radial-gradient(
      circle at top right,
      rgba(111, 166, 122, 0.12),
      transparent 30%
    ),
    var(--light-gray);

  color: var(--charcoal);

  font-family:
    Poppins,
    Tahoma,
    Arial,
    system-ui,
    sans-serif;

  -webkit-font-smoothing: antialiased;
}


button,
input {
  font: inherit;
}


button {
  cursor: pointer;
}


.hidden {
  display: none !important;
}


.topbar {
  position: sticky;
  top: 0;
  z-index: 100;

  background:
    rgba(255, 255, 255, 0.93);

  backdrop-filter:
    blur(14px);

  border-bottom:
    1px solid rgba(15, 61, 46, 0.08);
}


.topbar-inner {
  width: min(
    calc(100% - 32px),
    var(--max-width)
  );

  min-height: 76px;

  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}


.brand-button {
  border: 0;
  background: transparent;
  padding: 0;
}


.brand-logo {
  display: block;
  width: 118px;
  max-height: 56px;
}


.topbar-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}


.wallet-chip {
  display: flex;
  align-items: center;
  gap: 7px;

  padding:
    8px 12px;

  border:
    1px solid var(--border);

  border-radius: 999px;

  background: white;

  font-size: 13px;
  font-weight: 600;
}


.wallet-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--gold);
}


.text-button {
  border: 0;
  background: transparent;

  color: var(--deep-green);

  font-weight: 600;

  padding:
    8px 6px;
}


.app-main {
  min-height:
    calc(100vh - 150px);
}


.screen {
  display: none;
}


.screen.active {
  display: block;
}


.hero {
  width: min(
    calc(100% - 32px),
    980px
  );

  margin: 0 auto;

  padding:
    82px 0
    74px;

  text-align: center;
}


.hero-badge {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  padding:
    8px 14px;

  border:
    1px solid rgba(15, 61, 46, 0.13);

  border-radius: 999px;

  color: var(--deep-green);

  background:
    rgba(255, 255, 255, 0.72);

  font-size: 13px;
  font-weight: 600;
}


.badge-dot {
  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--gold);
}


.hero-mark {
  display: block;

  width: 136px;
  height: 136px;

  object-fit: contain;

  margin:
    30px auto 18px;
}


.hero h1 {
  max-width: 760px;

  margin:
    0 auto 20px;

  font-size:
    clamp(
      40px,
      7vw,
      72px
    );

  line-height: 1.12;

  letter-spacing:
    -0.035em;

  color: var(--deep-green);
}


.hero h1 span {
  color: var(--gold);
}


.hero-lead {
  max-width: 720px;

  margin:
    0 auto;

  color: #53605B;

  font-size:
    clamp(
      16px,
      2vw,
      19px
    );

  line-height: 2;
}


.hero-actions {
  display: flex;
  justify-content: center;

  gap: 12px;

  margin-top: 32px;

  flex-wrap: wrap;
}


.button {
  min-height: 48px;

  padding:
    11px 20px;

  border-radius:
    var(--radius-sm);

  border: 1px solid transparent;

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease;

  font-weight: 700;
}


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


.button:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}


.button-large {
  min-height: 56px;
  min-width: 180px;
}


.button-primary {
  color: white;

  background:
    linear-gradient(
      135deg,
      var(--deep-green),
      var(--forest-green)
    );

  box-shadow:
    0 9px 24px rgba(15, 61, 46, .18);
}


.button-primary:hover {
  box-shadow:
    0 12px 30px rgba(15, 61, 46, .25);
}


.button-secondary {
  color:
    var(--deep-green);

  background:
    rgba(255,255,255,.78);

  border-color:
    rgba(15,61,46,.17);
}


.trust-strip {
  max-width: 760px;

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  margin:
    54px auto 0;

  background:
    rgba(255,255,255,.75);

  border:
    1px solid rgba(15,61,46,.09);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-sm);
}


.trust-strip div {
  padding: 20px;

  display: flex;
  flex-direction: column;

  gap: 4px;
}


.trust-strip div + div {
  border-right:
    1px solid rgba(15,61,46,.08);
}


.trust-strip strong {
  color:
    var(--deep-green);

  font-size: 17px;
}


.trust-strip span {
  color:
    var(--muted);

  font-size: 12px;
}


.principles-section {
  width: min(
    calc(100% - 32px),
    var(--max-width)
  );

  margin:
    0 auto 100px;

  padding:
    60px;

  border-radius:
    var(--radius-lg);

  color: white;

  background:
    linear-gradient(
      140deg,
      #0B3024,
      var(--deep-green)
    );

  box-shadow:
    var(--shadow-md);
}


.section-eyebrow {
  margin:
    0 0 10px;

  color:
    var(--gold);

  font-size: 13px;
  font-weight: 700;
}


.principles-section > h2 {
  margin:
    0 0 36px;

  font-size:
    clamp(
      28px,
      4vw,
      42px
    );
}


.principles-grid {
  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 16px;
}


.principle-card {
  min-height: 200px;

  padding: 24px;

  border-radius:
    var(--radius-md);

  border:
    1px solid rgba(255,255,255,.10);

  background:
    rgba(255,255,255,.055);
}


.principle-icon {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  margin-bottom: 24px;

  border-radius: 12px;

  color: var(--deep-green);

  background:
    var(--gold);

  font-size: 20px;
  font-weight: 800;
}


.principle-card h3 {
  margin:
    0 0 8px;

  font-size: 17px;
}


.principle-card p {
  margin: 0;

  color:
    rgba(255,255,255,.73);

  line-height: 1.85;

  font-size: 13px;
}


.flow-shell {
  width: min(
    calc(100% - 32px),
    760px
  );

  margin:
    54px auto 90px;
}


.flow-shell.narrow {
  max-width: 520px;
}


.back-link {
  margin-bottom: 22px;

  border: 0;
  background: transparent;

  color:
    var(--deep-green);

  font-weight: 600;
}


.flow-heading {
  margin-bottom: 30px;
}


.flow-mark {
  width: 80px;
  height: 80px;

  object-fit: contain;

  margin-bottom: 14px;
}


.flow-heading h1 {
  margin:
    0 0 10px;

  color:
    var(--deep-green);

  font-size:
    clamp(
      28px,
      5vw,
      40px
    );
}


.flow-heading > p:last-child {
  margin: 0;

  color:
    var(--muted);

  line-height: 1.9;
}


.form-stack {
  display: flex;
  flex-direction: column;

  gap: 16px;
}


.field {
  display: flex;
  flex-direction: column;

  gap: 8px;
}


.field > span {
  color:
    var(--deep-green);

  font-size: 13px;
  font-weight: 700;
}


.field input {
  width: 100%;

  min-height: 54px;

  padding:
    12px 15px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-sm);

  outline: none;

  background:
    var(--white);

  color:
    var(--charcoal);

  transition:
    border .15s ease,
    box-shadow .15s ease;
}


.field input:focus {
  border-color:
    var(--forest-green);

  box-shadow:
    0 0 0 4px
    rgba(21,93,65,.08);
}


.message {
  margin-top: 18px;

  padding:
    13px 15px;

  border-radius:
    var(--radius-sm);

  background:
    #FFF6E2;

  color:
    #735717;

  line-height: 1.7;

  font-size: 13px;
}


.message.error {
  background:
    #FFF0F0;

  color:
    var(--danger);
}


.progress-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 14px;
}


.progress-top > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}


.progress-top span {
  color:
    var(--muted);

  font-size: 12px;
}


.progress-top strong {
  color:
    var(--deep-green);
}


.progress-track {
  height: 6px;

  overflow: hidden;

  margin-bottom: 30px;

  border-radius: 999px;

  background:
    #DCE7E0;
}


.progress-bar {
  width: 0%;
  height: 100%;

  border-radius: inherit;

  background:
    linear-gradient(
      90deg,
      var(--deep-green),
      var(--sage-green),
      var(--gold)
    );

  transition:
    width .25s ease;
}


.question-card {
  min-height: 360px;

  padding:
    clamp(
      24px,
      5vw,
      42px
    );

  border:
    1px solid rgba(15,61,46,.08);

  border-radius:
    var(--radius-lg);

  background:
    white;

  box-shadow:
    var(--shadow-sm);
}


.question-title {
  margin:
    0 0 10px;

  color:
    var(--deep-green);

  font-size:
    clamp(
      24px,
      4vw,
      34px
    );

  line-height: 1.45;
}


.question-body {
  margin:
    0 0 26px;

  color:
    var(--muted);

  line-height: 1.9;

  font-size: 14px;
}


.choice-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 12px;
}


.choice-card {
  min-height: 74px;

  display: flex;
  align-items: center;

  padding:
    14px 16px;

  text-align: right;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-sm);

  background: white;

  color:
    var(--charcoal);

  font-weight: 600;
}


.choice-card:hover {
  border-color:
    var(--sage-green);
}


.choice-card.selected {
  border-color:
    var(--forest-green);

  color:
    var(--deep-green);

  background:
    rgba(111,166,122,.11);

  box-shadow:
    inset 0 0 0 1px
    var(--forest-green);
}


.money-input {
  position: relative;
}


.money-input input {
  width: 100%;

  min-height: 64px;

  padding:
    14px 18px;

  border:
    1px solid var(--border);

  border-radius:
    var(--radius-sm);

  outline: none;

  font-size: 22px;
  font-weight: 700;

  direction: ltr;
  text-align: right;
}


.money-input small {
  display: block;

  margin-top: 8px;

  color:
    var(--muted);

  font-size: 12px;
}


.money-group {
  display: grid;

  gap: 14px;
}


.question-actions {
  display: flex;
  justify-content: space-between;

  gap: 12px;

  margin-top: 18px;
}


.analysis-loader {
  width: min(
    calc(100% - 32px),
    640px
  );

  margin:
    90px auto;

  padding:
    50px 32px;

  text-align: center;

  border-radius:
    var(--radius-lg);

  background: white;

  box-shadow:
    var(--shadow-md);
}


.analysis-mark {
  width: 100px;
  height: 100px;

  object-fit: contain;
}


.analysis-spinner {
  width: 38px;
  height: 38px;

  margin:
    20px auto 30px;

  border:
    3px solid #DCE7E0;

  border-top-color:
    var(--gold);

  border-radius: 50%;

  animation:
    spin .9s linear infinite;
}


@keyframes spin {
  to {
    transform:
      rotate(360deg);
  }
}


.analysis-loader h1 {
  margin:
    0 0 12px;

  color:
    var(--deep-green);
}


.analysis-loader > p {
  margin:
    0 auto;

  max-width: 520px;

  color:
    var(--muted);

  line-height: 1.9;
}


.analysis-steps {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 8px;

  margin-top: 28px;
}


.analysis-steps span {
  padding:
    7px 10px;

  border-radius:
    999px;

  background:
    var(--surface-soft);

  color:
    var(--forest-green);

  font-size: 11px;
  font-weight: 600;
}


.result-shell {
  width: min(
    calc(100% - 32px),
    900px
  );

  margin:
    48px auto 90px;
}


.result-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 24px;
}


.result-header h1 {
  margin: 0;

  color:
    var(--deep-green);

  font-size:
    clamp(
      32px,
      5vw,
      48px
    );
}


.level-badge {
  padding:
    9px 14px;

  border-radius:
    999px;

  color:
    var(--deep-green);

  background:
    rgba(212,175,55,.18);

  border:
    1px solid rgba(212,175,55,.36);

  font-size: 13px;
  font-weight: 800;
}


.result-content {
  display: grid;
  gap: 16px;
}


.result-card {
  padding:
    clamp(
      22px,
      4vw,
      32px
    );

  border-radius:
    var(--radius-md);

  border:
    1px solid rgba(15,61,46,.08);

  background: white;

  box-shadow:
    var(--shadow-sm);
}


.result-card h2 {
  margin:
    0 0 14px;

  color:
    var(--deep-green);

  font-size: 20px;
}


.result-card p {
  margin:
    6px 0;

  color:
    #4F5B56;

  line-height: 1.9;
}


.allocation-grid {
  display: grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap: 9px;
}


.allocation-item {
  padding:
    12px 14px;

  border-radius:
    10px;

  background:
    var(--surface-soft);

  display: flex;
  justify-content: space-between;

  gap: 12px;
}


.allocation-item strong {
  color:
    var(--deep-green);
}


.unlock-panel {
  margin-top: 20px;

  padding:
    28px;

  border-radius:
    var(--radius-md);

  color: white;

  background:
    linear-gradient(
      135deg,
      var(--deep-green),
      #092A20
    );

  box-shadow:
    var(--shadow-md);
}


.unlock-panel h2 {
  margin:
    0 0 8px;
}


.unlock-panel p {
  color:
    rgba(255,255,255,.72);

  line-height: 1.8;
}


.unlock-price {
  color:
    var(--gold);

  font-size: 24px;
  font-weight: 800;
}


.unlock-panel .button {
  margin-top: 14px;

  color:
    var(--deep-green);

  background:
    var(--gold);
}


.result-footer-actions {
  margin-top: 24px;
}


.error-card {
  padding: 36px;

  text-align: center;

  border-radius:
    var(--radius-md);

  background: white;

  box-shadow:
    var(--shadow-md);
}


.error-card h1 {
  color:
    var(--deep-green);
}


.error-card p {
  color:
    var(--muted);

  line-height: 1.8;
}


.loading-state {
  min-height: 240px;

  display: grid;
  place-items: center;

  color:
    var(--muted);
}


.site-footer {
  width: min(
    calc(100% - 32px),
    var(--max-width)
  );

  margin:
    0 auto 20px;

  min-height: 64px;

  padding:
    16px 22px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  border-radius:
    16px;

  color:
    rgba(255,255,255,.75);

  background:
    var(--deep-green);

  font-size: 12px;
}


.site-footer > div {
  display: flex;
  align-items: center;

  gap: 12px;
}


.site-footer strong {
  color: white;

  letter-spacing:
    .12em;
}


.site-footer span {
  color:
    var(--gold);
}


.site-footer p {
  margin: 0;
}


@media (max-width: 820px) {

  .principles-section {
    padding:
      38px 24px;
  }

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

}


@media (max-width: 620px) {

  .topbar-inner {
    min-height: 66px;
  }

  .brand-logo {
    width: 96px;
  }

  .hero {
    padding-top: 48px;
  }

  .hero-mark {
    width: 112px;
    height: 112px;
  }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .button {
    width: 100%;
  }

  .trust-strip {
    grid-template-columns: 1fr;
  }

  .trust-strip div + div {
    border-right: 0;

    border-top:
      1px solid rgba(15,61,46,.08);
  }

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

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

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

  .question-actions .button {
    flex: 1;
  }

  .result-header {
    align-items: flex-start;
  }

  .site-footer {
    flex-direction: column;
    align-items: flex-start;
  }

}


/* ==========================================================
   ATLAS V1.2 — PRE-RESULT SPONSORED EXPERIENCE
   ========================================================== */

.pre-result-ad {
  margin:
    30px auto 8px;

  padding:
    20px;

  max-width:
    540px;

  text-align:
    right;

  border:
    1px solid rgba(212,175,55,.35);

  border-radius:
    18px;

  background:
    linear-gradient(
      145deg,
      rgba(15,61,46,.035),
      rgba(212,175,55,.09)
    );
}

.sponsored-label {
  margin-bottom:
    8px;

  color:
    #8A7333;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .02em;
}

.pre-result-ad-content h3 {
  margin:
    0 0 8px;

  color:
    var(--deep-green);

  font-size:
    18px;
}

.pre-result-ad-content p {
  margin:
    0;

  color:
    var(--muted);

  line-height:
    1.8;
}

.pre-result-ad-content a {
  display:
    inline-flex;

  margin-top:
    14px;

  color:
    var(--deep-green);

  font-weight:
    800;

  text-decoration:
    none;
}

.pre-result-ad-footer {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    14px;

  margin-top:
    18px;

  padding-top:
    14px;

  border-top:
    1px solid rgba(15,61,46,.08);
}

#pre-result-countdown {
  color:
    var(--muted);

  font-size:
    12px;
}


/* ==========================================================
   ATLAS V1.2 — FREE VALUE PREVIEW
   ========================================================== */

.free-preview-intro {
  margin-bottom:
    18px;

  color:
    var(--muted);

  line-height:
    1.9;
}

.free-allocation-grid {
  display:
    grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap:
    10px;

  margin-top:
    14px;
}

.free-allocation-item {
  padding:
    16px 12px;

  text-align:
    center;

  border-radius:
    14px;

  background:
    var(--surface-soft);
}

.free-allocation-item strong {
  display:
    block;

  color:
    var(--deep-green);

  font-size:
    19px;

  margin-bottom:
    5px;
}

.free-allocation-item span {
  color:
    var(--muted);

  font-size:
    12px;
}


@media (max-width: 620px) {

  .free-allocation-grid {
    grid-template-columns:
      1fr;
  }

  .pre-result-ad-footer {
    align-items:
      stretch;

    flex-direction:
      column;
  }

}

/* =========================================================
   ATLAS V1.3 — result/unlock UX
   ========================================================= */

.result-card-body:empty {
  display: none;
}

.result-card-summary {
  border-top: 3px solid #D4AF37;
}

.result-card-summary .summary-lead {
  color: #0F3D2E;
  font-weight: 700;
  font-size: 1.06em;
}

.result-card-locked {
  border: 1px dashed rgba(15, 61, 46, .25);
  background:
    linear-gradient(
      135deg,
      rgba(15, 61, 46, .035),
      rgba(212, 175, 55, .06)
    );
}

.locked-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.locked-card-head h2 {
  margin: 0;
}

.locked-level-badge {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(212, 175, 55, .14);
  color: #7c6414;
  font-weight: 700;
  font-size: .88rem;
}

.result-lock-copy {
  color: #5f6a66;
}

.unlock-meta {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.unlock-meta-item {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
}

.unlock-meta-item span,
.unlock-meta-item strong {
  display: block;
}

.unlock-meta-item span {
  opacity: .75;
  font-size: .86rem;
  margin-bottom: 4px;
}

.unlock-meta-item strong {
  color: #D4AF37;
}

.unlock-panel button:disabled {
  opacity: .65;
  cursor: wait;
}

.atlas-toast {
  position: fixed;
  z-index: 99999;
  left: 50%;
  bottom: calc(22px + env(safe-area-inset-bottom));
  width: min(92vw, 520px);
  transform: translate(-50%, 18px);
  opacity: 0;
  padding: 14px 16px;
  border-radius: 14px;
  box-shadow: 0 14px 44px rgba(0, 0, 0, .24);
  color: #fff;
  background: #0F3D2E;
  text-align: center;
  line-height: 1.75;
  transition:
    opacity .22s ease,
    transform .22s ease;
}

.atlas-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.atlas-toast-error {
  background: #7a2f2f;
}

@media (max-width: 640px) {
  .unlock-meta {
    grid-template-columns: 1fr;
  }

  .locked-card-head {
    align-items: flex-start;
  }
}


/* =========================================================
   ATLAS V1.4 — ACTIONABLE DECISION RESULT
   ========================================================= */

.v14-card {
  margin: 18px 0;
  padding: 22px;
  border: 1px solid rgba(15, 61, 46, .16);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 30px rgba(15, 61, 46, .055);
}

.v14-card-accent {
  border-color: rgba(15, 61, 46, .30);
}

.v14-card-warning {
  border-color: rgba(171, 105, 35, .35);
  background: #fffaf2;
}

.v14-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.v14-card-head h2 {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.7;
}

.v14-badge {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(15, 61, 46, .08);
  color: #0F3D2E;
  font-size: .76rem;
  font-weight: 800;
}

.v14-subtitle,
.v14-muted {
  color: #617169;
  line-height: 1.9;
}

.v14-result-lead {
  margin: 8px 0 18px;
  font-size: 1.05rem;
  line-height: 2;
  font-weight: 700;
}

.v14-capital-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 16px 0;
  padding: 16px 18px;
  border-radius: 16px;
  background: #0F3D2E;
  color: #fff;
}

.v14-capital-box span {
  opacity: .8;
}

.v14-capital-box strong {
  font-size: 1.15rem;
}

.v14-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 20px;
}

.v14-chip {
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(15, 61, 46, .07);
  font-size: .82rem;
  font-weight: 700;
}

.v14-section-title {
  margin: 24px 0 10px;
  font-size: 1rem;
}

.v14-top-list {
  border: 1px solid rgba(15, 61, 46, .12);
  border-radius: 16px;
  overflow: hidden;
}

.v14-top-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 15px;
  border-bottom: 1px solid rgba(15, 61, 46, .08);
}

.v14-top-row:last-child {
  border-bottom: 0;
}

.v14-decision-callout,
.v14-paywall-hint {
  margin-top: 18px;
  padding: 15px 16px;
  border-radius: 16px;
  background: rgba(215, 168, 75, .11);
}

.v14-decision-callout p,
.v14-paywall-hint p {
  margin: 7px 0 0;
  line-height: 1.9;
}

.v14-priority-box {
  margin: 22px 0;
  padding: 18px;
  border-radius: 18px;
  background: rgba(15, 61, 46, .045);
}

.v14-priority-box h3 {
  margin-top: 0;
}

.v14-priority-row {
  position: relative;
  padding: 14px 0;
  border-bottom: 1px solid rgba(15, 61, 46, .1);
}

.v14-priority-row:last-child {
  border-bottom: 0;
}

.v14-priority-row strong,
.v14-priority-row small,
.v14-priority-row p {
  display: block;
}

.v14-priority-row small {
  margin-top: 4px;
  color: #617169;
}

.v14-priority-row p {
  margin: 9px 0 0;
  line-height: 1.85;
}

.v14-priority-amount {
  display: inline-block;
  margin-top: 6px;
  color: #0F3D2E;
  font-weight: 800;
}

.v14-allocation-table {
  border: 1px solid rgba(15, 61, 46, .13);
  border-radius: 18px;
  overflow: hidden;
}

.v14-allocation-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.4fr) .7fr 1fr 1fr;
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
  border-bottom: 1px solid rgba(15, 61, 46, .08);
}

.v14-allocation-row:last-child {
  border-bottom: 0;
}

.v14-allocation-head {
  background: rgba(15, 61, 46, .06);
  color: #617169;
  font-size: .78rem;
  font-weight: 800;
}

.v14-pct,
.v14-money {
  font-weight: 800;
  color: #0F3D2E;
}

.v14-execution {
  color: #617169;
  font-size: .86rem;
}

.v14-scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 16px;
}

.v14-scenario {
  padding: 15px;
  border: 1px solid rgba(15, 61, 46, .12);
  border-radius: 16px;
}

.v14-scenario > strong,
.v14-scenario > small {
  display: block;
}

.v14-scenario > small {
  min-height: 42px;
  margin-top: 4px;
  color: #617169;
}

.v14-scenario-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(15, 61, 46, .10);
}

.v14-scenario-row:last-child {
  border-bottom: 0;
}

.v14-confidence {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(15, 61, 46, .06);
}

.v14-details {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(15, 61, 46, .11);
  border-radius: 14px;
}

.v14-details summary {
  cursor: pointer;
  font-weight: 800;
}

.v14-details p,
.v14-reference-list {
  line-height: 1.9;
}

.v14-locked-card {
  opacity: .86;
  border-style: dashed;
}

.v14-lock-label {
  margin-top: 12px;
  color: #0F3D2E;
  font-size: .82rem;
  font-weight: 800;
}

.v14-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 18px 0;
}

.v14-metric {
  padding: 15px;
  border-radius: 15px;
  background: rgba(171, 105, 35, .07);
}

.v14-metric span,
.v14-metric strong {
  display: block;
}

.v14-metric span {
  color: #756653;
  font-size: .82rem;
}

.v14-metric strong {
  margin-top: 6px;
  font-size: 1rem;
}

.v14-feature-list {
  line-height: 2;
}

.v14-wallet-before {
  margin: 12px 0 4px;
  color: #617169;
  font-size: .88rem;
  font-weight: 700;
}


@media (max-width: 760px) {

  .v14-card {
    padding: 17px;
    border-radius: 18px;
  }

  .v14-card-head {
    align-items: flex-start;
  }

  .v14-capital-box {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .v14-allocation-head {
    display: none;
  }

  .v14-allocation-row {
    grid-template-columns: 1fr auto;
    gap: 6px 12px;
    padding: 14px;
  }

  .v14-allocation-row strong {
    grid-column: 1;
    grid-row: 1;
  }

  .v14-allocation-row .v14-pct {
    grid-column: 2;
    grid-row: 1;
  }

  .v14-allocation-row .v14-money {
    grid-column: 1;
    grid-row: 2;
  }

  .v14-allocation-row .v14-execution {
    grid-column: 2;
    grid-row: 2;
    text-align: left;
  }

  .v14-scenario-grid {
    grid-template-columns: 1fr;
  }

  .v14-metric-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   ATLAS V1.5 — WHY / MARKET OUTLOOK
   ========================================================= */

.v15-outlook-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.v15-outlook-card {
  padding: 16px;
  border: 1px solid rgba(15, 61, 46, .12);
  border-radius: 16px;
  background: rgba(15, 61, 46, .025);
}

.v15-outlook-card.v15-not-executable {
  border-color: rgba(173, 103, 36, .28);
  background: rgba(173, 103, 36, .055);
}

.v15-outlook-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.v15-outlook-head b {
  color: #0F3D2E;
}

.v15-market-chip {
  display: inline-block;
  margin-top: 9px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
}

.v15-market-chip.positive {
  color: #0F5A3B;
  background: rgba(15, 90, 59, .09);
}

.v15-market-chip.negative {
  color: #8A432C;
  background: rgba(138, 67, 44, .09);
}

.v15-market-chip.neutral {
  color: #596860;
  background: rgba(89, 104, 96, .09);
}

.v15-why {
  margin: 12px 0 0;
  line-height: 1.95;
}

.v15-no-fake-forecast,
.v15-forecast-number {
  margin: 9px 0 0;
  color: #66756d;
  font-size: .82rem;
  line-height: 1.8;
}

.v15-actionability-warning {
  margin-top: 11px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(173, 103, 36, .10);
  color: #795331;
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.8;
}

.v15-proxy-note {
  display: block;
  margin-top: 9px;
  color: #758078;
  line-height: 1.7;
}


@media (max-width: 760px) {

  .v15-outlook-head {
    align-items: flex-start;
  }
}


/* =========================================================
   ATLAS ANALYSIS LEVELS V2
   ========================================================= */

.v2-instrument-list,
.v2-provider-list {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.v2-instrument-box,
.v2-provider-block {
  border: 1px solid rgba(15, 61, 46, .12);
  border-radius: 16px;
  padding: 15px;
  background: rgba(15, 61, 46, .025);
}

.v2-instrument-asset-title,
.v2-provider-context {
  display: block;
  margin-bottom: 10px;
  color: #0F3D2E;
}

.v2-instrument-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 9px 0;
  border-top: 1px solid rgba(15, 61, 46, .08);
}

.v2-resolution-note {
  margin: 8px 0;
  line-height: 1.9;
  color: #68766f;
}

.v2-available-instruments {
  display: block;
  line-height: 1.8;
  color: #7a867f;
}

.v2-provider-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid rgba(15, 61, 46, .08);
}

.v2-provider-copy {
  display: grid;
  gap: 4px;
}

.v2-provider-copy small {
  line-height: 1.7;
  color: #6c7871;
}

.v2-sponsored-label {
  opacity: .82;
}

@media (max-width: 720px) {

  .v2-provider-row,
  .v2-instrument-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .v2-provider-row .button {
    width: 100%;
  }
}


/* =========================================================
   ATLAS V2.1 — FINAL VALUE LADDER
   ========================================================= */

.v21-lead {
  font-size: 1.04rem;
  line-height: 1.95;
}

.v21-metric-grid {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(170px, 1fr)
  );
  gap: 12px;
  margin-top: 20px;
}

.v21-metric {
  border: 1px solid rgba(15, 61, 46, .13);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.v21-metric span {
  opacity: .68;
  font-size: .88rem;
}

.v21-metric strong {
  font-size: 1.1rem;
}

.v21-teaser {
  margin-top: 20px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(15, 61, 46, .055);
}

.v21-teaser p {
  margin-bottom: 0;
}

.v21-bucket-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.v21-bucket {
  border: 1px solid rgba(15, 61, 46, .12);
  border-radius: 18px;
  padding: 18px;
}

.v21-bucket-head,
.v21-asset-head,
.v21-instrument-row,
.v21-scenario-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.v21-bucket-head b,
.v21-asset-head b {
  white-space: nowrap;
  font-size: 1.08rem;
}

.v21-bucket-amount,
.v21-asset-amount {
  margin-top: 8px;
  font-weight: 700;
}

.v21-asset-grid {
  display: grid;
  gap: 15px;
  margin-top: 20px;
}

.v21-asset-card {
  border: 1px solid rgba(15, 61, 46, .13);
  border-radius: 18px;
  padding: 18px;
}

.v21-why {
  margin-top: 14px;
}

.v21-why p {
  margin: 6px 0 0;
  line-height: 1.85;
}

.v21-asset-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.v21-asset-meta span {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15, 61, 46, .06);
  font-size: .84rem;
}

.v21-instrument-section {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(15, 61, 46, .18);
}

.v21-instrument-row {
  padding: 7px 0;
}

.v21-pro-section {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 61, 46, .1);
}

.v21-scenario {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(15, 61, 46, .1);
  border-radius: 14px;
}

.v21-scenario-row {
  padding: 5px 0;
}

.v21-reference {
  font-size: .88rem;
  opacity: .78;
  line-height: 1.7;
}

.v21-locked {
  opacity: .82;
}

@media (min-width: 880px) {
  .v21-asset-grid {
    grid-template-columns: repeat(
      2,
      minmax(0, 1fr)
    );
  }
}



/* =========================================================
   ATLAS V2.2 — BUCKET MEMBERS
   ========================================================= */

.v21-bucket-members {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 61, 46, .10);
}

.v21-bucket-members strong {
  display: block;
  margin-bottom: 6px;
  font-size: .9rem;
}

.v21-bucket-members p {
  margin: 0;
  line-height: 1.9;
  opacity: .82;
}
