:root { --paper:#eee6d8; --white:#fdfaf5; --ink:#171411; --muted:#6c6257; --line:#d3c8b8; --accent:#a53e25; --soft:#f7e7de; --error:#a12828; }
    * { box-sizing:border-box; }
    [hidden] { display:none !important; }
    body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
    button,input,textarea { font:inherit; }
    button { cursor:pointer; }
    a { color:var(--accent); }
    :focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
    header { max-width:1160px; margin:auto; padding:28px 40px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
    .brand { font-size:17px; font-weight:800; letter-spacing:.12em; }
    .header-note { color:var(--muted); font-size:14px; }
    main { max-width:1160px; margin:0 auto; padding:48px 40px 72px; display:grid; grid-template-columns:230px minmax(0,1fr); gap:64px; }
    aside { align-self:start; position:sticky; top:28px; }
    .eyebrow { color:var(--accent); text-transform:uppercase; font-size:12px; font-weight:750; letter-spacing:.11em; margin:0 0 14px; }
    h1 { margin:0 0 16px; font-size:38px; line-height:1.12; letter-spacing:-.035em; font-weight:700; }
    .intro { color:var(--muted); margin:0 0 30px; }
    .steps { list-style:none; margin:0; padding:0; display:grid; gap:17px; }
    .steps li { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:14px; }
    .step-number { height:28px; width:28px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-size:12px; flex-shrink:0; }
    .steps [aria-current="step"] { color:var(--ink); font-weight:700; }
    .steps [aria-current="step"] .step-number { background:var(--accent); border-color:var(--accent); color:white; }
    .steps .complete .step-number { color:var(--accent); border-color:var(--accent); }
    .privacy { margin:30px 0 0; font-size:12px; color:var(--muted); }
    .surface { min-width:0; }
    .section-head { padding-bottom:25px; border-bottom:1px solid var(--line); margin-bottom:28px; }
    .section-head h2 { margin:0 0 6px; font-size:25px; letter-spacing:-.025em; }
    .section-head p { margin:0; color:var(--muted); font-size:14px; }
    .step { border:0; padding:0; margin:0; min-width:0; }
    .identity { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:32px; }
    label.field { display:block; font-size:14px; font-weight:650; }
    .optional { font-weight:400; color:var(--muted); font-size:12px; }
    input[type="text"],input[type="email"],input[type="tel"],textarea,select { display:block; width:100%; border:1px solid #b8c2b9; border-radius:6px; padding:12px; background:var(--white); color:var(--ink); margin-top:7px; }
    textarea { min-height:110px; resize:vertical; }
    input::placeholder,textarea::placeholder { color:#707b74; opacity:1; }
    .question { border:0; border-bottom:1px solid var(--line); padding:0 0 30px; margin:0 0 28px; min-width:0; }
    .question:last-child { margin-bottom:0; }
    legend { padding:0; margin-bottom:14px; width:100%; font-weight:650; font-size:17px; }
    .q-number { color:var(--accent); font-size:12px; font-weight:750; margin-right:9px; }
    .hint { margin:-5px 0 14px; color:var(--muted); font-size:14px; }
    .choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .choices.three { grid-template-columns:repeat(3,1fr); }
    .choices.one { grid-template-columns:1fr; }
    .choice { display:flex; gap:10px; align-items:flex-start; padding:13px 14px; min-height:52px; border:1px solid var(--line); border-radius:6px; background:var(--white); font-size:14px; cursor:pointer; }
    .choice input { margin:4px 0 0; accent-color:var(--accent); flex-shrink:0; height:16px; width:16px; }
    .choice:has(input:checked) { border-color:var(--accent); background:var(--soft); }
    .choice:hover { border-color:#8faaa0; }
    .under-field { margin-top:19px; }
    .error { color:var(--error); font-size:14px; margin:0 0 18px; }
    .actions { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:28px; }
    .button { border:1px solid var(--accent); border-radius:6px; padding:12px 20px; min-height:48px; font-size:14px; font-weight:650; color:var(--accent); background:transparent; text-align:center; }
    .button.primary { color:white; background:var(--accent); }
    .button:hover { filter:brightness(.94); }
    .button.quiet { border-color:var(--line); color:var(--ink); background:var(--white); }
    .step-count { font-size:13px; color:var(--muted); }
    .finish { max-width:700px; }
    .recommendation { border-left:4px solid var(--accent); padding:3px 0 3px 22px; margin:28px 0; }
    .recommendation h3 { font-size:24px; line-height:1.25; margin:0 0 10px; letter-spacing:-.025em; }
    .recommendation p { margin:0; color:var(--muted); }
    .brief-section { margin:28px 0 0; padding-top:22px; border-top:1px solid var(--line); }
    .brief-section h3 { margin:0 0 12px; font-size:16px; }
    .brief-section ul { margin:0; padding-left:20px; }
    .brief-section li { margin:0 0 10px; }
    .brief-section li strong { display:block; }
    .brief-section p { margin:0; }
    .brief-section .muted { color:var(--muted); margin-top:8px; font-size:14px; }
    .export-actions { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 18px; }
    .back-link { border:0; padding:5px 0; color:var(--accent); text-decoration:underline; background:transparent; font-size:14px; }
    .no-script { padding:30px; }
    @media (max-width:820px) {
      header { padding:21px 22px; }
      main { grid-template-columns:1fr; gap:30px; padding:30px 22px 50px; }
      aside { position:static; }
      h1 { font-size:34px; max-width:440px; }
      .intro { margin-bottom:23px; max-width:580px; }
      .steps { display:flex; gap:20px; flex-wrap:wrap; }
      .privacy { margin-top:18px; max-width:580px; }
    }
    @media (max-width:480px) {
      .header-note { font-size:12px; }
      .choices,.choices.three,.identity { grid-template-columns:1fr; }
      .steps { gap:15px; }
      .steps li { font-size:12px; gap:6px; }
      .step-number { width:23px; height:23px; }
      .choice { min-height:52px; }
      .actions { flex-wrap:wrap; }
      .actions .primary { width:100%; order:3; }
      .step-count { margin-left:auto; }
      .export-actions { flex-direction:column; }
      .export-actions .button { width:100%; }
    }
    @media print {
      body { background:white; font-size:11pt; }
      header { padding:0 0 15px; }
      main { display:block; padding:24px 0 0; }
      aside,form,.export-actions,.back-link,.privacy,.no-print { display:none !important; }
      .finish { max-width:none; }
      .brief-section { break-inside:avoid; }
    }

.brand { display:block; width:142px; flex-shrink:0; }
.brand img { display:block; width:100%; max-height:38px; }
.header-nav { display:flex; align-items:center; gap:22px; font-size:14px; }
.header-nav a { color:var(--ink); text-decoration:none; }
.header-nav a:hover { text-decoration:underline; }
.nav-button { border:0; background:none; padding:7px 0; color:var(--accent); }
.skip-link { position:fixed; top:10px; left:10px; z-index:10; transform:translateY(-160%); background:var(--white); padding:10px 15px; }
.skip-link:focus { transform:none; }
.small-copy { color:var(--muted); font-size:13px; line-height:1.6; }
.save-section { margin:32px 0 0; padding:25px 0; border-top:2px solid var(--accent); border-bottom:1px solid var(--line); }
.save-section h3 { margin:0 0 10px; font-size:20px; }
.save-section > p { color:var(--muted); margin:0 0 20px; }
.save-section .identity { margin-bottom:18px; }
.save-section .button { margin-top:8px; }
.success-message { padding:5px 0; }
.success-message p { color:var(--muted); }
.honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.notice { color:var(--muted); font-size:14px; }
.account-main { display:block; max-width:1280px; }
.login-panel { max-width:520px; margin:30px auto 60px; }
.login-panel h1 { font-size:42px; }
.login-panel .button { margin-top:18px; width:100%; }
.login-panel .intro { margin-bottom:24px; }
.account-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:28px; }
.account-heading h1 { font-size:34px; margin-bottom:8px; }
.account-heading p { margin-bottom:0; }
.account-heading .eyebrow { margin-bottom:10px; }
.billing-section { margin-bottom:32px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.connections-section { margin-bottom:32px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.connection-status { color:var(--muted); margin:7px 0 0; font-size:14px; }
.connection-company { font-size:14px; margin:12px 0 0; overflow-wrap:anywhere; }
.connection-support { margin:22px 0 0; }
.connection-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.connection-confirm { margin-top:15px; }
.billing-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.billing-heading h2 { font-size:20px; margin:0; }
.billing-heading .small-copy { margin:8px 0 18px; }
.billing-heading .button { min-height:40px; padding:8px 13px; flex-shrink:0; }
.billing-accounts { display:grid; gap:18px; }
.billing-account { min-width:0; }
.billing-account + .billing-account { border-top:1px solid var(--line); padding-top:18px; }
.billing-account-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.billing-account-heading h3 { font-size:16px; margin:0; overflow-wrap:anywhere; }
.billing-account-heading .button { flex-shrink:0; }
.billing-access { margin-top:15px; }
.billing-access summary { cursor:pointer; font-size:14px; font-weight:650; color:var(--accent); }
.billing-access .small-copy { margin:12px 0; max-width:650px; }
.billing-contacts { list-style:none; margin:16px 0; padding:0; }
.billing-contact { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 12px; }
.billing-contact > div { min-width:0; }
.billing-contact-email { display:block; font-size:14px; overflow-wrap:anywhere; }
.billing-contact-status { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.billing-contact .button { min-height:38px; padding:7px 12px; flex-shrink:0; }
.billing-contact-form { display:flex; align-items:flex-end; gap:12px; max-width:650px; margin-top:18px; }
.billing-contact-form .field { min-width:0; flex:1; }
.billing-contact-form .button { flex-shrink:0; }
.account-workspace { display:grid; grid-template-columns:280px minmax(0,1fr); gap:42px; align-items:start; }
.intake-list-panel h2 { margin:0; font-size:16px; }
.intake-list-panel .small-copy { margin:9px 0 20px; }
.intake-list { display:grid; gap:10px; }
.intake-item { display:block; width:100%; border:1px solid var(--line); border-radius:6px; padding:14px; background:var(--white); color:var(--ink); text-align:left; }
.intake-item[aria-pressed="true"] { border-color:var(--accent); background:var(--soft); }
.intake-item strong { display:block; line-height:1.35; margin-bottom:5px; overflow-wrap:anywhere; }
.intake-item span { display:block; font-size:12px; color:var(--muted); }
.intake-item .item-status { color:var(--accent); font-weight:650; margin-top:9px; }
.detail-panel { min-width:0; }
.detail-heading h2 { font-size:27px; line-height:1.25; letter-spacing:-.025em; margin:0 0 9px; overflow-wrap:anywhere; }
.detail-heading .eyebrow { margin-bottom:10px; }
.pre-wrap { white-space:pre-wrap; overflow-wrap:anywhere; }
.answer-details summary { font-size:16px; font-weight:650; cursor:pointer; }
.answer-list { margin:18px 0 0; }
.answer-item { margin:0 0 16px; }
.answer-item dt { color:var(--muted); font-size:12px; font-weight:650; margin-bottom:4px; }
.answer-item dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; }
.review-panel { margin-top:30px; border-top:2px solid var(--accent); padding-top:24px; }
.review-panel h3 { margin:0; font-size:20px; }
.review-panel .button { margin-top:22px; }
.account-panel .error { margin-top:20px; }
#account-error { margin-top:24px; }
button:disabled { cursor:wait; opacity:.6; }
.button[aria-disabled="true"] { pointer-events:none; }
@media (max-width:820px) {
  .account-workspace { grid-template-columns:1fr; gap:30px; }
  .intake-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-panel { border-top:1px solid var(--line); padding-top:26px; }
}
@media (max-width:480px) {
  .brand { width:118px; }
  .header-nav { font-size:12px; gap:13px; }
  .header-nav a:first-child { display:none; }
  .login-panel { margin-top:8px; }
  .login-panel h1 { font-size:34px; }
  .account-heading { align-items:flex-start; gap:15px; }
  .account-heading h1 { font-size:28px; }
  .account-heading .button { padding:10px 13px; }
  .intake-list { grid-template-columns:1fr; }
  .billing-heading { gap:12px; }
  .billing-heading .button { max-width:100px; }
  .billing-account-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  .billing-account-heading .button { width:100%; }
  .billing-contact { align-items:flex-start; gap:10px; }
  .billing-contact .button { max-width:105px; }
  .billing-contact-form { align-items:stretch; flex-direction:column; }
}
@media print {
  .header-nav,.account-heading,.intake-list-panel,.review-panel,.login-panel,#account-error,#account-loading { display:none !important; }
  .account-workspace { display:block; }
  .detail-panel { border:0; padding:0; }
}
