@font-face{font-family:SimplerPro;src:url('/assets/SimplerPro-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:SimplerPro;src:url('/assets/SimplerPro-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--action:#17675d;--action-dark:#10534b;--mint:#76c4ba;--mint-soft:#e9f7f4;--beige:#c3b8b1;--beige-soft:#f5f1ed;--ink:#293638;--muted:#697476;--paper:#fffdfa;--line:#ddd6d0;--danger:#ad2d37;--shadow:0 18px 55px rgba(46,58,61,.09)}
*{box-sizing:border-box}
html{background:#f7f4f0}
body{margin:0;background:radial-gradient(circle at 85% 0,#e9f7f4 0,transparent 28rem),#f7f4f0;color:var(--ink);font-family:SimplerPro,"Noto Sans","Arial Unicode MS",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
.top{height:78px;background:rgba(255,253,250,.94);border-bottom:1px solid rgba(195,184,177,.62);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}
.top-inner{width:min(940px,100%);height:100%;margin:auto;padding:11px 20px;display:flex;align-items:center;gap:14px}
.top img{height:42px;width:auto}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy span{color:var(--muted);font-size:12px}.brand-copy strong{color:var(--action);font-size:19px;margin-top:4px}
.top-guide{margin-inline-start:auto;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--action);font-size:18px;font-weight:700;text-decoration:none;box-shadow:0 5px 18px rgba(46,58,61,.08);transition:.18s ease}.top-guide:hover{transform:translateY(-1px);border-color:var(--mint)}
main{width:min(900px,100%);margin:0 auto;padding:28px 18px 72px}
.intro,.details,.success{background:var(--paper);border:1px solid var(--line);border-radius:24px;margin-bottom:18px;box-shadow:var(--shadow)}
.intro{padding:30px;background:linear-gradient(145deg,#fffdfa 0,#fffdfa 58%,#e9f7f4 100%);position:relative;overflow:hidden}.intro:after{content:"";position:absolute;width:180px;height:180px;border:36px solid rgba(118,196,186,.13);border-radius:50%;inset-inline-end:-95px;bottom:-105px;pointer-events:none}
.language{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-bottom:20px;position:relative;z-index:1}.language label{font-weight:700;color:var(--action);font-size:14px}.language select{width:auto;min-width:155px;min-height:42px;background:rgba(255,255,255,.82)}
.eyebrow{color:var(--action);font-size:14px;font-weight:700;letter-spacing:.02em;margin:0 0 4px}.intro h1,.success h1{font-size:clamp(30px,4vw,42px);line-height:1.08;color:var(--action-dark);margin:0 0 12px;letter-spacing:-.025em}.intro>p:not(.eyebrow){max-width:650px;margin:0;color:var(--muted);font-size:17px}
.progress{height:10px;background:#e3ddd8;border-radius:999px;overflow:hidden;margin-top:24px;position:relative;z-index:1}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--action));border-radius:inherit;transition:width .25s ease}.intro #progress-text{font-size:13px;font-weight:700;color:var(--action);margin-top:7px}
.config-warning:empty{display:none}.config-warning{background:#fff2f2;border:1px solid #d69399;border-inline-start:5px solid var(--danger);border-radius:12px;color:var(--danger);font-weight:700;padding:13px 15px;margin:0 0 16px}
.commandments{display:grid;gap:14px}.commandment{display:grid;grid-template-columns:42px minmax(0,1fr);gap:15px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:21px 20px;box-shadow:0 7px 24px rgba(46,58,61,.045);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.commandment:hover{transform:translateY(-2px);border-color:#b7dcd6;box-shadow:0 13px 34px rgba(46,58,61,.08)}.commandment:has(.approval-input:checked){background:linear-gradient(135deg,#fffdfa,#edf9f6);border-color:var(--mint);box-shadow:0 9px 28px rgba(23,103,93,.1),inset 4px 0 0 var(--action)}
.num{background:var(--mint-soft);color:var(--action);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:17px;font-weight:700}.commandment:has(.approval-input:checked) .num{background:var(--action);color:#fff}.commandment-copy{min-width:0}.commandment h2{color:var(--action-dark);font-size:20px;line-height:1.25;margin:2px 0 7px}.commandment p{margin:0;color:#445154;font-size:16px;line-height:1.7}
.confirm-row{position:relative;display:flex;align-items:center;gap:12px;min-height:50px;margin-top:17px;padding:9px 11px 9px 15px;border:1px solid #b7dcd6;border-radius:12px;background:var(--mint-soft);color:var(--action-dark);font-weight:700;cursor:pointer;user-select:none;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.confirm-row:hover{background:#dff2ee;border-color:var(--mint);box-shadow:0 4px 14px rgba(23,103,93,.09)}.approval-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.confirm-text{font-size:16px}.check-box{width:31px;height:31px;margin-inline-start:auto;border:2px solid var(--action);border-radius:9px;background:#fff;display:grid;place-items:center;flex:0 0 auto;transition:background .16s ease,border-color .16s ease,transform .16s ease}.check-box svg{width:21px;height:21px;fill:none;stroke:var(--action);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .15s ease}.confirm-row:has(.approval-input:focus-visible){outline:3px solid rgba(118,196,186,.48);outline-offset:3px}.commandment:has(.approval-input:checked) .confirm-row{background:var(--action);border-color:var(--action);color:#fff;box-shadow:0 6px 18px rgba(23,103,93,.18)}.commandment:has(.approval-input:checked) .check-box{border-color:#fff;background:#fff;transform:scale(1.03)}.commandment:has(.approval-input:checked) .check-box svg{opacity:1;transform:scale(1)}
.details{padding:28px;opacity:.5;pointer-events:none;filter:saturate(.72);transition:opacity .22s ease,filter .22s ease}.details.ready{opacity:1;pointer-events:auto;filter:none}.details h2{font-size:27px;line-height:1.2;color:var(--action-dark);margin:0 0 20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.details label>span,.signature-wrap>.sig-head span{display:block;font-weight:700;margin-bottom:7px;color:#344244}
input,select{width:100%;min-height:52px;border:1px solid #cfc8c2;border-radius:12px;background:#fff;font:inherit;padding:11px 13px;color:var(--ink);transition:border-color .15s,box-shadow .15s}input::placeholder{color:#9a9fa0}input:focus,select:focus{outline:0;border-color:var(--action);box-shadow:0 0 0 4px rgba(118,196,186,.25)}
.signature-wrap{margin-top:22px}.sig-head{display:flex;justify-content:space-between;align-items:center}.sig-head button{border:0;background:var(--mint-soft);border-radius:9px;color:var(--action);font:inherit;font-weight:700;padding:6px 11px;cursor:pointer}canvas{width:100%;height:165px;background:#fff;border:2px dashed #bcb2ab;border-radius:14px;touch-action:none;display:block}#sig-hint{font-size:12px;color:var(--muted);margin:5px 3px}
.privacy{background:var(--mint-soft);border-inline-start:4px solid var(--action);padding:15px 17px;margin:21px 0 16px;border-radius:12px}.privacy strong{color:var(--action-dark)}.privacy p{font-size:13px;color:#465457;margin:5px 0 0}.submit{display:block;width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,var(--action),var(--action-dark));color:#fff;text-align:center;text-decoration:none;font:inherit;font-size:17px;font-weight:700;padding:15px;min-height:56px;cursor:pointer;box-shadow:0 10px 24px rgba(23,103,93,.18);transition:.18s ease}.submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(23,103,93,.24)}.submit:disabled{background:#c9c2bc;box-shadow:none;cursor:not-allowed}.error{color:var(--danger);font-weight:700;min-height:24px;margin:8px 0}
.success{text-align:center;padding:44px 28px}.success .check{width:68px;height:68px;background:var(--action);color:#fff;display:grid;place-items:center;border-radius:50%;font:700 34px/1 Arial;margin:0 auto 16px}.success small{display:block;margin-top:14px;color:var(--muted)}
.guide-page main{max-width:780px}.guide-intro{margin-bottom:18px}.guide-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px;counter-reset:step}.guide-steps li{counter-increment:step;display:grid;grid-template-columns:38px 1fr;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px}.guide-steps li:before{content:counter(step);width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--mint-soft);color:var(--action);font-weight:700;grid-row:1/span 2}.guide-steps strong,.guide-steps span{grid-column:2}.guide-steps span{font-size:14px;color:var(--muted)}.guide-action{display:block;text-align:center;text-decoration:none}.guide-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;margin:0 0 14px;box-shadow:0 8px 30px rgba(46,58,61,.06)}.guide-card h2{margin:0 0 8px}.guide-card p{margin:0;line-height:1.65}.text-link{display:inline-block;margin-top:12px;color:var(--action);font-weight:700}
@media(max-width:620px){.top{height:66px}.top-inner{padding:9px 14px}.top img{height:34px}.brand-copy span{font-size:11px}.brand-copy strong{font-size:16px}.top-guide{width:34px;height:34px}main{padding:14px 10px 52px}.intro,.details,.success{border-radius:18px}.intro{padding:21px 17px}.language{justify-content:stretch;margin-bottom:17px}.language select{flex:1;min-width:0}.intro h1{font-size:31px}.intro>p:not(.eyebrow){font-size:15px}.commandments{gap:10px}.commandment{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:16px 13px;border-radius:16px}.num{width:32px;height:32px;border-radius:10px;font-size:15px}.commandment h2{font-size:18px;margin-top:1px}.commandment p{font-size:14px;line-height:1.62}.confirm-row{min-height:47px;margin-top:14px;padding:8px 10px 8px 12px}.confirm-text{font-size:15px}.check-box{width:29px;height:29px;border-radius:8px}.check-box svg{width:19px;height:19px}.details{padding:21px 16px}.details h2{font-size:24px}.grid{grid-template-columns:1fr;gap:13px}canvas{height:145px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
