/* Shared craft pass. Loaded last so the original design remains recoverable. */
:root{--paper:#f3f6fa;--ink:#172238;--secondary:#4f5e73;--muted:#586a80;--line:#dce4ef}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,select,input,textarea{font-family:inherit}
button,a,summary{transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease,transform 160ms ease}
button:active:not(:disabled),.button:active{transform:scale(.98)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible,.input-row input:focus-visible{
  outline:3px solid var(--blue);outline-offset:4px
}
.button{border-radius:14px;font-weight:600;min-height:52px}
.button:hover:not(:disabled){background:#1947e5}
.input-row input{border-radius:14px;box-shadow:none}
.input-row input::placeholder{color:#607086}
.hero h1{letter-spacing:-.045em;line-height:1.1}
.hero .intro{color:var(--secondary)}
.hero .form-note{font-size:13px;line-height:1.55;color:var(--secondary);max-width:490px}
.hero .form-note a{white-space:normal}
.hero .join-form label{font-size:14px;line-height:1.45}
.hero .eyebrow{font-size:12px;letter-spacing:.025em;text-transform:none;color:var(--secondary)}
.hero-playback button,.screen-controls button,.scene-navigation button,.year-controls button{min-height:44px;min-width:44px}
.screen-caption,.hero-demo .screen-caption,.hero-visual>.screen-caption,.financial-context,.preview-instruction,.import-note,.money-example-note{font-size:13px;line-height:1.5;color:var(--secondary)}
.scene-navigation span,.preview-index{font-size:13px;font-variant-numeric:tabular-nums}
.hero-chapters button{min-height:44px}
.hero-demo .hero-chapters button{font-size:13px;color:var(--secondary);gap:8px}
.hero-demo .hero-chapters button span{font-size:12px;color:var(--secondary)}
.hero-demo .hero-chapters button[aria-pressed=true]{color:#1d3cc8}
.hero-scene-copy p{font-size:14px;line-height:1.5;color:var(--secondary)}
.native-preview-stage .screen-caption,.preview-options .preview-index{font-size:13px;color:var(--secondary)}
.import-journey li{font-size:14px;color:var(--secondary);line-height:1.45}
.context-tag{font-size:12px;color:var(--secondary)}
.scene-detail p{font-size:14px}
.tour-context>span{font-size:12px;color:var(--secondary)}
.capability-strip{padding:16px 20px}
.capability-strip span{font-size:13px}
.money-section .money-example-note{font-size:13px;color:var(--secondary)}
.step .step-number{font-size:12px;color:var(--secondary)}
.step.active .step-number{color:#1d3cc8}
.tour-controls button,.tour-controls button span{font-size:14px}
.vision-card .phase{font-size:13px}
.vision-card .vision-note{font-size:14px;line-height:1.6}
.footer-row p,.footer-row small{font-size:13px}
.more-section{padding-block:24px}
.preview-options button{min-height:48px;line-height:1.4}
.preview-options button[aria-pressed=true]{background:#edf2ff;border-color:#a6baff;color:#193fbc}
.step{border-color:var(--line);box-shadow:none;transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}
.step:hover{background:#f7f9ff;border-color:#b6c7e6}
.step.active{background:#fff;border-color:#9db5ed}
.step strong{font-weight:600;line-height:1.3;letter-spacing:-.02em}
.step-number{font-size:12px;color:var(--secondary)}
.step.active .step-number{color:#1d3cc8}
.questions summary{min-height:56px;display:flex;align-items:center;line-height:1.4;padding-block:16px}
.footer-row a{display:inline-flex;align-items:center;min-height:44px}
/* Survey uses the same readable fields, selection and focus language. */
.research-page{background:var(--paper)}
.survey-shell form,.survey-done{border-radius:20px;box-shadow:none}
.survey-choices span{min-height:46px;display:flex;align-items:center}
.survey-choices input:checked+span{background:#edf2ff;border-color:#9db5ed;color:#193fbc}
.survey-consent{font-size:14px;padding-block:8px;min-height:44px}
.field-hint,.survey-skip{font-size:14px;color:var(--secondary)}
.survey-skip{padding-block:12px}
.survey-header>a:last-child{min-height:44px;display:flex;align-items:center;font-size:14px}
.survey-field input,.survey-field textarea,.survey-field select{background:#f9fafd}
.survey-intro h1{letter-spacing:-.035em}
.survey-membership{font-size:14px;color:#1d3cc8;font-weight:600;margin-bottom:12px}
.survey-membership:empty{display:none}
.done-symbol{background:none;border-radius:0;margin-bottom:12px}
@media(max-width:760px){
  .hero .intro{font-size:16px;line-height:1.5}
  .hero .form-note{font-size:13px}
  .hero .eyebrow{font-size:12px;margin-bottom:12px}
  .hero .join-form label{font-size:14px}
  .masthead nav .nav-cta{font-size:14px;min-height:44px;display:flex;align-items:center}
  .hero-mobile-select select{font-size:15px;min-height:48px}
  .hero-playback button{font-size:14px;min-height:48px}
  .hero-demo{margin-top:20px}
  .step strong{font-size:16px}
  .step{min-height:88px}
  .survey-shell{padding-inline:18px;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  button,a,summary,.step,.survey-choices span{transition:none}
  button:active:not(:disabled),.button:active{transform:none}
}
