:root{--ink:#13222C;--ink2:#3B4A52;--muted:#4A5A63;--line:#D8DED9;--ground:#F6F7F4;--brand:#0B5F63;--brand-d:#073F42;--tint:#E3EFEE;--warn:#A8560F;--warm:#FBEBDD;--quiet:#E6EBE8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;line-height:1.7}
a{color:var(--brand)}a:hover{color:var(--brand-d)}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.pad{padding-top:56px;padding-bottom:56px}
.row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.muted{color:var(--muted);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 18px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--brand-d);color:#fff}
.btn.lg{font-size:17px;padding:14px 26px;border-radius:12px}
.btn.sm{min-height:0;padding:4px 10px;font-weight:500}

/* header and footer */
.top{background:#fff;border-bottom:1px solid var(--line);padding:10px 0;position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--ink);text-decoration:none}
.menu{display:flex;flex-wrap:wrap;gap:20px;font-size:15px}.menu a{text-decoration:none}
.top-end{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.langs{display:flex;gap:10px;font-size:14px}.langs a{text-decoration:none;color:var(--muted)}.langs a[aria-current]{color:var(--brand);font-weight:700}
.foot{border-top:1px solid var(--line);background:#fff;margin-top:24px}
.foot p{margin:20px 0;font-size:13px;color:var(--muted);max-width:820px}
@media (max-width:760px){.menu{display:none}.top-end{gap:10px}}

/* landing */
.hero{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start;padding-top:32px;padding-bottom:40px}
.hero-main{flex:999 1 560px;min-width:0}
.eyebrow{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--brand)}
.hero h1{margin:0 0 12px;font-size:clamp(26px,3.1vw,38px);line-height:1.35;font-weight:800}
.lead{margin:0 0 18px;font-size:16.5px;color:var(--ink2);max-width:660px}
.pick-h{margin:0 0 12px;font-size:17px;font-weight:700}
.paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
@media (max-width:1100px){.paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.paths{grid-template-columns:1fr}}
.path{position:relative;display:block;cursor:pointer;padding:12px 14px;border-radius:12px;border:1px solid #C9D1CC;background:#fff}
.path input{position:absolute;opacity:0;width:1px;height:1px}
.path:has(input:checked){border:2px solid var(--brand);background:var(--tint);padding:11px 13px}
.path:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:2px}
.path-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15.5px}
.path .tick{color:var(--brand);visibility:hidden}.path:has(input:checked) .tick{visibility:visible}
.path-desc{display:block;font-size:12.5px;line-height:1.6;color:var(--muted);margin-top:4px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.sample{flex:1 1 320px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.tag{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--warn)}
.sample-h{margin:0 0 18px;font-size:18px;font-weight:700}
.sample-row{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.sample-row text{font-family:Vazirmatn,Tahoma,sans-serif}
.sample-lines{display:flex;flex-direction:column;gap:8px;font-size:15px}.sample-lines b{font-size:20px}
.locked-list{border-top:1px solid var(--quiet);padding-top:14px;display:flex;flex-direction:column;gap:10px}
.locked-row{display:flex;align-items:center;gap:10px;color:#8A979E;font-size:14px}
.redact{background:var(--quiet);color:var(--quiet);border-radius:4px;user-select:none}
.locked-list p{margin:4px 0 0;font-size:13px}
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-h{margin:0 0 8px;font-size:30px;font-weight:800;line-height:1.4}
.sec-p{margin:0 0 24px;font-size:17px;color:var(--ink2);max-width:820px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.steps li{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.steps li.free{background:var(--ground)}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.step-n{font-size:28px;font-weight:800;color:var(--brand)}
.pill{font-size:13px;font-weight:700;color:var(--brand);background:var(--tint);padding:2px 10px;border-radius:999px}.pill.warm{color:var(--warn);background:var(--warm)}
.steps h3{margin:0 0 6px;font-size:18px}.steps p{margin:0;font-size:15px;color:var(--ink2)}
.split{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.split-text{flex:1 1 400px;min-width:0}
.flow{flex:1 1 520px;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.panel{flex:1 1 230px;min-width:0;align-self:stretch;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.panel-h{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--muted)}
.demo-fields{display:grid;grid-template-columns:1fr;gap:4px;font-size:14px}
.demo-label{color:var(--muted)}
.demo-val{border:1px solid #C9D1CC;border-radius:8px;padding:6px 10px;background:#fff;margin-bottom:6px}
[dir=rtl] .demo-val[dir=ltr]{text-align:right}
.demo-val.file{border-style:dashed;border-color:var(--brand);color:var(--brand);background:#F2F8F7}
.arrow{color:var(--brand);flex:0 0 auto}
[dir=rtl] .arrow{transform:scaleX(-1)}
.builds{margin:0;padding-inline-start:18px;font-size:14px;display:flex;flex-direction:column;gap:8px}
.mock{flex:1 1 520px;min-width:0;margin:0;background:var(--ground);border:1px solid var(--line);border-radius:14px;padding:18px}
.mock-head{background:#fff;border:1px solid #9AA8A3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:13px}
.mock-head>div{padding:8px 10px}.mock-head>div+div{border-inline-start:1px solid #9AA8A3}
.mock-meta{display:flex;flex-direction:column;gap:2px}
.mock-title,.mock-co{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
.mock-title b{font-size:15px}
.logo{width:34px;height:34px;border-radius:8px;border:1px dashed #9AA8A3;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted)}
.mock-body{height:64px;display:flex;align-items:center;justify-content:center;color:#8A979E;font-size:13px}
.mock-sign{background:#fff;border:1px solid #9AA8A3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));font-size:13px;text-align:center}
.mock-sign>*{padding:6px;border-top:1px solid #9AA8A3;border-inline-start:1px solid #9AA8A3}
.mock-sign>:nth-child(4n+1){border-inline-start:0}.mock-sign>:nth-child(-n+4){border-top:0}
.mock-sign .h{background:var(--tint)}.mock-sign .tall{padding:14px 6px}
.mock figcaption{margin-top:10px;font-size:13px}
.cmp{min-width:680px;font-size:15px}
.cmp th{background:var(--tint);padding:14px 18px;text-align:start}.cmp th:first-child{width:44%}
.cmp td{padding:14px 18px;border-bottom:1px solid var(--quiet)}.cmp tr:last-child td{border-bottom:0}
.muted-ink{color:var(--ink2)}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.price{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--ground)}
.price h3{margin:0 0 4px;font-size:18px}.price .muted{margin:0 0 12px}
.amount{margin:0;font-size:22px;font-weight:800}.amount small{font-size:14px;font-weight:500;color:var(--muted)}
.fees{margin:20px 0 0}
.end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.end .sec-p{margin:0}

/* questionnaire, project, admin */
.form fieldset{background:#fff;border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:16px;min-width:0}
.form legend{font-weight:700;padding:0 6px}
.form{padding:24px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.fld{display:flex;flex-direction:column;gap:4px}.fld span{font-size:14px;color:var(--muted)}
input,select,textarea{font:inherit;padding:9px;border:1px solid #C9D1CC;border-radius:8px;background:#fff;width:100%}
.check{display:flex;align-items:center;gap:8px;min-height:44px}.check input{width:auto}
.result{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin:28px 0}
.score svg{width:140px;height:140px}.score .bg{fill:none;stroke:var(--quiet);stroke-width:12}
.score .fg{fill:none;stroke:var(--brand);stroke-width:12;stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px}
.score text{font-size:24px;font-weight:800;fill:var(--ink)}.score p{text-align:center;margin:0}
.facts ul{padding-inline-start:18px}.status{color:var(--muted)}
.quote,.locked{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0}
table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:8px;text-align:start}
.sum td{font-weight:700}.warn{color:var(--warn)}
.scroll{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
.inline{display:inline-flex;gap:8px;align-items:center}
.quote td:last-child{text-align:end;white-space:nowrap}
.quote .muted{font-size:.85em}

/* data forms */
.pad-s{padding:24px 0}.lead-s{color:var(--ink2);max-width:820px}.ok{color:#1E6B3A;font-weight:700}
.bar{display:block;height:10px;background:var(--quiet);border-radius:999px;overflow:hidden;max-width:520px}.bar span{display:block;height:100%;background:var(--brand)}
.bar.sm{height:6px;margin-top:8px}
.sec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:18px 0}
.sec-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--ink)}
.sec-card:hover{border-color:var(--brand)}.sec-card b{display:block}
.fld.wide{margin-bottom:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
table.rows{min-width:640px}table.rows td{padding:4px}table.rows input,table.rows select{padding:6px}
@media (max-width:600px){.grid2{grid-template-columns:1fr}}
.fld .btn.sm{align-self:flex-start;margin-top:6px}

/* project page */
.proj{display:grid;gap:16px;padding:24px 0}
.panel-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin:0}
.panel-card h2{margin:0 0 12px;font-size:20px}
.proj .result{margin:0;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.proj .score svg{width:120px;height:120px}
.facts h1{margin:4px 0 12px;font-size:clamp(22px,2.6vw,30px);line-height:1.4}
.status-pill{display:inline-block;margin:0;font-size:13px;font-weight:700;color:var(--brand);background:var(--tint);padding:2px 12px;border-radius:999px}
.stats{display:flex;flex-wrap:wrap;gap:10px}
.stats div{background:var(--ground);border:1px solid var(--line);border-radius:12px;padding:8px 14px;min-width:120px}
.stats b{display:block;font-size:22px}.stats span{font-size:13px;color:var(--muted)}
.btn-row{display:flex;flex-wrap:wrap;gap:10px}
.btn.ghost{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}.btn.ghost:hover{background:var(--tint);color:var(--brand)}
.reg-group{border-top:1px solid var(--line);padding:10px 0}.reg-group:first-of-type{border-top:0}
.reg-group summary{cursor:pointer;font-size:16px;min-height:32px}
.reg-group .scroll{margin-top:10px}
.reg td{font-size:14px}.reg td.code{white-space:nowrap;width:1%}.reg td.pdf{width:1%;white-space:nowrap}
.actions .muted{margin-top:0}
@media (max-width:600px){
 .top .row{gap:8px}.brand{font-size:17px}.top-end .btn{min-height:38px;padding:6px 12px;font-size:14px}
 .proj .result{justify-content:center;text-align:center}.stats{justify-content:center}
 .sec-h{font-size:24px}.pad{padding-top:36px;padding-bottom:36px}
}
.count{display:inline-block;min-width:28px;text-align:center;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--quiet);border-radius:999px;padding:0 8px;margin-inline-start:6px}
