:root{--ink:#20241f;--muted:#777c76;--line:#e1e4dc;--paper:#f6f7f2;--blue:#3558e8;--tint:#eef1fd;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{touch-action:manipulation}button{background:none;border:0}button:disabled{opacity:.4;cursor:default}a,button{transition:color .18s,background .18s,transform .18s}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:4px}button:hover:not(:disabled),.button:hover{filter:brightness(.94)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid transparent;cursor:pointer}.blue{background:var(--blue);color:white}.dark{background:var(--ink);color:white}.light{background:#fff;color:var(--ink)}.subtle{background:transparent;border-color:#cdd2c8}.text_link{font-size:12px;font-weight:600}.wordmark{font-size:29px;font-weight:750;letter-spacing:-1.6px;white-space:nowrap}.wordmark>span,.heading_period{color:var(--blue)}.wordmark.small{font-size:22px}.overline{font-size:10px;letter-spacing:1.7px;font-weight:600;line-height:1.6;color:var(--muted)}.status_dot{display:inline-block;width:6px;height:6px;background:#72896b;border-radius:50%;margin-right:7px}.app_nav,.public_nav{height:83px;display:flex;align-items:center;justify-content:space-between;gap:36px;padding:0 5%;border-bottom:1px solid var(--line);background:#fafbf7}.app_nav nav,.public_nav nav{display:flex;align-items:center;gap:30px;height:100%;font-size:12px;color:#6d736a}.app_nav nav{margin-right:auto;margin-left:45px}.app_nav nav a{height:100%;display:flex;align-items:center}.app_nav nav .current{color:var(--ink);border-bottom:2px solid var(--ink);font-weight:600}.workspace_switch{display:flex;gap:14px;align-items:center;font-size:11px;color:#71766e}.avatar{display:grid;place-items:center;width:30px;height:30px;background:#e7eade;border:1px solid #d8decb;border-radius:50%;font-size:10px;color:#626e54}.documents_main{max-width:1540px;margin:0 auto;padding:52px 5% 0}.page_heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;gap:25px}.page_heading h1{font-size:48px;line-height:1.1;letter-spacing:-2px;font-weight:500;margin:11px 0}.page_heading p{font-size:13px;color:var(--muted);margin:13px 0 0}.heading_actions{display:flex;gap:27px;align-items:center}.heading_actions .text_link{color:#7d8378}.intake{padding:26px 28px;display:flex;align-items:center;gap:26px;border-top:1px solid #d9dfd0;border-bottom:1px solid #d9dfd0;background:#eef1e8}.intake h2{font-size:16px;font-weight:500;letter-spacing:-.3px;margin:0 0 7px}.intake p{margin:0;font-size:12px;color:#7a8272}.intake .button{margin-left:auto}.intake_symbol{position:relative;width:43px;height:47px;flex-shrink:0}.intake_symbol span{position:absolute;width:29px;height:38px;left:0;top:0;border:1px solid #aebba0;border-radius:3px;background:#eef1e8;transform:rotate(-10deg)}.intake_symbol span:last-child{left:10px;top:7px;transform:rotate(6deg);background:#fafcf6}.intake_symbol span:last-child:after{content:'';display:block;margin:13px 7px;height:8px;border-top:1px solid #aebba0;border-bottom:1px solid #aebba0}.trial_line{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#91978b;margin:15px 0 43px;gap:12px}.trial_line button{font-size:10px;color:#92998b}.trial_line strong{font-weight:500;color:#737d68;margin-left:8px}.library{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:34px}.library_main{min-width:0}.library_toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.list_tabs{display:flex;gap:23px}.list_tabs button{padding:14px 0 18px;font-size:12px;color:#8a9085;border-bottom:2px solid transparent;white-space:nowrap}.list_tabs button.selected{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.list_tabs span{font-size:10px;margin-left:5px;color:#a3aa9b}.document_search{display:flex;align-items:center;gap:9px;max-width:170px}.document_search span{width:11px;height:11px;border:1px solid #90998a;border-radius:50%;position:relative;flex-shrink:0}.document_search span:after{content:'';position:absolute;bottom:-3px;right:-3px;width:5px;height:1px;transform:rotate(45deg);background:#90998a}.document_search input{width:100%;border:0;background:none;padding:9px 0;font-size:11px;min-width:0}.document_search input::placeholder{color:#92998a}.bulk_bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 0;font-size:10px;color:#899080}.bulk_bar>div{display:flex;align-items:center;gap:16px}.bulk_bar label{display:flex;align-items:center;gap:7px}.bulk_bar input{accent-color:var(--blue);margin:0}.bulk_bar button{font-size:10px;color:#586650}.document_table_wrap{overflow:auto}.document_table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.document_table th{padding:13px 12px;font-size:9px;letter-spacing:1px;color:#8c9583;font-weight:500;background:#edf0e7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.document_table td{padding:20px 12px;border-bottom:1px solid var(--line);font-size:11px}.document_table td:first-child{width:20px}.document_table input{accent-color:var(--blue)}.document_name{display:flex;align-items:center;gap:12px}.file_glyph{width:27px;height:34px;border:1px solid #c7cec0;background:#fcfdf9;border-radius:2px;position:relative;flex-shrink:0}.file_glyph:after{content:'';position:absolute;inset:12px 6px 8px;border-top:1px solid #b6c1ae;border-bottom:1px solid #b6c1ae}.document_name strong{display:block;font-size:12px;font-weight:500}.document_name small{display:block;font-size:9px;margin-top:6px;color:#9ba291}.status_done{font-size:10px;color:#58704b;white-space:nowrap}.status_done:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#7f9670;margin-right:6px}.row_action{font-size:10px;color:var(--blue);font-weight:600}.delete_button{font-size:10px;margin-left:10px;color:#989e91}.library_caption{display:flex;justify-content:space-between;font-size:9px;color:#9aa28f;margin-top:15px;gap:12px}.workflow_note{padding:72px 0 38px;color:#a2aa98}.workflow_note .overline{font-size:8px;color:#a2aa98}.workflow_note>div{display:flex;align-items:center;gap:17px;margin-top:22px;font-size:11px}.workflow_note b{font-weight:400;color:#afb7a5;font-size:9px;margin-right:6px}.workflow_note i{height:1px;background:#dce2d4;flex:1;max-width:55px}.document_peek{border-left:1px solid var(--line);padding-left:29px;padding-top:12px}.document_peek .overline{font-size:8px}.preview_paper{display:block;height:179px;background:#e7eadf;padding:20px 33px 0;overflow:hidden;margin:20px 0}.preview_paper img{display:block;width:100%;box-shadow:0 2px 8px #2221;transition:transform .3s}.preview_paper:hover img{transform:translateY(-6px)}.document_peek h2{font-size:14px;font-weight:500;margin:0 0 7px}.document_peek p{font-size:10px;color:#8c9580;margin:0}.document_peek dl{margin:22px 0}.document_peek dl>div{display:flex;justify-content:space-between;margin-bottom:12px;font-size:11px}.document_peek dt{color:#8b9480}.document_peek dd{margin:0;color:#5b694f;font-size:12px}.document_peek .button{width:100%;min-height:39px;font-size:11px}.document_peek .peek_note{margin-top:12px;font-size:9px;line-height:1.6}.workspace_footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:22px;margin-top:50px;padding:22px 0;color:#959d8b;font-size:10px}.workspace_footer>button{margin-left:auto;font-size:10px}.workspace_footer .wordmark{color:#767f6c}.list_empty{padding:45px 0}.list_empty h3{font-size:16px;font-weight:500}.list_empty p{color:var(--muted);font-size:12px}dialog{width:min(500px,90vw);padding:40px;border:1px solid #d9dfd1;border-radius:8px;background:#fafbf7;color:var(--ink);box-shadow:0 20px 80px #17200930}dialog::backdrop{background:#161c2644;backdrop-filter:blur(3px)}dialog h2{font-size:25px;letter-spacing:-.6px;font-weight:500;margin-top:0}dialog p,dialog li{font-size:13px;color:#717b67;line-height:1.7}dialog ul{padding-left:17px}dialog a{color:var(--blue)}.close_dialog{position:absolute;right:15px;top:11px;font-size:25px;color:#819075}dialog .button{margin-top:12px}.public_nav{height:82px}.public_nav>div{display:flex;align-items:center;gap:27px}.public_nav .button{min-height:37px;font-size:11px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#f6f7f2;position:relative}.hero_copy{padding:49px 8% 38px 10%;animation:arrive .7s both}.hero_copy .overline{font-size:9px}.hero_brand{font-size:92px;line-height:1.1;font-weight:750;letter-spacing:-6px;margin:17px 0 27px}.hero_brand>span{color:var(--blue)}.hero h1{font-size:62px;font-weight:400;line-height:1.04;letter-spacing:-3px;margin:0 0 23px}.hero_copy>p{max-width:340px;font-size:16px;line-height:1.7;color:#7b8373;margin:0 0 27px}.hero_actions{display:flex;align-items:center;gap:26px}.hero_annotation{font-size:10px;line-height:1.8;color:#8f9886;margin-top:34px}.hero_visual{background:#dfe6f7;overflow:hidden;padding:34px 9% 24px;display:flex;flex-direction:column;position:relative;animation:arrive .9s both}.visual_label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#7d8bae;padding-bottom:24px}.hero_document{width:100%;max-width:470px;margin:auto;position:relative;transform:rotate(-4deg);box-shadow:0 12px 30px #3545771c;max-height:455px;overflow:hidden;background:white}.hero_document img{display:block;width:100%}.hero_source_region{position:absolute;border:2px solid var(--blue);background:#3558e82e;box-shadow:0 0 0 3px #3558e826,0 0 0 1px #fff}.extracted_strip{z-index:2;position:relative;margin:-10px 0 0 12%;padding:21px 24px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 8px 22px #35457721;animation:arrive 1.1s both}.extracted_strip>div>span{font-size:8px;letter-spacing:1.5px;display:block;color:#c1cdff;margin-bottom:10px}.extracted_strip strong{font-size:20px;letter-spacing:-.5px;font-weight:500}.located_label{font-size:9px;color:#cbd5ff;white-space:nowrap}.visual_footer{display:flex;justify-content:space-between;font-size:8px;color:#7f8eac;margin-top:27px;gap:10px}.industry_line{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.industry_line>span{font-size:9px;letter-spacing:1.5px;color:#9da594}.industry_line p{font-size:17px;letter-spacing:-.3px;color:#7a8570;margin:0}.section_wrap{max-width:1440px;margin:0 auto;padding:100px 7%}.section_heading h2{font-size:42px;letter-spacing:-1.7px;font-weight:400;line-height:1.15;margin:20px 0}.section_heading>p{color:#8b9580;font-size:14px;line-height:1.7}.proof_workspace{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:43px;min-height:450px}.proof_source{height:460px;overflow:auto;position:relative;background:#e8ecdf;padding:0;scroll-behavior:smooth}.proof_source img{display:block;width:100%}.proof_source>div{position:absolute;border:2px solid var(--blue);background:#3558e819;transition:top .3s,left .3s,width .3s,height .3s;pointer-events:none}.proof_values{padding:35px 0 25px 50px}.proof_values>.overline{font-size:8px;margin-bottom:23px}.proof_field{display:grid;grid-template-columns:1fr auto;width:100%;text-align:left;padding:20px 15px;border-bottom:1px solid var(--line);border-left:2px solid transparent;gap:10px}.proof_field>span{font-size:11px;color:#8f9884}.proof_field strong{grid-row:2;grid-column:1;font-size:18px;font-weight:500;letter-spacing:-.3px}.proof_field small{grid-column:2;grid-row:2;color:#98a18d;font-size:10px}.proof_field.selected{border-left-color:var(--blue);background:#eef1f9}.proof_note{font-size:11px;color:#929c86;margin:21px 0}.proof_values>.button{font-size:11px;min-height:39px}.capabilities{padding-top:15px;display:grid;grid-template-columns:1fr 1.1fr;gap:50px}.capabilities .section_heading{position:sticky;top:40px;align-self:start}.capability_rows article{display:grid;grid-template-columns:35px 1fr;border-top:1px solid var(--line);padding:24px 0}.capability_rows article>span{color:#a1aa94;font-size:10px;padding-top:3px}.capability_rows h3{font-size:19px;letter-spacing:-.4px;font-weight:500;margin:0}.capability_rows p{grid-column:2;max-width:370px;font-size:13px;line-height:1.7;color:#8a957d;margin:12px 0 3px}.deployment{background:#242c24;color:#f6f8f0}.deployment_inner{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-top:85px;padding-bottom:85px}.deployment .overline{color:#909f88}.deployment h2{font-size:44px;letter-spacing:-1.8px;font-weight:400;line-height:1.15;margin:20px 0}.deployment p{max-width:350px;font-size:14px;line-height:1.8;color:#abb5a4}.deployment .button{margin-top:20px;font-size:11px}.deployment_list>div{border-top:1px solid #4b5645;padding:25px 0;position:relative;padding-left:40px}.deployment_list span{position:absolute;left:0;top:29px;font-size:10px;color:#849279}.deployment_list h3{font-size:20px;font-weight:400;letter-spacing:-.5px;margin:0 0 8px}.deployment_list p{font-size:12px;margin:0}.pricing_columns{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px}.pricing_columns>article{padding:8px 30px 5px;border-left:1px solid var(--line)}.pricing_columns>article:first-child{padding-left:0;border:0}.pricing_columns h3{font-weight:400;font-size:20px;letter-spacing:-.5px;margin:20px 0 30px}.price{font-size:28px;letter-spacing:-1px;margin-bottom:12px}.pricing_columns p{font-size:11px;color:#89947c}.pricing_columns ul{list-style:none;padding:12px 0;margin:20px 0 24px;min-height:100px}.pricing_columns li{font-size:12px;color:#818d74;margin-bottom:13px}.pricing_columns .button{font-size:11px}.team_line{padding-top:5px;padding-bottom:85px;display:flex;gap:70px;align-items:center}.team_line>.overline{max-width:200px;flex-shrink:0}.team_line p{font-size:19px;line-height:1.6;letter-spacing:-.4px;max-width:700px;color:#7a866e}.final_cta{background:var(--blue);color:white;text-align:center;padding:85px 20px}.final_cta .overline{color:#b8c6ff}.final_cta h2{font-size:49px;letter-spacing:-2px;font-weight:400;margin:25px 0 17px}.final_cta p{font-size:16px;color:#c6d0ff;margin:0 0 30px}.cta_secondary{display:block;margin-top:23px;font-size:11px;color:#c4ceff}.public_footer{padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fafbf7}.public_footer>span{font-size:10px;color:#929e85}.public_footer nav{display:flex;gap:18px}.public_footer button{font-size:10px;color:#808d73}html{scroll-behavior:smooth}[hidden]{display:none!important}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero{min-height:740px}.hero_copy{padding-top:65px}.hero_brand{font-size:110px}.hero h1{font-size:72px}.hero_document{max-width:520px;max-height:510px}.hero_copy>p{font-size:18px;max-width:410px}.hero_visual{padding-left:12%;padding-right:12%}}
@media(max-width:1150px){.app_nav,.public_nav{gap:20px;padding-left:4%;padding-right:4%}.app_nav nav{margin-left:15px}.public_nav nav{gap:18px}.hero_brand{font-size:76px}.hero h1{font-size:50px}.hero_copy{padding-left:8%}.hero_copy>p{font-size:14px}.hero_visual{padding-left:7%;padding-right:7%}.hero_actions{gap:15px}.hero_actions .button{padding:0 13px;font-size:11px}.hero_actions .text_link{font-size:11px}.extracted_strip{margin-left:0;padding:18px}.located_label{display:none}.library{grid-template-columns:minmax(0,1fr) 200px;gap:23px}.document_peek{padding-left:20px}.list_tabs{gap:15px}.list_tabs button{font-size:10px}.document_search{max-width:125px}.workflow_note{padding-top:55px}.heading_actions{gap:17px}.deployment_inner{gap:55px}.section_heading h2{font-size:36px}.proof_values{padding-left:30px}.pricing_columns>article{padding-left:22px;padding-right:22px}}
@media(max-width:850px){.public_nav nav{display:none}.app_nav nav{gap:16px;margin-left:0}.workspace_switch{font-size:0}.workspace_switch .avatar{font-size:10px}.documents_main{padding-top:35px}.page_heading h1{font-size:40px}.heading_actions{flex-direction:column-reverse;align-items:flex-end;gap:13px}.library{grid-template-columns:1fr}.document_peek{display:none}.workflow_note{padding-bottom:10px}.trial_line{margin-bottom:25px}.hero{min-height:610px}.hero_brand{font-size:64px;letter-spacing:-4px}.hero h1{font-size:43px;letter-spacing:-2px}.hero_copy{padding-top:40px;padding-left:8%;padding-right:7%}.hero_actions{flex-direction:column;align-items:flex-start}.hero_document{max-height:390px}.extracted_strip strong{font-size:16px}.hero_visual{padding-left:9%;padding-right:9%}.visual_footer span:last-child{display:none}.visual_label span:last-child{display:none}.industry_line{gap:17px;flex-wrap:wrap}.industry_line>span{width:100%}.industry_line p{font-size:15px}.section_wrap{padding:65px 5%}.section_heading h2{font-size:33px}.proof_values{padding:25px 0 20px 20px}.proof_source{height:420px}.proof_field{padding:17px 10px}.proof_field strong{font-size:15px}.capabilities{gap:25px;padding-top:0}.deployment_inner{gap:35px}.deployment h2{font-size:35px}.pricing_columns{gap:0}.pricing_columns h3{font-size:17px}.price{font-size:23px}.pricing_columns>article{padding-left:17px;padding-right:17px}.pricing_columns .button{padding:0 12px;font-size:10px}.team_line{gap:35px;padding-top:0}.public_footer{flex-wrap:wrap}.public_footer>span{display:none}}
@media(max-width:600px){.app_nav,.public_nav{height:68px;gap:18px}.wordmark{font-size:26px}.app_nav nav{gap:15px;font-size:11px}.app_nav nav button:last-child{display:none}.workspace_switch{display:none}.documents_main{padding:28px 5% 0}.page_heading{align-items:flex-start;gap:15px}.page_heading h1{font-size:36px;letter-spacing:-1.5px}.page_heading p{font-size:11px;max-width:190px;line-height:1.6}.heading_actions{padding-top:20px}.heading_actions .button{font-size:10px;padding:0 12px;min-height:39px}.heading_actions .text_link{font-size:9px}.intake{padding:20px 15px;gap:13px;flex-wrap:wrap}.intake h2{font-size:13px}.intake p{font-size:10px;max-width:220px;line-height:1.6}.intake_symbol{width:35px}.intake .button{margin:5px 0 0 47px;min-height:33px;font-size:10px}.trial_line{font-size:8px;align-items:flex-start;flex-direction:column;gap:8px}.trial_line button{padding:0;font-size:8px}.library_toolbar{flex-wrap:wrap;padding-bottom:10px;gap:8px}.list_tabs{width:100%;justify-content:space-between}.list_tabs button{font-size:10px;padding-bottom:12px}.document_search{max-width:100%;width:100%}.document_search input{font-size:11px}.bulk_bar{font-size:9px;gap:6px}.bulk_bar>div{gap:10px}.bulk_bar button{font-size:9px;padding:0}.library_caption{font-size:8px;gap:20px;line-height:1.6}.workflow_note{padding-top:45px}.workflow_note>div{gap:8px;font-size:9px}.workflow_note b{font-size:8px;margin-right:3px}.workflow_note i{max-width:15px}.workspace_footer{margin-top:35px}.public_nav>div{gap:15px}.public_nav .text_link{font-size:11px}.public_nav .button{padding:0 12px;font-size:10px}.hero{display:flex;flex-direction:column}.hero_copy{padding:35px 6% 32px}.hero_brand{font-size:80px;margin:15px 0 23px;letter-spacing:-5px}.hero h1{font-size:51px;letter-spacing:-2px}.hero_copy>p{max-width:300px;font-size:14px;margin-bottom:23px}.hero_actions{flex-direction:row;gap:22px}.hero_annotation{display:none}.hero_visual{height:485px;padding:23px 12% 22px}.hero_document{max-height:320px}.extracted_strip{margin-top:-5px;padding:18px}.extracted_strip strong{font-size:18px}.visual_label{padding-bottom:15px}.visual_footer{margin-top:20px;font-size:8px}.industry_line{padding:22px 6%;gap:18px}.industry_line p{font-size:13px}.industry_line>span{font-size:8px}.section_wrap{padding:50px 6%}.section_heading h2{font-size:31px;letter-spacing:-1.3px}.section_heading>p{font-size:12px}.proof_workspace{grid-template-columns:1fr;margin-top:26px}.proof_source{height:280px}.proof_values{padding:24px 0}.proof_field strong{font-size:17px}.proof_workspace{min-height:0}.capabilities{grid-template-columns:1fr;padding-top:0;gap:18px}.capabilities .section_heading{position:static}.deployment_inner{grid-template-columns:1fr;gap:38px}.deployment h2{font-size:36px}.pricing_columns{grid-template-columns:1fr;margin-top:25px}.pricing_columns>article,.pricing_columns>article:first-child{border-left:0;border-top:1px solid var(--line);padding:25px 0 35px}.pricing_columns h3{font-size:21px;margin:15px 0 20px}.pricing_columns ul{min-height:0;margin:15px 0}.price{font-size:28px}.pricing_columns .button{font-size:12px;padding:0 20px}.team_line{display:block;padding-top:0}.team_line p{font-size:18px}.team_line>.overline{max-width:none;font-size:9px}.final_cta{padding:58px 6%}.final_cta h2{font-size:37px;line-height:1.1;letter-spacing:-1.4px}.final_cta p{font-size:14px}.public_footer{padding:30px 6%;gap:25px}.public_footer nav{width:100%;justify-content:space-between;gap:10px}.public_footer button{padding:0;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.pricing { padding-top: 100px; padding-bottom: 80px; }
.pricing_intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; }
.pricing_intro .overline { color: var(--blue); letter-spacing: 2px; }
.pricing_intro h2 { font-size: clamp(40px, 4.5vw, 64px); font-weight: 500; letter-spacing: -2.8px; line-height: 1.05; margin: 20px 0 0; }
.pricing_intro > p { max-width: 310px; font-size: 15px; line-height: 1.75; color: #67705f; margin: 0 0 3px; }
.pricing .pricing_columns { margin-top: 52px; border-top: 2px solid var(--ink); gap: 0; }
.pricing .pricing_columns > article { display: flex; flex-direction: column; padding: 30px 28px 24px; border-left: 1px solid #d5dbce; }
.pricing .pricing_columns > article:first-child { padding-left: 0; border-left: 0; }
.plan_label { font-size: 8px; font-weight: 600; letter-spacing: 1.1px; color: #6b775f; display: flex; gap: 12px; align-items: center; min-height: 16px; }
.plan_label > span { color: #9ca88e; font-size: 10px; letter-spacing: 0; }
.pricing .pricing_columns h3 { font-size: 25px; letter-spacing: -.8px; font-weight: 500; margin: 23px 0 11px; }
.pricing .pricing_columns .plan_description { font-size: 12px; line-height: 1.7; color: #7a856e; min-height: 43px; max-width: 250px; margin: 0; }
.pricing .price { font-size: clamp(26px, 2.7vw, 39px); letter-spacing: -1.5px; font-weight: 500; margin: 32px 0 10px; white-space: nowrap; }
.pricing .pricing_columns .pricing_basis { font-size: 11px; min-height: 30px; line-height: 1.6; margin: 0 0 23px; color: #6d795f; }
.pricing .pricing_columns .button { width: 100%; min-height: 45px; font-size: 11px; }
.plan_features_label { border-top: 1px solid #dce1d3; padding-top: 24px; margin-top: 28px; font-size: 8px; letter-spacing: 1px; font-weight: 600; color: #788669; }
.pricing .pricing_columns ul { min-height: 0; margin: 20px 0 0; padding: 0; }
.pricing .pricing_columns li { font-size: 11px; color: #56664a; line-height: 1.7; padding-left: 13px; position: relative; margin: 0 0 11px; }
.pricing .pricing_columns li::before { content: ''; position: absolute; left: 0; top: 8px; width: 3px; height: 3px; background: #93a180; }
.pricing .pricing_columns > .enterprise_plan { background: #242c24; color: #f7f9f2; border-left: 0; }
.enterprise_plan .plan_label, .enterprise_plan .plan_label > span { color: #a9bba0; }
.pricing .enterprise_plan .plan_description, .pricing .enterprise_plan .pricing_basis, .pricing .enterprise_plan li { color: #b9c6b0; }
.enterprise_plan .plan_features_label { color: #a0b195; border-color: #46533e; }
.pricing_note { border-top: 1px solid #d5dbce; padding-top: 23px; margin-top: 0; display: flex; gap: 35px; justify-content: space-between; align-items: flex-start; }
.pricing_note strong { font-size: 12px; font-weight: 600; white-space: nowrap; }
.pricing_note p { font-size: 11px; line-height: 1.8; color: #748366; max-width: 570px; margin: 0; }
@media (max-width: 850px) {
  .pricing_intro { gap: 25px; }
  .pricing_intro > p { max-width: 245px; font-size: 12px; }
  .pricing .pricing_columns > article { padding-left: 18px; padding-right: 18px; }
  .pricing .price { font-size: 26px; letter-spacing: -1px; }
  .plan_label { font-size: 7px; letter-spacing: .6px; gap: 6px; }
  .pricing .pricing_columns .button { font-size: 9px; padding-left: 8px; padding-right: 8px; }
  .pricing_note { gap: 22px; }
}
@media (max-width: 600px) {
  .pricing { padding-top: 55px; padding-bottom: 45px; }
  .pricing_intro { display: block; }
  .pricing_intro h2 { font-size: 43px; letter-spacing: -1.8px; }
  .pricing_intro > p { font-size: 13px; margin-top: 23px; max-width: 310px; }
  .pricing .pricing_columns { margin-top: 30px; }
  .pricing .pricing_columns > article, .pricing .pricing_columns > article:first-child { padding: 29px 0; border-left: 0; border-top: 1px solid #cdd5c3; }
  .pricing .pricing_columns > article:first-child { border-top: 0; }
  .pricing .pricing_columns > .enterprise_plan { padding: 29px 24px; border-top: 0; }
  .plan_label { font-size: 8px; letter-spacing: 1px; }
  .pricing .pricing_columns .plan_description { min-height: 0; max-width: 290px; }
  .pricing .price { font-size: 36px; margin-top: 24px; }
  .pricing .pricing_columns .pricing_basis { min-height: 0; margin-bottom: 20px; }
  .pricing .pricing_columns .button { font-size: 12px; }
  .pricing_note { display: block; padding-top: 24px; }
  .pricing_note strong { white-space: normal; }
  .pricing_note p { margin-top: 12px; }
}
@media(max-width:600px){.hero_copy{padding-top:24px;padding-bottom:25px}.hero_brand{font-size:64px;margin:10px 0 17px}.hero h1{font-size:42px;margin-bottom:17px}.hero_copy>p{font-size:13px;line-height:1.6;margin-bottom:18px}.hero_visual{height:325px;padding:17px 15%}.hero_document{max-height:205px}.visual_label{font-size:7px;padding-bottom:10px}.extracted_strip{padding:12px 16px}.extracted_strip>div>span{font-size:7px;margin-bottom:6px}.extracted_strip strong{font-size:16px}.visual_footer{font-size:7px;margin-top:15px}}

/* ---------------------------------------------------------------------------
   Pages the prototype showed as dialogs, built as real pages instead: the docs
   section, the legal pages, contact, sign in, settings and the empty and error
   states. Same vocabulary throughout, nothing new invented.
   --------------------------------------------------------------------------- */

/* a reading page: a sticky contents rail beside a single column of prose */
.doc_page{max-width:1440px;margin:0 auto;padding:70px 7% 90px;display:grid;grid-template-columns:210px 1fr;gap:60px;align-items:start}
.doc_rail{position:sticky;top:40px;display:flex;flex-direction:column;gap:2px}
.doc_rail a{font-size:11px;color:#8a9481;padding:6px 0;letter-spacing:.2px}
.doc_rail a:hover{color:var(--ink)}
.doc_body{max-width:760px}
.doc_body h1{font-size:clamp(38px,4vw,52px);font-weight:500;letter-spacing:-2.2px;line-height:1.05;margin:14px 0 0}
.doc_body .stamp{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#9da594;margin-top:18px}
.doc_body .lede{font-size:16px;line-height:1.75;color:#6f7a68;margin:26px 0 0;max-width:600px}
.doc_body h2{font-size:25px;font-weight:500;letter-spacing:-.8px;margin:54px 0 14px;scroll-margin-top:40px}
.doc_body h3{font-size:11px;letter-spacing:1.5px;font-weight:600;color:var(--blue);margin:34px 0 10px}
.doc_body p{font-size:13px;line-height:1.85;color:#6f7a68;margin:0 0 14px;max-width:600px}
.doc_body strong{color:var(--ink);font-weight:600}
.doc_body a{color:var(--blue);border-bottom:1px solid #3558e840}
.doc_body ul{list-style:none;padding:0;margin:0 0 18px;max-width:600px}
.doc_body li{font-size:13px;line-height:1.85;color:#6f7a68;margin:0 0 10px;padding-left:15px;position:relative}
.doc_body li::before{content:'';position:absolute;left:0;top:10px;width:3px;height:3px;background:#93a180}
.doc_body pre{background:#242c24;color:#dfe6d8;border-radius:6px;padding:22px 24px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.9;margin:0 0 20px}
.doc_body pre .c{color:#7d8c76}
.doc_body pre .k{color:#9fb7ff}
.doc_body pre .s{color:#b7d6a6}
.doc_body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;background:#eceee6;border:1px solid var(--line);border-radius:3px;padding:1px 5px;color:var(--ink)}
.doc_body .note{border-left:2px solid var(--blue);background:var(--tint);padding:17px 20px;margin:0 0 20px;max-width:600px}
.doc_body .note p{margin:0;color:#5c6656}

/* a data table inside prose, for the schema and limits pages */
table.grid{width:100%;border-collapse:collapse;margin:0 0 22px;max-width:600px}
table.grid th{text-align:left;font-size:8px;letter-spacing:1.6px;font-weight:600;color:#9da594;padding:0 12px 9px 0;border-bottom:2px solid var(--ink)}
table.grid td{font-size:12px;line-height:1.7;color:#6f7a68;padding:13px 12px 13px 0;border-bottom:1px solid var(--line);vertical-align:top}
table.grid td:first-child{color:var(--ink);white-space:nowrap}
table.grid td strong{font-weight:600}

/* contact */
.contact_grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:44px}
.contact_block{margin-bottom:38px}
.contact_block .overline{margin-bottom:12px}
.contact_block p{font-size:13px;line-height:1.8;color:#6f7a68;margin:0;max-width:420px}
.contact_block a{color:var(--blue)}
.contact_plate{display:block;image-rendering:-webkit-optimize-contrast}
.contact_map{border:1px solid var(--line);aspect-ratio:1/1;overflow:hidden;background:#e8ecdf}
.contact_map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3) contrast(1.03)}

/* sign in */
.signin_screen{min-height:calc(100vh - 83px);display:grid;place-items:center;padding:60px 6%}
.signin_card{width:min(430px,100%);text-align:center}
.signin_card .wordmark{font-size:44px;display:block;margin-bottom:26px}
.signin_card h1{font-size:30px;font-weight:500;letter-spacing:-1.1px;margin:0 0 12px}
.signin_card p{font-size:13px;line-height:1.8;color:#7a856e;margin:0 0 30px}
.signin_card .button{width:100%}
.signin_note{font-size:10px;color:#9da594;margin-top:22px;line-height:1.8}

/* the page shown when a url leads nowhere */
.lost_page{max-width:760px;margin:0 auto;padding:90px 6% 110px;text-align:center}
.lost_page svg{width:100%;max-width:430px;margin:0 auto 36px;display:block}
.lost_page h1{font-size:clamp(34px,4vw,46px);font-weight:500;letter-spacing:-1.8px;margin:0 0 14px}
.lost_page p{font-size:14px;line-height:1.8;color:#7a856e;margin:0 auto 32px;max-width:420px}
.lost_actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* messages the server sends back after a form post */
.flash_line{max-width:1440px;margin:0 auto;padding:18px 7% 0}
.flash{border-left:2px solid var(--blue);background:var(--tint);padding:14px 18px;font-size:12px;line-height:1.7;color:#4a5546}

@media(max-width:1000px){
  .doc_page{grid-template-columns:1fr;gap:30px;padding-top:44px}
  .doc_rail{position:static;flex-direction:row;flex-wrap:wrap;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px}
  .contact_grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:640px){
  .doc_page{padding:34px 6% 60px}
  .doc_body h2{font-size:21px;margin-top:40px}
  .lost_page{padding:50px 6% 70px}
}

/* ---------------------------------------------------------------------------
   Settings, and the parts of the documents page the prototype had no data for:
   a real upload form, real flash messages, an empty library, a danger zone.
   --------------------------------------------------------------------------- */

.settings_layout{max-width:1440px;margin:0 auto;padding:44px 7% 90px;display:grid;grid-template-columns:190px 1fr;gap:56px;align-items:start}
.settings_rail{position:sticky;top:40px;display:flex;flex-direction:column;gap:1px}
.settings_rail a{font-size:12px;color:#8a9481;padding:9px 0}
.settings_rail a.current{color:var(--ink);font-weight:600}
.settings_rail a:hover{color:var(--ink)}
.panel{border-top:2px solid var(--ink);padding:24px 0 34px;margin-bottom:34px}
.panel h2{font-size:21px;font-weight:500;letter-spacing:-.6px;margin:0 0 20px}
.panel .hint{font-size:11px;line-height:1.8;color:#8a957d;margin:12px 0 0;max-width:560px}
.panel .row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}
.panel .row .lbl{color:#8a957d}
.panel .row .val{color:var(--ink);font-weight:600}
.frow{display:flex;gap:16px;align-items:flex-end}
.fl{display:block;font-size:9px;letter-spacing:1.6px;font-weight:600;color:#9da594;margin-bottom:9px}
input[type=text],input[type=search],select{font:inherit;font-size:13px;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
input[type=text]:focus,input[type=search]:focus{outline:none;border-color:var(--blue)}
.panel.danger{border-top-color:#a8332f}
.panel.danger h2{color:#a8332f}
.button.danger{background:#a8332f;border-color:#a8332f;color:#fff}
.button.danger:hover{background:#8d2724}

.activity_table{width:100%;border-collapse:collapse}
.activity_table th{text-align:left;font-size:8px;letter-spacing:1.6px;font-weight:600;color:#9da594;padding:0 14px 10px 0;border-bottom:2px solid var(--ink)}
.activity_table td{font-size:12px;color:#6f7a68;padding:13px 14px 13px 0;border-bottom:1px solid var(--line);vertical-align:top}
.activity_table td:first-child{color:var(--ink);white-space:nowrap}

.quota_line{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#7a856e;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:30px}
.quota_line strong{color:var(--ink)}
.quota_line.spent{border-color:#d9b4b2;color:#8d2724}

.library_empty{border-top:1px solid var(--line);padding:70px 0;text-align:center}
.library_empty h3{font-size:19px;font-weight:500;letter-spacing:-.5px;margin:0 0 10px}
.library_empty p{font-size:12px;color:#8a957d;margin:0}

/* the review flag, the one thing a reviewer scans a list for */
.flag{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.3px;white-space:nowrap}
.flag::before{content:'';width:5px;height:5px;border-radius:50%;flex:none}
.flag.clear{color:#4a7a4e}
.flag.clear::before{background:#4a7a4e}
.flag.review{color:#a8332f}
.flag.review::before{background:#a8332f}

@media(max-width:1000px){
  .settings_layout{grid-template-columns:1fr;gap:26px;padding-top:32px}
  .settings_rail{position:static;flex-direction:row;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px}
}

/* the documentation index: three ways in, numbered because they are a
   reading order rather than a menu */
.docs_index{padding-bottom:70px}
.docs_cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:2px solid var(--ink)}
.docs_cards a{display:flex;flex-direction:column;padding:28px 30px 30px;border-left:1px solid var(--line);min-height:250px}
.docs_cards a:first-child{padding-left:0;border-left:0}
.docs_cards a:hover{background:#fafbf7}
.docs_cards span{font-size:10px;color:#a1aa94}
.docs_cards h3{font-size:24px;font-weight:500;letter-spacing:-.8px;margin:20px 0 12px}
.docs_cards p{font-size:12px;line-height:1.8;color:#7a856e;margin:0 0 22px}
.docs_cards em{font-style:normal;font-size:11px;font-weight:600;color:var(--blue);margin-top:auto}
.docs_cards a:hover em::after{content:' \2192'}
@media(max-width:900px){
  .docs_cards{grid-template-columns:1fr}
  .docs_cards a,.docs_cards a:first-child{border-left:0;border-top:1px solid var(--line);padding:26px 0;min-height:0}
  .docs_cards a:first-child{border-top:0}
}

/* the drawing on the not found page: the product looking at its own miss */
.lost_art{width:100%;max-width:430px;margin:0 auto 38px;display:block}
.lost_art .sheet{fill:#fff;stroke:#d5dbce}
.lost_art .rule{fill:#e6e9df}
.lost_art .k{fill:none;stroke:var(--blue);stroke-width:1.6}
.lost_art .k-chip{fill:var(--blue)}
.lost_art .v{fill:none;stroke:#4a7a4e;stroke-width:1.6}
.lost_art .v-chip{fill:#4a7a4e}
.lost_art .ink{fill:#aeb6a5}
.lost_art .miss{fill:none;stroke:#a8332f;stroke-width:1.8;stroke-dasharray:7 5}
.lost_art .miss-chip{fill:#a8332f}
.lost_art .chip-text{font-size:7px;fill:#fff;letter-spacing:.4px;font-weight:600}
.lost_art .lost-num{font-size:31px;fill:#a8332f;font-weight:600;letter-spacing:-1px}
.lost_art .scan{opacity:.32}
@keyframes sweep{0%{transform:translateY(0)}100%{transform:translateY(150px)}}
.lost_art .scan line{animation:sweep 2.6s cubic-bezier(.5,0,.5,1) infinite alternate}
@media(prefers-reduced-motion:reduce){.lost_art .scan line{animation:none}}

/* the document row: a name, what state it is in, and the two things you can
   do to it. Status is a word rather than a coloured pill, because a list of
   pills reads as decoration and the word is what you are scanning for. */
.doc_name{display:block;font-size:12.5px}
.doc_name a{color:var(--ink);font-weight:600;border-bottom:1px solid #c9d0c0}
.doc_name a:hover{border-bottom-color:var(--blue);color:var(--blue)}
.doc_name .gone{color:#a3aa9b;text-decoration:line-through}
.document_table td small{display:block;font-size:9.5px;color:#9da594;margin-top:5px}
.doc_status{font-size:10px;font-weight:600;letter-spacing:.3px;display:inline-flex;align-items:center;gap:6px}
.doc_status::before{content:'';width:5px;height:5px;border-radius:50%;flex:none}
.doc_status.done{color:#3f7044}
.doc_status.done::before{background:#3f7044}
.doc_status.working{color:#8a6a1f}
.doc_status.working::before{background:#8a6a1f;animation:pulse_dot 1.4s ease-in-out infinite}
.doc_status.failed{color:#a8332f}
.doc_status.failed::before{background:#a8332f}
.doc_status.gone{color:#9aa292}
.doc_status.gone::before{background:#c2c9ba}
@keyframes pulse_dot{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.doc_status.working::before{animation:none}}
.row_actions{text-align:right;white-space:nowrap}
.row_actions form{display:inline-block;margin-left:14px}
.row_action.danger{color:#a8332f}
.row_action:hover{text-decoration:underline}
.intake_notice{font-size:11px;color:#8a6a1f;margin:8px 0 0}
.disabled_link{opacity:.4;pointer-events:none}
.document_peek dt{font-size:9px;letter-spacing:1.4px;color:#9da594;font-weight:600}
.document_peek dd{margin:5px 0 16px;font-size:13px;color:var(--ink)}
.settings_title{font-size:42px;font-weight:500;letter-spacing:-1.8px;margin:12px 0 34px}
.settings_body{max-width:720px}
.opt{padding:0 0 4px;margin-bottom:20px}
.oname{font-weight:600;font-size:13px;margin-bottom:5px}
.odesc{color:#7a856e;font-size:12px;line-height:1.8;max-width:520px}
.ro{font-size:12px;line-height:1.8;color:#7a856e;background:#eef1e8;border-left:2px solid #cdd5c3;padding:14px 17px;max-width:560px}
.rtag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:2px;background:#e4ece2;color:#3f7044}
.rtag.bad{background:#f3e3e2;color:#a8332f}
.empty{color:#9da594;text-align:center;padding:30px;font-size:12px}
/* with nothing to preview, the list takes the whole width rather than leaving
   a column of air where the panel would have been */
.library:has(.document_peek[hidden]){grid-template-columns:1fr}

/* switching between the sample documents: a real choice, so it reads as tabs
   rather than decoration */
.proof_docs{display:flex;gap:24px;margin-top:38px;border-bottom:1px solid var(--line)}
.proof_docs button{padding:12px 0 14px;font-size:12px;color:#8a9085;border-bottom:2px solid transparent;white-space:nowrap}
.proof_docs button.selected{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.proof_section .proof_workspace{margin-top:0;border-top:0}
@media(max-width:600px){ .proof_docs{gap:16px} .proof_docs button{font-size:11px} }
.proof_fineprint{color:#a3ac97;font-size:10px}

/* the industries, each with the form it actually runs on. The forms rotate on
   their own because the point is breadth, and a reader who does not click
   should still see more than one. */
.industry_band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbf7}
.industry_inner{max-width:1440px;margin:0 auto;padding:50px 7%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:56px;align-items:center}
.industry_side .overline{font-size:9px;color:#9da594}
.industry_tabs{display:flex;flex-direction:column;margin-top:22px}
.industry_tabs button{text-align:left;padding:14px 0 14px 18px;border-left:2px solid var(--line);font-size:21px;letter-spacing:-.4px;color:#9aa38f;display:flex;flex-direction:column;gap:5px;transition:color .2s,border-color .2s}
.industry_tabs button em{font-style:normal;font-size:10px;letter-spacing:.9px;color:#b3bba8;text-transform:uppercase}
.industry_tabs button.selected{color:var(--ink);border-left-color:var(--blue)}
.industry_tabs button.selected em{color:var(--blue)}
.industry_tabs button:hover{color:#5f6a57}
.industry_stage{height:560px;position:relative;overflow:hidden;background:#e7eade;border:1px solid var(--line)}
/* a window onto the page rather than a picture of it: zoomed past the frame so
   the density is the thing you see, tilted so it reads as paper on a desk. The
   focus point is per form, because the dense part of a claim is not where the
   dense part of a tax return is. */
.industry_paper{position:absolute;inset:-14%;background-repeat:no-repeat;background-color:#fff;background-size:var(--zoom,140%);background-position:var(--fx,50%) var(--fy,30%);transform:rotate(-2.4deg);box-shadow:0 16px 40px #2b331f30;animation:form_in .45s ease-out}

@keyframes form_in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.industry_stage img{animation:none}}
@media(max-width:850px){
  .industry_inner{grid-template-columns:1fr;gap:26px;padding:32px 6%}
  .industry_tabs{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:16px}
  .industry_tabs button{font-size:15px;padding:8px 0 8px 12px}
  .industry_tabs button em{display:none}
  .industry_stage{height:380px}
  .industry_paper{background-size:180%}
}
