:root{--bg:#0d1420;--card:#15202e;--ink:#eaf1f8;--sub:#9fb2c6;--line:#26384b;--accent:#2f9e8f;--accent2:#3a86c8;--danger:#d9655a}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(13,20,32,.9);backdrop-filter:blur(8px);z-index:5}
.logo{font-weight:800;letter-spacing:.04em}
.nav nav{display:flex;gap:18px;align-items:center}.nav nav a{color:var(--sub);font-size:14px}
.primary{background:linear-gradient(90deg,var(--accent),var(--accent2));border:none;color:#fff;font-weight:600;border-radius:12px;padding:12px 18px;cursor:pointer;font-size:15px}
.primary.sm{padding:9px 14px;font-size:14px}.primary.lg{padding:15px 26px;font-size:17px}.wide{width:100%}
.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:9px 14px;cursor:pointer;font-size:14px}
.hero{max-width:820px;margin:0 auto;padding:84px 24px 56px;text-align:center}
.hero h1{font-size:46px;line-height:1.1;margin:0 0 18px;font-weight:800}
.grad{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:19px;color:var(--sub);max-width:680px;margin:0 auto 28px}
.cta-row{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
.cta-sub{color:var(--sub);font-size:14px}
.trust{margin-top:26px;color:var(--sub);font-size:14px;font-style:italic}
section h2{text-align:center;font-size:30px;margin:0 0 8px}
.how{max-width:1000px;margin:0 auto;padding:56px 24px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.step{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
.step .n{width:34px;height:34px;border-radius:50%;background:linear-gradient(90deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:12px}
.step h3{margin:.2em 0}.step p{color:var(--sub);font-size:15px;margin:0}
.pricing{max-width:560px;margin:0 auto;padding:56px 24px 70px;text-align:center}
.pricing .sub{color:var(--sub);margin:0 0 26px}
.plan{background:var(--card);border:1px solid var(--accent);border-radius:20px;padding:32px;text-align:left;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.plan-tag{display:inline-block;background:#16302c;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;margin-bottom:14px}
.price{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}.amt{font-size:46px;font-weight:800}.per{color:var(--sub)}
.plan ul{list-style:none;padding:0;margin:0 0 22px}.plan li{padding:8px 0 8px 28px;position:relative;color:#dbe7f2}
.plan li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.finep{color:var(--sub);font-size:13px;text-align:center;margin-top:12px}
.foot{border-top:1px solid var(--line);padding:26px;text-align:center;color:var(--sub);font-size:13px}
/* modal */
.modal{position:fixed;inset:0;background:rgba(4,8,14,.7);display:flex;align-items:center;justify-content:center;z-index:20;padding:18px}
.modal.hidden{display:none}.hidden{display:none}
.modal-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;width:100%;max-width:420px;position:relative}
.x{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--sub);font-size:26px;cursor:pointer;line-height:1}
.tabs{display:flex;gap:8px;margin-bottom:18px}
.tab{flex:1;background:transparent;border:1px solid var(--line);color:var(--sub);border-radius:10px;padding:10px;cursor:pointer}
.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.authform{display:flex;flex-direction:column;gap:12px}
.authform label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--sub)}
.authform input{background:#0e1825;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:12px;font-size:16px}
.authform input:focus{outline:none;border-color:var(--accent)}
.msg{font-size:13px;min-height:18px}.msg.err{color:var(--danger)}.msg.ok{color:var(--accent)}
/* app */
.appbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line)}
.appwrap{max-width:1100px;margin:0 auto;padding:22px;display:grid;grid-template-columns:380px 1fr;gap:20px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.panel h3{margin:0 0 12px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;color:var(--sub)}
.field select,.field textarea,.field input{background:#0e1825;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:12px;font-size:15px}
.field textarea{min-height:220px;resize:vertical;font-family:inherit}
.note-out{min-height:300px}
.note-out iframe{width:100%;height:640px;border:1px solid var(--line);border-radius:10px;background:#fff}
.badge{display:inline-block;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--sub)}
.badge.warn{color:#e0b15a;border-color:#5a4a2a;background:#2a230f}
.copybar{display:flex;gap:10px;margin:12px 0}
.chk-group{margin-bottom:14px}
.chk-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);margin:6px 0}
.chk{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:7px;cursor:pointer;font-size:14px;background:#0e1825}
.chk:hover{border-color:var(--accent2)}
.chk input{width:18px;height:18px;accent-color:var(--accent)}
.ghost.sm{padding:6px 12px;font-size:13px}
.out-block{background:#0f1925;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px;overflow-x:auto}
.out-block pre{white-space:pre-wrap}
/* the AI note is a document — render it on a white "paper" surface so its
   light-theme inline styles (dark text on light) are legible, not white-on-dark. */
.note-surface{background:#fff;color:#1f2d3d;border:1px solid #d8e0ea;border-radius:10px;padding:16px 22px;margin-bottom:14px;overflow-x:auto}
.note-surface pre{white-space:pre-wrap;color:#1f2d3d}
.note-surface h2,.note-surface h3,.note-surface h4{color:#2c3e50}
.note-surface a{color:#2c6fb5}
/* collapsible subdivisions in the Include panel */
.group-h{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--sub);cursor:pointer;padding:0;font:inherit;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:12px 0 8px}
.group-h:hover{color:var(--ink)}
.group-h .caret{font-size:10px;transition:transform .15s}
.chk-group.collapsed .group-body{display:none}
.chk-group.collapsed .group-h .caret{transform:rotate(-90deg)}
.chk-sub{text-transform:none;letter-spacing:0;color:var(--sub);opacity:.65;font-weight:400}
/* collapsible output sections */
.out-sec{margin-bottom:12px}
.sec-bar{display:block;width:100%;text-align:left;background:#0f1925;border:1px solid var(--line);border-radius:10px;padding:9px 14px;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;font-weight:600}
.sec-bar:hover{border-color:var(--accent2)}
.out-sec .sec-body{margin-top:8px}
.out-sec.collapsed .sec-body{display:none}
.docrow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.docrow:last-child{border-bottom:none}
/* inline signed-PDF preview: see what is inside without downloading */
.docprev{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:14px;background:#0e1825}
.docprev-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px}
.pdfframe{width:100%;height:580px;border:0;background:#fff;display:block}
@media(max-width:800px){.pdfframe{height:430px}}
@media(max-width:800px){.steps{grid-template-columns:1fr}.appwrap{grid-template-columns:1fr}.hero h1{font-size:34px}}
