:root { color-scheme: light; --ink:#071a2b; --navy:#0b263d; --teal:#0d9488; --teal-light:#2dd4bf; --paper:#f4f7f5; --line:#d9e4e0; --muted:#607386; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html,body { min-height:100%; margin:0; }
body { background:var(--paper); }
a { color:inherit; }
button,input { font:inherit; }
.product-header { background:var(--ink); color:#fff; }
.header-shell { display:flex; width:min(1180px,calc(100% - 44px)); min-height:76px; margin:0 auto; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.brand-mark { position:relative; display:grid; width:39px; height:39px; place-items:center; overflow:hidden; border-radius:11px; background:var(--teal-light); color:var(--ink); font-weight:900; }
.brand-mark span { transform:translateX(-3px); }
.brand-mark i { position:absolute; width:10px; height:2px; right:6px; background:var(--ink); box-shadow:0 -5px 0 var(--ink),0 5px 0 var(--ink); }
.brand-name { font-size:1.1rem; font-weight:850; letter-spacing:-.035em; }
.brand-name span { color:var(--teal-light); }
.header-shell nav { display:flex; align-items:center; gap:25px; }
.header-shell nav a { color:#b9cad3; font-size:.78rem; font-weight:750; text-decoration:none; }
.header-shell nav a:hover { color:#fff; }
.header-shell nav .header-button { padding:9px 13px; border:1px solid #2c4b60; border-radius:9px; color:#fff; }
.page-shell { width:min(1180px,calc(100% - 44px)); margin:0 auto; padding:76px 0 90px; }
.product-hero { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:80px; margin-bottom:48px; }
.eyebrow,.step { margin:0 0 9px; color:#087d74; font-size:.68rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow.dark { color:#087d74; }
h1 { margin:0; color:var(--ink); font-size:clamp(3.2rem,7vw,6.5rem); letter-spacing:-.075em; line-height:.9; }
h1 em { color:var(--teal); font-style:normal; }
.hero-copy { margin:0; color:var(--muted); font-size:1.02rem; line-height:1.75; }
.workspace-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); align-items:start; gap:18px; }
.workspace-card,.process-card,.results-card,.policy-card { border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 18px 55px rgba(7,26,43,.07); }
.workspace-card,.results-card { padding:clamp(24px,4vw,40px); }
.process-card { padding:28px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:23px; }
h2 { margin:0; color:var(--ink); font-size:clamp(1.4rem,3vw,2rem); letter-spacing:-.04em; }
.file-limit,.fine-print,.quota-note { color:#71838e; font-size:.72rem; }
.drop-zone { display:grid; min-height:230px; place-items:center; align-content:center; gap:8px; border:1.5px dashed #9cc7bf; border-radius:14px; background:#f4faf8; color:#647a85; cursor:pointer; text-align:center; transition:border-color .15s,background .15s; }
.drop-zone:hover,.drop-zone:focus-within { border-color:var(--teal); background:#edf9f6; }
.drop-zone input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.drop-zone strong { color:var(--ink); font-size:.94rem; }
.drop-zone > span:last-child { font-size:.76rem; }
.upload-icon { display:grid; width:48px; height:48px; margin-bottom:5px; place-items:center; border-radius:13px; background:#d9f4ee; }
.upload-icon svg { width:23px; fill:none; stroke:#087d74; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.file-list { display:grid; gap:7px; margin:14px 0 0; padding:0; list-style:none; }
.file-list li { display:flex; justify-content:space-between; gap:18px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#fafcfb; color:#405765; font-size:.75rem; }
.consent-panel { margin:24px 0 18px; padding:18px; border:1px solid var(--line); border-radius:12px; background:#f7f9f8; }
.consent-row { display:flex; align-items:flex-start; gap:11px; color:#38505e; font-size:.82rem; line-height:1.58; }
.consent-row input { width:18px; height:18px; flex:0 0 18px; margin-top:2px; accent-color:var(--teal); }
.fine-print { margin:9px 0 0 29px; line-height:1.55; }
.fine-print a { color:#087d74; font-weight:750; }
.primary-button,.secondary-button { border:0; border-radius:10px; cursor:pointer; font-weight:850; }
.primary-button { width:100%; min-height:51px; background:var(--teal); color:#fff; box-shadow:0 12px 28px rgba(13,148,136,.16); }
.primary-button span { margin-left:8px; }
.secondary-button { padding:10px 14px; background:#e3f5f1; color:#08766e; }
button:disabled { cursor:not-allowed; opacity:.45; }
.status { min-height:22px; margin-top:12px; color:#607483; font-size:.78rem; line-height:1.5; text-align:center; }
.status[data-kind="error"] { color:#b42318; }
.status[data-kind="success"] { color:#087a58; }
.process-list { display:grid; gap:21px; margin:25px 0; padding:0; list-style:none; }
.process-list li { display:grid; grid-template-columns:29px 1fr; gap:12px; }
.process-list li > span { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:#e5f5f1; color:#087d74; font-size:.62rem; font-weight:900; }
.process-list div { display:grid; gap:3px; }
.process-list strong { font-size:.78rem; }
.process-list small { color:#70838e; font-size:.68rem; line-height:1.45; }
.limit-box { display:grid; gap:2px; padding:15px; border-radius:11px; background:var(--ink); color:#fff; }
.limit-box strong { color:var(--teal-light); font-size:.84rem; }
.limit-box span { color:#a7bac5; font-size:.66rem; }
.security-note { display:grid; grid-template-columns:27px 1fr; gap:10px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.security-note > span { display:grid; width:25px; height:25px; place-items:center; border-radius:7px; background:#e4f5f0; color:#087d74; font-size:.65rem; font-weight:900; }
.security-note p { display:grid; gap:3px; margin:0; }
.security-note strong { font-size:.7rem; }
.security-note small { color:#738691; font-size:.63rem; line-height:1.45; }
.results-card { margin-top:18px; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:12px; }
table { width:100%; border-collapse:collapse; font-size:.72rem; white-space:nowrap; }
th,td { padding:11px 12px; border-bottom:1px solid #e7edeb; text-align:left; }
th { background:#edf5f2; color:#294856; }
tbody tr:last-child td { border-bottom:0; }
.quota-note { margin:13px 0 0; }
footer { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; padding:24px; border-top:1px solid var(--line); color:#71838e; font-size:.68rem; }
footer a { text-underline-offset:3px; }

.policy-body { background:#eef2f0; }
.policy-shell { width:min(900px,calc(100% - 32px)); margin:58px auto 80px; }
.policy-card { padding:clamp(28px,6vw,58px); }
.policy-card h1 { margin:0 0 30px; font-size:clamp(2.7rem,7vw,5rem); }
.policy-card h2 { margin:32px 0 10px; font-size:1.15rem; }
.policy-card p,.policy-card li { color:#4d6472; font-size:.88rem; line-height:1.75; }
.policy-card a { color:#087d74; }

@media (max-width:850px) { .product-hero,.workspace-layout { grid-template-columns:1fr; gap:34px; } .product-hero { margin-bottom:34px; } .process-card { order:-1; } }
@media (max-width:620px) { .header-shell,.page-shell { width:min(100% - 26px,1180px); } .header-shell nav a:not(.header-button) { display:none; } .page-shell { padding-top:48px; } .section-heading { align-items:flex-start; flex-direction:column; } .workspace-card,.results-card { border-radius:14px; } h1 { font-size:clamp(3rem,16vw,4.8rem); } }
