:root{--hi-vis:#ff6b1a;--hi-vis-dim:#cc5414;--hi-vis-glow:#ff8c47;--bg:#3a3733;--surface:#2a2825;--surface-raised:#33302c;--border:#8b7d6b;--text:#e8e2d8;--text-muted:#a89b85;--text-dim:#6b6155;--wood:#8b6f47;--wood-light:#a8895e;--safety-yellow:#fcd716;--safety-green:#2d7a4f;--danger:#c0392b;--bg-light:#f5f1eb;--surface-light:#fff;--surface-raised-light:#faf7f2;--border-light:#d4c9b8;--text-light:#2a2825;--text-muted-light:#6b6155;--bg-dark:#1a1815;--surface-dark:#252320;--surface-raised-dark:#2f2b27;--border-dark:#5a5249;--text-dark:#e8e2d8;--text-muted-dark:#8b7d6b;--font-display:"Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--radius:12px;--radius-sm:8px;--radius-lg:20px}[data-theme=light]{--bg:var(--bg-light);--surface:var(--surface-light);--surface-raised:var(--surface-raised-light);--border:var(--border-light);--text:var(--text-light);--text-muted:var(--text-muted-light)}[data-theme=dark]{--bg:var(--bg-dark);--surface:var(--surface-dark);--surface-raised:var(--surface-raised-dark);--border:var(--border-dark);--text:var(--text-dark);--text-muted:var(--text-muted-dark)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--hi-vis);text-decoration:none}a:hover{color:var(--hi-vis-glow)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--wood)}.landing{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.hero{grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero-left{background:var(--surface);z-index:2;flex-direction:column;justify-content:center;padding:80px 60px;display:flex;position:relative}.hero-left:after{content:"";background:var(--surface);clip-path:polygon(0 0,100% 0,50% 100%);z-index:3;width:80px;height:100%;position:absolute;top:0;right:-1px}.hero-tagline{letter-spacing:3px;text-transform:uppercase;color:var(--hi-vis);margin-bottom:24px;font-size:14px;font-weight:600}.hero-title{color:var(--text);margin-bottom:24px;font-size:64px;font-weight:800;line-height:1.05}.hero-title .accent{color:var(--hi-vis)}.hero-subtitle{color:var(--text-muted);max-width:480px;margin-bottom:40px;font-size:20px;line-height:1.6}.hero-cta{gap:16px;margin-bottom:48px;display:flex}.btn-primary{background:var(--hi-vis);color:#1a1a1a;border-radius:var(--radius);padding:16px 32px;font-size:16px;font-weight:700;transition:all .2s}.btn-primary:hover{background:var(--hi-vis-glow);transform:translateY(-2px);box-shadow:0 8px 24px #ff6b1a4d}.btn-secondary{color:var(--text);border-radius:var(--radius);border:2px solid var(--border);background:0 0;padding:16px 32px;font-size:16px;font-weight:600;transition:all .2s}.btn-secondary:hover{border-color:var(--hi-vis);color:var(--hi-vis)}.hero-stats{gap:48px;display:flex}.hero-stat{flex-direction:column;display:flex}.hero-stat-value{color:var(--hi-vis);font-size:32px;font-weight:800}.hero-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:13px}.hero-right{background:linear-gradient(135deg, var(--bg) 0%, var(--surface) 100%);justify-content:center;align-items:center;padding:80px 60px;display:flex;position:relative}.phone-mockup{background:var(--surface-raised);border:3px solid var(--border);border-radius:32px;flex-direction:column;gap:16px;width:340px;height:680px;padding:20px;display:flex;box-shadow:0 24px 64px #0006}.phone-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.phone-logo{color:var(--hi-vis);font-size:18px;font-weight:800}.phone-status{color:var(--text-dim);font-size:12px}.merit-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.merit-card-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.merit-avatar{background:var(--wood);width:44px;height:44px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.merit-name{color:var(--text);font-size:14px;font-weight:600}.merit-trade{color:var(--text-muted);font-size:12px}.merit-badge{color:var(--hi-vis);background:#ff6b1a26;border-radius:20px;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.merit-content{color:var(--text-muted);font-size:13px;line-height:1.5}.merit-image{background:linear-gradient(135deg, var(--wood) 0%, var(--surface) 100%);border-radius:var(--radius-sm);width:100%;height:120px;color:var(--text-dim);justify-content:center;align-items:center;margin-top:12px;font-size:12px;display:flex}.grit-score-bar{align-items:center;gap:8px;margin-top:12px;display:flex}.grit-score-label{color:var(--text-dim);text-transform:uppercase;font-size:11px}.grit-score-track{background:var(--surface);border-radius:3px;flex:1;height:6px;overflow:hidden}.grit-score-fill{background:var(--hi-vis);border-radius:3px;height:100%}.grit-score-value{color:var(--hi-vis);font-size:14px;font-weight:700}.trust-bar{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:center;gap:48px;padding:32px 60px;display:flex}.trust-item{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.trust-icon{background:var(--safety-green);border-radius:50%;width:8px;height:8px}.features{background:var(--bg);padding:100px 60px}.features-title{text-align:center;margin-bottom:16px;font-size:40px;font-weight:800}.features-title .accent{color:var(--hi-vis)}.features-subtitle{text-align:center;color:var(--text-muted);margin-bottom:64px;font-size:18px}.features-grid{grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;display:grid}.feature-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:32px;transition:all .2s}.feature-card:hover{border-color:var(--hi-vis);transform:translateY(-4px)}.feature-icon{border-radius:var(--radius-sm);background:#ff6b1a1f;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;font-size:24px;display:flex}.feature-title{margin-bottom:12px;font-size:20px;font-weight:700}.feature-desc{color:var(--text-muted);font-size:15px;line-height:1.6}.cta-section{text-align:center;background:var(--surface);padding:100px 60px}.cta-title{margin-bottom:16px;font-size:48px;font-weight:800}.cta-title .accent{color:var(--hi-vis)}.cta-subtitle{color:var(--text-muted);margin-bottom:40px;font-size:18px}.footer{background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:40px 60px;display:flex}.footer-brand{color:var(--hi-vis);font-size:18px;font-weight:800}.footer-links{gap:32px;display:flex}.footer-links a{color:var(--text-muted);font-size:14px}.footer-links a:hover{color:var(--hi-vis)}.theme-toggle{z-index:100;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:fixed;top:24px;right:24px}.theme-toggle:hover{border-color:var(--hi-vis)}.directory-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;padding:32px 60px;display:flex}.directory-title{color:var(--text);font-size:32px;font-weight:800}.directory-title .accent{color:var(--hi-vis)}.directory-search{flex:1;min-width:240px}.directory-search input{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-size:15px;font-family:var(--font-body);padding:12px 20px}.directory-search input:focus{border-color:var(--hi-vis);outline:none}.directory-search input::placeholder{color:var(--text-dim)}.directory-count{color:var(--text-muted);font-size:14px;font-weight:600}.directory-body{width:100%;max-width:1200px;margin:0 auto;padding:40px 60px}.directory-loading{text-align:center;color:var(--text-muted);padding:80px;font-size:18px}.tier-section{margin-bottom:32px}.tier-header{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:16px 24px;transition:all .2s;display:flex}.tier-header:hover{border-color:var(--hi-vis)}.tier-toggle{color:var(--text-muted);width:16px;font-size:12px}.tier-name{color:var(--text);flex:1;font-size:20px;font-weight:700}.tier-count{color:var(--hi-vis);background:#ff6b1a26;border-radius:20px;padding:4px 12px;font-size:14px;font-weight:700}.tier-items{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:12px;display:grid}.trade-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:16px;padding:16px 20px;transition:all .2s;display:flex}.trade-item:hover{border-color:var(--hi-vis);transform:translateY(-2px)}.trade-code{font-family:var(--font-mono);color:var(--hi-vis);white-space:nowrap;background:#ff6b1a1a;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700}.trade-name{color:var(--text);flex:1;font-size:15px;font-weight:600}.trade-tier-badge{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:11px}@media (width<=968px){.hero{grid-template-columns:1fr}.hero-left{min-height:60vh;padding:60px 32px}.hero-left:after{display:none}.hero-right{min-height:40vh;padding:40px 32px}.hero-title{font-size:42px}.features-grid{grid-template-columns:1fr}.features{padding:60px 32px}.trust-bar{flex-wrap:wrap;gap:24px;padding:24px 32px}.phone-mockup{width:280px;height:560px}.footer{flex-direction:column;gap:16px;padding:32px}.directory-header,.directory-body{padding:24px 32px}.tier-items{grid-template-columns:1fr}}.directory-header{padding-right:220px}.trade-info{flex:1;min-width:0}.trade-breadcrumb{color:var(--text-dim);white-space:normal;margin-top:4px;font-size:12px;line-height:1.4}.trade-breadcrumb-sep{color:var(--hi-vis);opacity:.6}.scroll-hint{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.scroll-arrow{color:var(--hi-vis);font-size:28px;animation:2s infinite bounce}.scroll-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-size:12px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.merit-page{background:var(--bg);flex-direction:column;align-items:center;min-height:100vh;padding:80px 40px 40px;display:flex}.merit-back{z-index:10;position:absolute;top:24px;left:24px}.merit-loading{color:var(--text-muted);text-align:center;padding:80px;font-size:18px}.merit-card-container{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;max-width:520px;overflow:hidden;box-shadow:0 24px 64px #0000004d}.merit-card-stripe{background:linear-gradient(90deg, var(--hi-vis) 0%, var(--hi-vis-glow) 50%, var(--wood) 100%);height:6px}.merit-card-top{align-items:center;gap:20px;padding:28px 24px;display:flex}.merit-avatar-lg{background:var(--wood);width:72px;height:72px;color:var(--text);border:3px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;font-weight:800;display:flex}.merit-card-identity{flex:1;min-width:0}.merit-name{color:var(--text);margin-bottom:4px;font-size:22px;font-weight:800}.merit-role{color:var(--hi-vis);margin-bottom:4px;font-size:14px;font-weight:600}.merit-location{color:var(--text-muted);font-size:13px}.merit-grit-display{text-align:center;flex-shrink:0}.merit-grit-number{color:var(--hi-vis);font-size:42px;font-weight:900;line-height:1}.merit-grit-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-size:11px}.merit-grit-stars{color:var(--hi-vis);letter-spacing:2px;margin-top:4px;font-size:16px}.merit-stars-empty{color:var(--text-dim)}.merit-card-body{padding:0 24px 24px}.merit-section{border-top:1px solid var(--border);padding:20px 0}.merit-section-title{text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:12px;font-size:12px;font-weight:700}.merit-empty{color:var(--text-dim);padding:8px 0;font-size:14px;font-style:italic}.merit-trade-badges{flex-wrap:wrap;gap:8px;display:flex}.merit-trade-badge{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:8px 12px;display:flex}.merit-trade-code{font-family:var(--font-mono);color:var(--hi-vis);background:#ff6b1a1a;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700}.merit-trade-name{color:var(--text);font-size:13px;font-weight:600}.merit-trade-tier{color:var(--text-dim);text-transform:uppercase;font-size:10px}.merit-experience{gap:24px;margin-bottom:12px;display:flex}.merit-stat{flex-direction:column;display:flex}.merit-stat-value{color:var(--text);font-size:24px;font-weight:800}.merit-stat-company{font-size:16px}.merit-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-size:11px}.merit-bio{color:var(--text-muted);font-size:14px;line-height:1.6}.merit-cert-list{flex-direction:column;gap:8px;display:flex}.merit-cert-item{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 16px;display:flex}.merit-cert-icon{flex-shrink:0;font-size:20px}.merit-cert-info{flex:1;min-width:0}.merit-cert-name{color:var(--text);font-size:14px;font-weight:600}.merit-cert-meta{gap:12px;margin-top:2px;display:flex}.merit-cert-code{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.merit-cert-expiry{color:var(--safety-yellow);font-size:11px}.merit-cert-status{color:var(--safety-green);flex-shrink:0;font-size:16px;font-weight:700}.merit-union-item{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px}.merit-union-name{color:var(--text);font-size:14px;font-weight:600}.merit-union-local{color:var(--text-muted);margin-top:2px;font-size:13px}.merit-union-member{color:var(--text-dim);margin-top:2px;font-size:12px}.merit-card-footer{background:var(--surface-raised);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.merit-card-brand{color:var(--hi-vis);font-size:14px;font-weight:800}.merit-card-tagline{color:var(--text-dim);font-size:12px;font-style:italic}@media (width<=568px){.merit-page{padding:80px 16px 32px}.merit-card-top{flex-wrap:wrap}.merit-grit-display{width:100%;margin-top:12px}.merit-experience{flex-wrap:wrap;gap:16px}}
