:root {
      --fpwc-black:  #526488;
      --fpwc-dark:   #526488;
      --fpwc-green:  #526488;
      --fpwc-green2: #6478a0;
      --fpwc-gold:   #c8a84b;
      --fpwc-white:  #ffffff;
      --fpwc-off:    #f5f5f3;
      --fpwc-muted:  #4a5e52;
      --fpwc-line:   #e2e8e4;
      --fpwc-ink:    #1a2e22;
    }
    html { scroll-behavior: smooth; }
    body { margin:0; font-family:'Inter',system-ui,sans-serif; color:var(--fpwc-ink); background:var(--fpwc-off); }
    h1,h2,h3,h4 { font-family:'Inter',system-ui,sans-serif; }

    .focus-ring:focus-visible { outline:2px solid var(--fpwc-gold); outline-offset:3px; }

    /* Type scale — identical to main site */
    .t-kicker  { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
    .t-nav     { font-size:12px; font-weight:500; letter-spacing:.06em; }
    .t-meta    { font-size:13px; font-weight:500; }
    .t-body    { font-size:16px; font-weight:400; line-height:1.8; }
    .t-body-sm { font-size:15px; font-weight:400; line-height:1.75; }
    .t-body-xs { font-size:14px; font-weight:400; line-height:1.7; }
    .t-privacy { font-size:12px; font-weight:400; }

    /* Masthead */
    .article-masthead { background:var(--fpwc-dark); }
    .article-masthead a { color:rgba(255,255,255,.85); text-decoration:none; transition:color .15s; }
    .article-masthead a:hover { color:#fff; }

    /* Step indicator */
    .step { display:flex; align-items:center; gap:8px; }
    .step-num { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; flex-shrink:0; }
    .step-active .step-num { background:var(--fpwc-gold); color:#0d1a0f; }
    .step-done   .step-num { background:var(--fpwc-green); color:#fff; }
    .step-future .step-num { background:var(--fpwc-line); color:#8a9a8d; }
    .step-active .step-label { font-size:11px; font-weight:700; color:var(--fpwc-ink); letter-spacing:.04em; }
    .step-done   .step-label { font-size:11px; font-weight:600; color:var(--fpwc-green); letter-spacing:.04em; }
    .step-future .step-label { font-size:11px; font-weight:500; color:#8a9a8d; letter-spacing:.04em; }
    .step-connector { flex:1; height:1px; background:var(--fpwc-line); min-width:20px; }

    /* Section headings inside form */
    .form-section-head {
      display:flex; align-items:center; gap:12px;
      padding:14px 0 12px;
      border-bottom:1px solid var(--fpwc-line);
      margin-bottom:20px;
    }
    .form-section-num {
      width:28px; height:28px; border-radius:50%;
      background:var(--fpwc-green); color:#fff;
      display:flex; align-items:center; justify-content:center;
      font-size:12px; font-weight:700; flex-shrink:0;
    }
    .form-section-title { font-size:14px; font-weight:700; color:var(--fpwc-green); letter-spacing:.06em; text-transform:uppercase; }

    /* Form inputs */
    .f-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#43534a; display:block; margin-bottom:6px; }
    .f-hint  { font-size:12px; color:#7a8a7e; margin-bottom:8px; }
    .f-input {
      width:100%; border:1px solid #ccd5cc; background:#fff;
      padding:10px 12px; font-size:14px; font-family:inherit;
      color:var(--fpwc-ink); outline:none;
      transition:border-color .15s, box-shadow .15s;
      box-sizing:border-box;
    }
    .f-input:focus { border-color:var(--fpwc-green); box-shadow:0 0 0 3px rgba(82,100,136,.12); }
    .f-input::placeholder { color:#aab5a8; }
    select.f-input { 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='%23526488' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; cursor:pointer; }
    textarea.f-input { resize:vertical; min-height:80px; }
    .f-required { color:var(--fpwc-gold); margin-left:2px; }

    /* Radio / checkbox rows */
    .choice-row { display:flex; flex-direction:column; gap:10px; }
    .choice-item { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
    .choice-item input[type="radio"],
    .choice-item input[type="checkbox"] { margin-top:3px; width:16px; height:16px; accent-color:var(--fpwc-green); flex-shrink:0; cursor:pointer; }
    .choice-label { font-size:14px; color:var(--fpwc-ink); line-height:1.5; }
    .choice-sub   { font-size:12px; color:#6b7c70; }

    /* Checkbox grid — 2 columns on wider screens */
    .choice-grid { display:grid; grid-template-columns:1fr; gap:10px; }
    @media (min-width:480px) { .choice-grid { grid-template-columns:1fr 1fr; } }

    /* Consent block */
    .consent-block { background:#f0f3ee; border:1px solid var(--fpwc-line); padding:18px 20px; }
    .consent-item { display:flex; align-items:flex-start; gap:12px; }
    .consent-item + .consent-item { margin-top:14px; padding-top:14px; border-top:1px solid var(--fpwc-line); }
    .consent-item input[type="checkbox"] { margin-top:3px; width:17px; height:17px; accent-color:var(--fpwc-green); flex-shrink:0; cursor:pointer; }
    .consent-text { font-size:13px; line-height:1.65; color:#3a4a3e; }
    .consent-text a { color:var(--fpwc-green); text-decoration:underline; }

    /* Buttons */
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 28px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; cursor:pointer; border:none; font-family:inherit; transition:background .18s, transform .1s; }
    .btn:active { transform:translateY(1px); }
    .btn-gold   { background:var(--fpwc-gold); color:#0d1a0f; }
    .btn-gold:hover { background:#b8952e; }
    .btn-forest { background:var(--fpwc-green); color:#fff; }
    .btn-forest:hover { background:var(--fpwc-green2); }

    /* Sidebar info card */
    .info-card { background:var(--fpwc-dark); color:rgba(255,255,255,.82); padding:28px 24px; }
    .info-card-label { font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--fpwc-gold); margin-bottom:10px; }
    .info-card-value { font-size:15px; font-weight:600; color:#fff; line-height:1.5; }
    .info-card-sub { font-size:13px; color:rgba(255,255,255,.55); margin-top:4px; }
    .info-card-divider { border:none; border-top:1px solid rgba(255,255,255,.1); margin:18px 0; }
    .info-card a { color:var(--fpwc-gold); text-decoration:none; font-size:13px; }
    .info-card a:hover { text-decoration:underline; }

    /* Required legend */
    .required-legend { font-size:12px; color:#6b7c70; }

    /* Success state */
    .success-panel { display:none; text-align:center; padding:60px 32px; }
    .success-panel.visible { display:block; }
    .success-icon { font-size:48px; margin-bottom:16px; }

    /* Footer */
    .fpwc-footer { background:var(--fpwc-black); color:rgba(255,255,255,.72); }
    .fpwc-footer a { color:rgba(255,255,255,.55); text-decoration:none; transition:color .15s; }
    .fpwc-footer a:hover { color:#fff; }

    /* Conditional field hidden by default */
    .conditional { display:none; }
    .conditional.visible { display:block; }
