  /* ── POLITAKIS LAW BRAND COLORS ─────────────────────────────
     Pulled directly from politakislaw.com
     Navy:   #1b3a6b  (site header / primary)
     Blue:   #2c5f9e  (site accent / links)
     White:  #ffffff  (backgrounds)
     Light:  #f4f7fc  (page bg — matches site's off-white)
     Text:   #1a1a1a  (body text — near black for max readability)
     Border: #c8d4e8  (subtle blue-tinted border)
  ──────────────────────────────────────────────────────────── */
  :root {
    --navy:       #1b3a6b;
    --blue:       #2c5f9e;
    --blue-light: #e8eef8;
    --white:      #ffffff;
    --page-bg:    #f4f7fc;
    --text:       #555759;
    --text-mid:   #555759;
    --text-light: #777b7e;
    --border:     #c8d4e8;
    --border-light: #dde6f0;
    --success:    #1e6b45;
  }

  /* Universal reset scoped to the intake page so it doesn't strip the
     theme header / footer that wraps it. */
  .intake-page,
  .intake-page *,
  .intake-page *::before,
  .intake-page *::after { box-sizing: border-box; margin: 0; padding: 0; }

  .intake-page {
    font-family: 'Open Sans', sans-serif;
    background: var(--page-bg);
    color: var(--text);
    font-size: 15px;
    line-height: 1.6;
  }

  /* ── HEADER ──────────────────────────────────────────────── */
  .header {
    background: #f0f2f5;
    padding: 20px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 3px solid var(--navy);
  }
  .header-logo { display: flex; align-items: center; gap: 14px; }
  .logo-text h1 {
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--navy);
    letter-spacing: 0.02em;
  }
  .logo-text p {
    font-size: 0.68rem;
    color: var(--text-light);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 2px;
  }
  .header-contact {
    text-align: right;
    color: var(--text);
    font-size: 0.84rem;
    line-height: 1.9;
    font-weight: 600;
  }
  .header-contact a { color: var(--navy); text-decoration: none; font-weight: 700; }

  /* ── PROGRESS BAR ────────────────────────────────────────── */
  .progress-wrap {
    background: var(--white);
    border-bottom: 2px solid var(--border);
    padding: 0 40px;
    overflow-x: auto;
    box-shadow: 0 2px 8px rgba(27,58,107,0.06);
  }
  .progress-steps { display: flex; min-width: max-content; }
  .step-tab {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 16px 22px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--text-light);
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
  }
  .step-tab:hover { color: var(--navy); background: var(--blue-light); }
  .step-tab.active { color: var(--navy); border-bottom-color: var(--navy); }
  .step-tab.completed { color: var(--success); }
  .step-num {
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--border-light);
    color: var(--text-mid);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.66rem;
    font-weight: 700;
    flex-shrink: 0;
  }
  .step-tab.active .step-num { background: var(--navy); color: #ffffff; }
  .step-tab.completed .step-num { background: var(--success); color: #ffffff; }

  /* ── MAIN LAYOUT ─────────────────────────────────────────── */
  .main { max-width: 860px; margin: 0 auto; padding: 44px 24px 80px; }

  .section-header { margin-bottom: 32px; }
  .section-header .eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--blue);
    font-weight: 700;
    margin-bottom: 6px;
  }
  .section-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    font-weight: 600;
    color: var(--navy);
    line-height: 1.2;
  }
  .section-header p {
    margin-top: 10px;
    color: var(--text-mid);
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.7;
    max-width: 580px;
  }

  /* ── PANELS ──────────────────────────────────────────────── */
  .form-panel { display: none; }
  .form-panel.active { display: block; }

  /* ── CARDS ───────────────────────────────────────────────── */
  .card {
    background: var(--white);
    border: 1px solid var(--border);
    border-top: 3px solid var(--navy);
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(27,58,107,0.07);
  }
  .card-header {
    padding: 13px 24px;
    background: #f0f2f5;
    border-bottom: 2px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .card-header h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--navy);
    letter-spacing: 0.02em;
  }
  .card-header .card-badge {
    font-size: 0.65rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-light);
    font-weight: 700;
    background: var(--border-light);
    padding: 3px 9px;
    border-radius: 2px;
  }
  .card-body { padding: 24px; }

  /* ── FORM GRID ───────────────────────────────────────────── */
  .form-row { display: grid; gap: 18px; margin-bottom: 18px; }
  .form-row.cols-1 { grid-template-columns: 1fr; }
  .form-row.cols-2 { grid-template-columns: 1fr 1fr; }
  .form-row.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
  .form-row.cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .form-row.cols-2-1 { grid-template-columns: 2fr 1fr; }
  .form-row.cols-1-2 { grid-template-columns: 1fr 2fr; }

  /* ── FIELDS ──────────────────────────────────────────────── */
  .field { display: flex; flex-direction: column; gap: 5px; }
  .field label {
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--navy);
  }
  .field label .optional {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--text-light);
    font-size: 0.75rem;
    margin-left: 4px;
  }
  .field input,
  .field select,
  .field textarea {
    border: 1.5px solid var(--border);
    border-radius: 3px;
    padding: 10px 13px;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.95rem;
    color: var(--navy);
    background: var(--white);
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
  }
  .field input::placeholder,
  .field textarea::placeholder { color: #9ca3af; }
  .field input:focus,
  .field select:focus,
  .field textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(44,95,158,0.12);
    background: var(--white);
  }
  .field textarea { resize: vertical; min-height: 80px; }
  .field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231b3a6b' stroke-width='1.8' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    padding-right: 36px;
    cursor: pointer;
  }

  /* ── RADIO / CHECKBOX ────────────────────────────────────── */
  .radio-group, .checkbox-group {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 4px;
  }
  .radio-label, .check-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    cursor: pointer;
    font-weight: 600;
    color: var(--text);
  }
  .radio-label input, .check-label input {
    width: 16px; height: 16px;
    accent-color: var(--navy);
    cursor: pointer;
  }

  /* ── YES/NO ROWS ─────────────────────────────────────────── */
  .yn-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 0;
    border-bottom: 1px solid var(--border-light);
    gap: 20px;
  }
  .yn-row:last-child { border-bottom: none; }
  .yn-question {
    font-size: 0.95rem;
    color: var(--text);
    flex: 1;
    line-height: 1.55;
    font-weight: 600;
  }
  .yn-answers { display: flex; gap: 20px; flex-shrink: 0; }

  /* ── CONCERN TABLE ───────────────────────────────────────── */
  .concern-table { width: 100%; border-collapse: collapse; }
  .concern-table th {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 11px 14px;
    text-align: center;
    background: #f0f2f5;
    color: var(--navy);
    border-bottom: 2px solid var(--border);
  }
  .concern-table th:first-child { text-align: left; }
  .concern-table tr:nth-child(even) { background: var(--page-bg); }
  .concern-table tr:nth-child(odd) { background: var(--white); }
  .concern-table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-light);
    font-size: 0.93rem;
    color: var(--text);
    font-weight: 600;
  }
  .concern-table td:not(:first-child) { text-align: center; }
  .concern-table select {
    border: 1.5px solid var(--border);
    border-radius: 3px;
    padding: 5px 26px 5px 9px;
    font-size: 0.88rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    background: var(--white);
    color: var(--text);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231b3a6b' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    cursor: pointer;
    min-width: 72px;
  }

  /* ── REPEAT ITEMS ────────────────────────────────────────── */
  .repeat-item {
    border: 1px solid var(--border);
    border-left: 3px solid var(--blue);
    padding: 20px;
    margin-bottom: 14px;
    background: var(--page-bg);
    border-radius: 2px;
  }
  .repeat-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
  }
  .repeat-item-title {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--navy);
  }
  .btn-remove {
    background: none;
    border: 1px solid var(--border);
    color: var(--text-light);
    padding: 4px 10px;
    font-size: 0.74rem;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    border-radius: 2px;
    transition: all 0.2s;
  }
  .btn-remove:hover { border-color: #dc2626; color: #dc2626; }
  .btn-add {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--blue-light);
    border: 1.5px dashed var(--blue);
    color: var(--navy);
    padding: 11px 20px;
    font-size: 0.8rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
    width: 100%;
    justify-content: center;
    margin-top: 4px;
    border-radius: 2px;
  }
  .btn-add:hover { background: #d4e0f4; }

  /* ── DIVIDERS & SUBSECTIONS ──────────────────────────────── */
  .divider { border: none; border-top: 1px solid var(--border-light); margin: 22px 0; }
  .subsection-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--border-light);
  }

  /* ── NOTICE BOX ──────────────────────────────────────────── */
  .notice {
    background: var(--blue-light);
    border-left: 4px solid var(--navy);
    padding: 13px 16px;
    font-size: 0.92rem;
    color: var(--text);
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 22px;
    border-radius: 0 3px 3px 0;
  }
  .notice strong { color: var(--navy); }

  /* ── NAV BUTTONS ─────────────────────────────────────────── */
  .form-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 2px solid var(--border-light);
  }
  .btn-prev, .btn-next, .btn-submit {
    padding: 12px 30px;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    border-radius: 3px;
  }
  .btn-prev {
    background: var(--white);
    border: 2px solid var(--border);
    color: var(--text-mid);
  }
  .btn-prev:hover { border-color: var(--navy); color: var(--navy); }
  .btn-next {
    background: var(--navy);
    color: #ffffff;
  }
  .btn-next:hover { background: #142d56; }
  .btn-submit { background: var(--blue); color: #ffffff; }
  .btn-submit:hover { background: #234d85; }

  .nav-info {
    font-size: 0.78rem;
    color: var(--text-light);
    font-weight: 600;
    letter-spacing: 0.04em;
  }

  /* ── SUCCESS SCREEN ──────────────────────────────────────── */
  .success-screen { display: none; text-align: center; padding: 80px 24px; }
  .success-icon {
    width: 70px; height: 70px;
    border: 3px solid var(--navy);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 26px;
    background: var(--blue-light);
  }
  .success-screen h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    font-weight: 600;
    color: var(--navy);
    margin-bottom: 14px;
  }
  .success-screen p { color: var(--text-mid); font-size: 0.95rem; line-height: 1.7; max-width: 480px; margin: 0 auto 28px; font-weight: 600; }
  .success-screen .print-btn {
    padding: 12px 30px;
    background: var(--navy);
    color: #ffffff;
    border: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    border-radius: 3px;
  }

  @media(max-width:640px) {
    .header { padding: 18px 20px; flex-direction: column; gap: 12px; text-align: center; }
    .header-contact { text-align: center; }
    .form-row.cols-2, .form-row.cols-3, .form-row.cols-4,
    .form-row.cols-2-1, .form-row.cols-1-2 { grid-template-columns: 1fr; }
    .main { padding: 24px 14px 60px; }
    .card-body { padding: 16px; }
    .yn-row { flex-direction: column; align-items: flex-start; gap: 10px; }
    .progress-wrap { padding: 0 14px; }
  }

  @media print {
    .progress-wrap, .form-nav, .btn-add, .btn-remove { display: none !important; }
  }
