:root{--ink:#292331;--muted:#5c5565;--purple:#65458c;--purple-dark:#4a306e;--lavender:#eee8f7;--lavender-pale:#f8f5fc;--cream:#dbd4c5;--line:#ded7e5;--paper:#fff;--serif:Georgia,'Times New Roman',serif}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:#f4f1f6;color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--purple);text-underline-offset:3px}
.topbar{background:var(--cream);border-bottom:1px solid #d8cebf}
.topbar-inner{max-width:1040px;margin:auto;padding:22px 36px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:26px;text-decoration:none;color:var(--ink)}
.brand img{display:block;width:110px;height:110px;object-fit:contain;border-radius:0;flex:none}
.brand-name{display:block;font:normal clamp(25px,3vw,33px)/1.1 var(--serif);letter-spacing:.035em}
.brand-caption{display:block;margin-top:9px;color:var(--purple);font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase}
.back-link{margin-left:auto;font-size:12px;text-decoration:none;white-space:nowrap}
.intro{padding:44px 36px 30px;background:#f4f1f6}
.intro-inner,.content,.footer-inner{max-width:900px;margin:auto}
.eyebrow{margin:0 0 12px;color:var(--purple);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
h1,h2,h3{font-family:var(--serif);font-weight:normal}
h1{font-size:clamp(35px,5vw,49px);line-height:1.1;letter-spacing:-.025em;margin:0 0 17px}
h2{font-size:26px;line-height:1.25;margin:0 0 14px}
h3{font-size:21px;margin:0 0 12px}
.intro p:not(.eyebrow){max-width:73ch;color:var(--muted);font-size:14px;line-height:1.8;margin:0}
.workflow{list-style:none;padding:0;margin:27px 0 0;display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.workflow li{display:flex;align-items:center;gap:11px;flex:1;padding:17px 12px 17px 0;font-size:12px;color:var(--muted)}
.workflow b{display:grid;place-items:center;border:1px solid #cfc2de;width:28px;height:28px;border-radius:50%;color:var(--purple);font-size:10px;flex:none}
.workflow .active{color:var(--ink);font-weight:600}.workflow .active b{background:var(--purple);color:white;border-color:var(--purple)}
.content{padding:0 0 55px}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:clamp(25px,5vw,47px);margin-bottom:24px;box-shadow:0 7px 24px #34233e06}
.terms{counter-reset:agreement-term}
.terms section{counter-increment:agreement-term}
.terms section+section{border-top:1px solid #e9e4ed;padding-top:25px;margin-top:25px}
.terms section h2{display:flex;align-items:baseline;gap:15px;color:var(--ink)}
.terms section h2::before{content:counter(agreement-term,decimal-leading-zero);font:600 11px/1.5 system-ui,sans-serif;color:var(--purple);min-width:22px}
.terms p,.terms li{font-size:14px;line-height:1.85;color:#4b4553;overflow-wrap:anywhere}
.terms p{margin:0 0 12px}.terms p:last-child{margin-bottom:0}
.terms ul{padding-left:22px}.terms li+li{margin-top:9px}
.notice{border:1px solid #e1d7eb;border-left:3px solid #9270b7;background:var(--lavender-pale);padding:17px 20px;border-radius:3px;margin:20px 0}
.notice p{font-size:12px;line-height:1.75;color:#554c62;margin:0 0 9px}.notice p:last-child{margin-bottom:0}
.notice p:first-child:last-child{margin:0}
#signing-status,#status{font-size:13px;line-height:1.75;color:var(--purple-dark);overflow-wrap:anywhere;white-space:pre-wrap}
.signature-panel{border-top:4px solid var(--purple)}
form{display:grid;gap:19px;margin-top:25px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font-size:12px;font-weight:600;line-height:1.6;color:var(--ink)}
input[type=text],input[type=email]{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #cfc7d8;border-radius:3px;background:white;color:var(--ink);font:normal 15px/1.4 system-ui,sans-serif}
input[readonly]{background:#f4f1f6;color:var(--muted)}
input[name=electronic_signature]{font:normal 25px/1.4 var(--serif);padding:13px 15px;background:#fdfbff;border-bottom:2px solid #b4a0cb}
input:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #bfa8da;outline-offset:3px}
.form-hint{font-size:12px;line-height:1.7;color:var(--muted);margin:-5px 0 0}
.consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;font-weight:normal;background:#f8f6fa;padding:15px 17px;border:1px solid #e5dfea;border-radius:3px}
.consent input{margin:4px 0 0;flex:none;accent-color:var(--purple);width:15px;height:15px}
button,.document-link{display:inline-flex;align-items:center;justify-content:center;justify-self:start;background:var(--purple);border:1px solid var(--purple);border-radius:3px;color:white;padding:14px 22px;font:600 13px/1.4 system-ui,sans-serif;cursor:pointer;text-decoration:none}
button:hover{background:var(--purple-dark)}button:disabled{opacity:.55;cursor:default}
.document-link{background:white;color:var(--purple);margin-top:20px;padding:11px 16px;font-size:12px}.document-link:hover{background:var(--lavender-pale)}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.document-summary{padding:30px 37px}
.summary-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:21px;margin-bottom:21px;border-bottom:1px solid var(--line)}
.summary-top h2{font-size:23px;margin:0 0 7px}.reference{font-size:11px;color:var(--muted);line-height:1.8;margin:0;overflow-wrap:anywhere}
.status-badge{font-size:10px;line-height:1.5;color:var(--purple-dark);background:var(--lavender);border:1px solid #d9cce8;padding:7px 11px;border-radius:3px;white-space:nowrap}
.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.signature-details{margin:0;display:grid;gap:12px}.signature-details div{min-width:0}
.signature-details dt{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.signature-details dd{font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.signature-details .typed-name{font:normal 23px/1.3 var(--serif);color:var(--purple-dark)}
.utc-time{display:block;font-size:10px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.saved-signature{border-left:2px solid #d9cce8;padding-left:22px}
footer{border-top:1px solid #d8cebf;background:var(--cream);padding:24px 36px;color:var(--muted)}
.footer-inner{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:11px}.footer-inner span{margin-right:auto}
@media(max-width:960px){.content{margin:0 24px}}
@media(max-width:600px){.topbar-inner{padding:18px 22px;gap:16px}.brand{gap:16px}.brand img{width:80px;height:80px}.brand-name{font-size:25px}.brand-caption{font-size:8px;letter-spacing:.12em}.back-link{display:none}.intro{padding:30px 22px 24px}.content{margin:0 16px;padding-bottom:26px}.workflow li{font-size:10px;gap:7px;padding:13px 8px 13px 0;align-items:flex-start;line-height:1.5}.workflow b{width:24px;height:24px}.panel{padding:25px 23px}.field-row,.signature-grid{grid-template-columns:1fr;gap:20px}.summary-top{flex-direction:column;gap:12px}.saved-signature{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:20px}.terms p,.terms li{font-size:13px}.terms section h2{font-size:24px}.notice{padding:14px}.document-summary{padding:25px 23px}button{width:100%;justify-self:stretch}footer{padding:24px 22px}}
@media print{body{background:white}.topbar{border:0}.topbar-inner{padding:0}.intro{padding:24px 0;background:white}.content{padding:0;margin:0;max-width:none}.panel{box-shadow:none;break-inside:avoid;border-color:#ddd;padding:24px}.terms{break-inside:auto}.signature-panel form,.workflow,.back-link,.document-link{display:none}footer{background:white}a{color:inherit}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
