@font-face { font-family:Quicksand; font-style:normal; font-weight:400; src:url('./fonts/Quicksand-Regular.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:Quicksand; font-style:normal; font-weight:600; src:url('./fonts/Quicksand-SemiBold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:Quicksand; font-style:normal; font-weight:700; src:url('./fonts/Quicksand-Bold.ttf') format('truetype'); font-display:swap; }

:root { --ink:#173d38; --main:#406f6b; --mint:#4faf8a; --orange:#f77f00; --pale:#edf4f2; --line:#d4e0de; --muted:#697775; }
* { box-sizing:border-box; }
html { background:#f5f8f7; color:var(--ink); font-family:Quicksand,Arial,sans-serif; }
body { margin:0; }
.brand { align-items:center; background:white; border-bottom:1px solid var(--line); display:flex; gap:12px; min-height:76px; padding:16px max(24px,calc((100vw - 1120px)/2)); }
.brand .leaf { align-items:center; background:var(--main); border-radius:50%; color:white; display:flex; font-size:24px; height:44px; justify-content:center; width:44px; }
.brand strong { font-size:23px; font-weight:700; letter-spacing:-.5px; }
main { margin:0 auto; max-width:1120px; padding:48px 24px 70px; }
.hero { max-width:900px; }
.eyebrow { color:#009a72; font-size:12px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; }
h1 { font-size:clamp(34px,5vw,58px); font-weight:500; letter-spacing:-2px; line-height:1.04; margin:14px 0 18px; }
.hero > p { color:var(--muted); font-size:17px; line-height:1.65; max-width:780px; }
.facts { display:grid; gap:1px; grid-template-columns:repeat(3,1fr); margin:34px 0 42px; }
.facts span { background:white; border:1px solid var(--line); display:grid; gap:6px; min-height:88px; padding:18px 20px; }
.facts small { color:var(--muted); font-size:12px; text-transform:uppercase; }
.facts strong { font-size:17px; }
.document-card,.sign-card { background:white; border:1px solid var(--line); margin-top:24px; padding:28px; }
.document-card { border-left:0; border-right:0; margin-left:calc(50% - 50vw); padding-left:24px; padding-right:24px; width:100vw; }
.section-heading { align-items:end; display:flex; justify-content:space-between; margin-bottom:20px; }
.section-heading h2 { font-size:27px; margin:6px 0 0; }
a { color:#087b61; font-weight:600; }
iframe { border:0; display:block; height:92vh; min-height:760px; width:100%; }
.sign-card form { display:grid; gap:18px; }
label > span,.signature-label > span { display:block; font-size:14px; font-weight:700; margin-bottom:8px; }
input[type=text],input[type=date],input:not([type]) { border:1px solid #abc4c0; border-radius:0; color:var(--ink); font:500 17px Quicksand,Arial,sans-serif; min-height:52px; padding:12px 14px; width:100%; }
.field-help { color:var(--muted); display:block; font-size:13px; font-weight:500; line-height:1.45; margin-top:7px; }
.choice-fieldset { border:0; margin:0; padding:0; }
.choice-fieldset legend { font-size:14px; font-weight:700; margin-bottom:10px; width:100%; }
.choice-fieldset legend small { color:var(--muted); float:right; font-size:12px; font-weight:600; }
.billing-options { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.billing-options.single { grid-template-columns:1fr; }
.payment-note { background:var(--pale); border-left:4px solid var(--main); padding:18px 20px; }
.payment-note strong { display:block; font-size:15px; margin-bottom:6px; }
.payment-note p { color:var(--muted); font-size:13px; line-height:1.55; margin:0; }
.billing-options label { align-items:center; border:1px solid #abc4c0; cursor:pointer; display:flex; gap:12px; min-height:72px; padding:14px 16px; }
.billing-options label:has(input:checked) { background:#edf7f4; border-color:#087b61; box-shadow:inset 0 0 0 1px #087b61; }
.billing-options input { appearance:none; background:white; border:1.5px solid #6d8f8a; border-radius:3px; display:grid; height:21px; margin:0; place-content:center; width:21px; }
.billing-options input::before { background:#087b61; clip-path:polygon(14% 44%,0 59%,39% 98%,100% 24%,84% 10%,38% 70%); content:""; height:12px; transform:scale(0); transition:transform .12s ease-in-out; width:12px; }
.billing-options input:checked::before { transform:scale(1); }
.billing-options span { display:grid; gap:4px; }
.billing-options strong { font-size:16px; }
.billing-options small { color:var(--muted); font-size:13px; }
.billing-options em { color:var(--orange); font-size:12px; font-style:normal; font-weight:700; }
.signature-label { align-items:center; display:flex; justify-content:space-between; }
.signature-label button { background:transparent; border:0; color:#087b61; cursor:pointer; font:600 14px Quicksand,Arial,sans-serif; }
.signature-box { background:#fbfdfc; border:1px solid #8eaaa6; height:190px; overflow:hidden; position:relative; transition:border-color .15s ease,box-shadow .15s ease; width:100%; }
.signature-box:focus-within { border-color:#087b61; box-shadow:0 0 0 3px rgba(8,123,97,.12); }
.signature-box.signature-required { border-color:#b94c38; box-shadow:0 0 0 3px rgba(185,76,56,.10); }
#signature-pad { background:transparent; cursor:crosshair; display:block; height:100%; position:relative; touch-action:none; user-select:none; width:100%; z-index:2; -webkit-user-select:none; }
.signature-hint { color:#81918e; font-size:15px; font-weight:500; left:50%; pointer-events:none; position:absolute; top:50%; transform:translate(-50%,-50%); transition:opacity .12s ease; white-space:nowrap; z-index:1; }
.signature-confirmation { align-items:center; background:#e0f3ec; border-radius:50%; color:#087b61; display:none; font-size:13px; font-weight:700; height:24px; justify-content:center; pointer-events:none; position:absolute; right:10px; top:10px; width:24px; z-index:3; }
.signature-box.has-ink .signature-hint { opacity:0; }
.signature-box.has-ink .signature-confirmation { display:flex; }
.consent { align-items:flex-start; display:flex; gap:11px; line-height:1.55; }
.consent input { height:20px; margin-top:2px; width:20px; }
.consent span { font-size:14px; font-weight:500; margin:0; }
.audit-notice { color:var(--muted); font-size:13px; line-height:1.5; margin:0; }
.submit { align-items:center; background:var(--orange); border:0; color:white; cursor:pointer; display:flex; font:700 16px Quicksand,Arial,sans-serif; justify-content:center; min-height:54px; padding:14px 26px; text-decoration:none; width:100%; }
.submit:disabled { cursor:wait; opacity:.65; }
.submit.inline { display:inline-flex; margin-top:24px; width:auto; }
.form-error { color:#a93f2c; font-size:13px; min-height:18px; }
footer { border-top:1px solid var(--line); color:var(--muted); font-size:13px; padding:22px 24px; text-align:center; }
.message-wrap { align-items:center; display:flex; min-height:calc(100vh - 150px); }
.message-card { background:white; border:1px solid var(--line); margin:auto; max-width:700px; padding:60px; text-align:center; }
.message-card h1 { font-size:34px; letter-spacing:-1px; }
.message-detail { color:var(--muted); font-size:15px; line-height:1.65; margin:0 auto; max-width:520px; }
.message-icon { align-items:center; background:#e0f3ec; border-radius:50%; color:#087b61; display:inline-flex; font-size:28px; font-weight:700; height:64px; justify-content:center; width:64px; }
.message-card.error .message-icon { background:#fde9e5; color:#a93f2c; }
.signing-page .brand { min-height:64px; padding-top:10px; padding-bottom:10px; }
.signing-page main { padding-top:32px; padding-bottom:48px; }
.signing-page h1 { font-size:clamp(30px,4vw,46px); letter-spacing:-1.4px; margin:10px 0 16px; }
.intro-steps { color:var(--muted); font-size:16px; line-height:1.55; margin:0; max-width:820px; padding-left:24px; }
.intro-steps li { padding-left:4px; margin-bottom:7px; }
.intro-steps li::marker { color:var(--main); font-weight:700; }
.signing-page .facts { margin:24px 0 28px; }
.signing-page .facts span { min-height:76px; padding:14px 16px; }
.signing-page .document-card { border:1px solid var(--line); margin-left:0; padding:22px; width:100%; }
.signing-page .sign-card { padding:22px; }
.signing-page .section-heading { margin-bottom:16px; }
.signing-page .section-heading h2 { font-size:24px; }
.signing-page iframe { height:76vh; min-height:560px; }
.signing-page .sign-card form { gap:14px; }
.signing-page .signature-box { height:170px; }
@media (max-width:720px) { main{padding:32px 16px 50px}.facts,.billing-options{grid-template-columns:1fr}.sign-card{padding:18px}.document-card{padding:18px 0}.document-card .section-heading{padding:0 16px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}iframe{height:78vh;min-height:560px}.message-card{padding:35px 20px} }
@media (max-width:720px) { .signing-page main{padding-top:24px}.signing-page .document-card{padding:16px 0}.signing-page .sign-card{padding:18px}.signing-page iframe{height:70vh;min-height:420px} }
