:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2925;background:#f5f4f0;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}[hidden]{display:none!important}
.shell{max-width:1540px;margin:0 auto;min-height:100vh}.topbar{height:76px;padding:0 clamp(20px,3.6vw,56px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e5df;background:#fcfcf9}.brand{display:flex;align-items:center;gap:12px}.brand-mark{height:38px;width:38px;display:grid;place-items:center;background:#173d34;color:#fff;border-radius:10px;font-size:14px;font-weight:800;letter-spacing:-.06em}.brand>span:last-child{display:grid;gap:1px}.brand strong{font-size:16px;letter-spacing:-.03em}.brand small{font-size:11px;color:#6c7971;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.top-status{font-size:12px;font-weight:700;color:#886027;background:#fbf4e6;border:1px solid #efdfbf;padding:8px 12px;border-radius:100px}
.layout{display:grid;grid-template-columns:minmax(280px,330px) minmax(0,1fr);gap:clamp(24px,3.5vw,56px);padding:clamp(22px,3.4vw,52px)}.sidebar{position:sticky;top:24px;align-self:start;padding:5px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#4f7e6c}.sidebar h1{font-family:"Noto Serif",Georgia,serif;font-size:clamp(29px,2.5vw,39px);line-height:1.13;letter-spacing:-.035em;margin:17px 0 14px;font-weight:500}.sidebar-head>p{color:#65736b;line-height:1.6;margin:0;font-size:14px}.steps{list-style:none;margin:38px 0 0;padding:0}.steps li{display:flex;gap:15px;position:relative;padding-bottom:29px;color:#829088}.steps li:not(:last-child):before{content:"";position:absolute;left:18px;top:38px;bottom:3px;width:1px;background:#d7ddd5}.steps li>span{width:37px;height:37px;flex:0 0 37px;border:1px solid #d8ded8;border-radius:50%;display:grid;place-items:center;background:#f8f9f6;font-weight:800;font-size:13px}.steps li.active>span{background:#173d34;color:white;border-color:#173d34}.steps li.done>span{background:#e4f0e7;color:#27644a;border-color:#cde4d4}.steps li>div{display:grid;gap:3px;padding-top:2px}.steps strong{font-size:14px;color:#45534b}.steps li.active strong{color:#1d2925}.steps small{font-size:12px}.sidebar-note{display:flex;gap:11px;margin-top:22px;border-top:1px solid #dde3da;padding-top:21px}.sidebar-note p{margin:0;color:#748078;line-height:1.5;font-size:12px}.note-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#3d9b72;margin-top:5px}
.workspace{min-width:0}.progress-track{height:4px;border-radius:8px;background:#e1e8df;overflow:hidden;margin:6px 0 17px}.progress-track div{height:100%;width:25%;background:#2f7258;transition:width .2s}.panel{display:none;background:#fff;border:1px solid #e3e7e0;border-radius:17px;box-shadow:0 14px 42px rgba(34,52,40,.045);padding:clamp(24px,3.5vw,49px)}.panel.active{display:block}.section-heading{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e9ede7;padding-bottom:28px;margin-bottom:31px}.section-heading h2,.success-panel h2{font-family:"Noto Serif",Georgia,serif;font-weight:500;letter-spacing:-.035em;font-size:clamp(28px,3vw,39px);margin:9px 0 9px}.section-heading p{color:#6a776d;margin:0;line-height:1.58;font-size:14px;max-width:580px}.section-number{font-family:"Noto Serif",Georgia,serif;font-size:58px;color:#e2eae3;line-height:1}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:grid;gap:9px}.field.wide{grid-column:1/-1}.field>span{font-weight:700;font-size:13px}.field em,.photo-copy em{color:#b45741;font-style:normal}.field input{height:50px;border:1px solid #d7e0d7;border-radius:9px;padding:0 15px;color:#1d2925;background:#fff;outline:none}.field input:focus{border-color:#4d9872;box-shadow:0 0 0 3px #e2f2e7}.field input::placeholder{color:#a1aaa3}.field small{color:#859188;font-size:11px}
.photo-card{display:flex;gap:20px;border:1px dashed #ccd9ce;border-radius:12px;padding:20px;margin-top:30px;background:#fafcf9}.photo-frame{width:130px;height:146px;flex:0 0 130px;border-radius:9px;background:#e7eee7;display:grid;place-items:center;overflow:hidden;text-align:center;color:#829285;font-size:13px;line-height:1.4}.photo-frame img{width:100%;height:100%;object-fit:cover}.photo-copy{flex:1}.photo-copy h3,.final-card h3{font-size:16px;margin:2px 0 7px}.photo-copy p,.final-card p{font-size:13px;color:#718076;line-height:1.55;margin:0 0 16px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.photo-copy>small{display:block;color:#819087;margin-top:10px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.camera-box{margin-top:14px;padding:14px;background:#eef3ed;border-radius:12px}.camera-box video{max-width:100%;max-height:300px;border-radius:8px;background:#222}.camera-box>div{display:flex;gap:10px;margin-top:10px}.panel-footer{border-top:1px solid #e9ede7;margin-top:34px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:15px}.footer-hint{color:#849087;font-size:12px}.button{min-height:46px;border-radius:9px;padding:0 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:750;white-space:nowrap}.button-primary{background:#173d34;color:white;border-color:#173d34}.button-primary:hover{background:#245342}.button-secondary{background:#fff;border-color:#cdd9d0;color:#274638}.button-secondary:hover{background:#f2f7f2}.button-quiet{background:transparent;color:#346149}.button-quiet:hover{background:#eef5ef}.message{padding:13px 17px;border-radius:10px;margin-bottom:13px;font-size:13px;line-height:1.5}.error{color:#8b352f;background:#fff1ef;border:1px solid #f0ccc7}.notice{color:#315d44;background:#edf7ed;border:1px solid #d3e9d6}
.template-meta{display:flex;flex-wrap:wrap;gap:8px 25px;font-size:12px;color:#76847a;background:#f6f8f5;border-radius:9px;padding:14px 16px;margin-bottom:20px}.template-meta strong{color:#395246}.terms-list{display:grid;gap:16px}.term-card{border:1px solid #dce4db;border-radius:12px;padding:21px;background:#fff}.term-top{display:flex;justify-content:space-between;gap:20px}.term-card h3{margin:0 0 11px;font-size:18px;letter-spacing:-.02em}.term-card p{font-size:13px;color:#627166;line-height:1.65;margin:0}.term-card .check-row{margin:18px 0}.check-row{display:flex;align-items:flex-start;gap:12px;line-height:1.5;color:#304437;font-size:13px;font-weight:600;cursor:pointer}.check-row input{appearance:none;flex:0 0 22px;height:22px;width:22px;border:1.5px solid #a5b5aa;border-radius:6px;margin:0;background:#fff}.check-row input:checked{background:#1e7650;border-color:#1e7650}.check-row input:checked:after{content:"✓";display:block;text-align:center;color:white;font-size:15px;font-weight:900;line-height:20px}.signature-caption{display:flex;justify-content:space-between;align-items:center;color:#859189;font-size:12px;margin-bottom:7px}.signature-box{border:1px solid #d9e2d8;border-radius:9px;overflow:hidden;background:#fdfefd}.signature-box canvas{display:block;width:100%;height:250px;touch-action:none;cursor:crosshair}.signature-box.large canvas{height:280px}.signature-bottom{border-top:1px dashed #d9e1d9;display:flex;justify-content:space-between;align-items:center;min-height:34px;padding:0 10px;color:#a0ada2;font-size:10px}.clear-signature{border:0;background:transparent;color:#377459;font-size:11px;font-weight:700;padding:6px}
.choice-list{display:grid;gap:11px}.choice-card{display:flex;gap:15px;padding:17px 18px;border:1px solid #dce4db;border-radius:11px;cursor:pointer}.choice-card:hover{background:#fbfdfa}.choice-card input{appearance:none;margin:2px 0 0;flex:0 0 42px;width:42px;height:24px;border-radius:20px;background:#ccd8ce;position:relative;transition:background .15s}.choice-card input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform .15s}.choice-card input:checked{background:#257a55}.choice-card input:checked:after{transform:translateX(18px)}.choice-card strong{font-size:13px}.choice-card small{display:block;color:#7b897e;line-height:1.55;margin-top:4px}.info-strip{background:#f5f7f3;color:#627365;border-left:3px solid #8dae92;margin-top:24px;padding:13px 16px;font-size:12px;line-height:1.8}.info-strip strong{color:#3b5140}.final-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:28px}.final-card>div:first-child{max-width:760px}.final-card .signature-box{width:100%;align-self:start}.final-check{margin-top:27px;padding:17px;border:1px solid #b9d9bf;background:#f5faf5;border-radius:10px}.submit-footnote{font-size:11px;color:#8a968b;margin-top:14px}
.success-panel{text-align:center}.success-mark{width:61px;height:61px;margin:0 auto 20px;border-radius:50%;background:#e7f4e8;color:#267453;display:grid;place-items:center;font-size:31px}.success-panel>p{max-width:560px;margin:0 auto 26px;color:#718076;font-size:14px;line-height:1.6}.receipt{max-width:680px;margin:auto;border:1px solid #dce5db;border-radius:11px;text-align:left;background:#fcfdfb;overflow:hidden}.receipt-head{display:flex;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid #e2e9e0;font-size:12px;letter-spacing:.08em;color:#315342}.receipt-head span{letter-spacing:0;color:#8b6d3a}.receipt dl{display:grid;grid-template-columns:145px 1fr;gap:13px 15px;margin:0;padding:22px 20px;font-size:12px}.receipt dt{color:#819087}.receipt dd{margin:0;overflow-wrap:anywhere;color:#2f4235;font-weight:650}.receipt dd.hash{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;font-weight:400}.receipt-signature{border-top:1px solid #e2e9e0;padding:12px 20px;display:grid;gap:8px;color:#819087;font-size:11px}.receipt-signature img{height:65px;max-width:270px;object-fit:contain;object-position:left}.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:27px}.success-panel .success-footnote{font-size:11px;margin-top:16px}
@media(max-width:900px){.layout{grid-template-columns:1fr;gap:17px;padding:20px}.sidebar{position:static}.sidebar-head h1{font-size:31px;margin:8px 0}.sidebar-head>p{display:none}.steps{display:flex;margin:18px 0 0;gap:5px}.steps li{flex:1;gap:6px;padding:0;align-items:center}.steps li:before{display:none}.steps li>span{width:29px;height:29px;flex-basis:29px}.steps strong{font-size:11px}.steps small{display:none}.sidebar-note{display:none}.panel{padding:clamp(20px,4vw,35px)}}
@media(max-width:620px){.topbar{height:64px;padding:0 18px}.top-status{font-size:10px;padding:6px 8px}.layout{padding:13px}.sidebar-head .eyebrow{display:none}.sidebar-head h1{font-size:23px;margin:0 0 7px}.steps li>div{display:none}.steps{justify-content:space-between}.steps li{flex:0 0 auto}.panel{border-radius:12px;padding:20px 17px}.section-number{display:none}.section-heading{padding-bottom:20px;margin-bottom:22px}.section-heading h2{font-size:27px}.field-grid{grid-template-columns:1fr;gap:17px}.field.wide{grid-column:auto}.photo-card{padding:14px;gap:12px}.photo-frame{width:93px;height:110px;flex-basis:93px}.photo-copy p{font-size:12px}.photo-actions .button{min-height:40px;padding:0 10px;font-size:11px}.final-card{grid-template-columns:1fr}.panel-footer .button{min-height:45px}.receipt dl{grid-template-columns:100px 1fr;padding:16px;gap:11px}.footer-hint{display:none}}
@media print{body{background:white}.topbar,.sidebar,.progress-track,.success-actions,.success-footnote,.message{display:none!important}.layout{display:block;padding:0}.workspace{width:100%}.panel{display:none!important;border:0;box-shadow:none;padding:0}.success-panel.active{display:block!important}.receipt{max-width:none;border:1px solid #aaa}.success-panel>p{display:none}.success-panel h2{font-size:24px}.success-mark{display:none}}
.brand-logo{display:block;width:182px;height:auto;max-height:38px;object-fit:contain;object-position:left}.brand-subtitle{padding-left:13px;border-left:1px solid #dce5e0;color:#5f7068;font-size:12px;font-weight:700;white-space:nowrap}.document-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #cbdce5;background:#f7fbfd;border-radius:12px;padding:21px;margin-bottom:13px}.document-card h3{font-size:16px;margin:7px 0}.document-card p{font-size:12px;line-height:1.55;color:#687c88;margin:0;max-width:540px}.document-card .button{flex:0 0 auto}.document-check,.identity-check{border:1px solid #dce5dd;background:#f8faf7;border-radius:10px;padding:15px 17px;margin:15px 0 20px}.identity-check{margin:20px 0 0}.option-heading{padding:0 0 15px}.option-heading p{font-size:13px;line-height:1.6;color:#65736b;margin:7px 0 0}.section7-consent{margin-top:16px;padding:20px;border:1px solid #dce4db;border-radius:11px;background:#fbfcfa}.section7-consent .signature-caption{margin:18px 0 8px}.section7-consent .signature-box canvas{height:250px}
@media(max-width:720px){.document-card{display:block}.document-card .button{margin-top:15px}.brand-logo{width:150px}.brand-subtitle{font-size:10px;padding-left:10px}}
@media(max-width:460px){.brand>span.brand-subtitle:last-child{display:none}.brand-logo{width:166px}}
.choice-card input{flex:0 0 24px;width:24px;height:24px;border:1.5px solid #a5b5aa;border-radius:6px;margin:0;background:#fff}.choice-card input:after{display:none}.choice-card input:checked{background:#1e7650;border-color:#1e7650}.choice-card input:checked:after{content:"✓";display:block;position:static;width:auto;height:auto;background:none;border-radius:0;text-align:center;color:#fff;font-size:17px;font-weight:900;line-height:21px;transform:none}
.topbar{height:82px}.brand-logo{width:151px;height:66px;max-height:none}.top-actions{display:flex;align-items:center;gap:14px}.language-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #d7dfd8;border-radius:9px;background:#f3f6f3}.language-switch button{border:0;border-radius:6px;background:transparent;color:#617269;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.05em;min-width:35px;min-height:30px;cursor:pointer}.language-switch button[aria-pressed="true"]{color:#fff;background:#173d34}.language-switch button:focus-visible{outline:2px solid #2a7858;outline-offset:2px}
@media(max-width:720px){.brand-logo{width:126px;height:58px}.top-actions{gap:8px}}
@media(max-width:460px){.topbar{height:67px;padding:0 10px}.brand-logo{width:108px;height:52px}.language-switch button{min-width:30px;min-height:28px}.top-status{font-size:9px;padding:5px 7px}}
.document-reader{margin:0 0 18px;border:1px solid #dce5dd;border-radius:10px;overflow:hidden;background:#fff}.document-reader iframe{display:block;width:100%;height:min(70vh,720px);min-height:420px;border:0;background:#fff}
@media(max-width:620px){.document-reader iframe{height:65vh;min-height:380px}}
.signing-notice{margin-top:22px;padding:18px 20px;border:1px solid #dce5dd;border-radius:11px;background:#f8faf7}.signing-notice h3{margin:0 0 9px;font-size:14px;color:#304437}.signing-notice p{margin:0;color:#59695e;font-size:12px;line-height:1.65}.signing-notice .notice-contact{margin-top:8px;font-weight:600}.signing-notice + .identity-check{margin-top:12px}
#photoHint[data-state="busy"]{color:#775d23;font-weight:700}#photoHint[data-state="valid"]{color:#24704d;font-weight:700}#photoHint[data-state="error"]{color:#a44237;font-weight:700}

.birth-date-field>label{font-weight:700;font-size:13px}.birth-date-field>label em{color:#b45741;font-style:normal}.birth-date-control{display:flex;min-width:0;gap:8px}.birth-date-control #birthDateText{flex:1;width:100%;min-width:0}.birth-date-calendar{position:relative;flex:0 0 50px;height:50px;display:grid;place-items:center;border:1px solid #d7e0d7;border-radius:9px;background:#fff;color:#315c49;overflow:hidden}.birth-date-calendar:hover{background:#f3f7f3;border-color:#4d9872}.birth-date-calendar:focus-within{border-color:#4d9872;box-shadow:0 0 0 3px #e2f2e7}.birth-date-calendar svg{width:22px;height:22px;pointer-events:none}.birth-date-calendar #birthDate{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;opacity:0;cursor:pointer}.birth-date-calendar #birthDate::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;cursor:pointer}.birth-date-field #birthDateText[aria-invalid="true"]{border-color:#b45741}.birth-date-field small.field-error{color:#a44237;font-weight:650}

.lock-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 13px;border:1px solid #cdd9d0;border-radius:9px;background:#fff;color:#274638;font-size:12px;font-weight:750;white-space:nowrap}.lock-button:hover{background:#f2f7f2}.lock-button:focus-visible{outline:2px solid #2a7858;outline-offset:2px}@media(max-width:620px){.lock-button{min-height:34px;padding:0 9px}.top-actions{gap:6px}}@media(max-width:390px){.lock-button span{display:none}.top-status{display:none}}

/* Keep identity controls aligned when one column has help text. */
.field-grid{align-items:start}

/* Keep the form unusable until the template and client checks have passed. */
.panel[inert]{opacity:.55;pointer-events:none;user-select:none}
