.advisor-page { background: var(--paper); }
.advisor-page .site-header { border-bottom: 1px solid var(--line); }
.advisor-back { padding: 12px 15px; background: transparent; color: var(--graphite); }
.advisor-back:hover { background: var(--graphite); color: var(--paper); }

.advisor-intro { position: relative; overflow: hidden; padding: clamp(76px, 12vw, 154px) 0 clamp(64px, 10vw, 118px); background: var(--graphite); color: var(--paper); }
.advisor-intro__inner, .advisor-workspace { width: var(--page); margin: 0 auto; }
.advisor-intro__inner { position: relative; z-index: 1; max-width: 860px; }
.advisor-intro h1 { max-width: 800px; margin-bottom: 28px; }
.advisor-intro h1 + p { max-width: 690px; color: var(--sage); font-size: clamp(1.15rem, 2vw, 1.48rem); line-height: 1.48; }
.advisor-intro__note { max-width: 650px; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(245, 243, 236, 0.25); color: var(--sage); font-size: 0.95rem; }
.advisor-intro__rail { position: absolute; top: 14%; right: -8vw; width: min(43vw, 620px); aspect-ratio: 1; border: 1px solid rgba(220, 225, 214, 0.25); border-radius: 50%; }
.advisor-intro__rail::after { content: ""; position: absolute; bottom: 17%; left: -63%; width: 79%; height: 9px; background: var(--lime); }

.advisor-workspace { padding: clamp(55px, 8vw, 112px) 0; }
.advisor-workspace__header h2 { max-width: 760px; margin: 34px 0 48px auto; }
.advisor-app { width: min(980px, 100%); margin-left: auto; }
.advisor-static-preview, .advisor-noscript, .advisor-privacy-note { max-width: 700px; color: var(--moss); line-height: 1.55; }
.advisor-static-preview { padding: 28px; border: 1px solid var(--line); }
.advisor-static-preview__label { margin-bottom: 12px; font-family: "Courier New", monospace; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.advisor-static-preview ul { margin: 0 0 18px; padding-left: 1.2em; }
.advisor-static-preview li + li { margin-top: 7px; }

.advisor-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.advisor-choice { min-height: 230px; position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 26px; border: 1px solid var(--graphite); background: var(--paper); color: var(--graphite); cursor: pointer; text-align: left; transition: transform 180ms ease, background 180ms ease, color 180ms ease; }
.advisor-choice:hover { transform: translateY(-4px); background: var(--lime); }
.advisor-choice:focus-visible, .advisor-option:focus-visible, .advisor-text-button:focus-visible { outline: 3px solid var(--graphite); outline-offset: 4px; }
.advisor-choice__number { font-family: "Courier New", monospace; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; }
.advisor-choice strong { max-width: 18ch; font-size: clamp(1.4rem, 2.5vw, 2.1rem); line-height: 1.02; letter-spacing: -0.045em; }
.advisor-choice > span:not(.advisor-choice__number):not(.advisor-choice__arrow) { max-width: 31ch; color: var(--moss); line-height: 1.45; }
.advisor-choice__arrow { margin-top: auto; font-size: 1.6rem; font-weight: 800; }
.advisor-privacy-note { margin: 28px 0 0 auto; font-size: 0.94rem; }

.advisor-progress { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 17px; border-bottom: 1px solid var(--line); font-family: "Courier New", monospace; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.advisor-question { padding: 38px 0 0; }
.advisor-question .eyebrow { margin: 34px 0 12px; }
.advisor-question h3 { max-width: 820px; margin-bottom: 31px; font-size: clamp(2rem, 4.2vw, 4rem); }
.advisor-text-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 0.18em; }
.advisor-options { display: grid; gap: 10px; max-width: 780px; }
.advisor-option { display: grid; grid-template-columns: 33px 1fr; gap: 14px; align-items: start; padding: 18px; border: 1px solid var(--line); background: transparent; color: var(--graphite); cursor: pointer; font: inherit; font-weight: 700; text-align: left; line-height: 1.4; transition: border-color 160ms ease, background 160ms ease; }
.advisor-option:hover { border-color: var(--graphite); background: var(--sage); }
.advisor-option span { padding-top: 0.1em; color: var(--moss); font-family: "Courier New", monospace; font-size: 0.7rem; letter-spacing: 0.1em; }

.advisor-result { padding: clamp(28px, 5vw, 52px); border: 1px solid var(--graphite); background: var(--white); }
.advisor-result__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 34px; }
.advisor-result h3 { max-width: 760px; font-size: clamp(2rem, 4.2vw, 3.85rem); }
.advisor-result__summary { max-width: 730px; font-size: 1.18rem; line-height: 1.52; }
.advisor-result__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin: 43px 0; padding: 31px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.advisor-result__grid h4 { margin: 0 0 14px; font-size: 0.75rem; font-family: "Courier New", monospace; letter-spacing: 0.1em; text-transform: uppercase; }
.advisor-result__grid ul { margin: 0; padding-left: 1.2em; }
.advisor-result__grid li + li { margin-top: 11px; }
.advisor-recommendation { max-width: 720px; padding: 23px; background: var(--lime); }
.advisor-recommendation span { display: block; margin-bottom: 12px; font-family: "Courier New", monospace; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.advisor-recommendation strong { display: block; margin-bottom: 8px; font-size: 1.45rem; letter-spacing: -0.035em; }
.advisor-result__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 32px; }

@media (max-width: 760px) {
  .advisor-back { padding: 10px 12px; font-size: 0.78rem; }
  .advisor-intro { padding-top: 72px; }
  .advisor-intro__rail { width: 74vw; right: -44vw; top: 8%; }
  .advisor-choice-grid, .advisor-result__grid { grid-template-columns: 1fr; }
  .advisor-choice { min-height: 195px; }
  .advisor-progress { align-items: flex-start; flex-direction: column; gap: 12px; }
  .advisor-question { padding-top: 30px; }
  .advisor-question h3 { font-size: clamp(2rem, 10vw, 3.2rem); }
  .advisor-result { padding: 26px; }
  .advisor-result__header { flex-direction: column; }
}
