:root{--ink:#111;--paper:#f5f4ef;--muted:#6d6b65;--line:#d8d5cc;--white:#fff;--soft:#e9e7df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:inherit}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(245,244,239,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{font-size:25px;font-weight:800;letter-spacing:-1.5px;text-decoration:none}.brand span{font-size:.64em;vertical-align:super}.topbar nav{display:flex;align-items:center;gap:24px}.topbar nav a,.link-button{font:inherit;text-decoration:none;border:0;background:none;padding:0;cursor:pointer}.topbar form{display:inline}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:3px;padding:13px 20px;font-weight:700;text-decoration:none;cursor:pointer}.button.small{padding:9px 14px}.button.inverse{background:#fff;color:#111;border-color:#fff}.hero{max-width:1180px;margin:auto;min-height:650px;padding:92px 24px;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.hero h1,.form-intro h1,.pricing-hero h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:22px 0}.lead{max-width:650px;font-size:20px;color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;margin-top:34px}.text-link{font-weight:700}.hero-panel{background:#fff;border:1px solid var(--line);box-shadow:20px 20px 0 #191919;padding:20px}.mini-header{display:flex;gap:6px;padding-bottom:18px;border-bottom:1px solid var(--line)}.mini-header span{width:8px;height:8px;background:#bbb;border-radius:50%}.metric{display:flex;flex-direction:column;padding:24px 18px;border-bottom:1px solid var(--line)}.metric small,.metric span{color:var(--muted)}.metric strong{font-size:24px;margin:5px 0}.metric.dark{background:#161616;color:white;border:0;margin-top:18px}.metric.dark span{color:#bbb}.section{max-width:1180px;margin:auto;padding:100px 24px}.section h2,.cta h2,.pricing-section h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;line-height:1.05;max-width:740px}.feature-grid,.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:52px}.feature-grid article,.plan-card{background:var(--paper);padding:34px}.feature-grid article>span{font-size:12px;color:var(--muted)}.feature-grid h3{font-size:23px;margin-top:42px}.plans{background:#111;color:#fff;max-width:none;padding-left:max(24px,calc((100vw - 1132px)/2));padding-right:max(24px,calc((100vw - 1132px)/2))}.plan-grid{background:#444;border-color:#444}.plan-card{background:#1a1a1a}.plan-card.featured{background:#fff;color:#111;transform:translateY(-12px)}.plan-card h3{font-size:36px;margin:10px 0 0}.plan-card small{color:#aaa}.plan-card ul{list-style:none;padding:24px 0 0;margin:24px 0 0;border-top:1px solid #555}.plan-card li{margin:12px 0}.fineprint{color:#999;margin-top:28px}.pricing-link-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta{max-width:1180px;margin:80px auto;padding:52px;background:#171717;color:#fff;display:flex;justify-content:space-between;align-items:center}.cta h2{margin:12px 0}.flash{background:#111;color:#fff;text-align:center;padding:12px}.form-page{max-width:1180px;margin:auto;padding:72px 24px 110px;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.form-intro{position:sticky;top:120px;align-self:start}.form-intro h1{font-size:52px}.form-intro>p:not(.eyebrow){color:var(--muted);font-size:18px}.steps{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:center;margin-top:40px}.steps span{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.steps span.active{background:#111;color:#fff}.card{background:#fff;border:1px solid var(--line);padding:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid h2{grid-column:1/-1;margin:24px 0 0;border-bottom:1px solid var(--line);padding-bottom:14px}.form-grid h2:first-of-type{margin-top:0}.form-grid label,.auth-card label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:7px}.wide{grid-column:1/-1}.form-grid input,.form-grid textarea,.auth-card input{width:100%;border:1px solid #aaa;background:#fff;border-radius:2px;padding:12px;font:inherit}.form-grid small{font-weight:400;color:var(--muted)}.domain-input{display:flex;align-items:center;border:1px solid #aaa}.domain-input input{border:0}.domain-input span{padding-right:12px;color:var(--muted);white-space:nowrap}.checkbox{flex-direction:row!important;align-items:flex-start}.checkbox input{width:auto}.errors{background:#fff0f0;border:1px solid #c99;padding:12px;color:#7d1111}.plan-choice{border:0;padding:0;margin:0}.plan-choice legend{font-size:13px;font-weight:700;margin-bottom:9px}.plan-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px}.form-grid .plan-option{display:block;cursor:pointer}.plan-option input{position:absolute;opacity:0;pointer-events:none}.plan-option span{height:100%;display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid var(--line);background:var(--paper)}.plan-option input:checked+span{border:2px solid var(--ink);padding:15px;background:#fff}.plan-option b{margin-top:7px}.municipality-picker{position:relative}.municipality-results{position:absolute;top:72px;left:0;right:0;z-index:8;background:#fff;border:1px solid #888;box-shadow:0 12px 25px rgba(0,0,0,.14);max-height:320px;overflow:auto}.municipality-results button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:11px 13px;text-align:left;display:flex;justify-content:space-between;gap:12px;cursor:pointer}.municipality-results button:hover,.municipality-results button:focus{background:var(--soft)}.municipality-results span{color:var(--muted);font-size:12px}.municipality-status{min-height:18px;color:var(--muted);font-weight:400}.auth-page{min-height:620px;display:grid;place-items:center;padding:50px 24px}.auth-card{width:min(460px,100%);display:flex;flex-direction:column;gap:20px}.auth-card h1{font-size:44px;margin:0}.portal-shell{max-width:1280px;margin:auto;padding:56px 24px 100px;display:grid;grid-template-columns:240px 1fr;gap:60px}.portal-shell aside{position:sticky;top:120px;align-self:start}.portal-shell aside h2{font-size:20px}.portal-shell aside nav{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:26px}.portal-shell aside nav a{text-decoration:none;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}.portal-shell aside nav a.active{color:#111;font-weight:700}.page-heading{display:flex;justify-content:space-between;align-items:flex-start}.page-heading h1{font-size:44px;letter-spacing:-.04em;margin:8px 0 35px}.status{border:1px solid var(--line);padding:7px 12px;border-radius:20px;font-weight:700;font-size:13px}.status-trialing{background:#fff}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stats article{background:#fff;padding:25px;display:flex;flex-direction:column}.stats small,.stats span,.muted{color:var(--muted)}.stats strong{font-size:24px;margin:6px 0}.panel{background:#fff;border:1px solid var(--line);padding:30px;margin-top:24px;display:flex;align-items:center;justify-content:space-between}.panel.block{display:block}.panel h2{margin:5px 0}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{padding:7px 10px;background:var(--soft);border-radius:2px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.empty{color:var(--muted);padding:25px 0}.invoice-wrap{max-width:900px;margin:60px auto;padding:0 24px}.invoice{padding:60px}.invoice header,.invoice-parties,.payment-box{display:flex;justify-content:space-between;gap:40px}.invoice header{padding-bottom:35px;border-bottom:2px solid #111}.invoice header h1{margin:6px 0}.invoice-parties{padding:40px 0}.invoice-parties>div{display:flex;flex-direction:column;width:50%}.invoice .total th{font-size:20px;border-top:2px solid #111}.payment-box{background:#111;color:#fff;padding:22px;margin-top:35px}.pricing-hero,.pricing-section{max-width:1180px;margin:auto;padding:85px 24px}.pricing-hero{padding-bottom:55px}.pricing-hero h1{max-width:900px}.pricing-section{padding-top:55px;padding-bottom:75px}.pricing-section h2{margin:12px 0 35px}.soft-section{max-width:none;padding-left:max(24px,calc((100vw - 1132px)/2));padding-right:max(24px,calc((100vw - 1132px)/2));background:#fff}.table-scroll{overflow-x:auto;border:1px solid var(--line)}.pricing-table{min-width:760px;background:#fff}.pricing-table th,.pricing-table td{padding:18px}.pricing-table thead th{background:#111;color:#fff;vertical-align:bottom}.pricing-table th small,.pricing-table td small{display:block;font-weight:400;color:#aaa;margin-top:4px}.pricing-table tbody td strong{font-size:19px}.pricing-table thead th:not(:first-child),.pricing-table tbody td{text-align:center}.comparison td{font-size:20px}.pricing-note{color:var(--muted)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:90px}.simple-price-list td{text-align:right}.example-price{border-left:5px solid #111;padding:18px 22px;background:#fff;display:flex;flex-direction:column}.example-price strong{font-size:25px}.self-hosted{background:#111;color:#fff;max-width:none;padding-left:max(24px,calc((100vw - 1132px)/2));padding-right:max(24px,calc((100vw - 1132px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.self-hosted-prices{background:#222;padding:30px}.self-hosted-prices p{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid #555;padding-bottom:15px}.self-hosted-prices small{color:#bbb}footer{max-width:1180px;margin:auto;padding:35px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}footer strong{color:#111}@media(max-width:800px){.topbar{height:62px}.topbar nav>a:not(.button){display:none}.hero{grid-template-columns:1fr;padding-top:55px;gap:45px}.hero-panel{box-shadow:10px 10px 0 #191919}.feature-grid,.plan-grid,.form-page,.portal-shell,.two-columns,.self-hosted{grid-template-columns:1fr}.plan-card.featured{transform:none}.form-intro,.portal-shell aside{position:static}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1/-1}.plan-choice-grid{grid-template-columns:1fr}.cta,.invoice header,.invoice-parties,.payment-box,.pricing-link-row,.self-hosted-prices p{flex-direction:column;align-items:flex-start}.stats{grid-template-columns:1fr}.portal-shell aside nav{display:none}.invoice{padding:25px}.invoice-parties>div{width:100%}.municipality-results button{flex-direction:column}.pricing-hero,.pricing-section{padding-top:55px;padding-bottom:55px}footer{flex-direction:column;gap:8px}}
.brand{display:inline-flex;align-items:center;height:42px}.brand-logo{display:block;width:132px;height:auto;color:var(--ink)}.topbar nav a.button{background:var(--ink);color:#fff;border:1px solid var(--ink);padding:9px 14px}
.pilot-banner{margin:0;padding:10px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:center;gap:10px;background:#fff3cd;border-bottom:1px solid #e2cf84;color:#3d3420;text-align:center;font-size:14px}.pilot-banner strong{text-transform:uppercase;letter-spacing:.08em;font-size:12px;white-space:nowrap}@media(max-width:600px){.pilot-banner{align-items:flex-start;flex-direction:column;gap:2px;text-align:left}}
.admin-search,.admin-access{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;margin-bottom:24px}.admin-search label,.admin-access label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700}.admin-access{grid-template-columns:repeat(2,1fr)}.admin-access .wide{grid-column:1/-1}.admin-access input,.admin-access select,.admin-search input{border:1px solid #aaa;background:#fff;border-radius:2px;padding:12px;font:inherit}.admin-access .button{justify-self:start}@media(max-width:800px){.admin-search,.admin-access{grid-template-columns:1fr}.admin-access .wide{grid-column:auto}}
.lookup-input{display:flex;gap:8px}.lookup-input input{min-width:0}.lookup-input .button{flex:none}.form-grid input[readonly]{background:var(--soft);color:#45443f}.municipality-status.valid,#password-status.valid{color:#176b36}.terms-open{text-decoration:underline;font-weight:700}.legal-dialog{width:min(860px,calc(100% - 32px));max-height:88vh;padding:0;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.28)}.legal-dialog::backdrop{background:rgba(0,0,0,.55)}.legal-dialog-header,.legal-dialog-footer{position:sticky;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:20px 26px;z-index:1}.legal-dialog-header{top:0;border-bottom:1px solid var(--line)}.legal-dialog-footer{bottom:0;border-top:1px solid var(--line);justify-content:flex-end}.legal-dialog-header h2{margin:0;font-size:25px}.legal-dialog-close:not(.button){border:0;background:none;font-size:30px;line-height:1;cursor:pointer}.legal-dialog-content{padding:12px 30px 30px}.legal-dialog-content h3{margin:28px 0 8px}.legal-dialog-content p{color:#3e3d39}.legal-dialog-content>p:first-child{background:#fff3cd;border:1px solid #e2cf84;padding:12px}
html,body{max-width:100%;overflow-x:clip}.form-page{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.portal-shell{grid-template-columns:240px minmax(0,1fr)}@media(max-width:800px){.form-page,.portal-shell{grid-template-columns:minmax(0,1fr)}}
