:root {
  --pf-bg: #070b10;
  --pf-panel: #0f151d;
  --pf-panel-2: #151d27;
  --pf-line: rgba(255,255,255,.14);
  --pf-line-strong: rgba(255,255,255,.24);
  --pf-text: #f4f7fa;
  --pf-muted: #aab5c1;
  --pf-teal: #0d889d;
  --pf-teal-bright: #23c7c9;
  --pf-orange: #ff7900;
  --pf-orange-2: #ff963d;
  --pf-fuchsia: #d7044a;
  --pf-success: #45d4a3;
  --pf-danger: #ff6b6b;
  --pf-radius: 18px;
}
* { box-sizing: border-box; }
html { background: var(--pf-bg); }
body.pf-body { margin: 0; min-height: 100vh; color: var(--pf-text); background:
  radial-gradient(circle at 15% 12%, rgba(13,136,157,.14), transparent 28%),
  radial-gradient(circle at 88% 15%, rgba(215,4,74,.08), transparent 26%),
  linear-gradient(180deg, #080c11, #06090d 75%); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.pf-body button, .pf-body input, .pf-body select, .pf-body textarea { font: inherit; }
.pf-topbar { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--pf-line); background: rgba(6,9,13,.88); backdrop-filter: blur(18px); }
.pf-topbar-inner { width: min(100% - 2rem, 1320px); min-height: 78px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pf-brand-link { display: inline-flex; align-items: center; width: 190px; height: 58px; padding: .25rem .8rem; border-radius: 14px; background: #fff; overflow: hidden; }
.pf-brand-link img { width: 100%; height: 100%; object-fit: contain; }
.pf-home-link { color: var(--pf-muted); text-decoration: none; font-weight: 800; }
.pf-home-link:hover { color: var(--pf-orange-2); }
.pf-main { width: min(100% - 2rem, 1320px); margin: 0 auto; padding: clamp(2rem, 5vw, 4.5rem) 0; }
.pf-view { min-height: calc(100vh - 180px); }
.pf-intro { display: grid; place-items: center; }
.pf-intro-card { width: min(100%, 1120px); display: grid; grid-template-columns: minmax(300px,.86fr) minmax(420px,1.14fr); gap: clamp(2rem,5vw,5rem); align-items: center; padding: clamp(1.25rem,4vw,3.5rem); border: 1px solid var(--pf-line); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015)), rgba(10,15,21,.88); box-shadow: 0 30px 90px rgba(0,0,0,.42); }
.pf-logo-panel { background: #fff; border-radius: 26px; min-height: 420px; padding: clamp(1rem,3vw,2.2rem); display: grid; place-items: center; box-shadow: 0 24px 70px rgba(0,0,0,.35), 0 0 40px rgba(13,136,157,.13); }
.pf-logo-panel img { width: min(100%, 560px); height: auto; object-fit: contain; }
.pf-logo-panel-small { width: min(100%, 360px); min-height: 210px; margin: 0 auto 1.5rem; padding: 1rem; border-radius: 20px; }
.pf-intro-copy { display: grid; gap: 1.25rem; }
.pf-eyebrow { margin: 0; color: var(--pf-teal-bright); font-size: .78rem; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
.pf-intro h1, .pf-complete h1 { margin: 0; font-size: clamp(2.6rem,6vw,5.4rem); line-height: .96; letter-spacing: -.06em; }
.pf-lead { margin: 0; color: #d4dce4; font-size: clamp(1.08rem,1.6vw,1.35rem); line-height: 1.6; }
.pf-trust-list { display: grid; gap: .7rem; color: var(--pf-muted); }
.pf-trust-list span { position: relative; padding-left: 1.7rem; line-height: 1.5; }
.pf-trust-list span::before { content: "✓"; position: absolute; left: 0; color: var(--pf-success); font-weight: 900; }
.pf-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.pf-btn { appearance: none; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border-radius: 999px; padding: .86rem 1.25rem; border: 1px solid transparent; cursor: pointer; text-decoration: none; font-weight: 900; transition: transform .16s ease, box-shadow .2s ease, background .2s ease; }
.pf-btn:hover:not(:disabled) { transform: translateY(-1px); }
.pf-btn:focus-visible { outline: 3px solid rgba(35,199,201,.38); outline-offset: 3px; }
.pf-btn:disabled { cursor: not-allowed; opacity: .45; }
.pf-btn-primary { color: #fff; background: linear-gradient(135deg, var(--pf-orange), var(--pf-orange-2)); box-shadow: 0 12px 30px rgba(255,121,0,.23); }
.pf-btn-secondary { color: var(--pf-text); background: rgba(255,255,255,.055); border-color: var(--pf-line); }
.pf-fineprint, .pf-download-note { margin: 0; color: #8794a1; font-size: .88rem; line-height: 1.55; }

.pf-workspace { display: grid; grid-template-columns: 285px minmax(0,1fr); border: 1px solid var(--pf-line); border-radius: 26px; overflow: hidden; background: rgba(9,14,20,.92); box-shadow: 0 30px 90px rgba(0,0,0,.38); }
.pf-stepper { padding: 2rem 1.5rem; border-right: 1px solid var(--pf-line); background: linear-gradient(180deg, rgba(13,136,157,.065), transparent 38%), #0b1016; }
.pf-stepper-heading { display: grid; gap: .4rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--pf-line); }
.pf-stepper-heading p:last-child { margin: 0; color: var(--pf-muted); font-size: .9rem; }
.pf-stepper ol { list-style: none; margin: 1.5rem 0; padding: 0; display: grid; gap: .35rem; }
.pf-stepper li { position: relative; min-height: 56px; }
.pf-stepper li::after { content: ""; position: absolute; left: 16px; top: 44px; width: 1px; height: 24px; background: var(--pf-line); pointer-events: none; }
.pf-stepper li:last-child::after { display: none; }
.pf-step-link { appearance: none; width: 100%; min-height: 56px; display: grid; grid-template-columns: 34px 1fr; gap: .75rem; align-items: center; padding: .25rem 0; border: 0; background: transparent; color: #7e8995; text-align: left; cursor: pointer; border-radius: 10px; }
.pf-step-link:hover { color: #dce5ec; background: rgba(255,255,255,.035); }
.pf-step-link:focus-visible { outline: 2px solid var(--pf-teal-bright); outline-offset: 3px; }
.pf-step-link > span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--pf-line-strong); font-size: .78rem; font-weight: 900; }
.pf-step-link strong { font-size: .83rem; line-height: 1.3; }
.pf-step-link.is-current { color: var(--pf-teal-bright); }
.pf-step-link.is-current > span { color: #071014; background: var(--pf-teal-bright); border-color: var(--pf-teal-bright); }
.pf-step-link.is-complete { color: #d4ddd9; }
.pf-step-link.is-complete > span { color: #052016; background: var(--pf-success); border-color: var(--pf-success); }
.pf-stepper-security { margin-top: 1.5rem; padding: 1rem; border: 1px solid rgba(35,199,201,.22); border-radius: 14px; color: #9eabb7; font-size: .78rem; line-height: 1.55; }
.pf-form { min-width: 0; display: flex; flex-direction: column; }
.pf-mobile-progress { display: none; }
.pf-step { padding: clamp(1.4rem,4vw,3.25rem); flex: 1; }
.pf-step-header { display: grid; gap: .55rem; margin-bottom: 2rem; }
.pf-step-header p { margin: 0; color: var(--pf-muted); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.pf-step-header h2 { margin: 0; color: #fff; font-size: clamp(2rem,4vw,3.6rem); line-height: 1; letter-spacing: -.045em; }
.pf-step-header > span { color: var(--pf-muted); line-height: 1.55; }
.pf-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.15rem; }
.pf-field { display: grid; gap: .5rem; color: #f0f4f7; font-size: .9rem; font-weight: 800; }
.pf-field input, .pf-field select, .pf-field textarea, .pf-initials input { width: 100%; color: #f7fafc; background: rgba(255,255,255,.035); border: 1px solid var(--pf-line-strong); border-radius: 10px; padding: .9rem 1rem; outline: none; }
.pf-field textarea { resize: vertical; min-height: 130px; line-height: 1.55; }
.pf-field input:focus, .pf-field select:focus, .pf-field textarea:focus, .pf-initials input:focus { border-color: var(--pf-teal-bright); box-shadow: 0 0 0 3px rgba(35,199,201,.13); }
.pf-field [aria-invalid="true"], .pf-initials [aria-invalid="true"] { border-color: var(--pf-danger); box-shadow: 0 0 0 3px rgba(255,107,107,.12); }
.pf-info-box, .pf-submit-note { margin-top: 1.4rem; padding: 1rem 1.1rem; border-radius: 12px; border: 1px solid rgba(35,199,201,.32); background: rgba(35,199,201,.065); color: #bcd1d5; line-height: 1.5; font-size: .88rem; }
.pf-fieldset { margin: 0 0 1.6rem; padding: 0; border: 0; }
.pf-fieldset legend, .pf-choice-group legend, .pf-media-options legend, .pf-signature-method legend { width: 100%; margin-bottom: 1rem; color: #fff; font-weight: 950; }
.pf-field-note { margin: .75rem 0 0; color: #8794a1; font-size: .82rem; }
.pf-choice-group { margin: 1.5rem 0; padding: 0; border: 0; }
.pf-choice-group label { display: inline-flex; align-items: center; gap: .55rem; margin-right: 2rem; cursor: pointer; }
.pf-choice-group input, .pf-check input, .pf-media-card input, .pf-signature-tabs input { accent-color: var(--pf-teal-bright); }
.pf-legal-intro { margin-bottom: 1rem; color: #dce4eb; font-weight: 950; line-height: 1.35; }
.pf-legal-card { display: grid; grid-template-columns: minmax(0,1fr) 100px; gap: 1rem; align-items: start; margin-bottom: 1rem; padding: 1.15rem; border: 1px solid var(--pf-line); border-radius: 14px; background: rgba(255,255,255,.025); }
.pf-legal-card h3 { margin: 0 0 .65rem; color: #fff; font-size: 1rem; line-height: 1.3; letter-spacing: 0; }
.pf-legal-card p { margin: 0 0 .65rem; color: #b8c2cc; font-size: .88rem; line-height: 1.55; }
.pf-legal-card p:last-child { margin-bottom: 0; }
.pf-legal-card strong { color: #eef2f5; }
.pf-legal-emphasis { border-color: rgba(215,4,74,.62); box-shadow: inset 4px 0 0 var(--pf-fuchsia); }
.pf-legal-warning { border-color: rgba(255,121,0,.62); box-shadow: inset 4px 0 0 var(--pf-orange); }
.pf-initials { display: grid; gap: .4rem; color: var(--pf-muted); font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.pf-initials input { text-align: center; text-transform: uppercase; }
.pf-check { display: flex; gap: .8rem; align-items: flex-start; margin: .9rem 0; color: #d5dde5; line-height: 1.5; cursor: pointer; }
.pf-check input { flex: 0 0 auto; width: 19px; height: 19px; margin-top: .15rem; }
.pf-check-prominent { padding: 1rem; border-radius: 12px; border: 1px solid rgba(255,121,0,.35); background: rgba(255,121,0,.055); }
.pf-document-links { margin-top: 1rem; }
.pf-document-links a { color: var(--pf-teal-bright); font-weight: 800; }
.pf-info-handling { margin-bottom: 1.5rem; padding: 1.2rem; border-radius: 14px; border: 1px solid var(--pf-line); background: rgba(255,255,255,.025); }
.pf-info-handling h3 { margin: 0 0 .75rem; color: #fff; }
.pf-info-handling p { margin: .55rem 0; color: #b8c2cc; line-height: 1.55; }
.pf-media-options { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.pf-media-options legend { grid-column: 1/-1; }
.pf-media-card { position: relative; min-height: 300px; display: flex; flex-direction: column; gap: .9rem; align-items: center; text-align: center; padding: 1.4rem; border-radius: 16px; border: 1px solid var(--pf-line-strong); background: rgba(255,255,255,.025); cursor: pointer; }
.pf-media-card input { position: absolute; top: 1rem; left: 1rem; width: 20px; height: 20px; }
.pf-media-card .pf-media-icon { font-size: 2.4rem; line-height: 1; }
.pf-media-card strong { font-size: 1rem; letter-spacing: .04em; }
.pf-media-card > span:last-child { color: #b8c2cc; font-size: .88rem; line-height: 1.52; }
.pf-media-authorize { border-color: rgba(35,199,201,.48); }
.pf-media-authorize strong, .pf-media-authorize .pf-media-icon { color: var(--pf-teal-bright); }
.pf-media-decline { border-color: rgba(215,4,74,.48); }
.pf-media-decline strong, .pf-media-decline .pf-media-icon { color: #ff5c93; }
.pf-media-card:has(input:checked) { background: rgba(255,255,255,.065); box-shadow: 0 0 0 2px currentColor inset; }
.pf-signature-method { margin: 1.5rem 0; padding: 0; border: 0; }
.pf-signature-tabs { display: inline-flex; gap: .5rem; padding: .35rem; border: 1px solid var(--pf-line); border-radius: 999px; background: rgba(255,255,255,.03); }
.pf-signature-tabs label { cursor: pointer; }
.pf-signature-tabs input { position: absolute; opacity: 0; }
.pf-signature-tabs span { display: block; padding: .65rem 1rem; border-radius: 999px; color: var(--pf-muted); font-weight: 850; }
.pf-signature-tabs input:checked + span { color: #061014; background: var(--pf-teal-bright); }
.pf-signature-draw { position: relative; margin-top: 1rem; }
#pf-signature-canvas { width: 100%; height: 180px; display: block; border: 1px solid var(--pf-line-strong); border-radius: 12px; background: #fff; touch-action: none; }
.pf-clear-signature { position: absolute; right: .8rem; top: .8rem; border: 0; background: transparent; color: var(--pf-teal); font-weight: 900; cursor: pointer; }
.pf-signature-draw p { margin: .55rem 0 0; color: #8794a1; font-size: .82rem; }
.pf-typed-signature { margin-top: 1rem; min-height: 150px; display: grid; place-items: center; border: 1px solid var(--pf-line-strong); border-radius: 12px; background: #fff; color: #18212a; }
.pf-typed-signature span { font-family: "Brush Script MT", "Segoe Script", cursive; font-size: clamp(2rem,5vw,3.5rem); }
.pf-security-box { margin-top: 1.5rem; padding: 1.15rem; border-radius: 14px; border: 1px solid var(--pf-line); background: rgba(255,255,255,.025); }
.pf-security-box h3 { margin: 0 0 .8rem; color: #fff; font-size: 1rem; }
.pf-security-box p { margin: .7rem 0 0; color: #8794a1; font-size: .82rem; }
.pf-form-nav { position: sticky; bottom: 0; z-index: 10; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1.4rem,4vw,3.25rem); border-top: 1px solid var(--pf-line); background: rgba(8,12,17,.94); backdrop-filter: blur(16px); }
.pf-error-summary { margin: 1.3rem clamp(1.4rem,4vw,3.25rem) 0; padding: 1rem 1.15rem; border-radius: 12px; border: 1px solid rgba(255,107,107,.5); background: rgba(255,107,107,.08); color: #ffd0d0; line-height: 1.5; }
.pf-complete { display: grid; place-items: center; }
.pf-complete-card { width: min(100%, 760px); display: grid; justify-items: center; gap: 1.15rem; text-align: center; padding: clamp(1.5rem,5vw,3.5rem); border: 1px solid var(--pf-line); border-radius: 28px; background: rgba(10,15,21,.92); box-shadow: 0 30px 90px rgba(0,0,0,.42); }
.pf-complete-card > p:not(.pf-eyebrow):not(.pf-download-note) { margin: 0; color: #c6d0d9; font-size: 1.08rem; }
.pf-success-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: #052116; background: var(--pf-success); font-size: 2rem; font-weight: 950; }
.pf-confirmation-box { width: min(100%, 520px); display: grid; gap: .55rem; padding: 1.2rem; border: 1px solid var(--pf-line-strong); border-radius: 14px; background: rgba(255,255,255,.025); }
.pf-confirmation-box span { color: var(--pf-muted); font-size: .82rem; }
.pf-confirmation-box strong { color: var(--pf-teal-bright); font-size: clamp(1.25rem,3vw,2rem); letter-spacing: .04em; word-break: break-word; }
.pf-download { width: min(100%, 430px); }
.pf-footer { padding: 1.5rem; color: #687480; text-align: center; font-size: .8rem; }

@media (max-width: 900px) {
  .pf-main { width: min(100% - 1rem, 1320px); padding-top: 1rem; }
  .pf-intro-card { grid-template-columns: 1fr; }
  .pf-logo-panel { min-height: 270px; }
  .pf-workspace { grid-template-columns: 1fr; }
  .pf-stepper { display: none; }
  .pf-mobile-progress { display: grid; gap: .7rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--pf-line); color: var(--pf-muted); font-size: .82rem; font-weight: 850; }
  .pf-mobile-progress-row { display: grid; grid-template-columns: auto 1fr; gap: .55rem .8rem; align-items: center; }
  .pf-mobile-progress-row > span { grid-row: 1; }
  .pf-jump-label { grid-column: 2; grid-row: 1; justify-self: end; color: #a8b4bf; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
  .pf-jump-select { grid-column: 1 / -1; width: 100%; color: #f7fafc; background: #111923; border: 1px solid var(--pf-line-strong); border-radius: 10px; padding: .72rem .85rem; font-weight: 800; }
  .pf-jump-select:focus { border-color: var(--pf-teal-bright); outline: 3px solid rgba(35,199,201,.13); }
  .pf-progress-track { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.08); }
  .pf-mobile-progress i { display: block; width: 16.666%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--pf-teal-bright),var(--pf-orange)); transition: width .25s ease; }
}
@media (max-width: 680px) {
  .pf-topbar-inner { width: min(100% - 1rem, 1320px); min-height: 68px; }
  .pf-brand-link { width: 150px; height: 50px; }
  .pf-home-link { font-size: .82rem; }
  .pf-intro-card, .pf-complete-card { padding: 1rem; border-radius: 20px; }
  .pf-logo-panel { min-height: 230px; border-radius: 18px; }
  .pf-actions { display: grid; }
  .pf-actions .pf-btn { width: 100%; }
  .pf-field-grid, .pf-media-options { grid-template-columns: 1fr; }
  .pf-step { padding: 1.25rem 1rem; }
  .pf-step-header { margin-bottom: 1.4rem; }
  .pf-legal-card { grid-template-columns: 1fr; }
  .pf-initials { width: 100%; }
  .pf-initials input { max-width: 120px; }
  .pf-media-card { min-height: auto; }
  .pf-form-nav { padding: .8rem; }
  .pf-form-nav .pf-btn { flex: 1; padding-inline: .8rem; }
  .pf-signature-tabs { display: grid; border-radius: 14px; }
  .pf-signature-tabs span { text-align: center; }
  .pf-logo-panel-small { min-height: 170px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
