*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #1e3a5f;--color-primary-light: #3b82f6;--color-success: #228B22;--color-success-light: #f0fff0;--color-neutral: #6b7280;--color-neutral-light: #f5f5f5;--color-error: #ef4444;--color-warning: #f59e0b;--color-text: #1f2937;--color-text-light: #6b7280;--color-bg: #ffffff;--color-bg-alt: #f9fafb;--color-border: #e5e7eb;--font-sans: "Libre Franklin", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-card: 4px 4px 0 rgba(0, 0, 0, .15);--radius: 4px}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.5}a{color:var(--color-primary-light);text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.district-checker{max-width:1200px;margin:0 auto}.checker-header{background:var(--color-primary);color:#fff;padding:1.25rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}@media (max-width: 768px){.checker-header{grid-template-columns:1fr;text-align:center;padding:1.25rem}}.header-content h1{margin:0 0 .375rem;font-family:var(--font-serif);font-size:1.5rem;font-weight:700}.header-content p{margin:0;font-size:.9375rem;opacity:.9}.address-form{width:100%}.input-group{display:flex;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.input-group input{flex:1;padding:.875rem 1rem;border:2px solid transparent;font-size:1rem;outline:none;min-width:0}.input-group input:focus{border-color:var(--color-primary-light)}.input-group button{padding:.875rem 1.25rem;background:var(--color-bg-alt);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);transition:background .15s}.input-group button:hover:not(:disabled){background:var(--color-border)}.input-group button:disabled{cursor:not-allowed;opacity:.6}.hint{margin:.75rem 0 0;font-size:.8125rem;opacity:.85}.hint a{color:inherit;text-decoration:underline}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-section{padding:1.25rem 2rem;border-bottom:1px solid var(--color-border)}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 768px){.result-grid{grid-template-columns:1fr}}.result-card{background:var(--color-bg);border:1px solid var(--color-border);padding:1.25rem}.result-in-district{border-left:4px solid var(--color-success)}.result-in-district .result-icon,.result-in-district .result-header h3{color:var(--color-success)}.result-outside{border-left:4px solid var(--color-neutral)}.result-outside .result-icon{color:var(--color-neutral)}.result-outside .result-header h3{color:var(--color-text)}.result-error{border-left:4px solid var(--color-warning)}.result-error .result-icon{color:var(--color-warning)}.result-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.result-header h3{margin:0;font-family:var(--font-serif);font-size:1.25rem;font-weight:700}.result-message{margin:0 0 .75rem;font-size:.9375rem;line-height:1.5;color:var(--color-text)}.result-cta{margin:0;font-size:.875rem;color:var(--color-text-light)}.contact-card{background:var(--color-bg);border:1px solid var(--color-border);border-left:4px solid var(--color-primary-light);padding:.875rem}.contact-form h3{margin:0 0 .625rem;font-family:var(--font-serif);font-size:1rem;font-weight:700;text-align:center}.contact-form-success{text-align:center;padding:1rem}.contact-form-success h3{margin:0 0 .25rem;font-family:var(--font-serif);color:var(--color-success)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.form-field{margin-bottom:.5rem}.form-field label{display:block;font-size:.75rem;font-weight:500;margin-bottom:.125rem;color:var(--color-text)}.form-field input{width:100%;padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;font-family:inherit;transition:border-color .15s}.form-field input:focus{outline:none;border-color:var(--color-primary)}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;width:auto;margin-left:auto;margin-top:.25rem;padding:.375rem .75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.submit-btn:hover:not(:disabled){background:var(--color-primary-light)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn svg{width:12px;height:12px}.map-section{padding:1rem 2rem 1.5rem}.map-section h2{margin:0 0 .5rem;font-family:var(--font-serif);font-size:1.125rem;font-weight:700;text-align:center}.map-legend{display:flex;justify-content:center;margin-bottom:.75rem}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-light)}.legend-color{width:14px;height:14px;background:#3b82f64d;border:2px solid #1e40af;border-radius:2px}.map-container{height:350px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border)}.mapboxgl-ctrl-attrib{font-size:10px!important}.address-form{display:flex;align-items:center;gap:.5rem}.address-form mapbox-search-box,.address-form [data-mapbox-search]{flex:1;width:100%}.address-form input[type=text]{width:100%;padding:.875rem 1rem .875rem 2.5rem;font-size:1rem;border-radius:var(--radius);border:2px solid transparent;box-shadow:var(--shadow-md)}.address-form input[type=text]:focus{border-color:var(--color-primary-light);outline:none}.address-form .suggestions{margin-left:0!important;padding-left:0!important}.address-form .suggestions .suggestion{padding-left:1rem!important}
