:root{--paper-cream: #f7f2e4;--paper-white: #fffdf8;--blueprint-blue: #2c4a5e;--blueprint-blue-dim: #4a6a80;--stamp-red: #b5402c;--verified-green: #4c7a5c;--pending-amber: #a6741c;--ink: #1c1c1a;--ink-dim: #5c5c56;--line: rgba(44, 74, 94, .18);--font-body: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--font-sans: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: 3px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background-color:var(--paper-cream);background-image:repeating-linear-gradient(0deg,rgba(44,74,94,.04) 0,rgba(44,74,94,.04) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(44,74,94,.04) 0,rgba(44,74,94,.04) 1px,transparent 1px,transparent 24px);color:var(--ink);font-family:var(--font-sans);line-height:1.5}.mono{font-family:var(--font-body)}a{color:var(--blueprint-blue)}.page{max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-7)}.page-wide{max-width:960px}.brand-bar{min-height:100vh}.hazard-stripe{height:6px;background:repeating-linear-gradient(45deg,var(--verified-green) 0 8px,var(--paper-cream) 8px 16px)}h1,h2,h3{font-family:var(--font-body)}h1{color:var(--blueprint-blue);font-size:1.7rem;border-bottom:2px solid var(--blueprint-blue);padding-bottom:var(--space-3);margin:0 0 var(--space-5);letter-spacing:-.01em}h2{color:var(--blueprint-blue);font-size:1.2rem;margin:var(--space-6) 0 var(--space-3)}h3{color:var(--blueprint-blue);font-size:1rem;margin:var(--space-4) 0 var(--space-2)}p{margin:0 0 var(--space-4)}.price{font-family:var(--font-body);font-variant-numeric:tabular-nums}form{display:flex;flex-direction:column;gap:var(--space-4)}label{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--blueprint-blue);display:flex;flex-direction:column;gap:var(--space-2)}input,select,textarea{font-family:var(--font-sans);font-size:.95rem;font-weight:400;color:var(--ink);padding:.55rem var(--space-3);border:1px solid var(--blueprint-blue);border-radius:var(--radius);background:var(--paper-white)}input:focus,select:focus,textarea:focus{outline:2px solid var(--blueprint-blue-dim);outline-offset:1px}button,.btn{font-family:var(--font-sans);font-size:.9rem;font-weight:600;background:var(--blueprint-blue);color:var(--paper-cream);border:1px solid var(--blueprint-blue);border-radius:var(--radius);padding:.6rem 1rem;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:2px 2px 0 var(--line);transform:translateY(0);transition:transform .12s ease-out,box-shadow .12s ease-out,filter .12s ease-out}button:hover:not(:disabled),.btn:hover{transform:translateY(-1px);box-shadow:3px 3px 0 var(--line);filter:brightness(1.08)}button:active:not(:disabled),.btn:active{transform:translateY(2px);box-shadow:0 0 0 var(--line);filter:brightness(.96);transition:transform 60ms ease-out,box-shadow 60ms ease-out,filter 60ms ease-out}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:2px 2px 0 var(--line);filter:none}.button-secondary,.btn-secondary{background:transparent;color:var(--blueprint-blue)}.button-secondary:active:not(:disabled),.btn-secondary:active{transform:translateY(1px)}.button-destructive,.btn-destructive{background:var(--stamp-red);border-color:var(--stamp-red)}fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-white);padding:var(--space-5);margin:0 0 var(--space-5)}legend{font-family:var(--font-body);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--blueprint-blue);background:var(--paper-cream);padding:.2rem .5rem;border:1px solid var(--line);border-radius:var(--radius)}.numbered-sections{counter-reset:section}.numbered-sections fieldset>legend:before{counter-increment:section;content:counter(section) ".0 "}.numbered-sections section>h2:before{counter-increment:section;content:counter(section) ".0 "}.error{color:var(--stamp-red);font-size:.85rem;font-weight:600}.success{color:var(--verified-green);font-size:.85rem;font-weight:600}.result-card{border:1px solid var(--line);border-left:4px solid var(--blueprint-blue);border-radius:var(--radius);background:var(--paper-white);padding:var(--space-4) var(--space-5);margin-top:var(--space-4);font-size:.9rem;box-shadow:2px 2px 0 var(--line)}.result-card:first-of-type{margin-top:0}.job-card{border-left-width:6px;border-image:repeating-linear-gradient(-45deg,var(--verified-green) 0 6px,var(--paper-cream) 6px 12px) 6;border-image-slice:1}.badge{display:inline-block;font-family:var(--font-body);border:1px solid var(--blueprint-blue);color:var(--blueprint-blue);font-size:.72rem;font-weight:700;letter-spacing:.02em;border-radius:var(--radius);padding:.15rem .5rem;margin:.35rem .35rem 0 0}.badge-positive{border-color:var(--verified-green);color:var(--verified-green);background:#4c7a5c14}.badge-negative{border-color:var(--stamp-red);color:var(--stamp-red);background:#b5402c14}.stamp{display:inline-block;font-family:var(--font-body);border:4px double var(--verified-green);color:var(--verified-green);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;padding:.4rem .9rem;border-radius:4px;transform:rotate(-2deg);margin:var(--space-3) 0;opacity:.85}.stamp:before{content:"✓ "}.stamp-badge{display:inline-block;font-family:var(--font-body);border:3px double var(--blueprint-blue);color:var(--blueprint-blue);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;padding:.15rem .5rem;border-radius:3px;transform:rotate(-2deg);opacity:.85;background:var(--paper-white)}.stamp-badge--verified{border-color:var(--verified-green);color:var(--verified-green)}.stamp-badge--pending{border-color:var(--pending-amber);color:var(--pending-amber)}.stamp-badge--rejected{border-color:var(--stamp-red);color:var(--stamp-red)}.stamp-badge--draft{border-color:var(--blueprint-blue);color:var(--blueprint-blue)}.site-header{position:sticky;top:0;z-index:10;background:var(--paper-cream);border-bottom:1px solid var(--line)}.site-header-bar{max-width:960px;margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.site-brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--blueprint-blue)}.site-brand-icon{width:48px;height:48px;display:block}.site-brand-wordmark{height:34px;width:auto;display:block}.site-nav{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.site-nav a{color:var(--blueprint-blue);text-decoration:none;font-size:.85rem;font-weight:600}.site-nav a:hover,.site-nav a.active{text-decoration:underline}.verification-pill{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border-radius:3px;padding:.15rem .5rem;border:3px double var(--line);color:var(--ink-dim);text-decoration:none;transform:rotate(-2deg);opacity:.85;background:var(--paper-white)}.verification-pill.verified{border-color:var(--verified-green);color:var(--verified-green)}.verification-pill.rejected{border-color:var(--stamp-red);color:var(--stamp-red)}.active-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;border:1px solid var(--blueprint-blue);border-radius:999px;padding:.2rem .2rem .2rem .6rem;background:var(--paper-white);cursor:pointer}.active-toggle .dot{width:10px;height:10px;border-radius:50%;background:var(--ink-dim)}.active-toggle.is-active .dot{background:var(--verified-green)}.active-toggle.is-active{border-color:var(--verified-green);color:var(--verified-green)}.hero{text-align:center;padding:var(--space-7) var(--space-5);border-bottom:1px solid var(--line)}.hero-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.hero-brand-icon{width:152px;height:152px;display:block}.hero-brand-wordmark{height:72px;width:auto;display:block}.hero h1{border-bottom:none;font-size:2.2rem;margin:0 0 var(--space-3)}.hero p{max-width:560px;margin:0 auto var(--space-5);color:var(--ink-dim);font-size:1rem}.hero-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.hero-underline{width:96px;height:6px;margin:var(--space-4) auto 0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-5);max-width:960px;margin:var(--space-6) auto 0;padding:0 var(--space-5)}.feature-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-white);padding:var(--space-5);box-shadow:2px 2px 0 var(--line)}.feature-card h3{margin-top:0}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.role-card{display:block;border:1px solid var(--blueprint-blue);border-radius:var(--radius);background:var(--paper-white);padding:var(--space-5);text-decoration:none;color:var(--blueprint-blue);text-align:center;font-weight:700;box-shadow:2px 2px 0 var(--line)}.role-card:hover{background:var(--paper-cream)}.role-card .role-card-desc{display:block;font-weight:400;color:var(--ink-dim);font-size:.8rem;margin-top:var(--space-2)}.message-row{display:block;text-decoration:none;color:inherit}.message-row:hover{background:var(--paper-cream)}.filter-bar{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end;background:var(--paper-white);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:2px 2px 0 var(--line)}.filter-bar label{flex:1 1 160px;min-width:140px;margin:0}.filter-bar .filter-checkbox{flex-direction:row;align-items:center;gap:.4rem;flex:0 0 auto}.filter-bar button{flex:0 0 auto}.results-summary{color:var(--ink-dim);font-size:.85rem;margin-bottom:var(--space-3)}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.provider-card{display:flex;flex-direction:column;gap:var(--space-2);margin-top:0}.provider-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.provider-card-head h3{margin:0;color:var(--ink)}.distance-pill{font-family:var(--font-body);font-size:.75rem;color:var(--ink-dim);white-space:nowrap;flex:0 0 auto}.tag-list{display:flex;flex-wrap:wrap;gap:.3rem}.tag{font-size:.7rem;background:var(--paper-cream);border:1px solid var(--line);border-radius:999px;padding:.1rem .55rem;color:var(--ink-dim)}.provider-card-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap}.provider-card-actions>a{flex:1 1 120px;text-align:center}.contract-card{border-left-width:4px}.contract-card.type-fire{border-left-color:var(--stamp-red)}.contract-card.type-repair{border-left-color:var(--blueprint-blue)}.contract-card-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-2)}.contract-type-label{font-family:var(--font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.contract-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center}.logbook-entry{display:flex;gap:var(--space-4)}.logbook-date{flex:0 0 88px;font-family:var(--font-body);font-size:.75rem;color:var(--ink-dim);font-weight:700;text-align:right;padding-top:.15rem}.logbook-body{flex:1;min-width:0;border-left:2px solid var(--line);padding-left:var(--space-4);padding-bottom:var(--space-2)}.auth-page{max-width:440px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-7)}.auth-card{background:var(--paper-white);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6);box-shadow:2px 2px 0 var(--line)}.auth-intro{text-align:center;margin-bottom:var(--space-5)}.auth-intro img{width:72px;height:72px;margin-bottom:var(--space-3)}.auth-intro p{color:var(--ink-dim);font-size:.85rem;margin:0}.auth-footer{text-align:center;margin-top:var(--space-5);font-size:.85rem}.star-rating-input{display:flex;gap:.2rem}.star-rating-input button{background:none;border:none;padding:0;font-size:1.6rem;line-height:1;color:var(--line);cursor:pointer}.star-rating-input button.filled{color:var(--stamp-red)}.rating-display{color:var(--stamp-red);font-size:1rem;letter-spacing:.05em}.rating-summary{font-size:.75rem;color:var(--ink-dim);white-space:nowrap}.review-entry{border-bottom:1px solid var(--line);padding:var(--space-3) 0}.review-entry:last-child{border-bottom:none}.site-footer{border-top:1px solid var(--line);margin-top:var(--space-7);padding:var(--space-5);text-align:center;font-size:.85rem;color:var(--ink-dim)}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2)}.legal-draft-banner{display:flex;align-items:center;gap:var(--space-3);border:1px solid var(--blueprint-blue);color:var(--blueprint-blue);background:#2c4a5e0d;padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:.85rem;margin-bottom:var(--space-5)}.legal-page h2{margin-top:var(--space-6)}.legal-page section+section{margin-top:var(--space-4)}.spec-row{display:flex;align-items:baseline;gap:var(--space-2);padding:.2rem 0}.spec-row .spec-label{flex:0 0 auto;color:var(--ink-dim);font-size:.85rem}.spec-row .spec-leader{flex:1 1 auto;border-bottom:1px dotted var(--line);margin-bottom:.3em}.spec-row .spec-value{flex:0 0 auto;font-family:var(--font-body);font-weight:600}.empty-state{color:var(--ink-dim);font-style:italic;font-size:.85rem;border-bottom:1px dashed var(--line);padding-bottom:var(--space-3)}
