.hero{color:#fff;justify-content:center;align-items:center;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:10;text-align:center;width:100%;margin:0;padding:20px 5%;position:relative}.hero-title{color:#fff;margin-bottom:1rem;font-size:3.5rem;font-weight:700;line-height:1.1}@media (min-width:768px){.hero-title{font-size:4.5rem}}.hero-highlight{color:#22c55e}.hero-subtitle{color:#e5e7eb;max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.25rem;line-height:1.6}.hero-search-form{max-width:600px;margin:0 auto 3rem}.search-row-1{flex-direction:column;gap:.75rem;display:flex}@media (min-width:640px){.search-row-1{flex-direction:row}}.hero-search-form .search-input{color:#374151;opacity:1;background:#fff;border:none;border-radius:.5rem;outline:none;flex:1;padding:1rem 1.5rem;font-size:1.125rem}.hero-search-form .search-input:focus{box-shadow:0 0 0 4px #22c55e66}.search-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#22c55e;border:none;border-radius:.5rem;padding:1rem 2rem;font-size:1.125rem;font-weight:600;transition:background-color .2s}.search-button:hover{background-color:#16a34a}.search-row-2{flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem;display:flex}@media (min-width:640px){.search-row-2{flex-direction:row;justify-content:center}}.radius-selector{align-items:center;gap:.5rem;display:flex}.radius-label{color:#e5e7eb;white-space:nowrap;font-size:.875rem}.radius-select{color:#fff;cursor:pointer;appearance:none;background-color:#1f2937;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem;border:2px solid #ffffff4d;border-radius:.375rem;height:auto;padding:.5rem 2rem .5rem 1rem;font-size:.875rem;transition:border-color .2s,background-color .2s}.radius-select:hover{background-color:#2d3748;border-color:#ffffff80}.radius-select:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e4d}.radius-select option{color:#fff;background-color:#1f2937}.location-button{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:2px solid #ffffff4d;border-radius:.375rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s,transform .2s;display:flex}.location-button:hover:not(:disabled){background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.location-button:disabled{opacity:.7;cursor:not-allowed}.location-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.location-error{color:#fecaca;text-align:center;background:#ef444433;border:1px solid #ef444466;border-radius:.375rem;max-width:100%;margin-top:.75rem;padding:.75rem 1rem;font-size:.875rem}.hero-stats{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:600px;margin:0 auto;display:grid}.stat-item{text-align:center}.hero-stats .stat-number{color:#fff;margin-bottom:.25rem;font-size:2.5rem;font-weight:700}.hero-stats .stat-label{color:#fff;font-size:.875rem}@media (max-width:640px){.hero-stats{grid-template-columns:1fr;gap:1rem}.hero-stats .stat-number{font-size:2rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.125rem}.search-row-2{flex-direction:column;width:100%}.radius-selector{justify-content:center;width:100%}.location-button{justify-content:center;width:100%;min-height:44px;padding:.75rem 1.25rem}.radius-select{flex:1;max-width:150px;min-height:44px}}.hero{contain:layout style paint}@media (prefers-reduced-motion:reduce){.search-button:hover{transform:none}}@media (prefers-contrast:high){.hero-title,.hero-subtitle{text-shadow:2px 2px 4px #000c}}.hero :focus-visible{outline:2px solid var(--color-primary,#22c55e);outline-offset:2px}.search-button:focus-visible{outline-offset:2px;outline:2px solid #fff}
