/* Stage 3 opt-in: Future Cost and Buying Power. Existing tool behavior is retained. */
.specialist-studio {
  --ink:var(--studio-ink);
  --paper:#fff;
  --paper-2:var(--studio-sage);
  --muted:var(--studio-muted);
  --muted-2:var(--studio-muted);
  --rule:var(--studio-rule);
  --accent:var(--studio-forest);
  --surface:#fff;
  --surface-2:#fff;
  --paper-on-dark:var(--studio-ink);
  --on-dark:var(--studio-ink);
  --muted-dark:var(--studio-muted);
}
.specialist-studio .hero { padding:32px 0; }
.specialist-studio .eyebrow { color:var(--studio-muted); font-size:12px; font-weight:600; letter-spacing:.12em; }
.specialist-studio h1 { max-width:1000px; font:600 clamp(36px,4.1vw,56px)/1.08 Inter,system-ui,sans-serif; letter-spacing:-.045em; text-wrap:pretty; }
.specialist-studio .lede { max-width:900px; margin-top:18px; font-size:16px; line-height:1.6; }
.specialist-studio .meta-row { margin-top:16px; gap:6px 18px; font-size:12px; font-weight:400; }
.specialist-studio .calculator-band { background:#fff; color:var(--studio-ink); padding:8px 0 48px; }
.specialist-studio .calc-grid { grid-template-columns:minmax(0,34fr) minmax(0,66fr); gap:0; align-items:start; }
.specialist-studio .specialist-input,
.specialist-studio .specialist-result { min-width:0; border:0; border-radius:0; background:none; }
.specialist-studio .specialist-input { padding:0 32px 0 0; border-right:1px solid var(--studio-rule); }
.specialist-studio .specialist-result { padding:0 0 0 36px; }
.specialist-studio .calculator-band h2 { font:600 22px/1.3 Inter,system-ui,sans-serif; letter-spacing:-.025em; text-wrap:pretty; }
.specialist-studio .studio-panel-heading { margin:0 0 22px; }
.specialist-studio .field-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
.specialist-studio label,
.specialist-studio .field label { color:var(--studio-ink); font-size:14px; font-weight:500; text-transform:none; letter-spacing:0; line-height:1.5; }
.specialist-studio input,
.specialist-studio select,
.specialist-studio .field input,
.specialist-studio .field select { width:100%; max-width:100%; min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--studio-muted); border-radius:4px; background:#fff; color:var(--studio-ink); font-size:16px; font-weight:400; font-variant-numeric:tabular-nums; color-scheme:light; }
.specialist-studio input:focus-visible,
.specialist-studio select:focus-visible,
.specialist-studio button:focus-visible,
.specialist-studio a:focus-visible { outline:2px solid var(--studio-forest); outline-offset:3px; box-shadow:none; }
.specialist-studio .field input:focus-visible,
.specialist-studio .field select:focus-visible { border-color:var(--studio-forest); box-shadow:none; }
.specialist-studio .helper,
.specialist-studio .fine,
.specialist-studio .assumption { color:var(--studio-muted); font-size:14px; line-height:1.5; }
.specialist-studio .specialist-input > .fine { margin-top:18px; }
.specialist-studio .results { min-width:0; margin-top:0; gap:0; }
.specialist-studio .stat,
.specialist-studio .metric { min-width:0; min-height:0; border:0; border-bottom:1px solid var(--studio-rule); border-radius:0; background:none; padding:20px 0; }
.specialist-studio .stat span,
.specialist-studio .metric span { color:var(--studio-muted); font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; }
.specialist-studio .stat strong,
.specialist-studio .metric strong { margin:8px 0 0; color:var(--studio-ink); font:500 28px/1.2 Inter,system-ui,sans-serif; letter-spacing:-.035em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.specialist-studio .stat p { font-size:14px; line-height:1.5; }
.specialist-studio .results > :first-child { margin:0 0 2px; padding:24px; border:0; border-radius:6px; background:var(--studio-sage); }
.specialist-studio .results > :first-child strong { color:var(--studio-forest); font-size:clamp(40px,4.8vw,64px); line-height:1.1; letter-spacing:-.05em; }
.future-cost-studio .results { grid-template-columns:minmax(0,1fr); }
.future-cost-studio .stat:not(:first-child) { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); column-gap:20px; align-items:baseline; }
.future-cost-studio .stat:not(:first-child) strong { margin:0; text-align:right; }
.future-cost-studio .stat:not(:first-child) p { grid-column:1 / -1; }
.buying-power-studio .specialist-result > h2 { margin-bottom:22px; }
.buying-power-studio .results { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
.buying-power-studio .metric { display:block; }
.buying-power-studio .metric:first-child { grid-column:1 / -1; }
.buying-power-studio .metric.full { grid-column:auto; }
.buying-power-studio .metric .assumption { margin-top:12px; }
.specialist-studio .context { margin-top:20px; border:0; border-left:3px solid var(--studio-rule); border-radius:0; background:none; padding:0 0 0 16px; color:var(--studio-muted); line-height:1.6; }
.specialist-studio .context strong { color:var(--studio-ink); }
.specialist-studio .cta-row,
.specialist-studio .actions { gap:10px; margin-top:24px; }
.specialist-studio button,
.specialist-studio .primary,
.specialist-studio .secondary,
.specialist-studio .results-capture-row button { min-height:48px; padding:12px 16px; border:1px solid var(--studio-forest); border-radius:4px; background:var(--studio-forest); color:#fff; font-size:14px; font-weight:600; line-height:1.4; text-align:center; white-space:normal; }
.specialist-studio .secondary,
.specialist-studio .secondary[type="button"] { background:#fff; color:var(--studio-ink); border-color:var(--studio-muted); }
.specialist-studio button:disabled { opacity:.65; cursor:wait; }
.specialist-studio .share-controls { margin-top:20px; padding-top:20px; border-color:var(--studio-rule); }
.specialist-studio .share-note,
.specialist-studio .share-feedback { color:var(--studio-muted); font-size:14px; line-height:1.5; }
.specialist-studio .share-note { margin-top:4px; }
.specialist-studio .capture,
.specialist-studio .capture-slot { padding:24px; margin-top:24px; border:0; border-radius:6px; background:var(--studio-sage); }
.specialist-studio .results-capture-form { display:grid; gap:14px; border:0; padding:0; }
.specialist-studio .results-capture-headline { color:var(--studio-ink); font-size:20px; font-weight:600; line-height:1.35; letter-spacing:-.02em; }
.specialist-studio .results-capture-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.specialist-studio .results-capture-row input { min-width:0; }
.specialist-studio .results-capture-fine,
.specialist-studio .results-capture-error,
.specialist-studio .gate-error { color:var(--studio-muted); font-size:14px; line-height:1.5; }
.specialist-studio .results-capture-error { overflow-wrap:anywhere; }
.specialist-studio .results-capture-error:empty { display:none; }
.specialist-studio .results-capture-confirm,
.specialist-studio .results-capture-error a,
.specialist-studio .results-capture-link { color:var(--studio-ink); }
.specialist-studio .results-capture-link { text-underline-offset:3px; }
.specialist-studio .routes { padding:32px 0; border-top:1px solid var(--studio-rule); }
.specialist-studio .routes h2,
.specialist-studio .copy-band h2,
.specialist-studio .faq h2,
.specialist-studio .answer-band h2 { font-size:clamp(28px,3vw,38px); line-height:1.15; letter-spacing:-.025em; }
.specialist-studio .route-grid { gap:0 24px; }
.specialist-studio .route-grid a { min-width:0; min-height:112px; padding:20px 0; border:0; border-bottom:1px solid var(--studio-rule); border-radius:0; background:none; }
.specialist-studio .route-grid a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.specialist-studio .route-grid strong { font-size:16px; font-weight:600; }
.specialist-studio .route-grid span { font-size:14px; line-height:1.5; }
.specialist-studio .answer-band { padding:0; background:var(--studio-sage); }
.specialist-studio .answer-box { padding:32px 0; border:0; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.specialist-studio .answer-box .eyebrow { margin-bottom:12px; font-size:12px; }
.specialist-studio .answer-box p { font-size:16px; line-height:1.6; }
.specialist-studio .copy-band { padding:40px 0 12px; }
.specialist-studio .info-card,
.specialist-studio .faq-card { min-width:0; padding:0; border:0; border-radius:0; background:none; }
.specialist-studio .copy-grid p,
.specialist-studio .faq-card p,
.specialist-studio .info-card li { font-size:15px; line-height:1.65; }
.specialist-studio .faq { padding:32px 0 44px; }
.specialist-studio .faq-grid { gap:24px; }
.specialist-studio .faq-card { border-top:1px solid var(--studio-rule); padding-top:20px; }
.specialist-studio .faq-card h3 { font:600 18px/1.4 Inter,system-ui,sans-serif; letter-spacing:-.02em; }
.specialist-studio footer { margin-top:16px; background:var(--studio-sage); color:var(--studio-muted); }
.specialist-studio .foot-row { border:0; padding-top:0; }
@media(max-width:1000px) {
  .specialist-studio .specialist-input { padding-right:24px; }
  .specialist-studio .specialist-result { padding-left:24px; }
  .specialist-studio .results-capture-row { grid-template-columns:minmax(0,1fr); }
  .specialist-studio .route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .specialist-studio .stat strong,
  .specialist-studio .metric strong { font-size:24px; }
}
@media(max-width:760px) {
  .specialist-studio .hero { padding:26px 0; }
  .specialist-studio h1 { font-size:clamp(30px,8vw,38px); }
  .specialist-studio .meta-row { column-gap:14px; }
  .specialist-studio .calculator-band { padding:6px 0 32px; }
  .specialist-studio .calc-grid,
  .specialist-studio .answer-box,
  .specialist-studio .copy-grid,
  .specialist-studio .faq-grid { grid-template-columns:minmax(0,1fr); }
  .specialist-studio .specialist-input { padding:0 0 28px; border:0; }
  .specialist-studio .specialist-result { padding:28px 0 0; border-top:1px solid var(--studio-rule); }
  .specialist-studio .results > :first-child { padding:20px; }
  .specialist-studio .results > :first-child strong { font-size:clamp(34px,9vw,48px); }
  .specialist-studio .capture,
  .specialist-studio .capture-slot { padding:20px; }
  .specialist-studio .route-grid { grid-template-columns:minmax(0,1fr); }
  .specialist-studio .routes { padding:26px 0; }
  .specialist-studio .answer-box { gap:18px; }
  .specialist-studio .copy-grid { gap:16px; }
  .future-cost-studio .stat:not(:first-child) { grid-template-columns:minmax(0,1fr); gap:8px; }
  .future-cost-studio .stat:not(:first-child) strong { text-align:left; }
  .future-cost-studio .stat:not(:first-child) p { margin:0; }
}
@media(max-width:420px) {
  .buying-power-studio .results { grid-template-columns:minmax(0,1fr); }
  .specialist-studio .cta-row > *,
  .specialist-studio .actions > * { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .specialist-studio *,
  .specialist-studio *::before,
  .specialist-studio *::after { scroll-behavior:auto; transition:none; animation:none; }
}
