/* Workbook calculator (/roi/): a short form, live numbers beside it. Same palette and type. */

.roi-page { background: radial-gradient(1100px 600px at 85% 0%, rgba(201,162,63,.16), transparent 60%), var(--paper); }
.roi { padding: clamp(110px, 14vw, 150px) var(--gutter) clamp(64px, 9vw, 110px); }
.roi__wrap { max-width: 1040px; margin: 0 auto; }
.roi__title { font: 500 clamp(2.4rem, 6.4vw, 4.2rem)/1.02 var(--serif); letter-spacing: -.02em; max-width: 14em; }
.roi__title em { color: var(--gold-deep); }
.roi__title em { white-space: nowrap; }
.roi__ran[hidden] { display: none; }
.roi__ran { margin: -18px 0 clamp(28px, 4vw, 40px); display: inline-block; padding: 8px 14px; border-radius: 999px; background: rgba(201,162,63,.18); font: 600 .92rem/1.3 var(--sans); color: var(--ink); }
.roi__sub { margin: 20px 0 clamp(32px, 5vw, 52px); max-width: 640px; font-size: clamp(1.05rem, 1.6vw, 1.2rem); color: var(--ink-soft); }

.roi__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 36px); align-items: start; }

/* The form */
.calc {
  display: grid; gap: 26px; padding: clamp(20px, 4vw, 36px); border-radius: 24px;
  background: #fffaf0; border: 1px solid var(--line); box-shadow: 0 40px 80px -50px rgba(20,35,63,.55);
}
.calc__group { display: grid; gap: 22px; margin: 0; padding: 0; border: 0; min-width: 0; }
.calc__group + .calc__group { padding-top: 26px; border-top: 1px solid var(--line); }
.calc__head { padding: 0; margin-bottom: 4px; font: 500 1.3rem/1.15 var(--serif); color: var(--rust); }
.calc__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: end; }
.calc__field { display: grid; gap: 10px; }
.calc__label { font: 600 .95rem/1.35 var(--sans); color: var(--ink); }
.calc__input { position: relative; display: block; }
.calc__input input {
  width: 100%; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line); background: var(--paper);
  font: 600 1.15rem/1.3 var(--sans); color: var(--ink); font-variant-numeric: tabular-nums;
  transition: border-color .25s, box-shadow .25s;
}
.calc__input--money input { padding-left: 32px; }
.calc__input--money::before { content: "$"; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font: 600 1.15rem/1 var(--sans); color: var(--ink-soft); pointer-events: none; }
.calc__input input:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,162,63,.22); }
.calc__note { font-size: .86rem; line-height: 1.5; color: var(--ink-soft); }
.calc__note a { color: var(--gold-deep); }

/* The out-of-10 slider, with ten little marks that fill in */
.take { display: flex; align-items: center; gap: 16px; }
.take input { flex: 1; min-width: 0; height: 32px; accent-color: var(--gold-deep); cursor: pointer; }
.take__n { flex: none; min-width: 6.2em; text-align: right; font: 500 1.35rem/1 var(--serif); color: var(--ink); }
.take__row { display: grid; grid-template-columns: repeat(10, 1fr); gap: 6px; }
.take__row span { height: 26px; border-radius: 4px 6px 6px 4px; background: var(--paper-3); transition: background .25s; }
.take__row span.on { background: var(--gold); }

/* The results */
.results {
  position: sticky; top: 96px; padding: clamp(24px, 4vw, 38px); border-radius: 24px;
  background: var(--ink); color: var(--paper); box-shadow: 0 40px 80px -40px rgba(20,35,63,.7);
}
.results__title { font: 500 1.6rem/1 var(--serif); color: var(--gold-hi); margin-bottom: 22px; }
.results__list { margin: 0; display: grid; gap: 0; }
.results__item { padding: 16px 0; border-top: 1px solid var(--line-light); }
.results__item:first-child { border-top: 0; padding-top: 0; }
.results__item dt { font-size: .9rem; color: rgba(248,242,230,.72); }
.results__item dd { margin: 4px 0 0; font: 500 clamp(2rem, 4.4vw, 2.6rem)/1.05 var(--serif); font-variant-numeric: tabular-nums; letter-spacing: -.01em; overflow-wrap: anywhere; }
.results__item--big dd { font-size: clamp(2.4rem, 5.6vw, 3.4rem); color: var(--gold-hi); }
.results__how { margin: 6px 0 0; font-size: .84rem; color: rgba(248,242,230,.6); }
.results__say { margin: 18px 0 0; padding: 14px 16px; border-radius: 12px; background: rgba(226,194,109,.14); font-size: .98rem; line-height: 1.5; }
.results__wait { margin: 16px 0 0; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: .95rem; color: rgba(248,242,230,.8); }
.results__wait b { font: 500 1.6rem/1 var(--serif); color: var(--gold-hi); font-variant-numeric: tabular-nums; }
.results__season { margin: 10px 0 0; font-size: .9rem; line-height: 1.5; color: rgba(248,242,230,.72); }
.results__season strong { color: var(--paper); }

/* Email me these numbers: optional, one box */
.mail { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line-light); display: grid; gap: 10px; }
.mail__label { font: 600 .92rem/1.3 var(--sans); color: var(--paper); }
.mail__row { display: flex; gap: 8px; }
.mail__row input { flex: 1; min-width: 0; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line-light); background: rgba(248,242,230,.08); color: var(--paper); font: 500 1rem/1.3 var(--sans); }
.mail__row input::placeholder { color: rgba(248,242,230,.45); }
.mail__row input:focus { outline: none; border-color: var(--gold-hi); box-shadow: 0 0 0 4px rgba(226,194,109,.2); }
.mail__row .btn { flex: none; }
.mail .form__status { color: #f0a08c; font-size: .88rem; }
.mail .form__status.is-ok { color: var(--gold-hi); }
.mail .btn[disabled] { opacity: .6; cursor: progress; }

.results.is-slow .results__say { background: rgba(248,242,230,.1); border-left: 3px solid var(--gold-hi); }
.results.is-loss .results__item--big dd { color: #f0a08c; }

/* The guarantees, straight under the result */
.roi-risk { margin-top: clamp(40px, 6vw, 64px); }
.roi-risk__title { font: 500 clamp(1.7rem, 3.6vw, 2.3rem)/1.1 var(--serif); margin-bottom: 20px; }
.roi-risk__title em { color: var(--gold-deep); }
.roi-risk__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.roi-risk__list article { padding: 20px; border-radius: 18px; background: #fffaf0; border: 1px solid var(--line); }
.roi-risk__list h3 { font: 500 1.15rem/1.2 var(--serif); margin-bottom: 8px; }
.roi-risk__list p { margin: 0; font-size: .92rem; line-height: 1.5; color: var(--ink-soft); }

/* The one call to action, with two real pages beside it */
.roi-cta { margin-top: clamp(48px, 7vw, 80px); padding-top: clamp(40px, 6vw, 64px); border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 56px); align-items: center; }
.roi-cta__pages { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.roi-cta__pages figure { margin: 0; }
.roi-cta__pages img { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 24px 50px -28px rgba(20,35,63,.6); }
.roi-cta__pages figure:first-child { transform: rotate(-1.5deg); }
.roi-cta__pages figure:nth-child(2) { transform: rotate(1.5deg) translateY(10px); }
.roi-cta__cap { grid-column: 1 / -1; margin: 10px 0 0; font-size: .86rem; color: var(--ink-soft); text-align: center; }
.roi-cta h2 { font-size: clamp(2rem, 5vw, 3.2rem); }
.roi-cta__copy p { margin: 16px 0 28px; max-width: 520px; color: var(--ink-soft); font-size: 1.08rem; }

/* What this leaves out: last, after the button */
.left-out { margin-top: clamp(48px, 7vw, 80px); max-width: 680px; }
.left-out__title { font: 500 1.3rem/1.1 var(--serif); margin-bottom: 12px; }
.left-out ul { margin: 0; padding-left: 1.2em; color: var(--ink-soft); font-size: .95rem; }
.left-out li { margin-bottom: 6px; }

/* Phone bar with the two key numbers, shown while the results are below the fold */
.peek { display: none; }

@media (max-width: 980px) {
  .roi-risk__list { grid-template-columns: 1fr 1fr; }
  .roi-risk__list > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 880px) {
  .roi__grid { grid-template-columns: 1fr; }
  .roi-cta { grid-template-columns: 1fr; }
  .results { position: static; }
  .peek {
    display: flex; justify-content: space-between; gap: 12px;
    position: fixed; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); z-index: 40;
    padding: 12px 18px; border-radius: 16px; background: var(--ink); color: var(--paper);
    box-shadow: 0 18px 40px -12px rgba(20,35,63,.6);
    transition: transform .35s var(--ease), opacity .35s;
  }
  .peek span { display: grid; gap: 2px; }
  .peek span:last-child { text-align: right; }
  .peek small { font-size: .74rem; color: rgba(248,242,230,.7); }
  .peek b { font: 500 1.3rem/1.1 var(--serif); color: var(--gold-hi); }
  .peek.is-hidden { transform: translateY(140%); opacity: 0; pointer-events: none; }
}

@media (max-width: 600px) {
  .roi-risk__list, .calc__pair { grid-template-columns: 1fr; }
  .roi__title em { white-space: normal; }
  .roi-cta .btn--gold { width: 100%; justify-content: space-between; text-align: left; }
}
