:root{--ink:#18263b;--muted:#617087;--blue:#235bdd;--pale:#eef4ff;--line:#dbe3ee;--bg:#f7f9fc;--error:#b32f35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7ca4ff}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(39px,4.6vw,64px);line-height:1.07;letter-spacing:-2.4px;font-weight:650;margin-bottom:24px}h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin-bottom:12px}h3{font-size:19px;line-height:1.35}p{margin-bottom:20px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:23px;font-weight:750;letter-spacing:-1px}.brand svg{color:var(--blue)}.navlinks{display:flex;align-items:center;gap:28px;font-size:14px}.navlinks a{text-decoration:none}.navlinks a:hover{color:var(--blue)}.demo-pill{font-size:12px;font-weight:600;border:1px solid var(--line);border-radius:30px;padding:5px 11px;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:70px;padding:66px 0 72px;align-items:start}.intro{padding-top:30px;position:sticky;top:32px}.eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:24px}.intro h1 span{color:var(--blue)}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:400px}.benefits{display:flex;flex-direction:column;gap:12px;margin:29px 0 32px}.benefits span{display:flex;gap:12px;font-size:14px}.check{color:var(--blue);font-weight:700}.mini-doc{margin-top:39px;background:var(--bg);border:1px solid #e9edf5;border-radius:14px;padding:22px;max-width:360px;display:flex;gap:16px;align-items:center}.mini-doc svg{color:var(--blue);flex:none}.mini-doc strong{display:block;font-size:14px}.mini-doc small{color:var(--muted);font-size:12px}.form-card{border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 12px 40px #163a7407;min-width:0}.steps{list-style:none;display:flex;padding:0;margin:0 0 30px;gap:4px}.steps li{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);flex:1}.steps li:last-child{flex:.8}.steps b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);font-size:11px;flex:none}.steps [aria-current=step]{color:var(--blue);font-weight:650}.steps [aria-current=step] b{background:var(--blue);border-color:var(--blue);color:white}.form-card h2{font-size:24px}.sub{color:var(--muted);font-size:13px;margin-bottom:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}.field>label,.field>span{font-size:12px;font-weight:650}.optional{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;background:white;border:1px solid #cbd5e2;border-radius:8px;color:var(--ink);font-size:14px}textarea{resize:vertical;min-height:74px}label small{font-weight:400}.drop{border:1.5px dashed #adc3e7;border-radius:10px;background:#f8faff;text-align:center;padding:20px 14px;margin-bottom:9px}.drop.drag{background:#e8f0ff;border-color:var(--blue)}.drop svg{color:var(--blue);display:block;margin:0 auto 9px}.upload{display:inline-flex;background:white;border:1px solid #c3d1e6;border-radius:7px;color:var(--blue);padding:8px 16px;font-size:13px;font-weight:650;cursor:pointer}.drop p{font-size:11px;color:var(--muted);margin:9px 0 0}.fileinput{position:absolute;opacity:0;width:1px;height:1px;padding:0;min-height:0}.fileinput:focus-visible+.upload{outline:3px solid #7ca4ff;outline-offset:4px}.textbtn{border:0;padding:0;background:none;color:var(--blue);font-size:12px;text-decoration:underline;text-underline-offset:3px}.filelist{list-style:none;padding:0;margin:12px 0}.file-row{display:grid;grid-template-columns:minmax(0,1fr) 71px 44px;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.filename{font-size:12px;overflow-wrap:anywhere;font-weight:600}.file-row small{display:block;font-size:10px;color:var(--muted)}.file-row input{padding:5px 7px;min-height:34px;font-size:12px}.file-row label{font-size:10px;color:var(--muted)}.remove{background:none;border:0;font-size:23px;color:var(--muted);padding:0;min-height:44px;min-width:44px}.hint{font-size:11px;color:var(--muted);margin:8px 0 20px}.primary{border:0;border-radius:8px;background:var(--blue);color:white;font-size:14px;font-weight:650;padding:14px 18px;min-height:48px;width:100%;display:block}.primary:hover{background:#174cc8}.primary:disabled{background:#a4b8dd;cursor:wait}.back{border:0;background:none;color:var(--blue);font-size:13px;padding:0;margin:0 0 20px}.notice{font-size:12px;border-radius:8px;padding:13px;background:var(--pale);color:#34527e;margin:18px 0}.error{font-size:12px;color:var(--error);padding:10px 0;margin:0}.error:empty{display:none}.quiet{font-size:11px;line-height:1.6;color:var(--muted);text-align:center;margin:12px 0 0}.summary{margin:22px 0}.summary div{display:flex;justify-content:space-between;gap:22px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere;max-width:66%}.amount{font-size:34px;font-weight:650;letter-spacing:-1px}.costbox{border:1px solid var(--line);border-radius:10px;padding:20px;margin:20px 0}.costbox p{font-size:12px;color:var(--muted);margin:0 0 5px}.success-icon{width:60px;height:60px;background:var(--pale);color:var(--blue);display:grid;place-items:center;border-radius:50%;font-size:28px;margin:12px 0 22px}.success-email{font-weight:650;overflow-wrap:anywhere}.section{padding:64px 0;border-top:1px solid var(--line)}.section-title{margin-bottom:34px}.section-title p{color:var(--muted);font-size:14px;margin:0}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.process .number{color:var(--blue);font-size:13px;display:block;margin-bottom:18px}.process p{font-size:14px;color:var(--muted);margin-bottom:0}.tariffs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tariff{padding:25px;border:1px solid var(--line);border-radius:12px}.tariff h3{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:16px}.tariff strong{font-size:34px;letter-spacing:-1px;font-weight:650}.tariff span{font-size:13px;color:var(--muted)}.tariff:first-child{background:var(--bg)}.pricing-note{font-size:12px;color:var(--muted);margin:16px 0 0}.faq{max-width:800px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-size:15px;font-weight:600}details p{font-size:14px;color:var(--muted);margin:14px 0 0;max-width:690px}footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:32px}.footer-inner p{max-width:650px;margin:0}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}.loading-dot{display:inline-block;width:14px;height:14px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;vertical-align:middle;margin-right:9px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.hero{gap:32px}.form-card{padding:24px}.steps{gap:3px}.steps li{font-size:10px}.wrap{width:calc(100% - 40px)}h1{font-size:45px}}@media(max-width:720px){.nav{height:72px}.navlinks a{display:none}.navlinks{gap:0}.hero{grid-template-columns:1fr;padding-top:35px;gap:28px}.intro{position:static;padding:0}.eyebrow{margin-bottom:17px}h1{font-size:43px;letter-spacing:-1.6px;max-width:540px;margin-bottom:18px}.lead{max-width:100%;font-size:16px;margin-bottom:0}.benefits{gap:8px;margin:19px 0 0}.mini-doc{display:none}.form-card{padding:22px}.process,.tariffs{grid-template-columns:1fr;gap:20px}.section{padding:42px 0}.process{gap:27px}.process .number{margin-bottom:8px}.process h3{margin-bottom:9px}.tariff{display:flex;align-items:center;justify-content:space-between;padding:20px}.tariff h3{margin:0}.tariff strong{font-size:28px}.footer-inner{flex-direction:column;gap:14px}}@media(max-width:380px){.wrap{width:calc(100% - 28px)}.form-card{padding:17px}.grid{gap:10px}.steps li{font-size:9px;gap:4px}.steps b{width:21px;height:21px}h1{font-size:37px}}@media(max-width:420px){.steps{display:grid;grid-template-columns:1fr 1fr;gap:12px}.steps li{font-size:12px;gap:7px}.steps b{width:25px;height:25px}.grid{grid-template-columns:1fr;gap:0}.tariff{gap:12px}.tariff h3{max-width:50%}.tariff strong{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loading-dot{animation:none}}
/* Accessible controls and narrow-screen readability. */
input,select,textarea{font-size:16px;border-color:#7a899e}
.file-row input{font-size:16px;min-height:44px}
.textbtn,.back{min-height:44px}
.upload{min-height:44px;align-items:center;border-color:#7a899e}
.navlinks a{min-height:44px;display:inline-flex;align-items:center}
summary{min-height:44px;align-content:center}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.fileinput:focus-visible+.upload{outline-color:var(--blue)}
#payment-email{overflow-wrap:anywhere}
@media(max-width:720px){.navlinks a{display:none}}
/* Рабочий MVP: строка файла без поля страниц; бывшие inline-стили макета. */
.file-row-plain{grid-template-columns:minmax(0,1fr) 44px}
.brand-dot{color:var(--blue)}
.field-hint{margin:0}
.costbox .rate{margin-top:8px}
#to-payment:disabled{cursor:not-allowed}
/* 5.2: ошибки у полей (текст + рамка, не только цвет) и подписи зоны файлов из form-config. */
.field-error{padding:0;margin:0}
.filelist+.field-error{margin:0 0 12px}
[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.fileinput[aria-invalid=true]+.upload{border-color:var(--error)}
#file-limits:empty{display:none}
/* Строка файла 5.3: имя, статус, ошибка текстом и действия (цели 44 px, перенос имён). */
.file-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.file-info{flex:1 1 12rem;min-width:0}
.filename:focus{outline:none}
.filename:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.file-status{font-size:12px;color:var(--muted);margin:2px 0 0}
.file-status-error{color:var(--error);font-weight:650}
.file-error{font-size:12px;color:var(--error);margin:4px 0 0;overflow-wrap:anywhere}
.file-error:empty{display:none}
.file-actions{display:flex;flex-wrap:wrap;gap:8px}
.file-actions:empty{display:none}
.file-action{min-height:44px;min-width:44px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--blue);font-size:13px;font-weight:600}
.file-action:hover{background:var(--pale)}
.file-action:disabled{color:var(--muted);cursor:wait}
#calculate-hint{margin:8px 0 0;text-align:center}
#calculate-hint:empty{display:none}
#calculate:disabled{cursor:not-allowed}
[aria-busy=true] #calculate:disabled{cursor:wait}
